@storybook/addon-docs 7.0.0-alpha.13 → 7.0.0-alpha.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultComponents = exports.DocsRenderer = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _reactDom = _interopRequireDefault(require("react-dom"));
11
+
12
+ var _components = require("@storybook/components");
13
+
14
+ var _blocks = require("@storybook/blocks");
15
+
16
+ var _react2 = require("@mdx-js/react");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ // TS doesn't like that we export a component with types that it doesn't know about (TS4203)
21
+ const defaultComponents = Object.assign({}, _components.components, {
22
+ code: _blocks.CodeOrSourceMdx,
23
+ a: _blocks.AnchorMdx
24
+ }, _blocks.HeadersMdx);
25
+ exports.defaultComponents = defaultComponents;
26
+
27
+ class DocsRenderer {
28
+ constructor() {
29
+ this.render = void 0;
30
+ this.unmount = void 0;
31
+
32
+ this.render = (context, docsParameter, element, callback) => {
33
+ // Use a random key to force the container to re-render each time we call `renderDocs`
34
+ // TODO: do we still need this? It was needed for angular (legacy) inline rendering:
35
+ // https://github.com/storybookjs/storybook/pull/16149
36
+ _reactDom.default.render( /*#__PURE__*/_react.default.createElement(_react2.MDXProvider, {
37
+ components: defaultComponents
38
+ }, /*#__PURE__*/_react.default.createElement(_blocks.Docs, {
39
+ key: Math.random(),
40
+ context: context,
41
+ docsParameter: docsParameter
42
+ })), element, callback);
43
+ };
44
+
45
+ this.unmount = element => {
46
+ _reactDom.default.unmountComponentAtNode(element);
47
+ };
48
+ }
49
+
50
+ }
51
+
52
+ exports.DocsRenderer = DocsRenderer;
package/dist/cjs/index.js CHANGED
@@ -3,11 +3,21 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ DocsRenderer: true
8
+ };
9
+ Object.defineProperty(exports, "DocsRenderer", {
10
+ enumerable: true,
11
+ get: function () {
12
+ return _DocsRenderer.DocsRenderer;
13
+ }
14
+ });
6
15
 
7
16
  var _blocks = require("./blocks");
8
17
 
9
18
  Object.keys(_blocks).forEach(function (key) {
10
19
  if (key === "default" || key === "__esModule") return;
20
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
11
21
  if (key in exports && exports[key] === _blocks[key]) return;
12
22
  Object.defineProperty(exports, key, {
13
23
  enumerable: true,
@@ -15,4 +25,6 @@ Object.keys(_blocks).forEach(function (key) {
15
25
  return _blocks[key];
16
26
  }
17
27
  });
18
- });
28
+ });
29
+
30
+ var _DocsRenderer = require("./DocsRenderer");
@@ -64,6 +64,7 @@ async function webpack(webpackConfig = {}, options) {
64
64
  transcludeMarkdown = false
65
65
  } = options;
66
66
  const mdxLoaderOptions = {
67
+ // whether to skip storybook files, useful for docs only mdx or md files
67
68
  skipCsf: true,
68
69
  remarkPlugins: [_remarkSlug.default, _remarkExternalLinks.default]
69
70
  };
@@ -116,7 +117,10 @@ async function webpack(webpackConfig = {}, options) {
116
117
  configureJSX
117
118
  })
118
119
  }, {
119
- loader: mdxLoader
120
+ loader: mdxLoader,
121
+ options: Object.assign({}, mdxLoaderOptions, {
122
+ skipCsf: false
123
+ })
120
124
  }]
121
125
  }, {
122
126
  test: /\.mdx$/,
@@ -14,7 +14,7 @@ const parameters = {
14
14
  renderer: async () => {
15
15
  const {
16
16
  DocsRenderer
17
- } = await Promise.resolve().then(() => _interopRequireWildcard(require('./blocks')));
17
+ } = await Promise.resolve().then(() => _interopRequireWildcard(require('./DocsRenderer')));
18
18
  return new DocsRenderer();
19
19
  }
20
20
  }
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import ReactDOM from 'react-dom';
3
+ import { components as htmlComponents } from '@storybook/components';
4
+ import { Docs, CodeOrSourceMdx, AnchorMdx, HeadersMdx } from '@storybook/blocks';
5
+ import { MDXProvider } from '@mdx-js/react'; // TS doesn't like that we export a component with types that it doesn't know about (TS4203)
6
+
7
+ export const defaultComponents = Object.assign({}, htmlComponents, {
8
+ code: CodeOrSourceMdx,
9
+ a: AnchorMdx
10
+ }, HeadersMdx);
11
+ export class DocsRenderer {
12
+ constructor() {
13
+ this.render = void 0;
14
+ this.unmount = void 0;
15
+
16
+ this.render = (context, docsParameter, element, callback) => {
17
+ // Use a random key to force the container to re-render each time we call `renderDocs`
18
+ // TODO: do we still need this? It was needed for angular (legacy) inline rendering:
19
+ // https://github.com/storybookjs/storybook/pull/16149
20
+ ReactDOM.render( /*#__PURE__*/React.createElement(MDXProvider, {
21
+ components: defaultComponents
22
+ }, /*#__PURE__*/React.createElement(Docs, {
23
+ key: Math.random(),
24
+ context: context,
25
+ docsParameter: docsParameter
26
+ })), element, callback);
27
+ };
28
+
29
+ this.unmount = element => {
30
+ ReactDOM.unmountComponentAtNode(element);
31
+ };
32
+ }
33
+
34
+ }
package/dist/esm/index.js CHANGED
@@ -1 +1,2 @@
1
- export * from './blocks';
1
+ export * from './blocks';
2
+ export { DocsRenderer } from './DocsRenderer';
@@ -45,6 +45,7 @@ export async function webpack(webpackConfig = {}, options) {
45
45
  transcludeMarkdown = false
46
46
  } = options;
