@analogjs/storybook-angular 2.5.0-beta.8 → 2.5.0
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/package.json +1 -1
- package/src/index.d.ts +2 -1
- package/src/index.js +2 -1
- package/src/index.js.map +1 -1
- package/src/lib/component-wrapper-decorator.d.ts +6 -0
- package/src/lib/component-wrapper-decorator.js +78 -0
- package/src/lib/component-wrapper-decorator.js.map +1 -0
- package/src/lib/preset.js +6 -4
- package/src/lib/preset.js.map +1 -1
package/package.json
CHANGED
package/src/index.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { type AngularOptions, type Parameters as AngularParameters, type AngularRenderer, type Decorator, type IStory, type Loader, type Meta, type Preview, type StoryContext, type StoryFn, type StoryObj, applicationConfig, argsToTemplate,
|
|
1
|
+
export { type AngularOptions, type Parameters as AngularParameters, type AngularRenderer, type Decorator, type IStory, type Loader, type Meta, type Preview, type StoryContext, type StoryFn, type StoryObj, applicationConfig, argsToTemplate, moduleMetadata, setProjectAnnotations, } from '@storybook/angular';
|
|
2
|
+
export { componentWrapperDecorator } from './lib/component-wrapper-decorator';
|
|
2
3
|
export { type FrameworkOptions, type StorybookConfig } from './types';
|
package/src/index.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { applicationConfig, argsToTemplate,
|
|
1
|
+
export { applicationConfig, argsToTemplate, moduleMetadata, setProjectAnnotations, } from '@storybook/angular';
|
|
2
|
+
export { componentWrapperDecorator } from './lib/component-wrapper-decorator';
|
|
2
3
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/storybook-angular/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,iBAAiB,EACjB,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/storybook-angular/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Type } from '@angular/core';
|
|
2
|
+
import { type AngularRenderer, type StoryContext } from '@storybook/angular';
|
|
3
|
+
import type { DecoratorFunction } from 'storybook/internal/types';
|
|
4
|
+
type StoryProps = Record<string, unknown>;
|
|
5
|
+
export declare function componentWrapperDecorator<TArgs = any>(element: Type<unknown> | ((story: string) => string), props?: StoryProps | ((storyContext: StoryContext<TArgs>) => StoryProps)): DecoratorFunction<AngularRenderer, TArgs>;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { reflectComponentType, } from '@angular/core';
|
|
2
|
+
import { argsToTemplate, componentWrapperDecorator as originalComponentWrapperDecorator, } from '@storybook/angular';
|
|
3
|
+
const VOID_ELEMENTS = new Set([
|
|
4
|
+
'area',
|
|
5
|
+
'base',
|
|
6
|
+
'br',
|
|
7
|
+
'col',
|
|
8
|
+
'command',
|
|
9
|
+
'embed',
|
|
10
|
+
'hr',
|
|
11
|
+
'img',
|
|
12
|
+
'input',
|
|
13
|
+
'keygen',
|
|
14
|
+
'link',
|
|
15
|
+
'meta',
|
|
16
|
+
'param',
|
|
17
|
+
'source',
|
|
18
|
+
'track',
|
|
19
|
+
'wbr',
|
|
20
|
+
]);
|
|
21
|
+
export function componentWrapperDecorator(element, props) {
|
|
22
|
+
const decorator = originalComponentWrapperDecorator(element, props);
|
|
23
|
+
return (storyFn, storyContext) => decorator(() => ensureStoryTemplate(storyFn(), storyContext), storyContext);
|
|
24
|
+
}
|
|
25
|
+
function ensureStoryTemplate(story, storyContext) {
|
|
26
|
+
if (story.template || !storyContext.component) {
|
|
27
|
+
return story;
|
|
28
|
+
}
|
|
29
|
+
const component = reflectComponentType(storyContext.component);
|
|
30
|
+
if (!component) {
|
|
31
|
+
return story;
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
...story,
|
|
35
|
+
template: createTemplate(component, story.props ?? storyContext.args),
|
|
36
|
+
userDefinedTemplate: false,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function createTemplate(component, props) {
|
|
40
|
+
const selector = component.selector.split(',')[0]?.trim();
|
|
41
|
+
if (!selector) {
|
|
42
|
+
return '<ng-container *ngComponentOutlet="storyComponent"></ng-container>';
|
|
43
|
+
}
|
|
44
|
+
const bindings = filterTemplateBindings(component, props);
|
|
45
|
+
const attributes = argsToTemplate(bindings);
|
|
46
|
+
return buildTemplate(selector, attributes);
|
|
47
|
+
}
|
|
48
|
+
function filterTemplateBindings(component, props) {
|
|
49
|
+
if (!props || typeof props !== 'object') {
|
|
50
|
+
return {};
|
|
51
|
+
}
|
|
52
|
+
const supportedBindings = new Set([
|
|
53
|
+
...component.inputs.map((input) => input.templateName),
|
|
54
|
+
...component.outputs.map((output) => output.templateName),
|
|
55
|
+
]);
|
|
56
|
+
return Object.fromEntries(Object.entries(props).filter(([key, value]) => {
|
|
57
|
+
return value !== undefined && supportedBindings.has(key);
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
function buildTemplate(selector, attributes) {
|
|
61
|
+
const elementMatch = selector.match(/^[A-Za-z][\w-]*/);
|
|
62
|
+
const tagName = elementMatch?.[0] ?? 'div';
|
|
63
|
+
const id = selector.match(/#([\w-]+)/)?.[1];
|
|
64
|
+
const classes = [...selector.matchAll(/\.([\w-]+)/g)].map((match) => match[1]);
|
|
65
|
+
const selectorAttributes = [...selector.matchAll(/\[([^\]]+)\]/g)].map((match) => match[1].trim());
|
|
66
|
+
const parts = [
|
|
67
|
+
id ? `id="${id}"` : '',
|
|
68
|
+
classes.length > 0 ? `class="${classes.join(' ')}"` : '',
|
|
69
|
+
...selectorAttributes,
|
|
70
|
+
attributes,
|
|
71
|
+
].filter(Boolean);
|
|
72
|
+
const openingTag = parts.length > 0 ? `<${tagName} ${parts.join(' ')}>` : `<${tagName}>`;
|
|
73
|
+
if (VOID_ELEMENTS.has(tagName)) {
|
|
74
|
+
return openingTag.replace(/>$/, ' />');
|
|
75
|
+
}
|
|
76
|
+
return `${openingTag}</${tagName}>`;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=component-wrapper-decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-wrapper-decorator.js","sourceRoot":"","sources":["../../../../../packages/storybook-angular/src/lib/component-wrapper-decorator.ts"],"names":[],"mappings":"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"}
|
package/src/lib/preset.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { resolve } from 'node:path';
|
|
2
2
|
import { core as PresetCore } from '@storybook/angular/preset';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import * as vite from 'vite';
|
|
4
5
|
export const previewAnnotations = async (entries = [], options) => {
|
|
5
6
|
const config = fileURLToPath(import.meta.resolve('@storybook/angular/client/config'));
|
|
6
7
|
const annotations = [...entries, config];
|
|
@@ -84,7 +85,7 @@ export const viteFinal = async (config, options) => {
|
|
|
84
85
|
: 'css',
|
|
85
86
|
}),
|
|
86
87
|
angularOptionsPlugin(options, { normalizePath, experimentalZoneless }),
|
|
87
|
-
|
|
88
|
+
storybookTransformConfigPlugin(),
|
|
88
89
|
],
|
|
89
90
|
define: {
|
|
90
91
|
STORYBOOK_ANGULAR_OPTIONS: JSON.stringify({
|
|
@@ -154,13 +155,14 @@ function angularOptionsPlugin(options, { normalizePath, experimentalZoneless })
|
|
|
154
155
|
},
|
|
155
156
|
};
|
|
156
157
|
}
|
|
157
|
-
function
|
|
158
|
+
function storybookTransformConfigPlugin() {
|
|
159
|
+
const configKey = vite.rolldownVersion ? 'oxc' : 'esbuild';
|
|
158
160
|
return {
|
|
159
|
-
name: 'analogjs-storybook-
|
|
161
|
+
name: 'analogjs-storybook-transform-config',
|
|
160
162
|
apply: 'build',
|
|
161
163
|
config() {
|
|
162
164
|
return {
|
|
163
|
-
|
|
165
|
+
[configKey]: {
|
|
164
166
|
// Don't mangle class names during the build
|
|
165
167
|
// This fixes display of compodoc argtypes
|
|
166
168
|
keepNames: true,
|
package/src/lib/preset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../../../../../packages/storybook-angular/src/lib/preset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../../../../../packages/storybook-angular/src/lib/preset.ts"],"names":[],"mappings":"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"}
|