@storybook/addon-docs 6.4.0-beta.4 → 6.4.0-beta.8
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/blocks/Canvas.js +10 -4
- package/dist/cjs/blocks/Story.js +1 -1
- package/dist/cjs/frameworks/vue/extractArgTypes.js +106 -15
- package/dist/esm/blocks/Canvas.js +8 -2
- package/dist/esm/blocks/Story.js +1 -1
- package/dist/esm/frameworks/vue/extractArgTypes.js +97 -14
- package/dist/modern/blocks/Canvas.js +6 -2
- package/dist/modern/blocks/Story.js +1 -1
- package/dist/modern/frameworks/vue/extractArgTypes.js +64 -4
- package/package.json +28 -28
|
@@ -6,8 +6,6 @@ require("core-js/modules/es.symbol.js");
|
|
|
6
6
|
|
|
7
7
|
require("core-js/modules/es.weak-map.js");
|
|
8
8
|
|
|
9
|
-
require("core-js/modules/es.object.to-string.js");
|
|
10
|
-
|
|
11
9
|
require("core-js/modules/es.string.iterator.js");
|
|
12
10
|
|
|
13
11
|
require("core-js/modules/es.array.iterator.js");
|
|
@@ -39,6 +37,10 @@ require("core-js/modules/es.function.name.js");
|
|
|
39
37
|
|
|
40
38
|
require("core-js/modules/es.array.map.js");
|
|
41
39
|
|
|
40
|
+
require("core-js/modules/es.object.to-string.js");
|
|
41
|
+
|
|
42
|
+
require("core-js/modules/es.regexp.to-string.js");
|
|
43
|
+
|
|
42
44
|
require("core-js/modules/es.object.keys.js");
|
|
43
45
|
|
|
44
46
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -61,6 +63,8 @@ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return
|
|
|
61
63
|
|
|
62
64
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
63
65
|
|
|
66
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
67
|
+
|
|
64
68
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
65
69
|
|
|
66
70
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -128,9 +132,11 @@ var Canvas = function Canvas(props) {
|
|
|
128
132
|
previewProps = _getPreviewProps.previewProps;
|
|
129
133
|
|
|
130
134
|
var children = props.children;
|
|
131
|
-
return
|
|
135
|
+
return /*#__PURE__*/_react.default.createElement(_react2.MDXProvider, {
|
|
132
136
|
components: _components.resetComponents
|
|
133
|
-
}, /*#__PURE__*/_react.default.createElement(_components.Preview,
|
|
137
|
+
}, /*#__PURE__*/_react.default.createElement(_components.Preview, _extends({
|
|
138
|
+
key: isLoading.toString()
|
|
139
|
+
}, previewProps), children));
|
|
134
140
|
};
|
|
135
141
|
|
|
136
142
|
exports.Canvas = Canvas;
|
package/dist/cjs/blocks/Story.js
CHANGED
|
@@ -116,7 +116,7 @@ var getStoryProps = function getStoryProps(_ref4, story, context) {
|
|
|
116
116
|
}, storyIsInline && {
|
|
117
117
|
parameters: parameters,
|
|
118
118
|
storyFn: function storyFn() {
|
|
119
|
-
return prepareForInline(boundStoryFn, story);
|
|
119
|
+
return prepareForInline(boundStoryFn, context.getStoryContext(story));
|
|
120
120
|
}
|
|
121
121
|
});
|
|
122
122
|
};
|
|
@@ -1,25 +1,103 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.symbol.iterator.js");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.string.iterator.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/es.array.slice.js");
|
|
8
|
+
|
|
9
|
+
require("core-js/modules/es.array.from.js");
|
|
10
|
+
|
|
3
11
|
Object.defineProperty(exports, "__esModule", {
|
|
4
12
|
value: true
|
|
5
13
|
});
|
|
6
14
|
exports.extractArgTypes = void 0;
|
|
7
15
|
|
|
8
|
-
require("core-js/modules/
|
|
16
|
+
require("core-js/modules/es.object.to-string.js");
|
|
17
|
+
|
|
18
|
+
require("core-js/modules/es.array.iterator.js");
|
|
19
|
+
|
|
20
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
9
21
|
|
|
10
22
|
require("core-js/modules/es.function.name.js");
|
|
11
23
|
|
|
12
|
-
require("core-js/modules/es.
|
|
24
|
+
require("core-js/modules/es.array.join.js");
|
|
13
25
|
|
|
14
|
-
require("core-js/modules/es.
|
|
26
|
+
require("core-js/modules/es.array.concat.js");
|
|
15
27
|
|
|
16
28
|
require("core-js/modules/es.object.assign.js");
|
|
17
29
|
|
|
30
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
31
|
+
|
|
32
|
+
require("core-js/modules/es.symbol.js");
|
|
33
|
+
|
|
34
|
+
require("core-js/modules/es.symbol.description.js");
|
|
35
|
+
|
|
18
36
|
var _docgen = require("../../lib/docgen");
|
|
19
37
|
|
|
20
38
|
var _convert = require("../../lib/convert");
|
|
21
39
|
|
|
40
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
41
|
+
|
|
42
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
43
|
+
|
|
44
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
45
|
+
|
|
46
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
47
|
+
|
|
48
|
+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
49
|
+
|
|
50
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
51
|
+
|
|
22
52
|
var SECTIONS = ['props', 'events', 'slots'];
|
|
53
|
+
/**
|
|
54
|
+
* Check if "@values" tag is defined within docgenInfo.
|
|
55
|
+
* If true, then propDef is mutated.
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
function isEnum(propDef, docgenInfo) {
|
|
59
|
+
// cast as any, since "values" doesn't exist in DocgenInfo type
|
|
60
|
+
var _ref = docgenInfo,
|
|
61
|
+
type = _ref.type,
|
|
62
|
+
values = _ref.values;
|
|
63
|
+
var matched = Array.isArray(values) && values.length && type.name !== 'enum';
|
|
64
|
+
if (!matched) return false;
|
|
65
|
+
var enumString = values.join(', ');
|
|
66
|
+
var summary = propDef.type.summary;
|
|
67
|
+
summary = summary ? "".concat(summary, ": ").concat(enumString) : enumString;
|
|
68
|
+
Object.assign(propDef.type, Object.assign({}, propDef.type, {
|
|
69
|
+
name: 'enum',
|
|
70
|
+
value: values,
|
|
71
|
+
summary: summary
|
|
72
|
+
}));
|
|
73
|
+
return propDef;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* @returns {Array} result
|
|
77
|
+
* @returns {PropDef} result.def - propDef
|
|
78
|
+
* @returns {boolean} result.isChanged - flag whether propDef is mutated or not.
|
|
79
|
+
* this is needed to prevent sbType from performing convert(docgenInfo).
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
function verifyPropDef(propDef, docgenInfo) {
|
|
84
|
+
var def = propDef;
|
|
85
|
+
var isChanged = false; // another callback can be added here.
|
|
86
|
+
// callback is mutually exclusive from each other.
|
|
87
|
+
|
|
88
|
+
var callbacks = [isEnum];
|
|
89
|
+
|
|
90
|
+
for (var i = 0, len = callbacks.length; i < len; i += 1) {
|
|
91
|
+
var matched = callbacks[i](propDef, docgenInfo);
|
|
92
|
+
|
|
93
|
+
if (matched) {
|
|
94
|
+
def = matched;
|
|
95
|
+
isChanged = true;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return [def, isChanged];
|
|
100
|
+
}
|
|
23
101
|
|
|
24
102
|
var extractArgTypes = function extractArgTypes(component) {
|
|
25
103
|
if (!(0, _docgen.hasDocgen)(component)) {
|
|
@@ -29,18 +107,31 @@ var extractArgTypes = function extractArgTypes(component) {
|
|
|
29
107
|
var results = {};
|
|
30
108
|
SECTIONS.forEach(function (section) {
|
|
31
109
|
var props = (0, _docgen.extractComponentProps)(component, section);
|
|
32
|
-
props.forEach(function (
|
|
33
|
-
var propDef =
|
|
34
|
-
docgenInfo =
|
|
35
|
-
jsDocTags =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
110
|
+
props.forEach(function (_ref2) {
|
|
111
|
+
var propDef = _ref2.propDef,
|
|
112
|
+
docgenInfo = _ref2.docgenInfo,
|
|
113
|
+
jsDocTags = _ref2.jsDocTags;
|
|
114
|
+
|
|
115
|
+
var _verifyPropDef = verifyPropDef(propDef, docgenInfo),
|
|
116
|
+
_verifyPropDef2 = _slicedToArray(_verifyPropDef, 2),
|
|
117
|
+
result = _verifyPropDef2[0],
|
|
118
|
+
isPropDefChanged = _verifyPropDef2[1];
|
|
119
|
+
|
|
120
|
+
var name = result.name,
|
|
121
|
+
type = result.type,
|
|
122
|
+
description = result.description,
|
|
123
|
+
defaultSummary = result.defaultValue,
|
|
124
|
+
required = result.required;
|
|
125
|
+
var sbType;
|
|
126
|
+
|
|
127
|
+
if (isPropDefChanged) {
|
|
128
|
+
sbType = type;
|
|
129
|
+
} else {
|
|
130
|
+
sbType = section === 'props' ? (0, _convert.convert)(docgenInfo) : {
|
|
131
|
+
name: 'void'
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
|
|
44
135
|
results[name] = {
|
|
45
136
|
name: name,
|
|
46
137
|
description: description,
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
1
3
|
import "core-js/modules/es.object.assign.js";
|
|
2
4
|
import "core-js/modules/es.array.filter.js";
|
|
3
5
|
import "core-js/modules/es.function.name.js";
|
|
4
6
|
import "core-js/modules/es.array.map.js";
|
|
7
|
+
import "core-js/modules/es.object.to-string.js";
|
|
8
|
+
import "core-js/modules/es.regexp.to-string.js";
|
|
5
9
|
import "core-js/modules/es.object.keys.js";
|
|
6
10
|
import "core-js/modules/es.symbol.js";
|
|
7
11
|
|
|
@@ -82,7 +86,9 @@ export var Canvas = function Canvas(props) {
|
|
|
82
86
|
previewProps = _getPreviewProps.previewProps;
|
|
83
87
|
|
|
84
88
|
var children = props.children;
|
|
85
|
-
return
|
|
89
|
+
return /*#__PURE__*/React.createElement(MDXProvider, {
|
|
86
90
|
components: resetComponents
|
|
87
|
-
}, /*#__PURE__*/React.createElement(PurePreview,
|
|
91
|
+
}, /*#__PURE__*/React.createElement(PurePreview, _extends({
|
|
92
|
+
key: isLoading.toString()
|
|
93
|
+
}, previewProps), children));
|
|
88
94
|
};
|
package/dist/esm/blocks/Story.js
CHANGED
|
@@ -63,7 +63,7 @@ export var getStoryProps = function getStoryProps(_ref4, story, context) {
|
|
|
63
63
|
}, storyIsInline && {
|
|
64
64
|
parameters: parameters,
|
|
65
65
|
storyFn: function storyFn() {
|
|
66
|
-
return prepareForInline(boundStoryFn, story);
|
|
66
|
+
return prepareForInline(boundStoryFn, context.getStoryContext(story));
|
|
67
67
|
}
|
|
68
68
|
});
|
|
69
69
|
};
|
|
@@ -1,11 +1,81 @@
|
|
|
1
|
-
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
|
|
3
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
+
|
|
5
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
+
|
|
7
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
8
|
+
|
|
9
|
+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
10
|
+
|
|
11
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
|
+
|
|
13
|
+
import "core-js/modules/es.object.to-string.js";
|
|
14
|
+
import "core-js/modules/es.array.iterator.js";
|
|
15
|
+
import "core-js/modules/web.dom-collections.iterator.js";
|
|
2
16
|
import "core-js/modules/es.function.name.js";
|
|
17
|
+
import "core-js/modules/es.array.join.js";
|
|
18
|
+
import "core-js/modules/es.array.concat.js";
|
|
19
|
+
import "core-js/modules/es.object.assign.js";
|
|
20
|
+
import "core-js/modules/web.dom-collections.for-each.js";
|
|
3
21
|
import "core-js/modules/es.symbol.js";
|
|
4
22
|
import "core-js/modules/es.symbol.description.js";
|
|
5
|
-
import "core-js/modules/es.
|
|
23
|
+
import "core-js/modules/es.symbol.iterator.js";
|
|
24
|
+
import "core-js/modules/es.string.iterator.js";
|
|
25
|
+
import "core-js/modules/es.array.slice.js";
|
|
26
|
+
import "core-js/modules/es.array.from.js";
|
|
6
27
|
import { hasDocgen, extractComponentProps } from '../../lib/docgen';
|
|
7
28
|
import { convert } from '../../lib/convert';
|
|
8
29
|
var SECTIONS = ['props', 'events', 'slots'];
|
|
30
|
+
/**
|
|
31
|
+
* Check if "@values" tag is defined within docgenInfo.
|
|
32
|
+
* If true, then propDef is mutated.
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
function isEnum(propDef, docgenInfo) {
|
|
36
|
+
// cast as any, since "values" doesn't exist in DocgenInfo type
|
|
37
|
+
var _ref = docgenInfo,
|
|
38
|
+
type = _ref.type,
|
|
39
|
+
values = _ref.values;
|
|
40
|
+
var matched = Array.isArray(values) && values.length && type.name !== 'enum';
|
|
41
|
+
if (!matched) return false;
|
|
42
|
+
var enumString = values.join(', ');
|
|
43
|
+
var summary = propDef.type.summary;
|
|
44
|
+
summary = summary ? "".concat(summary, ": ").concat(enumString) : enumString;
|
|
45
|
+
Object.assign(propDef.type, Object.assign({}, propDef.type, {
|
|
46
|
+
name: 'enum',
|
|
47
|
+
value: values,
|
|
48
|
+
summary: summary
|
|
49
|
+
}));
|
|
50
|
+
return propDef;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @returns {Array} result
|
|
54
|
+
* @returns {PropDef} result.def - propDef
|
|
55
|
+
* @returns {boolean} result.isChanged - flag whether propDef is mutated or not.
|
|
56
|
+
* this is needed to prevent sbType from performing convert(docgenInfo).
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
function verifyPropDef(propDef, docgenInfo) {
|
|
61
|
+
var def = propDef;
|
|
62
|
+
var isChanged = false; // another callback can be added here.
|
|
63
|
+
// callback is mutually exclusive from each other.
|
|
64
|
+
|
|
65
|
+
var callbacks = [isEnum];
|
|
66
|
+
|
|
67
|
+
for (var i = 0, len = callbacks.length; i < len; i += 1) {
|
|
68
|
+
var matched = callbacks[i](propDef, docgenInfo);
|
|
69
|
+
|
|
70
|
+
if (matched) {
|
|
71
|
+
def = matched;
|
|
72
|
+
isChanged = true;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return [def, isChanged];
|
|
77
|
+
}
|
|
78
|
+
|
|
9
79
|
export var extractArgTypes = function extractArgTypes(component) {
|
|
10
80
|
if (!hasDocgen(component)) {
|
|
11
81
|
return null;
|
|
@@ -14,18 +84,31 @@ export var extractArgTypes = function extractArgTypes(component) {
|
|
|
14
84
|
var results = {};
|
|
15
85
|
SECTIONS.forEach(function (section) {
|
|
16
86
|
var props = extractComponentProps(component, section);
|
|
17
|
-
props.forEach(function (
|
|
18
|
-
var propDef =
|
|
19
|
-
docgenInfo =
|
|
20
|
-
jsDocTags =
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
87
|
+
props.forEach(function (_ref2) {
|
|
88
|
+
var propDef = _ref2.propDef,
|
|
89
|
+
docgenInfo = _ref2.docgenInfo,
|
|
90
|
+
jsDocTags = _ref2.jsDocTags;
|
|
91
|
+
|
|
92
|
+
var _verifyPropDef = verifyPropDef(propDef, docgenInfo),
|
|
93
|
+
_verifyPropDef2 = _slicedToArray(_verifyPropDef, 2),
|
|
94
|
+
result = _verifyPropDef2[0],
|
|
95
|
+
isPropDefChanged = _verifyPropDef2[1];
|
|
96
|
+
|
|
97
|
+
var name = result.name,
|
|
98
|
+
type = result.type,
|
|
99
|
+
description = result.description,
|
|
100
|
+
defaultSummary = result.defaultValue,
|
|
101
|
+
required = result.required;
|
|
102
|
+
var sbType;
|
|
103
|
+
|
|
104
|
+
if (isPropDefChanged) {
|
|
105
|
+
sbType = type;
|
|
106
|
+
} else {
|
|
107
|
+
sbType = section === 'props' ? convert(docgenInfo) : {
|
|
108
|
+
name: 'void'
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
|
|
29
112
|
results[name] = {
|
|
30
113
|
name: name,
|
|
31
114
|
description: description,
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
1
3
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
2
4
|
|
|
3
5
|
import React, { useContext } from 'react';
|
|
@@ -72,7 +74,9 @@ export const Canvas = props => {
|
|
|
72
74
|
const {
|
|
73
75
|
children
|
|
74
76
|
} = props;
|
|
75
|
-
return
|
|
77
|
+
return /*#__PURE__*/React.createElement(MDXProvider, {
|
|
76
78
|
components: resetComponents
|
|
77
|
-
}, /*#__PURE__*/React.createElement(PurePreview,
|
|
79
|
+
}, /*#__PURE__*/React.createElement(PurePreview, _extends({
|
|
80
|
+
key: isLoading.toString()
|
|
81
|
+
}, previewProps), children));
|
|
78
82
|
};
|
|
@@ -1,6 +1,58 @@
|
|
|
1
1
|
import { hasDocgen, extractComponentProps } from '../../lib/docgen';
|
|
2
2
|
import { convert } from '../../lib/convert';
|
|
3
3
|
const SECTIONS = ['props', 'events', 'slots'];
|
|
4
|
+
/**
|
|
5
|
+
* Check if "@values" tag is defined within docgenInfo.
|
|
6
|
+
* If true, then propDef is mutated.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
function isEnum(propDef, docgenInfo) {
|
|
10
|
+
// cast as any, since "values" doesn't exist in DocgenInfo type
|
|
11
|
+
const {
|
|
12
|
+
type,
|
|
13
|
+
values
|
|
14
|
+
} = docgenInfo;
|
|
15
|
+
const matched = Array.isArray(values) && values.length && type.name !== 'enum';
|
|
16
|
+
if (!matched) return false;
|
|
17
|
+
const enumString = values.join(', ');
|
|
18
|
+
let {
|
|
19
|
+
summary
|
|
20
|
+
} = propDef.type;
|
|
21
|
+
summary = summary ? `${summary}: ${enumString}` : enumString;
|
|
22
|
+
Object.assign(propDef.type, Object.assign({}, propDef.type, {
|
|
23
|
+
name: 'enum',
|
|
24
|
+
value: values,
|
|
25
|
+
summary
|
|
26
|
+
}));
|
|
27
|
+
return propDef;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @returns {Array} result
|
|
31
|
+
* @returns {PropDef} result.def - propDef
|
|
32
|
+
* @returns {boolean} result.isChanged - flag whether propDef is mutated or not.
|
|
33
|
+
* this is needed to prevent sbType from performing convert(docgenInfo).
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
function verifyPropDef(propDef, docgenInfo) {
|
|
38
|
+
let def = propDef;
|
|
39
|
+
let isChanged = false; // another callback can be added here.
|
|
40
|
+
// callback is mutually exclusive from each other.
|
|
41
|
+
|
|
42
|
+
const callbacks = [isEnum];
|
|
43
|
+
|
|
44
|
+
for (let i = 0, len = callbacks.length; i < len; i += 1) {
|
|
45
|
+
const matched = callbacks[i](propDef, docgenInfo);
|
|
46
|
+
|
|
47
|
+
if (matched) {
|
|
48
|
+
def = matched;
|
|
49
|
+
isChanged = true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return [def, isChanged];
|
|
54
|
+
}
|
|
55
|
+
|
|
4
56
|
export const extractArgTypes = component => {
|
|
5
57
|
if (!hasDocgen(component)) {
|
|
6
58
|
return null;
|
|
@@ -14,16 +66,24 @@ export const extractArgTypes = component => {
|
|
|
14
66
|
docgenInfo,
|
|
15
67
|
jsDocTags
|
|
16
68
|
}) => {
|
|
69
|
+
const [result, isPropDefChanged] = verifyPropDef(propDef, docgenInfo);
|
|
17
70
|
const {
|
|
18
71
|
name,
|
|
19
72
|
type,
|
|
20
73
|
description,
|
|
21
74
|
defaultValue: defaultSummary,
|
|
22
75
|
required
|
|
23
|
-
} =
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
76
|
+
} = result;
|
|
77
|
+
let sbType;
|
|
78
|
+
|
|
79
|
+
if (isPropDefChanged) {
|
|
80
|
+
sbType = type;
|
|
81
|
+
} else {
|
|
82
|
+
sbType = section === 'props' ? convert(docgenInfo) : {
|
|
83
|
+
name: 'void'
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
|
|
27
87
|
results[name] = {
|
|
28
88
|
name,
|
|
29
89
|
description,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/addon-docs",
|
|
3
|
-
"version": "6.4.0-beta.
|
|
3
|
+
"version": "6.4.0-beta.8",
|
|
4
4
|
"description": "Document component usage and properties in Markdown",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"addon",
|
|
@@ -63,22 +63,22 @@
|
|
|
63
63
|
"@mdx-js/loader": "^1.6.22",
|
|
64
64
|
"@mdx-js/mdx": "^1.6.22",
|
|
65
65
|
"@mdx-js/react": "^1.6.22",
|
|
66
|
-
"@storybook/addons": "6.4.0-beta.
|
|
67
|
-
"@storybook/api": "6.4.0-beta.
|
|
68
|
-
"@storybook/builder-webpack4": "6.4.0-beta.
|
|
69
|
-
"@storybook/client-api": "6.4.0-beta.
|
|
70
|
-
"@storybook/client-logger": "6.4.0-beta.
|
|
71
|
-
"@storybook/components": "6.4.0-beta.
|
|
72
|
-
"@storybook/core": "6.4.0-beta.
|
|
73
|
-
"@storybook/core-events": "6.4.0-beta.
|
|
66
|
+
"@storybook/addons": "6.4.0-beta.8",
|
|
67
|
+
"@storybook/api": "6.4.0-beta.8",
|
|
68
|
+
"@storybook/builder-webpack4": "6.4.0-beta.8",
|
|
69
|
+
"@storybook/client-api": "6.4.0-beta.8",
|
|
70
|
+
"@storybook/client-logger": "6.4.0-beta.8",
|
|
71
|
+
"@storybook/components": "6.4.0-beta.8",
|
|
72
|
+
"@storybook/core": "6.4.0-beta.8",
|
|
73
|
+
"@storybook/core-events": "6.4.0-beta.8",
|
|
74
74
|
"@storybook/csf": "0.0.2--canary.6aca495.0",
|
|
75
|
-
"@storybook/csf-tools": "6.4.0-beta.
|
|
76
|
-
"@storybook/node-logger": "6.4.0-beta.
|
|
77
|
-
"@storybook/postinstall": "6.4.0-beta.
|
|
78
|
-
"@storybook/preview-web": "6.4.0-beta.
|
|
79
|
-
"@storybook/source-loader": "6.4.0-beta.
|
|
80
|
-
"@storybook/store": "6.4.0-beta.
|
|
81
|
-
"@storybook/theming": "6.4.0-beta.
|
|
75
|
+
"@storybook/csf-tools": "6.4.0-beta.8",
|
|
76
|
+
"@storybook/node-logger": "6.4.0-beta.8",
|
|
77
|
+
"@storybook/postinstall": "6.4.0-beta.8",
|
|
78
|
+
"@storybook/preview-web": "6.4.0-beta.8",
|
|
79
|
+
"@storybook/source-loader": "6.4.0-beta.8",
|
|
80
|
+
"@storybook/store": "6.4.0-beta.8",
|
|
81
|
+
"@storybook/theming": "6.4.0-beta.8",
|
|
82
82
|
"acorn": "^7.4.1",
|
|
83
83
|
"acorn-jsx": "^5.3.1",
|
|
84
84
|
"acorn-walk": "^7.2.0",
|
|
@@ -107,11 +107,11 @@
|
|
|
107
107
|
"@babel/core": "^7.12.10",
|
|
108
108
|
"@emotion/core": "^10.1.1",
|
|
109
109
|
"@emotion/styled": "^10.0.27",
|
|
110
|
-
"@storybook/angular": "6.4.0-beta.
|
|
111
|
-
"@storybook/html": "6.4.0-beta.
|
|
112
|
-
"@storybook/react": "6.4.0-beta.
|
|
113
|
-
"@storybook/vue": "6.4.0-beta.
|
|
114
|
-
"@storybook/web-components": "6.4.0-beta.
|
|
110
|
+
"@storybook/angular": "6.4.0-beta.8",
|
|
111
|
+
"@storybook/html": "6.4.0-beta.8",
|
|
112
|
+
"@storybook/react": "6.4.0-beta.8",
|
|
113
|
+
"@storybook/vue": "6.4.0-beta.8",
|
|
114
|
+
"@storybook/web-components": "6.4.0-beta.8",
|
|
115
115
|
"@types/cross-spawn": "^6.0.2",
|
|
116
116
|
"@types/doctrine": "^0.0.3",
|
|
117
117
|
"@types/enzyme": "^3.10.8",
|
|
@@ -141,12 +141,12 @@
|
|
|
141
141
|
"zone.js": "^0.11.3"
|
|
142
142
|
},
|
|
143
143
|
"peerDependencies": {
|
|
144
|
-
"@storybook/angular": "6.4.0-beta.
|
|
145
|
-
"@storybook/html": "6.4.0-beta.
|
|
146
|
-
"@storybook/react": "6.4.0-beta.
|
|
147
|
-
"@storybook/vue": "6.4.0-beta.
|
|
148
|
-
"@storybook/vue3": "6.4.0-beta.
|
|
149
|
-
"@storybook/web-components": "6.4.0-beta.
|
|
144
|
+
"@storybook/angular": "6.4.0-beta.8",
|
|
145
|
+
"@storybook/html": "6.4.0-beta.8",
|
|
146
|
+
"@storybook/react": "6.4.0-beta.8",
|
|
147
|
+
"@storybook/vue": "6.4.0-beta.8",
|
|
148
|
+
"@storybook/vue3": "6.4.0-beta.8",
|
|
149
|
+
"@storybook/web-components": "6.4.0-beta.8",
|
|
150
150
|
"lit": "^2.0.0-rc.1",
|
|
151
151
|
"lit-html": "^1.4.1 || ^2.0.0-rc.3",
|
|
152
152
|
"react": "^16.8.0 || ^17.0.0",
|
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
"publishConfig": {
|
|
204
204
|
"access": "public"
|
|
205
205
|
},
|
|
206
|
-
"gitHead": "
|
|
206
|
+
"gitHead": "7f1ecb08225a3f146f9d6013a89e2a6d4d3dcd11",
|
|
207
207
|
"sbmodern": "dist/modern/index.js",
|
|
208
208
|
"storybook": {
|
|
209
209
|
"displayName": "Docs",
|