diff --git a/.circleci/config.yml b/.circleci/config.yml index 72723c16f30..00f3a552e09 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -623,6 +623,12 @@ workflows: equal: [daily, << pipeline.parameters.workflow >>] jobs: - build + - lint: + requires: + - build + - unit-tests: + requires: + - build - create-sandboxes: parallelism: 27 requires: diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f530ca85c9..c4a1a057933 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,37 @@ +## 7.0.0-beta.30 (January 18, 2023) + +#### Features + +- UI: Add Sun, Moon, Sidebyside, and stacked icons [#20621](https://github.com/storybooks/storybook/pull/20621) +- Angular: Add multi-project setup for ng workspaces [#20559](https://github.com/storybooks/storybook/pull/20559) +- Addon-docs: Support @deprecated jsdoc tag [#20154](https://github.com/storybooks/storybook/pull/20154) +- Csf-plugin: Support meta description comments [#20632](https://github.com/storybooks/storybook/pull/20632) + +#### Bug Fixes + +- Core: Fix `core` preset default value [#20646](https://github.com/storybooks/storybook/pull/20646) +- Addon-docs: Fix issue with unattached `.mdx` files [#20661](https://github.com/storybooks/storybook/pull/20661) +- Webpack: aAd error catching when template is not set [#20669](https://github.com/storybooks/storybook/pull/20669) +- Addons: Fix Viewport resetting shortcut key not working [#20167](https://github.com/storybooks/storybook/pull/20167) +- Core: Show "booting" progress until story is specified or errors [#20425](https://github.com/storybooks/storybook/pull/20425) +- Vue: Update events binding in Vue render [#19860](https://github.com/storybooks/storybook/pull/19860) +- Addon-actions: Fix webpack hot reload code in manager bundle [#20649](https://github.com/storybooks/storybook/pull/20649) +- UI: Fix HMR issue in Manager UI [#20654](https://github.com/storybooks/storybook/pull/20654) + +#### Maintenance + +- Docs: Refactor props of Story block [#20530](https://github.com/storybooks/storybook/pull/20530) +- Vite: TypeScript type cleanup [#20642](https://github.com/storybooks/storybook/pull/20642) + +#### Build + +- Add required jobs to daily workflow [#20263](https://github.com/storybooks/storybook/pull/20263) +- Fix typings files to ensure this the check command succeeds [#20598](https://github.com/storybooks/storybook/pull/20598) + +#### Dependency Upgrades + +- Svelte: Remove babel/core peer dep [#20650](https://github.com/storybooks/storybook/pull/20650) + ## 7.0.0-beta.29 (January 17, 2023) #### Features diff --git a/MIGRATION.md b/MIGRATION.md index ca268d4530b..e71d9753d15 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -1,48 +1,44 @@
` elements are no longer syntax highlighted](#explicit-code-elements-are-no-longer-syntax-highlighted)
- [Dropped source loader / storiesOf static snippets](#dropped-source-loader--storiesof-static-snippets)
+ - [Removed docs.getContainer and getPage parameters](#removed-docsgetcontainer-and-getpage-parameters)
+ - [Addon-docs: Removed deprecated blocks.js entry](#addon-docs-removed-deprecated-blocksjs-entry)
- [Dropped addon-docs manual babel configuration](#dropped-addon-docs-manual-babel-configuration)
- [Dropped addon-docs manual configuration](#dropped-addon-docs-manual-configuration)
- [Autoplay in docs](#autoplay-in-docs)
- - [7.0 Deprecations](#70-deprecations)
+ - [Removed STORYBOOK\_REACT\_CLASSES global](#removed-storybook_react_classes-global)
+ - [7.0 Deprecations and default changes](#70-deprecations-and-default-changes)
+ - [storyStoreV7 enabled by default](#storystorev7-enabled-by-default)
- [`Story` type deprecated](#story-type-deprecated)
- [`ComponentStory`, `ComponentStoryObj`, `ComponentStoryFn` and `ComponentMeta` types are deprecated](#componentstory-componentstoryobj-componentstoryfn-and-componentmeta-types-are-deprecated)
- [Renamed `renderToDOM` to `renderToCanvas`](#renamed-rendertodom-to-rendertocanvas)
- [Renamed `XFramework` to `XRenderer`](#renamed-xframework-to-xrenderer)
- [Renamed `DecoratorFn` to `Decorator`](#renamed-decoratorfn-to-decorator)
+ - [CLI option `--use-npm` deprecated](#cli-option---use-npm-deprecated)
+ - ['config' preset entry replaced with 'previewAnnotations'](#config-preset-entry-replaced-with-previewannotations)
- [From version 6.4.x to 6.5.0](#from-version-64x-to-650)
- [Vue 3 upgrade](#vue-3-upgrade)
- [React18 new root API](#react18-new-root-api)
@@ -267,14 +269,164 @@
## From version 6.5.x to 7.0.0
-### Alpha release notes
-
-Storybook 7.0 is in early alpha. During the alpha, we are making a large number of breaking changes. We may also break the breaking changes based on what we learn during the development cycle. When 7.0 goes to beta, we will start stabilizing and adding various auto-migrations to help users upgrade more easily.
-
-In the meantime, these migration notes are the best available documentation on things you should know upgrading to 7.0.
+A number of these changes can be made automatically by the Storybook CLI. To take advantage of these "automigrations", run `npx storybook@next upgrade --prerelease` or `pnpx storybook@next upgrade --prerelease`.
### 7.0 breaking changes
+#### Dropped support for Node 15 and below
+
+Storybook 7.0 requires **Node 16** or above. If you are using an older version of Node, you will need to upgrade or keep using Storybook 6 in the meantime.
+
+#### Modern browser support
+
+Starting in Storybook 7.0, Storybook will no longer support IE11, amongst other legacy browser versions.
+We now transpile our code with a target of `chrome >= 100` and node code is transpiled with a target of `node >= 16`.
+
+This means code-features such as (but not limited to) `async/await`, arrow-functions, `const`,`let`, etc will exist in the code at runtime, and thus the runtime environment must support it.
+Not just the runtime needs to support it, but some legacy loaders for Webpack or other transpilation tools might need to be updated as well. For example, certain versions of Webpack 4 had parsers that could not parse the new syntax (e.g. optional chaining).
+
+Some addons or libraries might depended on this legacy browser support, and thus might break. You might get an error like:
+
+```
+regeneratorRuntime is not defined
+```
+
+To fix these errors, the addon will have to be re-released with a newer browser-target for transpilation. This often looks something like this (but it's dependent on the build system the addon uses):
+
+```js
+// babel.config.js
+module.exports = {
+ presets: [
+ [
+ '@babel/preset-env',
+ {
+ shippedProposals: true,
+ useBuiltIns: 'usage',
+ corejs: '3',
+ modules: false,
+ targets: { chrome: '100' },
+ },
+ ],
+ ],
+};
+```
+
+Here's an example PR to one of the Storybook addons: https://github.com/storybookjs/addon-coverage/pull/3 doing just that.
+
+#### React peer dependencies required
+
+_Has automigration_
+
+Starting in 7.0, `react` and `react-dom` are now required peer dependencies of Storybook when using addon-docs (or docs via addon-essentials).
+
+Storybook uses `react` in a variety of docs-related packages. In the past, we've done various trickery hide this from non-React users. However, with stricter peer dependency handling by `npm8`, `npm`, and `yarn pnp` those tricks have started to cause problems for those users. Rather than resorting to even more complicated tricks, we are making `react` and `react-dom` required peer dependencies.
+
+To upgrade manually, add any version of `react` and `react-dom` as devDependencies using your package manager of choice, e.g.
+
+```
+npm add react react-dom --dev
+```
+
+#### start-storybook / build-storybook binaries removed
+
+_Has automigration_
+
+SB6.x framework packages shipped binaries called `start-storybook` and `build-storybook`.
+
+In SB7.0, we've removed these binaries and replaced them with new commands in Storybook's CLI: `storybook dev` and `storybook build`. These commands will look for the `framework` field in your `.storybook/main.js` config--[which is now required](#framework-field-mandatory)--and use that to determine how to start/build your Storybook. The benefit of this change is that it is now possible to install multiple frameworks in a project without having to worry about hoisting issues.
+
+A typical Storybook project includes two scripts in your projects `package.json`:
+
+```json
+{
+ "scripts": {
+ "storybook": "start-storybook ",
+ "build-storybook": "build-storybook "
+ }
+}
+```
+
+To convert this project to 7.0:
+
+```json
+{
+ "scripts": {
+ "storybook": "storybook dev ",
+ "build-storybook": "storybook build "
+ },
+ "devDependencies": {
+ "storybook": "next"
+ }
+}
+```
+
+The new CLI commands remove the following flags:
+
+| flag | migration |
+| -------- | --------------------------------------------------------------------------------------------- |
+| --modern | No migration needed. [All ESM code is modern in SB7](#modern-esm--ie11-support-discontinued). |
+
+#### Framework field mandatory
+
+_Has automigration_
+
+In 6.4 we introduced a new `main.js` field called [`framework`](#mainjs-framework-field). Starting in 7.0, this field is mandatory.
+The value of the `framework` field has also changed.
+
+In 6.4, valid values included `@storybook/react`, `@storybook/vue`, etc.
+
+In 7.0, frameworks also specify the builder to be used. For example, The current list of frameworks include:
+
+- `@storybook/angular`
+- `@storybook/ember`
+- `@storybook/html-vite`
+- `@storybook/html-webpack5`
+- `@storybook/nextjs`
+- `@storybook/preact-vite`
+- `@storybook/preact-webpack5`
+- `@storybook/react-vite`
+- `@storybook/react-webpack5`
+- `@storybook/server-webpack5`
+- `@storybook/svelte-vite`
+- `@storybook/svelte-webpack5`
+- `@storybook/sveltekit`
+- `@storybook/vue-vite`
+- `@storybook/vue-webpack5`
+- `@storybook/vue3-vite`
+- `@storybook/vue3-webpack5`
+- `@storybook/web-components-vite`
+- `@storybook/web-components-webpack5`
+
+We will be expanding this list over the course of the 7.0 development cycle. More info on the rationale here: [Frameworks RFC](https://www.notion.so/chromatic-ui/Frameworks-RFC-89f8aafe3f0941ceb4c24683859ed65c).
+
+#### frameworkOptions renamed
+
+In 7.0, the `main.js` fields `reactOptions` and `angularOptions` have been renamed. They are now options on the `framework` field:
+
+```js
+module.exports = {
+ framework: {
+ name: '@storybook/react-webpack5',
+ options: { fastRefresh: true },
+ },
+};
+```
+
+#### TypeScript: StorybookConfig type moved
+
+If you are using TypeScript you should import the `StorybookConfig` type from your framework package.
+
+For example:
+
+```ts
+import type { StorybookConfig } from '@storybook/react-vite';
+const config: StorybookConfig = {
+ framework: '@storybook/react-vite',
+ // ... your configuration
+};
+export default config;
+```
+
#### Titles are statically computed
Up until version 7.0, it was possible to generate the default export of a CSF story by calling a function, or mixing in variables defined in other ES Modules. For instance:
@@ -316,284 +468,6 @@ module.exports = {
};
```
-#### Removed global client APIs
-
-The `addParameters` and `addDecorator` APIs to add global decorators and parameters, exported by the various frameworks (e.g. `@storybook/react`) and `@storybook/client` were deprecated in 6.0 and have been removed in 7.0.
-
-Instead, use `export const parameters = {};` and `export const decorators = [];` in your `.storybook/preview.js`. Addon authors similarly should use such an export in a preview entry file (see [Preview entries](https://github.com/storybookjs/storybook/blob/next/docs/addons/writing-presets.md#preview-entries)).
-
-#### Dropped support for Node 15 and below
-
-Storybook 7.0 requires **Node 16** or above. If you are using an older version of Node, you will need to upgrade or keep using Storybook 6 in the meantime.
-
-#### React peer dependencies required
-
-Starting in 7.0, `react` and `react-dom` are now required peer dependencies of Storybook.
-
-Storybook uses `react` in a variety of packages. In the past, we've done various trickery hide this from non-React users. However, with stricter peer dependency handling by `npm8`, `npm`, and `yarn pnp` those tricks have started to cause problems for those users. Rather than resorting to even more complicated tricks, we are making `react` and `react-dom` required peer dependencies.
-
-To upgrade manually, add any version of `react` and `react-dom` as devDependencies using your package manager of choice, e.g.
-
-```
-npm add react react-dom --dev
-```
-
-#### Postcss removed
-
-Storybook 6.x installed postcss by default. In 7.0 built-in support has been removed. IF you need it, you can add it back using [`@storybook/addon-postcss`](https://github.com/storybookjs/addon-postcss).
-
-#### Vue3 replaced app export with setup
-
-In 6.x `@storybook/vue3` exported a Vue application instance called `app`. In 7.0, this has been replaced by a `setup` function that can be used to initialize the application in your `.storybook/preview.js`:
-
-Before:
-
-```js
-import { app } from '@storybook/vue3';
-import Button from './Button.vue';
-
-app.component('GlobalButton', Button);
-```
-
-After:
-
-```js
-import { setup } from '@storybook/vue3';
-import Button from './Button.vue';
-
-setup((app) => {
- app.component('GlobalButton', Button);
-});
-```
-
-#### removed auto injection of @storybook/addon-actions decorator
-
-The `withActions` decorator is no longer automatically added to stories. This is because it is really only used in the html renderer, for all other renderers it's redundant.
-If you are using the html renderer and use the `handles` parameter, you'll need to manually add the `withActions` decorator:
-
-```diff
-import globalThis from 'global';
-+import { withActions } from '@storybook/addon-actions/decorator';
-
-export default {
- component: globalThis.Components.Button,
- args: {
- label: 'Click Me!',
- },
- parameters: {
- chromatic: { disable: true },
- },
-};
-export const Basic = {
- parameters: {
- handles: [{ click: 'clicked', contextmenu: 'right clicked' }],
- },
-+ decorators: [withActions],
-};
-```
-
-#### register.js removed
-
-In SB 6.x and earlier, addons exported a `register.js` entry point by convention, and users would import this in `.storybook/manager.js`. This was [deprecated in SB 6.5](#deprecated-registerjs)
-
-In 7.0, most of Storybook's addons now export a `manager.js` entry point, which is automatically registered in Storybook's manager when the addon is listed in `.storybook/main.js`'s `addons` field.
-
-If your `.manager.js` config references `register.js` of any of the following addons, you can remove it: `a11y`, `actions`, `backgrounds`, `controls`, `interactions`, `jest`, `links`, `measure`, `outline`, `toolbars`, `viewport`.
-
-#### Change of root html IDs
-
-The root ID unto which storybook renders stories is renamed from `root` to `#storybook-root` to avoid conflicts with user's code.
-
-#### No more default export from `@storybook/addons`
-
-The default export from `@storybook/addons` has been removed. Please use the named exports instead:
-
-```js
-import { addons } from '@storybook/addons';
-```
-
-The named export has been available since 6.0 or earlier, so your updated code will be backwards-compatible with older versions of Storybook.
-
-#### Modern browser support
-
-Starting in storybook 7.0, storybook will no longer support IE11, amongst other legacy browser versions.
-We now transpile our code with a target of `chrome >= 100` and node code is transpiled with a target of `node >= 16`.
-
-This means code-features such as (but not limited to) `async/await`, arrow-functions, `const`,`let`, etc will exist in the code at runtime, and thus the runtime environment must support it.
-Not just the runtime needs to support it, but some legacy loaders for webpack or other transpilation tools might need to be updated as well. For example, certain versions of webpack 4 had parsers that could not parse the new syntax (e.g. optional chaining).
-
-Some addons or libraries might depended on this legacy browser support, and thus might break. You might get an error like:
-
-```
-regeneratorRuntime is not defined
-```
-
-To fix these errors, the addon will have to be re-released with a newer browser-target for transpilation. This often looks something like this (but it's dependent on the build system the addon uses):
-
-```js
-// babel.config.js
-module.exports = {
- presets: [
- [
- '@babel/preset-env',
- {
- shippedProposals: true,
- useBuiltIns: 'usage',
- corejs: '3',
- modules: false,
- targets: { chrome: '100' },
- },
- ],
- ],
-};
-```
-
-Here's an example PR to one of the storybook addons: https://github.com/storybookjs/addon-coverage/pull/3 doing just that.
-
-#### No more configuration for manager
-
-The storybook manager is no longer built with webpack. Now it's built with esbuild.
-Therefore, it's no longer possible to configure the manager. Esbuild comes preconfigured to handle importing CSS, and images.
-
-If you're currently loading files other than CSS or images into the manager, you'll need to make changes so the files get converted to JS before publishing your addon.
-
-This means the preset value `managerWebpack` is no longer respected, and should be removed from presets and `main.js` files.
-
-Addons that run in the manager can depend on `react` and `@storybook/*` packages directly. They do not need to be peerDependencies.
-But very importantly, the build system ensures there will only be 1 version of these packages at runtime. The version will come from the `@storybook/ui` package, and not from the addon.
-For this reason it's recommended to have these dependencies as `devDependencies` in your addon's `package.json`.
-
-The full list of packages that Storybook's manager bundler makes available for addons is here: https://github.com/storybookjs/storybook/blob/next/code/lib/ui/src/globals/types.ts
-
-Addons in the manager will no longer be bundled together anymore, which means that if 1 fails, it doesn't break the whole manager.
-Each addon is imported into the manager as an ESM module that's bundled separately.
-
-#### start-storybook / build-storybook binaries removed
-
-SB6.x framework packages shipped binaries called `start-storybook` and `build-storybook`.
-
-In SB7.0, we've removed these binaries and replaced them with new commands in Storybook's CLI: `storybook dev` and `storybook build`. These commands will look for the `framework` field in your `.storybook/main.js` config--[which is now required](#framework-field-mandatory)--and use that to determine how to start/build your storybook. The benefit of this change is that it is now possible to install multiple frameworks in a project without having to worry about hoisting issues.
-
-A typical storybook project includes two scripts in your projects `package.json`:
-
-```json
-{
- "scripts": {
- "storybook": "start-storybook ",
- "build-storybook": "build-storybook "
- }
-}
-```
-
-To convert this project to 7.0:
-
-```json
-{
- "scripts": {
- "storybook": "storybook dev ",
- "build-storybook": "storybook build "
- },
- "devDependencies": {
- "storybook": "next"
- }
-}
-```
-
-The new CLI commands remove the following flags:
-
-| flag | migration |
-| -------- | --------------------------------------------------------------------------------------------- |
-| --modern | No migration needed. [All ESM code is modern in SB7](#modern-esm--ie11-support-discontinued). |
-
-#### storyStoreV7 enabled by default
-
-SB6.4 introduced [Story Store V7](#story-store-v7), an optimization which allows code splitting for faster build and load times. This was an experimental, opt-in change and you can read more about it in [the migration notes below](#story-store-v7). TLDR: you can't use the legacy `storiesOf` API or dynamic titles in CSF.
-
-Now in 7.0, Story Store V7 is the default. You can opt-out of it by setting the feature flag in `.storybook/main.js`:
-
-```js
-module.exports = {
- features: {
- storyStoreV7: false,
- },
-};
-```
-
-During the 7.0 dev cycle we will be preparing recommendations and utilities to make it easier for `storiesOf` users to upgrade.
-
-#### Webpack4 support discontinued
-
-SB7.0 no longer supports Webpack4.
-
-Depending on your project specifics, it might be possible to run your Storybook using the webpack5 builder without error.
-
-If you are running into errors, you can upgrade your project to Webpack5 or you can try debugging those errors.
-
-To upgrade:
-
-- If you're configuring webpack directly, see the Webpack5 [release announcement](https://webpack.js.org/blog/2020-10-10-webpack-5-release/) and [migration guide](https://webpack.js.org/migrate/5).
-- If you're using Create React App, see the [migration notes](https://github.com/facebook/create-react-app/blob/main/CHANGELOG.md#migrating-from-40x-to-500) to upgrade from V4 (Webpack4) to 5
-
-During the 7.0 dev cycle we will be updating this section with useful resources as we run across them.
-
-#### Framework field mandatory
-
-In 6.4 we introduced a new `main.js` field called [`framework`](#mainjs-framework-field). Starting in 7.0, this field is mandatory.
-The value of the `framework` field has also changed.
-
-In 6.4, valid values included `@storybook/react`, `@storybook/vue`, etc.
-
-In 7.0, frameworks also specify the builder to be used. For example, The current list of frameworks include:
-
-- `@storybook/angular`
-- `@storybook/html-webpack5`
-- `@storybook/nextjs`
-- `@storybook/preact-webpack5`
-- `@storybook/react-webpack5`
-- `@storybook/react-vite`
-- `@storybook/server-webpack5`
-- `@storybook/svelte-webpack5`
-- `@storybook/svelte-vite`
-- `@storybook/sveltekit`
-- `@storybook/vue-webpack5`
-- `@storybook/vue-vite`
-- `@storybook/vue3-webpack5`
-- `@storybook/vue3-vite`
-- `@storybook/web-components-webpack5`
-- `@storybook/web-components-vite`
-
-We will be expanding this list over the course of the 7.0 development cycle. More info on the rationale here: [Frameworks RFC](https://www.notion.so/chromatic-ui/Frameworks-RFC-89f8aafe3f0941ceb4c24683859ed65c).
-
-#### frameworkOptions renamed
-
-In 7.0, the `main.js` fields `reactOptions` and `angularOptions` have been renamed. They are now options on the `framework` field:
-
-```js
-module.exports = {
- framework: {
- name: '@storybook/react-webpack5',
- options: { fastRefresh: true },
- },
-};
-```
-
-#### TypeScript: StorybookConfig type moved
-
-If you are using TypeScript you should import the `StorybookConfig` type from your framework package.
-
-For example:
-
-```ts
-import type { StorybookConfig } from '@storybook/react-vite';
-
-const config: StorybookConfig = {
- framework: '@storybook/react-vite',
- // ... your configuration
-};
-
-export default config;
-```
-
#### Framework standalone build moved
In 7.0 the location of the standalone node API has moved to `@storybook/core-server`.
@@ -614,125 +488,9 @@ const options = {};
build(options).then(() => console.log('done'));
```
-#### Docs modern inline rendering by default
+#### Change of root html IDs
-Storybook docs has a new rendering mode called "modern inline rendering" which unifies the way stories are rendered in Docs mode and in the canvas (aka story mode). It is still being stabilized in 7.0 dev cycle. If you run into trouble with inline rendering in docs, you can opt out of modern inline rendering in your `.storybook/main.js`:
-
-```js
-module.exports = {
- features: {
- modernInlineRender: false,
- },
-};
-```
-
-#### Babel mode v7 exclusively
-
-Storybook now uses [Babel mode v7](#babel-mode-v7) exclusively. In 6.x, Storybook provided its own babel settings out of the box. Now, Storybook's uses your project's babel settings (`.babelrc`, `babel.config.js`, etc.) instead.
-
-In the new mode, Storybook expects you to provide a configuration file. If you want a configuration file that's equivalent to the 6.x default, you can run the following command in your project directory:
-
-```sh
-npx sb@next babelrc
-```
-
-This will create a `.babelrc.json` file. This file includes a bunch of babel plugins, so you may need to add new package devDependencies accordingly.
-
-#### 7.0 feature flags removed
-
-Storybook uses temporary feature flags to opt-in to future breaking changes or opt-in to legacy behaviors. For example:
-
-```js
-module.exports = {
- features: {
- emotionAlias: false,
- },
-};
-```
-
-In 7.0 we've removed the following feature flags:
-
-| flag | migration instructions |
-| ------------------- | ---------------------------------------------------- |
-| `emotionAlias` | This flag is no longer needed and should be deleted. |
-| `breakingChangesV7` | This flag is no longer needed and should be deleted. |
-
-#### CLI option `--use-npm` deprecated
-
-With increased support for more package managers (pnpm), we have introduced the `--package-manager` CLI option. Please use `--package-manager=npm` to force NPM to be used to install dependencies when running Storybook CLI commands. Other valid options are `pnpm`, `yarn1`, and `yarn2` (`yarn2` is for versions 2 and higher).
-
-#### Vite builder uses vite config automatically
-
-When using a [Vite-based framework](#framework-field-mandatory), Storybook will automatically use your `vite.config.(ctm)js` config file starting in 7.0.
-Some settings will be overridden by storybook so that it can function properly, and the merged settings can be modified using `viteFinal` in `.storybook/main.js` (see the [Storybook Vite configuration docs](https://storybook.js.org/docs/react/builders/vite#configuration)).
-If you were using `viteFinal` in 6.5 to simply merge in your project's standard vite config, you can now remove it.
-
-For Svelte projects this means that the `svelteOptions` property in the `main.js` config should be omitted, as it will be loaded automatically via the project's `vite.config.js`. An exception to this is when the project needs different Svelte options for Storybook than the Vite config provides for the application itself.
-
-#### Vite cache moved to node_modules/.cache/.vite-storybook
-
-Previously, Storybook's Vite builder placed cache files in node_modules/.vite-storybook. However, it's more common for tools to place cached files into `node_modules/.cache`, and putting them there makes it quick and easy to clear the cache for multiple tools at once. We don't expect this change will cause any problems, but it's something that users of Storybook Vite projects should know about. It can be configured by setting `cacheDir` in `viteFinal` within `.storybook/main.js` [Storybook Vite configuration docs](https://storybook.js.org/docs/react/builders/vite#configuration)).
-
-#### SvelteKit needs the `@storybook/sveltekit` framework
-
-SvelteKit projects need to use the `@storybook/sveltekit` framework in the `main.js` file. Previously it was enough to just setup Storybook with Svelte+Vite, but that is no longer the case.
-
-```js
-// .storybook/main.js
-export default {
- framework: '@storybook/sveltekit',
-};
-```
-
-Also see the note in [Vite builder uses vite config automatically](#vite-builder-uses-vite-config-automatically) about removing `svelteOptions`.
-
-#### Removed docs.getContainer and getPage parameters
-
-It is no longer possible to set `parameters.docs.getContainer()` and `getPage()`. Instead use `parameters.docs.container` or `parameters.docs.page` directly.
-
-#### Removed STORYBOOK_REACT_CLASSES global
-
-This was a legacy global variable from the early days of react docgen. If you were using this variable, you can instead use docgen information which is added directly to components using `.__docgenInfo`.
-
-#### Icons API changed
-
-For addon authors who use the `Icons` component, its API has been updated in Storybook 7.
-
-```diff
-export interface IconsProps extends ComponentProps {
-- icon?: IconKey;
-- symbol?: IconKey;
-+ icon: IconType;
-+ useSymbol?: boolean;
-}
-```
-
-Full change here: https://github.com/storybookjs/storybook/pull/18809
-
-#### 'config' preset entry replaced with 'previewAnnotations'
-
-The preset field `'config'` has been replaced with `'previewAnnotations'`. `'config'` is now deprecated and will be removed in Storybook 8.0.
-
-Additionally, the internal field `'previewEntries'` has been removed. If you need a preview entry, just use a `'previewAnnotations'` file and don't export anything.
-
-#### Dropped support for Angular 12 and below
-
-Official [Angular 12 LTS support ends Nov 2022](https://angular.io/guide/releases#actively-supported-versions). With that, Storybook also drops its support
-for Angular 12 and below.
-
-In order to use Storybook 7.0, you need to upgrade to at least Angular 13.
-
-#### Addon-backgrounds: Removed deprecated grid parameter
-
-Starting in 7.0 the `grid.cellSize` parameter should now be `backgrounds.grid.cellSize`. This was [deprecated in SB 6.1](#deprecated-grid-parameter).
-
-#### Addon-docs: Removed deprecated blocks.js entry
-
-Removed `@storybook/addon-docs/blocks` entry. Import directly from `@storybook/blocks` instead. This was [deprecated in SB 6.3](#deprecated-scoped-blocks-imports).
-
-#### Addon-a11y: Removed deprecated withA11y decorator
-
-We removed the deprecated `withA11y` decorator. This was [deprecated in 6.0](#removed-witha11y-decorator)
+The root ID unto which Storybook renders stories is renamed from `root` to `#storybook-root` to avoid conflicts with user's code.
#### Stories glob matches MDX files
@@ -764,23 +522,225 @@ Starting in 7.0, Storybook's build tools add [`"use strict"`](https://developer.
If user code in `.storybook/preview.js` or stories relies on "sloppy" mode behavior, it will need to be updated. As a workaround, it is sometimes possible to move the sloppy mode code inside a script tag in `.storybook/preview-head.html`.
+#### Babel mode v7 exclusively
+
+_Has automigration_
+
+Storybook now uses [Babel mode v7](#babel-mode-v7) exclusively. In 6.x, Storybook provided its own babel settings out of the box. Now, Storybook's uses your project's babel settings (`.babelrc`, `babel.config.js`, etc.) instead.
+
+In the new mode, Storybook expects you to provide a configuration file. If you want a configuration file that's equivalent to the 6.x default, you can run the following command in your project directory:
+
+```sh
+npx sb@next babelrc
+```
+
+This will create a `.babelrc.json` file. This file includes a bunch of babel plugins, so you may need to add new package devDependencies accordingly.
+
+#### 7.0 feature flags removed
+
+Storybook uses temporary feature flags to opt-in to future breaking changes or opt-in to legacy behaviors. For example:
+
+```js
+module.exports = {
+ features: {
+ emotionAlias: false,
+ },
+};
+```
+
+In 7.0 we've removed the following feature flags:
+
+| flag | migration instructions |
+| ------------------- | ----------------------------------------------------------- |
+| `emotionAlias` | This flag is no longer needed and should be deleted. |
+| `breakingChangesV7` | This flag is no longer needed and should be deleted. |
+| `babelModeV7` | See [Babel mode v7 exclusively](#babel-mode-v7-exclusively) |
+
+### Core addons
+
+#### Removed auto injection of @storybook/addon-actions decorator
+
+The `withActions` decorator is no longer automatically added to stories. This is because it is really only used in the html renderer, for all other renderers it's redundant.
+If you are using the html renderer and use the `handles` parameter, you'll need to manually add the `withActions` decorator:
+
+```diff
+import globalThis from 'global';
++import { withActions } from '@storybook/addon-actions/decorator';
+
+export default {
+ component: globalThis.Components.Button,
+ args: {
+ label: 'Click Me!',
+ },
+ parameters: {
+ chromatic: { disable: true },
+ },
+};
+export const Basic = {
+ parameters: {
+ handles: [{ click: 'clicked', contextmenu: 'right clicked' }],
+ },
++ decorators: [withActions],
+};
+```
+
+#### Addon-backgrounds: Removed deprecated grid parameter
+
+Starting in 7.0 the `grid.cellSize` parameter should now be `backgrounds.grid.cellSize`. This was [deprecated in SB 6.1](#deprecated-grid-parameter).
+
+#### Addon-a11y: Removed deprecated withA11y decorator
+
+We removed the deprecated `withA11y` decorator. This was [deprecated in 6.0](#removed-witha11y-decorator)
+
+### Vite
+
+#### Vite builder uses Vite config automatically
+
+When using a [Vite-based framework](#framework-field-mandatory), Storybook will automatically use your `vite.config.(ctm)js` config file starting in 7.0.
+Some settings will be overridden by Storybook so that it can function properly, and the merged settings can be modified using `viteFinal` in `.storybook/main.js` (see the [Storybook Vite configuration docs](https://storybook.js.org/docs/react/builders/vite#configuration)).
+If you were using `viteFinal` in 6.5 to simply merge in your project's standard Vite config, you can now remove it.
+
+For Svelte projects this means that the `svelteOptions` property in the `main.js` config should be omitted, as it will be loaded automatically via the project's `vite.config.js`. An exception to this is when the project needs different Svelte options for Storybook than the Vite config provides for the application itself.
+
+#### Vite cache moved to node_modules/.cache/.vite-storybook
+
+Previously, Storybook's Vite builder placed cache files in node_modules/.vite-storybook. However, it's more common for tools to place cached files into `node_modules/.cache`, and putting them there makes it quick and easy to clear the cache for multiple tools at once. We don't expect this change will cause any problems, but it's something that users of Storybook Vite projects should know about. It can be configured by setting `cacheDir` in `viteFinal` within `.storybook/main.js` [Storybook Vite configuration docs](https://storybook.js.org/docs/react/builders/vite#configuration)).
+
+### Webpack
+
+#### Webpack4 support discontinued
+
+SB7.0 no longer supports Webpack4.
+
+Depending on your project specifics, it might be possible to run your Storybook using the webpack5 builder without error.
+
+If you are running into errors, you can upgrade your project to Webpack5 or you can try debugging those errors.
+
+To upgrade:
+
+- If you're configuring Webpack directly, see the Webpack5 [release announcement](https://webpack.js.org/blog/2020-10-10-webpack-5-release/) and [migration guide](https://webpack.js.org/migrate/5).
+- If you're using Create React App, see the [migration notes](https://github.com/facebook/create-react-app/blob/main/CHANGELOG.md#migrating-from-40x-to-500) to upgrade from V4 (Webpack4) to 5
+
+During the 7.0 dev cycle we will be updating this section with useful resources as we run across them.
+
+#### Postcss removed
+
+Storybook 6.x installed postcss by default. In 7.0 built-in support has been removed for Webpack-based frameworks. If you need it, you can add it back using [`@storybook/addon-postcss`](https://github.com/storybookjs/addon-postcss).
+
#### Removed DLL flags
Earlier versions of Storybook used Webpack DLLs as a performance crutch. In 6.1, we've removed Storybook's built-in DLLs and have deprecated the command-line parameters `--no-dll` and `--ui-dll`. In 7.0 those options are removed.
+### Framework-specific
+
#### Angular: Drop support for Angular < 14
Starting in 7.0, we drop support for Angular < 14
#### Angular: Drop support for calling Storybook directly
-In Storybook 6.4 we have deprecated calling Storybook directly (`npm run storybook`) and removed support for it in Storybook 7.0 entirely. Instead you have to set up
-the Storybook builder in your `angular.json` and execute `ng run :storybook` to start Storybook. Please visit https://github.com/storybookjs/storybook/tree/next/code/frameworks/angular to set up Storybook for Angular correctly.
+In Storybook 6.4 we have deprecated calling Storybook directly (`npm run storybook`) for Angular. In Storybook 7.0, we've removed it entirely. Instead you have to set up the Storybook builder in your `angular.json` and execute `ng run :storybook` to start Storybook. Please visit https://github.com/storybookjs/storybook/tree/next/code/frameworks/angular to set up Storybook for Angular correctly.
#### Angular: Removed legacy renderer
The `parameters.angularLegacyRendering` option is removed. You cannot use the old legacy renderer anymore.
+#### SvelteKit: needs the `@storybook/sveltekit` framework
+
+SvelteKit projects need to use the `@storybook/sveltekit` framework in the `main.js` file. Previously it was enough to just setup Storybook with Svelte+Vite, but that is no longer the case.
+
+```js
+// .storybook/main.js
+export default {
+ framework: '@storybook/sveltekit',
+};
+```
+
+Also see the note in [Vite builder uses Vite config automatically](#vite-builder-uses-vite-config-automatically) about removing `svelteOptions`.
+
+#### Vue3: replaced app export with setup
+
+In 6.x `@storybook/vue3` exported a Vue application instance called `app`. In 7.0, this has been replaced by a `setup` function that can be used to initialize the application in your `.storybook/preview.js`:
+
+Before:
+
+```js
+import { app } from '@storybook/vue3';
+import Button from './Button.vue';
+
+app.component('GlobalButton', Button);
+```
+
+After:
+
+```js
+import { setup } from '@storybook/vue3';
+import Button from './Button.vue';
+
+setup((app) => {
+ app.component('GlobalButton', Button);
+});
+```
+
+### Addon authors
+
+#### register.js removed
+
+In SB 6.x and earlier, addons exported a `register.js` entry point by convention, and users would import this in `.storybook/manager.js`. This was [deprecated in SB 6.5](#deprecated-registerjs)
+
+In 7.0, most of Storybook's addons now export a `manager.js` entry point, which is automatically registered in Storybook's manager when the addon is listed in `.storybook/main.js`'s `addons` field.
+
+If your `.manager.js` config references `register.js` of any of the following addons, you can remove it: `a11y`, `actions`, `backgrounds`, `controls`, `interactions`, `jest`, `links`, `measure`, `outline`, `toolbars`, `viewport`.
+
+#### No more default export from `@storybook/addons`
+
+The default export from `@storybook/addons` has been removed. Please use the named exports instead:
+
+```js
+import { addons } from '@storybook/addons';
+```
+
+The named export has been available since 6.0 or earlier, so your updated code will be backwards-compatible with older versions of Storybook.
+
+#### No more configuration for manager
+
+The Storybook manager is no longer built with Webpack. Now it's built with esbuild.
+Therefore, it's no longer possible to configure the manager. Esbuild comes preconfigured to handle importing CSS, and images.
+
+If you're currently loading files other than CSS or images into the manager, you'll need to make changes so the files get converted to JS before publishing your addon.
+
+This means the preset value `managerWebpack` is no longer respected, and should be removed from presets and `main.js` files.
+
+Addons that run in the manager can depend on `react` and `@storybook/*` packages directly. They do not need to be peerDependencies.
+But very importantly, the build system ensures there will only be 1 version of these packages at runtime. The version will come from the `@storybook/ui` package, and not from the addon.
+For this reason it's recommended to have these dependencies as `devDependencies` in your addon's `package.json`.
+
+The full list of packages that Storybook's manager bundler makes available for addons is here: https://github.com/storybookjs/storybook/blob/next/code/lib/ui/src/globals/types.ts
+
+Addons in the manager will no longer be bundled together anymore, which means that if 1 fails, it doesn't break the whole manager.
+Each addon is imported into the manager as an ESM module that's bundled separately.
+
+#### Icons API changed
+
+For addon authors who use the `Icons` component, its API has been updated in Storybook 7.
+
+```diff
+export interface IconsProps extends ComponentProps {
+- icon?: IconKey;
+- symbol?: IconKey;
++ icon: IconType;
++ useSymbol?: boolean;
+}
+```
+
+Full change here: https://github.com/storybookjs/storybook/pull/18809
+
+#### Removed global client APIs
+
+The `addParameters` and `addDecorator` APIs to add global decorators and parameters, exported by the various frameworks (e.g. `@storybook/react`) and `@storybook/client` were deprecated in 6.0 and have been removed in 7.0.
+
+Instead, use `export const parameters = {};` and `export const decorators = [];` in your `.storybook/preview.js`. Addon authors similarly should use such an export in a preview entry file (see [Preview entries](https://github.com/storybookjs/storybook/blob/next/docs/addons/writing-presets.md#preview-entries)).
+
### Docs Changes
The information hierarchy of docs in Storybook has changed in 7.0. The main difference is that each docs is listed in the sidebar as a separate entry, rather than attached to individual stories.
@@ -875,7 +835,7 @@ You can change the default template in the same way as in 6.x, using the `docs.p
#### Configuring the Docs Container
-As in 6.x, you can override the docs container to configure docs further. This the container that each docs entry is rendered inside:
+As in 6.x, you can override the docs container to configure docs further. This is the container that each docs entry is rendered inside:
```js
// in preview.js
@@ -991,11 +951,11 @@ const a = 'This is still a styled code block.';
#### Dropped source loader / storiesOf static snippets
-In SB 6.x, Storybook Docs used a webpack loader called `source-loader` to help display static code snippets. This was configurable using the `options.sourceLoaderOptions` field.
+In SB 6.x, Storybook Docs used a Webpack loader called `source-loader` to help display static code snippets. This was configurable using the `options.sourceLoaderOptions` field.
In SB 7.0, we've moved to a faster, simpler alternative called `csf-plugin` that **only supports CSF**. It is configurable using the `options.csfPluginOptions` field.
-If you're using `storiesOf` and want to restore the previous behavior, you can add `source-loader` by hand to your webpack config using the following snippet in `main.js`:
+If you're using `storiesOf` and want to restore the previous behavior, you can add `source-loader` by hand to your Webpack config using the following snippet in `main.js`:
```js
module.exports = {
@@ -1015,13 +975,21 @@ module.exports = {
};
```
+#### Removed docs.getContainer and getPage parameters
+
+It is no longer possible to set `parameters.docs.getContainer()` and `getPage()`. Instead use `parameters.docs.container` or `parameters.docs.page` directly.
+
+#### Addon-docs: Removed deprecated blocks.js entry
+
+Removed `@storybook/addon-docs/blocks` entry. Import directly from `@storybook/blocks` instead. This was [deprecated in SB 6.3](#deprecated-scoped-blocks-imports).
+
#### Dropped addon-docs manual babel configuration
Addon-docs previously accepted `configureJsx` and `mdxBabelOptions` options, which allowed full customization of the babel options used to process markdown and mdx files. This has been simplified in 7.0, with a new option, `jsxOptions`, which can be used to customize the behavior of `@babel/preset-react`.
#### Dropped addon-docs manual configuration
-Storybook Docs 5.x shipped with instructions for how to manually configure webpack and storybook without the use of Storybook's "presets" feature. Over time, these docs went out of sync. Now in Storybook 7 we have removed support for manual configuration entirely.
+Storybook Docs 5.x shipped with instructions for how to manually configure Webpack and Storybook without the use of Storybook's "presets" feature. Over time, these docs went out of sync. Now in Storybook 7 we have removed support for manual configuration entirely.
#### Autoplay in docs
@@ -1029,7 +997,27 @@ Running play functions in docs is generally tricky, as they can steal focus and
If your story depends on a play function to render correctly, _and_ you are confident the function autoplaying won't mess up your docs, you can set `parameters.docs.autoplay = true` to have it auto play.
-### 7.0 Deprecations
+#### Removed STORYBOOK_REACT_CLASSES global
+
+This was a legacy global variable from the early days of react docgen. If you were using this variable, you can instead use docgen information which is added directly to components using `.__docgenInfo`.
+
+### 7.0 Deprecations and default changes
+
+#### storyStoreV7 enabled by default
+
+SB6.4 introduced [Story Store V7](#story-store-v7), an optimization which allows code splitting for faster build and load times. This was an experimental, opt-in change and you can read more about it in [the migration notes below](#story-store-v7). TLDR: you can't use the legacy `storiesOf` API or dynamic titles in CSF.
+
+Now in 7.0, Story Store V7 is the default. You can opt-out of it by setting the feature flag in `.storybook/main.js`:
+
+```js
+module.exports = {
+ features: {
+ storyStoreV7: false,
+ },
+};
+```
+
+During the 7.0 dev cycle we will be preparing recommendations and utilities to make it easier for `storiesOf` users to upgrade.
#### `Story` type deprecated
@@ -1145,6 +1133,16 @@ import type { Args, Decorator } from '@storybook/react';
const withLocale: Decorator = (Story, { args }) => // args has type { [name: string]: any }
```
+#### CLI option `--use-npm` deprecated
+
+With increased support for more package managers (pnpm), we have introduced the `--package-manager` CLI option. Please use `--package-manager=npm` to force NPM to be used to install dependencies when running Storybook CLI commands. Other valid options are `pnpm`, `yarn1`, and `yarn2` (`yarn2` is for versions 2 and higher).
+
+#### 'config' preset entry replaced with 'previewAnnotations'
+
+The preset field `'config'` has been replaced with `'previewAnnotations'`. `'config'` is now deprecated and will be removed in Storybook 8.0.
+
+Additionally, the internal field `'previewEntries'` has been removed. If you need a preview entry, just use a `'previewAnnotations'` file and don't export anything.
+
## From version 6.4.x to 6.5.0
### Vue 3 upgrade
@@ -1198,7 +1196,7 @@ SB6.5 moves framework specializations (e.g. ArgType inference, dynamic snippet r
This change should not require any specific migrations on your part if you are using the docs addon as described in the documentation. However, if you are using `react-docgen` or `react-docgen-typescript` information in some custom way outside of `addon-docs`, you should be aware of this change.
-In SB6.4, `@storybook/react` added `react-docgen` to its babel settings and `react-docgen-typescript` to its webpack settings. In SB6.5, this only happens if you are using `addon-docs` or `addon-controls`, either directly or indirectly through `addon-essentials`. If you're not using either of those addons, but require that information for some other addon, please configure that manually in your `.storybook/main.js` configuration. You can see the docs configuration here: https://github.com/storybookjs/storybook/blob/next/code/presets/react-webpack/src/framework-preset-react-docs.ts
+In SB6.4, `@storybook/react` added `react-docgen` to its babel settings and `react-docgen-typescript` to its Webpack settings. In SB6.5, this only happens if you are using `addon-docs` or `addon-controls`, either directly or indirectly through `addon-essentials`. If you're not using either of those addons, but require that information for some other addon, please configure that manually in your `.storybook/main.js` configuration. You can see the docs configuration here: https://github.com/storybookjs/storybook/blob/next/code/presets/react-webpack/src/framework-preset-react-docs.ts
### Opt-in MDX2 support
@@ -1331,7 +1329,7 @@ npx sb@next automigrate
```
-The automigration suite also runs when you create a new project (`sb init`) or when you update storybook (`sb upgrade`).
+The automigration suite also runs when you create a new project (`sb init`) or when you update Storybook (`sb upgrade`).
### CRA5 upgrade
@@ -1343,7 +1341,7 @@ npx sb@next automigrate
```
-Or you can do the following steps manually to force Storybook to use webpack 5 for building your project:
+Or you can do the following steps manually to force Storybook to use Webpack 5 for building your project:
```shell
yarn add @storybook/builder-webpack5 @storybook/manager-webpack5 --dev
diff --git a/code/addons/a11y/package.json b/code/addons/a11y/package.json
index b2a6f9c6c8b..3a2ca3cd57e 100644
--- a/code/addons/a11y/package.json
+++ b/code/addons/a11y/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-a11y",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Test component compliance with web accessibility standards",
"keywords": [
"a11y",
@@ -63,16 +63,16 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/addon-highlight": "7.0.0-beta.29",
- "@storybook/channels": "7.0.0-beta.29",
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/components": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/addon-highlight": "7.0.0-beta.30",
+ "@storybook/channels": "7.0.0-beta.30",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/components": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/theming": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/theming": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"axe-core": "^4.2.0",
"lodash": "^4.17.21",
"react-resize-detector": "^7.1.2"
@@ -104,7 +104,7 @@
"./src/preview.tsx"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"storybook": {
"displayName": "Accessibility",
"icon": "https://user-images.githubusercontent.com/263385/101991665-47042f80-3c7c-11eb-8f00-64b5a18f498a.png",
diff --git a/code/addons/actions/package.json b/code/addons/actions/package.json
index 9c1bc14550a..84a9dd1926f 100644
--- a/code/addons/actions/package.json
+++ b/code/addons/actions/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-actions",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Get UI feedback when an action is performed on an interactive element",
"keywords": [
"storybook",
@@ -77,14 +77,14 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/components": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/components": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/theming": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/theming": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"dequal": "^2.0.2",
"lodash": "^4.17.21",
"polished": "^4.2.2",
@@ -121,7 +121,7 @@
"./src/preview.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"storybook": {
"displayName": "Actions",
"unsupportedFrameworks": [
diff --git a/code/addons/actions/src/containers/ActionLogger/index.tsx b/code/addons/actions/src/containers/ActionLogger/index.tsx
index 5f3a07941a8..56f12408e08 100644
--- a/code/addons/actions/src/containers/ActionLogger/index.tsx
+++ b/code/addons/actions/src/containers/ActionLogger/index.tsx
@@ -5,8 +5,8 @@ import type { API } from '@storybook/manager-api';
import { STORY_CHANGED } from '@storybook/core-events';
import { ActionLogger as ActionLoggerComponent } from '../../components/ActionLogger';
-import { EVENT_ID } from '../..';
import type { ActionDisplay } from '../../models';
+import { EVENT_ID } from '../../constants';
interface ActionLoggerProps {
active: boolean;
diff --git a/code/addons/backgrounds/package.json b/code/addons/backgrounds/package.json
index b96c6fb5903..28314ff7b31 100644
--- a/code/addons/backgrounds/package.json
+++ b/code/addons/backgrounds/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-backgrounds",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Switch backgrounds to view components in different settings",
"keywords": [
"addon",
@@ -76,14 +76,14 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/components": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/components": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/theming": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/theming": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"memoizerific": "^1.11.3",
"ts-dedent": "^2.0.0"
},
@@ -112,7 +112,7 @@
"./src/preview.tsx"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"storybook": {
"displayName": "Backgrounds",
"icon": "https://user-images.githubusercontent.com/263385/101991667-479cc600-3c7c-11eb-96d3-410e936252e7.png",
diff --git a/code/addons/controls/package.json b/code/addons/controls/package.json
index b18e3d20786..6d7ed89481e 100644
--- a/code/addons/controls/package.json
+++ b/code/addons/controls/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-controls",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Interact with component inputs dynamically in the Storybook UI",
"keywords": [
"addon",
@@ -68,15 +68,15 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/blocks": "7.0.0-beta.29",
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/components": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/theming": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/blocks": "7.0.0-beta.30",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/components": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/theming": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"lodash": "^4.17.21",
"ts-dedent": "^2.0.0"
},
@@ -102,7 +102,7 @@
],
"platform": "browser"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"storybook": {
"displayName": "Controls",
"icon": "https://user-images.githubusercontent.com/263385/101991669-479cc600-3c7c-11eb-93d9-38b67e8371f2.png",
diff --git a/code/addons/docs/package.json b/code/addons/docs/package.json
index 83df5234270..212449b4904 100644
--- a/code/addons/docs/package.json
+++ b/code/addons/docs/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-docs",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Document component usage and properties in Markdown",
"keywords": [
"addon",
@@ -103,18 +103,18 @@
"@babel/plugin-transform-react-jsx": "^7.19.0",
"@jest/transform": "^29.3.1",
"@mdx-js/react": "^2.1.5",
- "@storybook/blocks": "7.0.0-beta.29",
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/components": "7.0.0-beta.29",
- "@storybook/csf-plugin": "7.0.0-beta.29",
- "@storybook/csf-tools": "7.0.0-beta.29",
+ "@storybook/blocks": "7.0.0-beta.30",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/components": "7.0.0-beta.30",
+ "@storybook/csf-plugin": "7.0.0-beta.30",
+ "@storybook/csf-tools": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
"@storybook/mdx2-csf": "next",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/postinstall": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/theming": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/postinstall": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/theming": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"fs-extra": "^9.0.1",
"remark-external-links": "^8.0.0",
"remark-slug": "^6.0.0",
@@ -141,7 +141,7 @@
"./src/shims/mdx-react-shim.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"storybook": {
"displayName": "Docs",
"icon": "https://user-images.githubusercontent.com/263385/101991672-48355c80-3c7c-11eb-82d9-95fa12438f64.png",
diff --git a/code/addons/docs/template/stories/stories-mdx/unattached.stories.mdx b/code/addons/docs/template/stories/stories-mdx/unattached.stories.mdx
new file mode 100644
index 00000000000..c327ecb7373
--- /dev/null
+++ b/code/addons/docs/template/stories/stories-mdx/unattached.stories.mdx
@@ -0,0 +1,5 @@
+import { Meta } from '@storybook/addon-docs';
+
+
+
+# Unattached `stories.mdx` file
\ No newline at end of file
diff --git a/code/addons/essentials/package.json b/code/addons/essentials/package.json
index 76759a72b59..74304e8e351 100644
--- a/code/addons/essentials/package.json
+++ b/code/addons/essentials/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-essentials",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Curated addons to bring out the best of Storybook",
"keywords": [
"addon",
@@ -119,23 +119,23 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/addon-actions": "7.0.0-beta.29",
- "@storybook/addon-backgrounds": "7.0.0-beta.29",
- "@storybook/addon-controls": "7.0.0-beta.29",
- "@storybook/addon-docs": "7.0.0-beta.29",
- "@storybook/addon-highlight": "7.0.0-beta.29",
- "@storybook/addon-measure": "7.0.0-beta.29",
- "@storybook/addon-outline": "7.0.0-beta.29",
- "@storybook/addon-toolbars": "7.0.0-beta.29",
- "@storybook/addon-viewport": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
+ "@storybook/addon-actions": "7.0.0-beta.30",
+ "@storybook/addon-backgrounds": "7.0.0-beta.30",
+ "@storybook/addon-controls": "7.0.0-beta.30",
+ "@storybook/addon-docs": "7.0.0-beta.30",
+ "@storybook/addon-highlight": "7.0.0-beta.30",
+ "@storybook/addon-measure": "7.0.0-beta.30",
+ "@storybook/addon-outline": "7.0.0-beta.30",
+ "@storybook/addon-toolbars": "7.0.0-beta.30",
+ "@storybook/addon-viewport": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
"ts-dedent": "^2.0.0"
},
"devDependencies": {
- "@storybook/vue": "7.0.0-beta.29",
+ "@storybook/vue": "7.0.0-beta.30",
"typescript": "^4.9.3"
},
"peerDependencies": {
@@ -166,5 +166,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/addons/highlight/package.json b/code/addons/highlight/package.json
index eaf10e6879a..92e8226dd88 100644
--- a/code/addons/highlight/package.json
+++ b/code/addons/highlight/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-highlight",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Highlight DOM nodes within your stories",
"keywords": [
"storybook-addons",
@@ -61,9 +61,9 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/preview-api": "7.0.0-beta.29"
+ "@storybook/preview-api": "7.0.0-beta.30"
},
"devDependencies": {
"@types/webpack-env": "^1.16.0",
@@ -78,7 +78,7 @@
"./src/preview.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"sbmodern": "dist/modern/index.js",
"storybook": {
"displayName": "Highlight",
diff --git a/code/addons/interactions/package.json b/code/addons/interactions/package.json
index 775277dd91e..5c1ef4f65ce 100644
--- a/code/addons/interactions/package.json
+++ b/code/addons/interactions/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-interactions",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Automate, test and debug user interactions",
"keywords": [
"storybook-addons",
@@ -72,16 +72,16 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/components": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/components": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/instrumenter": "7.0.0-beta.29",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/theming": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/instrumenter": "7.0.0-beta.30",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/theming": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"jest-mock": "^27.0.6",
"polished": "^4.2.2",
"ts-dedent": "^2.2.0"
@@ -118,7 +118,7 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"storybook": {
"displayName": "Interactions",
"unsupportedFrameworks": [
diff --git a/code/addons/jest/package.json b/code/addons/jest/package.json
index 253fa258a57..9ac28573ed9 100644
--- a/code/addons/jest/package.json
+++ b/code/addons/jest/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-jest",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "React storybook addon that show component jest report",
"keywords": [
"addon",
@@ -70,13 +70,13 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/components": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/components": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/theming": "7.0.0-beta.29",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/theming": "7.0.0-beta.30",
"react-resize-detector": "^7.1.2",
"upath": "^1.2.0"
},
@@ -105,7 +105,7 @@
],
"platform": "browser"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"storybook": {
"displayName": "Jest",
"icon": "https://pbs.twimg.com/profile_images/821713465245102080/mMtKIMax_400x400.jpg",
diff --git a/code/addons/links/package.json b/code/addons/links/package.json
index 0d24c501604..e07b24180a9 100644
--- a/code/addons/links/package.json
+++ b/code/addons/links/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-links",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Link stories together to build demos and prototypes with your UI components",
"keywords": [
"addon",
@@ -77,14 +77,14 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/csf": "next",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/router": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/router": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"prop-types": "^15.7.2",
"ts-dedent": "^2.0.0"
},
@@ -114,7 +114,7 @@
"./src/react/index.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"storybook": {
"displayName": "Links",
"icon": "https://user-images.githubusercontent.com/263385/101991673-48355c80-3c7c-11eb-9b6e-b627c96a75f6.png",
diff --git a/code/addons/measure/package.json b/code/addons/measure/package.json
index c147283d26f..7cf96d64703 100644
--- a/code/addons/measure/package.json
+++ b/code/addons/measure/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-measure",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Inspect layouts by visualizing the box model",
"keywords": [
"storybook-addons",
@@ -75,13 +75,13 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/components": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/components": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29"
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30"
},
"devDependencies": {
"typescript": "~4.9.3"
@@ -108,7 +108,7 @@
"./src/preview.tsx"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"storybook": {
"displayName": "Measure",
"unsupportedFrameworks": [
diff --git a/code/addons/outline/package.json b/code/addons/outline/package.json
index bdceadc410b..bb4809d1047 100644
--- a/code/addons/outline/package.json
+++ b/code/addons/outline/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-outline",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Outline all elements with CSS to help with layout placement and alignment",
"keywords": [
"storybook-addons",
@@ -78,13 +78,13 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/components": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/components": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"ts-dedent": "^2.0.0"
},
"devDependencies": {
@@ -112,7 +112,7 @@
"./src/preview.tsx"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"storybook": {
"displayName": "Outline",
"unsupportedFrameworks": [
diff --git a/code/addons/storyshots-core/package.json b/code/addons/storyshots-core/package.json
index 501fde00857..6b4128166ba 100644
--- a/code/addons/storyshots-core/package.json
+++ b/code/addons/storyshots-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-storyshots",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Take a code snapshot of every story automatically with Jest",
"keywords": [
"addon",
@@ -37,12 +37,12 @@
"dependencies": {
"@jest/transform": "^29.3.1",
"@storybook/babel-plugin-require-context-hook": "1.0.1",
- "@storybook/client-api": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/core-webpack": "7.0.0-beta.29",
+ "@storybook/client-api": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/core-webpack": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"@types/glob": "^7.1.3",
"@types/jest-specific-snapshot": "^0.5.6",
"core-js": "^3.8.2",
@@ -58,11 +58,11 @@
"@angular/core": "^13.3.6",
"@angular/platform-browser-dynamic": "^13.3.6",
"@emotion/jest": "^11.8.0",
- "@storybook/addon-docs": "7.0.0-beta.29",
- "@storybook/angular": "7.0.0-beta.29",
- "@storybook/react": "7.0.0-beta.29",
- "@storybook/vue": "7.0.0-beta.29",
- "@storybook/vue3": "7.0.0-beta.29",
+ "@storybook/addon-docs": "7.0.0-beta.30",
+ "@storybook/angular": "7.0.0-beta.30",
+ "@storybook/react": "7.0.0-beta.30",
+ "@storybook/vue": "7.0.0-beta.30",
+ "@storybook/vue3": "7.0.0-beta.30",
"babel-loader": "^9.1.2",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.5",
@@ -143,7 +143,7 @@
"access": "public"
},
"bundler": {},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"storybook": {
"displayName": "Storyshots",
"icon": "https://user-images.githubusercontent.com/263385/101991676-48cdf300-3c7c-11eb-8aa1-944dab6ab29b.png",
diff --git a/code/addons/storyshots-puppeteer/package.json b/code/addons/storyshots-puppeteer/package.json
index ce02ac383c5..0e14adbe9e6 100644
--- a/code/addons/storyshots-puppeteer/package.json
+++ b/code/addons/storyshots-puppeteer/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-storyshots-puppeteer",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Image snapshots addition to StoryShots based on puppeteer",
"keywords": [
"addon",
@@ -36,8 +36,8 @@
"dependencies": {
"@axe-core/puppeteer": "^4.2.0",
"@storybook/csf": "next",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"@types/jest-image-snapshot": "^5.1.0",
"jest-image-snapshot": "^6.0.0"
},
@@ -49,7 +49,7 @@
"rimraf": "^3.0.2"
},
"peerDependencies": {
- "@storybook/addon-storyshots": "7.0.0-beta.29",
+ "@storybook/addon-storyshots": "7.0.0-beta.30",
"puppeteer": ">=2.0.0"
},
"peerDependenciesMeta": {
@@ -61,5 +61,5 @@
"access": "public"
},
"bundler": {},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/addons/storysource/package.json b/code/addons/storysource/package.json
index aba9af29eee..139e9086b4a 100644
--- a/code/addons/storysource/package.json
+++ b/code/addons/storysource/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-storysource",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "View a storyβs source code to see how it works and paste into your app",
"keywords": [
"addon",
@@ -54,13 +54,13 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/components": "7.0.0-beta.29",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/router": "7.0.0-beta.29",
- "@storybook/source-loader": "7.0.0-beta.29",
- "@storybook/theming": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/components": "7.0.0-beta.30",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/router": "7.0.0-beta.30",
+ "@storybook/source-loader": "7.0.0-beta.30",
+ "@storybook/theming": "7.0.0-beta.30",
"estraverse": "^5.2.0",
"prop-types": "^15.7.2",
"react-syntax-highlighter": "^15.5.0"
@@ -92,7 +92,7 @@
"./src/preset.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"storybook": {
"displayName": "Storysource",
"icon": "https://user-images.githubusercontent.com/263385/101991675-48cdf300-3c7c-11eb-9400-58de5ac6daa7.png",
diff --git a/code/addons/toolbars/package.json b/code/addons/toolbars/package.json
index 645365cce81..466abf47f32 100644
--- a/code/addons/toolbars/package.json
+++ b/code/addons/toolbars/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-toolbars",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Create your own toolbar items that control story rendering",
"keywords": [
"addon",
@@ -68,11 +68,11 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/components": "7.0.0-beta.29",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/theming": "7.0.0-beta.29"
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/components": "7.0.0-beta.30",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/theming": "7.0.0-beta.30"
},
"devDependencies": {
"typescript": "~4.9.3"
@@ -99,7 +99,7 @@
],
"platform": "browser"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"storybook": {
"displayName": "Toolbars",
"icon": "https://user-images.githubusercontent.com/263385/101991677-48cdf300-3c7c-11eb-93b4-19b0e3366959.png",
diff --git a/code/addons/toolbars/template/stories/preview.ts b/code/addons/toolbars/template/stories/preview.ts
index f51f24e743e..c3700955334 100644
--- a/code/addons/toolbars/template/stories/preview.ts
+++ b/code/addons/toolbars/template/stories/preview.ts
@@ -6,10 +6,10 @@ export const globalTypes = {
icon: 'circlehollow',
title: 'Theme',
items: [
- { value: 'light', icon: 'circlehollow', title: 'light' },
- { value: 'dark', icon: 'circle', title: 'dark' },
- { value: 'side-by-side', icon: 'sidebar', title: 'side by side' },
- { value: 'stacked', icon: 'bottombar', title: 'stacked' },
+ { value: 'light', icon: 'sun', title: 'light' },
+ { value: 'dark', icon: 'moon', title: 'dark' },
+ { value: 'side-by-side', icon: 'sidebyside', title: 'side by side' },
+ { value: 'stacked', icon: 'stacked', title: 'stacked' },
],
},
},
diff --git a/code/addons/viewport/package.json b/code/addons/viewport/package.json
index 7453665e7d2..aefb7991f96 100644
--- a/code/addons/viewport/package.json
+++ b/code/addons/viewport/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addon-viewport",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Build responsive components by adjusting Storybookβs viewport size and orientation",
"keywords": [
"addon",
@@ -73,13 +73,13 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/components": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/components": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/theming": "7.0.0-beta.29",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/theming": "7.0.0-beta.30",
"memoizerific": "^1.11.3",
"prop-types": "^15.7.2"
},
@@ -109,7 +109,7 @@
"./src/preview.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59",
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831",
"storybook": {
"displayName": "Viewport",
"icon": "https://user-images.githubusercontent.com/263385/101991678-48cdf300-3c7c-11eb-9764-f8af293c1b28.png",
diff --git a/code/frameworks/angular/package.json b/code/frameworks/angular/package.json
index cdcad4f7d6f..606eb174dd7 100644
--- a/code/frameworks/angular/package.json
+++ b/code/frameworks/angular/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/angular",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Angular: Develop Angular components in isolation with hot reloading.",
"keywords": [
"storybook",
@@ -36,20 +36,20 @@
"prep": "../../../scripts/prepare/tsc.ts"
},
"dependencies": {
- "@storybook/builder-webpack5": "7.0.0-beta.29",
- "@storybook/cli": "7.0.0-beta.29",
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/core-client": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
- "@storybook/core-server": "7.0.0-beta.29",
- "@storybook/core-webpack": "7.0.0-beta.29",
- "@storybook/docs-tools": "7.0.0-beta.29",
+ "@storybook/builder-webpack5": "7.0.0-beta.30",
+ "@storybook/cli": "7.0.0-beta.30",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/core-client": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
+ "@storybook/core-server": "7.0.0-beta.30",
+ "@storybook/core-webpack": "7.0.0-beta.30",
+ "@storybook/docs-tools": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"@types/node": "^16.0.0",
"@types/react": "^16.14.34",
"@types/react-dom": "^16.9.14",
@@ -123,5 +123,5 @@
"bundler": {
"tsConfig": "tsconfig.build.json"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/ember/package.json b/code/frameworks/ember/package.json
index f3b6bd4e912..6acb3288b4b 100644
--- a/code/frameworks/ember/package.json
+++ b/code/frameworks/ember/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/ember",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Ember: Develop Ember Component in isolation with Hot Reloading.",
"homepage": "https://github.com/storybookjs/storybook/tree/main/frameworks/ember",
"bugs": {
@@ -31,12 +31,12 @@
"prep": "../../../scripts/prepare/tsc.ts"
},
"dependencies": {
- "@storybook/builder-webpack5": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/docs-tools": "7.0.0-beta.29",
+ "@storybook/builder-webpack5": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/docs-tools": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"ts-dedent": "^2.0.0"
},
"devDependencies": {
@@ -59,5 +59,5 @@
"access": "public"
},
"bundler": {},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/html-vite/package.json b/code/frameworks/html-vite/package.json
index ab09bf92def..8c75541a35b 100644
--- a/code/frameworks/html-vite/package.json
+++ b/code/frameworks/html-vite/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/html-vite",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for HTML and Vite: Develop HTML in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -48,15 +48,15 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/addons": "7.0.0-beta.29",
- "@storybook/builder-vite": "7.0.0-beta.29",
- "@storybook/channel-postmessage": "7.0.0-beta.29",
- "@storybook/channel-websocket": "7.0.0-beta.29",
- "@storybook/client-api": "7.0.0-beta.29",
- "@storybook/core-server": "7.0.0-beta.29",
- "@storybook/html": "7.0.0-beta.29",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/preview-web": "7.0.0-beta.29",
+ "@storybook/addons": "7.0.0-beta.30",
+ "@storybook/builder-vite": "7.0.0-beta.30",
+ "@storybook/channel-postmessage": "7.0.0-beta.30",
+ "@storybook/channel-websocket": "7.0.0-beta.30",
+ "@storybook/client-api": "7.0.0-beta.30",
+ "@storybook/core-server": "7.0.0-beta.30",
+ "@storybook/html": "7.0.0-beta.30",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/preview-web": "7.0.0-beta.30",
"magic-string": "^0.26.1"
},
"devDependencies": {
@@ -76,5 +76,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/html-webpack5/package.json b/code/frameworks/html-webpack5/package.json
index 658c11b392e..ed261f4615f 100644
--- a/code/frameworks/html-webpack5/package.json
+++ b/code/frameworks/html-webpack5/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/html-webpack5",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for HTML: View HTML snippets in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -48,11 +48,11 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/builder-webpack5": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
+ "@storybook/builder-webpack5": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/html": "7.0.0-beta.29",
- "@storybook/preset-html-webpack": "7.0.0-beta.29",
+ "@storybook/html": "7.0.0-beta.30",
+ "@storybook/preset-html-webpack": "7.0.0-beta.30",
"@types/node": "^16.0.0"
},
"devDependencies": {
@@ -76,5 +76,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/nextjs/package.json b/code/frameworks/nextjs/package.json
index b3012edfa05..1e07d22d540 100644
--- a/code/frameworks/nextjs/package.json
+++ b/code/frameworks/nextjs/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/nextjs",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Next.js",
"keywords": [
"storybook",
@@ -60,13 +60,13 @@
},
"dependencies": {
"@next/font": "^13.0.7",
- "@storybook/addon-actions": "7.0.0-beta.29",
- "@storybook/builder-webpack5": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/preset-react-webpack": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/react": "7.0.0-beta.29",
+ "@storybook/addon-actions": "7.0.0-beta.30",
+ "@storybook/builder-webpack5": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/preset-react-webpack": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/react": "7.0.0-beta.30",
"@types/node": "^16.0.0",
"find-up": "^5.0.0",
"fs-extra": "^9.0.1",
@@ -123,5 +123,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/preact-vite/package.json b/code/frameworks/preact-vite/package.json
index 6ef52730181..b4466a97b9f 100644
--- a/code/frameworks/preact-vite/package.json
+++ b/code/frameworks/preact-vite/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/preact-vite",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Preact and Vite: Develop Preact components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -48,8 +48,8 @@
},
"dependencies": {
"@preact/preset-vite": "^2.0.0",
- "@storybook/builder-vite": "7.0.0-beta.29",
- "@storybook/preact": "7.0.0-beta.29"
+ "@storybook/builder-vite": "7.0.0-beta.30",
+ "@storybook/preact": "7.0.0-beta.30"
},
"devDependencies": {
"@types/node": "^16.0.0",
@@ -73,5 +73,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/preact-webpack5/package.json b/code/frameworks/preact-webpack5/package.json
index 58465fbbbbb..429bc936e5f 100644
--- a/code/frameworks/preact-webpack5/package.json
+++ b/code/frameworks/preact-webpack5/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/preact-webpack5",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Preact: Develop Preact Component in isolation.",
"keywords": [
"storybook"
@@ -48,10 +48,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/builder-webpack5": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/preact": "7.0.0-beta.29",
- "@storybook/preset-preact-webpack": "7.0.0-beta.29",
+ "@storybook/builder-webpack5": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/preact": "7.0.0-beta.30",
+ "@storybook/preset-preact-webpack": "7.0.0-beta.30",
"@types/node": "^16.0.0"
},
"devDependencies": {
@@ -77,5 +77,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/react-vite/package.json b/code/frameworks/react-vite/package.json
index 9dad100a57c..5883d8264cf 100644
--- a/code/frameworks/react-vite/package.json
+++ b/code/frameworks/react-vite/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/react-vite",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for React and Vite: Develop React components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -50,9 +50,9 @@
"dependencies": {
"@joshwooding/vite-plugin-react-docgen-typescript": "^0.2.1",
"@rollup/pluginutils": "^4.2.0",
- "@storybook/builder-vite": "7.0.0-beta.29",
- "@storybook/react": "7.0.0-beta.29",
- "@vitejs/plugin-react": "^3.0.0",
+ "@storybook/builder-vite": "7.0.0-beta.30",
+ "@storybook/react": "7.0.0-beta.30",
+ "@vitejs/plugin-react": "^3.0.1",
"ast-types": "^0.14.2",
"magic-string": "^0.26.1",
"react-docgen": "6.0.0-alpha.3"
@@ -80,5 +80,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/react-webpack5/package.json b/code/frameworks/react-webpack5/package.json
index b2777dc1413..6f357ee68af 100644
--- a/code/frameworks/react-webpack5/package.json
+++ b/code/frameworks/react-webpack5/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/react-webpack5",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for React: Develop React Component in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -48,9 +48,9 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/builder-webpack5": "7.0.0-beta.29",
- "@storybook/preset-react-webpack": "7.0.0-beta.29",
- "@storybook/react": "7.0.0-beta.29",
+ "@storybook/builder-webpack5": "7.0.0-beta.30",
+ "@storybook/preset-react-webpack": "7.0.0-beta.30",
+ "@storybook/react": "7.0.0-beta.30",
"@types/node": "^16.0.0"
},
"devDependencies": {
@@ -83,5 +83,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/server-webpack5/package.json b/code/frameworks/server-webpack5/package.json
index 111390e9bf8..2f19843fd14 100644
--- a/code/frameworks/server-webpack5/package.json
+++ b/code/frameworks/server-webpack5/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/server-webpack5",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Server: View HTML snippets from a server in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -48,10 +48,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/builder-webpack5": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/preset-server-webpack": "7.0.0-beta.29",
- "@storybook/server": "7.0.0-beta.29",
+ "@storybook/builder-webpack5": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/preset-server-webpack": "7.0.0-beta.30",
+ "@storybook/server": "7.0.0-beta.30",
"@types/node": "^16.0.0"
},
"devDependencies": {
@@ -74,5 +74,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/svelte-vite/package.json b/code/frameworks/svelte-vite/package.json
index e52836cee57..990ae6742f6 100644
--- a/code/frameworks/svelte-vite/package.json
+++ b/code/frameworks/svelte-vite/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/svelte-vite",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Svelte and Vite: Develop Svelte components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -48,9 +48,9 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/builder-vite": "7.0.0-beta.29",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/svelte": "7.0.0-beta.29",
+ "@storybook/builder-vite": "7.0.0-beta.30",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/svelte": "7.0.0-beta.30",
"@sveltejs/vite-plugin-svelte": "^2.0.0",
"magic-string": "^0.26.1",
"svelte": "^3.0.0",
@@ -80,5 +80,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/svelte-webpack5/package.json b/code/frameworks/svelte-webpack5/package.json
index 95535e81334..d44b6a66be3 100644
--- a/code/frameworks/svelte-webpack5/package.json
+++ b/code/frameworks/svelte-webpack5/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/svelte-webpack5",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Svelte: Develop Svelte Component in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -48,10 +48,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/builder-webpack5": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/preset-svelte-webpack": "7.0.0-beta.29",
- "@storybook/svelte": "7.0.0-beta.29"
+ "@storybook/builder-webpack5": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/preset-svelte-webpack": "7.0.0-beta.30",
+ "@storybook/svelte": "7.0.0-beta.30"
},
"devDependencies": {
"svelte": "^3.48.0",
@@ -78,5 +78,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/sveltekit/package.json b/code/frameworks/sveltekit/package.json
index d6bbd925703..2e0d582f5e2 100644
--- a/code/frameworks/sveltekit/package.json
+++ b/code/frameworks/sveltekit/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/sveltekit",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for SvelteKit",
"keywords": [
"storybook",
@@ -51,9 +51,9 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/builder-vite": "7.0.0-beta.29",
- "@storybook/svelte": "7.0.0-beta.29",
- "@storybook/svelte-vite": "7.0.0-beta.29"
+ "@storybook/builder-vite": "7.0.0-beta.30",
+ "@storybook/svelte": "7.0.0-beta.30",
+ "@storybook/svelte-vite": "7.0.0-beta.30"
},
"devDependencies": {
"@types/node": "^16.0.0",
@@ -76,5 +76,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/vue-vite/package.json b/code/frameworks/vue-vite/package.json
index 20385b2712d..4bbdf86c8f6 100644
--- a/code/frameworks/vue-vite/package.json
+++ b/code/frameworks/vue-vite/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/vue-vite",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Vue2 and Vite: Develop Vue2 Components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -48,10 +48,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/builder-vite": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/core-server": "7.0.0-beta.29",
- "@storybook/vue": "7.0.0-beta.29",
+ "@storybook/builder-vite": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/core-server": "7.0.0-beta.30",
+ "@storybook/vue": "7.0.0-beta.30",
"magic-string": "^0.26.1",
"vue-docgen-api": "^4.40.0"
},
@@ -79,5 +79,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/vue-webpack5/package.json b/code/frameworks/vue-webpack5/package.json
index 50254fa368e..9f83e4c5678 100644
--- a/code/frameworks/vue-webpack5/package.json
+++ b/code/frameworks/vue-webpack5/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/vue-webpack5",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Vue: Develop Vue Component in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -48,10 +48,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/builder-webpack5": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/preset-vue-webpack": "7.0.0-beta.29",
- "@storybook/vue": "7.0.0-beta.29",
+ "@storybook/builder-webpack5": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/preset-vue-webpack": "7.0.0-beta.30",
+ "@storybook/vue": "7.0.0-beta.30",
"@types/node": "^16.0.0"
},
"devDependencies": {
@@ -83,5 +83,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/vue3-vite/package.json b/code/frameworks/vue3-vite/package.json
index da204cb8068..a2d622eb7dc 100644
--- a/code/frameworks/vue3-vite/package.json
+++ b/code/frameworks/vue3-vite/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/vue3-vite",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Vue3 and Vite: Develop Vue3 components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -48,9 +48,9 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/builder-vite": "7.0.0-beta.29",
- "@storybook/core-server": "7.0.0-beta.29",
- "@storybook/vue3": "7.0.0-beta.29",
+ "@storybook/builder-vite": "7.0.0-beta.30",
+ "@storybook/core-server": "7.0.0-beta.30",
+ "@storybook/vue3": "7.0.0-beta.30",
"magic-string": "^0.26.1",
"vue-docgen-api": "^4.40.0"
},
@@ -83,5 +83,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/vue3-webpack5/package.json b/code/frameworks/vue3-webpack5/package.json
index 1757d842486..39c08c9903e 100644
--- a/code/frameworks/vue3-webpack5/package.json
+++ b/code/frameworks/vue3-webpack5/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/vue3-webpack5",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Vue 3: Develop Vue 3 Components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -48,10 +48,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/builder-webpack5": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/preset-vue3-webpack": "7.0.0-beta.29",
- "@storybook/vue3": "7.0.0-beta.29",
+ "@storybook/builder-webpack5": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/preset-vue3-webpack": "7.0.0-beta.30",
+ "@storybook/vue3": "7.0.0-beta.30",
"@types/node": "^16.0.0"
},
"devDependencies": {
@@ -80,5 +80,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/web-components-vite/package.json b/code/frameworks/web-components-vite/package.json
index 383adaa959d..2cc0c8a5f53 100644
--- a/code/frameworks/web-components-vite/package.json
+++ b/code/frameworks/web-components-vite/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/web-components-vite",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for web-components and Vite: Develop Web Components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -48,10 +48,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/builder-vite": "7.0.0-beta.29",
- "@storybook/core-server": "7.0.0-beta.29",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/web-components": "7.0.0-beta.29",
+ "@storybook/builder-vite": "7.0.0-beta.30",
+ "@storybook/core-server": "7.0.0-beta.30",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/web-components": "7.0.0-beta.30",
"magic-string": "^0.26.1"
},
"devDependencies": {
@@ -75,5 +75,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/frameworks/web-components-webpack5/package.json b/code/frameworks/web-components-webpack5/package.json
index c7e014c898f..15f75c4132f 100644
--- a/code/frameworks/web-components-webpack5/package.json
+++ b/code/frameworks/web-components-webpack5/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/web-components-webpack5",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for web-components: View web components snippets in isolation with Hot Reloading.",
"keywords": [
"lit-html",
@@ -51,10 +51,10 @@
},
"dependencies": {
"@babel/preset-env": "^7.20.2",
- "@storybook/builder-webpack5": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/preset-web-components-webpack": "7.0.0-beta.29",
- "@storybook/web-components": "7.0.0-beta.29",
+ "@storybook/builder-webpack5": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/preset-web-components-webpack": "7.0.0-beta.30",
+ "@storybook/web-components": "7.0.0-beta.30",
"@types/node": "^16.0.0"
},
"devDependencies": {
@@ -79,5 +79,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lerna.json b/code/lerna.json
index 00b10a23639..7e4c7295a36 100644
--- a/code/lerna.json
+++ b/code/lerna.json
@@ -2,5 +2,5 @@
"npmClient": "yarn",
"useWorkspaces": true,
"registry": "https://registry.npmjs.org",
- "version": "7.0.0-beta.29"
+ "version": "7.0.0-beta.30"
}
diff --git a/code/lib/addons/package.json b/code/lib/addons/package.json
index 4468a2a520f..e4a30937290 100644
--- a/code/lib/addons/package.json
+++ b/code/lib/addons/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/addons",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook addons store",
"keywords": [
"storybook"
@@ -44,9 +44,9 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29"
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
@@ -60,5 +60,5 @@
"./src/index.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/builder-manager/package.json b/code/lib/builder-manager/package.json
index dd295f4e731..07f0759ef98 100644
--- a/code/lib/builder-manager/package.json
+++ b/code/lib/builder-manager/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/builder-manager",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook manager builder",
"keywords": [
"storybook"
@@ -44,9 +44,9 @@
},
"dependencies": {
"@fal-works/esbuild-plugin-global-externals": "^2.1.2",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/manager": "7.0.0-beta.29",
- "@storybook/node-logger": "7.0.0-beta.29",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/manager": "7.0.0-beta.30",
+ "@storybook/node-logger": "7.0.0-beta.30",
"@types/ejs": "^3.1.1",
"@types/find-cache-dir": "^3.2.1",
"@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10",
@@ -73,5 +73,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/builder-vite/package.json b/code/lib/builder-vite/package.json
index 1456c587fac..fbf6caec9cb 100644
--- a/code/lib/builder-vite/package.json
+++ b/code/lib/builder-vite/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/builder-vite",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "A plugin to run and build Storybooks with Vite",
"homepage": "https://github.com/storybookjs/storybook/tree/main/code/lib/builder-vite/#readme",
"bugs": {
@@ -43,14 +43,16 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/csf-plugin": "7.0.0-beta.29",
+ "@storybook/channel-postmessage": "7.0.0-beta.30",
+ "@storybook/channel-websocket": "7.0.0-beta.30",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/csf-plugin": "7.0.0-beta.30",
"@storybook/mdx2-csf": "next",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/preview": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/preview": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"browser-assert": "^1.2.1",
"es-module-lexer": "^0.9.3",
"express": "^4.17.3",
@@ -67,7 +69,7 @@
"@types/node": "^16.0.0",
"rollup": "^3.0.0",
"typescript": "~4.9.3",
- "vite": "^4.0.0"
+ "vite": "^4.0.4"
},
"peerDependencies": {
"@preact/preset-vite": "*",
@@ -95,5 +97,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/builder-vite/src/vite-config.ts b/code/lib/builder-vite/src/vite-config.ts
index c282601e59e..316d970189a 100644
--- a/code/lib/builder-vite/src/vite-config.ts
+++ b/code/lib/builder-vite/src/vite-config.ts
@@ -91,7 +91,7 @@ export async function pluginConfig(options: Options) {
}
},
},
- viteExternalsPlugin(globals, { useWindow: false }),
+ viteExternalsPlugin(globals, { useWindow: false, disableInServe: true }),
] as PluginOption[];
// TODO: framework doesn't exist, should move into framework when/if built
diff --git a/code/lib/builder-webpack5/package.json b/code/lib/builder-webpack5/package.json
index 059fac4bcb1..c273c4ce655 100644
--- a/code/lib/builder-webpack5/package.json
+++ b/code/lib/builder-webpack5/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/builder-webpack5",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@@ -58,25 +58,25 @@
},
"dependencies": {
"@babel/core": "^7.12.10",
- "@storybook/addons": "7.0.0-beta.29",
- "@storybook/api": "7.0.0-beta.29",
- "@storybook/channel-postmessage": "7.0.0-beta.29",
- "@storybook/channel-websocket": "7.0.0-beta.29",
- "@storybook/channels": "7.0.0-beta.29",
- "@storybook/client-api": "7.0.0-beta.29",
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/components": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
- "@storybook/core-webpack": "7.0.0-beta.29",
+ "@storybook/addons": "7.0.0-beta.30",
+ "@storybook/api": "7.0.0-beta.30",
+ "@storybook/channel-postmessage": "7.0.0-beta.30",
+ "@storybook/channel-websocket": "7.0.0-beta.30",
+ "@storybook/channels": "7.0.0-beta.30",
+ "@storybook/client-api": "7.0.0-beta.30",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/components": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
+ "@storybook/core-webpack": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/preview": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/router": "7.0.0-beta.29",
- "@storybook/store": "7.0.0-beta.29",
- "@storybook/theming": "7.0.0-beta.29",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/preview": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/router": "7.0.0-beta.30",
+ "@storybook/store": "7.0.0-beta.30",
+ "@storybook/theming": "7.0.0-beta.30",
"@types/node": "^16.0.0",
"@types/semver": "^7.3.4",
"babel-loader": "^9.0.0",
@@ -131,5 +131,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/builder-webpack5/src/preview/iframe-webpack.config.ts b/code/lib/builder-webpack5/src/preview/iframe-webpack.config.ts
index cb85f840dc5..d7449693ddd 100644
--- a/code/lib/builder-webpack5/src/preview/iframe-webpack.config.ts
+++ b/code/lib/builder-webpack5/src/preview/iframe-webpack.config.ts
@@ -22,6 +22,7 @@ import {
isPreservingSymlinks,
} from '@storybook/core-common';
import { toRequireContextString, toImportFn } from '@storybook/core-webpack';
+import { dedent } from 'ts-dedent';
import type { BuilderOptions, TypescriptOptions } from '../types';
import { createBabelLoader } from './babel-loader-preview';
@@ -190,6 +191,15 @@ export default async (
}
: {};
+ if (!template) {
+ throw new Error(dedent`
+ Storybook's Webpack5 builder requires a template to be specified.
+ Somehow you've ended up with a falsy value for the template option.
+
+ Please file an issue at https://github.com/storybookjs/storybook with a reproduction.
+ `);
+ }
+
return {
name: 'preview',
mode: isProd ? 'production' : 'development',
diff --git a/code/lib/channel-postmessage/package.json b/code/lib/channel-postmessage/package.json
index 3e6dcce7950..6ad5487e8fb 100644
--- a/code/lib/channel-postmessage/package.json
+++ b/code/lib/channel-postmessage/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/channel-postmessage",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "",
"keywords": [
"storybook"
@@ -43,9 +43,9 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/channels": "7.0.0-beta.29",
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/channels": "7.0.0-beta.30",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
"qs": "^6.10.0",
"telejson": "^7.0.3"
@@ -61,5 +61,5 @@
"./src/index.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/channel-websocket/package.json b/code/lib/channel-websocket/package.json
index e38252c3187..e9956a0bb66 100644
--- a/code/lib/channel-websocket/package.json
+++ b/code/lib/channel-websocket/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/channel-websocket",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "",
"keywords": [
"storybook"
@@ -43,8 +43,8 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/channels": "7.0.0-beta.29",
- "@storybook/client-logger": "7.0.0-beta.29",
+ "@storybook/channels": "7.0.0-beta.30",
+ "@storybook/client-logger": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
"telejson": "^7.0.3"
},
@@ -59,5 +59,5 @@
"./src/index.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/channels/package.json b/code/lib/channels/package.json
index 12a2d5706fe..363b4d13fe5 100644
--- a/code/lib/channels/package.json
+++ b/code/lib/channels/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/channels",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "",
"keywords": [
"storybook"
@@ -53,5 +53,5 @@
"./src/index.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/cli-sb/package.json b/code/lib/cli-sb/package.json
index cbc3bfe8e51..3be4db396c2 100644
--- a/code/lib/cli-sb/package.json
+++ b/code/lib/cli-sb/package.json
@@ -1,6 +1,6 @@
{
"name": "sb",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook CLI",
"keywords": [
"storybook"
@@ -21,10 +21,10 @@
"license": "MIT",
"bin": "./index.js",
"dependencies": {
- "@storybook/cli": "7.0.0-beta.29"
+ "@storybook/cli": "7.0.0-beta.30"
},
"publishConfig": {
"access": "public"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/cli-storybook/package.json b/code/lib/cli-storybook/package.json
index d0b594fffb4..022727937cb 100644
--- a/code/lib/cli-storybook/package.json
+++ b/code/lib/cli-storybook/package.json
@@ -1,6 +1,6 @@
{
"name": "storybook",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook CLI",
"keywords": [
"storybook"
@@ -24,10 +24,10 @@
"storybook": "./index.js"
},
"dependencies": {
- "@storybook/cli": "7.0.0-beta.29"
+ "@storybook/cli": "7.0.0-beta.30"
},
"publishConfig": {
"access": "public"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/cli/package.json b/code/lib/cli/package.json
index 711f1d049a9..b78e1419c9c 100644
--- a/code/lib/cli/package.json
+++ b/code/lib/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/cli",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook's CLI - easiest method of adding storybook to your projects",
"keywords": [
"cli",
@@ -56,13 +56,13 @@
"dependencies": {
"@babel/core": "^7.20.2",
"@babel/preset-env": "^7.20.2",
- "@storybook/codemod": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/core-server": "7.0.0-beta.29",
- "@storybook/csf-tools": "7.0.0-beta.29",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/telemetry": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/codemod": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/core-server": "7.0.0-beta.30",
+ "@storybook/csf-tools": "7.0.0-beta.30",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/telemetry": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"@types/semver": "^7.3.4",
"boxen": "^5.1.2",
"chalk": "^4.1.0",
@@ -91,7 +91,7 @@
"util-deprecate": "^1.0.2"
},
"devDependencies": {
- "@storybook/client-api": "7.0.0-beta.29",
+ "@storybook/client-api": "7.0.0-beta.30",
"@types/cross-spawn": "^6.0.2",
"@types/prompts": "^2.0.9",
"@types/puppeteer-core": "^2.1.0",
@@ -111,5 +111,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/cli/src/versions.ts b/code/lib/cli/src/versions.ts
index 4175a00baee..894c1a9399b 100644
--- a/code/lib/cli/src/versions.ts
+++ b/code/lib/cli/src/versions.ts
@@ -1,90 +1,90 @@
// auto generated file, do not edit
export default {
- '@storybook/addon-a11y': '7.0.0-beta.29',
- '@storybook/addon-actions': '7.0.0-beta.29',
- '@storybook/addon-backgrounds': '7.0.0-beta.29',
- '@storybook/addon-controls': '7.0.0-beta.29',
- '@storybook/addon-docs': '7.0.0-beta.29',
- '@storybook/addon-essentials': '7.0.0-beta.29',
- '@storybook/addon-highlight': '7.0.0-beta.29',
- '@storybook/addon-interactions': '7.0.0-beta.29',
- '@storybook/addon-jest': '7.0.0-beta.29',
- '@storybook/addon-links': '7.0.0-beta.29',
- '@storybook/addon-measure': '7.0.0-beta.29',
- '@storybook/addon-outline': '7.0.0-beta.29',
- '@storybook/addon-storyshots': '7.0.0-beta.29',
- '@storybook/addon-storyshots-puppeteer': '7.0.0-beta.29',
- '@storybook/addon-storysource': '7.0.0-beta.29',
- '@storybook/addon-toolbars': '7.0.0-beta.29',
- '@storybook/addon-viewport': '7.0.0-beta.29',
- '@storybook/addons': '7.0.0-beta.29',
- '@storybook/angular': '7.0.0-beta.29',
- '@storybook/manager-api': '7.0.0-beta.29',
- '@storybook/blocks': '7.0.0-beta.29',
- '@storybook/builder-manager': '7.0.0-beta.29',
- '@storybook/builder-vite': '7.0.0-beta.29',
- '@storybook/builder-webpack5': '7.0.0-beta.29',
- '@storybook/channel-postmessage': '7.0.0-beta.29',
- '@storybook/channel-websocket': '7.0.0-beta.29',
- '@storybook/channels': '7.0.0-beta.29',
- '@storybook/cli': '7.0.0-beta.29',
- '@storybook/client-api': '7.0.0-beta.29',
- '@storybook/client-logger': '7.0.0-beta.29',
- '@storybook/codemod': '7.0.0-beta.29',
- '@storybook/components': '7.0.0-beta.29',
- '@storybook/core-client': '7.0.0-beta.29',
- '@storybook/core-common': '7.0.0-beta.29',
- '@storybook/core-events': '7.0.0-beta.29',
- '@storybook/core-server': '7.0.0-beta.29',
- '@storybook/core-webpack': '7.0.0-beta.29',
- '@storybook/csf-tools': '7.0.0-beta.29',
- '@storybook/docs-tools': '7.0.0-beta.29',
- '@storybook/ember': '7.0.0-beta.29',
- '@storybook/html': '7.0.0-beta.29',
- '@storybook/html-webpack5': '7.0.0-beta.29',
- '@storybook/html-vite': '7.0.0-beta.29',
- '@storybook/instrumenter': '7.0.0-beta.29',
- '@storybook/nextjs': '7.0.0-beta.29',
- '@storybook/node-logger': '7.0.0-beta.29',
- '@storybook/postinstall': '7.0.0-beta.29',
- '@storybook/preact': '7.0.0-beta.29',
- '@storybook/preact-vite': '7.0.0-beta.29',
- '@storybook/preact-webpack5': '7.0.0-beta.29',
- '@storybook/preset-html-webpack': '7.0.0-beta.29',
- '@storybook/preset-preact-webpack': '7.0.0-beta.29',
- '@storybook/preset-react-webpack': '7.0.0-beta.29',
- '@storybook/preset-server-webpack': '7.0.0-beta.29',
- '@storybook/preset-svelte-webpack': '7.0.0-beta.29',
- '@storybook/preset-vue-webpack': '7.0.0-beta.29',
- '@storybook/preset-vue3-webpack': '7.0.0-beta.29',
- '@storybook/preset-web-components-webpack': '7.0.0-beta.29',
- '@storybook/preview': '7.0.0-beta.29',
- '@storybook/preview-api': '7.0.0-beta.29',
- '@storybook/preview-web': '7.0.0-beta.29',
- '@storybook/react': '7.0.0-beta.29',
- '@storybook/react-vite': '7.0.0-beta.29',
- '@storybook/react-webpack5': '7.0.0-beta.29',
- '@storybook/router': '7.0.0-beta.29',
- '@storybook/server': '7.0.0-beta.29',
- '@storybook/server-webpack5': '7.0.0-beta.29',
- '@storybook/source-loader': '7.0.0-beta.29',
- '@storybook/store': '7.0.0-beta.29',
- '@storybook/svelte': '7.0.0-beta.29',
- '@storybook/sveltekit': '7.0.0-beta.29',
- '@storybook/svelte-vite': '7.0.0-beta.29',
- '@storybook/svelte-webpack5': '7.0.0-beta.29',
- '@storybook/telemetry': '7.0.0-beta.29',
- '@storybook/theming': '7.0.0-beta.29',
- '@storybook/manager': '7.0.0-beta.29',
- '@storybook/vue': '7.0.0-beta.29',
- '@storybook/vue-vite': '7.0.0-beta.29',
- '@storybook/vue-webpack5': '7.0.0-beta.29',
- '@storybook/vue3': '7.0.0-beta.29',
- '@storybook/vue3-vite': '7.0.0-beta.29',
- '@storybook/vue3-webpack5': '7.0.0-beta.29',
- '@storybook/web-components': '7.0.0-beta.29',
- '@storybook/web-components-webpack5': '7.0.0-beta.29',
- '@storybook/web-components-vite': '7.0.0-beta.29',
- sb: '7.0.0-beta.29',
- storybook: '7.0.0-beta.29',
+ '@storybook/addon-a11y': '7.0.0-beta.30',
+ '@storybook/addon-actions': '7.0.0-beta.30',
+ '@storybook/addon-backgrounds': '7.0.0-beta.30',
+ '@storybook/addon-controls': '7.0.0-beta.30',
+ '@storybook/addon-docs': '7.0.0-beta.30',
+ '@storybook/addon-essentials': '7.0.0-beta.30',
+ '@storybook/addon-highlight': '7.0.0-beta.30',
+ '@storybook/addon-interactions': '7.0.0-beta.30',
+ '@storybook/addon-jest': '7.0.0-beta.30',
+ '@storybook/addon-links': '7.0.0-beta.30',
+ '@storybook/addon-measure': '7.0.0-beta.30',
+ '@storybook/addon-outline': '7.0.0-beta.30',
+ '@storybook/addon-storyshots': '7.0.0-beta.30',
+ '@storybook/addon-storyshots-puppeteer': '7.0.0-beta.30',
+ '@storybook/addon-storysource': '7.0.0-beta.30',
+ '@storybook/addon-toolbars': '7.0.0-beta.30',
+ '@storybook/addon-viewport': '7.0.0-beta.30',
+ '@storybook/addons': '7.0.0-beta.30',
+ '@storybook/angular': '7.0.0-beta.30',
+ '@storybook/manager-api': '7.0.0-beta.30',
+ '@storybook/blocks': '7.0.0-beta.30',
+ '@storybook/builder-manager': '7.0.0-beta.30',
+ '@storybook/builder-vite': '7.0.0-beta.30',
+ '@storybook/builder-webpack5': '7.0.0-beta.30',
+ '@storybook/channel-postmessage': '7.0.0-beta.30',
+ '@storybook/channel-websocket': '7.0.0-beta.30',
+ '@storybook/channels': '7.0.0-beta.30',
+ '@storybook/cli': '7.0.0-beta.30',
+ '@storybook/client-api': '7.0.0-beta.30',
+ '@storybook/client-logger': '7.0.0-beta.30',
+ '@storybook/codemod': '7.0.0-beta.30',
+ '@storybook/components': '7.0.0-beta.30',
+ '@storybook/core-client': '7.0.0-beta.30',
+ '@storybook/core-common': '7.0.0-beta.30',
+ '@storybook/core-events': '7.0.0-beta.30',
+ '@storybook/core-server': '7.0.0-beta.30',
+ '@storybook/core-webpack': '7.0.0-beta.30',
+ '@storybook/csf-tools': '7.0.0-beta.30',
+ '@storybook/docs-tools': '7.0.0-beta.30',
+ '@storybook/ember': '7.0.0-beta.30',
+ '@storybook/html': '7.0.0-beta.30',
+ '@storybook/html-webpack5': '7.0.0-beta.30',
+ '@storybook/html-vite': '7.0.0-beta.30',
+ '@storybook/instrumenter': '7.0.0-beta.30',
+ '@storybook/nextjs': '7.0.0-beta.30',
+ '@storybook/node-logger': '7.0.0-beta.30',
+ '@storybook/postinstall': '7.0.0-beta.30',
+ '@storybook/preact': '7.0.0-beta.30',
+ '@storybook/preact-vite': '7.0.0-beta.30',
+ '@storybook/preact-webpack5': '7.0.0-beta.30',
+ '@storybook/preset-html-webpack': '7.0.0-beta.30',
+ '@storybook/preset-preact-webpack': '7.0.0-beta.30',
+ '@storybook/preset-react-webpack': '7.0.0-beta.30',
+ '@storybook/preset-server-webpack': '7.0.0-beta.30',
+ '@storybook/preset-svelte-webpack': '7.0.0-beta.30',
+ '@storybook/preset-vue-webpack': '7.0.0-beta.30',
+ '@storybook/preset-vue3-webpack': '7.0.0-beta.30',
+ '@storybook/preset-web-components-webpack': '7.0.0-beta.30',
+ '@storybook/preview': '7.0.0-beta.30',
+ '@storybook/preview-api': '7.0.0-beta.30',
+ '@storybook/preview-web': '7.0.0-beta.30',
+ '@storybook/react': '7.0.0-beta.30',
+ '@storybook/react-vite': '7.0.0-beta.30',
+ '@storybook/react-webpack5': '7.0.0-beta.30',
+ '@storybook/router': '7.0.0-beta.30',
+ '@storybook/server': '7.0.0-beta.30',
+ '@storybook/server-webpack5': '7.0.0-beta.30',
+ '@storybook/source-loader': '7.0.0-beta.30',
+ '@storybook/store': '7.0.0-beta.30',
+ '@storybook/svelte': '7.0.0-beta.30',
+ '@storybook/sveltekit': '7.0.0-beta.30',
+ '@storybook/svelte-vite': '7.0.0-beta.30',
+ '@storybook/svelte-webpack5': '7.0.0-beta.30',
+ '@storybook/telemetry': '7.0.0-beta.30',
+ '@storybook/theming': '7.0.0-beta.30',
+ '@storybook/manager': '7.0.0-beta.30',
+ '@storybook/vue': '7.0.0-beta.30',
+ '@storybook/vue-vite': '7.0.0-beta.30',
+ '@storybook/vue-webpack5': '7.0.0-beta.30',
+ '@storybook/vue3': '7.0.0-beta.30',
+ '@storybook/vue3-vite': '7.0.0-beta.30',
+ '@storybook/vue3-webpack5': '7.0.0-beta.30',
+ '@storybook/web-components': '7.0.0-beta.30',
+ '@storybook/web-components-webpack5': '7.0.0-beta.30',
+ '@storybook/web-components-vite': '7.0.0-beta.30',
+ sb: '7.0.0-beta.30',
+ storybook: '7.0.0-beta.30',
};
diff --git a/code/lib/client-api/package.json b/code/lib/client-api/package.json
index d9f3af51685..b4df89649b9 100644
--- a/code/lib/client-api/package.json
+++ b/code/lib/client-api/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/client-api",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook Client API",
"keywords": [
"storybook"
@@ -42,8 +42,8 @@
"prep": "../../../scripts/prepare/facade.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29"
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30"
},
"publishConfig": {
"access": "public"
@@ -54,5 +54,5 @@
],
"shim": "@storybook/preview-api/dist/client-api"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/client-logger/package.json b/code/lib/client-logger/package.json
index 8ed3544a946..b56e419e753 100644
--- a/code/lib/client-logger/package.json
+++ b/code/lib/client-logger/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/client-logger",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "",
"keywords": [
"storybook"
@@ -56,5 +56,5 @@
"./src/index.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/codemod/package.json b/code/lib/codemod/package.json
index 9e5957f9295..596e4c69772 100644
--- a/code/lib/codemod/package.json
+++ b/code/lib/codemod/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/codemod",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "A collection of codemod scripts written with JSCodeshift",
"keywords": [
"storybook"
@@ -50,9 +50,9 @@
"@babel/preset-env": "^7.20.2",
"@babel/types": "^7.20.7",
"@storybook/csf": "next",
- "@storybook/csf-tools": "7.0.0-beta.29",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/csf-tools": "7.0.0-beta.30",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"cross-spawn": "^7.0.3",
"globby": "^11.0.2",
"jscodeshift": "^0.13.1",
@@ -86,5 +86,5 @@
"./src/transforms/upgrade-hierarchy-separators.js"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/core-client/package.json b/code/lib/core-client/package.json
index 6d363304041..9151602aa99 100644
--- a/code/lib/core-client/package.json
+++ b/code/lib/core-client/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/core-client",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@@ -35,8 +35,8 @@
"prep": "../../../scripts/prepare/facade.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29"
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30"
},
"publishConfig": {
"access": "public"
@@ -47,5 +47,5 @@
],
"shim": "@storybook/preview-api/dist/core-client"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/core-common/package.json b/code/lib/core-common/package.json
index 65a6e57fd78..ef05c6d6309 100644
--- a/code/lib/core-common/package.json
+++ b/code/lib/core-common/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/core-common",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@@ -44,8 +44,8 @@
},
"dependencies": {
"@babel/core": "^7.20.2",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"@types/babel__core": "^7.1.20",
"@types/express": "^4.7.0",
"@types/node": "^16.0.0",
@@ -83,5 +83,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/core-events/package.json b/code/lib/core-events/package.json
index 2e0e9e83695..e231c0243fb 100644
--- a/code/lib/core-events/package.json
+++ b/code/lib/core-events/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/core-events",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Event names used in storybook core",
"keywords": [
"storybook"
@@ -53,5 +53,5 @@
"./src/index.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/core-server/package.json b/code/lib/core-server/package.json
index a7832b70913..f7790d720cb 100644
--- a/code/lib/core-server/package.json
+++ b/code/lib/core-server/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/core-server",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@@ -58,17 +58,17 @@
"dependencies": {
"@aw-web-design/x-default-browser": "1.4.88",
"@discoveryjs/json-ext": "^0.5.3",
- "@storybook/builder-manager": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/builder-manager": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/csf": "next",
- "@storybook/csf-tools": "7.0.0-beta.29",
+ "@storybook/csf-tools": "7.0.0-beta.30",
"@storybook/docs-mdx": "next",
"@storybook/global": "^5.0.0",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/telemetry": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/telemetry": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"@types/detect-port": "^1.3.0",
"@types/node": "^16.0.0",
"@types/node-fetch": "^2.5.7",
@@ -119,5 +119,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/core-server/src/build-dev.ts b/code/lib/core-server/src/build-dev.ts
index 05254a86d93..bac27a0069b 100644
--- a/code/lib/core-server/src/build-dev.ts
+++ b/code/lib/core-server/src/build-dev.ts
@@ -88,10 +88,7 @@ export async function buildDevStandalone(
...options,
});
- const { renderer, builder, disableTelemetry } = await presets.apply(
- 'core',
- undefined
- );
+ const { renderer, builder, disableTelemetry } = await presets.apply('core', {});
if (!options.disableTelemetry && !disableTelemetry) {
if (versionCheck.success && !versionCheck.cached) {
diff --git a/code/lib/core-server/src/build-static.ts b/code/lib/core-server/src/build-static.ts
index 725c96388ea..78bffa6c28c 100644
--- a/code/lib/core-server/src/build-static.ts
+++ b/code/lib/core-server/src/build-static.ts
@@ -84,7 +84,7 @@ export async function buildStaticStandalone(options: BuildStaticStandaloneOption
});
const [previewBuilder, managerBuilder] = await getBuilders({ ...options, presets });
- const { renderer } = await presets.apply('core', undefined);
+ const { renderer } = await presets.apply('core', {});
presets = await loadAllPresets({
corePresets: [
diff --git a/code/lib/core-server/src/utils/get-builders.ts b/code/lib/core-server/src/utils/get-builders.ts
index 9f71b5e085a..1b43381c02c 100644
--- a/code/lib/core-server/src/utils/get-builders.ts
+++ b/code/lib/core-server/src/utils/get-builders.ts
@@ -23,8 +23,8 @@ export async function getPreviewBuilder(
}
export async function getBuilders({ presets, configDir }: Options): Promise[]> {
- const core = await presets.apply('core', undefined);
- const builderName = typeof core?.builder === 'string' ? core.builder : core?.builder?.name;
+ const { builder } = await presets.apply('core', {});
+ const builderName = typeof builder === 'string' ? builder : builder?.name;
return Promise.all([getPreviewBuilder(builderName, configDir), getManagerBuilder()]);
}
diff --git a/code/lib/core-webpack/package.json b/code/lib/core-webpack/package.json
index d0e37a5ecee..97359bd1d41 100644
--- a/code/lib/core-webpack/package.json
+++ b/code/lib/core-webpack/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/core-webpack",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@@ -43,9 +43,9 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"@types/node": "^16.0.0",
"ts-dedent": "^2.0.0"
},
@@ -62,5 +62,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/csf-plugin/package.json b/code/lib/csf-plugin/package.json
index 4d28ae81362..4199a8f216a 100644
--- a/code/lib/csf-plugin/package.json
+++ b/code/lib/csf-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/csf-plugin",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Enrich CSF files via static analysis",
"keywords": [
"storybook"
@@ -43,7 +43,7 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/csf-tools": "7.0.0-beta.29",
+ "@storybook/csf-tools": "7.0.0-beta.30",
"unplugin": "^0.10.2"
},
"devDependencies": {
@@ -64,5 +64,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/csf-tools/package.json b/code/lib/csf-tools/package.json
index b24a7af89f2..85e1f79f96f 100644
--- a/code/lib/csf-tools/package.json
+++ b/code/lib/csf-tools/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/csf-tools",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "",
"keywords": [
"storybook"
@@ -45,7 +45,7 @@
"dependencies": {
"@babel/types": "^7.20.2",
"@storybook/csf": "next",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/types": "7.0.0-beta.30",
"fs-extra": "^9.0.1",
"recast": "^0.23.1",
"ts-dedent": "^2.0.0"
@@ -67,5 +67,5 @@
"./src/index.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/csf-tools/src/CsfFile.ts b/code/lib/csf-tools/src/CsfFile.ts
index 075aa83588b..53da26d6680 100644
--- a/code/lib/csf-tools/src/CsfFile.ts
+++ b/code/lib/csf-tools/src/CsfFile.ts
@@ -169,6 +169,10 @@ export class CsfFile {
_storyExports: Record = {};
+ _metaStatement: t.Statement | undefined;
+
+ _metaNode: t.Expression | undefined;
+
_storyStatements: Record = {};
_storyAnnotations: Record> = {};
@@ -259,10 +263,27 @@ export class CsfFile {
ExportDefaultDeclaration: {
enter({ node, parent }) {
let metaNode: t.ObjectExpression;
- const decl =
- t.isIdentifier(node.declaration) && t.isProgram(parent)
- ? findVarInitialization(node.declaration.name, parent)
- : node.declaration;
+ const isVariableReference = t.isIdentifier(node.declaration) && t.isProgram(parent);
+ let decl;
+ if (isVariableReference) {
+ // const meta = { ... };
+ // export default meta;
+ const variableName = (node.declaration as t.Identifier).name;
+ const isVariableDeclarator = (declaration: t.VariableDeclarator) =>
+ t.isIdentifier(declaration.id) && declaration.id.name === variableName;
+
+ self._metaStatement = self._ast.program.body.find(
+ (topLevelNode) =>
+ t.isVariableDeclaration(topLevelNode) &&
+ topLevelNode.declarations.find(isVariableDeclarator)
+ );
+ decl = (self._metaStatement as t.VariableDeclaration).declarations.find(
+ isVariableDeclarator
+ ).init;
+ } else {
+ self._metaStatement = node;
+ decl = node.declaration;
+ }
if (t.isObjectExpression(decl)) {
// export default { ... };
@@ -276,6 +297,7 @@ export class CsfFile {
}
if (!self._meta && metaNode && t.isProgram(parent)) {
+ self._metaNode = metaNode;
self._parseMeta(metaNode, parent);
}
},
diff --git a/code/lib/csf-tools/src/enrichCsf.test.ts b/code/lib/csf-tools/src/enrichCsf.test.ts
index a0bb3af2db2..f9db130ed6a 100644
--- a/code/lib/csf-tools/src/enrichCsf.test.ts
+++ b/code/lib/csf-tools/src/enrichCsf.test.ts
@@ -132,7 +132,7 @@ describe('enrichCsf', () => {
});
});
- describe('descriptions', () => {
+ describe('story descriptions', () => {
it('skips inline comments', () => {
expect(
enrich(dedent`
@@ -296,6 +296,283 @@ describe('enrichCsf', () => {
});
});
+ describe('meta descriptions', () => {
+ it('skips inline comments', () => {
+ expect(
+ enrich(dedent`
+ // The most basic button
+ export default {
+ title: 'Button',
+ }
+ export const Basic = () =>
+ `)
+ ).toMatchInlineSnapshot(`
+ // The most basic button
+ export default {
+ title: 'Button'
+ };
+ export const Basic = () => ;
+ Basic.parameters = {
+ ...Basic.parameters,
+ storySource: {
+ source: "() => ",
+ ...Basic.parameters?.storySource
+ }
+ };
+ `);
+ });
+
+ it('skips blocks without jsdoc', () => {
+ expect(
+ enrich(dedent`
+ /* The most basic button */
+ export default {
+ title: 'Button',
+ }
+ export const Basic = () =>
+ `)
+ ).toMatchInlineSnapshot(`
+ /* The most basic button */
+ export default {
+ title: 'Button'
+ };
+ export const Basic = () => ;
+ Basic.parameters = {
+ ...Basic.parameters,
+ storySource: {
+ source: "() => ",
+ ...Basic.parameters?.storySource
+ }
+ };
+ `);
+ });
+
+ it('JSDoc single-line', () => {
+ expect(
+ enrich(dedent`
+ /** The most basic button */
+ export default {
+ title: 'Button'
+ }
+ export const Basic = () =>
+ `)
+ ).toMatchInlineSnapshot(`
+ /** The most basic button */
+ export default {
+ title: 'Button',
+ parameters: {
+ docs: {
+ description: {
+ component: "The most basic button"
+ }
+ }
+ }
+ };
+ export const Basic = () => ;
+ Basic.parameters = {
+ ...Basic.parameters,
+ storySource: {
+ source: "() => ",
+ ...Basic.parameters?.storySource
+ }
+ };
+ `);
+ });
+
+ it('JSDoc multi-line', () => {
+ expect(
+ enrich(dedent`
+ /**
+ * The most basic button
+ *
+ * In a block!
+ */
+ export default {
+ title: 'Button',
+ }
+ export const Basic = () =>
+ `)
+ ).toMatchInlineSnapshot(`
+ /**
+ * The most basic button
+ *
+ * In a block!
+ */
+ export default {
+ title: 'Button',
+ parameters: {
+ docs: {
+ description: {
+ component: "The most basic button\\n\\nIn a block!"
+ }
+ }
+ }
+ };
+ export const Basic = () => ;
+ Basic.parameters = {
+ ...Basic.parameters,
+ storySource: {
+ source: "() => ",
+ ...Basic.parameters?.storySource
+ }
+ };
+ `);
+ });
+
+ it('preserves indentation', () => {
+ expect(
+ enrich(dedent`
+ /**
+ * - A bullet list
+ * - A sub-bullet
+ * - A second bullet
+ */
+ export default {
+ title: 'Button',
+ }
+ export const Basic = () =>
+ `)
+ ).toMatchInlineSnapshot(`
+ /**
+ * - A bullet list
+ * - A sub-bullet
+ * - A second bullet
+ */
+ export default {
+ title: 'Button',
+ parameters: {
+ docs: {
+ description: {
+ component: "- A bullet list\\n - A sub-bullet\\n- A second bullet"
+ }
+ }
+ }
+ };
+ export const Basic = () => ;
+ Basic.parameters = {
+ ...Basic.parameters,
+ storySource: {
+ source: "() => ",
+ ...Basic.parameters?.storySource
+ }
+ };
+ `);
+ });
+
+ it('correctly interleaves parameters', () => {
+ expect(
+ enrich(dedent`
+ /** The most basic button */
+ export default {
+ title: 'Button',
+ parameters: {
+ foo: 'bar',
+ docs: { inlineStories: true }
+ }
+ }
+ export const Basic = () =>
+ `)
+ ).toMatchInlineSnapshot(`
+ /** The most basic button */
+ export default {
+ title: 'Button',
+ parameters: {
+ foo: 'bar',
+ docs: {
+ inlineStories: true,
+ description: {
+ component: "The most basic button"
+ }
+ }
+ }
+ };
+ export const Basic = () => ;
+ Basic.parameters = {
+ ...Basic.parameters,
+ storySource: {
+ source: "() => ",
+ ...Basic.parameters?.storySource
+ }
+ };
+ `);
+ });
+
+ it('respects user component description', () => {
+ expect(
+ enrich(dedent`
+ /** The most basic button */
+ export default {
+ title: 'Button',
+ parameters: {
+ docs: {
+ description: {
+ component: 'hahaha'
+ }
+ }
+ }
+ }
+ export const Basic = () =>
+ `)
+ ).toMatchInlineSnapshot(`
+ /** The most basic button */
+ export default {
+ title: 'Button',
+ parameters: {
+ docs: {
+ description: {
+ component: 'hahaha'
+ }
+ }
+ }
+ };
+ export const Basic = () => ;
+ Basic.parameters = {
+ ...Basic.parameters,
+ storySource: {
+ source: "() => ",
+ ...Basic.parameters?.storySource
+ }
+ };
+ `);
+ });
+
+ it('respects meta variables', () => {
+ expect(
+ enrich(dedent`
+ /** The most basic button */
+ const meta = {
+ title: 'Button'
+ }
+ /** This should be ignored */
+ export default meta;
+ export const Basic = () =>
+ `)
+ ).toMatchInlineSnapshot(`
+ /** The most basic button */
+ const meta = {
+ title: 'Button',
+ parameters: {
+ docs: {
+ description: {
+ component: "The most basic button"
+ }
+ }
+ }
+ };
+ /** This should be ignored */
+ export default meta;
+ export const Basic = () => ;
+ Basic.parameters = {
+ ...Basic.parameters,
+ storySource: {
+ source: "() => ",
+ ...Basic.parameters?.storySource
+ }
+ };
+ `);
+ });
+ });
+
describe('options', () => {
it('disableSource', () => {
expect(
diff --git a/code/lib/csf-tools/src/enrichCsf.ts b/code/lib/csf-tools/src/enrichCsf.ts
index ff83d66b167..2d0865ca0ff 100644
--- a/code/lib/csf-tools/src/enrichCsf.ts
+++ b/code/lib/csf-tools/src/enrichCsf.ts
@@ -9,74 +9,127 @@ export interface EnrichCsfOptions {
disableDescription?: boolean;
}
-export const enrichCsf = (csf: CsfFile, options?: EnrichCsfOptions) => {
- Object.keys(csf._storyExports).forEach((key) => {
- const storyExport = csf.getStoryExport(key);
- const source = !options?.disableSource && extractSource(storyExport);
- const description =
- !options?.disableDescription && extractDescription(csf._storyStatements[key]);
- const parameters = [];
- const originalParameters = t.memberExpression(t.identifier(key), t.identifier('parameters'));
- parameters.push(t.spreadElement(originalParameters));
+export const enrichCsfStory = (csf: CsfFile, key: string, options?: EnrichCsfOptions) => {
+ const storyExport = csf.getStoryExport(key);
+ const source = !options?.disableSource && extractSource(storyExport);
+ const description = !options?.disableDescription && extractDescription(csf._storyStatements[key]);
+ const parameters = [];
+ const originalParameters = t.memberExpression(t.identifier(key), t.identifier('parameters'));
+ parameters.push(t.spreadElement(originalParameters));
- // storySource: { source: %%source%% },
- if (source) {
- const optionalStorySource = t.optionalMemberExpression(
- originalParameters,
+ // storySource: { source: %%source%% },
+ if (source) {
+ const optionalStorySource = t.optionalMemberExpression(
+ originalParameters,
+ t.identifier('storySource'),
+ false,
+ true
+ );
+
+ parameters.push(
+ t.objectProperty(
t.identifier('storySource'),
- false,
- true
- );
+ t.objectExpression([
+ t.objectProperty(t.identifier('source'), t.stringLiteral(source)),
+ t.spreadElement(optionalStorySource),
+ ])
+ )
+ );
+ }
- parameters.push(
- t.objectProperty(
- t.identifier('storySource'),
- t.objectExpression([
- t.objectProperty(t.identifier('source'), t.stringLiteral(source)),
- t.spreadElement(optionalStorySource),
- ])
- )
- );
- }
+ // docs: { description: { story: %%description%% } },
+ if (description) {
+ const optionalDocs = t.optionalMemberExpression(
+ originalParameters,
+ t.identifier('docs'),
+ false,
+ true
+ );
- // docs: { description: { story: %%description%% } },
- if (description) {
- const optionalDocs = t.optionalMemberExpression(
- originalParameters,
+ const optionalDescription = t.optionalMemberExpression(
+ optionalDocs,
+ t.identifier('description'),
+ false,
+ true
+ );
+
+ parameters.push(
+ t.objectProperty(
t.identifier('docs'),
- false,
- true
- );
+ t.objectExpression([
+ t.spreadElement(optionalDocs),
+ t.objectProperty(
+ t.identifier('description'),
+ t.objectExpression([
+ t.objectProperty(t.identifier('story'), t.stringLiteral(description)),
+ t.spreadElement(optionalDescription),
+ ])
+ ),
+ ])
+ )
+ );
+ }
+ if (parameters.length > 1) {
+ const addParameter = t.expressionStatement(
+ t.assignmentExpression('=', originalParameters, t.objectExpression(parameters))
+ );
+ csf._ast.program.body.push(addParameter);
+ }
+};
- const optionalDescription = t.optionalMemberExpression(
- optionalDocs,
- t.identifier('description'),
- false,
- true
- );
+const addComponentDescription = (
+ node: t.ObjectExpression,
+ path: string[],
+ value: t.ObjectProperty
+) => {
+ if (!path.length) {
+ const hasExistingComponent = node.properties.find(
+ (p) => t.isObjectProperty(p) && t.isIdentifier(p.key) && p.key.name === 'component'
+ );
+ if (!hasExistingComponent) {
+ // make this the lowest-priority so that if the user is object-spreading on top of it,
+ // the users' code will "win"
+ node.properties.unshift(value);
+ }
+ return;
+ }
+ const [first, ...rest] = path;
+ const existing = node.properties.find(
+ (p) =>
+ t.isObjectProperty(p) &&
+ t.isIdentifier(p.key) &&
+ p.key.name === first &&
+ t.isObjectExpression(p.value)
+ );
+ let subNode: t.ObjectExpression;
+ if (existing) {
+ subNode = (existing as t.ObjectProperty).value as t.ObjectExpression;
+ } else {
+ subNode = t.objectExpression([]);
+ node.properties.push(t.objectProperty(t.identifier(first), subNode));
+ }
+ addComponentDescription(subNode, rest, value);
+};
- parameters.push(
- t.objectProperty(
- t.identifier('docs'),
- t.objectExpression([
- t.spreadElement(optionalDocs),
- t.objectProperty(
- t.identifier('description'),
- t.objectExpression([
- t.objectProperty(t.identifier('story'), t.stringLiteral(description)),
- t.spreadElement(optionalDescription),
- ])
- ),
- ])
- )
+export const enrichCsfMeta = (csf: CsfFile, options?: EnrichCsfOptions) => {
+ const description = !options?.disableDescription && extractDescription(csf._metaStatement);
+ // docs: { description: { component: %%description%% } },
+ if (description) {
+ const metaNode = csf._metaNode;
+ if (metaNode && t.isObjectExpression(metaNode)) {
+ addComponentDescription(
+ metaNode,
+ ['parameters', 'docs', 'description'],
+ t.objectProperty(t.identifier('component'), t.stringLiteral(description))
);
}
- if (parameters.length > 1) {
- const addParameter = t.expressionStatement(
- t.assignmentExpression('=', originalParameters, t.objectExpression(parameters))
- );
- csf._ast.program.body.push(addParameter);
- }
+ }
+};
+
+export const enrichCsf = (csf: CsfFile, options?: EnrichCsfOptions) => {
+ enrichCsfMeta(csf, options);
+ Object.keys(csf._storyExports).forEach((key) => {
+ enrichCsfStory(csf, key, options);
});
};
diff --git a/code/lib/docs-tools/package.json b/code/lib/docs-tools/package.json
index cb89abcd6a3..b61b6c8db46 100644
--- a/code/lib/docs-tools/package.json
+++ b/code/lib/docs-tools/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/docs-tools",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Shared utility functions for frameworks to implement docs",
"keywords": [
"storybook"
@@ -44,9 +44,9 @@
},
"dependencies": {
"@babel/core": "^7.12.10",
- "@storybook/core-common": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/core-common": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"@types/doctrine": "^0.0.3",
"doctrine": "^3.0.0",
"lodash": "^4.17.21"
@@ -64,5 +64,5 @@
"./src/index.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/docs-tools/src/argTypes/jsdocParser.test.ts b/code/lib/docs-tools/src/argTypes/jsdocParser.test.ts
index e3ec359b9b9..a42e2771c62 100644
--- a/code/lib/docs-tools/src/argTypes/jsdocParser.test.ts
+++ b/code/lib/docs-tools/src/argTypes/jsdocParser.test.ts
@@ -222,6 +222,22 @@ describe('parseJsDoc', () => {
});
});
+ describe('@deprecated', () => {
+ it('should ignore invalid @deprecated', () => {
+ const { extractedTags } = parseJsDoc('@deprecated');
+
+ expect(extractedTags.returns).toBeNull();
+ });
+
+ it('should return a @deprecated with a name', () => {
+ const { extractedTags } = parseJsDoc('@deprecated string');
+
+ expect(extractedTags.deprecated).not.toBeNull();
+ expect(extractedTags.deprecated.name).not.toBeNull();
+ expect(extractedTags.deprecated.name).toBe('string');
+ });
+ });
+
describe('@returns', () => {
it('should ignore invalid @returns', () => {
const { extractedTags } = parseJsDoc('@returns');
diff --git a/code/lib/docs-tools/src/argTypes/jsdocParser.ts b/code/lib/docs-tools/src/argTypes/jsdocParser.ts
index 26770fcff71..fc5df0a09af 100644
--- a/code/lib/docs-tools/src/argTypes/jsdocParser.ts
+++ b/code/lib/docs-tools/src/argTypes/jsdocParser.ts
@@ -9,6 +9,10 @@ export interface ExtractedJsDocParam {
getTypeName: () => string;
}
+export interface ExtractedJsDocDeprecated {
+ name: string;
+}
+
export interface ExtractedJsDocReturns {
type?: any;
description?: string;
@@ -17,6 +21,7 @@ export interface ExtractedJsDocReturns {
export interface ExtractedJsDoc {
params?: ExtractedJsDocParam[];
+ deprecated?: ExtractedJsDocDeprecated;
returns?: ExtractedJsDocReturns;
ignore: boolean;
}
@@ -57,7 +62,7 @@ function parse(content: string, tags: string[]): Annotation {
}
const DEFAULT_OPTIONS = {
- tags: ['param', 'arg', 'argument', 'returns', 'ignore'],
+ tags: ['param', 'arg', 'argument', 'returns', 'ignore', 'deprecated'],
};
export const parseJsDoc: ParseJsDoc = (
@@ -72,6 +77,7 @@ export const parseJsDoc: ParseJsDoc = (
}
const jsDocAst = parse(value, options.tags);
+
const extractedTags = extractJsDocTags(jsDocAst);
if (extractedTags.ignore) {
@@ -94,6 +100,7 @@ export const parseJsDoc: ParseJsDoc = (
function extractJsDocTags(ast: doctrine.Annotation): ExtractedJsDoc {
const extractedTags: ExtractedJsDoc = {
params: null,
+ deprecated: null,
returns: null,
ignore: false,
};
@@ -120,6 +127,13 @@ function extractJsDocTags(ast: doctrine.Annotation): ExtractedJsDoc {
}
break;
}
+ case 'deprecated': {
+ const deprecatedTag = extractDeprecated(tag);
+ if (deprecatedTag != null) {
+ extractedTags.deprecated = deprecatedTag;
+ }
+ break;
+ }
case 'returns': {
const returnsTag = extractReturns(tag);
if (returnsTag != null) {
@@ -164,6 +178,16 @@ function extractParam(tag: doctrine.Tag): ExtractedJsDocParam {
return null;
}
+function extractDeprecated(tag: doctrine.Tag): ExtractedJsDocDeprecated {
+ if (tag.title != null) {
+ return {
+ name: tag.description,
+ };
+ }
+
+ return null;
+}
+
function extractReturns(tag: doctrine.Tag): ExtractedJsDocReturns {
if (tag.type != null) {
return {
diff --git a/code/lib/instrumenter/package.json b/code/lib/instrumenter/package.json
index 1b92f811bc4..2a4cb7ea5c6 100644
--- a/code/lib/instrumenter/package.json
+++ b/code/lib/instrumenter/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/instrumenter",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "",
"keywords": [
"storybook"
@@ -43,11 +43,11 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/channels": "7.0.0-beta.29",
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/channels": "7.0.0-beta.30",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/preview-api": "7.0.0-beta.29",
+ "@storybook/preview-api": "7.0.0-beta.30",
"core-js": "^3.8.2"
},
"devDependencies": {
@@ -61,5 +61,5 @@
"./src/index.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/manager-api-shim/package.json b/code/lib/manager-api-shim/package.json
index 3ac38db52f1..50498d44fcd 100644
--- a/code/lib/manager-api-shim/package.json
+++ b/code/lib/manager-api-shim/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/api",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook Manager API (facade)",
"keywords": [
"storybook"
@@ -42,8 +42,8 @@
"prep": "../../../scripts/prepare/facade.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/manager-api": "7.0.0-beta.29"
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/manager-api": "7.0.0-beta.30"
},
"publishConfig": {
"access": "public"
@@ -54,5 +54,5 @@
],
"shim": "@storybook/manager-api"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/manager-api/package.json b/code/lib/manager-api/package.json
index beb1141cdf7..9b40da13d97 100644
--- a/code/lib/manager-api/package.json
+++ b/code/lib/manager-api/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/manager-api",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Core Storybook API & Context",
"keywords": [
"storybook"
@@ -42,14 +42,14 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/channels": "7.0.0-beta.29",
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/channels": "7.0.0-beta.30",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/csf": "next",
"@storybook/global": "^5.0.0",
- "@storybook/router": "7.0.0-beta.29",
- "@storybook/theming": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/router": "7.0.0-beta.30",
+ "@storybook/theming": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"dequal": "^2.0.2",
"lodash": "^4.17.21",
"memoizerific": "^1.11.3",
@@ -78,5 +78,5 @@
"./src/index.tsx"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/manager-api/src/index.tsx b/code/lib/manager-api/src/index.tsx
index d1c1096e74f..28ba051652a 100644
--- a/code/lib/manager-api/src/index.tsx
+++ b/code/lib/manager-api/src/index.tsx
@@ -18,13 +18,13 @@ import type {
API_DocsEntry,
API_GroupEntry,
API_HashEntry,
+ API_IndexHash,
API_LeafEntry,
API_OptionsData,
API_ProviderData,
API_Refs,
API_RootEntry,
API_StateMerger,
- API_StoriesHash,
API_StoryEntry,
Parameters,
StoryId,
@@ -326,7 +326,9 @@ export function useStorybookApi(): API {
}
export type {
- API_StoriesHash as StoriesHash,
+ /** @deprecated now IndexHash */
+ API_IndexHash as StoriesHash,
+ API_IndexHash as IndexHash,
API_RootEntry as RootEntry,
API_GroupEntry as GroupEntry,
API_ComponentEntry as ComponentEntry,
diff --git a/code/lib/manager-api/src/lib/shortcut.ts b/code/lib/manager-api/src/lib/shortcut.ts
index e61b1cc159f..6ec00c12bae 100644
--- a/code/lib/manager-api/src/lib/shortcut.ts
+++ b/code/lib/manager-api/src/lib/shortcut.ts
@@ -20,7 +20,7 @@ export type KeyboardEventLike = Pick<
// Map a keyboard event to a keyboard shortcut
// NOTE: if we change the fields on the event that we need, we'll need to update the serialization in core/preview/start.js
-export const eventToShortcut = (e: KeyboardEventLike): API_KeyCollection | null => {
+export const eventToShortcut = (e: KeyboardEventLike): (string | string[])[] | null => {
// Meta key only doesn't map to a shortcut
if (['Meta', 'Alt', 'Control', 'Shift'].includes(e.key)) {
return null;
@@ -41,7 +41,17 @@ export const eventToShortcut = (e: KeyboardEventLike): API_KeyCollection | null
}
if (e.key && e.key.length === 1 && e.key !== ' ') {
- keys.push(e.key.toUpperCase());
+ const key = e.key.toUpperCase();
+ // Using `event.code` to support `alt (option) + ` on macos which returns special characters
+ // See full list of event.code here:
+ // https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_values
+ const code = e.code?.toUpperCase().replace('KEY', '').replace('DIGIT', '');
+
+ if (code && code.length === 1 && code !== key) {
+ keys.push([key, code]);
+ } else {
+ keys.push(key);
+ }
}
if (e.key === ' ') {
keys.push('space');
@@ -66,13 +76,15 @@ export const eventToShortcut = (e: KeyboardEventLike): API_KeyCollection | null
};
export const shortcutMatchesShortcut = (
- inputShortcut: API_KeyCollection,
+ inputShortcut: (string | string[])[],
shortcut: API_KeyCollection
): boolean => {
if (!inputShortcut || !shortcut) return false;
if (inputShortcut.join('') === 'shift/') inputShortcut.shift(); // shift is optional for `/`
if (inputShortcut.length !== shortcut.length) return false;
- return !inputShortcut.find((key, i) => key !== shortcut[i]);
+ return !inputShortcut.find((input, i) =>
+ Array.isArray(input) ? !input.includes(shortcut[i]) : input !== shortcut[i]
+ );
};
// Should this keyboard event trigger this keyboard shortcut?
diff --git a/code/lib/manager-api/src/lib/stories.ts b/code/lib/manager-api/src/lib/stories.ts
index 95557913929..3db7b6480e0 100644
--- a/code/lib/manager-api/src/lib/stories.ts
+++ b/code/lib/manager-api/src/lib/stories.ts
@@ -15,7 +15,7 @@ import type {
API_RootEntry,
API_GroupEntry,
API_ComponentEntry,
- API_StoriesHash,
+ API_IndexHash,
API_DocsEntry,
API_StoryEntry,
API_HashEntry,
@@ -122,7 +122,7 @@ export const transformStoryIndexToStoriesHash = (
provider: API_Provider;
docsOptions: DocsOptions;
}
-): API_StoriesHash => {
+): API_IndexHash => {
if (!index.v) throw new Error('Composition: Missing stories.json version');
const v4Index = index.v === 4 ? index : transformStoryIndexV3toV4(index as any);
@@ -241,10 +241,10 @@ export const transformStoryIndexToStoriesHash = (
} as API_DocsEntry | API_StoryEntry;
return acc;
- }, {} as API_StoriesHash);
+ }, {} as API_IndexHash);
// This function adds a "root" or "orphan" and all of its descendents to the hash.
- function addItem(acc: API_StoriesHash, item: API_HashEntry) {
+ function addItem(acc: API_IndexHash, item: API_HashEntry) {
// If we were already inserted as part of a group, that's great.
if (acc[item.id]) {
return acc;
@@ -268,7 +268,7 @@ export const transformStoryIndexToStoriesHash = (
.reduce(addItem, orphanHash);
};
-export const addPreparedStories = (newHash: API_StoriesHash, oldHash?: API_StoriesHash) => {
+export const addPreparedStories = (newHash: API_IndexHash, oldHash?: API_IndexHash) => {
if (!oldHash) return newHash;
return Object.fromEntries(
@@ -283,7 +283,7 @@ export const addPreparedStories = (newHash: API_StoriesHash, oldHash?: API_Stori
);
};
-export const getComponentLookupList = memoize(1)((hash: API_StoriesHash) => {
+export const getComponentLookupList = memoize(1)((hash: API_IndexHash) => {
return Object.entries(hash).reduce((acc, i) => {
const value = i[1];
if (value.type === 'component') {
@@ -293,6 +293,6 @@ export const getComponentLookupList = memoize(1)((hash: API_StoriesHash) => {
}, [] as StoryId[][]);
});
-export const getStoriesLookupList = memoize(1)((hash: API_StoriesHash) => {
+export const getStoriesLookupList = memoize(1)((hash: API_IndexHash) => {
return Object.keys(hash).filter((k) => ['story', 'docs'].includes(hash[k].type));
});
diff --git a/code/lib/manager-api/src/modules/refs.ts b/code/lib/manager-api/src/modules/refs.ts
index e8016da9e80..c56f08fed9e 100644
--- a/code/lib/manager-api/src/modules/refs.ts
+++ b/code/lib/manager-api/src/modules/refs.ts
@@ -6,7 +6,7 @@ import type {
API_Refs,
API_SetRefData,
SetStoriesStoryData,
- API_StoriesHash,
+ API_IndexHash,
API_StoryMapper,
} from '@storybook/types';
// eslint-disable-next-line import/no-cycle
@@ -33,7 +33,7 @@ export interface SubAPI {
getRefs: () => API_Refs;
checkRef: (ref: API_SetRefData) => Promise;
changeRefVersion: (id: string, url: string) => void;
- changeRefState: (id: string, ready: boolean) => void;
+ changeRefState: (id: string, previewInitialized: boolean) => void;
}
export const getSourceType = (source: string, refId: string) => {
@@ -56,10 +56,10 @@ export const defaultStoryMapper: API_StoryMapper = (b, a) => {
return { ...a, kind: a.kind.replace('|', '/') };
};
-const addRefIds = (input: API_StoriesHash, ref: API_ComposedRef): API_StoriesHash => {
+const addRefIds = (input: API_IndexHash, ref: API_ComposedRef): API_IndexHash => {
return Object.entries(input).reduce((acc, [id, item]) => {
return { ...acc, [id]: { ...item, refId: ref.id } };
- }, {} as API_StoriesHash);
+ }, {} as API_IndexHash);
};
async function handleRequest(
@@ -83,8 +83,8 @@ async function handleRequest(
}
return json as API_SetRefData;
- } catch (error) {
- return { error };
+ } catch (err) {
+ return { indexError: err };
}
}
@@ -139,10 +139,10 @@ export const init: ModuleFn = (
api.checkRef(ref);
},
- changeRefState: (id, ready) => {
+ changeRefState: (id, previewInitialized) => {
const { [id]: ref, ...updated } = api.getRefs();
- updated[id] = { ...ref, ready };
+ updated[id] = { ...ref, previewInitialized };
store.setState({
refs: updated,
@@ -205,7 +205,7 @@ export const init: ModuleFn = (
// In theory the `/iframe.html` could be private and the `stories.json` could not exist, but in practice
// the only private servers we know about (Chromatic) always include `stories.json`. So we can tell
// if the ref actually exists by simply checking `stories.json` w/ credentials.
- loadedData.error = {
+ loadedData.indexError = {
message: dedent`
Error: Loading of ref failed
at fetch (lib/api/src/modules/refs.ts)
@@ -245,18 +245,18 @@ export const init: ModuleFn = (
const { storyMapper = defaultStoryMapper } = provider.getConfig();
const ref = api.getRefs()[id];
- let storiesHash: API_StoriesHash;
+ let index: API_IndexHash;
if (setStoriesData) {
- storiesHash = transformSetStoriesStoryDataToStoriesHash(
+ index = transformSetStoriesStoryDataToStoriesHash(
map(setStoriesData, ref, { storyMapper }),
{ provider, docsOptions }
);
} else if (storyIndex) {
- storiesHash = transformStoryIndexToStoriesHash(storyIndex, { provider, docsOptions });
+ index = transformStoryIndexToStoriesHash(storyIndex, { provider, docsOptions });
}
- if (storiesHash) storiesHash = addRefIds(storiesHash, ref);
+ if (index) index = addRefIds(index, ref);
- api.updateRef(id, { stories: storiesHash, ...rest, ready });
+ api.updateRef(id, { index, ...rest });
},
updateRef: (id, data) => {
diff --git a/code/lib/manager-api/src/modules/stories.ts b/code/lib/manager-api/src/modules/stories.ts
index d9a70c6c56d..415b801d788 100644
--- a/code/lib/manager-api/src/modules/stories.ts
+++ b/code/lib/manager-api/src/modules/stories.ts
@@ -13,8 +13,10 @@ import {
STORY_SPECIFIED,
STORY_INDEX_INVALIDATED,
CONFIG_ERROR,
+ CURRENT_STORY_WAS_SET,
+ STORY_MISSING,
} from '@storybook/core-events';
-import { logger } from '@storybook/client-logger';
+import { deprecate, logger } from '@storybook/client-logger';
import type {
StoryId,
@@ -24,9 +26,10 @@ import type {
API_LeafEntry,
API_PreparedStoryIndex,
SetStoriesPayload,
- API_StoriesHash,
API_StoryEntry,
StoryIndex,
+ API_LoadedRefData,
+ API_IndexHash,
} from '@storybook/types';
// eslint-disable-next-line import/no-cycle
import { getEventMetadata } from '../lib/events';
@@ -39,7 +42,7 @@ import {
addPreparedStories,
} from '../lib/stories';
-import type { ModuleFn } from '../index';
+import type { ComposedRef, ModuleFn } from '../index';
const { FEATURES, fetch } = global;
const STORY_INDEX_PATH = './index.json';
@@ -50,11 +53,21 @@ type ParameterName = string;
type ViewMode = 'story' | 'info' | 'settings' | string | undefined;
type StoryUpdate = Pick;
-export interface SubState {
- storiesHash: API_StoriesHash;
+export interface SubState extends API_LoadedRefData {
storyId: StoryId;
viewMode: ViewMode;
+
+ /**
+ * @deprecated use index
+ */
+ storiesHash: API_IndexHash;
+ /**
+ * @deprecated use previewInitialized
+ */
storiesConfigured: boolean;
+ /**
+ * @deprecated use indexError
+ */
storiesFailed?: Error;
}
@@ -80,16 +93,17 @@ export interface SubAPI {
getCurrentParameter(parameterName?: ParameterName): S;
updateStoryArgs(story: API_StoryEntry, newArgs: Args): void;
resetStoryArgs: (story: API_StoryEntry, argNames?: string[]) => void;
- findLeafEntry(StoriesHash: API_StoriesHash, storyId: StoryId): API_LeafEntry;
- findLeafStoryId(StoriesHash: API_StoriesHash, storyId: StoryId): StoryId;
+ findLeafEntry(index: API_IndexHash, storyId: StoryId): API_LeafEntry;
+ findLeafStoryId(index: API_IndexHash, storyId: StoryId): StoryId;
findSiblingStoryId(
storyId: StoryId,
- hash: API_StoriesHash,
+ index: API_IndexHash,
direction: Direction,
toSiblingGroup: boolean // when true, skip over leafs within the same group
): StoryId;
fetchIndex: () => Promise;
updateStory: (storyId: StoryId, update: StoryUpdate, ref?: API_ComposedRef) => Promise;
+ setPreviewInitialized: (ref?: ComposedRef) => Promise;
}
const removedOptions = ['enableShortcuts', 'theme', 'showRoots'];
@@ -132,11 +146,11 @@ export const init: ModuleFn = ({
return data.type === 'story' ? data.prepared : true;
},
resolveStory: (storyId, refId) => {
- const { refs, storiesHash } = store.getState();
+ const { refs, index } = store.getState();
if (refId) {
- return refs[refId].stories ? refs[refId].stories[storyId] : undefined;
+ return refs[refId].index ? refs[refId].index[storyId] : undefined;
}
- return storiesHash ? storiesHash[storyId] : undefined;
+ return index ? index[storyId] : undefined;
},
getCurrentStoryData: () => {
const { storyId, refId } = store.getState();
@@ -168,7 +182,7 @@ export const init: ModuleFn = ({
return parameters || undefined;
},
jumpToComponent: (direction) => {
- const { storiesHash, storyId, refs, refId } = store.getState();
+ const { index, storyId, refs, refId } = store.getState();
const story = api.getData(storyId, refId);
// cannot navigate when there's no current selection
@@ -176,7 +190,7 @@ export const init: ModuleFn = ({
return;
}
- const hash = refId ? refs[refId].stories || {} : storiesHash;
+ const hash = refId ? refs[refId].index || {} : index;
const result = api.findSiblingStoryId(storyId, hash, direction, true);
if (result) {
@@ -184,7 +198,7 @@ export const init: ModuleFn = ({
}
},
jumpToStory: (direction) => {
- const { storiesHash, storyId, refs, refId } = store.getState();
+ const { index, storyId, refs, refId } = store.getState();
const story = api.getData(storyId, refId);
// cannot navigate when there's no current selection
@@ -192,7 +206,7 @@ export const init: ModuleFn = ({
return;
}
- const hash = story.refId ? refs[story.refId].stories : storiesHash;
+ const hash = story.refId ? refs[story.refId].index : index;
const result = api.findSiblingStoryId(storyId, hash, direction, false);
if (result) {
@@ -200,8 +214,8 @@ export const init: ModuleFn = ({
}
},
selectFirstStory: () => {
- const { storiesHash } = store.getState();
- const firstStory = Object.keys(storiesHash).find((id) => storiesHash[id].type === 'story');
+ const { index } = store.getState();
+ const firstStory = Object.keys(index).find((id) => index[id].type === 'story');
if (firstStory) {
api.selectStory(firstStory);
@@ -212,9 +226,9 @@ export const init: ModuleFn = ({
},
selectStory: (titleOrId = undefined, name = undefined, options = {}) => {
const { ref } = options;
- const { storyId, storiesHash, refs } = store.getState();
+ const { storyId, index, refs } = store.getState();
- const hash = ref ? refs[ref].stories : storiesHash;
+ const hash = ref ? refs[ref].index : index;
const kindSlug = storyId?.split('--', 2)[0];
@@ -249,50 +263,50 @@ export const init: ModuleFn = ({
}
}
},
- findLeafEntry(storiesHash, storyId) {
- const entry = storiesHash[storyId];
+ findLeafEntry(index, storyId) {
+ const entry = index[storyId];
if (entry.type === 'docs' || entry.type === 'story') {
return entry;
}
const childStoryId = entry.children[0];
- return api.findLeafEntry(storiesHash, childStoryId);
+ return api.findLeafEntry(index, childStoryId);
},
- findLeafStoryId(storiesHash, storyId) {
- return api.findLeafEntry(storiesHash, storyId)?.id;
+ findLeafStoryId(index, storyId) {
+ return api.findLeafEntry(index, storyId)?.id;
},
- findSiblingStoryId(storyId, hash, direction, toSiblingGroup) {
+ findSiblingStoryId(storyId, index, direction, toSiblingGroup) {
if (toSiblingGroup) {
- const lookupList = getComponentLookupList(hash);
- const index = lookupList.findIndex((i) => i.includes(storyId));
+ const lookupList = getComponentLookupList(index);
+ const position = lookupList.findIndex((i) => i.includes(storyId));
// cannot navigate beyond fist or last
- if (index === lookupList.length - 1 && direction > 0) {
+ if (position === lookupList.length - 1 && direction > 0) {
return;
}
- if (index === 0 && direction < 0) {
+ if (position === 0 && direction < 0) {
return;
}
- if (lookupList[index + direction]) {
+ if (lookupList[position + direction]) {
// eslint-disable-next-line consistent-return
- return lookupList[index + direction][0];
+ return lookupList[position + direction][0];
}
return;
}
- const lookupList = getStoriesLookupList(hash);
- const index = lookupList.indexOf(storyId);
+ const lookupList = getStoriesLookupList(index);
+ const position = lookupList.indexOf(storyId);
// cannot navigate beyond fist or last
- if (index === lookupList.length - 1 && direction > 0) {
+ if (position === lookupList.length - 1 && direction > 0) {
return;
}
- if (index === 0 && direction < 0) {
+ if (position === 0 && direction < 0) {
return;
}
// eslint-disable-next-line consistent-return
- return lookupList[index + direction];
+ return lookupList[position + direction];
},
updateStoryArgs: (story, updatedArgs) => {
const { id: storyId, refId } = story;
@@ -325,10 +339,7 @@ export const init: ModuleFn = ({
await fullAPI.setIndex(storyIndex);
} catch (err) {
- store.setState({
- storiesConfigured: true,
- storiesFailed: err,
- });
+ await store.setState({ indexError: err });
}
},
// The story index we receive on SET_INDEX is "prepared" in that it has parameters
@@ -341,13 +352,9 @@ export const init: ModuleFn = ({
});
// Now we need to patch in the existing prepared stories
- const oldHash = store.getState().storiesHash;
+ const oldHash = store.getState().index;
- await store.setState({
- storiesHash: addPreparedStories(newHash, oldHash),
- storiesConfigured: true,
- storiesFailed: null,
- });
+ await store.setState({ index: addPreparedStories(newHash, oldHash) });
},
updateStory: async (
storyId: StoryId,
@@ -355,19 +362,26 @@ export const init: ModuleFn = ({
ref?: API_ComposedRef
): Promise => {
if (!ref) {
- const { storiesHash } = store.getState();
- storiesHash[storyId] = {
- ...storiesHash[storyId],
+ const { index } = store.getState();
+ index[storyId] = {
+ ...index[storyId],
...update,
} as API_StoryEntry;
- await store.setState({ storiesHash });
+ await store.setState({ index });
} else {
- const { id: refId, stories } = ref;
- stories[storyId] = {
- ...stories[storyId],
+ const { id: refId, index } = ref;
+ index[storyId] = {
+ ...index[storyId],
...update,
} as API_StoryEntry;
- await fullAPI.updateRef(refId, { stories });
+ await fullAPI.updateRef(refId, { index });
+ }
+ },
+ setPreviewInitialized: async (ref?: ComposedRef): Promise => {
+ if (!ref) {
+ store.setState({ previewInitialized: true });
+ } else {
+ fullAPI.updateRef(ref.id, { previewInitialized: true });
}
},
};
@@ -387,9 +401,9 @@ export const init: ModuleFn = ({
}) {
const { sourceType } = getEventMetadata(this, fullAPI);
- if (fullAPI.isSettingsScreenActive()) return;
-
if (sourceType === 'local') {
+ if (fullAPI.isSettingsScreenActive()) return;
+
// Special case -- if we are already at the story being specified (i.e. the user started at a given story),
// we don't need to change URL. See https://github.com/storybookjs/storybook/issues/11677
const state = store.getState();
@@ -400,6 +414,15 @@ export const init: ModuleFn = ({
}
);
+ // The CURRENT_STORY_WAS_SET event is the best event to use to tell if a ref is ready.
+ // Until the ref has a selection, it will not render anything (e.g. while waiting for
+ // the preview.js file or the index to load). Once it has a selection, it will render its own
+ // preparing spinner.
+ fullAPI.on(CURRENT_STORY_WAS_SET, function handler() {
+ const { ref } = getEventMetadata(this, fullAPI);
+ fullAPI.setPreviewInitialized(ref);
+ });
+
fullAPI.on(STORY_CHANGED, function handler() {
const { sourceType } = getEventMetadata(this, fullAPI);
@@ -422,18 +445,16 @@ export const init: ModuleFn = ({
fullAPI.setOptions(removeRemovedOptions(options));
store.setState({ hasCalledSetOptions: true });
}
- } else {
- fullAPI.updateRef(ref.id, { ready: true });
}
if (sourceType === 'local') {
- const { storyId, storiesHash, refId } = store.getState();
+ const { storyId, index, refId } = store.getState();
// create a list of related stories to be preloaded
const toBePreloaded = Array.from(
new Set([
- api.findSiblingStoryId(storyId, storiesHash, 1, true),
- api.findSiblingStoryId(storyId, storiesHash, -1, true),
+ api.findSiblingStoryId(storyId, index, 1, true),
+ api.findSiblingStoryId(storyId, index, -1, true),
])
).filter(Boolean);
@@ -499,11 +520,15 @@ export const init: ModuleFn = ({
}
);
+ // When there's a preview error, we don't show it in the manager, but simply
fullAPI.on(CONFIG_ERROR, function handleConfigError(err) {
- store.setState({
- storiesConfigured: true,
- storiesFailed: err,
- });
+ const { ref } = getEventMetadata(this, fullAPI);
+ fullAPI.setPreviewInitialized(ref);
+ });
+
+ fullAPI.on(STORY_MISSING, function handleConfigError(err) {
+ const { ref } = getEventMetadata(this, fullAPI);
+ fullAPI.setPreviewInitialized(ref);
});
if (FEATURES?.storyStoreV7) {
@@ -515,11 +540,24 @@ export const init: ModuleFn = ({
return {
api,
state: {
- storiesHash: {},
storyId: initialStoryId,
viewMode: initialViewMode,
- storiesConfigured: false,
hasCalledSetOptions: false,
+ previewInitialized: false,
+
+ // deprecated fields for back-compat
+ get storiesHash() {
+ deprecate('state.storiesHash is deprecated, please use state.index');
+ return this.index || {};
+ },
+ get storiesConfigured() {
+ deprecate('state.storiesConfigured is deprecated, please use state.previewInitialized');
+ return this.previewInitialized;
+ },
+ get storiesFailed() {
+ deprecate('state.storiesFailed is deprecated, please use state.indexError');
+ return this.indexError;
+ },
},
init: initModule,
};
diff --git a/code/lib/manager-api/src/tests/refs.test.js b/code/lib/manager-api/src/tests/refs.test.js
index 8e7d542da42..d2ddd297e39 100644
--- a/code/lib/manager-api/src/tests/refs.test.js
+++ b/code/lib/manager-api/src/tests/refs.test.js
@@ -252,7 +252,9 @@ describe('Refs API', () => {
Object {
"refs": Object {
"fake": Object {
- "error": Object {
+ "id": "fake",
+ "index": undefined,
+ "indexError": Object {
"message": "Error: Loading of ref failed
at fetch (lib/api/src/modules/refs.ts)
@@ -263,9 +265,6 @@ describe('Refs API', () => {
Please check your dev-tools network tab.",
},
- "id": "fake",
- "ready": false,
- "stories": undefined,
"title": "Fake",
"type": "auto-inject",
"url": "https://example.com",
@@ -340,8 +339,7 @@ describe('Refs API', () => {
"refs": Object {
"fake": Object {
"id": "fake",
- "ready": false,
- "stories": Object {},
+ "index": Object {},
"title": "Fake",
"type": "lazy",
"url": "https://example.com",
@@ -418,8 +416,7 @@ describe('Refs API', () => {
"refs": Object {
"fake": Object {
"id": "fake",
- "ready": false,
- "stories": Object {},
+ "index": Object {},
"title": "Fake",
"type": "lazy",
"url": "https://example.com",
@@ -496,9 +493,8 @@ describe('Refs API', () => {
"refs": Object {
"fake": Object {
"id": "fake",
+ "index": undefined,
"loginUrl": "https://example.com/login",
- "ready": false,
- "stories": undefined,
"title": "Fake",
"type": "auto-inject",
"url": "https://example.com",
@@ -638,9 +634,8 @@ describe('Refs API', () => {
"refs": Object {
"fake": Object {
"id": "fake",
+ "index": undefined,
"loginUrl": "https://example.com/login",
- "ready": false,
- "stories": undefined,
"title": "Fake",
"type": "auto-inject",
"url": "https://example.com",
@@ -720,8 +715,7 @@ describe('Refs API', () => {
"refs": Object {
"fake": Object {
"id": "fake",
- "ready": false,
- "stories": Object {},
+ "index": Object {},
"title": "Fake",
"type": "lazy",
"url": "https://example.com",
@@ -798,8 +792,7 @@ describe('Refs API', () => {
"refs": Object {
"fake": Object {
"id": "fake",
- "ready": false,
- "stories": Object {},
+ "index": Object {},
"title": "Fake",
"type": "lazy",
"url": "https://example.com",
@@ -866,7 +859,7 @@ describe('Refs API', () => {
});
const { refs } = store.setState.mock.calls[0][0];
- const hash = refs.fake.stories;
+ const hash = refs.fake.index;
// We need exact key ordering, even if in theory JS doesn't guarantee it
expect(Object.keys(hash)).toEqual([
@@ -922,7 +915,7 @@ describe('Refs API', () => {
});
const { refs } = store.setState.mock.calls[0][0];
- const hash = refs.fake.stories;
+ const hash = refs.fake.index;
// We need exact key ordering, even if in theory JS doesn't guarantee it
expect(Object.keys(hash)).toEqual(['component-a', 'component-a--docs']);
diff --git a/code/lib/manager-api/src/tests/shortcut.test.js b/code/lib/manager-api/src/tests/shortcut.test.js
index 982f74856fb..9f9d889576c 100644
--- a/code/lib/manager-api/src/tests/shortcut.test.js
+++ b/code/lib/manager-api/src/tests/shortcut.test.js
@@ -43,16 +43,19 @@ describe('eventToShortcut', () => {
expect(output).toEqual(['escape']);
});
test('it capitalizes a letter key through', () => {
- const output = eventToShortcut(ev({ key: 'a' }));
+ const output = eventToShortcut(ev({ key: 'a', code: 'KeyA' }));
expect(output).toEqual(['A']);
});
test('it passes regular key through', () => {
- const output = eventToShortcut(ev({ key: '1' }));
+ const output = eventToShortcut(ev({ key: '1', code: 'Digit1' }));
expect(output).toEqual(['1']);
});
test('it passes modified regular key through', () => {
- const output = eventToShortcut(ev({ altKey: true, key: '1' }));
+ const output = eventToShortcut(ev({ altKey: true, key: '1', code: 'Digit1' }));
expect(output).toEqual(['alt', '1']);
+ // on macos
+ const outputMacOs = eventToShortcut(ev({ altKey: true, key: 'β', code: 'KeyV' }));
+ expect(outputMacOs).toEqual(['alt', ['β', 'V']]);
});
});
diff --git a/code/lib/manager-api/src/tests/stories.test.ts b/code/lib/manager-api/src/tests/stories.test.ts
index 25bd3355c24..83410d1604e 100644
--- a/code/lib/manager-api/src/tests/stories.test.ts
+++ b/code/lib/manager-api/src/tests/stories.test.ts
@@ -9,6 +9,8 @@ import {
STORY_INDEX_INVALIDATED,
CONFIG_ERROR,
SET_INDEX,
+ CURRENT_STORY_WAS_SET,
+ STORY_MISSING,
} from '@storybook/core-events';
import { EventEmitter } from 'events';
import { global } from '@storybook/global';
@@ -80,6 +82,18 @@ function createMockStore(initialState = {}) {
} as any as Store;
}
+function initStoriesAndSetState({ store, ...options }: any) {
+ const { state, ...result } = initStories({ store, ...options } as any);
+
+ // Remove deprecated fields (which would trigger warnings)
+ delete state.storiesHash;
+ delete state.storiesConfigured;
+ delete state.storiesFailed;
+ store?.setState(state);
+
+ return { state, ...result };
+}
+
const provider = { getConfig: jest.fn().mockReturnValue({}), serverChannel: mockChannel() };
beforeEach(() => {
@@ -101,14 +115,18 @@ beforeEach(() => {
describe('stories API', () => {
it('sets a sensible initialState', () => {
- const { state } = initStories({
+ const { state } = initStoriesAndSetState({
storyId: 'id',
viewMode: 'story',
} as ModuleArgs);
+ // Remove deprecated fields (which would trigger warnings)
+ delete state.storiesHash;
+ delete state.storiesConfigured;
+ delete state.storiesFailed;
+
expect(state).toEqual({
- storiesConfigured: false,
- storiesHash: {},
+ previewInitialized: false,
storyId: 'id',
viewMode: 'story',
hasCalledSetOptions: false,
@@ -121,27 +139,27 @@ describe('stories API', () => {
const store = createMockStore();
const fullAPI = Object.assign(new EventEmitter());
- const { api } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
api.setIndex({ v: 4, entries: mockEntries });
- const { storiesHash: storedStoriesHash } = store.getState();
+ const { index } = store.getState();
// We need exact key ordering, even if in theory JS doesn't guarantee it
- expect(Object.keys(storedStoriesHash)).toEqual([
+ expect(Object.keys(index)).toEqual([
'component-a',
'component-a--story-1',
'component-a--story-2',
'component-b',
'component-b--story-3',
]);
- expect(storedStoriesHash['component-a']).toMatchObject({
+ expect(index['component-a']).toMatchObject({
type: 'component',
id: 'component-a',
children: ['component-a--story-1', 'component-a--story-2'],
});
- expect(storedStoriesHash['component-a--story-1']).toMatchObject({
+ expect(index['component-a--story-1']).toMatchObject({
type: 'story',
id: 'component-a--story-1',
parent: 'component-a',
@@ -150,7 +168,7 @@ describe('stories API', () => {
prepared: false,
});
expect(
- (storedStoriesHash['component-a--story-1'] as API_StoryEntry as API_StoryEntry).args
+ (index['component-a--story-1'] as API_StoryEntry as API_StoryEntry).args
).toBeUndefined();
});
@@ -159,7 +177,7 @@ describe('stories API', () => {
const store = createMockStore();
const fullAPI = Object.assign(new EventEmitter());
- const { api } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
api.setIndex({
@@ -174,23 +192,23 @@ describe('stories API', () => {
},
},
});
- const { storiesHash: storedStoriesHash } = store.getState();
+ const { index } = store.getState();
// We need exact key ordering, even if in theory JS doesn't guarantee it
- expect(Object.keys(storedStoriesHash)).toEqual([
+ expect(Object.keys(index)).toEqual([
'design-system',
'design-system-some-component',
'design-system-some-component--my-story',
]);
- expect(storedStoriesHash['design-system']).toMatchObject({
+ expect(index['design-system']).toMatchObject({
type: 'root',
name: 'Design System', // root name originates from `kind`, so it gets trimmed
});
- expect(storedStoriesHash['design-system-some-component']).toMatchObject({
+ expect(index['design-system-some-component']).toMatchObject({
type: 'component',
name: 'Some Component', // component name originates from `kind`, so it gets trimmed
});
- expect(storedStoriesHash['design-system-some-component--my-story']).toMatchObject({
+ expect(index['design-system-some-component--my-story']).toMatchObject({
type: 'story',
title: ' Design System / Some Component ', // title is kept as-is, because it may be used as identifier
name: ' My Story ', // story name is kept as-is, because it's set directly on the story
@@ -202,7 +220,7 @@ describe('stories API', () => {
const store = createMockStore();
const fullAPI = Object.assign(new EventEmitter());
- const { api } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
api.setIndex({
@@ -218,10 +236,10 @@ describe('stories API', () => {
...mockEntries,
},
});
- const { storiesHash: storedStoriesHash } = store.getState();
+ const { index } = store.getState();
// We need exact key ordering, even if in theory JS doesn't guarantee it
- expect(Object.keys(storedStoriesHash)).toEqual([
+ expect(Object.keys(index)).toEqual([
'component-a',
'component-a--story-1',
'component-a--story-2',
@@ -231,7 +249,7 @@ describe('stories API', () => {
'root-first',
'root-first--story-1',
]);
- expect(storedStoriesHash.root).toMatchObject({
+ expect(index.root).toMatchObject({
type: 'root',
id: 'root',
children: ['root-first'],
@@ -243,7 +261,7 @@ describe('stories API', () => {
const store = createMockStore();
const fullAPI = Object.assign(new EventEmitter());
- const { api } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
provider.getConfig.mockReturnValue({ sidebar: { showRoots: true } });
@@ -260,22 +278,22 @@ describe('stories API', () => {
},
});
- const { storiesHash: storedStoriesHash } = store.getState();
+ const { index } = store.getState();
// We need exact key ordering, even if in theory JS doens't guarantee it
- expect(Object.keys(storedStoriesHash)).toEqual(['a', 'a-b', 'a-b--1']);
- expect(storedStoriesHash.a).toMatchObject({
+ expect(Object.keys(index)).toEqual(['a', 'a-b', 'a-b--1']);
+ expect(index.a).toMatchObject({
type: 'root',
id: 'a',
children: ['a-b'],
});
- expect(storedStoriesHash['a-b']).toMatchObject({
+ expect(index['a-b']).toMatchObject({
type: 'component',
id: 'a-b',
parent: 'a',
children: ['a-b--1'],
});
- expect(storedStoriesHash['a-b--1']).toMatchObject({
+ expect(index['a-b--1']).toMatchObject({
type: 'story',
id: 'a-b--1',
parent: 'a-b',
@@ -289,7 +307,7 @@ describe('stories API', () => {
const store = createMockStore();
const fullAPI = Object.assign(new EventEmitter());
- const { api } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
provider.getConfig.mockReturnValue({ sidebar: { showRoots: true } });
@@ -306,16 +324,16 @@ describe('stories API', () => {
},
});
- const { storiesHash: storedStoriesHash } = store.getState();
+ const { index } = store.getState();
// We need exact key ordering, even if in theory JS doens't guarantee it
- expect(Object.keys(storedStoriesHash)).toEqual(['a', 'a--1']);
- expect(storedStoriesHash.a).toMatchObject({
+ expect(Object.keys(index)).toEqual(['a', 'a--1']);
+ expect(index.a).toMatchObject({
type: 'component',
id: 'a',
children: ['a--1'],
});
- expect(storedStoriesHash['a--1']).toMatchObject({
+ expect(index['a--1']).toMatchObject({
type: 'story',
id: 'a--1',
parent: 'a',
@@ -331,7 +349,7 @@ describe('stories API', () => {
const store = createMockStore();
const fullAPI = Object.assign(new EventEmitter());
- const { api } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
provider.getConfig.mockReturnValue({ sidebar: { showRoots: true } });
@@ -344,17 +362,17 @@ describe('stories API', () => {
},
});
- const { storiesHash: storedStoriesHash } = store.getState();
+ const { index } = store.getState();
// We need exact key ordering, even if in theory JS doens't guarantee it
- expect(Object.keys(storedStoriesHash)).toEqual(['a', 'a--1', 'a--2', 'b', 'b--1']);
- expect(storedStoriesHash.a).toMatchObject({
+ expect(Object.keys(index)).toEqual(['a', 'a--1', 'a--2', 'b', 'b--1']);
+ expect(index.a).toMatchObject({
type: 'component',
id: 'a',
children: ['a--1', 'a--2'],
});
- expect(storedStoriesHash.b).toMatchObject({
+ expect(index.b).toMatchObject({
type: 'component',
id: 'b',
children: ['b--1'],
@@ -367,7 +385,7 @@ describe('stories API', () => {
const store = createMockStore();
const fullAPI = Object.assign(new EventEmitter());
- const { api } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
api.setIndex({
@@ -385,9 +403,9 @@ describe('stories API', () => {
},
});
- const { storiesHash: storedStoriesHash } = store.getState();
+ const { index } = store.getState();
- expect(storedStoriesHash['prepared--story']).toMatchObject({
+ expect(index['prepared--story']).toMatchObject({
type: 'story',
id: 'prepared--story',
parent: 'prepared',
@@ -404,7 +422,7 @@ describe('stories API', () => {
const store = createMockStore();
const fullAPI = Object.assign(new EventEmitter(), { setOptions: jest.fn() });
- const { api, init } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
init();
@@ -417,7 +435,7 @@ describe('stories API', () => {
});
// Let the promise/await chain resolve
await new Promise((r) => setTimeout(r, 0));
- expect(store.getState().storiesHash['component-a--story-1'] as API_StoryEntry).toMatchObject({
+ expect(store.getState().index['component-a--story-1'] as API_StoryEntry).toMatchObject({
prepared: true,
parameters: { a: 'b' },
args: { c: 'd' },
@@ -427,7 +445,7 @@ describe('stories API', () => {
// Let the promise/await chain resolve
await new Promise((r) => setTimeout(r, 0));
- expect(store.getState().storiesHash['component-a--story-1'] as API_StoryEntry).toMatchObject({
+ expect(store.getState().index['component-a--story-1'] as API_StoryEntry).toMatchObject({
prepared: true,
parameters: { a: 'b' },
args: { c: 'd' },
@@ -473,15 +491,15 @@ describe('stories API', () => {
const store = createMockStore();
const fullAPI = Object.assign(new EventEmitter());
- const { api } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
api.setIndex({ v: 4, entries: docsEntries });
- const { storiesHash: storedStoriesHash } = store.getState();
+ const { index } = store.getState();
// We need exact key ordering, even if in theory JS doesn't guarantee it
- expect(Object.keys(storedStoriesHash)).toEqual([
+ expect(Object.keys(index)).toEqual([
'component-a',
'component-a--page',
'component-a--story-2',
@@ -490,10 +508,10 @@ describe('stories API', () => {
'component-c',
'component-c--story-4',
]);
- expect(storedStoriesHash['component-a--page'].type).toBe('story');
- expect(storedStoriesHash['component-a--story-2'].type).toBe('story');
- expect(storedStoriesHash['component-b--docs'].type).toBe('docs');
- expect(storedStoriesHash['component-c--story-4'].type).toBe('story');
+ expect(index['component-a--page'].type).toBe('story');
+ expect(index['component-a--story-2'].type).toBe('story');
+ expect(index['component-b--docs'].type).toBe('docs');
+ expect(index['component-c--story-4'].type).toBe('story');
});
describe('when DOCS_MODE = true', () => {
@@ -502,7 +520,7 @@ describe('stories API', () => {
const store = createMockStore();
const fullAPI = Object.assign(new EventEmitter());
- const { api } = initStories({
+ const { api } = initStoriesAndSetState({
store,
navigate,
provider,
@@ -513,9 +531,9 @@ describe('stories API', () => {
api.setIndex({ v: 4, entries: docsEntries });
- const { storiesHash: storedStoriesHash } = store.getState();
+ const { index } = store.getState();
- expect(Object.keys(storedStoriesHash)).toEqual(['component-b', 'component-b--docs']);
+ expect(Object.keys(index)).toEqual(['component-b', 'component-b--docs']);
});
});
});
@@ -527,7 +545,7 @@ describe('stories API', () => {
const navigate = jest.fn();
const store = createMockStore();
- const { init, api } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { init, api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api, {
setIndex: jest.fn(),
setOptions: jest.fn(),
@@ -544,7 +562,7 @@ describe('stories API', () => {
const navigate = jest.fn();
const store = createMockStore();
- const { init, api } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { init, api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api, {
setIndex: jest.fn(),
setOptions: jest.fn(),
@@ -570,14 +588,13 @@ describe('stories API', () => {
text: async () => new Error('sorting error'),
} as any as Response)
);
- const { api, init } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
await init();
- const { storiesConfigured, storiesFailed } = store.getState();
- expect(storiesConfigured).toBe(true);
- expect(storiesFailed?.message).toMatch(/sorting error/);
+ const { indexError } = store.getState();
+ expect(indexError).toBeDefined();
});
it('watches for the INVALIDATE event and refetches -- and resets the hash', async () => {
@@ -587,7 +604,7 @@ describe('stories API', () => {
setIndex: jest.fn(),
});
- const { api, init } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
(global.fetch as jest.Mock>).mockClear();
@@ -609,13 +626,12 @@ describe('stories API', () => {
// Let the promise/await chain resolve
await new Promise((r) => setTimeout(r, 0));
- const { storiesHash: storedStoriesHash } = store.getState();
+ const { index } = store.getState();
- expect(Object.keys(storedStoriesHash)).toEqual(['component-a', 'component-a--story-1']);
+ expect(Object.keys(index)).toEqual(['component-a', 'component-a--story-1']);
});
});
- // Can't currently run these tests as cannot set this on the events
describe('STORY_SPECIFIED event', () => {
it('navigates to the story', async () => {
const navigate = jest.fn();
@@ -625,7 +641,7 @@ describe('stories API', () => {
},
});
const store = createMockStore({});
- const { init, api } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { init, api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
init();
@@ -642,7 +658,7 @@ describe('stories API', () => {
},
});
const store = createMockStore({ viewMode: 'story', storyId: 'a--1' });
- initStories({ store, navigate, provider, fullAPI } as any);
+ initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
fullAPI.emit(STORY_SPECIFIED, { storyId: 'a--1', viewMode: 'story' });
@@ -657,7 +673,7 @@ describe('stories API', () => {
},
});
const store = createMockStore({ viewMode: 'settings', storyId: 'about' });
- initStories({ store, navigate, provider, fullAPI } as any);
+ initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
fullAPI.emit(STORY_SPECIFIED, { storyId: 'a--1', viewMode: 'story' });
@@ -665,6 +681,43 @@ describe('stories API', () => {
});
});
+ describe('CURRENT_STORY_WAS_SET event', () => {
+ it('sets previewInitialized', async () => {
+ const navigate = jest.fn();
+ const fullAPI = Object.assign(new EventEmitter());
+ const store = createMockStore({});
+ const { init, api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
+
+ Object.assign(fullAPI, api);
+ await init();
+ fullAPI.emit(CURRENT_STORY_WAS_SET, { id: 'a--1' });
+
+ expect(store.getState().previewInitialized).toBe(true);
+ });
+
+ it('sets a ref to previewInitialized', async () => {
+ const navigate = jest.fn();
+ const fullAPI = Object.assign(new EventEmitter(), { updateRef: jest.fn() });
+ const store = createMockStore();
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
+
+ Object.assign(fullAPI, api);
+
+ getEventMetadataMock.mockReturnValueOnce({
+ sourceType: 'external',
+ ref: { id: 'refId', index: { 'a--1': { args: { a: 'b' } } } },
+ } as any);
+ await init();
+ fullAPI.emit(CURRENT_STORY_WAS_SET, { id: 'a--1' });
+
+ expect(fullAPI.updateRef.mock.calls.length).toBe(1);
+
+ expect(fullAPI.updateRef.mock.calls[0][1]).toEqual({
+ previewInitialized: true,
+ });
+ });
+ });
+
describe('args handling', () => {
const parameters = {};
const preparedEntries: API_PreparedStoryIndex['entries'] = {
@@ -693,21 +746,21 @@ describe('stories API', () => {
const store = createMockStore();
const fullAPI = new EventEmitter();
- const { api, init } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
const { setIndex } = Object.assign(fullAPI, api);
setIndex({ v: 4, entries: preparedEntries });
- const { storiesHash: initialStoriesHash } = store.getState();
- expect((initialStoriesHash['a--1'] as API_StoryEntry).args).toEqual({ a: 'b' });
- expect((initialStoriesHash['b--1'] as API_StoryEntry).args).toEqual({ x: 'y' });
+ const { index } = store.getState();
+ expect((index['a--1'] as API_StoryEntry).args).toEqual({ a: 'b' });
+ expect((index['b--1'] as API_StoryEntry).args).toEqual({ x: 'y' });
init();
fullAPI.emit(STORY_ARGS_UPDATED, { storyId: 'a--1', args: { foo: 'bar' } });
- const { storiesHash: changedStoriesHash } = store.getState();
- expect((changedStoriesHash['a--1'] as API_StoryEntry).args).toEqual({ foo: 'bar' });
- expect((changedStoriesHash['b--1'] as API_StoryEntry).args).toEqual({ x: 'y' });
+ const { index: changedIndex } = store.getState();
+ expect((changedIndex['a--1'] as API_StoryEntry).args).toEqual({ foo: 'bar' });
+ expect((changedIndex['b--1'] as API_StoryEntry).args).toEqual({ x: 'y' });
});
it('changes reffed args properly, per story when receiving STORY_ARGS_UPDATED', () => {
@@ -715,7 +768,7 @@ describe('stories API', () => {
const store = createMockStore();
const fullAPI = new EventEmitter();
- const { init, api } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { init, api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api, {
updateRef: jest.fn(),
});
@@ -723,11 +776,11 @@ describe('stories API', () => {
init();
getEventMetadataMock.mockReturnValueOnce({
sourceType: 'external',
- ref: { id: 'refId', stories: { 'a--1': { args: { a: 'b' } } } },
+ ref: { id: 'refId', index: { 'a--1': { args: { a: 'b' } } } },
} as any);
fullAPI.emit(STORY_ARGS_UPDATED, { storyId: 'a--1', args: { foo: 'bar' } });
expect((fullAPI as any).updateRef).toHaveBeenCalledWith('refId', {
- stories: { 'a--1': { args: { foo: 'bar' } } },
+ index: { 'a--1': { args: { foo: 'bar' } } },
});
});
@@ -738,7 +791,7 @@ describe('stories API', () => {
const fullAPI = { emit, on };
const store = createMockStore();
- const { api, init } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
const { setIndex } = Object.assign(fullAPI, api);
setIndex({ v: 4, entries: preparedEntries });
@@ -753,9 +806,9 @@ describe('stories API', () => {
},
});
- const { storiesHash: changedStoriesHash } = store.getState();
- expect((changedStoriesHash['a--1'] as API_StoryEntry).args).toEqual({ a: 'b' });
- expect((changedStoriesHash['b--1'] as API_StoryEntry).args).toEqual({ x: 'y' });
+ const { index } = store.getState();
+ expect((index['a--1'] as API_StoryEntry).args).toEqual({ a: 'b' });
+ expect((index['b--1'] as API_StoryEntry).args).toEqual({ x: 'y' });
});
it('updateStoryArgs emits UPDATE_STORY_ARGS to the right frame', () => {
@@ -765,7 +818,7 @@ describe('stories API', () => {
const fullAPI = { emit, on };
const store = createMockStore();
- const { api, init } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
const { setIndex } = Object.assign(fullAPI, api);
setIndex({ v: 4, entries: preparedEntries });
@@ -789,7 +842,7 @@ describe('stories API', () => {
const fullAPI = { emit, on };
const store = createMockStore();
- const { api, init } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
const { setIndex } = Object.assign(fullAPI, api);
setIndex({ v: 4, entries: preparedEntries });
@@ -804,9 +857,9 @@ describe('stories API', () => {
},
});
- const { storiesHash: changedStoriesHash } = store.getState();
- expect((changedStoriesHash['a--1'] as API_StoryEntry).args).toEqual({ a: 'b' });
- expect((changedStoriesHash['b--1'] as API_StoryEntry).args).toEqual({ x: 'y' });
+ const { index } = store.getState();
+ expect((index['a--1'] as API_StoryEntry).args).toEqual({ a: 'b' });
+ expect((index['b--1'] as API_StoryEntry).args).toEqual({ x: 'y' });
});
it('resetStoryArgs emits RESET_STORY_ARGS to the right frame', () => {
@@ -816,7 +869,7 @@ describe('stories API', () => {
const fullAPI = { emit, on };
const store = createMockStore();
- const { api, init } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
const { setIndex } = Object.assign(fullAPI, api);
setIndex({ v: 4, entries: preparedEntries });
@@ -881,11 +934,17 @@ describe('stories API', () => {
describe('jumpToStory', () => {
it('works forward', () => {
const navigate = jest.fn();
- const store = createMockStore({ storyId: 'a--1', viewMode: 'story' });
+ const store = createMockStore();
const {
api: { setIndex, jumpToStory },
- } = initStories({ store, navigate, provider } as any);
+ } = initStoriesAndSetState({
+ store,
+ storyId: 'a--1',
+ viewMode: 'story',
+ navigate,
+ provider,
+ } as any);
setIndex({ v: 4, entries: navigationEntries });
jumpToStory(1);
@@ -894,11 +953,17 @@ describe('stories API', () => {
it('works backwards', () => {
const navigate = jest.fn();
- const store = createMockStore({ storyId: 'a--2', viewMode: 'story' });
+ const store = createMockStore();
const {
api: { setIndex, jumpToStory },
- } = initStories({ store, navigate, provider } as any);
+ } = initStoriesAndSetState({
+ store,
+ storyId: 'a--2',
+ viewMode: 'story',
+ navigate,
+ provider,
+ } as any);
setIndex({ v: 4, entries: navigationEntries });
jumpToStory(-1);
@@ -907,15 +972,14 @@ describe('stories API', () => {
it('does nothing if you are at the last story and go forward', () => {
const navigate = jest.fn();
- const store = createMockStore({
- storyId: 'custom-id--1',
- viewMode: 'story',
- });
+ const store = createMockStore();
const {
api: { setIndex, jumpToStory },
- } = initStories({
+ } = initStoriesAndSetState({
store,
+ storyId: 'custom-id--1',
+ viewMode: 'story',
navigate,
provider,
} as any);
@@ -927,11 +991,17 @@ describe('stories API', () => {
it('does nothing if you are at the first story and go backward', () => {
const navigate = jest.fn();
- const store = createMockStore({ storyId: 'a--1', viewMode: 'story' });
+ const store = createMockStore();
const {
api: { setIndex, jumpToStory },
- } = initStories({ store, navigate, provider } as any);
+ } = initStoriesAndSetState({
+ store,
+ storyId: 'a--1',
+ viewMode: 'story',
+ navigate,
+ provider,
+ } as any);
setIndex({ v: 4, entries: navigationEntries });
jumpToStory(-1);
@@ -944,7 +1014,7 @@ describe('stories API', () => {
const {
api: { setIndex, jumpToStory },
- } = initStories({ store, navigate, provider } as any);
+ } = initStoriesAndSetState({ store, navigate, provider } as any);
setIndex({ v: 4, entries: navigationEntries });
jumpToStory(1);
@@ -960,12 +1030,10 @@ describe('stories API', () => {
const storyId = 'a--1';
const {
api: { setIndex, findSiblingStoryId },
- state,
- } = initStories({ store, navigate, storyId, viewMode: 'story', provider } as any);
- store.setState(state);
+ } = initStoriesAndSetState({ store, navigate, storyId, viewMode: 'story', provider } as any);
setIndex({ v: 4, entries: navigationEntries });
- const result = findSiblingStoryId(storyId, store.getState().storiesHash, 1, false);
+ const result = findSiblingStoryId(storyId, store.getState().index, 1, false);
expect(result).toBe('a--2');
});
it('works forward toSiblingGroup', () => {
@@ -975,12 +1043,10 @@ describe('stories API', () => {
const storyId = 'a--1';
const {
api: { setIndex, findSiblingStoryId },
- state,
- } = initStories({ store, navigate, storyId, viewMode: 'story', provider } as any);
- store.setState(state);
+ } = initStoriesAndSetState({ store, navigate, storyId, viewMode: 'story', provider } as any);
setIndex({ v: 4, entries: navigationEntries });
- const result = findSiblingStoryId(storyId, store.getState().storiesHash, 1, true);
+ const result = findSiblingStoryId(storyId, store.getState().index, 1, true);
expect(result).toBe('b-c--1');
});
});
@@ -991,9 +1057,13 @@ describe('stories API', () => {
const {
api: { setIndex, jumpToComponent },
- state,
- } = initStories({ store, navigate, storyId: 'a--1', viewMode: 'story', provider } as any);
- store.setState(state);
+ } = initStoriesAndSetState({
+ store,
+ navigate,
+ storyId: 'a--1',
+ viewMode: 'story',
+ provider,
+ } as any);
setIndex({ v: 4, entries: navigationEntries });
jumpToComponent(1);
@@ -1006,9 +1076,13 @@ describe('stories API', () => {
const {
api: { setIndex, jumpToComponent },
- state,
- } = initStories({ store, navigate, storyId: 'b-c--1', viewMode: 'story', provider } as any);
- store.setState(state);
+ } = initStoriesAndSetState({
+ store,
+ navigate,
+ storyId: 'b-c--1',
+ viewMode: 'story',
+ provider,
+ } as any);
setIndex({ v: 4, entries: navigationEntries });
jumpToComponent(-1);
@@ -1021,15 +1095,13 @@ describe('stories API', () => {
const {
api: { setIndex, jumpToComponent },
- state,
- } = initStories({
+ } = initStoriesAndSetState({
store,
navigate,
storyId: 'custom-id--1',
viewMode: 'story',
provider,
} as any);
- store.setState(state);
setIndex({ v: 4, entries: navigationEntries });
jumpToComponent(1);
@@ -1042,9 +1114,13 @@ describe('stories API', () => {
const {
api: { setIndex, jumpToComponent },
- state,
- } = initStories({ store, navigate, storyId: 'a--2', viewMode: 'story', provider } as any);
- store.setState(state);
+ } = initStoriesAndSetState({
+ store,
+ navigate,
+ storyId: 'a--2',
+ viewMode: 'story',
+ provider,
+ } as any);
setIndex({ v: 4, entries: navigationEntries });
jumpToComponent(-1);
@@ -1058,7 +1134,7 @@ describe('stories API', () => {
const store = createMockStore({ storyId: 'a--1', viewMode: 'story' });
const {
api: { setIndex, selectStory },
- } = initStories({ store, navigate, provider } as any);
+ } = initStoriesAndSetState({ store, navigate, provider } as any);
setIndex({ v: 4, entries: navigationEntries });
selectStory('a--2');
@@ -1070,7 +1146,7 @@ describe('stories API', () => {
const store = createMockStore({ storyId: 'a--1', viewMode: 'docs' });
const {
api: { setIndex, selectStory },
- } = initStories({ store, navigate, provider } as any);
+ } = initStoriesAndSetState({ store, navigate, provider } as any);
setIndex({
v: 4,
entries: {
@@ -1093,10 +1169,16 @@ describe('stories API', () => {
describe('legacy api', () => {
it('allows navigating to a combination of title + name', () => {
const navigate = jest.fn();
- const store = createMockStore({ storyId: 'a--1', viewMode: 'story' });
+ const store = createMockStore();
const {
api: { setIndex, selectStory },
- } = initStories({ store, navigate, provider } as any);
+ } = initStoriesAndSetState({
+ store,
+ storyId: 'a--1',
+ viewMode: 'story',
+ navigate,
+ provider,
+ } as any);
setIndex({ v: 4, entries: navigationEntries });
selectStory('a', '2');
@@ -1105,10 +1187,16 @@ describe('stories API', () => {
it('allows navigating to a given name (in the current component)', () => {
const navigate = jest.fn();
- const store = createMockStore({ storyId: 'a--1', viewMode: 'story' });
+ const store = createMockStore();
const {
api: { setIndex, selectStory },
- } = initStories({ store, navigate, provider } as any);
+ } = initStoriesAndSetState({
+ store,
+ storyId: 'a--1',
+ viewMode: 'story',
+ navigate,
+ provider,
+ } as any);
setIndex({ v: 4, entries: navigationEntries });
selectStory(undefined, '2');
@@ -1121,7 +1209,7 @@ describe('stories API', () => {
const store = createMockStore({ storyId: 'a--1', viewMode: 'settings' });
const {
api: { setIndex, selectStory },
- } = initStories({ store, navigate, provider } as any);
+ } = initStoriesAndSetState({ store, navigate, provider } as any);
setIndex({ v: 4, entries: navigationEntries });
selectStory('a--2');
@@ -1130,10 +1218,16 @@ describe('stories API', () => {
it('allows navigating to first story in component on call by component id', () => {
const navigate = jest.fn();
- const store = createMockStore({ storyId: 'a--1', viewMode: 'story' });
+ const store = createMockStore();
const {
api: { setIndex, selectStory },
- } = initStories({ store, navigate, provider } as any);
+ } = initStoriesAndSetState({
+ store,
+ storyId: 'a--1',
+ viewMode: 'story',
+ navigate,
+ provider,
+ } as any);
setIndex({ v: 4, entries: navigationEntries });
selectStory('a');
@@ -1142,10 +1236,16 @@ describe('stories API', () => {
it('allows navigating to first story in group on call by group id', () => {
const navigate = jest.fn();
- const store = createMockStore({ storyId: 'a--1', viewMode: 'story' });
+ const store = createMockStore();
const {
api: { setIndex, selectStory },
- } = initStories({ store, navigate, provider } as any);
+ } = initStoriesAndSetState({
+ store,
+ storyId: 'a--1',
+ viewMode: 'story',
+ navigate,
+ provider,
+ } as any);
setIndex({ v: 4, entries: navigationEntries });
selectStory('b');
@@ -1154,10 +1254,16 @@ describe('stories API', () => {
it('allows navigating to first story in component on call by title', () => {
const navigate = jest.fn();
- const store = createMockStore({ storyId: 'a--1', viewMode: 'story' });
+ const store = createMockStore();
const {
api: { setIndex, selectStory },
- } = initStories({ store, navigate, provider } as any);
+ } = initStoriesAndSetState({
+ store,
+ storyId: 'a--1',
+ viewMode: 'story',
+ navigate,
+ provider,
+ } as any);
setIndex({ v: 4, entries: navigationEntries });
selectStory('A');
@@ -1166,10 +1272,16 @@ describe('stories API', () => {
it('allows navigating to the first story of the current component if passed nothing', () => {
const navigate = jest.fn();
- const store = createMockStore({ storyId: 'a--2', viewMode: 'story' });
+ const store = createMockStore();
const {
api: { setIndex, selectStory },
- } = initStories({ store, navigate, provider } as any);
+ } = initStoriesAndSetState({
+ store,
+ storyId: 'a--2',
+ viewMode: 'story',
+ navigate,
+ provider,
+ } as any);
setIndex({ v: 4, entries: navigationEntries });
selectStory();
@@ -1183,9 +1295,7 @@ describe('stories API', () => {
const {
api: { selectStory, setIndex },
- state,
- } = initStories({ store, navigate, provider } as any);
- store.setState(state);
+ } = initStoriesAndSetState({ store, navigate, provider } as any);
setIndex({ v: 4, entries: navigationEntries });
selectStory('b/e', '1');
@@ -1198,9 +1308,7 @@ describe('stories API', () => {
const {
api: { selectStory, setIndex },
- state,
- } = initStories({ store, navigate, provider } as any);
- store.setState(state);
+ } = initStoriesAndSetState({ store, navigate, provider } as any);
setIndex({ v: 4, entries: navigationEntries });
selectStory('custom-id', '1');
@@ -1213,9 +1321,7 @@ describe('stories API', () => {
const {
api: { selectStory, setIndex },
- state,
- } = initStories({ store, navigate, provider } as any);
- store.setState(state);
+ } = initStoriesAndSetState({ store, navigate, provider } as any);
setIndex({ v: 4, entries: navigationEntries });
selectStory('b/e');
@@ -1233,7 +1339,7 @@ describe('stories API', () => {
setOptions: jest.fn(),
});
- const { api, init } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
await init();
@@ -1243,8 +1349,8 @@ describe('stories API', () => {
args: { c: 'd' },
});
- const { storiesHash: storedStoriesHash } = store.getState();
- expect(storedStoriesHash['component-a--story-1']).toMatchObject({
+ const { index } = store.getState();
+ expect(index['component-a--story-1']).toMatchObject({
type: 'story',
id: 'component-a--story-1',
parent: 'component-a',
@@ -1264,7 +1370,7 @@ describe('stories API', () => {
setOptions: jest.fn(),
});
- const { api, init } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
await init();
@@ -1283,16 +1389,31 @@ describe('stories API', () => {
expect(fullAPI.setOptions).not.toHaveBeenCalled();
});
+ });
- it('sets the ref to ready when it is an external story', async () => {
+ describe('CONFIG_ERROR', () => {
+ it('sets previewInitialized to true, local', async () => {
const navigate = jest.fn();
const store = createMockStore();
- const fullAPI = Object.assign(new EventEmitter(), {
- setStories: jest.fn(),
- updateRef: jest.fn(),
- });
+ const fullAPI = Object.assign(new EventEmitter(), {});
+
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
+ Object.assign(fullAPI, api);
+
+ await init();
+
+ fullAPI.emit(CONFIG_ERROR, { message: 'Failed to run configure' });
+
+ const { previewInitialized } = store.getState();
+ expect(previewInitialized).toBe(true);
+ });
+
+ it('sets previewInitialized to true, ref', async () => {
+ const navigate = jest.fn();
+ const fullAPI = Object.assign(new EventEmitter(), { updateRef: jest.fn() });
+ const store = createMockStore();
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
- const { api, init } = initStories({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
getEventMetadataMock.mockReturnValueOnce({
@@ -1300,39 +1421,51 @@ describe('stories API', () => {
ref: { id: 'refId', stories: { 'a--1': { args: { a: 'b' } } } },
} as any);
await init();
+ fullAPI.emit(CONFIG_ERROR, { message: 'Failed to run configure' });
- fullAPI.emit(STORY_PREPARED, {
- id: 'a--1',
- });
-
- expect(fullAPI.updateRef.mock.calls.length).toBe(2);
-
+ expect(fullAPI.updateRef.mock.calls.length).toBe(1);
expect(fullAPI.updateRef.mock.calls[0][1]).toEqual({
- stories: { 'a--1': { args: { a: 'b' }, prepared: true } },
- });
-
- expect(fullAPI.updateRef.mock.calls[1][1]).toEqual({
- ready: true,
+ previewInitialized: true,
});
});
});
- describe('CONFIG_ERROR', () => {
- it('shows error to user', async () => {
+ describe('STORY_MISSING', () => {
+ it('sets previewInitialized to true, local', async () => {
const navigate = jest.fn();
const store = createMockStore();
const fullAPI = Object.assign(new EventEmitter(), {});
- const { api, init } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
await init();
- fullAPI.emit(CONFIG_ERROR, { message: 'Failed to run configure' });
+ fullAPI.emit(STORY_MISSING, { message: 'Failed to run configure' });
- const { storiesConfigured, storiesFailed } = store.getState();
- expect(storiesConfigured).toBe(true);
- expect(storiesFailed?.message).toMatch(/Failed to run configure/);
+ const { previewInitialized } = store.getState();
+ expect(previewInitialized).toBe(true);
+ });
+
+ it('sets previewInitialized to true, ref', async () => {
+ const navigate = jest.fn();
+ const fullAPI = Object.assign(new EventEmitter(), { updateRef: jest.fn() });
+ const store = createMockStore();
+ const { api, init } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
+
+ Object.assign(fullAPI, api);
+
+ getEventMetadataMock.mockReturnValueOnce({
+ sourceType: 'external',
+ ref: { id: 'refId', stories: { 'a--1': { args: { a: 'b' } } } },
+ } as any);
+ await init();
+ fullAPI.emit(STORY_MISSING, { message: 'Failed to run configure' });
+
+ expect(fullAPI.updateRef.mock.calls.length).toBe(1);
+ expect(fullAPI.updateRef.mock.calls[0][1]).toEqual({
+ previewInitialized: true,
+ });
});
});
@@ -1342,7 +1475,7 @@ describe('stories API', () => {
const navigate = jest.fn();
const store = createMockStore();
- const { init, api } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { init, api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api, {
setIndex: jest.fn(),
findRef: jest.fn(),
@@ -1381,7 +1514,7 @@ describe('stories API', () => {
const navigate = jest.fn();
const store = createMockStore();
- const { init, api } = initStories({ store, navigate, provider, fullAPI } as any);
+ const { init, api } = initStoriesAndSetState({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api, {
setIndex: jest.fn(),
findRef: jest.fn(),
diff --git a/code/lib/manager-api/src/version.ts b/code/lib/manager-api/src/version.ts
index 4de83cca759..d7241016657 100644
--- a/code/lib/manager-api/src/version.ts
+++ b/code/lib/manager-api/src/version.ts
@@ -1 +1 @@
-export const version = '7.0.0-beta.29';
+export const version = '7.0.0-beta.30';
diff --git a/code/lib/node-logger/package.json b/code/lib/node-logger/package.json
index 90491672102..213648f0063 100644
--- a/code/lib/node-logger/package.json
+++ b/code/lib/node-logger/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/node-logger",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "",
"keywords": [
"storybook"
@@ -60,5 +60,5 @@
"./src/index.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/postinstall/package.json b/code/lib/postinstall/package.json
index f2b3cf20a59..071febad1c6 100644
--- a/code/lib/postinstall/package.json
+++ b/code/lib/postinstall/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/postinstall",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook addons postinstall utilities",
"keywords": [
"api",
@@ -57,5 +57,5 @@
"./src/index.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/preview-api/package.json b/code/lib/preview-api/package.json
index f5a77dc31ad..02097763ff6 100644
--- a/code/lib/preview-api/package.json
+++ b/code/lib/preview-api/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/preview-api",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "",
"keywords": [
"storybook"
@@ -67,13 +67,13 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/channel-postmessage": "7.0.0-beta.29",
- "@storybook/channels": "7.0.0-beta.29",
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/channel-postmessage": "7.0.0-beta.30",
+ "@storybook/channels": "7.0.0-beta.30",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/csf": "next",
"@storybook/global": "^5.0.0",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/types": "7.0.0-beta.30",
"@types/qs": "^6.9.5",
"dequal": "^2.0.2",
"lodash": "^4.17.21",
@@ -86,7 +86,7 @@
},
"devDependencies": {
"@jest/globals": "^26.6.2",
- "@storybook/core-common": "7.0.0-beta.29",
+ "@storybook/core-common": "7.0.0-beta.30",
"ansi-to-html": "^0.6.11",
"react": "^16.14.0"
},
@@ -103,5 +103,5 @@
"./src/store.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/preview-api/src/modules/preview-web/Preview.tsx b/code/lib/preview-api/src/modules/preview-web/Preview.tsx
index 18aba716d04..0f301ef7364 100644
--- a/code/lib/preview-api/src/modules/preview-web/Preview.tsx
+++ b/code/lib/preview-api/src/modules/preview-web/Preview.tsx
@@ -310,7 +310,7 @@ export class Preview {
await Promise.all(this.storyRenders.filter((r) => r.id === storyId).map((r) => r.remount()));
}
- // Used by docs' modernInlineRender to render a story to a given element
+ // Used by docs to render a story to a given element
// Note this short-circuits the `prepare()` phase of the StoryRender,
// main to be consistent with the previous behaviour. In the future,
// we will change it to go ahead and load the story, which will end up being
diff --git a/code/lib/preview-api/src/modules/preview-web/PreviewWithSelection.tsx b/code/lib/preview-api/src/modules/preview-web/PreviewWithSelection.tsx
index 9492003f38f..c6c86108763 100644
--- a/code/lib/preview-api/src/modules/preview-web/PreviewWithSelection.tsx
+++ b/code/lib/preview-api/src/modules/preview-web/PreviewWithSelection.tsx
@@ -277,7 +277,7 @@ export class PreviewWithSelection extends Preview {
showNoPreview(): void;
- showPreparingStory(options: { immediate: boolean }): void;
+ showPreparingStory(options?: { immediate: boolean }): void;
- showPreparingDocs(): void;
+ showPreparingDocs(options?: { immediate: boolean }): void;
showMain(): void;
diff --git a/code/lib/preview-api/src/modules/preview-web/WebView.ts b/code/lib/preview-api/src/modules/preview-web/WebView.ts
index 05483fe4ac8..fa6a823bb0b 100644
--- a/code/lib/preview-api/src/modules/preview-web/WebView.ts
+++ b/code/lib/preview-api/src/modules/preview-web/WebView.ts
@@ -165,9 +165,13 @@ export class WebView implements View {
}
}
- showPreparingDocs() {
+ showPreparingDocs({ immediate = false } = {}) {
clearTimeout(this.preparingTimeout);
- this.preparingTimeout = setTimeout(() => this.showMode(Mode.PREPARING_DOCS), PREPARING_DELAY);
+ if (immediate) {
+ this.showMode(Mode.PREPARING_DOCS);
+ } else {
+ this.preparingTimeout = setTimeout(() => this.showMode(Mode.PREPARING_DOCS), PREPARING_DELAY);
+ }
}
showMain() {
diff --git a/code/lib/preview-api/src/modules/preview-web/docs-context/DocsContext.test.ts b/code/lib/preview-api/src/modules/preview-web/docs-context/DocsContext.test.ts
index ab794a312b1..452ee4d7509 100644
--- a/code/lib/preview-api/src/modules/preview-web/docs-context/DocsContext.test.ts
+++ b/code/lib/preview-api/src/modules/preview-web/docs-context/DocsContext.test.ts
@@ -1,5 +1,5 @@
import { Channel } from '@storybook/channels';
-import type { Renderer } from '@storybook/types';
+import type { CSFFile, Renderer } from '@storybook/types';
import type { StoryStore } from '../../store';
import { DocsContext } from './DocsContext';
@@ -8,6 +8,30 @@ import { csfFileParts } from './test-utils';
const channel = new Channel();
const renderStoryToElement = jest.fn();
+describe('referenceCSFFile', () => {
+ it('deals with unattached "docsOnly" csf files', () => {
+ const unattachedCsfFile = {
+ stories: {
+ 'meta--page': {
+ id: 'meta--page',
+ name: 'Page',
+ parameters: { docsOnly: true },
+ moduleExport: {},
+ },
+ },
+ meta: { id: 'meta', title: 'Meta' },
+ moduleExports: {},
+ } as CSFFile;
+
+ const store = {
+ componentStoriesFromCSFFile: () => [],
+ } as unknown as StoryStore;
+ const context = new DocsContext(channel, store, renderStoryToElement, [unattachedCsfFile]);
+
+ expect(() => context.storyById()).toThrow(/No primary story/);
+ });
+});
+
describe('resolveModuleExport', () => {
const { story, csfFile, storyExport, metaExport, moduleExports, component } = csfFileParts();
diff --git a/code/lib/preview-api/src/modules/preview-web/docs-context/DocsContext.ts b/code/lib/preview-api/src/modules/preview-web/docs-context/DocsContext.ts
index 8bed2c73b04..de3f6b9a69e 100644
--- a/code/lib/preview-api/src/modules/preview-web/docs-context/DocsContext.ts
+++ b/code/lib/preview-api/src/modules/preview-web/docs-context/DocsContext.ts
@@ -58,11 +58,9 @@ export class DocsContext implements DocsContextProps
const stories = this.store.componentStoriesFromCSFFile({ csfFile });
- Object.values(csfFile.stories).forEach((annotation) => {
+ stories.forEach((story) => {
+ const annotation = csfFile.stories[story.id];
this.storyIdToCSFFile.set(annotation.id, csfFile);
- const story = stories.find((s) => s.id === annotation.id);
- if (!story)
- throw new Error(`Unexpected missing story ${annotation.id} from referenced CSF file.`);
this.exportToStory.set(annotation.moduleExport, story);
});
}
diff --git a/code/lib/preview-api/src/modules/preview-web/docs-context/test-utils.ts b/code/lib/preview-api/src/modules/preview-web/docs-context/test-utils.ts
index 6227fcdaffe..4be2710c8f1 100644
--- a/code/lib/preview-api/src/modules/preview-web/docs-context/test-utils.ts
+++ b/code/lib/preview-api/src/modules/preview-web/docs-context/test-utils.ts
@@ -15,7 +15,7 @@ export function csfFileParts() {
const story = { id: 'meta--story', moduleExport: storyExport } as PreparedStory;
const meta = { id: 'meta', title: 'Meta', component, moduleExports } as CSFFile['meta'];
const csfFile = {
- stories: { story: storyAnnotations },
+ stories: { 'meta--story': storyAnnotations },
meta,
moduleExports,
} as CSFFile;
diff --git a/code/lib/preview-web/package.json b/code/lib/preview-web/package.json
index 31f736085a7..42ddd8be12a 100644
--- a/code/lib/preview-web/package.json
+++ b/code/lib/preview-web/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/preview-web",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "",
"keywords": [
"storybook"
@@ -42,8 +42,8 @@
"prep": "../../../scripts/prepare/facade.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29"
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30"
},
"publishConfig": {
"access": "public"
@@ -54,5 +54,5 @@
],
"shim": "@storybook/preview-api/dist/preview-web"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/preview/package.json b/code/lib/preview/package.json
index 7e043234a73..9d130598b9a 100644
--- a/code/lib/preview/package.json
+++ b/code/lib/preview/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/preview",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "",
"keywords": [
"storybook"
@@ -57,12 +57,12 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"devDependencies": {
- "@storybook/channel-postmessage": "7.0.0-beta.29",
- "@storybook/channel-websocket": "7.0.0-beta.29",
- "@storybook/channels": "7.0.0-beta.29",
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
+ "@storybook/channel-postmessage": "7.0.0-beta.30",
+ "@storybook/channel-websocket": "7.0.0-beta.30",
+ "@storybook/channels": "7.0.0-beta.30",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
"typescript": "~4.9.3"
},
"publishConfig": {
@@ -74,5 +74,5 @@
"./src/globals.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/router/package.json b/code/lib/router/package.json
index c70d3a46508..cccace0ca91 100644
--- a/code/lib/router/package.json
+++ b/code/lib/router/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/router",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Core Storybook Router",
"keywords": [
"storybook"
@@ -48,7 +48,7 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
"memoizerific": "^1.11.3",
"qs": "^6.10.0"
},
@@ -74,5 +74,5 @@
"./src/utils.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/source-loader/package.json b/code/lib/source-loader/package.json
index ed58841fa03..dd6b18394a7 100644
--- a/code/lib/source-loader/package.json
+++ b/code/lib/source-loader/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/source-loader",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Source loader",
"keywords": [
"lib",
@@ -45,7 +45,7 @@
},
"dependencies": {
"@storybook/csf": "next",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/types": "7.0.0-beta.30",
"estraverse": "^5.2.0",
"lodash": "^4.17.21",
"prettier": "^2.8.0"
@@ -67,5 +67,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/store/package.json b/code/lib/store/package.json
index ed9a6852969..da80009d822 100644
--- a/code/lib/store/package.json
+++ b/code/lib/store/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/store",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "",
"keywords": [
"storybook"
@@ -42,8 +42,8 @@
"prep": "../../../scripts/prepare/facade.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29"
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30"
},
"publishConfig": {
"access": "public"
@@ -55,5 +55,5 @@
"platform": "node",
"shim": "@storybook/preview-api/dist/store"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/store/template/stories/hooks.stories.ts b/code/lib/store/template/stories/hooks.stories.ts
index 5c2d5c6d169..15a4fe90a2e 100644
--- a/code/lib/store/template/stories/hooks.stories.ts
+++ b/code/lib/store/template/stories/hooks.stories.ts
@@ -24,9 +24,6 @@ export const UseState = {
],
play: async ({ canvasElement }: PlayFunctionContext) => {
const button = await within(canvasElement).findByText('Clicked 0 times');
- // FIXME: onClick does not properly register in vue2
- // https://github.com/storybookjs/storybook/issues/19318
- if (globalThis.storybookRenderer === 'vue') return;
await userEvent.click(button);
await within(canvasElement).findByText('Clicked 1 times');
diff --git a/code/lib/telemetry/package.json b/code/lib/telemetry/package.json
index 3557f0dc9bc..b90400833e8 100644
--- a/code/lib/telemetry/package.json
+++ b/code/lib/telemetry/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/telemetry",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Telemetry logging for crash reports and usage statistics",
"keywords": [
"storybook"
@@ -43,8 +43,8 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/core-common": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/core-common": "7.0.0-beta.30",
"chalk": "^4.1.0",
"detect-package-manager": "^2.0.1",
"fetch-retry": "^5.0.2",
@@ -65,5 +65,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/theming/package.json b/code/lib/theming/package.json
index 92b970a4494..852626c6491 100644
--- a/code/lib/theming/package.json
+++ b/code/lib/theming/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/theming",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Core Storybook Components",
"keywords": [
"storybook"
@@ -49,7 +49,7 @@
},
"dependencies": {
"@emotion/use-insertion-effect-with-fallbacks": "^1.0.0",
- "@storybook/client-logger": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
"memoizerific": "^1.11.3"
},
@@ -80,5 +80,5 @@
],
"post": "./scripts/fix-theme-type-export.ts"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/types/package.json b/code/lib/types/package.json
index bcec8bfde91..7841dbc410d 100644
--- a/code/lib/types/package.json
+++ b/code/lib/types/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/types",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Core Storybook Types",
"keywords": [
"storybook"
@@ -44,7 +44,7 @@
},
"dependencies": {
"@babel/core": "^7.12.10",
- "@storybook/channels": "7.0.0-beta.29",
+ "@storybook/channels": "7.0.0-beta.30",
"@types/babel__core": "^7.0.0",
"@types/express": "^4.7.0",
"express": "^4.17.3",
@@ -63,5 +63,5 @@
"./src/index.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/lib/types/src/modules/api-stories.ts b/code/lib/types/src/modules/api-stories.ts
index b571e9faa00..26999b6f22a 100644
--- a/code/lib/types/src/modules/api-stories.ts
+++ b/code/lib/types/src/modules/api-stories.ts
@@ -115,12 +115,12 @@ export type API_Group = API_GroupEntry | API_ComponentEntry;
export type API_Story = API_LeafEntry;
/**
- * The `StoriesHash` is our manager-side representation of the `StoryIndex`.
+ * The `IndexHash` is our manager-side representation of the `StoryIndex`.
* We create entries in the hash not only for each story or docs entry, but
* also for each "group" of the component (split on '/'), as that's how things
* are manipulated in the manager (i.e. in the sidebar)
*/
-export interface API_StoriesHash {
+export interface API_IndexHash {
[id: string]: API_HashEntry;
}
// We used to received a bit more data over the channel on the SET_STORIES event, including
diff --git a/code/lib/types/src/modules/api.ts b/code/lib/types/src/modules/api.ts
index 11a0d74793f..d9d2c54ec5d 100644
--- a/code/lib/types/src/modules/api.ts
+++ b/code/lib/types/src/modules/api.ts
@@ -5,7 +5,7 @@ import type { Channel } from '../../../channels/src';
import type { ThemeVars } from '../../../theming/src/types';
import type { ViewMode } from './csf';
import type { DocsOptions } from './core-common';
-import type { API_HashEntry, API_StoriesHash } from './api-stories';
+import type { API_HashEntry, API_IndexHash } from './api-stories';
import type { SetStoriesStory, SetStoriesStoryData } from './channelApi';
import type { Addon_Types } from './addons';
import type { StoryIndex } from './storyIndex';
@@ -142,18 +142,22 @@ export type API_SetRefData = Partial<
>;
export type API_StoryMapper = (ref: API_ComposedRef, story: SetStoriesStory) => SetStoriesStory;
-export interface API_ComposedRef {
+
+export interface API_LoadedRefData {
+ index?: API_IndexHash;
+ indexError?: Error;
+ previewInitialized: boolean;
+}
+
+export interface API_ComposedRef extends API_LoadedRefData {
id: string;
title?: string;
url: string;
type?: 'auto-inject' | 'unknown' | 'lazy' | 'server-checked';
expanded?: boolean;
- stories: API_StoriesHash;
versions?: API_Versions;
loginUrl?: string;
version?: string;
- ready?: boolean;
- error?: any;
}
export type API_ComposedRefUpdate = Partial<
@@ -162,12 +166,12 @@ export type API_ComposedRefUpdate = Partial<
| 'title'
| 'type'
| 'expanded'
- | 'stories'
+ | 'index'
| 'versions'
| 'loginUrl'
| 'version'
- | 'ready'
- | 'error'
+ | 'indexError'
+ | 'previewInitialized'
>
>;
diff --git a/code/package.json b/code/package.json
index fc19b5e7403..5476b721123 100644
--- a/code/package.json
+++ b/code/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/root",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"private": true,
"homepage": "https://storybook.js.org/",
"repository": {
diff --git a/code/presets/html-webpack/package.json b/code/presets/html-webpack/package.json
index ae76b38038c..02ad22a2ab2 100644
--- a/code/presets/html-webpack/package.json
+++ b/code/presets/html-webpack/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/preset-html-webpack",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for HTML: View HTML snippets in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -48,7 +48,7 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/core-webpack": "7.0.0-beta.29",
+ "@storybook/core-webpack": "7.0.0-beta.30",
"@types/node": "^16.0.0",
"html-loader": "^3.1.0",
"webpack": "5"
@@ -71,5 +71,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/presets/preact-webpack/package.json b/code/presets/preact-webpack/package.json
index 7cc35aaf75f..f0bcb9e5dc8 100644
--- a/code/presets/preact-webpack/package.json
+++ b/code/presets/preact-webpack/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/preset-preact-webpack",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Preact: Develop Preact Component in isolation.",
"keywords": [
"storybook"
@@ -49,7 +49,7 @@
},
"dependencies": {
"@babel/plugin-transform-react-jsx": "^7.19.0",
- "@storybook/core-webpack": "7.0.0-beta.29",
+ "@storybook/core-webpack": "7.0.0-beta.30",
"@types/node": "^16.0.0"
},
"devDependencies": {
@@ -72,5 +72,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/presets/react-webpack/package.json b/code/presets/react-webpack/package.json
index ff323934be4..bfc632b5bd9 100644
--- a/code/presets/react-webpack/package.json
+++ b/code/presets/react-webpack/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/preset-react-webpack",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for React: Develop React Component in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -71,10 +71,10 @@
"@babel/preset-flow": "^7.18.6",
"@babel/preset-react": "^7.18.6",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
- "@storybook/core-webpack": "7.0.0-beta.29",
- "@storybook/docs-tools": "7.0.0-beta.29",
- "@storybook/node-logger": "7.0.0-beta.29",
- "@storybook/react": "7.0.0-beta.29",
+ "@storybook/core-webpack": "7.0.0-beta.30",
+ "@storybook/docs-tools": "7.0.0-beta.30",
+ "@storybook/node-logger": "7.0.0-beta.30",
+ "@storybook/react": "7.0.0-beta.30",
"@storybook/react-docgen-typescript-plugin": "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0",
"@types/node": "^16.0.0",
"@types/semver": "^7.3.4",
@@ -117,5 +117,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/presets/server-webpack/package.json b/code/presets/server-webpack/package.json
index 2914f8e4db6..86cd622b970 100644
--- a/code/presets/server-webpack/package.json
+++ b/code/presets/server-webpack/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/preset-server-webpack",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Server: View HTML snippets from a server in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -53,10 +53,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/core-server": "7.0.0-beta.29",
- "@storybook/core-webpack": "7.0.0-beta.29",
+ "@storybook/core-server": "7.0.0-beta.30",
+ "@storybook/core-webpack": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/server": "7.0.0-beta.29",
+ "@storybook/server": "7.0.0-beta.30",
"@types/node": "^16.0.0",
"safe-identifier": "^0.4.1",
"ts-dedent": "^2.0.0",
@@ -81,5 +81,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/presets/svelte-webpack/package.json b/code/presets/svelte-webpack/package.json
index 85cb325b258..9e7d67f98ae 100644
--- a/code/presets/svelte-webpack/package.json
+++ b/code/presets/svelte-webpack/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/preset-svelte-webpack",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Svelte: Develop Svelte Component in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -63,8 +63,8 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/core-webpack": "7.0.0-beta.29",
- "@storybook/node-logger": "7.0.0-beta.29",
+ "@storybook/core-webpack": "7.0.0-beta.30",
+ "@storybook/node-logger": "7.0.0-beta.30",
"sveltedoc-parser": "^4.2.1",
"ts-dedent": "^2.0.0"
},
@@ -93,5 +93,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/presets/vue-webpack/package.json b/code/presets/vue-webpack/package.json
index 1e3725e8d41..c8192c25691 100644
--- a/code/presets/vue-webpack/package.json
+++ b/code/presets/vue-webpack/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/preset-vue-webpack",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Vue: Develop Vue Component in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -58,8 +58,8 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/core-webpack": "7.0.0-beta.29",
- "@storybook/docs-tools": "7.0.0-beta.29",
+ "@storybook/core-webpack": "7.0.0-beta.30",
+ "@storybook/docs-tools": "7.0.0-beta.30",
"@types/node": "^16.0.0",
"ts-loader": "^9.2.8",
"vue-docgen-api": "^4.44.23",
@@ -95,5 +95,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/presets/vue3-webpack/package.json b/code/presets/vue3-webpack/package.json
index 3a457291e19..c4186fc55e2 100644
--- a/code/presets/vue3-webpack/package.json
+++ b/code/presets/vue3-webpack/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/preset-vue3-webpack",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for Vue 3: Develop Vue 3 Components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@@ -58,8 +58,8 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/core-webpack": "7.0.0-beta.29",
- "@storybook/docs-tools": "7.0.0-beta.29",
+ "@storybook/core-webpack": "7.0.0-beta.30",
+ "@storybook/docs-tools": "7.0.0-beta.30",
"@types/node": "^16.0.0",
"ts-loader": "^9.2.8",
"vue-docgen-api": "^4.46.0",
@@ -92,5 +92,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/presets/web-components-webpack/package.json b/code/presets/web-components-webpack/package.json
index b2f01d09fc3..573d5052228 100644
--- a/code/presets/web-components-webpack/package.json
+++ b/code/presets/web-components-webpack/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/preset-web-components-webpack",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook for web-components: View web components snippets in isolation with Hot Reloading.",
"keywords": [
"lit-html",
@@ -53,7 +53,7 @@
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-syntax-import-meta": "^7.10.4",
"@babel/preset-env": "^7.20.2",
- "@storybook/core-webpack": "7.0.0-beta.29",
+ "@storybook/core-webpack": "7.0.0-beta.30",
"@types/node": "^16.0.0",
"babel-loader": "^7.0.0 || ^8.0.0 || ^9.0.0",
"babel-plugin-bundled-import-meta": "^0.3.1"
@@ -77,5 +77,5 @@
],
"platform": "node"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/renderers/html/package.json b/code/renderers/html/package.json
index fb8dab6fe3f..8bf3d184ba7 100644
--- a/code/renderers/html/package.json
+++ b/code/renderers/html/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/html",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook HTML renderer",
"keywords": [
"storybook"
@@ -48,11 +48,11 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/core-client": "7.0.0-beta.29",
- "@storybook/docs-tools": "7.0.0-beta.29",
+ "@storybook/core-client": "7.0.0-beta.30",
+ "@storybook/docs-tools": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"ts-dedent": "^2.0.0"
},
"devDependencies": {
@@ -74,5 +74,5 @@
],
"platform": "browser"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/renderers/preact/package.json b/code/renderers/preact/package.json
index 31826640806..a1cb8a48fdc 100644
--- a/code/renderers/preact/package.json
+++ b/code/renderers/preact/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/preact",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook Preact renderer",
"keywords": [
"storybook"
@@ -48,10 +48,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/core-client": "7.0.0-beta.29",
+ "@storybook/core-client": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"ts-dedent": "^2.0.0"
},
"devDependencies": {
@@ -74,5 +74,5 @@
],
"platform": "browser"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/renderers/react/package.json b/code/renderers/react/package.json
index 80f0f03795d..9e8bef31184 100644
--- a/code/renderers/react/package.json
+++ b/code/renderers/react/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/react",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook React renderer",
"keywords": [
"storybook"
@@ -48,12 +48,12 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/core-client": "7.0.0-beta.29",
- "@storybook/docs-tools": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/core-client": "7.0.0-beta.30",
+ "@storybook/docs-tools": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"@types/escodegen": "^0.0.6",
"@types/estree": "^0.0.51",
"@types/node": "^16.0.0",
@@ -99,5 +99,5 @@
],
"platform": "browser"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/renderers/server/package.json b/code/renderers/server/package.json
index d8758e728f2..b6539b37523 100644
--- a/code/renderers/server/package.json
+++ b/code/renderers/server/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/server",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook Server renderer",
"keywords": [
"storybook"
@@ -48,10 +48,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/core-client": "7.0.0-beta.29",
+ "@storybook/core-client": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"ts-dedent": "^2.0.0"
},
"devDependencies": {
@@ -70,5 +70,5 @@
],
"platform": "browser"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/renderers/svelte/package.json b/code/renderers/svelte/package.json
index cc4d88fecae..0675b2f7bad 100644
--- a/code/renderers/svelte/package.json
+++ b/code/renderers/svelte/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/svelte",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook Svelte renderer",
"keywords": [
"storybook"
@@ -52,12 +52,12 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/core-client": "7.0.0-beta.29",
- "@storybook/docs-tools": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/core-client": "7.0.0-beta.30",
+ "@storybook/docs-tools": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"sveltedoc-parser": "^4.2.1",
"type-fest": "2.19.0"
},
@@ -83,5 +83,5 @@
],
"platform": "browser"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/renderers/vue/package.json b/code/renderers/vue/package.json
index 8e79debe50a..ddbf0816bd3 100644
--- a/code/renderers/vue/package.json
+++ b/code/renderers/vue/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/vue",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook Vue renderer",
"keywords": [
"storybook"
@@ -48,12 +48,12 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/core-client": "7.0.0-beta.29",
- "@storybook/docs-tools": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/core-client": "7.0.0-beta.30",
+ "@storybook/docs-tools": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"ts-dedent": "^2.0.0",
"type-fest": "2.19.0"
},
@@ -86,5 +86,5 @@
],
"platform": "browser"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/renderers/vue/src/render.ts b/code/renderers/vue/src/render.ts
index 2b14efeafdb..1a69b5a88e1 100644
--- a/code/renderers/vue/src/render.ts
+++ b/code/renderers/vue/src/render.ts
@@ -75,10 +75,27 @@ export const render: ArgsStoryFn = (args, context) => {
componentName = component.__docgenInfo?.displayName;
}
+ let eventsBinding = '';
+ const eventProps = Object.values(argTypes)
+ .filter((argType) => argType?.table?.category === 'events')
+ .map((argType) => argType.name);
+
+ if (eventProps.length) {
+ eventsBinding = eventProps.map((name) => `@${name}="$props.${name}"`).join(' ');
+ eventsBinding = `${eventsBinding} `;
+ }
+
return {
props: Object.keys(argTypes),
components: { [componentName]: component },
- template: `<${componentName} v-bind="$props" />`,
+ template: `<${componentName} ${eventsBinding}v-bind="filterOutEventProps($props)" />`,
+ methods: {
+ filterOutEventProps(props: object) {
+ return Object.fromEntries(
+ Object.entries(props).filter(([key]) => !eventProps.includes(key))
+ );
+ },
+ },
};
};
diff --git a/code/renderers/vue3/package.json b/code/renderers/vue3/package.json
index 170e504e9b0..869df7ffc24 100644
--- a/code/renderers/vue3/package.json
+++ b/code/renderers/vue3/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/vue3",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook Vue 3 renderer",
"keywords": [
"storybook"
@@ -48,11 +48,11 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/core-client": "7.0.0-beta.29",
- "@storybook/docs-tools": "7.0.0-beta.29",
+ "@storybook/core-client": "7.0.0-beta.30",
+ "@storybook/docs-tools": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"ts-dedent": "^2.0.0",
"type-fest": "2.19.0"
},
@@ -80,5 +80,5 @@
],
"platform": "browser"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/renderers/web-components/package.json b/code/renderers/web-components/package.json
index 14c52fdd12c..dda4b5648f8 100644
--- a/code/renderers/web-components/package.json
+++ b/code/renderers/web-components/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/web-components",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook web-components renderer",
"keywords": [
"lit-html",
@@ -50,13 +50,13 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/core-client": "7.0.0-beta.29",
- "@storybook/docs-tools": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/core-client": "7.0.0-beta.30",
+ "@storybook/docs-tools": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"ts-dedent": "^2.0.0"
},
"devDependencies": {
@@ -84,5 +84,5 @@
],
"platform": "browser"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/ui/.storybook/main.ts b/code/ui/.storybook/main.ts
index 52bb8b72192..6709b1bf460 100644
--- a/code/ui/.storybook/main.ts
+++ b/code/ui/.storybook/main.ts
@@ -1,4 +1,6 @@
+import path from 'path';
import pluginTurbosnap from 'vite-plugin-turbosnap';
+import { mergeConfig } from 'vite';
import type { StorybookConfig } from '../../frameworks/react-vite';
const isBlocksOnly = process.env.STORYBOOK_BLOCKS_ONLY === 'true';
@@ -60,19 +62,25 @@ const config: StorybookConfig = {
features: {
interactionsDebugger: true,
},
- viteFinal: (viteConfig, { configType }) => ({
- ...viteConfig,
- plugins: [
- ...(viteConfig.plugins || []),
- configType === 'PRODUCTION' ? pluginTurbosnap({ rootDir: viteConfig.root || '' }) : [],
- ],
- optimizeDeps: { ...viteConfig.optimizeDeps, force: true },
- build: {
- ...viteConfig.build,
- // disable sourcemaps in CI to not run out of memory
- sourcemap: process.env.CI !== 'true',
- },
- }),
+ viteFinal: (viteConfig, { configType }) =>
+ mergeConfig(viteConfig, {
+ resolve: {
+ alias: {
+ ...(configType === 'DEVELOPMENT'
+ ? { '@storybook/components': path.resolve(__dirname, '../components/src') }
+ : {}),
+ },
+ },
+ plugins: [
+ configType === 'PRODUCTION' ? pluginTurbosnap({ rootDir: viteConfig.root || '' }) : [],
+ ],
+ optimizeDeps: { force: true },
+ build: {
+ // disable sourcemaps in CI to not run out of memory
+ sourcemap: process.env.CI !== 'true',
+ },
+ }),
+ logLevel: 'debug',
};
export default config;
diff --git a/code/ui/blocks/package.json b/code/ui/blocks/package.json
index 3177f2d4f60..a953713f090 100644
--- a/code/ui/blocks/package.json
+++ b/code/ui/blocks/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/blocks",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Storybook Doc Blocks",
"keywords": [
"storybook"
@@ -43,17 +43,17 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/channels": "7.0.0-beta.29",
- "@storybook/client-logger": "7.0.0-beta.29",
- "@storybook/components": "7.0.0-beta.29",
- "@storybook/core-events": "7.0.0-beta.29",
+ "@storybook/channels": "7.0.0-beta.30",
+ "@storybook/client-logger": "7.0.0-beta.30",
+ "@storybook/components": "7.0.0-beta.30",
+ "@storybook/core-events": "7.0.0-beta.30",
"@storybook/csf": "next",
- "@storybook/docs-tools": "7.0.0-beta.29",
+ "@storybook/docs-tools": "7.0.0-beta.30",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.0.0-beta.29",
- "@storybook/preview-api": "7.0.0-beta.29",
- "@storybook/theming": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/manager-api": "7.0.0-beta.30",
+ "@storybook/preview-api": "7.0.0-beta.30",
+ "@storybook/theming": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"@types/lodash": "^4.14.167",
"color-convert": "^2.0.1",
"dequal": "^2.0.2",
@@ -66,7 +66,7 @@
"util-deprecate": "^1.0.2"
},
"devDependencies": {
- "@storybook/addon-actions": "7.0.0-beta.29",
+ "@storybook/addon-actions": "7.0.0-beta.30",
"@types/color-convert": "^2.0.0"
},
"peerDependencies": {
@@ -81,5 +81,5 @@
"./src/index.ts"
]
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/ui/blocks/src/components/ArgsTable/ArgJsDoc.tsx b/code/ui/blocks/src/components/ArgsTable/ArgJsDoc.tsx
index 2533f06842a..d8bf2da0f91 100644
--- a/code/ui/blocks/src/components/ArgsTable/ArgJsDoc.tsx
+++ b/code/ui/blocks/src/components/ArgsTable/ArgJsDoc.tsx
@@ -55,6 +55,12 @@ export const Table = styled.table(({ theme }) => ({
code: codeCommon({ theme }),
+ div: {
+ span: {
+ fontWeight: 'bold',
+ },
+ },
+
'& code': {
margin: 0,
display: 'inline-block',
@@ -66,6 +72,7 @@ export const Table = styled.table(({ theme }) => ({
export const ArgJsDoc: FC = ({ tags }) => {
const params = (tags.params || []).filter((x) => x.description);
const hasDisplayableParams = params.length !== 0;
+ const hasDisplayableDeprecated = tags.deprecated != null;
const hasDisplayableReturns = tags.returns != null && tags.returns.description != null;
if (!hasDisplayableParams && !hasDisplayableReturns) {
@@ -81,6 +88,11 @@ export const ArgJsDoc: FC = ({ tags }) => {
{x.name}
+ {hasDisplayableDeprecated && (
+
+ Deprecated {tags.deprecated}
+
+ )}
{x.description}
diff --git a/code/ui/blocks/src/components/ArgsTable/types.ts b/code/ui/blocks/src/components/ArgsTable/types.ts
index 3cb7b1db684..a8f3dd1d453 100644
--- a/code/ui/blocks/src/components/ArgsTable/types.ts
+++ b/code/ui/blocks/src/components/ArgsTable/types.ts
@@ -6,12 +6,17 @@ export interface JsDocParam {
description?: string;
}
+export interface JsDocParamDeprecated {
+ deprecated?: string;
+}
+
export interface JsDocReturns {
description?: string;
}
export interface JsDocTags {
params?: JsDocParam[];
+ deprecated?: JsDocParamDeprecated;
returns?: JsDocReturns;
}
diff --git a/code/ui/components/package.json b/code/ui/components/package.json
index 385021e0b53..95273063b12 100644
--- a/code/ui/components/package.json
+++ b/code/ui/components/package.json
@@ -1,6 +1,6 @@
{
"name": "@storybook/components",
- "version": "7.0.0-beta.29",
+ "version": "7.0.0-beta.30",
"description": "Core Storybook Components",
"keywords": [
"storybook"
@@ -48,11 +48,11 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
- "@storybook/client-logger": "7.0.0-beta.29",
+ "@storybook/client-logger": "7.0.0-beta.30",
"@storybook/csf": "next",
"@storybook/global": "^5.0.0",
- "@storybook/theming": "7.0.0-beta.29",
- "@storybook/types": "7.0.0-beta.29",
+ "@storybook/theming": "7.0.0-beta.30",
+ "@storybook/types": "7.0.0-beta.30",
"memoizerific": "^1.11.3",
"util-deprecate": "^1.0.2"
},
@@ -84,5 +84,5 @@
],
"platform": "neutral"
},
- "gitHead": "c6b2e1a65b1a0f65c52819929344602708212a59"
+ "gitHead": "633f95bec79fb65524a7bcae867448b351920831"
}
diff --git a/code/ui/components/src/Colors/colorpalette.stories.mdx b/code/ui/components/src/Colors/colorpalette.mdx
similarity index 100%
rename from code/ui/components/src/Colors/colorpalette.stories.mdx
rename to code/ui/components/src/Colors/colorpalette.mdx
diff --git a/code/ui/components/src/icon/icons.tsx b/code/ui/components/src/icon/icons.tsx
index fb708da9091..ed235f5cd67 100644
--- a/code/ui/components/src/icon/icons.tsx
+++ b/code/ui/components/src/icon/icons.tsx
@@ -1106,6 +1106,40 @@ export const icons = {
>
),
+ sidebyside: (
+ <>
+
+ >
+ ),
+ stacked: (
+ <>
+
+ >
+ ),
+ sun: (
+ <>
+
+
+
+ >
+ ),
+ moon: (
+ <>
+
+ >
+ ),
book: (
<>
(
- {}}
- docsOptions={{ docsMode: false }}
- >
-
-
-);
+function setPreviewInitialized({ api }: { api: API }) {
+ api.setPreviewInitialized();
+ return {};
+}
+
+export const Default = () => {
+ const provider = new FakeProvider();
+ return (
+ {}}
+ docsOptions={{ docsMode: false }}
+ >
+ {() => <>>}
+
+
+ );
+};
export const LoadingState = () => (
({
diff --git a/code/ui/manager/src/components/preview/FramesRenderer.tsx b/code/ui/manager/src/components/preview/FramesRenderer.tsx
index bf2ff9b916d..be4d83c6e37 100644
--- a/code/ui/manager/src/components/preview/FramesRenderer.tsx
+++ b/code/ui/manager/src/components/preview/FramesRenderer.tsx
@@ -80,7 +80,7 @@ export const FramesRenderer: FC = ({
useEffect(() => {
const newFrames = Object.values(refs)
.filter((r) => {
- if (r.error) {
+ if (r.indexError) {
return false;
}
if (r.type === 'auto-inject') {
diff --git a/code/ui/manager/src/components/preview/preview.tsx b/code/ui/manager/src/components/preview/preview.tsx
index e9d5a21ddf6..9d01ed28eaf 100644
--- a/code/ui/manager/src/components/preview/preview.tsx
+++ b/code/ui/manager/src/components/preview/preview.tsx
@@ -37,8 +37,7 @@ const canvasMapper = ({ state, api }: Combo) => ({
queryParams: state.customQueryParams,
getElements: api.getElements,
entry: api.getData(state.storyId, state.refId),
- storiesConfigured: state.storiesConfigured,
- storiesFailed: state.storiesFailed,
+ previewInitialized: state.previewInitialized,
refs: state.refs,
active: !!(state.viewMode && state.viewMode.match(/^(story|docs)$/)),
});
@@ -60,8 +59,7 @@ const createCanvas = (id: string, baseUrl = 'iframe.html', withLoader = true): A
viewMode,
queryParams,
getElements,
- storiesConfigured,
- storiesFailed,
+ previewInitialized,
active,
}) => {
const wrappers = useMemo(
@@ -70,7 +68,6 @@ const createCanvas = (id: string, baseUrl = 'iframe.html', withLoader = true): A
);
const [progress, setProgress] = useState(undefined);
-
useEffect(() => {
if (FEATURES?.storyStoreV7 && global.CONFIG_TYPE === 'DEVELOPMENT') {
try {
@@ -84,12 +81,12 @@ const createCanvas = (id: string, baseUrl = 'iframe.html', withLoader = true): A
}
}
}, []);
-
- const refLoading = !!refs[refId] && !refs[refId].ready;
- const rootLoading = !refId && !(progress?.value === 1 || progress === undefined);
- const isLoading = entry
- ? refLoading || rootLoading
- : (!storiesFailed && !storiesConfigured) || rootLoading;
+ // A ref simply depends on its readiness
+ const refLoading = !!refs[refId] && !refs[refId].previewInitialized;
+ // The root also might need to wait on webpack
+ const isBuilding = !(progress?.value === 1 || progress === undefined);
+ const rootLoading = !refId && (!previewInitialized || isBuilding);
+ const isLoading = entry ? refLoading || rootLoading : rootLoading;
return (
diff --git a/code/ui/manager/src/components/sidebar/Explorer.stories.tsx b/code/ui/manager/src/components/sidebar/Explorer.stories.tsx
index f8ac8206882..6e33e63b4ad 100644
--- a/code/ui/manager/src/components/sidebar/Explorer.stories.tsx
+++ b/code/ui/manager/src/components/sidebar/Explorer.stories.tsx
@@ -25,9 +25,9 @@ const simple: Record = {
title: undefined,
id: 'storybook_internal',
url: 'iframe.html',
- ready: true,
+ previewInitialized: true,
// @ts-expect-error (invalid input)
- stories: mockDataset.withRoot,
+ index: mockDataset.withRoot,
},
};
@@ -37,37 +37,37 @@ const withRefs: Record = {
id: 'basic',
title: 'Basic ref',
url: 'https://example.com',
- ready: true,
+ previewInitialized: true,
type: 'auto-inject',
// @ts-expect-error (invalid input)
- stories: mockDataset.noRoot,
+ index: mockDataset.noRoot,
},
injected: {
id: 'injected',
title: 'Not ready',
url: 'https://example.com',
- ready: false,
+ previewInitialized: false,
type: 'auto-inject',
// @ts-expect-error (invalid input)
- stories: mockDataset.noRoot,
+ index: mockDataset.noRoot,
},
unknown: {
id: 'unknown',
title: 'Unknown ref',
url: 'https://example.com',
- ready: true,
+ previewInitialized: true,
type: 'unknown',
// @ts-expect-error (invalid input)
- stories: mockDataset.noRoot,
+ index: mockDataset.noRoot,
},
lazy: {
id: 'lazy',
title: 'Lazy loaded ref',
url: 'https://example.com',
- ready: false,
+ previewInitialized: false,
type: 'lazy',
// @ts-expect-error (invalid input)
- stories: mockDataset.withRoot,
+ index: mockDataset.withRoot,
},
};
diff --git a/code/ui/manager/src/components/sidebar/RefIndicator.tsx b/code/ui/manager/src/components/sidebar/RefIndicator.tsx
index fad585fabd4..0d116a63f5c 100644
--- a/code/ui/manager/src/components/sidebar/RefIndicator.tsx
+++ b/code/ui/manager/src/components/sidebar/RefIndicator.tsx
@@ -168,7 +168,7 @@ export const RefIndicator = React.memo(
forwardRef }>(
({ state, ...ref }, forwardedRef) => {
const api = useStorybookApi();
- const list = useMemo(() => Object.values(ref.stories || {}), [ref.stories]);
+ const list = useMemo(() => Object.values(ref.index || {}), [ref.index]);
const componentCount = useMemo(
() => list.filter((v) => v.type === 'component').length,
[list]
diff --git a/code/ui/manager/src/components/sidebar/Refs.stories.tsx b/code/ui/manager/src/components/sidebar/Refs.stories.tsx
index d5081258630..f765f62daff 100644
--- a/code/ui/manager/src/components/sidebar/Refs.stories.tsx
+++ b/code/ui/manager/src/components/sidebar/Refs.stories.tsx
@@ -22,13 +22,13 @@ export default {
};
const { menu } = standardHeaderData;
-const stories = mockDataset.withRoot;
+const index = mockDataset.withRoot;
const storyId = '1-12-121';
-export const simpleData = { menu, stories, storyId };
-export const loadingData = { menu, stories: {} };
+export const simpleData = { menu, index, storyId };
+export const loadingData = { menu, index: {} };
-const error: Error = (() => {
+const indexError: Error = (() => {
try {
throw new Error('There was a severe problem');
} catch (e) {
@@ -41,45 +41,45 @@ const refs: Record = {
id: 'optimized',
title: 'It is optimized',
url: 'https://example.com',
- ready: false,
+ previewInitialized: false,
type: 'lazy',
// @ts-expect-error (invalid input)
- stories,
+ index,
},
empty: {
id: 'empty',
title: 'It is empty because no stories were loaded',
url: 'https://example.com',
- ready: false,
type: 'lazy',
- stories: {},
+ index: {},
+ previewInitialized: false,
},
startInjected_unknown: {
id: 'startInjected_unknown',
title: 'It started injected and is unknown',
url: 'https://example.com',
type: 'unknown',
- ready: false,
+ previewInitialized: false,
// @ts-expect-error (invalid input)
- stories,
+ index,
},
startInjected_loading: {
id: 'startInjected_loading',
title: 'It started injected and is loading',
url: 'https://example.com',
type: 'auto-inject',
- ready: false,
+ previewInitialized: false,
// @ts-expect-error (invalid input)
- stories,
+ index,
},
startInjected_ready: {
id: 'startInjected_ready',
title: 'It started injected and is ready',
url: 'https://example.com',
type: 'auto-inject',
- ready: true,
+ previewInitialized: true,
// @ts-expect-error (invalid input)
- stories,
+ index,
},
versions: {
id: 'versions',
@@ -87,8 +87,9 @@ const refs: Record = {
url: 'https://example.com',
type: 'lazy',
// @ts-expect-error (invalid input)
- stories,
+ index,
versions: { '1.0.0': 'https://example.com/v1', '2.0.0': 'https://example.com' },
+ previewInitialized: true,
},
versionsMissingCurrent: {
id: 'versions_missing_current',
@@ -96,36 +97,38 @@ const refs: Record = {
url: 'https://example.com',
type: 'lazy',
// @ts-expect-error (invalid input)
- stories,
+ index,
versions: { '1.0.0': 'https://example.com/v1', '2.0.0': 'https://example.com/v2' },
+ previewInitialized: true,
},
error: {
id: 'error',
title: 'This has problems',
url: 'https://example.com',
type: 'lazy',
- stories: {},
- error,
+ indexError,
+ previewInitialized: true,
},
auth: {
id: 'Authentication',
title: 'This requires a login',
url: 'https://example.com',
type: 'lazy',
- stories: {},
loginUrl: 'https://example.com',
+ previewInitialized: true,
},
long: {
id: 'long',
title: 'This storybook has a very very long name for some reason',
url: 'https://example.com',
// @ts-expect-error (invalid input)
- stories,
+ index,
type: 'lazy',
versions: {
'111.111.888-new': 'https://example.com/new',
'111.111.888': 'https://example.com',
},
+ previewInitialized: true,
},
};
diff --git a/code/ui/manager/src/components/sidebar/Refs.tsx b/code/ui/manager/src/components/sidebar/Refs.tsx
index 793244517fb..29599dd393a 100644
--- a/code/ui/manager/src/components/sidebar/Refs.tsx
+++ b/code/ui/manager/src/components/sidebar/Refs.tsx
@@ -99,7 +99,7 @@ export const Ref: FC = React.memo(function Ref(props) {
const { docsOptions } = useStorybookState();
const api = useStorybookApi();
const {
- stories,
+ index,
id: refId,
title = refId,
isLoading: isLoadingMain,
@@ -110,16 +110,16 @@ export const Ref: FC = React.memo(function Ref(props) {
loginUrl,
type,
expanded = true,
- ready,
- error,
+ indexError,
+ previewInitialized,
} = props;
- const length = useMemo(() => (stories ? Object.keys(stories).length : 0), [stories]);
+ const length = useMemo(() => (index ? Object.keys(index).length : 0), [index]);
const indicatorRef = useRef(null);
const isMain = refId === DEFAULT_REF_ID;
- const isLoadingInjected = type === 'auto-inject' && !ready;
+ const isLoadingInjected = type === 'auto-inject' && !previewInitialized;
const isLoading = isLoadingMain || isLoadingInjected || type === 'unknown';
- const isError = !!error;
+ const isError = !!indexError;
const isEmpty = !isLoading && length === 0;
const isAuthRequired = !!loginUrl && length === 0;
@@ -153,7 +153,7 @@ export const Ref: FC = React.memo(function Ref(props) {
{isExpanded && (
{state === 'auth' && }
- {state === 'error' && }
+ {state === 'error' && }
{state === 'loading' && }
{state === 'empty' && }
{state === 'ready' && (
@@ -161,7 +161,7 @@ export const Ref: FC = React.memo(function Ref(props) {
isBrowsing={isBrowsing}
isMain={isMain}
refId={refId}
- data={stories}
+ data={index}
docsMode={docsOptions.docsMode}
selectedStoryId={selectedStoryId}
onSelectStoryId={onSelectStoryId}
diff --git a/code/ui/manager/src/components/sidebar/Search.stories.tsx b/code/ui/manager/src/components/sidebar/Search.stories.tsx
index f4cfda731a2..00f8ba61d3c 100644
--- a/code/ui/manager/src/components/sidebar/Search.stories.tsx
+++ b/code/ui/manager/src/components/sidebar/Search.stories.tsx
@@ -1,7 +1,7 @@
import React from 'react';
import { action } from '@storybook/addon-actions';
-import { stories } from './mockdata.large';
+import { index } from './mockdata.large';
import { Search } from './Search';
import { SearchResults } from './SearchResults';
import { noResults } from './SearchResults.stories';
@@ -9,11 +9,11 @@ import { DEFAULT_REF_ID } from './Sidebar';
import type { Selection } from './types';
const refId = DEFAULT_REF_ID;
-const data = { [refId]: { id: refId, url: '/', stories } };
+const data = { [refId]: { id: refId, url: '/', index, previewInitialized: true } };
const dataset = { hash: data, entries: Object.entries(data) };
const getLastViewed = () =>
- Object.values(stories)
- .filter((item, index) => item.type === 'component' && item.parent && index % 20 === 0)
+ Object.values(index)
+ .filter((item, i) => item.type === 'component' && item.parent && i % 20 === 0)
.map((component) => ({ storyId: component.id, refId }));
export default {
diff --git a/code/ui/manager/src/components/sidebar/Search.tsx b/code/ui/manager/src/components/sidebar/Search.tsx
index c8fe29fa3d2..b485bd53039 100644
--- a/code/ui/manager/src/components/sidebar/Search.tsx
+++ b/code/ui/manager/src/components/sidebar/Search.tsx
@@ -176,9 +176,9 @@ export const Search = React.memo<{
);
const list: SearchItem[] = useMemo(() => {
- return dataset.entries.reduce((acc: SearchItem[], [refId, { stories }]) => {
- if (stories) {
- acc.push(...Object.values(stories).map((item) => searchItem(item, dataset.hash[refId])));
+ return dataset.entries.reduce((acc: SearchItem[], [refId, { index }]) => {
+ if (index) {
+ acc.push(...Object.values(index).map((item) => searchItem(item, dataset.hash[refId])));
}
return acc;
}, []);
@@ -314,9 +314,9 @@ export const Search = React.memo<{
if (lastViewed && lastViewed.length) {
results = lastViewed.reduce((acc, { storyId, refId }) => {
const data = dataset.hash[refId];
- if (data && data.stories && data.stories[storyId]) {
- const story = data.stories[storyId];
- const item = story.type === 'story' ? data.stories[story.parent] : story;
+ if (data && data.index && data.index[storyId]) {
+ const story = data.index[storyId];
+ const item = story.type === 'story' ? data.index[story.parent] : story;
// prevent duplicates
if (!acc.some((res) => res.item.refId === refId && res.item.id === item.id)) {
acc.push({ item: searchItem(item, dataset.hash[refId]), matches: [], score: 0 });
diff --git a/code/ui/manager/src/components/sidebar/SearchResults.stories.tsx b/code/ui/manager/src/components/sidebar/SearchResults.stories.tsx
index e0194299220..d2c72e0c721 100644
--- a/code/ui/manager/src/components/sidebar/SearchResults.stories.tsx
+++ b/code/ui/manager/src/components/sidebar/SearchResults.stories.tsx
@@ -18,10 +18,10 @@ export default {
const combinedDataset = (refs: Record): CombinedDataset => {
const hash: Refs = Object.entries(refs).reduce(
- (acc, [refId, stories]) =>
+ (acc, [refId, index]) =>
Object.assign(acc, {
[refId]: {
- stories,
+ index,
title: null,
id: refId,
url: 'iframe.html',
@@ -37,10 +37,10 @@ const combinedDataset = (refs: Record): CombinedDataset =>
// @ts-expect-error (invalid input)
const dataset = combinedDataset({ internal: mockDataset.withRoot, composed: mockDataset.noRoot });
-const internal = Object.values(dataset.hash.internal.stories).map((item) =>
+const internal = Object.values(dataset.hash.internal.index).map((item) =>
searchItem(item, dataset.hash.internal)
);
-const composed = Object.values(dataset.hash.composed.stories).map((item) =>
+const composed = Object.values(dataset.hash.composed.index).map((item) =>
searchItem(item, dataset.hash.composed)
);
const stories: SearchItem[] = internal.concat(composed);
diff --git a/code/ui/manager/src/components/sidebar/Sidebar.stories.tsx b/code/ui/manager/src/components/sidebar/Sidebar.stories.tsx
index 2a1e76de0d7..936789d0cde 100644
--- a/code/ui/manager/src/components/sidebar/Sidebar.stories.tsx
+++ b/code/ui/manager/src/components/sidebar/Sidebar.stories.tsx
@@ -1,5 +1,6 @@
import React from 'react';
+import type { IndexHash } from 'lib/manager-api/src';
import { Sidebar, DEFAULT_REF_ID } from './Sidebar';
import { standardData as standardHeaderData } from './Heading.stories';
import * as ExplorerStories from './Explorer.stories';
@@ -18,30 +19,39 @@ export default {
};
const { menu } = standardHeaderData;
-const stories = mockDataset.withRoot;
+const index = mockDataset.withRoot as IndexHash;
const refId = DEFAULT_REF_ID;
const storyId = 'root-1-child-a2--grandchild-a1-1';
-export const simpleData = { menu, stories, storyId };
-export const loadingData = { menu, stories: {} };
+export const simpleData = { menu, index, storyId };
+export const loadingData = { menu };
const refs: Record = {
optimized: {
id: 'optimized',
title: 'This is a ref',
url: 'https://example.com',
- ready: false,
type: 'lazy',
- // @ts-expect-error (needs to be converted to CSF3)
- stories,
+ index,
+ previewInitialized: true,
+ },
+};
+
+const indexError = new Error('Failed to load index');
+
+const refsError = {
+ optimized: {
+ ...refs.optimized,
+ index: undefined as IndexHash,
+ indexError,
},
};
export const Simple = () => (
(
);
export const Loading = () => (
+
+);
+
+export const Empty = () => (
+
+);
+
+export const IndexError = () => (
);
-export const Empty = () => (
-
-);
-
export const WithRefs = () => (
(
);
export const LoadingWithRefs = () => (
+
+);
+
+export const LoadingWithRefError = () => (
);
diff --git a/code/ui/manager/src/components/sidebar/Sidebar.tsx b/code/ui/manager/src/components/sidebar/Sidebar.tsx
index b3ba9d26e51..e6d8ba1ca28 100644
--- a/code/ui/manager/src/components/sidebar/Sidebar.tsx
+++ b/code/ui/manager/src/components/sidebar/Sidebar.tsx
@@ -2,8 +2,9 @@ import React, { useMemo } from 'react';
import { styled } from '@storybook/theming';
import { ScrollArea, Spaced } from '@storybook/components';
-import type { StoriesHash, State } from '@storybook/manager-api';
+import type { State } from '@storybook/manager-api';
+import type { API_LoadedRefData } from 'lib/types/src';
import { Heading } from './Heading';
// eslint-disable-next-line import/no-cycle
@@ -58,33 +59,23 @@ const Swap = React.memo(function Swap({
);
});
-const useCombination = (
- stories: StoriesHash,
- ready: boolean,
- error: Error | undefined,
- refs: Refs
-): CombinedDataset => {
+const useCombination = (defaultRefData: API_LoadedRefData, refs: Refs): CombinedDataset => {
const hash = useMemo(
() => ({
[DEFAULT_REF_ID]: {
- stories,
+ ...defaultRefData,
title: null,
id: DEFAULT_REF_ID,
url: 'iframe.html',
- ready,
- error,
},
...refs,
}),
- [refs, stories]
+ [refs, defaultRefData]
);
return useMemo(() => ({ hash, entries: Object.entries(hash) }), [hash]);
};
-export interface SidebarProps {
- stories: StoriesHash;
- storiesConfigured: boolean;
- storiesFailed?: Error;
+export interface SidebarProps extends API_LoadedRefData {
refs: State['refs'];
menu: any[];
storyId?: string;
@@ -96,9 +87,9 @@ export interface SidebarProps {
export const Sidebar = React.memo(function Sidebar({
storyId = null,
refId = DEFAULT_REF_ID,
- stories,
- storiesConfigured,
- storiesFailed,
+ index,
+ indexError,
+ previewInitialized,
menu,
menuHighlighted = false,
enableShortcuts = true,
@@ -106,8 +97,8 @@ export const Sidebar = React.memo(function Sidebar({
}: SidebarProps) {
const selected: Selection = useMemo(() => storyId && { storyId, refId }, [storyId, refId]);
- const dataset = useCombination(stories, storiesConfigured, storiesFailed, refs);
- const isLoading = !dataset.hash[DEFAULT_REF_ID].ready;
+ const dataset = useCombination({ index, indexError, previewInitialized }, refs);
+ const isLoading = !index && !indexError;
const lastViewedProps = useLastViewed(selected);
return (
diff --git a/code/ui/manager/src/components/sidebar/Tree.stories.tsx b/code/ui/manager/src/components/sidebar/Tree.stories.tsx
index 29923a404a4..807b861cccf 100644
--- a/code/ui/manager/src/components/sidebar/Tree.stories.tsx
+++ b/code/ui/manager/src/components/sidebar/Tree.stories.tsx
@@ -1,11 +1,11 @@
/* eslint-disable storybook/use-storybook-testing-library */
// @TODO: use addon-interactions and remove the rule disable above
import React from 'react';
-import type { ComponentEntry, StoriesHash } from '@storybook/manager-api';
+import type { ComponentEntry, IndexHash } from '@storybook/manager-api';
import { screen } from '@testing-library/dom';
import { Tree } from './Tree';
-import { stories } from './mockdata.large';
+import { index } from './mockdata.large';
import { DEFAULT_REF_ID } from './Sidebar';
export default {
@@ -17,7 +17,7 @@ export default {
};
const refId = DEFAULT_REF_ID;
-const storyId = Object.values(stories).find((story) => story.type === 'story').id;
+const storyId = Object.values(index).find((story) => story.type === 'story').id;
const log = (id: string) => console.log(id);
@@ -29,7 +29,7 @@ export const Full = () => {
isBrowsing
isMain
refId={refId}
- data={stories}
+ data={index}
highlightedRef={{ current: { itemId: selectedId, refId } }}
setHighlightedItemId={log}
selectedStoryId={selectedId}
@@ -38,10 +38,10 @@ export const Full = () => {
);
};
-const tooltipStories = Object.keys(stories).reduce((acc, key) => {
+const tooltipStories = Object.keys(index).reduce((acc, key) => {
if (key === 'tooltip-tooltipselect--default') {
acc['tooltip-tooltipselect--tooltipselect'] = {
- ...stories[key],
+ ...index[key],
id: 'tooltip-tooltipselect--tooltipselect',
name: 'TooltipSelect',
};
@@ -49,16 +49,16 @@ const tooltipStories = Object.keys(stories).reduce((acc, key) => {
}
if (key === 'tooltip-tooltipselect') {
acc[key] = {
- ...(stories[key] as ComponentEntry),
+ ...(index[key] as ComponentEntry),
children: ['tooltip-tooltipselect--tooltipselect'],
};
return acc;
}
- if (key.startsWith('tooltip')) acc[key] = stories[key];
+ if (key.startsWith('tooltip')) acc[key] = index[key];
return acc;
-}, {} as StoriesHash);
+}, {} as IndexHash);
-const singleStoryComponent: StoriesHash = {
+const singleStoryComponent: IndexHash = {
// @ts-expect-error (invalid input)
single: {
type: 'component',
@@ -102,7 +102,7 @@ export const SingleStoryComponents = () => {
);
};
-const docsOnlySinglesStoryComponent: StoriesHash = {
+const docsOnlySinglesStoryComponent: IndexHash = {
// @ts-expect-error (invalid input)
single: {
type: 'component',
@@ -147,7 +147,7 @@ export const SkipToCanvasLinkFocused = {
isBrowsing: true,
isMain: true,
refId,
- data: stories,
+ data: index,
highlightedRef: { current: { itemId: 'tooltip-tooltipbuildlist--default', refId } },
setHighlightedItemId: log,
selectedStoryId: 'tooltip-tooltipbuildlist--default',
diff --git a/code/ui/manager/src/components/sidebar/__tests__/Sidebar.test.tsx b/code/ui/manager/src/components/sidebar/__tests__/Sidebar.test.tsx
index 3744b5890b6..2e409618e8e 100644
--- a/code/ui/manager/src/components/sidebar/__tests__/Sidebar.test.tsx
+++ b/code/ui/manager/src/components/sidebar/__tests__/Sidebar.test.tsx
@@ -2,9 +2,10 @@ import React from 'react';
import { render, screen, fireEvent } from '@testing-library/react';
import { ThemeProvider, ensure, themes } from '@storybook/theming';
-import type { HashEntry, StoriesHash, Refs } from '@storybook/manager-api';
+import type { HashEntry, Refs } from '@storybook/manager-api';
import type { Theme } from '@storybook/theming';
import type { RenderResult } from '@testing-library/react';
+import type { API_IndexHash } from '@storybook/types';
import { Sidebar } from '../Sidebar';
import type { SidebarProps } from '../Sidebar';
@@ -15,12 +16,12 @@ const factory = (props: Partial): RenderResult => {
return render(
-
+
);
};
-const generateStories = ({ title, refId }: { title: string; refId?: string }): StoriesHash => {
+const generateStories = ({ title, refId }: { title: string; refId?: string }): API_IndexHash => {
const [root, componentName]: [string, string] = title.split('/') as any;
const rootId: string = root.toLowerCase().replace(/\s+/g, '-');
const hypenatedComponentName: string = componentName.toLowerCase().replace(/\s+/g, '-');
@@ -61,7 +62,7 @@ const generateStories = ({ title, refId }: { title: string; refId?: string }): S
},
];
- return storyBase.reduce((accumulator: StoriesHash, current: HashEntry): StoriesHash => {
+ return storyBase.reduce((accumulator: API_IndexHash, current: HashEntry): API_IndexHash => {
accumulator[current.id] = current;
return accumulator;
}, {});
@@ -71,14 +72,14 @@ describe('Sidebar', () => {
test.skip("should not render an extra nested 'Page'", async () => {
const refId = 'next';
const title = 'Getting Started/Install';
- const refStories: StoriesHash = generateStories({ refId, title });
- const internalStories: StoriesHash = generateStories({ title: 'Welcome/Example' });
+ const refIndex: API_IndexHash = generateStories({ refId, title });
+ const internalIndex: API_IndexHash = generateStories({ title: 'Welcome/Example' });
const refs: Refs = {
[refId]: {
- stories: refStories,
+ index: refIndex,
id: refId,
- ready: true,
+ previewInitialized: true,
title: refId,
url: 'https://ref.url',
},
@@ -87,7 +88,7 @@ describe('Sidebar', () => {
factory({
refs,
refId,
- stories: internalStories,
+ index: internalIndex,
});
fireEvent.click(screen.getByText('Install'));
diff --git a/code/ui/manager/src/components/sidebar/mockdata.large.ts b/code/ui/manager/src/components/sidebar/mockdata.large.ts
index 34d83fb5ea5..b4c2a0b9939 100644
--- a/code/ui/manager/src/components/sidebar/mockdata.large.ts
+++ b/code/ui/manager/src/components/sidebar/mockdata.large.ts
@@ -14,7 +14,7 @@
import type { Dataset } from './types';
// @ts-expect-error (TODO)
-export const stories = {
+export const index = {
images: {
name: 'Images',
id: 'images',
diff --git a/code/ui/manager/src/components/sidebar/utils.ts b/code/ui/manager/src/components/sidebar/utils.ts
index 5406989df10..e751ef5e9bd 100644
--- a/code/ui/manager/src/components/sidebar/utils.ts
+++ b/code/ui/manager/src/components/sidebar/utils.ts
@@ -1,7 +1,7 @@
import memoize from 'memoizerific';
import { global } from '@storybook/global';
import type { SyntheticEvent } from 'react';
-import type { HashEntry, StoriesHash } from '@storybook/manager-api';
+import type { HashEntry, IndexHash } from '@storybook/manager-api';
// eslint-disable-next-line import/no-cycle
import { DEFAULT_REF_ID } from './Sidebar';
@@ -30,11 +30,11 @@ export const getParents = memoize(1000)((id: string, dataset: Dataset): Item[] =
const parent = getParent(id, dataset);
return parent ? [parent, ...getParents(parent.id, dataset)] : [];
});
-export const getAncestorIds = memoize(1000)((data: StoriesHash, id: string): string[] =>
+export const getAncestorIds = memoize(1000)((data: IndexHash, id: string): string[] =>
getParents(id, data).map((item) => item.id)
);
export const getDescendantIds = memoize(1000)(
- (data: StoriesHash, id: string, skipLeafs: boolean): string[] => {
+ (data: IndexHash, id: string, skipLeafs: boolean): string[] => {
const entry = data[id];
const children = entry.type === 'story' || entry.type === 'docs' ? [] : entry.children;
return children.reduce((acc, childId) => {
@@ -47,7 +47,7 @@ export const getDescendantIds = memoize(1000)(
);
export function getPath(item: Item, ref: RefType): string[] {
- const parent = item.type !== 'root' && item.parent ? ref.stories[item.parent] : null;
+ const parent = item.type !== 'root' && item.parent ? ref.index[item.parent] : null;
if (parent) return [...getPath(parent, ref), parent.name];
return ref.id === DEFAULT_REF_ID ? [] : [ref.title || ref.id];
}
diff --git a/code/ui/manager/src/containers/sidebar.tsx b/code/ui/manager/src/containers/sidebar.tsx
index 4d5b29352be..78a05c817ff 100755
--- a/code/ui/manager/src/containers/sidebar.tsx
+++ b/code/ui/manager/src/containers/sidebar.tsx
@@ -16,9 +16,9 @@ const Sidebar = React.memo(function Sideber() {
storyId,
refId,
layout: { showToolbar, isFullscreen, showPanel, showNav },
- storiesHash,
- storiesConfigured,
- storiesFailed,
+ index,
+ indexError,
+ previewInitialized,
refs,
} = state;
@@ -27,9 +27,9 @@ const Sidebar = React.memo(function Sideber() {
return {
title: name,
url,
- stories: storiesHash,
- storiesFailed,
- storiesConfigured,
+ index,
+ indexError,
+ previewInitialized,
refs,
storyId,
refId,
diff --git a/code/ui/manager/src/index.tsx b/code/ui/manager/src/index.tsx
index 707be6f82d2..0660ababc79 100644
--- a/code/ui/manager/src/index.tsx
+++ b/code/ui/manager/src/index.tsx
@@ -55,8 +55,8 @@ const Main: FC<{ provider: Provider }> = ({ provider }) => {
const panelCount = Object.keys(api.getPanels()).length;
const story = api.getData(state.storyId, state.refId);
const isLoading = story
- ? !!state.refs[state.refId] && !state.refs[state.refId].ready
- : !state.storiesFailed && !state.storiesConfigured;
+ ? !!state.refs[state.refId] && !state.refs[state.refId].previewInitialized
+ : !state.previewInitialized;
return (
diff --git a/code/yarn.lock b/code/yarn.lock
index cab91d27507..5fb529894a3 100644
--- a/code/yarn.lock
+++ b/code/yarn.lock
@@ -5113,16 +5113,16 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/addon-a11y@workspace:addons/a11y"
dependencies:
- "@storybook/addon-highlight": 7.0.0-beta.29
- "@storybook/channels": 7.0.0-beta.29
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/addon-highlight": 7.0.0-beta.30
+ "@storybook/channels": 7.0.0-beta.30
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/theming": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/theming": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@testing-library/react": ^11.2.2
axe-core: ^4.2.0
lodash: ^4.17.21
@@ -5140,18 +5140,18 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/addon-actions@7.0.0-beta.29, @storybook/addon-actions@workspace:*, @storybook/addon-actions@workspace:addons/actions":
+"@storybook/addon-actions@7.0.0-beta.30, @storybook/addon-actions@workspace:*, @storybook/addon-actions@workspace:addons/actions":
version: 0.0.0-use.local
resolution: "@storybook/addon-actions@workspace:addons/actions"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/theming": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/theming": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/lodash": ^4.14.167
dequal: ^2.0.2
lodash: ^4.17.21
@@ -5173,18 +5173,18 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/addon-backgrounds@7.0.0-beta.29, @storybook/addon-backgrounds@workspace:*, @storybook/addon-backgrounds@workspace:addons/backgrounds":
+"@storybook/addon-backgrounds@7.0.0-beta.30, @storybook/addon-backgrounds@workspace:*, @storybook/addon-backgrounds@workspace:addons/backgrounds":
version: 0.0.0-use.local
resolution: "@storybook/addon-backgrounds@workspace:addons/backgrounds"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/theming": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/theming": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
memoizerific: ^1.11.3
ts-dedent: ^2.0.0
typescript: ~4.9.3
@@ -5199,19 +5199,19 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/addon-controls@7.0.0-beta.29, @storybook/addon-controls@workspace:*, @storybook/addon-controls@workspace:addons/controls":
+"@storybook/addon-controls@7.0.0-beta.30, @storybook/addon-controls@workspace:*, @storybook/addon-controls@workspace:addons/controls":
version: 0.0.0-use.local
resolution: "@storybook/addon-controls@workspace:addons/controls"
dependencies:
- "@storybook/blocks": 7.0.0-beta.29
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/theming": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/blocks": 7.0.0-beta.30
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/theming": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
lodash: ^4.17.21
ts-dedent: ^2.0.0
peerDependencies:
@@ -5225,7 +5225,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/addon-docs@7.0.0-beta.29, @storybook/addon-docs@workspace:*, @storybook/addon-docs@workspace:addons/docs":
+"@storybook/addon-docs@7.0.0-beta.30, @storybook/addon-docs@workspace:*, @storybook/addon-docs@workspace:addons/docs":
version: 0.0.0-use.local
resolution: "@storybook/addon-docs@workspace:addons/docs"
dependencies:
@@ -5233,18 +5233,18 @@ __metadata:
"@babel/plugin-transform-react-jsx": ^7.19.0
"@jest/transform": ^29.3.1
"@mdx-js/react": ^2.1.5
- "@storybook/blocks": 7.0.0-beta.29
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/csf-plugin": 7.0.0-beta.29
- "@storybook/csf-tools": 7.0.0-beta.29
+ "@storybook/blocks": 7.0.0-beta.30
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/csf-plugin": 7.0.0-beta.30
+ "@storybook/csf-tools": 7.0.0-beta.30
"@storybook/global": ^5.0.0
"@storybook/mdx2-csf": next
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/postinstall": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/theming": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/postinstall": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/theming": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
fs-extra: ^9.0.1
react: ^16.14.0
react-dom: ^16.8.0
@@ -5262,20 +5262,20 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/addon-essentials@workspace:addons/essentials"
dependencies:
- "@storybook/addon-actions": 7.0.0-beta.29
- "@storybook/addon-backgrounds": 7.0.0-beta.29
- "@storybook/addon-controls": 7.0.0-beta.29
- "@storybook/addon-docs": 7.0.0-beta.29
- "@storybook/addon-highlight": 7.0.0-beta.29
- "@storybook/addon-measure": 7.0.0-beta.29
- "@storybook/addon-outline": 7.0.0-beta.29
- "@storybook/addon-toolbars": 7.0.0-beta.29
- "@storybook/addon-viewport": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/vue": 7.0.0-beta.29
+ "@storybook/addon-actions": 7.0.0-beta.30
+ "@storybook/addon-backgrounds": 7.0.0-beta.30
+ "@storybook/addon-controls": 7.0.0-beta.30
+ "@storybook/addon-docs": 7.0.0-beta.30
+ "@storybook/addon-highlight": 7.0.0-beta.30
+ "@storybook/addon-measure": 7.0.0-beta.30
+ "@storybook/addon-outline": 7.0.0-beta.30
+ "@storybook/addon-toolbars": 7.0.0-beta.30
+ "@storybook/addon-viewport": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/vue": 7.0.0-beta.30
ts-dedent: ^2.0.0
typescript: ^4.9.3
peerDependencies:
@@ -5284,13 +5284,13 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/addon-highlight@7.0.0-beta.29, @storybook/addon-highlight@workspace:*, @storybook/addon-highlight@workspace:addons/highlight":
+"@storybook/addon-highlight@7.0.0-beta.30, @storybook/addon-highlight@workspace:*, @storybook/addon-highlight@workspace:addons/highlight":
version: 0.0.0-use.local
resolution: "@storybook/addon-highlight@workspace:addons/highlight"
dependencies:
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/preview-api": 7.0.0-beta.29
+ "@storybook/preview-api": 7.0.0-beta.30
"@types/webpack-env": ^1.16.0
typescript: ~4.9.3
languageName: unknown
@@ -5301,18 +5301,18 @@ __metadata:
resolution: "@storybook/addon-interactions@workspace:addons/interactions"
dependencies:
"@devtools-ds/object-inspector": ^1.1.2
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/instrumenter": 7.0.0-beta.29
+ "@storybook/instrumenter": 7.0.0-beta.30
"@storybook/jest": next
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
"@storybook/testing-library": next
- "@storybook/theming": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/theming": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/node": ^16.0.0
formik: ^2.2.9
jest-mock: ^27.0.6
@@ -5334,13 +5334,13 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/addon-jest@workspace:addons/jest"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/theming": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/theming": 7.0.0-beta.30
react-resize-detector: ^7.1.2
typescript: ~4.9.3
upath: ^1.2.0
@@ -5359,14 +5359,14 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/addon-links@workspace:addons/links"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/csf": next
"@storybook/global": ^5.0.0
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/router": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/router": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
prop-types: ^15.7.2
ts-dedent: ^2.0.0
typescript: ~4.9.3
@@ -5381,17 +5381,17 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/addon-measure@7.0.0-beta.29, @storybook/addon-measure@workspace:*, @storybook/addon-measure@workspace:addons/measure":
+"@storybook/addon-measure@7.0.0-beta.30, @storybook/addon-measure@workspace:*, @storybook/addon-measure@workspace:addons/measure":
version: 0.0.0-use.local
resolution: "@storybook/addon-measure@workspace:addons/measure"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
typescript: ~4.9.3
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -5404,17 +5404,17 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/addon-outline@7.0.0-beta.29, @storybook/addon-outline@workspace:*, @storybook/addon-outline@workspace:addons/outline":
+"@storybook/addon-outline@7.0.0-beta.30, @storybook/addon-outline@workspace:*, @storybook/addon-outline@workspace:addons/outline":
version: 0.0.0-use.local
resolution: "@storybook/addon-outline@workspace:addons/outline"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
ts-dedent: ^2.0.0
typescript: ~4.9.3
peerDependencies:
@@ -5434,8 +5434,8 @@ __metadata:
dependencies:
"@axe-core/puppeteer": ^4.2.0
"@storybook/csf": next
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/jest-image-snapshot": ^5.1.0
"@types/puppeteer": ^5.4.0
enzyme: ^3.11.0
@@ -5444,7 +5444,7 @@ __metadata:
puppeteer: ^2.0.0 || ^3.0.0
rimraf: ^3.0.2
peerDependencies:
- "@storybook/addon-storyshots": 7.0.0-beta.29
+ "@storybook/addon-storyshots": 7.0.0-beta.30
puppeteer: ">=2.0.0"
peerDependenciesMeta:
puppeteer:
@@ -5460,18 +5460,18 @@ __metadata:
"@angular/platform-browser-dynamic": ^13.3.6
"@emotion/jest": ^11.8.0
"@jest/transform": ^29.3.1
- "@storybook/addon-docs": 7.0.0-beta.29
- "@storybook/angular": 7.0.0-beta.29
+ "@storybook/addon-docs": 7.0.0-beta.30
+ "@storybook/angular": 7.0.0-beta.30
"@storybook/babel-plugin-require-context-hook": 1.0.1
- "@storybook/client-api": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/core-webpack": 7.0.0-beta.29
+ "@storybook/client-api": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/core-webpack": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/react": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
- "@storybook/vue": 7.0.0-beta.29
- "@storybook/vue3": 7.0.0-beta.29
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/react": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
+ "@storybook/vue": 7.0.0-beta.30
+ "@storybook/vue3": 7.0.0-beta.30
"@types/glob": ^7.1.3
"@types/jest-specific-snapshot": ^0.5.6
babel-loader: ^9.1.2
@@ -5546,13 +5546,13 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/addon-storysource@workspace:addons/storysource"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/router": 7.0.0-beta.29
- "@storybook/source-loader": 7.0.0-beta.29
- "@storybook/theming": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/router": 7.0.0-beta.30
+ "@storybook/source-loader": 7.0.0-beta.30
+ "@storybook/theming": 7.0.0-beta.30
"@types/react": ^16.14.34
"@types/react-syntax-highlighter": 11.0.5
estraverse: ^5.2.0
@@ -5570,15 +5570,15 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/addon-toolbars@7.0.0-beta.29, @storybook/addon-toolbars@workspace:*, @storybook/addon-toolbars@workspace:addons/toolbars":
+"@storybook/addon-toolbars@7.0.0-beta.30, @storybook/addon-toolbars@workspace:*, @storybook/addon-toolbars@workspace:addons/toolbars":
version: 0.0.0-use.local
resolution: "@storybook/addon-toolbars@workspace:addons/toolbars"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/theming": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/theming": 7.0.0-beta.30
typescript: ~4.9.3
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -5591,17 +5591,17 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/addon-viewport@7.0.0-beta.29, @storybook/addon-viewport@workspace:*, @storybook/addon-viewport@workspace:addons/viewport":
+"@storybook/addon-viewport@7.0.0-beta.30, @storybook/addon-viewport@workspace:*, @storybook/addon-viewport@workspace:addons/viewport":
version: 0.0.0-use.local
resolution: "@storybook/addon-viewport@workspace:addons/viewport"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/theming": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/theming": 7.0.0-beta.30
memoizerific: ^1.11.3
prop-types: ^15.7.2
typescript: ~4.9.3
@@ -5616,20 +5616,20 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/addons@7.0.0-beta.29, @storybook/addons@workspace:*, @storybook/addons@workspace:lib/addons":
+"@storybook/addons@7.0.0-beta.30, @storybook/addons@workspace:*, @storybook/addons@workspace:lib/addons":
version: 0.0.0-use.local
resolution: "@storybook/addons@workspace:lib/addons"
dependencies:
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
languageName: unknown
linkType: soft
-"@storybook/angular@7.0.0-beta.29, @storybook/angular@workspace:*, @storybook/angular@workspace:frameworks/angular":
+"@storybook/angular@7.0.0-beta.30, @storybook/angular@workspace:*, @storybook/angular@workspace:frameworks/angular":
version: 0.0.0-use.local
resolution: "@storybook/angular@workspace:frameworks/angular"
dependencies:
@@ -5644,20 +5644,20 @@ __metadata:
"@angular/forms": ^15.0.4
"@angular/platform-browser": ^15.0.4
"@angular/platform-browser-dynamic": ^15.0.4
- "@storybook/builder-webpack5": 7.0.0-beta.29
- "@storybook/cli": 7.0.0-beta.29
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/core-client": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
- "@storybook/core-server": 7.0.0-beta.29
- "@storybook/core-webpack": 7.0.0-beta.29
- "@storybook/docs-tools": 7.0.0-beta.29
+ "@storybook/builder-webpack5": 7.0.0-beta.30
+ "@storybook/cli": 7.0.0-beta.30
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/core-client": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
+ "@storybook/core-server": 7.0.0-beta.30
+ "@storybook/core-webpack": 7.0.0-beta.30
+ "@storybook/docs-tools": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/node": ^16.0.0
"@types/react": ^16.14.34
"@types/react-dom": ^16.9.14
@@ -5706,12 +5706,12 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/api@7.0.0-beta.29, @storybook/api@workspace:*, @storybook/api@workspace:lib/manager-api-shim":
+"@storybook/api@7.0.0-beta.30, @storybook/api@workspace:*, @storybook/api@workspace:lib/manager-api-shim":
version: 0.0.0-use.local
resolution: "@storybook/api@workspace:lib/manager-api-shim"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/manager-api": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/manager-api": 7.0.0-beta.30
languageName: unknown
linkType: soft
@@ -5722,22 +5722,22 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/blocks@7.0.0-beta.29, @storybook/blocks@workspace:*, @storybook/blocks@workspace:ui/blocks":
+"@storybook/blocks@7.0.0-beta.30, @storybook/blocks@workspace:*, @storybook/blocks@workspace:ui/blocks":
version: 0.0.0-use.local
resolution: "@storybook/blocks@workspace:ui/blocks"
dependencies:
- "@storybook/addon-actions": 7.0.0-beta.29
- "@storybook/channels": 7.0.0-beta.29
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/addon-actions": 7.0.0-beta.30
+ "@storybook/channels": 7.0.0-beta.30
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/csf": next
- "@storybook/docs-tools": 7.0.0-beta.29
+ "@storybook/docs-tools": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/theming": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/theming": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/color-convert": ^2.0.0
"@types/lodash": ^4.14.167
color-convert: ^2.0.1
@@ -5755,14 +5755,14 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/builder-manager@7.0.0-beta.29, @storybook/builder-manager@workspace:*, @storybook/builder-manager@workspace:lib/builder-manager":
+"@storybook/builder-manager@7.0.0-beta.30, @storybook/builder-manager@workspace:*, @storybook/builder-manager@workspace:lib/builder-manager":
version: 0.0.0-use.local
resolution: "@storybook/builder-manager@workspace:lib/builder-manager"
dependencies:
"@fal-works/esbuild-plugin-global-externals": ^2.1.2
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/manager": 7.0.0-beta.29
- "@storybook/node-logger": 7.0.0-beta.29
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/manager": 7.0.0-beta.30
+ "@storybook/node-logger": 7.0.0-beta.30
"@types/ejs": ^3.1.1
"@types/find-cache-dir": ^3.2.1
"@yarnpkg/esbuild-plugin-pnp": ^3.0.0-rc.10
@@ -5780,18 +5780,20 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/builder-vite@7.0.0-beta.29, @storybook/builder-vite@workspace:*, @storybook/builder-vite@workspace:lib/builder-vite":
+"@storybook/builder-vite@7.0.0-beta.30, @storybook/builder-vite@workspace:*, @storybook/builder-vite@workspace:lib/builder-vite":
version: 0.0.0-use.local
resolution: "@storybook/builder-vite@workspace:lib/builder-vite"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/csf-plugin": 7.0.0-beta.29
+ "@storybook/channel-postmessage": 7.0.0-beta.30
+ "@storybook/channel-websocket": 7.0.0-beta.30
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/csf-plugin": 7.0.0-beta.30
"@storybook/mdx2-csf": next
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/preview": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/preview": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/express": ^4.17.13
"@types/node": ^16.0.0
browser-assert: ^1.2.1
@@ -5804,7 +5806,7 @@ __metadata:
rollup: ^3.0.0
slash: ^3.0.0
typescript: ~4.9.3
- vite: ^4.0.0
+ vite: ^4.0.4
vite-plugin-externals: ^0.5.1
peerDependencies:
"@preact/preset-vite": "*"
@@ -5821,30 +5823,30 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/builder-webpack5@7.0.0-beta.29, @storybook/builder-webpack5@workspace:*, @storybook/builder-webpack5@workspace:lib/builder-webpack5":
+"@storybook/builder-webpack5@7.0.0-beta.30, @storybook/builder-webpack5@workspace:*, @storybook/builder-webpack5@workspace:lib/builder-webpack5":
version: 0.0.0-use.local
resolution: "@storybook/builder-webpack5@workspace:lib/builder-webpack5"
dependencies:
"@babel/core": ^7.12.10
- "@storybook/addons": 7.0.0-beta.29
- "@storybook/api": 7.0.0-beta.29
- "@storybook/channel-postmessage": 7.0.0-beta.29
- "@storybook/channel-websocket": 7.0.0-beta.29
- "@storybook/channels": 7.0.0-beta.29
- "@storybook/client-api": 7.0.0-beta.29
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
- "@storybook/core-webpack": 7.0.0-beta.29
+ "@storybook/addons": 7.0.0-beta.30
+ "@storybook/api": 7.0.0-beta.30
+ "@storybook/channel-postmessage": 7.0.0-beta.30
+ "@storybook/channel-websocket": 7.0.0-beta.30
+ "@storybook/channels": 7.0.0-beta.30
+ "@storybook/client-api": 7.0.0-beta.30
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
+ "@storybook/core-webpack": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/preview": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/router": 7.0.0-beta.29
- "@storybook/store": 7.0.0-beta.29
- "@storybook/theming": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/preview": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/router": 7.0.0-beta.30
+ "@storybook/store": 7.0.0-beta.30
+ "@storybook/theming": 7.0.0-beta.30
"@types/node": ^16.0.0
"@types/pretty-hrtime": ^1.0.0
"@types/semver": ^7.3.4
@@ -5885,13 +5887,13 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/channel-postmessage@7.0.0-beta.29, @storybook/channel-postmessage@workspace:*, @storybook/channel-postmessage@workspace:lib/channel-postmessage":
+"@storybook/channel-postmessage@7.0.0-beta.30, @storybook/channel-postmessage@workspace:*, @storybook/channel-postmessage@workspace:lib/channel-postmessage":
version: 0.0.0-use.local
resolution: "@storybook/channel-postmessage@workspace:lib/channel-postmessage"
dependencies:
- "@storybook/channels": 7.0.0-beta.29
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/channels": 7.0.0-beta.30
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/global": ^5.0.0
qs: ^6.10.0
telejson: ^7.0.3
@@ -5913,19 +5915,19 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/channel-websocket@7.0.0-beta.29, @storybook/channel-websocket@workspace:*, @storybook/channel-websocket@workspace:lib/channel-websocket":
+"@storybook/channel-websocket@7.0.0-beta.30, @storybook/channel-websocket@workspace:*, @storybook/channel-websocket@workspace:lib/channel-websocket":
version: 0.0.0-use.local
resolution: "@storybook/channel-websocket@workspace:lib/channel-websocket"
dependencies:
- "@storybook/channels": 7.0.0-beta.29
- "@storybook/client-logger": 7.0.0-beta.29
+ "@storybook/channels": 7.0.0-beta.30
+ "@storybook/client-logger": 7.0.0-beta.30
"@storybook/global": ^5.0.0
telejson: ^7.0.3
typescript: ~4.9.3
languageName: unknown
linkType: soft
-"@storybook/channels@7.0.0-beta.29, @storybook/channels@workspace:*, @storybook/channels@workspace:lib/channels":
+"@storybook/channels@7.0.0-beta.30, @storybook/channels@workspace:*, @storybook/channels@workspace:lib/channels":
version: 0.0.0-use.local
resolution: "@storybook/channels@workspace:lib/channels"
dependencies:
@@ -5940,20 +5942,20 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/cli@7.0.0-beta.29, @storybook/cli@workspace:*, @storybook/cli@workspace:lib/cli":
+"@storybook/cli@7.0.0-beta.30, @storybook/cli@workspace:*, @storybook/cli@workspace:lib/cli":
version: 0.0.0-use.local
resolution: "@storybook/cli@workspace:lib/cli"
dependencies:
"@babel/core": ^7.20.2
"@babel/preset-env": ^7.20.2
- "@storybook/client-api": 7.0.0-beta.29
- "@storybook/codemod": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/core-server": 7.0.0-beta.29
- "@storybook/csf-tools": 7.0.0-beta.29
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/telemetry": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/client-api": 7.0.0-beta.30
+ "@storybook/codemod": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/core-server": 7.0.0-beta.30
+ "@storybook/csf-tools": 7.0.0-beta.30
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/telemetry": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/cross-spawn": ^6.0.2
"@types/prompts": ^2.0.9
"@types/puppeteer-core": ^2.1.0
@@ -5992,16 +5994,16 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/client-api@7.0.0-beta.29, @storybook/client-api@workspace:*, @storybook/client-api@workspace:lib/client-api":
+"@storybook/client-api@7.0.0-beta.30, @storybook/client-api@workspace:*, @storybook/client-api@workspace:lib/client-api":
version: 0.0.0-use.local
resolution: "@storybook/client-api@workspace:lib/client-api"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
languageName: unknown
linkType: soft
-"@storybook/client-logger@7.0.0-beta.29, @storybook/client-logger@workspace:*, @storybook/client-logger@workspace:lib/client-logger":
+"@storybook/client-logger@7.0.0-beta.30, @storybook/client-logger@workspace:*, @storybook/client-logger@workspace:lib/client-logger":
version: 0.0.0-use.local
resolution: "@storybook/client-logger@workspace:lib/client-logger"
dependencies:
@@ -6019,7 +6021,7 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/codemod@7.0.0-beta.29, @storybook/codemod@workspace:*, @storybook/codemod@workspace:lib/codemod":
+"@storybook/codemod@7.0.0-beta.30, @storybook/codemod@workspace:*, @storybook/codemod@workspace:lib/codemod":
version: 0.0.0-use.local
resolution: "@storybook/codemod@workspace:lib/codemod"
dependencies:
@@ -6027,9 +6029,9 @@ __metadata:
"@babel/preset-env": ^7.20.2
"@babel/types": ^7.20.7
"@storybook/csf": next
- "@storybook/csf-tools": 7.0.0-beta.29
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/csf-tools": 7.0.0-beta.30
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/jscodeshift": ^0.11.6
ansi-regex: ^5.0.1
cross-spawn: ^7.0.3
@@ -6045,16 +6047,16 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/components@7.0.0-beta.29, @storybook/components@workspace:*, @storybook/components@workspace:ui/components":
+"@storybook/components@7.0.0-beta.30, @storybook/components@workspace:*, @storybook/components@workspace:ui/components":
version: 0.0.0-use.local
resolution: "@storybook/components@workspace:ui/components"
dependencies:
"@popperjs/core": ^2.6.0
- "@storybook/client-logger": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
"@storybook/csf": next
"@storybook/global": ^5.0.0
- "@storybook/theming": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/theming": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/overlayscrollbars": ^1.12.0
"@types/react-syntax-highlighter": 11.0.5
"@types/util-deprecate": ^1.0.0
@@ -6075,22 +6077,22 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/core-client@7.0.0-beta.29, @storybook/core-client@workspace:*, @storybook/core-client@workspace:lib/core-client":
+"@storybook/core-client@7.0.0-beta.30, @storybook/core-client@workspace:*, @storybook/core-client@workspace:lib/core-client":
version: 0.0.0-use.local
resolution: "@storybook/core-client@workspace:lib/core-client"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
languageName: unknown
linkType: soft
-"@storybook/core-common@7.0.0-beta.29, @storybook/core-common@workspace:*, @storybook/core-common@workspace:lib/core-common":
+"@storybook/core-common@7.0.0-beta.30, @storybook/core-common@workspace:*, @storybook/core-common@workspace:lib/core-common":
version: 0.0.0-use.local
resolution: "@storybook/core-common@workspace:lib/core-common"
dependencies:
"@babel/core": ^7.20.2
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/babel__core": ^7.1.20
"@types/express": ^4.7.0
"@types/mock-fs": ^4.13.1
@@ -6119,7 +6121,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/core-events@7.0.0-beta.29, @storybook/core-events@workspace:*, @storybook/core-events@workspace:lib/core-events":
+"@storybook/core-events@7.0.0-beta.30, @storybook/core-events@workspace:*, @storybook/core-events@workspace:lib/core-events":
version: 0.0.0-use.local
resolution: "@storybook/core-events@workspace:lib/core-events"
dependencies:
@@ -6134,23 +6136,23 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/core-server@7.0.0-beta.29, @storybook/core-server@workspace:*, @storybook/core-server@workspace:lib/core-server":
+"@storybook/core-server@7.0.0-beta.30, @storybook/core-server@workspace:*, @storybook/core-server@workspace:lib/core-server":
version: 0.0.0-use.local
resolution: "@storybook/core-server@workspace:lib/core-server"
dependencies:
"@aw-web-design/x-default-browser": 1.4.88
"@discoveryjs/json-ext": ^0.5.3
- "@storybook/builder-manager": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/builder-manager": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/csf": next
- "@storybook/csf-tools": 7.0.0-beta.29
+ "@storybook/csf-tools": 7.0.0-beta.30
"@storybook/docs-mdx": next
"@storybook/global": ^5.0.0
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/telemetry": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/telemetry": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/compression": ^1.7.0
"@types/detect-port": ^1.3.0
"@types/ip": ^1.1.0
@@ -6190,13 +6192,13 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/core-webpack@7.0.0-beta.29, @storybook/core-webpack@workspace:*, @storybook/core-webpack@workspace:lib/core-webpack":
+"@storybook/core-webpack@7.0.0-beta.30, @storybook/core-webpack@workspace:*, @storybook/core-webpack@workspace:lib/core-webpack":
version: 0.0.0-use.local
resolution: "@storybook/core-webpack@workspace:lib/core-webpack"
dependencies:
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/node": ^16.0.0
ts-dedent: ^2.0.0
typescript: ~4.9.3
@@ -6204,17 +6206,17 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/csf-plugin@7.0.0-beta.29, @storybook/csf-plugin@workspace:*, @storybook/csf-plugin@workspace:lib/csf-plugin":
+"@storybook/csf-plugin@7.0.0-beta.30, @storybook/csf-plugin@workspace:*, @storybook/csf-plugin@workspace:lib/csf-plugin":
version: 0.0.0-use.local
resolution: "@storybook/csf-plugin@workspace:lib/csf-plugin"
dependencies:
- "@storybook/csf-tools": 7.0.0-beta.29
+ "@storybook/csf-tools": 7.0.0-beta.30
typescript: ~4.9.3
unplugin: ^0.10.2
languageName: unknown
linkType: soft
-"@storybook/csf-tools@7.0.0-beta.29, @storybook/csf-tools@workspace:*, @storybook/csf-tools@workspace:lib/csf-tools":
+"@storybook/csf-tools@7.0.0-beta.30, @storybook/csf-tools@workspace:*, @storybook/csf-tools@workspace:lib/csf-tools":
version: 0.0.0-use.local
resolution: "@storybook/csf-tools@workspace:lib/csf-tools"
dependencies:
@@ -6223,7 +6225,7 @@ __metadata:
"@babel/traverse": ^7.20.1
"@babel/types": ^7.20.2
"@storybook/csf": next
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/types": 7.0.0-beta.30
"@types/fs-extra": ^9.0.6
"@types/js-yaml": ^3.12.6
fs-extra: ^9.0.1
@@ -6261,14 +6263,14 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/docs-tools@7.0.0-beta.29, @storybook/docs-tools@workspace:*, @storybook/docs-tools@workspace:lib/docs-tools":
+"@storybook/docs-tools@7.0.0-beta.30, @storybook/docs-tools@workspace:*, @storybook/docs-tools@workspace:lib/docs-tools":
version: 0.0.0-use.local
resolution: "@storybook/docs-tools@workspace:lib/docs-tools"
dependencies:
"@babel/core": ^7.12.10
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/doctrine": ^0.0.3
doctrine: ^3.0.0
jest-specific-snapshot: ^7.0.0
@@ -6282,12 +6284,12 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/ember@workspace:frameworks/ember"
dependencies:
- "@storybook/builder-webpack5": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/docs-tools": 7.0.0-beta.29
+ "@storybook/builder-webpack5": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/docs-tools": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
ember-source: ~3.28.1
ts-dedent: ^2.0.0
typescript: ~4.9.3
@@ -6331,15 +6333,15 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/html-vite@workspace:frameworks/html-vite"
dependencies:
- "@storybook/addons": 7.0.0-beta.29
- "@storybook/builder-vite": 7.0.0-beta.29
- "@storybook/channel-postmessage": 7.0.0-beta.29
- "@storybook/channel-websocket": 7.0.0-beta.29
- "@storybook/client-api": 7.0.0-beta.29
- "@storybook/core-server": 7.0.0-beta.29
- "@storybook/html": 7.0.0-beta.29
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/preview-web": 7.0.0-beta.29
+ "@storybook/addons": 7.0.0-beta.30
+ "@storybook/builder-vite": 7.0.0-beta.30
+ "@storybook/channel-postmessage": 7.0.0-beta.30
+ "@storybook/channel-websocket": 7.0.0-beta.30
+ "@storybook/client-api": 7.0.0-beta.30
+ "@storybook/core-server": 7.0.0-beta.30
+ "@storybook/html": 7.0.0-beta.30
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/preview-web": 7.0.0-beta.30
"@types/node": ^16.0.0
magic-string: ^0.26.1
typescript: ~4.9.3
@@ -6350,11 +6352,11 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/html-webpack5@workspace:frameworks/html-webpack5"
dependencies:
- "@storybook/builder-webpack5": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
+ "@storybook/builder-webpack5": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/html": 7.0.0-beta.29
- "@storybook/preset-html-webpack": 7.0.0-beta.29
+ "@storybook/html": 7.0.0-beta.30
+ "@storybook/preset-html-webpack": 7.0.0-beta.30
"@types/node": ^16.0.0
typescript: ~4.9.3
peerDependencies:
@@ -6364,15 +6366,15 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/html@7.0.0-beta.29, @storybook/html@workspace:*, @storybook/html@workspace:renderers/html":
+"@storybook/html@7.0.0-beta.30, @storybook/html@workspace:*, @storybook/html@workspace:renderers/html":
version: 0.0.0-use.local
resolution: "@storybook/html@workspace:renderers/html"
dependencies:
- "@storybook/core-client": 7.0.0-beta.29
- "@storybook/docs-tools": 7.0.0-beta.29
+ "@storybook/core-client": 7.0.0-beta.30
+ "@storybook/docs-tools": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
ts-dedent: ^2.0.0
typescript: ~4.9.3
peerDependencies:
@@ -6380,15 +6382,15 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/instrumenter@7.0.0-beta.29, @storybook/instrumenter@workspace:*, @storybook/instrumenter@workspace:lib/instrumenter":
+"@storybook/instrumenter@7.0.0-beta.30, @storybook/instrumenter@workspace:*, @storybook/instrumenter@workspace:lib/instrumenter":
version: 0.0.0-use.local
resolution: "@storybook/instrumenter@workspace:lib/instrumenter"
dependencies:
- "@storybook/channels": 7.0.0-beta.29
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/channels": 7.0.0-beta.30
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/preview-api": 7.0.0-beta.29
+ "@storybook/preview-api": 7.0.0-beta.30
core-js: ^3.8.2
typescript: ~4.9.3
languageName: unknown
@@ -6447,19 +6449,19 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/manager-api@7.0.0-beta.29, @storybook/manager-api@workspace:*, @storybook/manager-api@workspace:lib/manager-api":
+"@storybook/manager-api@7.0.0-beta.30, @storybook/manager-api@workspace:*, @storybook/manager-api@workspace:lib/manager-api":
version: 0.0.0-use.local
resolution: "@storybook/manager-api@workspace:lib/manager-api"
dependencies:
"@jest/globals": ^29.3.1
- "@storybook/channels": 7.0.0-beta.29
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/channels": 7.0.0-beta.30
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/csf": next
"@storybook/global": ^5.0.0
- "@storybook/router": 7.0.0-beta.29
- "@storybook/theming": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/router": 7.0.0-beta.30
+ "@storybook/theming": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/lodash": ^4.14.167
"@types/qs": ^6
dequal: ^2.0.2
@@ -6478,24 +6480,24 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/manager@7.0.0-beta.29, @storybook/manager@workspace:*, @storybook/manager@workspace:ui/manager":
+"@storybook/manager@7.0.0-beta.30, @storybook/manager@workspace:*, @storybook/manager@workspace:ui/manager":
version: 0.0.0-use.local
resolution: "@storybook/manager@workspace:ui/manager"
dependencies:
"@fal-works/esbuild-plugin-global-externals": ^2.1.2
- "@storybook/addons": 7.0.0-beta.29
- "@storybook/api": 7.0.0-beta.29
- "@storybook/channel-postmessage": 7.0.0-beta.29
- "@storybook/channel-websocket": 7.0.0-beta.29
- "@storybook/channels": 7.0.0-beta.29
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/components": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/addons": 7.0.0-beta.30
+ "@storybook/api": 7.0.0-beta.30
+ "@storybook/channel-postmessage": 7.0.0-beta.30
+ "@storybook/channel-websocket": 7.0.0-beta.30
+ "@storybook/channels": 7.0.0-beta.30
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/components": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/router": 7.0.0-beta.29
- "@storybook/theming": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/router": 7.0.0-beta.30
+ "@storybook/theming": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@testing-library/react": ^11.2.2
"@types/semver": ^7.3.4
copy-to-clipboard: ^3.3.1
@@ -6534,13 +6536,13 @@ __metadata:
"@babel/core": ^7.20.5
"@babel/types": ^7.20.5
"@next/font": ^13.0.7
- "@storybook/addon-actions": 7.0.0-beta.29
- "@storybook/builder-webpack5": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/preset-react-webpack": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/react": 7.0.0-beta.29
+ "@storybook/addon-actions": 7.0.0-beta.30
+ "@storybook/builder-webpack5": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/preset-react-webpack": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/react": 7.0.0-beta.30
"@types/babel__core": ^7
"@types/node": ^16.0.0
find-up: ^5.0.0
@@ -6574,7 +6576,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/node-logger@7.0.0-beta.29, @storybook/node-logger@workspace:*, @storybook/node-logger@workspace:lib/node-logger":
+"@storybook/node-logger@7.0.0-beta.30, @storybook/node-logger@workspace:*, @storybook/node-logger@workspace:lib/node-logger":
version: 0.0.0-use.local
resolution: "@storybook/node-logger@workspace:lib/node-logger"
dependencies:
@@ -6587,7 +6589,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/postinstall@7.0.0-beta.29, @storybook/postinstall@workspace:*, @storybook/postinstall@workspace:lib/postinstall":
+"@storybook/postinstall@7.0.0-beta.30, @storybook/postinstall@workspace:*, @storybook/postinstall@workspace:lib/postinstall":
version: 0.0.0-use.local
resolution: "@storybook/postinstall@workspace:lib/postinstall"
dependencies:
@@ -6603,8 +6605,8 @@ __metadata:
resolution: "@storybook/preact-vite@workspace:frameworks/preact-vite"
dependencies:
"@preact/preset-vite": ^2.0.0
- "@storybook/builder-vite": 7.0.0-beta.29
- "@storybook/preact": 7.0.0-beta.29
+ "@storybook/builder-vite": 7.0.0-beta.30
+ "@storybook/preact": 7.0.0-beta.30
"@types/node": ^16.0.0
typescript: ~4.9.3
vite: ^4.0.0
@@ -6618,10 +6620,10 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/preact-webpack5@workspace:frameworks/preact-webpack5"
dependencies:
- "@storybook/builder-webpack5": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/preact": 7.0.0-beta.29
- "@storybook/preset-preact-webpack": 7.0.0-beta.29
+ "@storybook/builder-webpack5": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/preact": 7.0.0-beta.30
+ "@storybook/preset-preact-webpack": 7.0.0-beta.30
"@types/node": ^16.0.0
preact: ^10.5.13
typescript: ~4.9.3
@@ -6633,14 +6635,14 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/preact@7.0.0-beta.29, @storybook/preact@workspace:*, @storybook/preact@workspace:renderers/preact":
+"@storybook/preact@7.0.0-beta.30, @storybook/preact@workspace:*, @storybook/preact@workspace:renderers/preact":
version: 0.0.0-use.local
resolution: "@storybook/preact@workspace:renderers/preact"
dependencies:
- "@storybook/core-client": 7.0.0-beta.29
+ "@storybook/core-client": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
preact: ^10.5.13
ts-dedent: ^2.0.0
typescript: ~4.9.3
@@ -6649,11 +6651,11 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/preset-html-webpack@7.0.0-beta.29, @storybook/preset-html-webpack@workspace:*, @storybook/preset-html-webpack@workspace:presets/html-webpack":
+"@storybook/preset-html-webpack@7.0.0-beta.30, @storybook/preset-html-webpack@workspace:*, @storybook/preset-html-webpack@workspace:presets/html-webpack":
version: 0.0.0-use.local
resolution: "@storybook/preset-html-webpack@workspace:presets/html-webpack"
dependencies:
- "@storybook/core-webpack": 7.0.0-beta.29
+ "@storybook/core-webpack": 7.0.0-beta.30
"@types/node": ^16.0.0
html-loader: ^3.1.0
typescript: ~4.9.3
@@ -6663,12 +6665,12 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/preset-preact-webpack@7.0.0-beta.29, @storybook/preset-preact-webpack@workspace:*, @storybook/preset-preact-webpack@workspace:presets/preact-webpack":
+"@storybook/preset-preact-webpack@7.0.0-beta.30, @storybook/preset-preact-webpack@workspace:*, @storybook/preset-preact-webpack@workspace:presets/preact-webpack":
version: 0.0.0-use.local
resolution: "@storybook/preset-preact-webpack@workspace:presets/preact-webpack"
dependencies:
"@babel/plugin-transform-react-jsx": ^7.19.0
- "@storybook/core-webpack": 7.0.0-beta.29
+ "@storybook/core-webpack": 7.0.0-beta.30
"@types/node": ^16.0.0
preact: ^10.5.13
typescript: ~4.9.3
@@ -6678,17 +6680,17 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/preset-react-webpack@7.0.0-beta.29, @storybook/preset-react-webpack@workspace:*, @storybook/preset-react-webpack@workspace:presets/react-webpack":
+"@storybook/preset-react-webpack@7.0.0-beta.30, @storybook/preset-react-webpack@workspace:*, @storybook/preset-react-webpack@workspace:presets/react-webpack":
version: 0.0.0-use.local
resolution: "@storybook/preset-react-webpack@workspace:presets/react-webpack"
dependencies:
"@babel/preset-flow": ^7.18.6
"@babel/preset-react": ^7.18.6
"@pmmmwh/react-refresh-webpack-plugin": ^0.5.5
- "@storybook/core-webpack": 7.0.0-beta.29
- "@storybook/docs-tools": 7.0.0-beta.29
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/react": 7.0.0-beta.29
+ "@storybook/core-webpack": 7.0.0-beta.30
+ "@storybook/docs-tools": 7.0.0-beta.30
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/react": 7.0.0-beta.30
"@storybook/react-docgen-typescript-plugin": 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0
"@types/node": ^16.0.0
"@types/semver": ^7.3.4
@@ -6711,14 +6713,14 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/preset-server-webpack@7.0.0-beta.29, @storybook/preset-server-webpack@workspace:*, @storybook/preset-server-webpack@workspace:presets/server-webpack":
+"@storybook/preset-server-webpack@7.0.0-beta.30, @storybook/preset-server-webpack@workspace:*, @storybook/preset-server-webpack@workspace:presets/server-webpack":
version: 0.0.0-use.local
resolution: "@storybook/preset-server-webpack@workspace:presets/server-webpack"
dependencies:
- "@storybook/core-server": 7.0.0-beta.29
- "@storybook/core-webpack": 7.0.0-beta.29
+ "@storybook/core-server": 7.0.0-beta.30
+ "@storybook/core-webpack": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/server": 7.0.0-beta.29
+ "@storybook/server": 7.0.0-beta.30
"@types/node": ^16.0.0
fs-extra: ^9.0.1
jest-specific-snapshot: ^7.0.0
@@ -6730,12 +6732,12 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/preset-svelte-webpack@7.0.0-beta.29, @storybook/preset-svelte-webpack@workspace:*, @storybook/preset-svelte-webpack@workspace:presets/svelte-webpack":
+"@storybook/preset-svelte-webpack@7.0.0-beta.30, @storybook/preset-svelte-webpack@workspace:*, @storybook/preset-svelte-webpack@workspace:presets/svelte-webpack":
version: 0.0.0-use.local
resolution: "@storybook/preset-svelte-webpack@workspace:presets/svelte-webpack"
dependencies:
- "@storybook/core-webpack": 7.0.0-beta.29
- "@storybook/node-logger": 7.0.0-beta.29
+ "@storybook/core-webpack": 7.0.0-beta.30
+ "@storybook/node-logger": 7.0.0-beta.30
svelte: ^3.31.2
svelte-loader: ^3.1.2
sveltedoc-parser: ^4.2.1
@@ -6748,12 +6750,12 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/preset-vue-webpack@7.0.0-beta.29, @storybook/preset-vue-webpack@workspace:*, @storybook/preset-vue-webpack@workspace:presets/vue-webpack":
+"@storybook/preset-vue-webpack@7.0.0-beta.30, @storybook/preset-vue-webpack@workspace:*, @storybook/preset-vue-webpack@workspace:presets/vue-webpack":
version: 0.0.0-use.local
resolution: "@storybook/preset-vue-webpack@workspace:presets/vue-webpack"
dependencies:
- "@storybook/core-webpack": 7.0.0-beta.29
- "@storybook/docs-tools": 7.0.0-beta.29
+ "@storybook/core-webpack": 7.0.0-beta.30
+ "@storybook/docs-tools": 7.0.0-beta.30
"@types/node": ^16.0.0
ts-loader: ^9.2.8
typescript: ~4.9.3
@@ -6773,12 +6775,12 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/preset-vue3-webpack@7.0.0-beta.29, @storybook/preset-vue3-webpack@workspace:*, @storybook/preset-vue3-webpack@workspace:presets/vue3-webpack":
+"@storybook/preset-vue3-webpack@7.0.0-beta.30, @storybook/preset-vue3-webpack@workspace:*, @storybook/preset-vue3-webpack@workspace:presets/vue3-webpack":
version: 0.0.0-use.local
resolution: "@storybook/preset-vue3-webpack@workspace:presets/vue3-webpack"
dependencies:
- "@storybook/core-webpack": 7.0.0-beta.29
- "@storybook/docs-tools": 7.0.0-beta.29
+ "@storybook/core-webpack": 7.0.0-beta.30
+ "@storybook/docs-tools": 7.0.0-beta.30
"@types/node": ^16.0.0
"@vue/compiler-sfc": ^3.2.33
ts-loader: ^9.2.8
@@ -6796,14 +6798,14 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/preset-web-components-webpack@7.0.0-beta.29, @storybook/preset-web-components-webpack@workspace:*, @storybook/preset-web-components-webpack@workspace:presets/web-components-webpack":
+"@storybook/preset-web-components-webpack@7.0.0-beta.30, @storybook/preset-web-components-webpack@workspace:*, @storybook/preset-web-components-webpack@workspace:presets/web-components-webpack":
version: 0.0.0-use.local
resolution: "@storybook/preset-web-components-webpack@workspace:presets/web-components-webpack"
dependencies:
"@babel/plugin-syntax-dynamic-import": ^7.8.3
"@babel/plugin-syntax-import-meta": ^7.10.4
"@babel/preset-env": ^7.20.2
- "@storybook/core-webpack": 7.0.0-beta.29
+ "@storybook/core-webpack": 7.0.0-beta.30
"@types/node": ^16.0.0
babel-loader: ^7.0.0 || ^8.0.0 || ^9.0.0
babel-plugin-bundled-import-meta: ^0.3.1
@@ -6814,19 +6816,19 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/preview-api@7.0.0-beta.29, @storybook/preview-api@workspace:*, @storybook/preview-api@workspace:lib/preview-api":
+"@storybook/preview-api@7.0.0-beta.30, @storybook/preview-api@workspace:*, @storybook/preview-api@workspace:lib/preview-api":
version: 0.0.0-use.local
resolution: "@storybook/preview-api@workspace:lib/preview-api"
dependencies:
"@jest/globals": ^26.6.2
- "@storybook/channel-postmessage": 7.0.0-beta.29
- "@storybook/channels": 7.0.0-beta.29
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
+ "@storybook/channel-postmessage": 7.0.0-beta.30
+ "@storybook/channels": 7.0.0-beta.30
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
"@storybook/csf": next
"@storybook/global": ^5.0.0
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/types": 7.0.0-beta.30
"@types/qs": ^6.9.5
ansi-to-html: ^0.6.11
dequal: ^2.0.2
@@ -6865,25 +6867,25 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/preview-web@7.0.0-beta.29, @storybook/preview-web@workspace:*, @storybook/preview-web@workspace:lib/preview-web":
+"@storybook/preview-web@7.0.0-beta.30, @storybook/preview-web@workspace:*, @storybook/preview-web@workspace:lib/preview-web":
version: 0.0.0-use.local
resolution: "@storybook/preview-web@workspace:lib/preview-web"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
languageName: unknown
linkType: soft
-"@storybook/preview@7.0.0-beta.29, @storybook/preview@workspace:*, @storybook/preview@workspace:lib/preview":
+"@storybook/preview@7.0.0-beta.30, @storybook/preview@workspace:*, @storybook/preview@workspace:lib/preview":
version: 0.0.0-use.local
resolution: "@storybook/preview@workspace:lib/preview"
dependencies:
- "@storybook/channel-postmessage": 7.0.0-beta.29
- "@storybook/channel-websocket": 7.0.0-beta.29
- "@storybook/channels": 7.0.0-beta.29
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/core-events": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
+ "@storybook/channel-postmessage": 7.0.0-beta.30
+ "@storybook/channel-websocket": 7.0.0-beta.30
+ "@storybook/channels": 7.0.0-beta.30
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/core-events": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
typescript: ~4.9.3
languageName: unknown
linkType: soft
@@ -6912,10 +6914,10 @@ __metadata:
dependencies:
"@joshwooding/vite-plugin-react-docgen-typescript": ^0.2.1
"@rollup/pluginutils": ^4.2.0
- "@storybook/builder-vite": 7.0.0-beta.29
- "@storybook/react": 7.0.0-beta.29
+ "@storybook/builder-vite": 7.0.0-beta.30
+ "@storybook/react": 7.0.0-beta.30
"@types/node": ^16.0.0
- "@vitejs/plugin-react": ^3.0.0
+ "@vitejs/plugin-react": ^3.0.1
ast-types: ^0.14.2
magic-string: ^0.26.1
react-docgen: 6.0.0-alpha.3
@@ -6932,9 +6934,9 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/react-webpack5@workspace:frameworks/react-webpack5"
dependencies:
- "@storybook/builder-webpack5": 7.0.0-beta.29
- "@storybook/preset-react-webpack": 7.0.0-beta.29
- "@storybook/react": 7.0.0-beta.29
+ "@storybook/builder-webpack5": 7.0.0-beta.30
+ "@storybook/preset-react-webpack": 7.0.0-beta.30
+ "@storybook/react": 7.0.0-beta.30
"@types/node": ^16.0.0
jest-specific-snapshot: ^7.0.0
typescript: ~4.9.3
@@ -6950,17 +6952,17 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/react@7.0.0-beta.29, @storybook/react@workspace:*, @storybook/react@workspace:renderers/react":
+"@storybook/react@7.0.0-beta.30, @storybook/react@workspace:*, @storybook/react@workspace:renderers/react":
version: 0.0.0-use.local
resolution: "@storybook/react@workspace:renderers/react"
dependencies:
"@babel/core": ^7.20.2
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/core-client": 7.0.0-beta.29
- "@storybook/docs-tools": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/core-client": 7.0.0-beta.30
+ "@storybook/docs-tools": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/escodegen": ^0.0.6
"@types/estree": ^0.0.51
"@types/node": ^16.0.0
@@ -7182,11 +7184,11 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/router@7.0.0-beta.29, @storybook/router@workspace:*, @storybook/router@workspace:lib/router":
+"@storybook/router@7.0.0-beta.30, @storybook/router@workspace:*, @storybook/router@workspace:lib/router":
version: 0.0.0-use.local
resolution: "@storybook/router@workspace:lib/router"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
"@storybook/global": ^5.0.0
dequal: ^2.0.2
lodash: ^4.17.21
@@ -7205,10 +7207,10 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/server-webpack5@workspace:frameworks/server-webpack5"
dependencies:
- "@storybook/builder-webpack5": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/preset-server-webpack": 7.0.0-beta.29
- "@storybook/server": 7.0.0-beta.29
+ "@storybook/builder-webpack5": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/preset-server-webpack": 7.0.0-beta.30
+ "@storybook/server": 7.0.0-beta.30
"@types/node": ^16.0.0
typescript: ~4.9.3
peerDependencies:
@@ -7217,25 +7219,25 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/server@7.0.0-beta.29, @storybook/server@workspace:*, @storybook/server@workspace:renderers/server":
+"@storybook/server@7.0.0-beta.30, @storybook/server@workspace:*, @storybook/server@workspace:renderers/server":
version: 0.0.0-use.local
resolution: "@storybook/server@workspace:renderers/server"
dependencies:
- "@storybook/core-client": 7.0.0-beta.29
+ "@storybook/core-client": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
ts-dedent: ^2.0.0
typescript: ~4.9.3
languageName: unknown
linkType: soft
-"@storybook/source-loader@7.0.0-beta.29, @storybook/source-loader@workspace:*, @storybook/source-loader@workspace:lib/source-loader":
+"@storybook/source-loader@7.0.0-beta.30, @storybook/source-loader@workspace:*, @storybook/source-loader@workspace:lib/source-loader":
version: 0.0.0-use.local
resolution: "@storybook/source-loader@workspace:lib/source-loader"
dependencies:
"@storybook/csf": next
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/types": 7.0.0-beta.30
estraverse: ^5.2.0
jest-specific-snapshot: ^7.0.0
lodash: ^4.17.21
@@ -7247,22 +7249,22 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/store@7.0.0-beta.29, @storybook/store@workspace:*, @storybook/store@workspace:lib/store":
+"@storybook/store@7.0.0-beta.30, @storybook/store@workspace:*, @storybook/store@workspace:lib/store":
version: 0.0.0-use.local
resolution: "@storybook/store@workspace:lib/store"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
languageName: unknown
linkType: soft
-"@storybook/svelte-vite@7.0.0-beta.29, @storybook/svelte-vite@workspace:frameworks/svelte-vite":
+"@storybook/svelte-vite@7.0.0-beta.30, @storybook/svelte-vite@workspace:frameworks/svelte-vite":
version: 0.0.0-use.local
resolution: "@storybook/svelte-vite@workspace:frameworks/svelte-vite"
dependencies:
- "@storybook/builder-vite": 7.0.0-beta.29
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/svelte": 7.0.0-beta.29
+ "@storybook/builder-vite": 7.0.0-beta.30
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/svelte": 7.0.0-beta.30
"@sveltejs/vite-plugin-svelte": ^2.0.0
"@types/node": ^16.0.0
magic-string: ^0.26.1
@@ -7282,10 +7284,10 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/svelte-webpack5@workspace:frameworks/svelte-webpack5"
dependencies:
- "@storybook/builder-webpack5": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/preset-svelte-webpack": 7.0.0-beta.29
- "@storybook/svelte": 7.0.0-beta.29
+ "@storybook/builder-webpack5": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/preset-svelte-webpack": 7.0.0-beta.30
+ "@storybook/svelte": 7.0.0-beta.30
svelte: ^3.48.0
svelte-loader: ^3.1.2
typescript: ~4.9.3
@@ -7298,16 +7300,16 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/svelte@7.0.0-beta.29, @storybook/svelte@workspace:*, @storybook/svelte@workspace:renderers/svelte":
+"@storybook/svelte@7.0.0-beta.30, @storybook/svelte@workspace:*, @storybook/svelte@workspace:renderers/svelte":
version: 0.0.0-use.local
resolution: "@storybook/svelte@workspace:renderers/svelte"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/core-client": 7.0.0-beta.29
- "@storybook/docs-tools": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/core-client": 7.0.0-beta.30
+ "@storybook/docs-tools": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
expect-type: ^0.14.2
svelte: ^3.31.2
svelte-check: ^2.9.2
@@ -7323,9 +7325,9 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/sveltekit@workspace:frameworks/sveltekit"
dependencies:
- "@storybook/builder-vite": 7.0.0-beta.29
- "@storybook/svelte": 7.0.0-beta.29
- "@storybook/svelte-vite": 7.0.0-beta.29
+ "@storybook/builder-vite": 7.0.0-beta.30
+ "@storybook/svelte": 7.0.0-beta.30
+ "@storybook/svelte-vite": 7.0.0-beta.30
"@types/node": ^16.0.0
typescript: ^4.9.3
vite: ^4.0.0
@@ -7334,12 +7336,12 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/telemetry@7.0.0-beta.29, @storybook/telemetry@workspace:*, @storybook/telemetry@workspace:lib/telemetry":
+"@storybook/telemetry@7.0.0-beta.30, @storybook/telemetry@workspace:*, @storybook/telemetry@workspace:lib/telemetry":
version: 0.0.0-use.local
resolution: "@storybook/telemetry@workspace:lib/telemetry"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
chalk: ^4.1.0
detect-package-manager: ^2.0.1
fetch-retry: ^5.0.2
@@ -7364,7 +7366,7 @@ __metadata:
languageName: node
linkType: hard
-"@storybook/theming@7.0.0-beta.29, @storybook/theming@workspace:*, @storybook/theming@workspace:lib/theming":
+"@storybook/theming@7.0.0-beta.30, @storybook/theming@workspace:*, @storybook/theming@workspace:lib/theming":
version: 0.0.0-use.local
resolution: "@storybook/theming@workspace:lib/theming"
dependencies:
@@ -7373,7 +7375,7 @@ __metadata:
"@emotion/react": ^11.10.4
"@emotion/styled": ^11.10.4
"@emotion/use-insertion-effect-with-fallbacks": ^1.0.0
- "@storybook/client-logger": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
"@storybook/global": ^5.0.0
"@types/fs-extra": ^9.0.6
"@types/node": ^16.0.0
@@ -7389,12 +7391,12 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/types@7.0.0-beta.29, @storybook/types@workspace:*, @storybook/types@workspace:lib/types":
+"@storybook/types@7.0.0-beta.30, @storybook/types@workspace:*, @storybook/types@workspace:lib/types":
version: 0.0.0-use.local
resolution: "@storybook/types@workspace:lib/types"
dependencies:
"@babel/core": ^7.12.10
- "@storybook/channels": 7.0.0-beta.29
+ "@storybook/channels": 7.0.0-beta.30
"@storybook/csf": next
"@types/babel__core": ^7.0.0
"@types/express": ^4.7.0
@@ -7423,10 +7425,10 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/vue-vite@workspace:frameworks/vue-vite"
dependencies:
- "@storybook/builder-vite": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/core-server": 7.0.0-beta.29
- "@storybook/vue": 7.0.0-beta.29
+ "@storybook/builder-vite": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/core-server": 7.0.0-beta.30
+ "@storybook/vue": 7.0.0-beta.30
magic-string: ^0.26.1
typescript: ~4.9.3
vite: ^4.0.0
@@ -7444,10 +7446,10 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/vue-webpack5@workspace:frameworks/vue-webpack5"
dependencies:
- "@storybook/builder-webpack5": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/preset-vue-webpack": 7.0.0-beta.29
- "@storybook/vue": 7.0.0-beta.29
+ "@storybook/builder-webpack5": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/preset-vue-webpack": 7.0.0-beta.30
+ "@storybook/vue": 7.0.0-beta.30
"@types/node": ^16.0.0
typescript: ~4.9.3
vue: ^2.6.12
@@ -7469,9 +7471,9 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/vue3-vite@workspace:frameworks/vue3-vite"
dependencies:
- "@storybook/builder-vite": 7.0.0-beta.29
- "@storybook/core-server": 7.0.0-beta.29
- "@storybook/vue3": 7.0.0-beta.29
+ "@storybook/builder-vite": 7.0.0-beta.30
+ "@storybook/core-server": 7.0.0-beta.30
+ "@storybook/vue3": 7.0.0-beta.30
"@types/node": ^16.0.0
"@vitejs/plugin-vue": ^4.0.0
magic-string: ^0.26.1
@@ -7489,10 +7491,10 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/vue3-webpack5@workspace:frameworks/vue3-webpack5"
dependencies:
- "@storybook/builder-webpack5": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/preset-vue3-webpack": 7.0.0-beta.29
- "@storybook/vue3": 7.0.0-beta.29
+ "@storybook/builder-webpack5": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/preset-vue3-webpack": 7.0.0-beta.30
+ "@storybook/vue3": 7.0.0-beta.30
"@types/node": ^16.0.0
"@vue/compiler-sfc": 3.0.0
typescript: ~4.9.3
@@ -7507,16 +7509,16 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/vue3@7.0.0-beta.29, @storybook/vue3@workspace:*, @storybook/vue3@workspace:renderers/vue3":
+"@storybook/vue3@7.0.0-beta.30, @storybook/vue3@workspace:*, @storybook/vue3@workspace:renderers/vue3":
version: 0.0.0-use.local
resolution: "@storybook/vue3@workspace:renderers/vue3"
dependencies:
"@digitak/esrun": ^3.2.2
- "@storybook/core-client": 7.0.0-beta.29
- "@storybook/docs-tools": 7.0.0-beta.29
+ "@storybook/core-client": 7.0.0-beta.30
+ "@storybook/docs-tools": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/prettier": 2.7.2
"@vue/vue3-jest": 29
ts-dedent: ^2.0.0
@@ -7529,16 +7531,16 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/vue@7.0.0-beta.29, @storybook/vue@workspace:*, @storybook/vue@workspace:renderers/vue":
+"@storybook/vue@7.0.0-beta.30, @storybook/vue@workspace:*, @storybook/vue@workspace:renderers/vue":
version: 0.0.0-use.local
resolution: "@storybook/vue@workspace:renderers/vue"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/core-client": 7.0.0-beta.29
- "@storybook/docs-tools": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/core-client": 7.0.0-beta.30
+ "@storybook/docs-tools": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
ts-dedent: ^2.0.0
type-fest: 2.19.0
typescript: ~4.9.3
@@ -7559,10 +7561,10 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/web-components-vite@workspace:frameworks/web-components-vite"
dependencies:
- "@storybook/builder-vite": 7.0.0-beta.29
- "@storybook/core-server": 7.0.0-beta.29
- "@storybook/node-logger": 7.0.0-beta.29
- "@storybook/web-components": 7.0.0-beta.29
+ "@storybook/builder-vite": 7.0.0-beta.30
+ "@storybook/core-server": 7.0.0-beta.30
+ "@storybook/node-logger": 7.0.0-beta.30
+ "@storybook/web-components": 7.0.0-beta.30
"@types/node": ^16.0.0
magic-string: ^0.26.1
typescript: ~4.9.3
@@ -7577,10 +7579,10 @@ __metadata:
resolution: "@storybook/web-components-webpack5@workspace:frameworks/web-components-webpack5"
dependencies:
"@babel/preset-env": ^7.20.2
- "@storybook/builder-webpack5": 7.0.0-beta.29
- "@storybook/core-common": 7.0.0-beta.29
- "@storybook/preset-web-components-webpack": 7.0.0-beta.29
- "@storybook/web-components": 7.0.0-beta.29
+ "@storybook/builder-webpack5": 7.0.0-beta.30
+ "@storybook/core-common": 7.0.0-beta.30
+ "@storybook/preset-web-components-webpack": 7.0.0-beta.30
+ "@storybook/web-components": 7.0.0-beta.30
"@types/node": ^16.0.0
lit-html: 2.0.2
typescript: ~4.9.3
@@ -7591,17 +7593,17 @@ __metadata:
languageName: unknown
linkType: soft
-"@storybook/web-components@7.0.0-beta.29, @storybook/web-components@workspace:*, @storybook/web-components@workspace:renderers/web-components":
+"@storybook/web-components@7.0.0-beta.30, @storybook/web-components@workspace:*, @storybook/web-components@workspace:renderers/web-components":
version: 0.0.0-use.local
resolution: "@storybook/web-components@workspace:renderers/web-components"
dependencies:
- "@storybook/client-logger": 7.0.0-beta.29
- "@storybook/core-client": 7.0.0-beta.29
- "@storybook/docs-tools": 7.0.0-beta.29
+ "@storybook/client-logger": 7.0.0-beta.30
+ "@storybook/core-client": 7.0.0-beta.30
+ "@storybook/docs-tools": 7.0.0-beta.30
"@storybook/global": ^5.0.0
- "@storybook/manager-api": 7.0.0-beta.29
- "@storybook/preview-api": 7.0.0-beta.29
- "@storybook/types": 7.0.0-beta.29
+ "@storybook/manager-api": 7.0.0-beta.30
+ "@storybook/preview-api": 7.0.0-beta.30
+ "@storybook/types": 7.0.0-beta.30
"@types/cross-spawn": ^6.0.2
"@types/node": ^16.0.0
cross-spawn: ^7.0.3
@@ -9027,7 +9029,7 @@ __metadata:
languageName: node
linkType: hard
-"@vitejs/plugin-react@npm:^3.0.0":
+"@vitejs/plugin-react@npm:^3.0.1":
version: 3.0.1
resolution: "@vitejs/plugin-react@npm:3.0.1"
dependencies:
@@ -25158,7 +25160,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "sb@workspace:lib/cli-sb"
dependencies:
- "@storybook/cli": 7.0.0-beta.29
+ "@storybook/cli": 7.0.0-beta.30
bin:
sb: ./index.js
languageName: unknown
@@ -26063,7 +26065,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "storybook@workspace:lib/cli-storybook"
dependencies:
- "@storybook/cli": 7.0.0-beta.29
+ "@storybook/cli": 7.0.0-beta.30
bin:
sb: ./index.js
storybook: ./index.js
@@ -28132,7 +28134,7 @@ __metadata:
languageName: node
linkType: hard
-"vite@npm:^4.0.0":
+"vite@npm:^4.0.0, vite@npm:^4.0.4":
version: 4.0.4
resolution: "vite@npm:4.0.4"
dependencies:
diff --git a/docs/configure/overview.md b/docs/configure/overview.md
index 36bd1dbfb06..651ff7c10d9 100644
--- a/docs/configure/overview.md
+++ b/docs/configure/overview.md
@@ -49,7 +49,6 @@ Additionally, you can also provide additional feature flags to your Storybook co
| `emotionAlias` | Provides backwards compatibility for Emotion. See the [migration documentation](https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#emotion11-quasi-compatibility) for context.
`features: { emotionAlias: false }` |
| `babelModeV7` | Enables the new [Babel configuration](./babel.md#v7-mode) mode for Storybook.
`features: { babelModeV7: true }` |
| `postcss` | Disables the implicit PostCSS warning. See the [migration documentation](https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#deprecated-implicit-postcss-loader) for context.
`features: { postcss: false }` |
-| `modernInlineRender` | Enables Storybook's modern inline rendering mode.
`features: { modernInlineRender: false }` |
| `previewMdx2` | Enables experimental support for [MDX 2](../writing-docs/mdx.md#mdx-2).
`features: { previewMdx2: true }` |
## Configure story loading
diff --git a/docs/snippets/angular/button-story-click-handler-simplificated.ts.mdx b/docs/snippets/angular/button-story-click-handler-simplificated.ts.mdx
index 9b445004e17..853da665d9a 100644
--- a/docs/snippets/angular/button-story-click-handler-simplificated.ts.mdx
+++ b/docs/snippets/angular/button-story-click-handler-simplificated.ts.mdx
@@ -18,6 +18,6 @@ export default meta;
type Story = StoryObj