@storybook/angular 6.4.0-alpha.9 → 6.4.0-beta.11
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/ts3.4/builders/build-storybook/index.d.ts +2 -1
- package/dist/ts3.4/builders/start-storybook/index.d.ts +2 -1
- package/dist/ts3.4/builders/utils/build-standalone-errors-handler.d.ts +1 -0
- package/dist/ts3.4/client/preview/angular/helpers.d.ts +3 -3
- package/dist/ts3.4/client/preview/angular-beta/AbstractRenderer.d.ts +3 -1
- package/dist/ts3.4/client/preview/angular-beta/CanvasRenderer.d.ts +1 -0
- package/dist/ts3.4/client/preview/angular-beta/DocsRenderer.d.ts +1 -0
- package/dist/ts3.4/client/preview/angular-beta/RendererFactory.d.ts +1 -1
- package/dist/ts3.4/client/preview/angular-beta/StorybookModule.d.ts +2 -3
- package/dist/ts3.4/client/preview/config.d.ts +4 -0
- package/dist/ts3.4/client/preview/decorateStory.d.ts +3 -3
- package/dist/ts3.4/client/preview/decorators.d.ts +5 -4
- package/dist/ts3.4/client/preview/index.d.ts +3 -2
- package/dist/ts3.4/client/preview/render.d.ts +5 -11
- package/dist/ts3.4/client/preview/types-6-0.d.ts +25 -9
- package/dist/ts3.4/client/preview/types-7-0.d.ts +9 -0
- package/dist/ts3.4/client/preview/types.d.ts +2 -1
- package/dist/ts3.4/renderer.d.ts +0 -1
- package/dist/ts3.4/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/src/main.d.ts +1 -0
- package/dist/ts3.4/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/src/main.d.ts +1 -0
- package/dist/ts3.4/server/__mocks-ng-workspace__/without-tsConfig/src/main.d.ts +1 -0
- package/dist/ts3.4/server/angular-devkit-build-webpack.d.ts +1 -1
- package/dist/ts3.4/server/framework-preset-angular-cli.d.ts +1 -0
- package/dist/ts3.9/builders/build-storybook/index.d.ts +2 -1
- package/dist/ts3.9/builders/build-storybook/index.js +35 -16
- package/dist/ts3.9/builders/build-storybook/schema.json +14 -2
- package/dist/ts3.9/builders/start-storybook/index.d.ts +2 -1
- package/dist/ts3.9/builders/start-storybook/index.js +35 -16
- package/dist/ts3.9/builders/start-storybook/schema.json +14 -2
- package/dist/ts3.9/builders/utils/build-standalone-errors-handler.d.ts +1 -0
- package/dist/ts3.9/builders/utils/build-standalone-errors-handler.js +36 -0
- package/dist/ts3.9/client/preview/angular/helpers.d.ts +3 -3
- package/dist/ts3.9/client/preview/angular-beta/AbstractRenderer.d.ts +3 -1
- package/dist/ts3.9/client/preview/angular-beta/AbstractRenderer.js +5 -3
- package/dist/ts3.9/client/preview/angular-beta/CanvasRenderer.d.ts +1 -0
- package/dist/ts3.9/client/preview/angular-beta/ComputesTemplateFromComponent.js +3 -1
- package/dist/ts3.9/client/preview/angular-beta/DocsRenderer.d.ts +1 -0
- package/dist/ts3.9/client/preview/angular-beta/RendererFactory.d.ts +1 -1
- package/dist/ts3.9/client/preview/angular-beta/RendererFactory.js +6 -0
- package/dist/ts3.9/client/preview/angular-beta/StorybookModule.d.ts +2 -3
- package/dist/ts3.9/client/preview/angular-beta/StorybookModule.js +2 -2
- package/dist/ts3.9/client/preview/angular-beta/utils/NgComponentAnalyzer.js +14 -2
- package/dist/ts3.9/client/preview/config.d.ts +4 -0
- package/dist/ts3.9/client/preview/config.js +7 -0
- package/dist/ts3.9/client/preview/decorateStory.d.ts +3 -3
- package/dist/ts3.9/client/preview/decorateStory.js +7 -28
- package/dist/ts3.9/client/preview/decorators.d.ts +5 -4
- package/dist/ts3.9/client/preview/decorators.js +2 -0
- package/dist/ts3.9/client/preview/index.d.ts +3 -2
- package/dist/ts3.9/client/preview/index.js +2 -3
- package/dist/ts3.9/client/preview/render.d.ts +5 -11
- package/dist/ts3.9/client/preview/render.js +10 -9
- package/dist/ts3.9/client/preview/types-6-0.d.ts +25 -9
- package/dist/ts3.9/client/preview/types-7-0.d.ts +9 -0
- package/dist/ts3.9/client/preview/types-7-0.js +2 -0
- package/dist/ts3.9/client/preview/types.d.ts +2 -1
- package/dist/ts3.9/renderer.d.ts +0 -1
- package/dist/ts3.9/renderer.js +0 -2
- package/dist/ts3.9/server/__mocks-ng-workspace__/with-angularBrowserTarget/angular.json +32 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/angular.json +28 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/src/main.d.ts +1 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/src/main.js +5 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/tsconfig.lib.json +25 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/tsconfig.json +13 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/src/main.d.ts +1 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/src/main.js +5 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/tsconfig.lib.json +25 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-projects-entry/tsconfig.json +13 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/angular.json +16 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/src/main.d.ts +1 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/src/main.js +5 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/src/tsconfig.app.json +9 -0
- package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/tsconfig.json +13 -0
- package/dist/ts3.9/server/angular-devkit-build-webpack.d.ts +1 -1
- package/dist/ts3.9/server/angular-devkit-build-webpack.js +20 -10
- package/dist/ts3.9/server/build.js +58 -1
- package/dist/ts3.9/server/framework-preset-angular-cli.d.ts +1 -0
- package/dist/ts3.9/server/framework-preset-angular-cli.js +23 -13
- package/package.json +13 -10
- package/preset.js +7 -0
- package/standalone.d.ts +2 -1
- package/dist/ts3.4/client/preview/angular-beta/ElementRendererService.d.ts +0 -17
- package/dist/ts3.4/client/preview/angular-beta/RendererService.d.ts +0 -35
- package/dist/ts3.4/element-renderer.d.ts +0 -1
- package/dist/ts3.9/client/preview/angular-beta/ElementRendererService.d.ts +0 -17
- package/dist/ts3.9/client/preview/angular-beta/ElementRendererService.js +0 -115
- package/dist/ts3.9/client/preview/angular-beta/RendererService.d.ts +0 -35
- package/dist/ts3.9/client/preview/angular-beta/RendererService.js +0 -170
- package/dist/ts3.9/element-renderer.d.ts +0 -1
- package/dist/ts3.9/element-renderer.js +0 -4
- package/element-renderer.d.ts +0 -1
- package/element-renderer.js +0 -1
|
@@ -60,6 +60,7 @@ exports.AbstractRenderer = void 0;
|
|
|
60
60
|
var core_1 = require("@angular/core");
|
|
61
61
|
var platform_browser_dynamic_1 = require("@angular/platform-browser-dynamic");
|
|
62
62
|
var rxjs_1 = require("rxjs");
|
|
63
|
+
var telejson_1 = require("telejson");
|
|
63
64
|
var StorybookModule_1 = require("./StorybookModule");
|
|
64
65
|
// platform must be init only if render is called at least once
|
|
65
66
|
var platformRef;
|
|
@@ -113,11 +114,12 @@ var AbstractRenderer = /** @class */ (function () {
|
|
|
113
114
|
* @param forced {boolean} If :
|
|
114
115
|
* - true render will only use the StoryFn `props' in storyProps observable that will update sotry's component/template properties. Improves performance without reloading the whole module&component if props changes
|
|
115
116
|
* - false fully recharges or initializes angular module & component
|
|
117
|
+
* @param component {Component}
|
|
116
118
|
* @param parameters {Parameters}
|
|
117
119
|
*/
|
|
118
120
|
AbstractRenderer.prototype.render = function (_a) {
|
|
119
121
|
var _b;
|
|
120
|
-
var storyFnAngular = _a.storyFnAngular, forced = _a.forced, parameters = _a.parameters, targetDOMNode = _a.targetDOMNode;
|
|
122
|
+
var storyFnAngular = _a.storyFnAngular, forced = _a.forced, parameters = _a.parameters, component = _a.component, targetDOMNode = _a.targetDOMNode;
|
|
121
123
|
return __awaiter(this, void 0, void 0, function () {
|
|
122
124
|
var targetSelector, newStoryProps$, moduleMetadata;
|
|
123
125
|
return __generator(this, function (_c) {
|
|
@@ -125,7 +127,7 @@ var AbstractRenderer = /** @class */ (function () {
|
|
|
125
127
|
case 0:
|
|
126
128
|
targetSelector = "" + this.storyId;
|
|
127
129
|
newStoryProps$ = new rxjs_1.BehaviorSubject(storyFnAngular.props);
|
|
128
|
-
moduleMetadata = StorybookModule_1.getStorybookModuleMetadata({ storyFnAngular: storyFnAngular,
|
|
130
|
+
moduleMetadata = StorybookModule_1.getStorybookModuleMetadata({ storyFnAngular: storyFnAngular, component: component, targetSelector: targetSelector }, newStoryProps$);
|
|
129
131
|
if (!this.fullRendererRequired({
|
|
130
132
|
storyFnAngular: storyFnAngular,
|
|
131
133
|
moduleMetadata: moduleMetadata,
|
|
@@ -166,7 +168,7 @@ var AbstractRenderer = /** @class */ (function () {
|
|
|
166
168
|
var previousStoryRenderInfo = this.previousStoryRenderInfo;
|
|
167
169
|
var currentStoryRender = {
|
|
168
170
|
storyFnAngular: storyFnAngular,
|
|
169
|
-
moduleMetadataSnapshot:
|
|
171
|
+
moduleMetadataSnapshot: telejson_1.stringify(moduleMetadata),
|
|
170
172
|
};
|
|
171
173
|
this.previousStoryRenderInfo = currentStoryRender;
|
|
172
174
|
if (
|
|
@@ -93,7 +93,9 @@ exports.computesTemplateSourceFromComponent = function (component, initialProps,
|
|
|
93
93
|
return buildTemplate(ngComponentMetadata.selector, '', templateInputs, templateOutputs);
|
|
94
94
|
};
|
|
95
95
|
var buildTemplate = function (selector, innerTemplate, inputs, outputs) {
|
|
96
|
+
var firstSelector = selector.split(',')[0];
|
|
96
97
|
var templateReplacers = [
|
|
98
|
+
[/(^.*?)(?=[,])/, '$1'],
|
|
97
99
|
[/(^\..+)/, 'div$1'],
|
|
98
100
|
[/(^\[.+?])/, 'div$1'],
|
|
99
101
|
[/([\w[\]]+)(\s*,[\w\s-[\],]+)+/, "$1"],
|
|
@@ -105,6 +107,6 @@ var buildTemplate = function (selector, innerTemplate, inputs, outputs) {
|
|
|
105
107
|
return templateReplacers.reduce(function (prevSelector, _a) {
|
|
106
108
|
var searchValue = _a[0], replacer = _a[1];
|
|
107
109
|
return prevSelector.replace(searchValue, replacer);
|
|
108
|
-
},
|
|
110
|
+
}, firstSelector);
|
|
109
111
|
};
|
|
110
112
|
var templateObject_1, templateObject_2;
|
|
@@ -3,7 +3,7 @@ declare type RenderType = 'canvas' | 'docs';
|
|
|
3
3
|
export declare class RendererFactory {
|
|
4
4
|
private lastRenderType;
|
|
5
5
|
private rendererMap;
|
|
6
|
-
getRendererInstance(storyId: string, targetDOMNode: HTMLElement): Promise<AbstractRenderer>;
|
|
6
|
+
getRendererInstance(storyId: string, targetDOMNode: HTMLElement): Promise<AbstractRenderer | null>;
|
|
7
7
|
private buildRenderer;
|
|
8
8
|
}
|
|
9
9
|
export declare const getRenderType: (targetDOMNode: HTMLElement) => RenderType;
|
|
@@ -50,6 +50,12 @@ var RendererFactory = /** @class */ (function () {
|
|
|
50
50
|
return __generator(this, function (_a) {
|
|
51
51
|
switch (_a.label) {
|
|
52
52
|
case 0:
|
|
53
|
+
// do nothing if the target node is null
|
|
54
|
+
// fix a problem when the docs asks 2 times the same component at the same time
|
|
55
|
+
// the 1st targetDOMNode of the 1st requested rendering becomes null 🤷♂️
|
|
56
|
+
if (targetDOMNode === null) {
|
|
57
|
+
return [2 /*return*/, null];
|
|
58
|
+
}
|
|
53
59
|
renderType = exports.getRenderType(targetDOMNode);
|
|
54
60
|
if (!(this.lastRenderType && this.lastRenderType !== renderType)) return [3 /*break*/, 2];
|
|
55
61
|
return [4 /*yield*/, AbstractRenderer_1.AbstractRenderer.resetPlatformBrowserDynamic()];
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { NgModule, Type } from '@angular/core';
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import { ICollection, StoryFnAngularReturnType } from '../types';
|
|
4
|
-
|
|
5
|
-
export declare const getStorybookModuleMetadata: ({ storyFnAngular, parameters, targetSelector, }: {
|
|
4
|
+
export declare const getStorybookModuleMetadata: ({ storyFnAngular, component: annotatedComponent, targetSelector, }: {
|
|
6
5
|
storyFnAngular: StoryFnAngularReturnType;
|
|
7
|
-
|
|
6
|
+
component?: any;
|
|
8
7
|
targetSelector: string;
|
|
9
8
|
}, storyProps$: Subject<ICollection>) => NgModule;
|
|
10
9
|
export declare const createStorybookModule: (ngModule: NgModule) => Type<unknown>;
|
|
@@ -33,13 +33,13 @@ var ComputesTemplateFromComponent_1 = require("./ComputesTemplateFromComponent")
|
|
|
33
33
|
var deprecatedStoryComponentWarning = util_deprecate_1.default(function () { }, ts_dedent_1.default(templateObject_1 || (templateObject_1 = __makeTemplateObject(["`component` story return value is deprecated, and will be removed in Storybook 7.0.\n Instead, use `export const default = () => ({ component: AppComponent });`\n or\n ```\n export const Primary: Story = () => ({});\n Primary.parameters = { component: AppComponent };\n ```\n Read more at \n - https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#deprecated-angular-story-component).\n - https://storybook.js.org/docs/angular/writing-stories/parameters\n "], ["\\`component\\` story return value is deprecated, and will be removed in Storybook 7.0.\n Instead, use \\`export const default = () => ({ component: AppComponent });\\`\n or\n \\`\\`\\`\n export const Primary: Story = () => ({});\n Primary.parameters = { component: AppComponent };\n \\`\\`\\`\n Read more at \n - https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#deprecated-angular-story-component).\n - https://storybook.js.org/docs/angular/writing-stories/parameters\n "]))));
|
|
34
34
|
exports.getStorybookModuleMetadata = function (_a, storyProps$) {
|
|
35
35
|
var _b, _c, _d, _e, _f;
|
|
36
|
-
var storyFnAngular = _a.storyFnAngular,
|
|
36
|
+
var storyFnAngular = _a.storyFnAngular, annotatedComponent = _a.component, targetSelector = _a.targetSelector;
|
|
37
37
|
var storyComponent = storyFnAngular.component, props = storyFnAngular.props, styles = storyFnAngular.styles, _g = storyFnAngular.moduleMetadata, moduleMetadata = _g === void 0 ? {} : _g;
|
|
38
38
|
var template = storyFnAngular.template;
|
|
39
39
|
if (storyComponent) {
|
|
40
40
|
deprecatedStoryComponentWarning();
|
|
41
41
|
}
|
|
42
|
-
var component = storyComponent !== null && storyComponent !== void 0 ? storyComponent :
|
|
42
|
+
var component = storyComponent !== null && storyComponent !== void 0 ? storyComponent : annotatedComponent;
|
|
43
43
|
if (hasNoTemplate(template) && component) {
|
|
44
44
|
template = ComputesTemplateFromComponent_1.computesTemplateFromComponent(component, props, '');
|
|
45
45
|
}
|
|
@@ -45,7 +45,8 @@ exports.getComponentInputsOutputs = function (component) {
|
|
|
45
45
|
// Filters properties that have the same name as the one present in the @Component property
|
|
46
46
|
return Object.entries(componentPropsMetadata).reduce(function (previousValue, _a) {
|
|
47
47
|
var _b, _c;
|
|
48
|
-
var propertyName = _a[0],
|
|
48
|
+
var propertyName = _a[0], values = _a[1];
|
|
49
|
+
var value = values.find(function (v) { return v instanceof core_1.Input || v instanceof core_1.Output; });
|
|
49
50
|
if (value instanceof core_1.Input) {
|
|
50
51
|
var inputToAdd = {
|
|
51
52
|
propName: propertyName,
|
|
@@ -96,6 +97,11 @@ exports.getComponentPropsDecoratorMetadata = function (component) {
|
|
|
96
97
|
Reflect.getOwnPropertyDescriptor(component, decoratorKey)
|
|
97
98
|
? Reflect.getOwnPropertyDescriptor(component, decoratorKey).value
|
|
98
99
|
: component[decoratorKey];
|
|
100
|
+
var parent = Reflect && Reflect.getPrototypeOf && Reflect.getPrototypeOf(component);
|
|
101
|
+
if (parent) {
|
|
102
|
+
var parentPropsDecorators = exports.getComponentPropsDecoratorMetadata(parent);
|
|
103
|
+
propsDecorators = __assign(__assign({}, parentPropsDecorators), propsDecorators);
|
|
104
|
+
}
|
|
99
105
|
return propsDecorators;
|
|
100
106
|
};
|
|
101
107
|
/**
|
|
@@ -108,5 +114,11 @@ exports.getComponentDecoratorMetadata = function (component) {
|
|
|
108
114
|
Reflect.getOwnPropertyDescriptor(component, decoratorKey)
|
|
109
115
|
? Reflect.getOwnPropertyDescriptor(component, decoratorKey).value
|
|
110
116
|
: component[decoratorKey];
|
|
111
|
-
|
|
117
|
+
if (!decorators) {
|
|
118
|
+
return (component.decorators &&
|
|
119
|
+
component.decorators[0] &&
|
|
120
|
+
component.decorators[0].args &&
|
|
121
|
+
component.decorators[0].args[0]);
|
|
122
|
+
}
|
|
123
|
+
return decorators.find(function (d) { return d instanceof core_1.Component; });
|
|
112
124
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parameters = void 0;
|
|
4
|
+
var render_1 = require("./render");
|
|
5
|
+
Object.defineProperty(exports, "render", { enumerable: true, get: function () { return render_1.render; } });
|
|
6
|
+
Object.defineProperty(exports, "renderToDOM", { enumerable: true, get: function () { return render_1.renderToDOM; } });
|
|
7
|
+
exports.parameters = { framework: 'angular' };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { DecoratorFunction,
|
|
2
|
-
import {
|
|
3
|
-
export default function decorateStory(mainStoryFn:
|
|
1
|
+
import { DecoratorFunction, LegacyStoryFn } from '@storybook/csf';
|
|
2
|
+
import { AngularFramework } from './types-6-0';
|
|
3
|
+
export default function decorateStory(mainStoryFn: LegacyStoryFn<AngularFramework>, decorators: DecoratorFunction<AngularFramework>[]): LegacyStoryFn<AngularFramework>;
|
|
@@ -10,17 +10,6 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
-
var t = {};
|
|
15
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
-
t[p] = s[p];
|
|
17
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
-
t[p[i]] = s[p[i]];
|
|
21
|
-
}
|
|
22
|
-
return t;
|
|
23
|
-
};
|
|
24
13
|
var __spreadArrays = (this && this.__spreadArrays) || function () {
|
|
25
14
|
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
|
26
15
|
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
|
@@ -29,23 +18,12 @@ var __spreadArrays = (this && this.__spreadArrays) || function () {
|
|
|
29
18
|
return r;
|
|
30
19
|
};
|
|
31
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
var store_1 = require("@storybook/store");
|
|
32
22
|
var ComputesTemplateFromComponent_1 = require("./angular-beta/ComputesTemplateFromComponent");
|
|
33
|
-
var defaultContext = {
|
|
34
|
-
id: 'unspecified',
|
|
35
|
-
name: 'unspecified',
|
|
36
|
-
kind: 'unspecified',
|
|
37
|
-
parameters: {},
|
|
38
|
-
args: {},
|
|
39
|
-
argTypes: {},
|
|
40
|
-
globals: {},
|
|
41
|
-
};
|
|
42
23
|
function decorateStory(mainStoryFn, decorators) {
|
|
43
24
|
var returnDecorators = __spreadArrays([cleanArgsDecorator], decorators).reduce(function (previousStoryFn, decorator) { return function (context) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (_a === void 0) { _a = {}; }
|
|
47
|
-
var parameters = _a.parameters, innerContext = __rest(_a, ["parameters"]);
|
|
48
|
-
return previousStoryFn(__assign(__assign({}, context), innerContext));
|
|
25
|
+
var decoratedStory = decorator(function (update) {
|
|
26
|
+
return previousStoryFn(__assign(__assign({}, context), store_1.sanitizeStoryContextUpdate(update)));
|
|
49
27
|
}, context);
|
|
50
28
|
return decoratedStory;
|
|
51
29
|
}; }, function (context) { return prepareMain(mainStoryFn(context), context); });
|
|
@@ -55,11 +33,12 @@ exports.default = decorateStory;
|
|
|
55
33
|
var prepareMain = function (story, context) {
|
|
56
34
|
var _a;
|
|
57
35
|
var template = story.template;
|
|
58
|
-
var component = (_a = story.component) !== null && _a !== void 0 ? _a : context.
|
|
59
|
-
|
|
36
|
+
var component = (_a = story.component) !== null && _a !== void 0 ? _a : context.component;
|
|
37
|
+
var userDefinedTemplate = !hasNoTemplate(template);
|
|
38
|
+
if (!userDefinedTemplate && component) {
|
|
60
39
|
template = ComputesTemplateFromComponent_1.computesTemplateFromComponent(component, story.props, '');
|
|
61
40
|
}
|
|
62
|
-
return __assign(__assign({}, story), (template ? { template: template } : {}));
|
|
41
|
+
return __assign(__assign({}, story), (template ? { template: template, userDefinedTemplate: userDefinedTemplate } : {}));
|
|
63
42
|
};
|
|
64
43
|
function hasNoTemplate(template) {
|
|
65
44
|
return template === null || template === undefined;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Type } from '@angular/core';
|
|
2
|
-
import { DecoratorFunction, StoryContext } from '@storybook/
|
|
3
|
-
import { ICollection, NgModuleMetadata
|
|
4
|
-
|
|
5
|
-
export declare const
|
|
2
|
+
import { DecoratorFunction, StoryContext } from '@storybook/csf';
|
|
3
|
+
import { ICollection, NgModuleMetadata } from './types';
|
|
4
|
+
import { AngularFramework } from './types-6-0';
|
|
5
|
+
export declare const moduleMetadata: <TArgs = any>(metadata: Partial<NgModuleMetadata>) => DecoratorFunction<AngularFramework, TArgs>;
|
|
6
|
+
export declare const componentWrapperDecorator: <TArgs = any>(element: Type<unknown> | ((story: string) => string), props?: ICollection | ((storyContext: StoryContext<AngularFramework, TArgs>) => ICollection)) => DecoratorFunction<AngularFramework, TArgs>;
|
|
@@ -21,6 +21,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
exports.componentWrapperDecorator = exports.moduleMetadata = void 0;
|
|
22
22
|
var ComputesTemplateFromComponent_1 = require("./angular-beta/ComputesTemplateFromComponent");
|
|
23
23
|
var NgComponentAnalyzer_1 = require("./angular-beta/utils/NgComponentAnalyzer");
|
|
24
|
+
// We use `any` here as the default type rather than `Args` because we need something that is
|
|
25
|
+
// castable to any component-specific args type when the user is being careful.
|
|
24
26
|
exports.moduleMetadata = function (metadata) { return function (storyFn) {
|
|
25
27
|
var story = storyFn();
|
|
26
28
|
var storyMetadata = story.moduleMetadata || {};
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
import { ClientStoryApi, Loadable } from '@storybook/addons';
|
|
4
4
|
import './globals';
|
|
5
|
-
import { IStorybookSection
|
|
6
|
-
|
|
5
|
+
import { IStorybookSection } from './types';
|
|
6
|
+
import { AngularFramework } from './types-6-0';
|
|
7
|
+
interface ClientApi extends ClientStoryApi<AngularFramework['storyResult']> {
|
|
7
8
|
setAddon(addon: any): void;
|
|
8
9
|
configure(loader: Loadable, module: NodeModule): void;
|
|
9
10
|
getStorybook(): IStorybookSection[];
|
|
@@ -11,13 +11,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.raw = exports.getStorybook = exports.forceReRender = exports.setAddon = exports.clearDecorators = exports.addParameters = exports.addDecorator = exports.configure = exports.storiesOf = void 0;
|
|
14
|
-
/* eslint-disable prefer-destructuring */
|
|
15
14
|
var client_1 = require("@storybook/core/client");
|
|
16
15
|
require("./globals");
|
|
17
|
-
var render_1 =
|
|
16
|
+
var render_1 = require("./render");
|
|
18
17
|
var decorateStory_1 = __importDefault(require("./decorateStory"));
|
|
19
18
|
var framework = 'angular';
|
|
20
|
-
var api = client_1.start(render_1.
|
|
19
|
+
var api = client_1.start(render_1.renderToDOM, { decorateStory: decorateStory_1.default, render: render_1.render });
|
|
21
20
|
exports.storiesOf = function (kind, m) {
|
|
22
21
|
return api.clientApi.storiesOf(kind, m).addParameters({
|
|
23
22
|
framework: framework,
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { RenderContext } from '@storybook/store';
|
|
2
|
+
import { ArgsStoryFn } from '@storybook/csf';
|
|
3
|
+
import { AngularFramework } from './types-6-0';
|
|
4
4
|
import { RendererFactory } from './angular-beta/RendererFactory';
|
|
5
5
|
export declare const rendererFactory: RendererFactory;
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
showMain: () => void;
|
|
9
|
-
forceRender: boolean;
|
|
10
|
-
parameters: Parameters;
|
|
11
|
-
targetDOMNode: HTMLElement;
|
|
12
|
-
id: string;
|
|
13
|
-
}): Promise<void>;
|
|
6
|
+
export declare const render: ArgsStoryFn<AngularFramework>;
|
|
7
|
+
export declare function renderToDOM({ storyFn, showMain, forceRemount, storyContext: { parameters, component }, id, }: RenderContext<AngularFramework>, element: HTMLElement): Promise<void>;
|
|
@@ -36,13 +36,13 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.rendererFactory = void 0;
|
|
39
|
+
exports.renderToDOM = exports.render = exports.rendererFactory = void 0;
|
|
40
40
|
var helpers_1 = require("./angular/helpers");
|
|
41
41
|
var RendererFactory_1 = require("./angular-beta/RendererFactory");
|
|
42
|
-
var rootElement = global.document.getElementById('root');
|
|
43
42
|
exports.rendererFactory = new RendererFactory_1.RendererFactory();
|
|
44
|
-
function
|
|
45
|
-
|
|
43
|
+
exports.render = function (props) { return ({ props: props }); };
|
|
44
|
+
function renderToDOM(_a, element) {
|
|
45
|
+
var storyFn = _a.storyFn, showMain = _a.showMain, forceRemount = _a.forceRemount, _b = _a.storyContext, parameters = _b.parameters, component = _b.component, id = _a.id;
|
|
46
46
|
return __awaiter(this, void 0, void 0, function () {
|
|
47
47
|
var renderer;
|
|
48
48
|
return __generator(this, function (_c) {
|
|
@@ -50,17 +50,18 @@ function renderMain(_a) {
|
|
|
50
50
|
case 0:
|
|
51
51
|
showMain();
|
|
52
52
|
if (parameters.angularLegacyRendering) {
|
|
53
|
-
helpers_1.renderNgApp(storyFn,
|
|
53
|
+
helpers_1.renderNgApp(storyFn, !forceRemount);
|
|
54
54
|
return [2 /*return*/];
|
|
55
55
|
}
|
|
56
|
-
return [4 /*yield*/, exports.rendererFactory.getRendererInstance(id,
|
|
56
|
+
return [4 /*yield*/, exports.rendererFactory.getRendererInstance(id, element)];
|
|
57
57
|
case 1:
|
|
58
58
|
renderer = _c.sent();
|
|
59
59
|
return [4 /*yield*/, renderer.render({
|
|
60
60
|
storyFnAngular: storyFn(),
|
|
61
|
+
component: component,
|
|
61
62
|
parameters: parameters,
|
|
62
|
-
forced:
|
|
63
|
-
targetDOMNode:
|
|
63
|
+
forced: !forceRemount,
|
|
64
|
+
targetDOMNode: element,
|
|
64
65
|
})];
|
|
65
66
|
case 2:
|
|
66
67
|
_c.sent();
|
|
@@ -69,4 +70,4 @@ function renderMain(_a) {
|
|
|
69
70
|
});
|
|
70
71
|
});
|
|
71
72
|
}
|
|
72
|
-
exports.
|
|
73
|
+
exports.renderToDOM = renderToDOM;
|
|
@@ -1,26 +1,42 @@
|
|
|
1
|
-
import { Args
|
|
1
|
+
import { Args, Parameters as DefaultParameters, StoryContext as DefaultStoryContext, ComponentAnnotations, StoryAnnotations, AnnotatedStoryFn } from '@storybook/csf';
|
|
2
2
|
import { StoryFnAngularReturnType } from './types';
|
|
3
|
-
export type { Args, ArgTypes } from '@storybook/
|
|
4
|
-
declare type
|
|
5
|
-
|
|
3
|
+
export type { Args, ArgTypes } from '@storybook/csf';
|
|
4
|
+
export declare type AngularFramework = {
|
|
5
|
+
component: any;
|
|
6
|
+
storyResult: StoryFnAngularReturnType;
|
|
7
|
+
};
|
|
6
8
|
/**
|
|
7
9
|
* Metadata to configure the stories for a component.
|
|
8
10
|
*
|
|
9
11
|
* @see [Default export](https://storybook.js.org/docs/formats/component-story-format/#default-export)
|
|
10
12
|
*/
|
|
11
|
-
export declare type Meta<
|
|
13
|
+
export declare type Meta<TArgs = Args> = ComponentAnnotations<AngularFramework, TArgs>;
|
|
14
|
+
/**
|
|
15
|
+
* Story function that represents a CSFv2 component example.
|
|
16
|
+
*
|
|
17
|
+
* @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
|
|
18
|
+
*/
|
|
19
|
+
export declare type StoryFn<TArgs = Args> = AnnotatedStoryFn<AngularFramework, TArgs>;
|
|
12
20
|
/**
|
|
13
|
-
* Story function that represents a component example.
|
|
21
|
+
* Story function that represents a CSFv3 component example.
|
|
14
22
|
*
|
|
15
23
|
* @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
|
|
16
24
|
*/
|
|
17
|
-
export declare type
|
|
25
|
+
export declare type StoryObj<TArgs = Args> = StoryAnnotations<AngularFramework, TArgs>;
|
|
26
|
+
/**
|
|
27
|
+
* Story function that represents a CSFv2 component example.
|
|
28
|
+
*
|
|
29
|
+
* @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
|
|
30
|
+
*
|
|
31
|
+
* NOTE that in Storybook 7.0, this type will be renamed to `StoryFn` and replaced by the current `StoryObj` type.
|
|
32
|
+
*
|
|
33
|
+
*/
|
|
34
|
+
export declare type Story<TArgs = Args> = StoryFn<TArgs>;
|
|
18
35
|
export declare type Parameters = DefaultParameters & {
|
|
19
36
|
/** Uses legacy angular rendering engine that use dynamic component */
|
|
20
37
|
angularLegacyRendering?: boolean;
|
|
21
|
-
component: unknown;
|
|
22
38
|
bootstrapModuleOptions?: unknown;
|
|
23
39
|
};
|
|
24
|
-
export declare type StoryContext = DefaultStoryContext & {
|
|
40
|
+
export declare type StoryContext = DefaultStoryContext<AngularFramework> & {
|
|
25
41
|
parameters: Parameters;
|
|
26
42
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Args } from '@storybook/csf';
|
|
2
|
+
import type { StoryObj } from './types-6-0';
|
|
3
|
+
export type { StoryFn, StoryObj, Meta } from './types-6-0';
|
|
4
|
+
/**
|
|
5
|
+
* Story function that represents a CSFv3 component example.
|
|
6
|
+
*
|
|
7
|
+
* @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
|
|
8
|
+
*/
|
|
9
|
+
export declare type Story<TArgs = Args> = StoryObj<TArgs>;
|
|
@@ -10,7 +10,7 @@ export interface ICollection {
|
|
|
10
10
|
}
|
|
11
11
|
export interface IStorybookStory {
|
|
12
12
|
name: string;
|
|
13
|
-
render: () => any;
|
|
13
|
+
render: (context: any) => any;
|
|
14
14
|
}
|
|
15
15
|
export interface IStorybookSection {
|
|
16
16
|
kind: string;
|
|
@@ -25,4 +25,5 @@ export interface StoryFnAngularReturnType {
|
|
|
25
25
|
moduleMetadata?: NgModuleMetadata;
|
|
26
26
|
template?: string;
|
|
27
27
|
styles?: string[];
|
|
28
|
+
userDefinedTemplate?: boolean;
|
|
28
29
|
}
|
package/dist/ts3.9/renderer.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { computesTemplateSourceFromComponent } from './client/preview/angular-beta/ComputesTemplateFromComponent';
|
|
2
|
-
export { RendererService } from './client/preview/angular-beta/RendererService';
|
|
3
2
|
export { rendererFactory } from './client/preview/render';
|
|
4
3
|
export { AbstractRenderer } from './client/preview/angular-beta/AbstractRenderer';
|
|
5
4
|
export { getStorybookModuleMetadata } from './client/preview/angular-beta/StorybookModule';
|
package/dist/ts3.9/renderer.js
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var ComputesTemplateFromComponent_1 = require("./client/preview/angular-beta/ComputesTemplateFromComponent");
|
|
4
4
|
Object.defineProperty(exports, "computesTemplateSourceFromComponent", { enumerable: true, get: function () { return ComputesTemplateFromComponent_1.computesTemplateSourceFromComponent; } });
|
|
5
|
-
var RendererService_1 = require("./client/preview/angular-beta/RendererService");
|
|
6
|
-
Object.defineProperty(exports, "RendererService", { enumerable: true, get: function () { return RendererService_1.RendererService; } });
|
|
7
5
|
var render_1 = require("./client/preview/render");
|
|
8
6
|
Object.defineProperty(exports, "rendererFactory", { enumerable: true, get: function () { return render_1.rendererFactory; } });
|
|
9
7
|
var AbstractRenderer_1 = require("./client/preview/angular-beta/AbstractRenderer");
|
|
@@ -12,6 +12,33 @@
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
|
+
"no-confs-project": {
|
|
16
|
+
"root": "",
|
|
17
|
+
"architect": {
|
|
18
|
+
"target-build": {
|
|
19
|
+
"options": {
|
|
20
|
+
"tsConfig": "src/tsconfig.app.json",
|
|
21
|
+
"assets": []
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"no-target-conf-project": {
|
|
27
|
+
"root": "",
|
|
28
|
+
"architect": {
|
|
29
|
+
"target-build": {
|
|
30
|
+
"options": {
|
|
31
|
+
"tsConfig": "src/tsconfig.app.json",
|
|
32
|
+
"assets": []
|
|
33
|
+
},
|
|
34
|
+
"configurations": {
|
|
35
|
+
"other-conf": {
|
|
36
|
+
"styles": ["src/styles.css"]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
15
42
|
"target-project": {
|
|
16
43
|
"root": "",
|
|
17
44
|
"architect": {
|
|
@@ -19,6 +46,11 @@
|
|
|
19
46
|
"options": {
|
|
20
47
|
"tsConfig": "src/tsconfig.app.json",
|
|
21
48
|
"assets": []
|
|
49
|
+
},
|
|
50
|
+
"configurations": {
|
|
51
|
+
"target-conf": {
|
|
52
|
+
"styles": ["src/styles.css"]
|
|
53
|
+
}
|
|
22
54
|
}
|
|
23
55
|
}
|
|
24
56
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"newProjectRoot": "projects",
|
|
5
|
+
"projects": {
|
|
6
|
+
"pattern-lib": {
|
|
7
|
+
"projectType": "library",
|
|
8
|
+
"root": "projects/pattern-lib",
|
|
9
|
+
"sourceRoot": "projects/pattern-lib/src",
|
|
10
|
+
"prefix": "lib",
|
|
11
|
+
"architect": {
|
|
12
|
+
"build": {
|
|
13
|
+
"builder": "@angular-devkit/build-angular:ng-packagr",
|
|
14
|
+
"options": {
|
|
15
|
+
"tsConfig": "projects/pattern-lib/tsconfig.lib.json",
|
|
16
|
+
"project": "projects/pattern-lib/ng-package.json"
|
|
17
|
+
},
|
|
18
|
+
"configurations": {
|
|
19
|
+
"production": {
|
|
20
|
+
"tsConfig": "projects/pattern-lib/tsconfig.lib.prod.json"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"defaultProject": "pattern-lib"
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const not = "empty";
|
package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/tsconfig.lib.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/* To learn more about this file see: https://angular.io/config/tsconfig. */
|
|
2
|
+
{
|
|
3
|
+
"extends": "../../tsconfig.json",
|
|
4
|
+
"compilerOptions": {
|
|
5
|
+
"outDir": "../../out-tsc/lib",
|
|
6
|
+
"target": "es2015",
|
|
7
|
+
"declaration": true,
|
|
8
|
+
"declarationMap": true,
|
|
9
|
+
"inlineSources": true,
|
|
10
|
+
"types": [],
|
|
11
|
+
"lib": [
|
|
12
|
+
"dom",
|
|
13
|
+
"es2018"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"angularCompilerOptions": {
|
|
17
|
+
"skipTemplateCodegen": true,
|
|
18
|
+
"strictMetadataEmit": true,
|
|
19
|
+
"enableResourceInlining": true
|
|
20
|
+
},
|
|
21
|
+
"exclude": [
|
|
22
|
+
"src/test.ts",
|
|
23
|
+
"**/*.spec.ts"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"sourceMap": true,
|
|
4
|
+
"moduleResolution": "node",
|
|
5
|
+
"emitDecoratorMetadata": true,
|
|
6
|
+
"experimentalDecorators": true,
|
|
7
|
+
"allowSyntheticDefaultImports": true,
|
|
8
|
+
"esModuleInterop": true,
|
|
9
|
+
"skipLibCheck": true,
|
|
10
|
+
"target": "es5",
|
|
11
|
+
"lib": ["es2017", "dom"]
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const not = "empty";
|