@storybook/react-native-ui-lite 9.0.0-rc.4 → 9.0.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/dist/index.d.ts CHANGED
@@ -113,37 +113,44 @@ declare global {
113
113
  }
114
114
 
115
115
  interface SBBaseType {
116
- required?: boolean;
117
- raw?: string;
116
+ required?: boolean;
117
+ raw?: string;
118
118
  }
119
119
  type SBScalarType = SBBaseType & {
120
- name: 'boolean' | 'string' | 'number' | 'function' | 'symbol';
120
+ name: 'boolean' | 'string' | 'number' | 'function' | 'symbol';
121
121
  };
122
122
  type SBArrayType = SBBaseType & {
123
- name: 'array';
124
- value: SBType;
123
+ name: 'array';
124
+ value: SBType;
125
125
  };
126
126
  type SBObjectType = SBBaseType & {
127
- name: 'object';
128
- value: Record<string, SBType>;
127
+ name: 'object';
128
+ value: Record<string, SBType>;
129
129
  };
130
130
  type SBEnumType = SBBaseType & {
131
- name: 'enum';
132
- value: (string | number)[];
131
+ name: 'enum';
132
+ value: (string | number)[];
133
133
  };
134
134
  type SBIntersectionType = SBBaseType & {
135
- name: 'intersection';
136
- value: SBType[];
135
+ name: 'intersection';
136
+ value: SBType[];
137
137
  };
138
138
  type SBUnionType = SBBaseType & {
139
- name: 'union';
140
- value: SBType[];
139
+ name: 'union';
140
+ value: SBType[];
141
141
  };
142
142
  type SBOtherType = SBBaseType & {
143
- name: 'other';
144
- value: string;
143
+ name: 'other';
144
+ value: string;
145
145
  };
146
- type SBType = SBScalarType | SBEnumType | SBArrayType | SBObjectType | SBIntersectionType | SBUnionType | SBOtherType;
146
+ type SBType =
147
+ | SBScalarType
148
+ | SBEnumType
149
+ | SBArrayType
150
+ | SBObjectType
151
+ | SBIntersectionType
152
+ | SBUnionType
153
+ | SBOtherType;
147
154
 
148
155
  type StoryId = string;
149
156
  type ComponentId = string;
@@ -151,225 +158,272 @@ type ComponentTitle = string;
151
158
  type StoryName = string;
152
159
  type Tag = string;
153
160
  interface StoryIdentifier {
154
- componentId: ComponentId;
155
- title: ComponentTitle;
156
- /** @deprecated */
157
- kind: ComponentTitle;
158
- id: StoryId;
159
- name: StoryName;
160
- /** @deprecated */
161
- story: StoryName;
162
- tags: Tag[];
161
+ componentId: ComponentId;
162
+ title: ComponentTitle;
163
+ /** @deprecated */
164
+ kind: ComponentTitle;
165
+ id: StoryId;
166
+ name: StoryName;
167
+ /** @deprecated */
168
+ story: StoryName;
169
+ tags: Tag[];
163
170
  }
164
171
  interface Parameters {
165
- [name: string]: any;
172
+ [name: string]: any;
166
173
  }
167
- type ControlType = 'object' | 'boolean' | 'check' | 'inline-check' | 'radio' | 'inline-radio' | 'select' | 'multi-select' | 'number' | 'range' | 'file' | 'color' | 'date' | 'text';
168
- type ConditionalTest = {
169
- truthy?: boolean;
170
- } | {
171
- exists: boolean;
172
- } | {
173
- eq: any;
174
- } | {
175
- neq: any;
176
- };
177
- type ConditionalValue = {
178
- arg: string;
179
- } | {
180
- global: string;
181
- };
174
+ type ControlType =
175
+ | 'object'
176
+ | 'boolean'
177
+ | 'check'
178
+ | 'inline-check'
179
+ | 'radio'
180
+ | 'inline-radio'
181
+ | 'select'
182
+ | 'multi-select'
183
+ | 'number'
184
+ | 'range'
185
+ | 'file'
186
+ | 'color'
187
+ | 'date'
188
+ | 'text';
189
+ type ConditionalTest =
190
+ | {
191
+ truthy?: boolean;
192
+ }
193
+ | {
194
+ exists: boolean;
195
+ }
196
+ | {
197
+ eq: any;
198
+ }
199
+ | {
200
+ neq: any;
201
+ };
202
+ type ConditionalValue =
203
+ | {
204
+ arg: string;
205
+ }
206
+ | {
207
+ global: string;
208
+ };
182
209
  type Conditional = ConditionalValue & ConditionalTest;
