@storybook/addon-docs 7.0.0-alpha.11 → 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.
- package/dist/cjs/DocsRenderer.js +52 -0
- package/dist/cjs/index.js +13 -1
- package/dist/cjs/preset.js +19 -4
- package/dist/cjs/preview.js +1 -1
- package/dist/esm/DocsRenderer.js +34 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/preset.js +14 -2
- package/dist/esm/preview.js +1 -1
- package/dist/types/DocsRenderer.d.ts +8 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/preset.d.ts +7 -2
- package/package.json +20 -20
- package/dist/cjs/manager.js +0 -20
- package/dist/esm/manager.js +0 -16
- package/dist/types/manager.d.ts +0 -1
- package/manager.js +0 -1
- package/register.js +0 -6
|
@@ -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");
|
package/dist/cjs/preset.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.storyIndexers = void 0;
|
|
6
|
+
exports.storyIndexers = exports.docs = void 0;
|
|
7
7
|
exports.webpack = webpack;
|
|
8
8
|
|
|
9
9
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
@@ -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$/,
|
|
@@ -155,8 +159,19 @@ const storyIndexers = async indexers => {
|
|
|
155
159
|
|
|
156
160
|
return [{
|
|
157
161
|
test: /(stories|story)\.mdx$/,
|
|
158
|
-
indexer: mdxIndexer
|
|
162
|
+
indexer: mdxIndexer,
|
|
163
|
+
addDocsTemplate: true
|
|
159
164
|
}, ...(indexers || [])];
|
|
160
165
|
};
|
|
161
166
|
|
|
162
|
-
exports.storyIndexers = storyIndexers;
|
|
167
|
+
exports.storyIndexers = storyIndexers;
|
|
168
|
+
|
|
169
|
+
const docs = docsOptions => {
|
|
170
|
+
return Object.assign({}, docsOptions, {
|
|
171
|
+
enabled: true,
|
|
172
|
+
defaultName: 'Docs',
|
|
173
|
+
docsPage: true
|
|
174
|
+
});
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
exports.docs = docs;
|
package/dist/cjs/preview.js
CHANGED
|
@@ -14,7 +14,7 @@ const parameters = {
|
|
|
14
14
|
renderer: async () => {
|
|
15
15
|
const {
|
|
16
16
|
DocsRenderer
|
|
17
|
-
} = await Promise.resolve().then(() => _interopRequireWildcard(require('./
|
|
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';
|
package/dist/esm/preset.js
CHANGED
|
@@ -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$/,
|
|
@@ -127,6 +131,14 @@ export const storyIndexers = async indexers => {
|
|
|
127
131
|
|
|
128
132
|
return [{
|
|
129
133
|
test: /(stories|story)\.mdx$/,
|
|
130
|
-
indexer: mdxIndexer
|
|
134
|
+
indexer: mdxIndexer,
|
|
135
|
+
addDocsTemplate: true
|
|
131
136
|
}, ...(indexers || [])];
|
|
137
|
+
};
|
|
138
|
+
export const docs = docsOptions => {
|
|
139
|
+
return Object.assign({}, docsOptions, {
|
|
140
|
+
enabled: true,
|
|
141
|
+
defaultName: 'Docs',
|
|
142
|
+
docsPage: true
|
|
143
|
+
});
|
|
132
144
|
};
|
package/dist/esm/preview.js
CHANGED
|
@@ -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
|
+
}
|
package/dist/types/index.d.ts
CHANGED
package/dist/types/preset.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Options, StoryIndexer } from '@storybook/core-common';
|
|
1
|
+
import type { DocsOptions, Options, StoryIndexer } from '@storybook/core-common';
|
|
2
2
|
declare type BabelParams = {
|
|
3
3
|
babelOptions?: any;
|
|
4
4
|
mdxBabelOptions?: any;
|
|
@@ -8,5 +8,10 @@ export declare function webpack(webpackConfig: any, options: Options & BabelPara
|
|
|
8
8
|
sourceLoaderOptions: any;
|
|
9
9
|
transcludeMarkdown: boolean;
|
|
10
10
|
}): Promise<any>;
|
|
11
|
-
export declare const storyIndexers: (indexers
|
|
11
|
+
export declare const storyIndexers: (indexers: StoryIndexer[] | null) => Promise<StoryIndexer[]>;
|
|
12
|
+
export declare const docs: (docsOptions: DocsOptions) => {
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
defaultName: string;
|
|
15
|
+
docsPage: boolean;
|
|
16
|
+
};
|
|
12
17
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/addon-docs",
|
|
3
|
-
"version": "7.0.0-alpha.
|
|
3
|
+
"version": "7.0.0-alpha.16",
|
|
4
4
|
"description": "Document component usage and properties in Markdown",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"addon",
|
|
@@ -53,25 +53,25 @@
|
|
|
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.
|
|
57
|
-
"@storybook/api": "7.0.0-alpha.
|
|
58
|
-
"@storybook/blocks": "7.0.0-alpha.
|
|
59
|
-
"@storybook/components": "7.0.0-alpha.
|
|
60
|
-
"@storybook/core-common": "7.0.0-alpha.
|
|
61
|
-
"@storybook/core-events": "7.0.0-alpha.
|
|
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.
|
|
64
|
-
"@storybook/docs-tools": "7.0.0-alpha.
|
|
65
|
-
"@storybook/mdx1-csf": "
|
|
66
|
-
"@storybook/node-logger": "7.0.0-alpha.
|
|
67
|
-
"@storybook/postinstall": "7.0.0-alpha.
|
|
68
|
-
"@storybook/preview-web": "7.0.0-alpha.
|
|
69
|
-
"@storybook/source-loader": "7.0.0-alpha.
|
|
70
|
-
"@storybook/store": "7.0.0-alpha.
|
|
71
|
-
"@storybook/theming": "7.0.0-alpha.
|
|
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",
|
|
75
75
|
"global": "^4.4.0",
|
|
76
76
|
"lodash": "^4.17.21",
|
|
77
77
|
"remark-external-links": "^8.0.0",
|
|
@@ -81,12 +81,12 @@
|
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@babel/core": "^7.12.10",
|
|
84
|
-
"@storybook/mdx2-csf": "
|
|
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": "
|
|
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": "
|
|
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",
|
package/dist/cjs/manager.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _addons = require("@storybook/addons");
|
|
4
|
-
|
|
5
|
-
var _shared = require("./shared");
|
|
6
|
-
|
|
7
|
-
_addons.addons.register(_shared.ADDON_ID, () => {
|
|
8
|
-
_addons.addons.add(_shared.PANEL_ID, {
|
|
9
|
-
type: _addons.types.TAB,
|
|
10
|
-
title: 'Docs',
|
|
11
|
-
route: ({
|
|
12
|
-
storyId,
|
|
13
|
-
refId
|
|
14
|
-
}) => refId ? `/docs/${refId}_${storyId}` : `/docs/${storyId}`,
|
|
15
|
-
match: ({
|
|
16
|
-
viewMode
|
|
17
|
-
}) => viewMode === 'docs',
|
|
18
|
-
render: () => null
|
|
19
|
-
});
|
|
20
|
-
});
|
package/dist/esm/manager.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { addons, types } from '@storybook/addons';
|
|
2
|
-
import { ADDON_ID, PANEL_ID } from './shared';
|
|
3
|
-
addons.register(ADDON_ID, () => {
|
|
4
|
-
addons.add(PANEL_ID, {
|
|
5
|
-
type: types.TAB,
|
|
6
|
-
title: 'Docs',
|
|
7
|
-
route: ({
|
|
8
|
-
storyId,
|
|
9
|
-
refId
|
|
10
|
-
}) => refId ? `/docs/${refId}_${storyId}` : `/docs/${storyId}`,
|
|
11
|
-
match: ({
|
|
12
|
-
viewMode
|
|
13
|
-
}) => viewMode === 'docs',
|
|
14
|
-
render: () => null
|
|
15
|
-
});
|
|
16
|
-
});
|
package/dist/types/manager.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/manager.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import './dist/esm/manager';
|