@storybook/angular 6.4.0-alpha.7 → 6.4.0-beta.1

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 (85) hide show
  1. package/dist/ts3.4/builders/build-storybook/index.d.ts +2 -1
  2. package/dist/ts3.4/builders/start-storybook/index.d.ts +2 -1
  3. package/dist/ts3.4/builders/utils/build-standalone-errors-handler.d.ts +1 -0
  4. package/dist/ts3.4/client/preview/angular/helpers.d.ts +3 -3
  5. package/dist/ts3.4/client/preview/angular-beta/AbstractRenderer.d.ts +3 -1
  6. package/dist/ts3.4/client/preview/angular-beta/CanvasRenderer.d.ts +1 -0
  7. package/dist/ts3.4/client/preview/angular-beta/DocsRenderer.d.ts +1 -0
  8. package/dist/ts3.4/client/preview/angular-beta/StorybookModule.d.ts +2 -3
  9. package/dist/ts3.4/client/preview/config.d.ts +4 -0
  10. package/dist/ts3.4/client/preview/decorateStory.d.ts +3 -3
  11. package/dist/ts3.4/client/preview/decorators.d.ts +5 -4
  12. package/dist/ts3.4/client/preview/index.d.ts +3 -2
  13. package/dist/ts3.4/client/preview/render.d.ts +5 -11
  14. package/dist/ts3.4/client/preview/types-6-0.d.ts +25 -9
  15. package/dist/ts3.4/client/preview/types-7-0.d.ts +9 -0
  16. package/dist/ts3.4/client/preview/types.d.ts +2 -1
  17. package/dist/ts3.4/renderer.d.ts +0 -1
  18. package/dist/ts3.4/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/src/main.d.ts +1 -0
  19. package/dist/ts3.4/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/src/main.d.ts +1 -0
  20. package/dist/ts3.4/server/__mocks-ng-workspace__/without-tsConfig/src/main.d.ts +1 -0
  21. package/dist/ts3.4/server/framework-preset-angular-cli.d.ts +1 -0
  22. package/dist/ts3.9/builders/build-storybook/index.d.ts +2 -1
  23. package/dist/ts3.9/builders/build-storybook/index.js +35 -16
  24. package/dist/ts3.9/builders/build-storybook/schema.json +14 -2
  25. package/dist/ts3.9/builders/start-storybook/index.d.ts +2 -1
  26. package/dist/ts3.9/builders/start-storybook/index.js +35 -16
  27. package/dist/ts3.9/builders/start-storybook/schema.json +14 -2
  28. package/dist/ts3.9/builders/utils/build-standalone-errors-handler.d.ts +1 -0
  29. package/dist/ts3.9/builders/utils/build-standalone-errors-handler.js +36 -0
  30. package/dist/ts3.9/client/preview/angular/helpers.d.ts +3 -3
  31. package/dist/ts3.9/client/preview/angular-beta/AbstractRenderer.d.ts +3 -1
  32. package/dist/ts3.9/client/preview/angular-beta/AbstractRenderer.js +5 -3
  33. package/dist/ts3.9/client/preview/angular-beta/CanvasRenderer.d.ts +1 -0
  34. package/dist/ts3.9/client/preview/angular-beta/ComputesTemplateFromComponent.js +3 -1
  35. package/dist/ts3.9/client/preview/angular-beta/DocsRenderer.d.ts +1 -0
  36. package/dist/ts3.9/client/preview/angular-beta/StorybookModule.d.ts +2 -3
  37. package/dist/ts3.9/client/preview/angular-beta/StorybookModule.js +2 -2
  38. package/dist/ts3.9/client/preview/angular-beta/utils/NgComponentAnalyzer.js +12 -1
  39. package/dist/ts3.9/client/preview/config.d.ts +4 -0
  40. package/dist/ts3.9/client/preview/config.js +7 -0
  41. package/dist/ts3.9/client/preview/decorateStory.d.ts +3 -3
  42. package/dist/ts3.9/client/preview/decorateStory.js +7 -28
  43. package/dist/ts3.9/client/preview/decorators.d.ts +5 -4
  44. package/dist/ts3.9/client/preview/index.d.ts +3 -2
  45. package/dist/ts3.9/client/preview/index.js +2 -3
  46. package/dist/ts3.9/client/preview/render.d.ts +5 -11
  47. package/dist/ts3.9/client/preview/render.js +10 -9
  48. package/dist/ts3.9/client/preview/types-6-0.d.ts +25 -9
  49. package/dist/ts3.9/client/preview/types-7-0.d.ts +9 -0
  50. package/dist/ts3.9/client/preview/types-7-0.js +2 -0
  51. package/dist/ts3.9/client/preview/types.d.ts +2 -1
  52. package/dist/ts3.9/renderer.d.ts +0 -1
  53. package/dist/ts3.9/renderer.js +0 -2
  54. package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/angular.json +28 -0
  55. package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/src/main.d.ts +1 -0
  56. package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/src/main.js +5 -0
  57. package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/projects/pattern-lib/tsconfig.lib.json +25 -0
  58. package/dist/ts3.9/server/__mocks-ng-workspace__/with-lib/tsconfig.json +13 -0
  59. package/dist/ts3.9/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/src/main.d.ts +1 -0
  60. package/dist/ts3.9/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/src/main.js +5 -0
  61. package/dist/ts3.9/server/__mocks-ng-workspace__/without-projects-entry/projects/pattern-lib/tsconfig.lib.json +25 -0
  62. package/dist/ts3.9/server/__mocks-ng-workspace__/without-projects-entry/tsconfig.json +13 -0
  63. package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/angular.json +16 -0
  64. package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/src/main.d.ts +1 -0
  65. package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/src/main.js +5 -0
  66. package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/src/tsconfig.app.json +9 -0
  67. package/dist/ts3.9/server/__mocks-ng-workspace__/without-tsConfig/tsconfig.json +13 -0
  68. package/dist/ts3.9/server/angular-devkit-build-webpack.js +2 -2
  69. package/dist/ts3.9/server/build.js +58 -1
  70. package/dist/ts3.9/server/framework-preset-angular-cli.d.ts +1 -0
  71. package/dist/ts3.9/server/framework-preset-angular-cli.js +20 -11
  72. package/package.json +13 -10
  73. package/preset.js +7 -0
  74. package/standalone.d.ts +2 -1
  75. package/dist/ts3.4/client/preview/angular-beta/ElementRendererService.d.ts +0 -17
  76. package/dist/ts3.4/client/preview/angular-beta/RendererService.d.ts +0 -35
  77. package/dist/ts3.4/element-renderer.d.ts +0 -1
  78. package/dist/ts3.9/client/preview/angular-beta/ElementRendererService.d.ts +0 -17
  79. package/dist/ts3.9/client/preview/angular-beta/ElementRendererService.js +0 -115
  80. package/dist/ts3.9/client/preview/angular-beta/RendererService.d.ts +0 -35
  81. package/dist/ts3.9/client/preview/angular-beta/RendererService.js +0 -170
  82. package/dist/ts3.9/element-renderer.d.ts +0 -1
  83. package/dist/ts3.9/element-renderer.js +0 -4
  84. package/element-renderer.d.ts +0 -1
  85. package/element-renderer.js +0 -1
