@storybook/csf 0.0.2--canary.4566f4d.1 → 0.0.2--canary.50.45981a0.0

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.d.ts CHANGED
@@ -15,5 +15,4 @@ export declare const parseKind: (kind: string, { rootSeparator, groupSeparator }
15
15
  root: string | null;
16
16
  groups: string[];
17
17
  };
18
- export { includeConditionalArg } from './includeConditionalArg';
19
18
  export * from './story';
package/dist/index.js CHANGED
@@ -8,22 +8,13 @@ var _exportNames = {
8
8
  toId: true,
9
9
  storyNameFromExport: true,
10
10
  isExportStory: true,
11
- parseKind: true,
12
- includeConditionalArg: true
11
+ parseKind: true
13
12
  };
14
13
  exports.isExportStory = isExportStory;
15
- Object.defineProperty(exports, "includeConditionalArg", {
16
- enumerable: true,
17
- get: function get() {
18
- return _includeConditionalArg.includeConditionalArg;
19
- }
20
- });
21
14
  exports.parseKind = exports.storyNameFromExport = exports.toId = exports.sanitize = void 0;
22
15
 
23
16
  var _startCase = _interopRequireDefault(require("lodash/startCase"));
24
17
 
25
- var _includeConditionalArg = require("./includeConditionalArg");
26
-
27
18
  var _story = require("./story");
28
19
 
