@storybook/addon-docs 7.0.0-alpha.1 → 7.0.0-alpha.12

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.
Files changed (92) hide show
  1. package/blocks.js +1 -1
  2. package/dist/cjs/blocks/index.js +5 -359
  3. package/dist/cjs/index.js +1 -7
  4. package/dist/cjs/manager.js +9 -15
  5. package/dist/cjs/preset.js +131 -288
  6. package/dist/cjs/preview.js +9 -103
  7. package/dist/cjs/shared.js +5 -5
  8. package/dist/esm/blocks/index.js +1 -24
  9. package/dist/esm/preset.js +9 -1
  10. package/dist/esm/preview.js +6 -2
  11. package/dist/types/blocks/index.d.ts +1 -24
  12. package/dist/types/preset.d.ts +7 -2
  13. package/dist/types/preview.d.ts +1 -6
  14. package/package.json +20 -17
  15. package/dist/cjs/blocks/Anchor.js +0 -26
  16. package/dist/cjs/blocks/ArgsTable.js +0 -400
  17. package/dist/cjs/blocks/Canvas.js +0 -144
  18. package/dist/cjs/blocks/Description.js +0 -153
  19. package/dist/cjs/blocks/DocsContainer.js +0 -155
  20. package/dist/cjs/blocks/DocsContext.js +0 -25
  21. package/dist/cjs/blocks/DocsPage.js +0 -32
  22. package/dist/cjs/blocks/DocsStory.js +0 -78
  23. package/dist/cjs/blocks/Heading.js +0 -35
  24. package/dist/cjs/blocks/Meta.js +0 -72
  25. package/dist/cjs/blocks/Preview.js +0 -29
  26. package/dist/cjs/blocks/Primary.js +0 -67
  27. package/dist/cjs/blocks/Props.js +0 -35
  28. package/dist/cjs/blocks/Source.js +0 -197
  29. package/dist/cjs/blocks/SourceContainer.js +0 -116
  30. package/dist/cjs/blocks/Stories.js +0 -82
  31. package/dist/cjs/blocks/Story.js +0 -263
  32. package/dist/cjs/blocks/Subheading.js +0 -35
  33. package/dist/cjs/blocks/Subtitle.js +0 -59
  34. package/dist/cjs/blocks/Title.js +0 -68
  35. package/dist/cjs/blocks/Wrapper.js +0 -21
  36. package/dist/cjs/blocks/enhanceSource.js +0 -129
  37. package/dist/cjs/blocks/mdx.js +0 -245
  38. package/dist/cjs/blocks/types.js +0 -10
  39. package/dist/cjs/blocks/useStory.js +0 -122
  40. package/dist/cjs/blocks/utils.js +0 -61
  41. package/dist/esm/blocks/Anchor.js +0 -8
  42. package/dist/esm/blocks/ArgsTable.js +0 -292
  43. package/dist/esm/blocks/Canvas.js +0 -83
  44. package/dist/esm/blocks/Description.js +0 -107
  45. package/dist/esm/blocks/DocsContainer.js +0 -98
  46. package/dist/esm/blocks/DocsContext.js +0 -16
  47. package/dist/esm/blocks/DocsPage.js +0 -11
  48. package/dist/esm/blocks/DocsStory.js +0 -46
  49. package/dist/esm/blocks/Heading.js +0 -17
  50. package/dist/esm/blocks/Meta.js +0 -31
  51. package/dist/esm/blocks/Preview.js +0 -9
  52. package/dist/esm/blocks/Primary.js +0 -23
  53. package/dist/esm/blocks/Props.js +0 -14
  54. package/dist/esm/blocks/Source.js +0 -144
  55. package/dist/esm/blocks/SourceContainer.js +0 -44
  56. package/dist/esm/blocks/Stories.js +0 -30
  57. package/dist/esm/blocks/Story.js +0 -166
  58. package/dist/esm/blocks/Subheading.js +0 -17
  59. package/dist/esm/blocks/Subtitle.js +0 -23
  60. package/dist/esm/blocks/Title.js +0 -24
  61. package/dist/esm/blocks/Wrapper.js +0 -8
  62. package/dist/esm/blocks/enhanceSource.js +0 -87
  63. package/dist/esm/blocks/mdx.js +0 -203
  64. package/dist/esm/blocks/types.js +0 -2
  65. package/dist/esm/blocks/useStory.js +0 -27
  66. package/dist/esm/blocks/utils.js +0 -29
  67. package/dist/types/blocks/Anchor.d.ts +0 -6
  68. package/dist/types/blocks/ArgsTable.d.ts +0 -33
  69. package/dist/types/blocks/Canvas.d.ts +0 -9
  70. package/dist/types/blocks/Description.d.ts +0 -20
  71. package/dist/types/blocks/DocsContainer.d.ts +0 -7
  72. package/dist/types/blocks/DocsContext.d.ts +0 -5
  73. package/dist/types/blocks/DocsPage.d.ts +0 -2
  74. package/dist/types/blocks/DocsStory.d.ts +0 -3
  75. package/dist/types/blocks/Heading.d.ts +0 -6
  76. package/dist/types/blocks/Meta.d.ts +0 -9
  77. package/dist/types/blocks/Preview.d.ts +0 -3
  78. package/dist/types/blocks/Primary.d.ts +0 -6
  79. package/dist/types/blocks/Props.d.ts +0 -3
  80. package/dist/types/blocks/Source.d.ts +0 -38
  81. package/dist/types/blocks/SourceContainer.d.ts +0 -14
  82. package/dist/types/blocks/Stories.d.ts +0 -7
  83. package/dist/types/blocks/Story.d.ts +0 -28
  84. package/dist/types/blocks/Subheading.d.ts +0 -3
  85. package/dist/types/blocks/Subtitle.d.ts +0 -6
  86. package/dist/types/blocks/Title.d.ts +0 -8
  87. package/dist/types/blocks/Wrapper.d.ts +0 -2
  88. package/dist/types/blocks/enhanceSource.d.ts +0 -3
  89. package/dist/types/blocks/mdx.d.ts +0 -20
  90. package/dist/types/blocks/types.d.ts +0 -13
  91. package/dist/types/blocks/useStory.d.ts +0 -5
  92. package/dist/types/blocks/utils.d.ts +0 -3