@@ -1,8 +1,65 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
2
38
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
40
  };
5
41
  Object.defineProperty(exports, "__esModule", { value: true });
6
42
  var server_1 = require("@storybook/core/server");
43
+ var node_logger_1 = require("@storybook/node-logger");
7
44
  var options_1 = __importDefault(require("./options"));
8
- server_1.buildStatic(options_1.default);
45
+ function build() {
46
+ return __awaiter(this, void 0, void 0, function () {
47
+ var error_1;
48
+ return __generator(this, function (_a) {
49
+ switch (_a.label) {
50
+ case 0:
51
+ _a.trys.push([0, 2, , 3]);
52
+ return [4 /*yield*/, server_1.buildStatic(options_1.default)];
53
+ case 1:
54
+ _a.sent();
55
+ return [3 /*break*/, 3];
56
+ case 2:
57
+ error_1 = _a.sent();
58
+ node_logger_1.logger.error(error_1);
59
+ return [3 /*break*/, 3];
60
+ case 3: return [2 /*return*/];
61
+ }
62
+ });
63
+ });
64
+ }
65
+ build();
@@ -3,6 +3,7 @@ import TsconfigPathsPlugin from 'tsconfig-paths-webpack-plugin';
3
3
  import { Options as CoreOptions } from '@storybook/core-common';
4
4
  export declare type Options = CoreOptions & {
5
5
  angularBrowserTarget?: string;
6
+ tsConfig?: string;
6
7
  };
