Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .changeset/little-points-ask.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
'@storybook/react-native-ui-common': patch
'@storybook/addon-ondevice-backgrounds': patch
'@storybook/react-native-theming': patch
'@storybook/react-native-ui-lite': patch
'@storybook/addon-ondevice-controls': patch
'@storybook/addon-ondevice-actions': patch
'@storybook/react-native-ui': patch
'@storybook/addon-ondevice-notes': patch
'@storybook/react-native': patch
---

liteui animation changes and select control adjustments
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- name: Set node version
uses: actions/setup-node@v4
with:
node-version: 24
node-version: 26
cache: 'pnpm'

- name: Install
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:

- uses: actions/setup-node@v4
with:
node-version: 24
node-version: 26
cache: 'pnpm'
registry-url: 'https://registry.npmjs.org'

Expand All @@ -50,6 +50,10 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Update lockfile (canary)
if: inputs.release_type == 'canary'
run: pnpm install --no-frozen-lockfile

- name: Publish (canary)
if: inputs.release_type == 'canary'
run: pnpm changeset publish --tag canary
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Set node version
uses: actions/setup-node@v4
with:
node-version: 24
node-version: 26
cache: 'pnpm'
- name: install and compile
run: pnpm install --frozen-lockfile
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,5 @@ examples/expo-example/.maestro/output/*

examples/expo-example/components/PerfTesting/*.stories.tsx
examples/expo-example/.certs/
examples/expo-example/android
examples/expo-example/ios
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
24.11.1
26
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@ examples/repack-example/.rnstorybook/storybook.requires.ts
docs/.docusaurus
docs/build
.claude/
.zed/
.changeset/
examples/expo-example/assets
13 changes: 13 additions & 0 deletions .zed/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// Folder-specific settings
//
// For a full list of overridable settings, and general information on folder-specific settings,
// see the documentation: https://zed.dev/docs/configuring-zed#settings-files
{
"code_actions_on_format": {
"source.fixAll.eslint": true,
},
"format_on_save": "on",
"formatter": "prettier",

"language_servers": ["!biome", "eslint", "vtsls"],
}
8 changes: 4 additions & 4 deletions docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,16 +34,16 @@
"@mdx-js/react": "^3.1.1",
"clsx": "^2.1.1",
"prism-react-renderer": "^2.4.1",
"react": "19.2.0",
"react-dom": "19.2.0"
"react": "19.2.3",
"react-dom": "19.2.3"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "^3.10.0",
"@docusaurus/tsconfig": "^3.10.0",
"@docusaurus/types": "^3.10.0",
"typescript": "~5.9.3"
"typescript": "~6.0.3"
},
"engines": {
"node": ">=22.18.0"
"node": ">=26.0.0"
}
}
3 changes: 0 additions & 3 deletions docs/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
{
// This file is not used in compilation. It is here just for a nice editor experience.
"extends": "@docusaurus/tsconfig",
"compilerOptions": {
"baseUrl": "."
},
"exclude": [".docusaurus", "build"]
}
2 changes: 1 addition & 1 deletion examples/expo-example/.rnstorybook/index.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import AsyncStorage from '@react-native-async-storage/async-storage';
import { LiteUI } from '@storybook/react-native-ui-lite';
import { StatusBar, View } from 'react-native';
import { SafeAreaView, SafeAreaProvider } from 'react-native-safe-area-context';
import { SafeAreaProvider, SafeAreaView } from 'react-native-safe-area-context';
import { view } from './storybook.requires';

const isScreenshotTesting = process.env.EXPO_PUBLIC_SCREENSHOT_TESTING === 'true';
Expand Down
2 changes: 1 addition & 1 deletion examples/expo-example/.rnstorybook/storybook.requires.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ const annotations = [

globalThis.STORIES = normalizedStories;
globalThis.STORYBOOK_WEBSOCKET = {
host: '192.168.86.21',
host: '192.168.1.171',
port: 7007,
secured: false,
};
Expand Down
2 changes: 1 addition & 1 deletion examples/expo-example/app.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,5 @@
"updates": {
"url": "https://u.expo.dev/ebfab020-5dff-44a5-a29e-a0a6e6c175b9"
},
"plugins": ["@react-native-community/datetimepicker"]
"plugins": ["@react-native-community/datetimepicker", "expo-sqlite"]
}
8 changes: 7 additions & 1 deletion examples/expo-example/babel.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,13 @@ module.exports = function (api) {
return {
presets: [['babel-preset-expo']],
plugins: [
['babel-plugin-react-docgen-typescript', { exclude: 'node_modules' }],
[
'babel-plugin-react-docgen-typescript',
{
include: 'examples/expo-example/.*\\.tsx$',
exclude: 'node_modules',
},
],
'react-native-worklets/plugin',
],
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,15 @@ export const Basic: Story = {
selection: radio_stations[0],
},
};

export const Inline: Story = {
argTypes: {
selection: {
options: radio_stations,
control: { type: 'inline-radio' },
},
},
args: {
selection: radio_stations[1],
},
};
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,16 @@ import { render, screen } from '@testing-library/react-native';
import { composeStories } from '@storybook/react';
import * as RadioStories from './Radio.stories';

const { Basic } = composeStories(RadioStories);
const { Basic, Inline } = composeStories(RadioStories);

test('radio story renders', async () => {
await render(<Basic />);

screen.getByText('104.8MHz');
});

test('inline radio story renders', async () => {
await render(<Inline />);

screen.getByText('909 kHz');
});
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ import { SelectExample } from './Select';

const arrows = { ArrowUp: '⬆', ArrowDown: '⬇', ArrowLeft: '⬅️', ArrowRight: '➡️' };

const manyArrows = Array.from({ length: 40 }, (_, index) => `Option ${index + 1}`);

const meta = {
component: SelectExample,
argTypes: {
Expand Down Expand Up @@ -70,3 +72,33 @@ export const WithMapping: Story = {
},
},
};

export const ManyOptions: Story = {
args: {
arrow: manyArrows[0],
},

argTypes: {
arrow: {
options: manyArrows,
control: {
type: 'select',
},
},
},
};

export const MultiSelect: Story = {
args: {
arrow: [manyArrows[0], manyArrows[1], manyArrows[2]],
},

argTypes: {
arrow: {
options: manyArrows,
control: {
type: 'multi-select',
},
},
},
};
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import { Text } from 'react-native';

export interface Props {
arrow: string;
arrow: string | string[];
}

export const SelectExample = ({ arrow }: Props) => <Text>Selected: {arrow}</Text>;
export const SelectExample = ({ arrow }: Props) => (
<Text>Selected: {Array.isArray(arrow) ? arrow.join(', ') : arrow}</Text>
);
46 changes: 25 additions & 21 deletions examples/expo-example/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,21 @@
"private": true,
"main": "index.js",
"scripts": {
"android": "EXPO_PUBLIC_STORYBOOK_ENABLED=true expo start --android",
"prebuild": "expo prebuild",
"android": "EXPO_PUBLIC_STORYBOOK_ENABLED=true expo run:android",
"build-web-storybook": "storybook build",
"check": "tsc --noEmit",
"disabled-example": "expo start",
"disabled-example": "expo start --dev-client",
"e2e": "maestro test .maestro/storybook-screenshots.yaml --test-output-dir .maestro/output",
"e2e:baseline": "maestro test .maestro/storybook-screenshots.capture.yaml --test-output-dir .maestro/output",
"eas-build-post-install": "cd ../.. && pnpm build",
"format": "prettier --write .",
"gen-maestro": "npx rn-storybook-test@alpha gen-maestro",
"ios": "EXPO_PUBLIC_STORYBOOK_ENABLED=true expo start --ios",
"ios": "EXPO_PUBLIC_STORYBOOK_ENABLED=true expo run:ios",
"lint": "eslint . --ext .js,.jsx,.ts,.tsx",
"storybook": "EXPO_PUBLIC_STORYBOOK_ENABLED=true expo start",
"storybook:lite": "EXPO_PUBLIC_STORYBOOK_ENABLED=true EXPO_PUBLIC_LITE_UI=true expo start",
"storybook:secure": "pnpm storybook:secure:cert && EXPO_PUBLIC_STORYBOOK_ENABLED=true EXPO_PUBLIC_STORYBOOK_WS_SECURED=true expo start",
"storybook": "EXPO_PUBLIC_STORYBOOK_ENABLED=true expo start --dev-client",
"storybook:lite": "EXPO_PUBLIC_STORYBOOK_ENABLED=true EXPO_PUBLIC_LITE_UI=true expo start --dev-client",
"storybook:secure": "pnpm storybook:secure:cert && EXPO_PUBLIC_STORYBOOK_ENABLED=true EXPO_PUBLIC_STORYBOOK_WS_SECURED=true expo start --dev-client",
"storybook:secure:cert": "./scripts/generate-dev-cert.sh",
"storybook:test": "EXPO_PUBLIC_SCREENSHOT_TESTING=true EXPO_PUBLIC_STORYBOOK_ENABLED=true expo start",
"storybook:web": "storybook dev -p 6006",
Expand All @@ -30,11 +31,12 @@
"web": "EXPO_PUBLIC_STORYBOOK_ENABLED=true expo start --web"
},
"dependencies": {
"@expo/metro-runtime": "~55.0.7",
"@expo/dom-webview": "^56.0.4",
"@expo/metro-runtime": "~56.0.5",
"@gorhom/bottom-sheet": "^5.2.8",
"@react-native-async-storage/async-storage": "2.2.0",
"@react-native-community/datetimepicker": "8.6.0",
"@react-native-community/slider": "5.1.2",
"@react-native-community/datetimepicker": "9.1.0",
"@react-native-community/slider": "5.2.0",
"@storybook/addon-ondevice-actions": "^10.4.0",
"@storybook/addon-ondevice-backgrounds": "^10.4.0",
"@storybook/addon-ondevice-controls": "^10.4.0",
Expand All @@ -45,18 +47,19 @@
"@storybook/react-native-ui-lite": "^10.4.0",
"@storybook/react-native-web-vite": "^10.3.2",
"babel-plugin-react-compiler": "^1.0.0",
"expo": "^55.0.14",
"expo-updates": "~55.0.16",
"react": "19.2.0",
"expo": "56.0.0-preview.7",
"expo-sqlite": "~56.0.3",
"expo-updates": "~56.0.6",
"react": "19.2.3",
"react-compiler-runtime": "^1.0.0",
"react-dom": "19.2.0",
"react-native": "0.83.4",
"react-native-gesture-handler": "~2.30.0",
"react-native-reanimated": "~4.2.1",
"react-native-safe-area-context": "^5",
"react-native-svg": "15.15.3",
"react-dom": "19.2.3",
"react-native": "0.85.3",
"react-native-gesture-handler": "~2.31.2",
"react-native-reanimated": "~4.3.0",
"react-native-safe-area-context": "^5.7.0",
"react-native-svg": "15.15.4",
"react-native-web": "^0.21.2",
"react-native-worklets": "0.7.2",
"react-native-worklets": "0.8.3",
"storybook": "^10.3.2",
"storybook-addon-deep-controls": "^0.10.0",
"ws": "^8.20.0"
Expand All @@ -66,14 +69,15 @@
"@dannyhw/rozenite-storybook": "0.0.2",
"@rozenite/metro": "^1.6.0",
"@testing-library/react-native": "14.0.0-beta.0",
"@types/jest": "^29.5.13",
"@types/react": "~19.2.14",
"@types/ws": "^8.18.1",
"babel-plugin-react-docgen-typescript": "^1.5.1",
"expo-atlas": "^0.4.3",
"jest": "^29.7.0",
"jest-expo": "~55.0.11",
"jest-expo": "~56.0.0",
"test-renderer": "^0.15.0",
"typescript": "~5.9.3",
"typescript": "~6.0.3",
"vite": "^8.0.5"
}
}
4 changes: 2 additions & 2 deletions examples/expo-example/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"compilerOptions": {
"skipLibCheck": true,
"baseUrl": "./",
"strict": true,
"esModuleInterop": true
"esModuleInterop": true,
"types": ["jest"]
},
"extends": "expo/tsconfig.base",
"include": [".rnstorybook/**/*", ".storybook/**/*", "./*"]
Expand Down
3 changes: 2 additions & 1 deletion examples/expo-new-wrapper-example/app.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@
},
"experiments": {
"tsconfigPaths": true
}
},
"plugins": ["@react-native-community/datetimepicker"]
}
Loading
Loading