@@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SourceType = exports.SNIPPET_RENDERED = exports.PARAM_KEY = exports.PANEL_ID = exports.ADDON_ID = void 0;
7
- var ADDON_ID = 'storybook/docs';
7
+ const ADDON_ID = 'storybook/docs';
8
8
  exports.ADDON_ID = ADDON_ID;
9
- var PANEL_ID = "".concat(ADDON_ID, "/panel");
9
+ const PANEL_ID = `${ADDON_ID}/panel`;
10
10
  exports.PANEL_ID = PANEL_ID;
11
- var PARAM_KEY = "docs";
11
+ const PARAM_KEY = `docs`;
12
12
  exports.PARAM_KEY = PARAM_KEY;
13
- var SNIPPET_RENDERED = "".concat(ADDON_ID, "/snippet-rendered");
13
+ const SNIPPET_RENDERED = `${ADDON_ID}/snippet-rendered`;
14
14
  exports.SNIPPET_RENDERED = SNIPPET_RENDERED;
15
- var SourceType;
15
+ let SourceType;
16
16
  exports.SourceType = SourceType;
17
17
 
18
18
  (function (SourceType) {
@@ -1,24 +1 @@
1
- export { ColorPalette, ColorItem, IconGallery, IconItem, Typeset } from '@storybook/components';
2
- export * from './Anchor';
3
- export * from './ArgsTable';
4
- export * from './Canvas';
5
- export * from './Description';
6
- export * from './DocsContext';
7
- export * from './DocsPage';
8
- export * from './DocsContainer';
9
- export * from './DocsStory';
10
- export * from './Heading';
11
- export * from './Meta';
12
- export * from './Preview';
13
- export * from './Primary';
14
- export * from './Props';
15
- export * from './Source';
16
- export * from './SourceContainer';
17
- export * from './Stories';
18
- export * from './Story';
19
- export * from './Subheading';
20
- export * from './Subtitle';
21
- export * from './Title';
22
- export * from './Wrapper';
23
- export * from './types';
24
- export * from './mdx';
1
+ export * from '@storybook/blocks';
@@ -127,6 +127,14 @@ export const storyIndexers = async indexers => {
127
127
 
128
128
  return [{
129
129
  test: /(stories|story)\.mdx$/,
130
- indexer: mdxIndexer
130
+ indexer: mdxIndexer,
131
+ addDocsTemplate: true
131
132
  }, ...(indexers || [])];
133
+ };
134
+ export const docs = docsOptions => {
135
+ return Object.assign({}, docsOptions, {
136
+ enabled: true,
137
+ defaultName: 'Docs',
138
+ docsPage: true
139
+ });
132
140
  };
@@ -1,6 +1,10 @@
1
1
  export const parameters = {
2
2
  docs: {
3
- getContainer: async () => (await import('./blocks')).DocsContainer,
4
- getPage: async () => (await import('./blocks')).DocsPage
3
+ renderer: async () => {
4
+ const {
5
+ DocsRenderer
6
+ } = await import('./blocks');
7
+ return new DocsRenderer();
8
+ }
5
9
  }
6
10
  };
@@ -1,24 +1 @@
1
- export { ColorPalette, ColorItem, IconGallery, IconItem, Typeset } from '@storybook/components';
2
- export * from './Anchor';
3
- export * from './ArgsTable';
4
- export * from './Canvas';
5
- export * from './Description';
6
- export * from './DocsContext';
7
- export * from './DocsPage';
8
- export * from './DocsContainer';
9
- export * from './DocsStory';
10
- export * from './Heading';
11
- export * from './Meta';
12
- export * from './Preview';
13
- export * from './Primary';
14
- export * from './Props';
15
- export * from './Source';
16
- export * from './SourceContainer';
17
- export * from './Stories';
18
- export * from './Story';
19
- export * from './Subheading';
20
- export * from './Subtitle';
21
- export * from './Title';
22
- export * from './Wrapper';
23
- export * from './types';
24
- export * from './mdx';
1
+ export * from '@storybook/blocks';
@@ -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?: StoryIndexer[]) => Promise<StoryIndexer[]>;
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 {};
@@ -1,6 +1 @@
1
- export declare const parameters: {
2
- docs: {
3
- getContainer: () => Promise<import("react").FunctionComponent<import("./blocks").DocsContainerProps<import("@storybook/csf").AnyFramework>>>;
4
- getPage: () => Promise<import("react").FC<{}>>;
5
- };
6
- };
1
+ export declare const parameters: any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-docs",
3
- "version": "7.0.0-alpha.1",
3
+ "version": "7.0.0-alpha.12",
4
4
  "description": "Document component usage and properties in Markdown",
5
5
  "keywords": [
6
6
  "addon",
@@ -45,6 +45,7 @@
45
45
  "!__testfixtures__"
46
46
  ],
47
47
  "scripts": {
48
+ "check": "tsc --noEmit",
48
49
  "prepare": "node ../../scripts/prepare.js"
49
50
  },
50
51
  "dependencies": {
@@ -52,26 +53,27 @@
52
53
  "@babel/preset-env": "^7.12.11",
53
54
  "@jest/transform": "^26.6.2",
54
55
  "@mdx-js/react": "^1.6.22",
55
- "@storybook/addons": "7.0.0-alpha.1",
56
- "@storybook/api": "7.0.0-alpha.1",
57
- "@storybook/components": "7.0.0-alpha.1",
58
- "@storybook/core-common": "7.0.0-alpha.1",
59
- "@storybook/core-events": "7.0.0-alpha.1",
56
+ "@storybook/addons": "7.0.0-alpha.12",
57
+ "@storybook/api": "7.0.0-alpha.12",
58
+ "@storybook/blocks": "7.0.0-alpha.12",
59
+ "@storybook/components": "7.0.0-alpha.12",
60
+ "@storybook/core-common": "7.0.0-alpha.12",
61
+ "@storybook/core-events": "7.0.0-alpha.12",
60
62
  "@storybook/csf": "0.0.2--canary.4566f4d.1",
61
- "@storybook/docs-tools": "7.0.0-alpha.1",
63
+ "@storybook/csf-tools": "7.0.0-alpha.12",
64
+ "@storybook/docs-tools": "7.0.0-alpha.12",
62
65
  "@storybook/mdx1-csf": "^0.0.1",
63
- "@storybook/node-logger": "7.0.0-alpha.1",
64
- "@storybook/postinstall": "7.0.0-alpha.1",
65
- "@storybook/preview-web": "7.0.0-alpha.1",
66
- "@storybook/source-loader": "7.0.0-alpha.1",
67
- "@storybook/store": "7.0.0-alpha.1",
68
- "@storybook/theming": "7.0.0-alpha.1",
66
+ "@storybook/node-logger": "7.0.0-alpha.12",
67
+ "@storybook/postinstall": "7.0.0-alpha.12",
68
+ "@storybook/preview-web": "7.0.0-alpha.12",
69
+ "@storybook/source-loader": "7.0.0-alpha.12",
70
+ "@storybook/store": "7.0.0-alpha.12",
71
+ "@storybook/theming": "7.0.0-alpha.12",
69
72
  "babel-loader": "^8.2.5",
70
73
  "core-js": "^3.8.2",
71
- "fast-deep-equal": "^3.1.3",
74
+ "dequal": "^2.0.2",
72
75
  "global": "^4.4.0",
73
76
  "lodash": "^4.17.21",
74
- "regenerator-runtime": "^0.13.7",
75
77
  "remark-external-links": "^8.0.0",
76
78
  "remark-slug": "^6.0.0",
77
79
  "ts-dedent": "^2.0.0",
@@ -80,7 +82,8 @@
80
82
  "devDependencies": {
81
83
  "@babel/core": "^7.12.10",
82
84
  "@storybook/mdx2-csf": "^0.0.3",
83
- "@types/util-deprecate": "^1.0.0"
85
+ "@types/util-deprecate": "^1.0.0",
86
+ "typescript": "~4.6.3"
84
87
  },
85
88
  "peerDependencies": {
86
89
  "@storybook/mdx2-csf": "^0.0.3",
@@ -101,7 +104,7 @@
101
104
  "publishConfig": {
102
105
  "access": "public"
103
106
  },
104
- "gitHead": "b90b85210f66da59656c2ef58b0910b156256bea",
107
+ "gitHead": "5070efff271ecb5c26b3eb94c128c4896171cffe",
105
108
  "storybook": {
106
109
  "displayName": "Docs",
107
110
  "icon": "https://user-images.githubusercontent.com/263385/101991672-48355c80-3c7c-11eb-82d9-95fa12438f64.png",
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.anchorBlockIdFromId = exports.Anchor = void 0;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- var anchorBlockIdFromId = function anchorBlockIdFromId(storyId) {
13
- return "anchor--".concat(storyId);
14
- };
15
-
16
- exports.anchorBlockIdFromId = anchorBlockIdFromId;
17
-
18
- var Anchor = function Anchor(_ref) {
19
- var storyId = _ref.storyId,
20
- children = _ref.children;
21
- return /*#__PURE__*/_react.default.createElement("div", {
22
- id: anchorBlockIdFromId(storyId)
23
- }, children);
24
- };
25
-
26
- exports.Anchor = Anchor;
@@ -1,400 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
- require("core-js/modules/es.symbol.js");
6
-
7
- require("core-js/modules/es.symbol.description.js");
8
-
9
- require("core-js/modules/es.symbol.iterator.js");
10
-
11
- require("core-js/modules/es.array.iterator.js");
12
-
13
- require("core-js/modules/es.string.iterator.js");
14
-
15
- require("core-js/modules/web.dom-collections.iterator.js");
16
-
17
- require("core-js/modules/es.array.slice.js");
18
-
19
- require("core-js/modules/es.function.name.js");
20
-
21
- require("core-js/modules/es.array.from.js");
22
-
23
- require("core-js/modules/es.regexp.exec.js");
24
-
25
- require("core-js/modules/es.weak-map.js");
26
-
27
- require("core-js/modules/es.object.get-own-property-descriptor.js");
28
-
29
- Object.defineProperty(exports, "__esModule", {
30
- value: true
31
- });
32
- exports.getComponent = exports.extractComponentArgTypes = exports.StoryTable = exports.ComponentsTable = exports.ArgsTable = void 0;
33
-
34
- require("core-js/modules/es.array.includes.js");
35
-
36
- require("core-js/modules/es.string.includes.js");
37
-
38
- require("core-js/modules/es.object.assign.js");
39
-
40
- require("core-js/modules/es.array.sort.js");
41
-
42
- require("core-js/modules/es.array.find.js");
43
-
44
- require("core-js/modules/es.object.to-string.js");
45
-
46
- require("core-js/modules/es.object.values.js");
47
-
48
- var _react = _interopRequireWildcard(require("react"));
49
-
50
- var _mapValues = _interopRequireDefault(require("lodash/mapValues"));
51
-
52
- var _components = require("@storybook/components");
53
-
54
- var _addons = require("@storybook/addons");
55
-
56
- var _store = require("@storybook/store");
57
-
58
- var _coreEvents = _interopRequireDefault(require("@storybook/core-events"));
59
-
60
- var _DocsContext = require("./DocsContext");
61
-
62
- var _types = require("./types");
63
-
64
- var _utils = require("./utils");
65
-
66
- var _Story = require("./Story");
67
-
68
- var _useStory = require("./useStory");
69
-
70
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
71
-
72
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
73
-
74
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
75
-
76
- function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
77
-
78
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
79
-
80
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
81
-
82
- 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."); }
83
-
84
- 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); }
85
-
86
- 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; }
87
-
88
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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; }
89
-
90
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
91
-
92
- var getContext = function getContext(storyId, context) {
93
- var story = context.storyById(storyId);
94
-
95
- if (!story) {
96
- throw new Error("Unknown story: ".concat(storyId));
97
- }
98
-
99
- return context.getStoryContext(story);
100
- };
101
-
102
- var useArgs = function useArgs(storyId, context) {
103
- var channel = _addons.addons.getChannel();
104
-
105
- var storyContext = getContext(storyId, context);
106
-
107
- var _useState = (0, _react.useState)(storyContext.args),
108
- _useState2 = _slicedToArray(_useState, 2),
109
- args = _useState2[0],
110
- setArgs = _useState2[1];
111
-
112
- (0, _react.useEffect)(function () {
113
- var cb = function cb(changed) {
114
- if (changed.storyId === storyId) {
115
- setArgs(changed.args);
116
- }
117
- };
118
-
119
- channel.on(_coreEvents.default.STORY_ARGS_UPDATED, cb);
120
- return function () {
121
- return channel.off(_coreEvents.default.STORY_ARGS_UPDATED, cb);
122
- };
123
- }, [storyId]);
124
- var updateArgs = (0, _react.useCallback)(function (updatedArgs) {
125
- return channel.emit(_coreEvents.default.UPDATE_STORY_ARGS, {
126
- storyId: storyId,
127
- updatedArgs: updatedArgs
128
- });
129
- }, [storyId]);
130
- var resetArgs = (0, _react.useCallback)(function (argNames) {
131
- return channel.emit(_coreEvents.default.RESET_STORY_ARGS, {
132
- storyId: storyId,
133
- argNames: argNames
134
- });
135
- }, [storyId]);
136
- return [args, updateArgs, resetArgs];
137
- };
138
-
139
- var useGlobals = function useGlobals(storyId, context) {
140
- var channel = _addons.addons.getChannel();
141
-
142
- var storyContext = getContext(storyId, context);
143
-
144
- var _useState3 = (0, _react.useState)(storyContext.globals),
145
- _useState4 = _slicedToArray(_useState3, 2),
146
- globals = _useState4[0],
147
- setGlobals = _useState4[1];
148
-
149
- (0, _react.useEffect)(function () {
150
- var cb = function cb(changed) {
151
- setGlobals(changed.globals);
152
- };
153
-
154
- channel.on(_coreEvents.default.GLOBALS_UPDATED, cb);
155
- return function () {
156
- return channel.off(_coreEvents.default.GLOBALS_UPDATED, cb);
157
- };
158
- }, []);
159
- return [globals];
160
- };
161
-
162
- var extractComponentArgTypes = function extractComponentArgTypes(component, _ref, include, exclude) {
163
- var id = _ref.id,
164
- storyById = _ref.storyById;
165
-
166
- var _storyById = storyById(id),
167
- parameters = _storyById.parameters;
168
-
169
- var _ref2 = parameters.docs || {},
170
- extractArgTypes = _ref2.extractArgTypes;
171
-
172
- if (!extractArgTypes) {
173
- throw new Error(_components.ArgsTableError.ARGS_UNSUPPORTED);
174
- }
175
-
176
- var argTypes = extractArgTypes(component);
177
- argTypes = (0, _store.filterArgTypes)(argTypes, include, exclude);
178
- return argTypes;
179
- };
180
-
181
- exports.extractComponentArgTypes = extractComponentArgTypes;
182
-
183
- var isShortcut = function isShortcut(value) {
184
- return value && [_types.CURRENT_SELECTION, _types.PRIMARY_STORY].includes(value);
185
- };
186
-
187
- var getComponent = function getComponent() {
188
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
189
-
190
- var _ref3 = arguments.length > 1 ? arguments[1] : undefined,
191
- id = _ref3.id,
192
- storyById = _ref3.storyById;
193
-
194
- var _ref4 = props,
195
- of = _ref4.of;
196
- var _ref5 = props,
197
- story = _ref5.story;
198
-
199
- var _storyById2 = storyById(id),
200
- component = _storyById2.component;
201
-
202
- if (isShortcut(of) || isShortcut(story)) {
203
- return component || null;
204
- }
205
-
206
- if (!of) {
207
- throw new Error(_components.ArgsTableError.NO_COMPONENT);
208
- }
209
-
210
- return of;
211
- };
212
-
213
- exports.getComponent = getComponent;
214
-
215
- var addComponentTabs = function addComponentTabs(tabs, components, context, include, exclude, sort) {
216
- return Object.assign({}, tabs, (0, _mapValues.default)(components, function (comp) {
217
- return {
218
- rows: extractComponentArgTypes(comp, context, include, exclude),
219
- sort: sort
220
- };
221
- }));
222
- };
223
-
224
- var StoryTable = function StoryTable(props) {
225
- var context = (0, _react.useContext)(_DocsContext.DocsContext);
226
- var currentId = context.id,
227
- componentStories = context.componentStories;
228
- var storyName = props.story,
229
- component = props.component,
230
- subcomponents = props.subcomponents,
231
- showComponent = props.showComponent,
232
- include = props.include,
233
- exclude = props.exclude,
234
- sort = props.sort;
235
-
236
- try {
237
- var storyId;
238
-
239
- switch (storyName) {
240
- case _types.CURRENT_SELECTION:
241
- {
242
- storyId = currentId;
243
- break;
244
- }
245
-
246
- case _types.PRIMARY_STORY:
247
- {
248
- var primaryStory = componentStories()[0];
249
- storyId = primaryStory.id;
250
- break;
251
- }
252
-
253
- default:
254
- {
255
- storyId = (0, _Story.lookupStoryId)(storyName, context);
256
- }
257
- }
258
-
259
- var story = (0, _useStory.useStory)(storyId, context); // eslint-disable-next-line prefer-const
260
-
261
- var _useArgs = useArgs(storyId, context),
262
- _useArgs2 = _slicedToArray(_useArgs, 3),
263
- args = _useArgs2[0],
264
- updateArgs = _useArgs2[1],
265
- resetArgs = _useArgs2[2];
266
-
267
- var _useGlobals = useGlobals(storyId, context),
268
- _useGlobals2 = _slicedToArray(_useGlobals, 1),
269
- globals = _useGlobals2[0];
270
-
271
- if (!story) return /*#__PURE__*/_react.default.createElement(_components.ArgsTable, {
272
- isLoading: true,
273
- updateArgs: updateArgs,
274
- resetArgs: resetArgs
275
- });
276
- var argTypes = (0, _store.filterArgTypes)(story.argTypes, include, exclude);
277
- var mainLabel = (0, _utils.getComponentName)(component) || 'Story';
278
-
279
- var tabs = _defineProperty({}, mainLabel, {
280
- rows: argTypes,
281
- args: args,
282
- globals: globals,
283
- updateArgs: updateArgs,
284
- resetArgs: resetArgs
285
- }); // Use the dynamically generated component tabs if there are no controls
286
-
287
-
288
- var storyHasArgsWithControls = argTypes && Object.values(argTypes).find(function (v) {
289
- return !!(v !== null && v !== void 0 && v.control);
290
- });
291
-
292
- if (!storyHasArgsWithControls) {
293
- updateArgs = null;
294
- resetArgs = null;
295
- tabs = {};
296
- }
297
-
298
- if (component && (!storyHasArgsWithControls || showComponent)) {
299
- tabs = addComponentTabs(tabs, _defineProperty({}, mainLabel, component), context, include, exclude);
300
- }
301
-
302
- if (subcomponents) {
303
- if (Array.isArray(subcomponents)) {
304
- throw new Error("Unexpected subcomponents array. Expected an object whose keys are tab labels and whose values are components.");
305
- }
306
-
307
- tabs = addComponentTabs(tabs, subcomponents, context, include, exclude);
308
- }
309
-
310
- return /*#__PURE__*/_react.default.createElement(_components.TabbedArgsTable, {
311
- tabs: tabs,
312
- sort: sort
313
- });
314
- } catch (err) {
315
- return /*#__PURE__*/_react.default.createElement(_components.ArgsTable, {
316
- error: err.message
317
- });
318
- }
319
- };
320
-
321
- exports.StoryTable = StoryTable;
322
-
323
- var ComponentsTable = function ComponentsTable(props) {
324
- var context = (0, _react.useContext)(_DocsContext.DocsContext);
325
- var components = props.components,
326
- include = props.include,
327
- exclude = props.exclude,
328
- sort = props.sort;
329
- var tabs = addComponentTabs({}, components, context, include, exclude);
330
- return /*#__PURE__*/_react.default.createElement(_components.TabbedArgsTable, {
331
- tabs: tabs,
332
- sort: sort
333
- });
334
- };
335
-
336
- exports.ComponentsTable = ComponentsTable;
337
-
338
- var ArgsTable = function ArgsTable(props) {
339
- var context = (0, _react.useContext)(_DocsContext.DocsContext);
340
- var id = context.id,
341
- storyById = context.storyById;
342
-
343
- var _storyById3 = storyById(id),
344
- controls = _storyById3.parameters.controls,
345
- subcomponents = _storyById3.subcomponents;
346
-
347
- var _ref6 = props,
348
- include = _ref6.include,
349
- exclude = _ref6.exclude,
350
- components = _ref6.components,
351
- sortProp = _ref6.sort;
352
- var _ref7 = props,
353
- storyName = _ref7.story;
354
- var sort = sortProp || (controls === null || controls === void 0 ? void 0 : controls.sort);
355
- var main = getComponent(props, context);
356
-
357
- if (storyName) {
358
- return /*#__PURE__*/_react.default.createElement(StoryTable, _extends({}, props, {
359
- component: main,
360
- subcomponents: subcomponents,
361
- sort: sort
362
- }));
363
- }
364
-
365
- if (!components && !subcomponents) {
366
- var mainProps;
367
-
368
- try {
369
- mainProps = {
370
- rows: extractComponentArgTypes(main, context, include, exclude)
371
- };
372
- } catch (err) {
373
- mainProps = {
374
- error: err.message
375
- };
376
- }
377
-
378
- return /*#__PURE__*/_react.default.createElement(_components.ArgsTable, _extends({}, mainProps, {
379
- sort: sort
380
- }));
381
- }
382
-
383
- if (components) {
384
- return /*#__PURE__*/_react.default.createElement(ComponentsTable, _extends({}, props, {
385
- components: components,
386
- sort: sort
387
- }));
388
- }
389
-
390
- var mainLabel = (0, _utils.getComponentName)(main);
391
- return /*#__PURE__*/_react.default.createElement(ComponentsTable, _extends({}, props, {
392
- components: Object.assign(_defineProperty({}, mainLabel, main), subcomponents),
393
- sort: sort
394
- }));
395
- };
396
-
397
- exports.ArgsTable = ArgsTable;
398
- ArgsTable.defaultProps = {
399
- of: _types.CURRENT_SELECTION
400
- };