47
47
  const mdxLoaderOptions = {
48
+ // whether to skip storybook files, useful for docs only mdx or md files
48
49
  skipCsf: true,
49
50
  remarkPlugins: [remarkSlug, remarkExternalLinks]
50
51
  };
@@ -91,7 +92,10 @@ export async function webpack(webpackConfig = {}, options) {
91
92
  configureJSX
92
93
  })
93
94
  }, {
94
- loader: mdxLoader
95
+ loader: mdxLoader,
96
+ options: Object.assign({}, mdxLoaderOptions, {
97
+ skipCsf: false
98
+ })
95
99
  }]
96
100
  }, {
97
101
  test: /\.mdx$/,
@@ -3,7 +3,7 @@ export const parameters = {
3
3
  renderer: async () => {
4
4
  const {
5
5
  DocsRenderer
6
- } = await import('./blocks');
6
+ } = await import('./DocsRenderer');
7
7
  return new DocsRenderer();
8
8
  }
9
9
  }
@@ -0,0 +1,8 @@
1
+ import { AnyFramework } from '@storybook/csf';
2
+ import { DocsRenderFunction } from '@storybook/preview-web';
3
+ export declare const defaultComponents: Record<string, any>;
4
+ export declare class DocsRenderer<TFramework extends AnyFramework> {
5
+ render: DocsRenderFunction<TFramework>;
6
+ unmount: (element: HTMLElement) => void;
7
+ constructor();
8
+ }
@@ -1 +1,2 @@
1
1
  export * from './blocks';
2
+ export { DocsRenderer } from './DocsRenderer';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-docs",
3
- "version": "7.0.0-alpha.13",
3
+ "version": "7.0.0-alpha.16",
4
4
  "description": "Document component usage and properties in Markdown",
5
5
  "keywords": [
6
6
  "addon",
@@ -53,22 +53,22 @@
53
53
  "@babel/preset-env": "^7.12.11",
54
54
  "@jest/transform": "^26.6.2",
55
55
  "@mdx-js/react": "^1.6.22",
56
- "@storybook/addons": "7.0.0-alpha.13",
57
- "@storybook/api": "7.0.0-alpha.13",
58
- "@storybook/blocks": "7.0.0-alpha.13",
59
- "@storybook/components": "7.0.0-alpha.13",
60
- "@storybook/core-common": "7.0.0-alpha.13",
61
- "@storybook/core-events": "7.0.0-alpha.13",
56
+ "@storybook/addons": "7.0.0-alpha.16",
57
+ "@storybook/api": "7.0.0-alpha.16",
58
+ "@storybook/blocks": "7.0.0-alpha.16",
59
+ "@storybook/components": "7.0.0-alpha.16",
60
+ "@storybook/core-common": "7.0.0-alpha.16",
61
+ "@storybook/core-events": "7.0.0-alpha.16",
62
62
  "@storybook/csf": "0.0.2--canary.4566f4d.1",
63
- "@storybook/csf-tools": "7.0.0-alpha.13",
64
- "@storybook/docs-tools": "7.0.0-alpha.13",
65
- "@storybook/mdx1-csf": "^0.0.1",
66
- "@storybook/node-logger": "7.0.0-alpha.13",
67
- "@storybook/postinstall": "7.0.0-alpha.13",
68
- "@storybook/preview-web": "7.0.0-alpha.13",
69
- "@storybook/source-loader": "7.0.0-alpha.13",
70
- "@storybook/store": "7.0.0-alpha.13",
71
- "@storybook/theming": "7.0.0-alpha.13",
63
+ "@storybook/csf-tools": "7.0.0-alpha.16",
64
+ "@storybook/docs-tools": "7.0.0-alpha.16",
65
+ "@storybook/mdx1-csf": "0.0.5-canary.13.9ce928a.0",
66
+ "@storybook/node-logger": "7.0.0-alpha.16",
67
+ "@storybook/postinstall": "7.0.0-alpha.16",
68
+ "@storybook/preview-web": "7.0.0-alpha.16",
69
+ "@storybook/source-loader": "7.0.0-alpha.16",
70
+ "@storybook/store": "7.0.0-alpha.16",
71
+ "@storybook/theming": "7.0.0-alpha.16",
72
72
  "babel-loader": "^8.2.5",
73
73
  "core-js": "^3.8.2",
74
74
  "dequal": "^2.0.2",
@@ -81,12 +81,12 @@
81
81
  },
82
82
  "devDependencies": {
83
83
  "@babel/core": "^7.12.10",
84
- "@storybook/mdx2-csf": "^0.0.3",
84
+ "@storybook/mdx2-csf": "0.0.4-canary.14.04ffbe8.0",
85
85
  "@types/util-deprecate": "^1.0.0",
86
86
  "typescript": "~4.6.3"
87
87
  },
88
88
  "peerDependencies": {
89
- "@storybook/mdx2-csf": "^0.0.3",
89
+ "@storybook/mdx2-csf": "0.0.4-canary.14.04ffbe8.0",
90
90
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
91
91
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
92
92
  },
@@ -104,7 +104,7 @@
104
104
  "publishConfig": {
105
105
  "access": "public"
106
106
  },
107
- "gitHead": "9ac4d2e0a05eb945713a0e6689abc3b12359e181",
107
+ "gitHead": "df30e7db2b251418af106345e5722477f057ec36",
108
108
  "storybook": {
109
109
  "displayName": "Docs",
110
110
  "icon": "https://user-images.githubusercontent.com/263385/101991672-48355c80-3c7c-11eb-82d9-95fa12438f64.png",