183
210
  interface ControlBase {
184
- [key: string]: any;
185
- /**
186
- * @see https://storybook.js.org/docs/api/arg-types#controltype
187
- */
188
- type?: ControlType;
189
- disable?: boolean;
211
+ [key: string]: any;
212
+ /**
213
+ * @see https://storybook.js.org/docs/api/arg-types#controltype
214
+ */
215
+ type?: ControlType;
216
+ disable?: boolean;
190
217
  }
191
218
  interface Report {
192
- type: string;
193
- version?: number;
194
- result: unknown;
195
- status: 'failed' | 'passed' | 'warning';
219
+ type: string;
220
+ version?: number;
221
+ result: unknown;
222
+ status: 'failed' | 'passed' | 'warning';
196
223
  }
197
224
  interface ReportingAPI {
198
- reports: Report[];
199
- addReport: (report: Report) => void;
225
+ reports: Report[];
226
+ addReport: (report: Report) => void;
200
227
  }
201
- type Control = ControlType | false | (ControlBase & (ControlBase | {
202
- type: 'color';
203
- /**
204
- * @see https://storybook.js.org/docs/api/arg-types#controlpresetcolors
205
- */
206
- presetColors?: string[];
207
- } | {
208
- type: 'file';
209
- /**
210
- * @see https://storybook.js.org/docs/api/arg-types#controlaccept
211
- */
212
- accept?: string;
213
- } | {
214
- type: 'inline-check' | 'radio' | 'inline-radio' | 'select' | 'multi-select';
215
- /**
216
- * @see https://storybook.js.org/docs/api/arg-types#controllabels
217
- */
218
- labels?: {
219
- [options: string]: string;
220
- };
221
- } | {
222
- type: 'number' | 'range';
223
- /**
224
- * @see https://storybook.js.org/docs/api/arg-types#controlmax
225
- */
226
- max?: number;
227
- /**
228
- * @see https://storybook.js.org/docs/api/arg-types#controlmin
229
- */
230
- min?: number;
231
- /**
232
- * @see https://storybook.js.org/docs/api/arg-types#controlstep
233
- */
234
- step?: number;
235
- }));
228
+ type Control =
229
+ | ControlType
230
+ | false
231
+ | (ControlBase &
232
+ (
233
+ | ControlBase
234
+ | {
235
+ type: 'color';
236
+ /**
237
+ * @see https://storybook.js.org/docs/api/arg-types#controlpresetcolors
238
+ */
239
+ presetColors?: string[];
240
+ }
241
+ | {
242
+ type: 'file';
243
+ /**
244
+ * @see https://storybook.js.org/docs/api/arg-types#controlaccept
245
+ */
246
+ accept?: string;
247
+ }
248
+ | {
249
+ type: 'inline-check' | 'radio' | 'inline-radio' | 'select' | 'multi-select';
250
+ /**
251
+ * @see https://storybook.js.org/docs/api/arg-types#controllabels
252
+ */
253
+ labels?: {
254
+ [options: string]: string;
255
+ };
256
+ }
257
+ | {
258
+ type: 'number' | 'range';
259
+ /**
260
+ * @see https://storybook.js.org/docs/api/arg-types#controlmax
261
+ */
262
+ max?: number;
263
+ /**
264
+ * @see https://storybook.js.org/docs/api/arg-types#controlmin
265
+ */
266
+ min?: number;
267
+ /**
268
+ * @see https://storybook.js.org/docs/api/arg-types#controlstep
269
+ */
270
+ step?: number;
271
+ }
272
+ ));
236
273
  interface InputType {
274
+ /**
275
+ * @see https://storybook.js.org/docs/api/arg-types#control
276
+ */
277
+ control?: Control;
278
+ /**
279
+ * @see https://storybook.js.org/docs/api/arg-types#description
280
+ */
281
+ description?: string;
282
+ /**
283
+ * @see https://storybook.js.org/docs/api/arg-types#if
284
+ */
285
+ if?: Conditional;
286
+ /**
287
+ * @see https://storybook.js.org/docs/api/arg-types#mapping
288
+ */
289
+ mapping?: {
290
+ [key: string]: any;
291
+ };
292
+ /**
293
+ * @see https://storybook.js.org/docs/api/arg-types#name
294
+ */
295
+ name?: string;
296
+ /**
297
+ * @see https://storybook.js.org/docs/api/arg-types#options
298
+ */
299
+ options?: readonly any[];
300
+ /**
301
+ * @see https://storybook.js.org/docs/api/arg-types#table
302
+ */
303
+ table?: {
304
+ [key: string]: unknown;
237
305
  /**
238
- * @see https://storybook.js.org/docs/api/arg-types#control
239
- */
240
- control?: Control;
241
- /**
242
- * @see https://storybook.js.org/docs/api/arg-types#description
243
- */
244
- description?: string;
245
- /**
246
- * @see https://storybook.js.org/docs/api/arg-types#if
306
+ * @see https://storybook.js.org/docs/api/arg-types#tablecategory
247
307
  */
248
- if?: Conditional;
308
+ category?: string;
249
309
  /**
250
- * @see https://storybook.js.org/docs/api/arg-types#mapping
310
+ * @see https://storybook.js.org/docs/api/arg-types#tabledefaultvalue
251
311
  */
252
- mapping?: {
253
- [key: string]: any;
312
+ defaultValue?: {
313
+ summary?: string;
314
+ detail?: string;
254
315
  };
255
316
  /**
256
- * @see https://storybook.js.org/docs/api/arg-types#name
317
+ * @see https://storybook.js.org/docs/api/arg-types#tabledisable
257
318
  */
258
- name?: string;
319
+ disable?: boolean;
259
320
  /**
260
- * @see https://storybook.js.org/docs/api/arg-types#options
321
+ * @see https://storybook.js.org/docs/api/arg-types#tablesubcategory
261
322
  */
262
- options?: readonly any[];
323
+ subcategory?: string;
263
324
  /**
264
- * @see https://storybook.js.org/docs/api/arg-types#table
325
+ * @see https://storybook.js.org/docs/api/arg-types#tabletype
265
326
  */
266
- table?: {
267
- [key: string]: unknown;
268
- /**
269
- * @see https://storybook.js.org/docs/api/arg-types#tablecategory
270
- */
271
- category?: string;
272
- /**
273
- * @see https://storybook.js.org/docs/api/arg-types#tabledefaultvalue
274
- */
275
- defaultValue?: {
276
- summary?: string;
277
- detail?: string;
278
- };
279
- /**
280
- * @see https://storybook.js.org/docs/api/arg-types#tabledisable
281
- */
282
- disable?: boolean;
283
- /**
284
- * @see https://storybook.js.org/docs/api/arg-types#tablesubcategory
285
- */
286
- subcategory?: string;
287
- /**
288
- * @see https://storybook.js.org/docs/api/arg-types#tabletype
289
- */
290
- type?: {
291
- summary?: string;
292
- detail?: string;
293
- };
327
+ type?: {
328
+ summary?: string;
329
+ detail?: string;
294
330
  };
295
- /**
296
- * @see https://storybook.js.org/docs/api/arg-types#type
297
- */
298
- type?: SBType | SBScalarType['name'];
299
- /**
300
- * @see https://storybook.js.org/docs/api/arg-types#defaultvalue
301
- *
302
- * @deprecated Use `table.defaultValue.summary` instead.
303
- */
304
- defaultValue?: any;
305
- [key: string]: any;
331
+ };
332
+ /**
333
+ * @see https://storybook.js.org/docs/api/arg-types#type
334
+ */
335
+ type?: SBType | SBScalarType['name'];
336
+ /**
337
+ * @see https://storybook.js.org/docs/api/arg-types#defaultvalue
338
+ *
339
+ * @deprecated Use `table.defaultValue.summary` instead.
340
+ */
341
+ defaultValue?: any;
342
+ [key: string]: any;
306
343
  }
307
344
  interface StrictInputType extends InputType {
308
- name: string;
309
- type?: SBType;
345
+ name: string;
346
+ type?: SBType;
310
347
  }
311
348
  interface Args {
312
- [name: string]: any;
349
+ [name: string]: any;
313
350
  }
314
351
  type StrictArgTypes<TArgs = Args> = {
315
- [name in keyof TArgs]: StrictInputType;
352
+ [name in keyof TArgs]: StrictInputType;
316
353
  };
317
354
  interface Globals {
318
- [name: string]: any;
355
+ [name: string]: any;
319
356
  }
320
357
  interface Renderer {
321
- /** What is the type of the `component` annotation in this renderer? */
322
- component: unknown;
323
- /** What does the story function return in this renderer? */
324
- storyResult: unknown;
325
- /** What type of element does this renderer render to? */
326
- canvasElement: unknown;
327
- mount(): Promise<Canvas>;
328
- T?: unknown;
358
+ /** What is the type of the `component` annotation in this renderer? */
359
+ component: unknown;
360
+ /** What does the story function return in this renderer? */
361
+ storyResult: unknown;
362
+ /** What type of element does this renderer render to? */
363
+ canvasElement: unknown;
364
+ mount(): Promise<Canvas>;
365
+ T?: unknown;
329
366
  }
330
- interface StoryContextForEnhancers<TRenderer extends Renderer = Renderer, TArgs = Args> extends StoryIdentifier {
331
- component?: (TRenderer & {
332
- T: any;
333
- })['component'];
334
- subcomponents?: Record<string, (TRenderer & {
335
- T: any;
336
- })['component']>;
337
- parameters: Parameters;
338
- initialArgs: TArgs;
339
- argTypes: StrictArgTypes<TArgs>;
367
+ interface StoryContextForEnhancers<TRenderer extends Renderer = Renderer, TArgs = Args>
368
+ extends StoryIdentifier {
369
+ component?: (TRenderer & {
370
+ T: any;
371
+ })['component'];
372
+ subcomponents?: Record<
373
+ string,
374
+ (TRenderer & {
375
+ T: any;
376
+ })['component']
377
+ >;
378
+ parameters: Parameters;
379
+ initialArgs: TArgs;
380
+ argTypes: StrictArgTypes<TArgs>;
340
381
  }
341
382
  interface StoryContextUpdate<TArgs = Args> {
342
- args?: TArgs;
343
- globals?: Globals;
344
- [key: string]: any;
383
+ args?: TArgs;
384
+ globals?: Globals;
385
+ [key: string]: any;
345
386
  }
346
387
  type ViewMode = 'story' | 'docs';
347
- interface Canvas {
348
- }
349
- interface StoryContext<TRenderer extends Renderer = Renderer, TArgs = Args> extends StoryContextForEnhancers<TRenderer, TArgs>, Required<StoryContextUpdate<TArgs>> {
350
- loaded: Record<string, any>;
351
- abortSignal: AbortSignal;
352
- canvasElement: TRenderer['canvasElement'];
353
- hooks: unknown;
354
- originalStoryFn: StoryFn<TRenderer>;
355
- viewMode: ViewMode;
356
- step: StepFunction<TRenderer, TArgs>;
357
- context: this;
358
- canvas: Canvas;
359
- mount: TRenderer['mount'];
360
- reporting: ReportingAPI;
388
+ interface Canvas {}
389
+ interface StoryContext<TRenderer extends Renderer = Renderer, TArgs = Args>
390
+ extends StoryContextForEnhancers<TRenderer, TArgs>,
391
+ Required<StoryContextUpdate<TArgs>> {
392
+ loaded: Record<string, any>;
393
+ abortSignal: AbortSignal;
394
+ canvasElement: TRenderer['canvasElement'];
395
+ hooks: unknown;
396
+ originalStoryFn: StoryFn<TRenderer>;
397
+ viewMode: ViewMode;
398
+ step: StepFunction<TRenderer, TArgs>;
399
+ context: this;
400
+ canvas: Canvas;
401
+ mount: TRenderer['mount'];
402
+ reporting: ReportingAPI;
361
403
  }
362
404
  /** @deprecated Use {@link StoryContext} instead. */
363
- interface PlayFunctionContext<TRenderer extends Renderer = Renderer, TArgs = Args> extends StoryContext<TRenderer, TArgs> {
364
- }
405
+ interface PlayFunctionContext<TRenderer extends Renderer = Renderer, TArgs = Args>
406
+ extends StoryContext<TRenderer, TArgs> {}
365
407
  type StepLabel = string;
366
- type StepFunction<TRenderer extends Renderer = Renderer, TArgs = Args> = (label: StepLabel, play: PlayFunction<TRenderer, TArgs>) => Promise<void> | void;
367
- type PlayFunction<TRenderer extends Renderer = Renderer, TArgs = Args> = (context: PlayFunctionContext<TRenderer, TArgs>) => Promise<void> | void;
368
- type LegacyStoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> = (context: StoryContext<TRenderer, TArgs>) => TRenderer['storyResult'];
369
- type ArgsStoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> = (args: TArgs, context: StoryContext<TRenderer, TArgs>) => (TRenderer & {
370
- T: TArgs;
408
+ type StepFunction<TRenderer extends Renderer = Renderer, TArgs = Args> = (
409
+ label: StepLabel,
410
+ play: PlayFunction<TRenderer, TArgs>
411
+ ) => Promise<void> | void;
412
+ type PlayFunction<TRenderer extends Renderer = Renderer, TArgs = Args> = (
413
+ context: PlayFunctionContext<TRenderer, TArgs>
414
+ ) => Promise<void> | void;
415
+ type LegacyStoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> = (
416
+ context: StoryContext<TRenderer, TArgs>
417
+ ) => TRenderer['storyResult'];
418
+ type ArgsStoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> = (
419
+ args: TArgs,
420
+ context: StoryContext<TRenderer, TArgs>
421
+ ) => (TRenderer & {
422
+ T: TArgs;
371
423
  })['storyResult'];
372
- type StoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> = LegacyStoryFn<TRenderer, TArgs> | ArgsStoryFn<TRenderer, TArgs>;
424
+ type StoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> =
425
+ | LegacyStoryFn<TRenderer, TArgs>
426
+ | ArgsStoryFn<TRenderer, TArgs>;
373
427
 
374
428
  declare const LiteUI: SBUI;
375
429
  declare const Layout: ({ storyHash, story, children, }: {
package/dist/index.js CHANGED
@@ -662,6 +662,7 @@ var Tree = import_react4.default.memo(function Tree2({ isMain, refId, data, stat
662
662
  }, [data]);
663
663
  const collapsedItems = (0, import_react4.useMemo)(
664
664
  () => Object.keys(data).filter((id) => !singleStoryComponentIds.includes(id)),
665
+ // eslint-disable-next-line react-compiler/react-compiler
665
666
  // eslint-disable-next-line react-hooks/exhaustive-deps
666
667
  [singleStoryComponentIds]
667
668
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/react-native-ui-lite",
3
- "version": "9.0.0-rc.4",
3
+ "version": "9.0.0",
4
4
  "description": "lightweight ui components for react native storybook",
5
5
  "keywords": [
6
6
  "react",
@@ -58,9 +58,9 @@
58
58
  "typescript": "~5.8.3"
59
59
  },
60
60
  "dependencies": {
61
- "@storybook/react": "9.0.0-rc.4",
62
- "@storybook/react-native-theming": "^9.0.0-rc.4",
63
- "@storybook/react-native-ui-common": "^9.0.0-rc.4",
61
+ "@storybook/react": "^9",
62
+ "@storybook/react-native-theming": "^9.0.0",
63
+ "@storybook/react-native-ui-common": "^9.0.0",
64
64
  "fuse.js": "^7.0.0",
65
65
  "memoizerific": "^1.11.3",
66
66
  "polished": "^4.3.1",
@@ -69,7 +69,7 @@
69
69
  "peerDependencies": {
70
70
  "react": "*",
71
71
  "react-native": ">=0.57.0",
72
- "storybook": "9.0.0-rc.4"
72
+ "storybook": "^9"
73
73
  },
74
74
  "engines": {
75
75
  "node": ">=18.0.0"
@@ -77,5 +77,5 @@
77
77
  "publishConfig": {
78
78
  "access": "public"
79
79
  },
80
- "gitHead": "1d0249371caed6a6a90f42530d722040eb18c9dc"
80
+ "gitHead": "042b39289131a9a80a74859439679947a4b81ac1"
81
81
  }
package/src/Layout.tsx CHANGED
@@ -1,11 +1,10 @@
1
1
  import type { Args, StoryContext } from '@storybook/csf';
2
2
  import type { ReactRenderer } from '@storybook/react';
3
- import { styled, Theme, ThemeProvider, useTheme } from '@storybook/react-native-theming';
3
+ import { styled, ThemeProvider, useTheme } from '@storybook/react-native-theming';
4
4
  import {
5
5
  IconButton,
6
6
  LayoutProvider,
7
7
  SBUI,
8
- Storage,
9
8
  StorageProvider,
10
9
  useLayout,
11
10
  useStoreBooleanState,
@@ -11,7 +11,6 @@ import {
11
11
  SafeAreaView,
12
12
  ScrollView,
13
13
  useAnimatedValue,
14
- useWindowDimensions,
15
14
  View,
16
15
  } from 'react-native';
17
16
 
package/src/Tree.tsx CHANGED
@@ -256,6 +256,7 @@ export const Tree = React.memo<{
256
256
  // Omit single-story components from the list of nodes.
257
257
  const collapsedItems = useMemo(
258
258
  () => Object.keys(data).filter((id) => !singleStoryComponentIds.includes(id)),
259
+ // eslint-disable-next-line react-compiler/react-compiler
259
260
  // eslint-disable-next-line react-hooks/exhaustive-deps
260
261
  [singleStoryComponentIds]
261
262
  );
@@ -281,6 +282,7 @@ export const Tree = React.memo<{
281
282
  },
282
283
  { ...data }
283
284
  );
285
+ // eslint-disable-next-line react-compiler/react-compiler
284
286
  // eslint-disable-next-line react-hooks/exhaustive-deps
285
287
  }, [data]);
286
288