7
8
  export declare function webpackFinal(baseConfig: webpack.Configuration, options: Options): Promise<webpack.Configuration | {
8
9
  entry: any[];
@@ -91,17 +91,26 @@ function webpackFinal(baseConfig, options) {
91
91
  return [2 /*return*/, baseConfig];
92
92
  case 4:
93
93
  try {
94
- browserTarget = options.angularBrowserTarget
95
- ? architect_1.targetFromTargetString(options.angularBrowserTarget)
96
- : {
97
- configuration: undefined,
98
- project: angular_read_workspace_1.getDefaultProjectName(workspaceConfig),
99
- target: 'build',
100
- };
101
- fondProject = angular_read_workspace_1.findAngularProjectTarget(workspaceConfig, browserTarget.project, browserTarget.target);
102
- project = fondProject.project;
103
- target = fondProject.target;
104
- node_logger_1.logger.info("=> Using angular project \"" + browserTarget.project + ":" + browserTarget.target + "\" for configuring Storybook");
94
+ // Default behavior when `angularBrowserTarget` are not explicitly defined to null
95
+ if (options.angularBrowserTarget !== null) {
96
+ browserTarget = options.angularBrowserTarget
97
+ ? architect_1.targetFromTargetString(options.angularBrowserTarget)
98
+ : {
99
+ configuration: undefined,
100
+ project: angular_read_workspace_1.getDefaultProjectName(workspaceConfig),
101
+ target: 'build',
102
+ };
103
+ fondProject = angular_read_workspace_1.findAngularProjectTarget(workspaceConfig, browserTarget.project, browserTarget.target);
104
+ project = fondProject.project;
105
+ target = fondProject.target;
106
+ node_logger_1.logger.info("=> Using angular project \"" + browserTarget.project + ":" + browserTarget.target + "\" for configuring Storybook");
107
+ }
108
+ // Start storybook when only tsConfig is provided.
109
+ if (options.angularBrowserTarget === null && options.tsConfig) {
110
+ node_logger_1.logger.info("=> Using default angular project with \"tsConfig:" + options.tsConfig + "\"");
111
+ project = { root: '', extensions: {}, targets: undefined };
112
+ target = { builder: '', options: { tsConfig: options.tsConfig } };
113
+ }
105
114
  }
106
115
  catch (error) {
107
116
  node_logger_1.logger.error("=> Could not find angular project: " + error.message);
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@storybook/angular",
3
- "version": "6.4.0-alpha.7",
3
+ "version": "6.4.0-beta.1",
4
4
  "description": "Storybook for Angular: Develop Angular Components in isolation with Hot Reloading.",
5
5
  "keywords": [
6
6
  "storybook"
7
7
  ],
8
- "homepage": "https://github.com/storybookjs/storybook/tree/master/app/angular",
8
+ "homepage": "https://github.com/storybookjs/storybook/tree/main/app/angular",
9
9
  "bugs": {
10
10
  "url": "https://github.com/storybookjs/storybook/issues"
11
11
  },
@@ -24,7 +24,7 @@
24
24
  "types": "dist/ts3.9/client/index.d.ts",
25
25
  "typesVersions": {
26
26
  "<3.8": {
27
- "*": [
27
+ "dist/ts3.9/*": [
28
28
  "dist/ts3.4/*"
29
29
  ]
30
30
  }
@@ -45,12 +45,14 @@
45
45
  "prepare": "node ../../scripts/prepare.js"
46
46
  },
47
47
  "dependencies": {
48
- "@storybook/addons": "6.4.0-alpha.7",
49
- "@storybook/api": "6.4.0-alpha.7",
50
- "@storybook/core": "6.4.0-alpha.7",
51
- "@storybook/core-common": "6.4.0-alpha.7",
52
- "@storybook/core-events": "6.4.0-alpha.7",
53
- "@storybook/node-logger": "6.4.0-alpha.7",
48
+ "@storybook/addons": "6.4.0-beta.1",
49
+ "@storybook/api": "6.4.0-beta.1",
50
+ "@storybook/core": "6.4.0-beta.1",
51
+ "@storybook/core-common": "6.4.0-beta.1",
52
+ "@storybook/core-events": "6.4.0-beta.1",
53
+ "@storybook/csf": "0.0.2--canary.6aca495.0",
54
+ "@storybook/node-logger": "6.4.0-beta.1",
55
+ "@storybook/store": "6.4.0-beta.1",
54
56
  "@types/webpack-env": "^1.16.0",
55
57
  "autoprefixer": "^9.8.6",
56
58
  "core-js": "^3.8.2",
@@ -65,6 +67,7 @@
65
67
  "regenerator-runtime": "^0.13.7",
66
68
  "sass-loader": "^10.1.0",
67
69
  "strip-json-comments": "3.1.1",
70
+ "telejson": "^5.3.2",
68
71
  "ts-dedent": "^2.0.0",
69
72
  "ts-loader": "^8.0.14",
70
73
  "tsconfig-paths-webpack-plugin": "^3.3.0",
@@ -128,5 +131,5 @@
128
131
  "access": "public"
129
132
  },
130
133
  "builders": "dist/ts3.9/builders/builders.json",
131
- "gitHead": "dd38af8465305888c2a22cbe69f2826f8c20f66a"
134
+ "gitHead": "000a73948b4b91aa6bf84828b42ccdb7064f72bd"
132
135
  }
package/preset.js ADDED
@@ -0,0 +1,7 @@
1
+ function config(entry = []) {
2
+ return [...entry, require.resolve('./dist/esm/client/preview/config')];
3
+ }
4
+
5
+ module.exports = {
6
+ config,
7
+ };
package/standalone.d.ts CHANGED
@@ -5,7 +5,8 @@ export type StandaloneOptions = Partial<
5
5
  LoadOptions &
6
6
  BuilderOptions & {
7
7
  mode?: 'static' | 'dev';
8
- angularBrowserTarget: string;
8
+ angularBrowserTarget?: string | null;
9
+ tsConfig?: string;
9
10
  }
10
11
  >;
11
12
 
@@ -1,17 +0,0 @@
1
- import '@webcomponents/custom-elements';
2
- import '@webcomponents/custom-elements/src/native-shim';
3
- import { StoryFnAngularReturnType } from '../types';
4
- import { Parameters } from '../types-6-0';
5
- /**
6
- * Bootstrap angular application to generate a web component with angular element
7
- */
8
- export declare class ElementRendererService {
9
- private rendererService;
10
- /**
11
- * Returns a custom element generated by Angular elements
12
- */
13
- renderAngularElement({ storyFnAngular, parameters, }: {
14
- storyFnAngular: StoryFnAngularReturnType;
15
- parameters: Parameters;
16
- }): Promise<CustomElementConstructor>;
17
- }
@@ -1,35 +0,0 @@
1
- import { PlatformRef } from '@angular/core';
2
- import { StoryFnAngularReturnType } from '../types';
3
- import { Parameters } from '../types-6-0';
4
- /**
5
- * Bootstrap angular application and allows to change the rendering dynamically
6
- * To be used as a singleton so has to set global properties of render function
7
- */
8
- export declare class RendererService {
9
- private static instance;
10
- static SELECTOR_STORYBOOK_WRAPPER: string;
11
- static getInstance(): RendererService;
12
- platform: PlatformRef;
13
- private staticRoot;
14
- private storyProps$;
15
- private currentStoryRender;
16
- constructor();
17
- /**
18
- * Bootstrap main angular module with main component or send only new `props` with storyProps$
19
- *
20
- * @param storyFnAngular {StoryFnAngularReturnType}
21
- * @param forced {boolean} If :
22
- * - 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
23
- * - false fully recharges or initializes angular module & component
24
- * @param parameters {Parameters}
25
- */
26
- render({ storyFnAngular, forced, parameters, }: {
27
- storyFnAngular: StoryFnAngularReturnType;
28
- forced: boolean;
29
- parameters: Parameters;
30
- }): Promise<void>;
31
- newPlatformBrowserDynamic(): PlatformRef;
32
- destroyPlatformBrowserDynamic(): void;
33
- private initAngularRootElement;
34
- private fullRendererRequired;
35
- }
@@ -1 +0,0 @@
1
- export { ElementRendererService } from './client/preview/angular-beta/ElementRendererService';
@@ -1,17 +0,0 @@
1
- import '@webcomponents/custom-elements';
2
- import '@webcomponents/custom-elements/src/native-shim';
3
- import { StoryFnAngularReturnType } from '../types';
4
- import { Parameters } from '../types-6-0';
5
- /**
6
- * Bootstrap angular application to generate a web component with angular element
7
- */
8
- export declare class ElementRendererService {
9
- private rendererService;
10
- /**
11
- * Returns a custom element generated by Angular elements
12
- */
13
- renderAngularElement({ storyFnAngular, parameters, }: {
14
- storyFnAngular: StoryFnAngularReturnType;
15
- parameters: Parameters;
16
- }): Promise<CustomElementConstructor>;
17
- }
@@ -1,115 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
14
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
- return c > 3 && r && Object.defineProperty(target, key, r), r;
18
- };
19
- var __metadata = (this && this.__metadata) || function (k, v) {
20
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
21
- };
22
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
23
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24
- return new (P || (P = Promise))(function (resolve, reject) {
25
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
26
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
27
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
28
- step((generator = generator.apply(thisArg, _arguments || [])).next());
29
- });
30
- };
31
- var __generator = (this && this.__generator) || function (thisArg, body) {
32
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
33
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
34
- function verb(n) { return function (v) { return step([n, v]); }; }
35
- function step(op) {
36
- if (f) throw new TypeError("Generator is already executing.");
37
- while (_) try {
38
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
39
- if (y = 0, t) op = [op[0] & 2, t.value];
40
- switch (op[0]) {
41
- case 0: case 1: t = op; break;
42
- case 4: _.label++; return { value: op[1], done: false };
43
- case 5: _.label++; y = op[1]; op = [0]; continue;
44
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
45
- default:
46
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
47
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
48
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
49
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
50
- if (t[2]) _.ops.pop();
51
- _.trys.pop(); continue;
52
- }
53
- op = body.call(thisArg, _);
54
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
55
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
56
- }
57
- };
58
- Object.defineProperty(exports, "__esModule", { value: true });
59
- exports.ElementRendererService = void 0;
60
- // Should be added first :
61
- // Custom Elements polyfill. Required for browsers that do not natively support Custom Elements.
62
- require("@webcomponents/custom-elements");
63
- // Custom Elements ES5 shim. Required when using ES5 bundles on browsers that natively support
64
- // Custom Elements (either because the browser does not support ES2015 modules or because the app
65
- // is explicitly configured to generate ES5 only bundles).
66
- require("@webcomponents/custom-elements/src/native-shim");
67
- var core_1 = require("@angular/core");
68
- var elements_1 = require("@angular/elements");
69
- var rxjs_1 = require("rxjs");
70
- var StorybookModule_1 = require("./StorybookModule");
71
- var RendererService_1 = require("./RendererService");
72
- /**
73
- * Bootstrap angular application to generate a web component with angular element
74
- */
75
- var ElementRendererService = /** @class */ (function () {
76
- function ElementRendererService() {
77
- this.rendererService = RendererService_1.RendererService.getInstance();
78
- }
79
- /**
80
- * Returns a custom element generated by Angular elements
81
- */
82
- ElementRendererService.prototype.renderAngularElement = function (_a) {
83
- var _b;
84
- var storyFnAngular = _a.storyFnAngular, parameters = _a.parameters;
85
- return __awaiter(this, void 0, void 0, function () {
86
- var ngModule;
87
- return __generator(this, function (_c) {
88
- ngModule = StorybookModule_1.getStorybookModuleMetadata({ storyFnAngular: storyFnAngular, parameters: parameters, targetSelector: RendererService_1.RendererService.SELECTOR_STORYBOOK_WRAPPER }, new rxjs_1.BehaviorSubject(storyFnAngular.props));
89
- return [2 /*return*/, this.rendererService
90
- .newPlatformBrowserDynamic()
91
- .bootstrapModule(createElementsModule(ngModule), (_b = parameters.bootstrapModuleOptions) !== null && _b !== void 0 ? _b : undefined)
92
- .then(function (m) { return m.instance.ngEl; })];
93
- });
94
- });
95
- };
96
- return ElementRendererService;
97
- }());
98
- exports.ElementRendererService = ElementRendererService;
99
- var createElementsModule = function (ngModule) {
100
- var ElementsModule = /** @class */ (function () {
101
- function ElementsModule(injector) {
102
- this.injector = injector;
103
- this.ngEl = elements_1.createCustomElement(ngModule.bootstrap[0], {
104
- injector: this.injector,
105
- });
106
- }
107
- ElementsModule.prototype.ngDoBootstrap = function () { };
108
- ElementsModule = __decorate([
109
- core_1.NgModule(__assign({}, ngModule)),
110
- __metadata("design:paramtypes", [core_1.Injector])
111
- ], ElementsModule);
112
- return ElementsModule;
113
- }());
114
- return ElementsModule;
115
- };
@@ -1,35 +0,0 @@
1
- import { PlatformRef } from '@angular/core';
2
- import { StoryFnAngularReturnType } from '../types';
3
- import { Parameters } from '../types-6-0';
4
- /**
5
- * Bootstrap angular application and allows to change the rendering dynamically
6
- * To be used as a singleton so has to set global properties of render function
7
- */
8
- export declare class RendererService {
9
- private static instance;
10
- static SELECTOR_STORYBOOK_WRAPPER: string;
11
- static getInstance(): RendererService;
12
- platform: PlatformRef;
13
- private staticRoot;
14
- private storyProps$;
15
- private currentStoryRender;
16
- constructor();
17
- /**
18
- * Bootstrap main angular module with main component or send only new `props` with storyProps$
19
- *
20
- * @param storyFnAngular {StoryFnAngularReturnType}
21
- * @param forced {boolean} If :
22
- * - 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
23
- * - false fully recharges or initializes angular module & component
24
- * @param parameters {Parameters}
25
- */
26
- render({ storyFnAngular, forced, parameters, }: {
27
- storyFnAngular: StoryFnAngularReturnType;
28
- forced: boolean;
29
- parameters: Parameters;
30
- }): Promise<void>;
31
- newPlatformBrowserDynamic(): PlatformRef;
32
- destroyPlatformBrowserDynamic(): void;
33
- private initAngularRootElement;
34
- private fullRendererRequired;
35
- }
@@ -1,170 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.RendererService = void 0;
40
- /* eslint-disable no-undef */
41
- var core_1 = require("@angular/core");
42
- var platform_browser_dynamic_1 = require("@angular/platform-browser-dynamic");
43
- var rxjs_1 = require("rxjs");
44
- var StorybookModule_1 = require("./StorybookModule");
45
- /**
46
- * Bootstrap angular application and allows to change the rendering dynamically
47
- * To be used as a singleton so has to set global properties of render function
48
- */
49
- var RendererService = /** @class */ (function () {
50
- function RendererService() {
51
- this.staticRoot = document.getElementById('root');
52
- if (typeof NODE_ENV === 'string' && NODE_ENV !== 'development') {
53
- try {
54
- // platform should be set after enableProdMode()
55
- core_1.enableProdMode();
56
- }
57
- catch (e) {
58
- // eslint-disable-next-line no-console
59
- console.debug(e);
60
- }
61
- }
62
- }
63
- RendererService.getInstance = function () {
64
- if (!RendererService.instance) {
65
- RendererService.instance = new RendererService();
66
- }
67
- return RendererService.instance;
68
- };
69
- /**
70
- * Bootstrap main angular module with main component or send only new `props` with storyProps$
71
- *
72
- * @param storyFnAngular {StoryFnAngularReturnType}
73
- * @param forced {boolean} If :
74
- * - 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
75
- * - false fully recharges or initializes angular module & component
76
- * @param parameters {Parameters}
77
- */
78
- RendererService.prototype.render = function (_a) {
79
- var _b;
80
- var storyFnAngular = _a.storyFnAngular, forced = _a.forced, parameters = _a.parameters;
81
- return __awaiter(this, void 0, void 0, function () {
82
- var storyProps$, moduleMetadata, resetCompiledComponents;
83
- return __generator(this, function (_c) {
84
- switch (_c.label) {
85
- case 0:
86
- storyProps$ = new rxjs_1.BehaviorSubject(storyFnAngular.props);
87
- moduleMetadata = StorybookModule_1.getStorybookModuleMetadata({ storyFnAngular: storyFnAngular, parameters: parameters, targetSelector: RendererService.SELECTOR_STORYBOOK_WRAPPER }, storyProps$);
88
- if (!this.fullRendererRequired({
89
- storyFnAngular: storyFnAngular,
90
- moduleMetadata: moduleMetadata,
91
- forced: forced,
92
- })) {
93
- this.storyProps$.next(storyFnAngular.props);
94
- return [2 /*return*/];
95
- }
96
- try {
97
- resetCompiledComponents = require('@angular/core').ɵresetCompiledComponents;
98
- resetCompiledComponents();
99
- }
100
- catch (e) {
101
- /**
102
- * noop catch
103
- * This means angular removed or modified ɵresetCompiledComponents
104
- *
105
- * Probably, they added a clearCache mechanism to platform.destroy() and
106
- * we can simply remove this in case no errors are thrown during runtime
107
- */
108
- }
109
- // Complete last BehaviorSubject and set a new one for the current module
110
- if (this.storyProps$) {
111
- this.storyProps$.complete();
112
- }
113
- this.storyProps$ = storyProps$;
114
- return [4 /*yield*/, this.newPlatformBrowserDynamic().bootstrapModule(StorybookModule_1.createStorybookModule(moduleMetadata), (_b = parameters.bootstrapModuleOptions) !== null && _b !== void 0 ? _b : undefined)];
115
- case 1:
116
- _c.sent();
117
- return [2 /*return*/];
118
- }
119
- });
120
- });
121
- };
122
- RendererService.prototype.newPlatformBrowserDynamic = function () {
123
- // Before creating a new platform, we destroy the previous one cleanly.
124
- this.destroyPlatformBrowserDynamic();
125
- this.initAngularRootElement();
126
- this.platform = platform_browser_dynamic_1.platformBrowserDynamic();
127
- return this.platform;
128
- };
129
- RendererService.prototype.destroyPlatformBrowserDynamic = function () {
130
- if (this.platform && !this.platform.destroyed) {
131
- // Destroys the current Angular platform and all Angular applications on the page.
132
- // So call each angular ngOnDestroy and avoid memory leaks
133
- this.platform.destroy();
134
- }
135
- };
136
- RendererService.prototype.initAngularRootElement = function () {
137
- // Adds DOM element that angular will use as bootstrap component
138
- var storybookWrapperElement = document.createElement(RendererService.SELECTOR_STORYBOOK_WRAPPER);
139
- this.staticRoot.innerHTML = '';
140
- this.staticRoot.appendChild(storybookWrapperElement);
141
- };
142
- RendererService.prototype.fullRendererRequired = function (_a) {
143
- var _b, _c;
144
- var storyFnAngular = _a.storyFnAngular, moduleMetadata = _a.moduleMetadata, forced = _a.forced;
145
- var lastStoryRender = this.currentStoryRender;
146
- this.currentStoryRender = {
147
- storyFnAngular: storyFnAngular,
148
- moduleMetadataSnapshot: JSON.stringify(moduleMetadata),
149
- };
150
- if (
151
- // check `forceRender` of story RenderContext
152
- !forced ||
153
- // if it's the first rendering and storyProps$ is not init
154
- !this.storyProps$) {
155
- return true;
156
- }
157
- // force the rendering if the template has changed
158
- var hasChangedTemplate = !!(storyFnAngular === null || storyFnAngular === void 0 ? void 0 : storyFnAngular.template) &&
159
- ((_b = lastStoryRender === null || lastStoryRender === void 0 ? void 0 : lastStoryRender.storyFnAngular) === null || _b === void 0 ? void 0 : _b.template) !== storyFnAngular.template;
160
- if (hasChangedTemplate) {
161
- return true;
162
- }
163
- // force the rendering if the metadata structure has changed
164
- var hasChangedModuleMetadata = ((_c = this.currentStoryRender) === null || _c === void 0 ? void 0 : _c.moduleMetadataSnapshot) !== (lastStoryRender === null || lastStoryRender === void 0 ? void 0 : lastStoryRender.moduleMetadataSnapshot);
165
- return hasChangedModuleMetadata;
166
- };
167
- RendererService.SELECTOR_STORYBOOK_WRAPPER = 'storybook-wrapper';
168
- return RendererService;
169
- }());
170
- exports.RendererService = RendererService;
@@ -1 +0,0 @@
1
- export { ElementRendererService } from './client/preview/angular-beta/ElementRendererService';
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var ElementRendererService_1 = require("./client/preview/angular-beta/ElementRendererService");
4
- Object.defineProperty(exports, "ElementRendererService", { enumerable: true, get: function () { return ElementRendererService_1.ElementRendererService; } });
@@ -1 +0,0 @@
1
- export * from './dist/ts3.9/element-renderer.d';
@@ -1 +0,0 @@
1
- module.exports = require('./dist/ts3.9/element-renderer');