29
20
  Object.keys(_story).forEach(function (key) {
package/dist/story.d.ts CHANGED
@@ -16,27 +16,11 @@ export interface StoryIdentifier {
16
16
  export declare type Parameters = {
17
17
  [name: string]: any;
18
18
  };
19
- declare type ConditionalTest = {
20
- truthy?: boolean;
21
- } | {
22
- exists: boolean;
23
- } | {
24
- eq: any;
25
- } | {
26
- neq: any;
27
- };
28
- declare type ConditionalValue = {
29
- arg: string;
30
- } | {
31
- global: string;
32
- };
33
- export declare type Conditional = ConditionalValue & ConditionalTest;
34
19
  export interface InputType {
35
20
  name?: string;
36
21
  description?: string;
37
22
  defaultValue?: any;
38
23
  type?: SBType | SBScalarType['name'];
39
- if?: Conditional;
40
24
  [key: string]: any;
41
25
  }
42
26
  export interface StrictInputType extends InputType {
@@ -106,7 +90,7 @@ export declare type BaseAnnotations<TFramework extends AnyFramework = AnyFramewo
106
90
  args?: Partial<TArgs>;
107
91
  argTypes?: Partial<ArgTypes<TArgs>>;
108
92
  loaders?: LoaderFunction<TFramework, Args>[];
109
- render?: ArgsStoryFn<TFramework, TArgs>;
93
+ render?: ArgsStoryFn<TFramework, Args>;
110
94
  };
111
95
  export declare type ProjectAnnotations<TFramework extends AnyFramework = AnyFramework, TArgs = Args> = BaseAnnotations<TFramework, TArgs> & {
112
96
  argsEnhancers?: ArgsEnhancer<TFramework, Args>[];
@@ -116,7 +116,7 @@ CSF2Story.args = {
116
116
  a: 1
117
117
  };
118
118
  var CSF3Story = {
119
- render: function render(args) {
119
+ render: function render() {
120
120
  return 'Named Story';
121
121
  },
122
122
  name: 'Another name for story',
@@ -138,7 +138,7 @@ var CSF3Story = {
138
138
  }
139
139
  };
140
140
  var CSF3StoryStrict = {
141
- render: function render(args) {
141
+ render: function render() {
142
142
  return 'Named Story';
143
143
  },
144
144
  name: 'Another name for story',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/csf",
3
- "version": "0.0.2--canary.4566f4d.1",
3
+ "version": "0.0.2--canary.50.45981a0.0",
4
4
  "description": "Component Story Format (CSF) utilities",
5
5
  "keywords": [
6
6
  "storybook",
@@ -38,15 +38,13 @@
38
38
  },
39
39
  "prettier": "@storybook/linter-config/prettier.config",
40
40
  "jest": {
41
- "testEnvironment": "node",
42
- "roots": [
43
- "<rootDir>/src"
44
- ]
41
+ "testEnvironment": "node"
45
42
  },
46
43
  "dependencies": {
47
44
  "lodash": "^4.17.15"
48
45
  },
49
46
  "devDependencies": {
47
+ "@auto-it/released": "^10.37.1",
50
48
  "@babel/cli": "^7.8.4",
51
49
  "@babel/core": "^7.9.0",
52
50
  "@babel/preset-env": "^7.9.5",
@@ -63,6 +61,12 @@
63
61
  "prettier": "^1.19.1",
64
62
  "typescript": "^3.7.2"
65
63
  },
64
+ "auto": {
65
+ "plugins": [
66
+ "npm",
67
+ "released"
68
+ ]
69
+ },
66
70
  "publishConfig": {
67
71
  "access": "public"
68
72
  }
@@ -1,3 +0,0 @@
1
- import { Args, Globals, InputType, Conditional } from './story';
2
- export declare const testValue: (cond: Pick<Conditional, never>, value: any) => boolean;
3
- export declare const includeConditionalArg: (argType: InputType, args: Args, globals: Globals) => boolean;
@@ -1,74 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.includeConditionalArg = exports.testValue = void 0;
7
-
8
- var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
-
12
- var count = function count(vals) {
13
- return vals.map(function (v) {
14
- return typeof v !== 'undefined';
15
- }).filter(Boolean).length;
16
- };
17
-
18
- var testValue = function testValue(cond, value) {
19
- var _ref = cond,
20
- exists = _ref.exists,
21
- eq = _ref.eq,
22
- neq = _ref.neq,
23
- truthy = _ref.truthy;
24
-
25
- if (count([exists, eq, neq, truthy]) > 1) {
26
- throw new Error("Invalid conditional test ".concat(JSON.stringify({
27
- exists: exists,
28
- eq: eq,
29
- neq: neq
30
- })));
31
- }
32
-
33
- if (typeof eq !== 'undefined') {
34
- return (0, _isEqual["default"])(value, eq);
35
- }
36
-
37
- if (typeof neq !== 'undefined') {
38
- return !(0, _isEqual["default"])(value, neq);
39
- }
40
-
41
- if (typeof exists !== 'undefined') {
42
- var valueExists = typeof value !== 'undefined';
43
- return exists ? valueExists : !valueExists;
44
- }
45
-
46
- var shouldBeTruthy = typeof truthy === 'undefined' ? true : truthy;
47
- return shouldBeTruthy ? !!value : !value;
48
- };
49
- /**
50
- * Helper function to include/exclude an arg based on the value of other other args
51
- * aka "conditional args"
52
- */
53
-
54
-
55
- exports.testValue = testValue;
56
-
57
- var includeConditionalArg = function includeConditionalArg(argType, args, globals) {
58
- if (!argType["if"]) return true;
59
- var _ref2 = argType["if"],
60
- arg = _ref2.arg,
61
- global = _ref2.global;
62
-
63
- if (count([arg, global]) !== 1) {
64
- throw new Error("Invalid conditional value ".concat(JSON.stringify({
65
- arg: arg,
66
- global: global
67
- })));
68
- }
69
-
70
- var value = arg ? args[arg] : globals[global];
71
- return testValue(argType["if"], value);
72
- };
73
-
74
- exports.includeConditionalArg = includeConditionalArg;
@@ -1 +0,0 @@
1
- export {};
@@ -1,318 +0,0 @@
1
- "use strict";
2
-
3
- var _includeConditionalArg = require("./includeConditionalArg");
4
-
5
- /* eslint-disable @typescript-eslint/ban-ts-ignore */
6
- describe('testValue', function () {
7
- describe('truthy', function () {
8
- it.each([['implicit true', {}, true, true], ['implicit truthy', {}, 1, true], ['implicit falsey', {}, 0, false], ['truthy true', {
9
- truthy: true
10
- }, true, true], ['truthy truthy', {
11
- truthy: true
12
- }, 1, true], ['truthy falsey', {
13
- truthy: true
14
- }, 0, false], ['falsey true', {
15
- truthy: false
16
- }, true, false], ['falsey truthy', {
17
- truthy: false
18
- }, 1, false], ['falsey falsey', {
19
- truthy: false
20
- }, 0, true]])('%s', function (_name, cond, value, expected) {
21
- // @ts-ignore
22
- expect((0, _includeConditionalArg.testValue)(cond, value)).toBe(expected);
23
- });
24
- });
25
- describe('exists', function () {
26
- it.each([['exist', {
27
- exists: true
28
- }, 1, true], ['exist false', {
29
- exists: true
30
- }, undefined, false], ['nexist', {
31
- exists: false
32
- }, undefined, true], ['nexist false', {
33
- exists: false
34
- }, 1, false]])('%s', function (_name, cond, value, expected) {
35
- // @ts-ignore
36
- expect((0, _includeConditionalArg.testValue)(cond, value)).toBe(expected);
37
- });
38
- });
39
- describe('eq', function () {
40
- it.each([['true', {
41
- eq: 1
42
- }, 1, true], ['false', {
43
- eq: 1
44
- }, 2, false], ['undefined', {
45
- eq: undefined
46
- }, undefined, false], ['undefined false', {
47
- eq: 1
48
- }, undefined, false], ['object true', {
49
- eq: {
50
- x: 1
51
- }
52
- }, {
53
- x: 1
54
- }, true], ['object true', {
55
- eq: {
56
- x: 1
57
- }
58
- }, {
59
- x: 2
60
- }, false]])('%s', function (_name, cond, value, expected) {
61
- // @ts-ignore
62
- expect((0, _includeConditionalArg.testValue)(cond, value)).toBe(expected);
63
- });
64
- });
65
- describe('neq', function () {
66
- it.each([['true', {
67
- neq: 1
68
- }, 2, true], ['false', {
69
- neq: 1
70
- }, 1, false], ['undefined true', {
71
- neq: 1
72
- }, undefined, true], ['undefined false', {
73
- neq: undefined
74
- }, undefined, false], ['object true', {
75
- neq: {
76
- x: 1
77
- }
78
- }, {
79
- x: 2
80
- }, true], ['object false', {
81
- neq: {
82
- x: 1
83
- }
84
- }, {
85
- x: 1
86
- }, false]])('%s', function (_name, cond, value, expected) {
87
- // @ts-ignore
88
- expect((0, _includeConditionalArg.testValue)(cond, value)).toBe(expected);
89
- });
90
- });
91
- });
92
- describe('includeConditionalArg', function () {
93
- describe('errors', function () {
94
- it('should throw if arg and global are both specified', function () {
95
- expect(function () {
96
- return (0, _includeConditionalArg.includeConditionalArg)({
97
- "if": {
98
- arg: 'a',
99
- global: 'b'
100
- }
101
- }, {}, {});
102
- }).toThrowErrorMatchingInlineSnapshot("\"Invalid conditional value {\\\"arg\\\":\\\"a\\\",\\\"global\\\":\\\"b\\\"}\"");
103
- });
104
- it('should throw if mulitiple exists / eq / neq are specified', function () {
105
- expect(function () {
106
- return (0, _includeConditionalArg.includeConditionalArg)({
107
- "if": {
108
- arg: 'a',
109
- exists: true,
110
- eq: 1
111
- }
112
- }, {}, {});
113
- }).toThrowErrorMatchingInlineSnapshot("\"Invalid conditional test {\\\"exists\\\":true,\\\"eq\\\":1}\"");
114
- expect(function () {
115
- return (0, _includeConditionalArg.includeConditionalArg)({
116
- "if": {
117
- arg: 'a',
118
- exists: false,
119
- neq: 0
120
- }
121
- }, {}, {});
122
- }).toThrowErrorMatchingInlineSnapshot("\"Invalid conditional test {\\\"exists\\\":false,\\\"neq\\\":0}\"");
123
- expect(function () {
124
- return (0, _includeConditionalArg.includeConditionalArg)({
125
- "if": {
126
- arg: 'a',
127
- eq: 1,
128
- neq: 0
129
- }
130
- }, {}, {});
131
- }).toThrowErrorMatchingInlineSnapshot("\"Invalid conditional test {\\\"eq\\\":1,\\\"neq\\\":0}\"");
132
- });
133
- });
134
- describe('args', function () {
135
- describe('implicit', function () {
136
- it.each([['implicit true', {
137
- "if": {
138
- arg: 'a'
139
- }
140
- }, {
141
- a: 1
142
- }, {}, true], ['truthy true', {
143
- "if": {
144
- arg: 'a',
145
- truthy: true
146
- }
147
- }, {
148
- a: 0
149
- }, {}, false], ['truthy false', {
150
- "if": {
151
- arg: 'a',
152
- truthy: false
153
- }
154
- }, {}, {}, true]])('%s', function (_name, argType, args, globals, expected) {
155
- // @ts-ignore
156
- expect((0, _includeConditionalArg.includeConditionalArg)(argType, args, globals)).toBe(expected);
157
- });
158
- });
159
- describe('exists', function () {
160
- it.each([['exist', {
161
- "if": {
162
- arg: 'a',
163
- exists: true
164
- }
165
- }, {
166
- a: 1
167
- }, {}, true], ['exist false', {
168
- "if": {
169
- arg: 'a',
170
- exists: true
171
- }
172
- }, {}, {}, false]])('%s', function (_name, argType, args, globals, expected) {
173
- // @ts-ignore
174
- expect((0, _includeConditionalArg.includeConditionalArg)(argType, args, globals)).toBe(expected);
175
- });
176
- });
177
- describe('eq', function () {
178
- it.each([['scalar true', {
179
- "if": {
180
- arg: 'a',
181
- eq: 1
182
- }
183
- }, {
184
- a: 1
185
- }, {}, true], ['scalar false', {
186
- "if": {
187
- arg: 'a',
188
- eq: 1
189
- }
190
- }, {
191
- a: 2
192
- }, {
193
- a: 1
194
- }, false]])('%s', function (_name, argType, args, globals, expected) {
195
- // @ts-ignore
196
- expect((0, _includeConditionalArg.includeConditionalArg)(argType, args, globals)).toBe(expected);
197
- });
198
- });
199
- describe('neq', function () {
200
- it.each([['scalar true', {
201
- "if": {
202
- arg: 'a',
203
- neq: 1
204
- }
205
- }, {
206
- a: 2
207
- }, {}, true], ['scalar false', {
208
- "if": {
209
- arg: 'a',
210
- neq: 1
211
- }
212
- }, {
213
- a: 1
214
- }, {
215
- a: 2
216
- }, false]])('%s', function (_name, argType, args, globals, expected) {
217
- // @ts-ignore
218
- expect((0, _includeConditionalArg.includeConditionalArg)(argType, args, globals)).toBe(expected);
219
- });
220
- });
221
- });
222
- describe('globals', function () {
223
- describe('truthy', function () {
224
- it.each([['implicit true', {
225
- "if": {
226
- global: 'a'
227
- }
228
- }, {}, {
229
- a: 1
230
- }, true], ['implicit undefined', {
231
- "if": {
232
- global: 'a'
233
- }
234
- }, {}, {}, false], ['truthy true', {
235
- "if": {
236
- global: 'a',
237
- truthy: true
238
- }
239
- }, {}, {
240
- a: 0
241
- }, false], ['truthy false', {
242
- "if": {
243
- global: 'a',
244
- truthy: false
245
- }
246
- }, {}, {
247
- a: 0
248
- }, true]])('%s', function (_name, argType, args, globals, expected) {
249
- // @ts-ignore
250
- expect((0, _includeConditionalArg.includeConditionalArg)(argType, args, globals)).toBe(expected);
251
- });
252
- });
253
- describe('exists', function () {
254
- it.each([['implicit exist true', {
255
- "if": {
256
- global: 'a',
257
- exists: true
258
- }
259
- }, {}, {
260
- a: 1
261
- }, true], ['implicit exist false', {
262
- "if": {
263
- global: 'a',
264
- exists: true
265
- }
266
- }, {
267
- a: 1
268
- }, {}, false]])('%s', function (_name, argType, args, globals, expected) {
269
- // @ts-ignore
270
- expect((0, _includeConditionalArg.includeConditionalArg)(argType, args, globals)).toBe(expected);
271
- });
272
- });
273
- describe('eq', function () {
274
- it.each([['scalar true', {
275
- "if": {
276
- global: 'a',
277
- eq: 1
278
- }
279
- }, {}, {
280
- a: 1
281
- }, true], ['scalar false', {
282
- "if": {
283
- arg: 'a',
284
- eq: 1
285
- }
286
- }, {
287
- a: 2
288
- }, {
289
- a: 1
290
- }, false]])('%s', function (_name, argType, args, globals, expected) {
291
- // @ts-ignore
292
- expect((0, _includeConditionalArg.includeConditionalArg)(argType, args, globals)).toBe(expected);
293
- });
294
- });
295
- describe('neq', function () {
296
- it.each([['scalar true', {
297
- "if": {
298
- global: 'a',
299
- neq: 1
300
- }
301
- }, {}, {
302
- a: 2
303
- }, true], ['scalar false', {
304
- "if": {
305
- global: 'a',
306
- neq: 1
307
- }
308
- }, {
309
- a: 2
310
- }, {
311
- a: 1
312
- }, false]])('%s', function (_name, argType, args, globals, expected) {
313
- // @ts-ignore
314
- expect((0, _includeConditionalArg.includeConditionalArg)(argType, args, globals)).toBe(expected);
315
- });
316
- });
317
- });
318
- });
@@ -1,75 +0,0 @@
1
- export declare enum PropertyTypes {
2
- TEXT = "text",
3
- NUMBER = "number",
4
- BOOLEAN = "boolean",
5
- OPTIONS = "options",
6
- DATE = "date",
7
- COLOR = "color",
8
- BUTTON = "button",
9
- OBJECT = "object",
10
- ARRAY = "array",
11
- FILES = "files"
12
- }
13
- export interface StoryPropertyBase<T> {
14
- type: PropertyTypes;
15
- label?: string;
16
- value?: T;
17
- hideLabel?: boolean;
18
- hidden?: boolean;
19
- groupId?: string;
20
- order?: number;
21
- }
22
- export interface StoryPropertyText extends StoryPropertyBase<string> {
23
- type: PropertyTypes.TEXT;
24
- placeholder?: string;
25
- maxRows?: number;
26
- }
27
- export interface StoryPropertyBoolean extends StoryPropertyBase<boolean> {
28
- type: PropertyTypes.BOOLEAN;
29
- }
30
- export interface StoryPropertyColor extends StoryPropertyBase<string> {
31
- type: PropertyTypes.COLOR;
32
- }
33
- export interface StoryPropertyDate extends StoryPropertyBase<Date> {
34
- type: PropertyTypes.DATE;
35
- datePicker?: boolean;
36
- timePicker?: boolean;
37
- }
38
- export interface StoryPropertyFiles extends StoryPropertyBase<string[]> {
39
- type: PropertyTypes.FILES;
40
- accept?: string;
41
- }
42
- export interface StoryPropertyArray extends StoryPropertyBase<string[]> {
43
- type: PropertyTypes.ARRAY;
44
- separator?: string;
45
- }
46
- export interface StoryPropertyObject extends StoryPropertyBase<object> {
47
- type: PropertyTypes.OBJECT;
48
- }
49
- export interface StoryPropertyButton extends StoryPropertyBase<void> {
50
- type: PropertyTypes.BUTTON;
51
- onClick?: (prop: StoryPropertyButton) => void;
52
- }
53
- export declare type OptionsValueType<T = unknown> = T | string | number | string[] | number[] | {
54
- label: string;
55
- value: any;
56
- };
57
- export declare type OptionsListType<T = unknown> = {
58
- [key: string]: T;
59
- } | OptionsValueType<T>[];
60
- export interface StoryPropertyOptions<T = unknown> extends StoryPropertyBase<OptionsValueType<T>> {
61
- type: PropertyTypes.OPTIONS;
62
- options: OptionsListType<T>;
63
- display?: 'select' | 'multi-select' | 'radio' | 'inline-radio' | 'check' | 'inline-check';
64
- }
65
- export interface StoryPropertyNumber extends StoryPropertyBase<number> {
66
- type: PropertyTypes.NUMBER;
67
- range?: boolean;
68
- min?: number;
69
- max?: number;
70
- step?: number;
71
- }
72
- export declare type StoryProperty = StoryPropertyText | StoryPropertyBoolean | StoryPropertyColor | StoryPropertyDate | StoryPropertyObject | StoryPropertyButton | StoryPropertyOptions | StoryPropertyNumber | StoryPropertyArray | StoryPropertyFiles;
73
- export interface StoryProperties {
74
- [name: string]: StoryProperty;
75
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.PropertyTypes = void 0;
7
-
8
- /**
9
- * Property field types
10
- * examples are provided for the different types:
11
- *
12
- */
13
- var PropertyTypes;
14
- exports.PropertyTypes = PropertyTypes;
15
-
16
- (function (PropertyTypes) {
17
- PropertyTypes["TEXT"] = "text";
18
- PropertyTypes["NUMBER"] = "number";
19
- PropertyTypes["BOOLEAN"] = "boolean";
20
- PropertyTypes["OPTIONS"] = "options";
21
- PropertyTypes["DATE"] = "date";
22
- PropertyTypes["COLOR"] = "color";
23
- PropertyTypes["BUTTON"] = "button";
24
- PropertyTypes["OBJECT"] = "object";
25
- PropertyTypes["ARRAY"] = "array";
26
- PropertyTypes["FILES"] = "files";
27
- })(PropertyTypes || (exports.PropertyTypes = PropertyTypes = {}));
@@ -1 +0,0 @@
1
- export {};
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- var _ = require(".");
4
-
5
- describe('properties', function () {
6
- it('type PropertyTypes.TEXT', function () {
7
- expect(function () {
8
- var prop = {
9
- type: _.PropertyTypes.TEXT
10
- };
11
- return prop.type === 'text';
12
- }).toBeTruthy();
13
- });
14
- });