@storybook/csf 0.0.2--canary.36.ecfc79e.0 → 0.0.2--canary.48.3bd2bd7.0

Sign up to get free protection for your applications and to get access to all the features.
package/dist/story.d.ts CHANGED
@@ -93,20 +93,26 @@ export declare type StoryContext<TFramework extends AnyFramework = AnyFramework,
93
93
  abortSignal: AbortSignal;
94
94
  canvasElement: HTMLElement;
95
95
  };
96
- export declare type PlayFunction<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = (context: StoryContext<TFramework, TArgs>) => Promise<void> | void;
96
+ export declare type StepLabel = string;
97
+ export declare type StepFunction<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = (label: StepLabel, play: PlayFunction<TFramework, TArgs>) => Promise<void> | void;
98
+ export declare type PlayFunctionContext<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = StoryContext<TFramework, TArgs> & {
99
+ step: StepFunction<TFramework, TArgs>;
100
+ };
101
+ export declare type PlayFunction<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = (context: PlayFunctionContext<TFramework, TArgs>) => Promise<void> | void;
97
102
  export declare type PartialStoryFn<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = (update?: StoryContextUpdate<TArgs>) => TFramework['storyResult'];
98
103
  export declare type LegacyStoryFn<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = (context: StoryContext<TFramework, TArgs>) => TFramework['storyResult'];
99
104
  export declare type ArgsStoryFn<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = (args: TArgs, context: StoryContext<TFramework, TArgs>) => TFramework['storyResult'];
100
105
  export declare type StoryFn<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = LegacyStoryFn<TFramework, TArgs> | ArgsStoryFn<TFramework, TArgs>;
101
106
  export declare type DecoratorFunction<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = (fn: PartialStoryFn<TFramework, TArgs>, c: StoryContext<TFramework, TArgs>) => TFramework['storyResult'];
102
107
  export declare type DecoratorApplicator<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = (storyFn: LegacyStoryFn<TFramework, TArgs>, decorators: DecoratorFunction<TFramework, TArgs>[]) => LegacyStoryFn<TFramework, TArgs>;
108
+ export declare type StepRunner<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = (label: StepLabel, play: PlayFunction<TFramework, TArgs>, context: PlayFunctionContext<TFramework, TArgs>) => Promise<void>;
103
109
  export declare type BaseAnnotations<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = {
104
110
  decorators?: DecoratorFunction<TFramework, Args>[];
105
111
  parameters?: Parameters;
106
112
  args?: Partial<TArgs>;
107
113
  argTypes?: Partial<ArgTypes<TArgs>>;
108
114
  loaders?: LoaderFunction<TFramework, Args>[];
109
- render?: ArgsStoryFn<TFramework, Args>;
115
+ render?: ArgsStoryFn<TFramework, TArgs>;
110
116
  };
111
117
  export declare type ProjectAnnotations<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = BaseAnnotations<TFramework, TArgs> & {
112
118
  argsEnhancers?: ArgsEnhancer<TFramework, Args>[];
@@ -114,6 +120,7 @@ export declare type ProjectAnnotations<TFramework extends AnyFramework = AnyFram
114
120
  globals?: Globals;
115
121
  globalTypes?: GlobalTypes;
116
122
  applyDecorators?: DecoratorApplicator<TFramework, Args>;
123
+ runStep?: StepRunner<TFramework, TArgs>;
117
124
  };
118
125
  declare type StoryDescriptor = string[] | RegExp;
119
126
  export declare type ComponentAnnotations<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = BaseAnnotations<TFramework, TArgs> & {
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
2
 
3
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
+
5
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
6
+
3
7
  // NOTE Example of internal type definition for @storybook/<X> (where X is a framework)
4
8
  // NOTE Examples of using types from @storybook/<X> in real project
5
9
  var Button = function Button() {
@@ -116,7 +120,7 @@ CSF2Story.args = {
116
120
  a: 1
117
121
  };
118
122
  var CSF3Story = {
119
- render: function render() {
123
+ render: function render(args) {
120
124
  return 'Named Story';
121
125
  },
122
126
  name: 'Another name for story',
@@ -138,7 +142,7 @@ var CSF3Story = {
138
142
  }
139
143
  };
140
144
  var CSF3StoryStrict = {
141
- render: function render() {
145
+ render: function render(args) {
142
146
  return 'Named Story';
143
147
  },
144
148
  name: 'Another name for story',
@@ -157,6 +161,71 @@ var CSF3StoryStrict = {
157
161
  }],
158
162
  args: {
159
163
  x: '1'
164
+ },
165
+ play: function () {
166
+ var _play = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(_ref) {
167
+ var step;
168
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
169
+ while (1) {
170
+ switch (_context2.prev = _context2.next) {
171
+ case 0:
172
+ step = _ref.step;
173
+ _context2.next = 3;
174
+ return step('a step', /*#__PURE__*/function () {
175
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(_ref2) {
176
+ var substep;
177
+ return regeneratorRuntime.wrap(function _callee$(_context) {
178
+ while (1) {
179
+ switch (_context.prev = _context.next) {
180
+ case 0:
181
+ substep = _ref2.step;
182
+ _context.next = 3;
183
+ return substep('a substep', function () {});
184
+
185
+ case 3:
186
+ case "end":
187
+ return _context.stop();
188
+ }
189
+ }
190
+ }, _callee);
191
+ }));
192
+
193
+ return function (_x2) {
194
+ return _ref3.apply(this, arguments);
195
+ };
196
+ }());
197
+
198
+ case 3:
199
+ case "end":
200
+ return _context2.stop();
201
+ }
202
+ }
203
+ }, _callee2);
204
+ }));
205
+
206
+ function play(_x) {
207
+ return _play.apply(this, arguments);
208
+ }
209
+
210
+ return play;
211
+ }()
212
+ };
213
+ var project = {
214
+ runStep: function runStep(label, play, context) {
215
+ return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
216
+ return regeneratorRuntime.wrap(function _callee3$(_context3) {
217
+ while (1) {
218
+ switch (_context3.prev = _context3.next) {
219
+ case 0:
220
+ return _context3.abrupt("return", play(context));
221
+
222
+ case 1:
223
+ case "end":
224
+ return _context3.stop();
225
+ }
226
+ }
227
+ }, _callee3);
228
+ }))();
160
229
  }
161
230
  }; // NOTE Jest forced to define at least one test in file
162
231
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/csf",
3
- "version": "0.0.2--canary.36.ecfc79e.0",
3
+ "version": "0.0.2--canary.48.3bd2bd7.0",
4
4
  "description": "Component Story Format (CSF) utilities",
5
5
  "keywords": [
6
6
  "storybook",