@storybook/csf 0.0.2-next.1 → 0.0.2-next.3
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/index.d.ts +58 -52
- package/package.json +49 -10
package/dist/index.d.ts
CHANGED
@@ -51,9 +51,9 @@ interface StoryIdentifier {
|
|
51
51
|
story: StoryName;
|
52
52
|
tags: Tag[];
|
53
53
|
}
|
54
|
-
|
55
|
-
[name: string]:
|
56
|
-
}
|
54
|
+
interface Parameters {
|
55
|
+
[name: string]: unknown;
|
56
|
+
}
|
57
57
|
declare type ConditionalTest = {
|
58
58
|
truthy?: boolean;
|
59
59
|
} | {
|
@@ -99,24 +99,30 @@ declare type GlobalTypes = {
|
|
99
99
|
declare type StrictGlobalTypes = {
|
100
100
|
[name: string]: StrictInputType;
|
101
101
|
};
|
102
|
-
declare type
|
102
|
+
declare type Renderer = {
|
103
|
+
/** What is the type of the `component` annotation in this renderer? */
|
103
104
|
component: unknown;
|
105
|
+
/** What does the story function return in this renderer? */
|
104
106
|
storyResult: unknown;
|
107
|
+
/** What type of element does this renderer render to? */
|
108
|
+
canvasElement: unknown;
|
105
109
|
T?: unknown;
|
106
110
|
};
|
107
|
-
|
108
|
-
|
111
|
+
/** @deprecated - use `Renderer` */
|
112
|
+
declare type AnyFramework = Renderer;
|
113
|
+
declare type StoryContextForEnhancers<TRenderer extends Renderer = Renderer, TArgs = Args> = StoryIdentifier & {
|
114
|
+
component?: (TRenderer & {
|
109
115
|
T: any;
|
110
116
|
})['component'];
|
111
|
-
subcomponents?: Record<string, (
|
117
|
+
subcomponents?: Record<string, (TRenderer & {
|
112
118
|
T: any;
|
113
119
|
})['component']>;
|
114
120
|
parameters: Parameters;
|
115
121
|
initialArgs: TArgs;
|
116
122
|
argTypes: StrictArgTypes<TArgs>;
|
117
123
|
};
|
118
|
-
declare type ArgsEnhancer<
|
119
|
-
declare type ArgTypesEnhancer<
|
124
|
+
declare type ArgsEnhancer<TRenderer extends Renderer = Renderer, TArgs = Args> = (context: StoryContextForEnhancers<TRenderer, TArgs>) => TArgs;
|
125
|
+
declare type ArgTypesEnhancer<TRenderer extends Renderer = Renderer, TArgs = Args> = ((context: StoryContextForEnhancers<TRenderer, TArgs>) => StrictArgTypes<TArgs>) & {
|
120
126
|
secondPass?: boolean;
|
121
127
|
};
|
122
128
|
declare type StoryContextUpdate<TArgs = Args> = {
|
@@ -125,40 +131,40 @@ declare type StoryContextUpdate<TArgs = Args> = {
|
|
125
131
|
[key: string]: any;
|
126
132
|
};
|
127
133
|
declare type ViewMode = 'story' | 'docs';
|
128
|
-
declare type StoryContextForLoaders<
|
134
|
+
declare type StoryContextForLoaders<TRenderer extends Renderer = Renderer, TArgs = Args> = StoryContextForEnhancers<TRenderer, TArgs> & Required<StoryContextUpdate<TArgs>> & {
|
129
135
|
hooks: unknown;
|
130
136
|
viewMode: ViewMode;
|
131
|
-
originalStoryFn: StoryFn<
|
137
|
+
originalStoryFn: StoryFn<TRenderer>;
|
132
138
|
};
|
133
|
-
declare type LoaderFunction<
|
134
|
-
declare type StoryContext<
|
139
|
+
declare type LoaderFunction<TRenderer extends Renderer = Renderer, TArgs = Args> = (context: StoryContextForLoaders<TRenderer, TArgs>) => Promise<Record<string, any>>;
|
140
|
+
declare type StoryContext<TRenderer extends Renderer = Renderer, TArgs = Args> = StoryContextForLoaders<TRenderer, TArgs> & {
|
135
141
|
loaded: Record<string, any>;
|
136
142
|
abortSignal: AbortSignal;
|
137
|
-
canvasElement:
|
143
|
+
canvasElement: TRenderer['canvasElement'];
|
138
144
|
};
|
139
145
|
declare type StepLabel = string;
|
140
|
-
declare type StepFunction<
|
141
|
-
declare type PlayFunctionContext<
|
142
|
-
step: StepFunction<
|
146
|
+
declare type StepFunction<TRenderer extends Renderer = Renderer, TArgs = Args> = (label: StepLabel, play: PlayFunction<TRenderer, TArgs>) => Promise<void> | void;
|
147
|
+
declare type PlayFunctionContext<TRenderer extends Renderer = Renderer, TArgs = Args> = StoryContext<TRenderer, TArgs> & {
|
148
|
+
step: StepFunction<TRenderer, TArgs>;
|
143
149
|
};
|
144
|
-
declare type PlayFunction<
|
145
|
-
declare type PartialStoryFn<
|
146
|
-
declare type LegacyStoryFn<
|
147
|
-
declare type ArgsStoryFn<
|
150
|
+
declare type PlayFunction<TRenderer extends Renderer = Renderer, TArgs = Args> = (context: PlayFunctionContext<TRenderer, TArgs>) => Promise<void> | void;
|
151
|
+
declare type PartialStoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> = (update?: StoryContextUpdate<Partial<TArgs>>) => TRenderer['storyResult'];
|
152
|
+
declare type LegacyStoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> = (context: StoryContext<TRenderer, TArgs>) => TRenderer['storyResult'];
|
153
|
+
declare type ArgsStoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> = (args: TArgs, context: StoryContext<TRenderer, TArgs>) => (TRenderer & {
|
148
154
|
T: TArgs;
|
149
155
|
})['storyResult'];
|
150
|
-
declare type StoryFn<
|
151
|
-
declare type DecoratorFunction<
|
152
|
-
declare type DecoratorApplicator<
|
153
|
-
declare type StepRunner<
|
154
|
-
declare type BaseAnnotations<
|
156
|
+
declare type StoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> = LegacyStoryFn<TRenderer, TArgs> | ArgsStoryFn<TRenderer, TArgs>;
|
157
|
+
declare type DecoratorFunction<TRenderer extends Renderer = Renderer, TArgs = Args> = (fn: PartialStoryFn<TRenderer, TArgs>, c: StoryContext<TRenderer, TArgs>) => TRenderer['storyResult'];
|
158
|
+
declare type DecoratorApplicator<TRenderer extends Renderer = Renderer, TArgs = Args> = (storyFn: LegacyStoryFn<TRenderer, TArgs>, decorators: DecoratorFunction<TRenderer, TArgs>[]) => LegacyStoryFn<TRenderer, TArgs>;
|
159
|
+
declare type StepRunner<TRenderer extends Renderer = Renderer, TArgs = Args> = (label: StepLabel, play: PlayFunction<TRenderer, TArgs>, context: PlayFunctionContext<TRenderer, TArgs>) => Promise<void>;
|
160
|
+
declare type BaseAnnotations<TRenderer extends Renderer = Renderer, TArgs = Args> = {
|
155
161
|
/**
|
156
162
|
* Wrapper components or Storybook decorators that wrap a story.
|
157
163
|
*
|
158
164
|
* Decorators defined in Meta will be applied to every story variation.
|
159
165
|
* @see [Decorators](https://storybook.js.org/docs/addons/introduction/#1-decorators)
|
160
166
|
*/
|
161
|
-
decorators?: DecoratorFunction<
|
167
|
+
decorators?: DecoratorFunction<TRenderer, TArgs>[];
|
162
168
|
/**
|
163
169
|
* Custom metadata for a story.
|
164
170
|
* @see [Parameters](https://storybook.js.org/docs/basics/writing-stories/#parameters)
|
@@ -178,22 +184,22 @@ declare type BaseAnnotations<TFramework extends AnyFramework = AnyFramework, TAr
|
|
178
184
|
* Asynchronous functions which provide data for a story.
|
179
185
|
* @see [Loaders](https://storybook.js.org/docs/react/writing-stories/loaders)
|
180
186
|
*/
|
181
|
-
loaders?: LoaderFunction<
|
187
|
+
loaders?: LoaderFunction<TRenderer, TArgs>[];
|
182
188
|
/**
|
183
|
-
* Define a custom render function for the story(ies). If not passed, a default render function by the
|
189
|
+
* Define a custom render function for the story(ies). If not passed, a default render function by the renderer will be used.
|
184
190
|
*/
|
185
|
-
render?: ArgsStoryFn<
|
191
|
+
render?: ArgsStoryFn<TRenderer, TArgs>;
|
186
192
|
};
|
187
|
-
declare type ProjectAnnotations<
|
188
|
-
argsEnhancers?: ArgsEnhancer<
|
189
|
-
argTypesEnhancers?: ArgTypesEnhancer<
|
193
|
+
declare type ProjectAnnotations<TRenderer extends Renderer = Renderer, TArgs = Args> = BaseAnnotations<TRenderer, TArgs> & {
|
194
|
+
argsEnhancers?: ArgsEnhancer<TRenderer, Args>[];
|
195
|
+
argTypesEnhancers?: ArgTypesEnhancer<TRenderer, Args>[];
|
190
196
|
globals?: Globals;
|
191
197
|
globalTypes?: GlobalTypes;
|
192
|
-
applyDecorators?: DecoratorApplicator<
|
193
|
-
runStep?: StepRunner<
|
198
|
+
applyDecorators?: DecoratorApplicator<TRenderer, Args>;
|
199
|
+
runStep?: StepRunner<TRenderer, TArgs>;
|
194
200
|
};
|
195
201
|
declare type StoryDescriptor$1 = string[] | RegExp;
|
196
|
-
interface ComponentAnnotations<
|
202
|
+
interface ComponentAnnotations<TRenderer extends Renderer = Renderer, TArgs = Args> extends BaseAnnotations<TRenderer, TArgs> {
|
197
203
|
/**
|
198
204
|
* Title of the component which will be presented in the navigation. **Should be unique.**
|
199
205
|
*
|
@@ -241,7 +247,7 @@ interface ComponentAnnotations<TFramework extends AnyFramework = AnyFramework, T
|
|
241
247
|
*
|
242
248
|
* Used by addons for automatic prop table generation and display of other component metadata.
|
243
249
|
*/
|
244
|
-
component?: (
|
250
|
+
component?: (TRenderer & {
|
245
251
|
T: Args extends TArgs ? any : TArgs;
|
246
252
|
})['component'];
|
247
253
|
/**
|
@@ -259,17 +265,17 @@ interface ComponentAnnotations<TFramework extends AnyFramework = AnyFramework, T
|
|
259
265
|
*
|
260
266
|
* By defining them each component will have its tab in the args table.
|
261
267
|
*/
|
262
|
-
subcomponents?: Record<string,
|
268
|
+
subcomponents?: Record<string, TRenderer['component']>;
|
263
269
|
/**
|
264
270
|
* Function that is executed after the story is rendered.
|
265
271
|
*/
|
266
|
-
play?: PlayFunction<
|
272
|
+
play?: PlayFunction<TRenderer, TArgs>;
|
267
273
|
/**
|
268
274
|
* Named tags for a story, used to filter stories in different contexts.
|
269
275
|
*/
|
270
276
|
tags?: Tag[];
|
271
277
|
}
|
272
|
-
declare type StoryAnnotations<
|
278
|
+
declare type StoryAnnotations<TRenderer extends Renderer = Renderer, TArgs = Args, TRequiredArgs = Partial<TArgs>> = BaseAnnotations<TRenderer, TArgs> & {
|
273
279
|
/**
|
274
280
|
* Override the display name in the UI (CSF v3)
|
275
281
|
*/
|
@@ -281,29 +287,29 @@ declare type StoryAnnotations<TFramework extends AnyFramework = AnyFramework, TA
|
|
281
287
|
/**
|
282
288
|
* Function that is executed after the story is rendered.
|
283
289
|
*/
|
284
|
-
play?: PlayFunction<
|
290
|
+
play?: PlayFunction<TRenderer, TArgs>;
|
285
291
|
/**
|
286
292
|
* Named tags for a story, used to filter stories in different contexts.
|
287
293
|
*/
|
288
294
|
tags?: Tag[];
|
289
295
|
/** @deprecated */
|
290
|
-
story?: Omit<StoryAnnotations<
|
296
|
+
story?: Omit<StoryAnnotations<TRenderer, TArgs>, 'story'>;
|
291
297
|
} & ({} extends TRequiredArgs ? {
|
292
298
|
args?: TRequiredArgs;
|
293
299
|
} : {
|
294
300
|
args: TRequiredArgs;
|
295
301
|
});
|
296
|
-
declare type LegacyAnnotatedStoryFn<
|
297
|
-
declare type LegacyStoryAnnotationsOrFn<
|
298
|
-
declare type AnnotatedStoryFn<
|
299
|
-
declare type StoryAnnotationsOrFn<
|
300
|
-
declare type ArgsFromMeta<
|
301
|
-
render?: ArgsStoryFn<
|
302
|
+
declare type LegacyAnnotatedStoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> = StoryFn<TRenderer, TArgs> & StoryAnnotations<TRenderer, TArgs>;
|
303
|
+
declare type LegacyStoryAnnotationsOrFn<TRenderer extends Renderer = Renderer, TArgs = Args> = LegacyAnnotatedStoryFn<TRenderer, TArgs> | StoryAnnotations<TRenderer, TArgs>;
|
304
|
+
declare type AnnotatedStoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> = ArgsStoryFn<TRenderer, TArgs> & StoryAnnotations<TRenderer, TArgs>;
|
305
|
+
declare type StoryAnnotationsOrFn<TRenderer extends Renderer = Renderer, TArgs = Args> = AnnotatedStoryFn<TRenderer, TArgs> | StoryAnnotations<TRenderer, TArgs>;
|
306
|
+
declare type ArgsFromMeta<TRenderer extends Renderer, Meta> = Meta extends {
|
307
|
+
render?: ArgsStoryFn<TRenderer, infer RArgs>;
|
302
308
|
loaders?: (infer Loaders)[];
|
303
309
|
decorators?: (infer Decorators)[];
|
304
|
-
} ? Simplify<RArgs & DecoratorsArgs<
|
305
|
-
declare type DecoratorsArgs<
|
306
|
-
declare type LoaderArgs<
|
310
|
+
} ? Simplify<RArgs & DecoratorsArgs<TRenderer, Decorators> & LoaderArgs<TRenderer, Loaders>> : unknown;
|
311
|
+
declare type DecoratorsArgs<TRenderer extends Renderer, Decorators> = UnionToIntersection<Decorators extends DecoratorFunction<TRenderer, infer TArgs> ? TArgs : unknown>;
|
312
|
+
declare type LoaderArgs<TRenderer extends Renderer, Loaders> = UnionToIntersection<Loaders extends LoaderFunction<TRenderer, infer TArgs> ? TArgs : unknown>;
|
307
313
|
|
308
314
|
/**
|
309
315
|
* Helper function to include/exclude an arg based on the value of other other args
|
@@ -346,4 +352,4 @@ declare const parseKind: (kind: string, { rootSeparator, groupSeparator }: Separ
|
|
346
352
|
groups: string[];
|
347
353
|
};
|
348
354
|
|
349
|
-
export { AnnotatedStoryFn, AnyFramework, ArgTypes, ArgTypesEnhancer, Args, ArgsEnhancer, ArgsFromMeta, ArgsStoryFn, BaseAnnotations, ComponentAnnotations, ComponentId, ComponentTitle, Conditional, DecoratorApplicator, DecoratorFunction, GlobalTypes, Globals, IncludeExcludeOptions, InputType, LegacyAnnotatedStoryFn, LegacyStoryAnnotationsOrFn, LegacyStoryFn, LoaderFunction, Parameters, PartialStoryFn, PlayFunction, PlayFunctionContext, ProjectAnnotations, SBArrayType, SBEnumType, SBIntersectionType, SBObjectType, SBOtherType, SBScalarType, SBType, SBUnionType, SeparatorOptions, StepFunction, StepLabel, StepRunner, StoryAnnotations, StoryAnnotationsOrFn, StoryContext, StoryContextForEnhancers, StoryContextForLoaders, StoryContextUpdate, StoryFn, StoryId, StoryIdentifier, StoryKind, StoryName, StrictArgTypes, StrictGlobalTypes, StrictInputType, Tag, ViewMode, includeConditionalArg, isExportStory, parseKind, sanitize, storyNameFromExport, toId };
|
355
|
+
export { AnnotatedStoryFn, AnyFramework, ArgTypes, ArgTypesEnhancer, Args, ArgsEnhancer, ArgsFromMeta, ArgsStoryFn, BaseAnnotations, ComponentAnnotations, ComponentId, ComponentTitle, Conditional, DecoratorApplicator, DecoratorFunction, GlobalTypes, Globals, IncludeExcludeOptions, InputType, LegacyAnnotatedStoryFn, LegacyStoryAnnotationsOrFn, LegacyStoryFn, LoaderFunction, Parameters, PartialStoryFn, PlayFunction, PlayFunctionContext, ProjectAnnotations, Renderer, SBArrayType, SBEnumType, SBIntersectionType, SBObjectType, SBOtherType, SBScalarType, SBType, SBUnionType, SeparatorOptions, StepFunction, StepLabel, StepRunner, StoryAnnotations, StoryAnnotationsOrFn, StoryContext, StoryContextForEnhancers, StoryContextForLoaders, StoryContextUpdate, StoryFn, StoryId, StoryIdentifier, StoryKind, StoryName, StrictArgTypes, StrictGlobalTypes, StrictInputType, Tag, ViewMode, includeConditionalArg, isExportStory, parseKind, sanitize, storyNameFromExport, toId };
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@storybook/csf",
|
3
|
-
"version": "0.0.2-next.
|
3
|
+
"version": "0.0.2-next.3",
|
4
4
|
"description": "Component Story Format (CSF) utilities",
|
5
5
|
"keywords": [
|
6
6
|
"storybook",
|
@@ -23,6 +23,12 @@
|
|
23
23
|
"*.js",
|
24
24
|
"*.d.ts"
|
25
25
|
],
|
26
|
+
"exports": {
|
27
|
+
".": {
|
28
|
+
"import": "./dist/index.mjs",
|
29
|
+
"require": "./dist/index.js"
|
30
|
+
}
|
31
|
+
},
|
26
32
|
"main": "dist/index.js",
|
27
33
|
"module": "dist/index.mjs",
|
28
34
|
"types": "dist/index.d.ts",
|
@@ -30,14 +36,29 @@
|
|
30
36
|
"build": "tsup ./src/index.ts --format esm,cjs --dts",
|
31
37
|
"check": "tsc",
|
32
38
|
"lint": "eslint src --ext .ts",
|
33
|
-
"test": "jest",
|
39
|
+
"test": "NODE_NO_WARNINGS=1 NODE_OPTIONS=--experimental-vm-modules jest",
|
34
40
|
"release": "yarn build && auto shipit"
|
35
41
|
},
|
36
42
|
"eslintConfig": {
|
37
43
|
"extends": [
|
38
44
|
"@storybook/eslint-config-storybook"
|
39
45
|
],
|
46
|
+
"parserOptions": {
|
47
|
+
"project": [
|
48
|
+
"./tsconfig.json"
|
49
|
+
]
|
50
|
+
},
|
51
|
+
"settings": {
|
52
|
+
"import/resolver": {
|
53
|
+
"typescript": {
|
54
|
+
"project": [
|
55
|
+
"./tsconfig.json"
|
56
|
+
]
|
57
|
+
}
|
58
|
+
}
|
59
|
+
},
|
40
60
|
"rules": {
|
61
|
+
"import/no-unresolved": "error",
|
41
62
|
"jest/expect-expect": [
|
42
63
|
"warn",
|
43
64
|
{
|
@@ -51,7 +72,21 @@
|
|
51
72
|
},
|
52
73
|
"prettier": "@storybook/linter-config/prettier.config",
|
53
74
|
"jest": {
|
54
|
-
"preset": "ts-jest",
|
75
|
+
"preset": "ts-jest/presets/default-esm",
|
76
|
+
"extensionsToTreatAsEsm": [
|
77
|
+
".ts"
|
78
|
+
],
|
79
|
+
"moduleNameMapper": {
|
80
|
+
"^(\\.{1,2}/.*)\\.js$": "$1"
|
81
|
+
},
|
82
|
+
"transform": {
|
83
|
+
"^.+\\.tsx?$": [
|
84
|
+
"ts-jest",
|
85
|
+
{
|
86
|
+
"useESM": true
|
87
|
+
}
|
88
|
+
]
|
89
|
+
},
|
55
90
|
"testEnvironment": "node",
|
56
91
|
"roots": [
|
57
92
|
"<rootDir>/src"
|
@@ -63,19 +98,23 @@
|
|
63
98
|
"type-fest": "^2.19.0"
|
64
99
|
},
|
65
100
|
"devDependencies": {
|
66
|
-
"@auto-it/released": "^10.37.
|
67
|
-
"@storybook/eslint-config-storybook": "^
|
101
|
+
"@auto-it/released": "^10.37.6",
|
102
|
+
"@storybook/eslint-config-storybook": "^3.1.2",
|
68
103
|
"@types/jest": "^29.2.0",
|
69
104
|
"@types/lodash": "^4.14.149",
|
70
105
|
"@types/node": "^18.11.0",
|
71
|
-
"@typescript-eslint/
|
72
|
-
"
|
106
|
+
"@typescript-eslint/eslint-plugin": "^5.42.1",
|
107
|
+
"@typescript-eslint/parser": "^5.42.1",
|
108
|
+
"auto": "^10.37.6",
|
73
109
|
"common-tags": "^1.8.0",
|
74
|
-
"eslint": "^
|
75
|
-
"
|
110
|
+
"eslint": "^8.27.0",
|
111
|
+
"eslint-import-resolver-typescript": "^3.5.2",
|
112
|
+
"eslint-plugin-import": "^2.26.0",
|
113
|
+
"eslint-plugin-jest": "^27.1.4",
|
114
|
+
"jest": "^29.3.1",
|
76
115
|
"prettier": "^2.7.1",
|
77
116
|
"ts-jest": "^29.0.3",
|
78
|
-
"tsup": "^6.
|
117
|
+
"tsup": "^6.4.0",
|
79
118
|
"typescript": "^4.8.4"
|
80
119
|
},
|
81
120
|
"auto": {
|