next.js / packages /next /src /next-devtools /dev-overlay /components /code-frame /code-frame.stories.tsx
| import type { Meta, StoryObj } from '@storybook/react' | |
| import { CodeFrame } from './code-frame' | |
| import { withShadowPortal } from '../../storybook/with-shadow-portal' | |
| const meta: Meta<typeof CodeFrame> = { | |
| component: CodeFrame, | |
| parameters: { | |
| layout: 'fullscreen', | |
| }, | |
| decorators: [withShadowPortal], | |
| } | |
| export default meta | |
| type Story = StoryObj<typeof CodeFrame> | |
| const baseStackFrame = { | |
| file: './app/page.tsx', | |
| methodName: 'Home', | |
| arguments: [], | |
| line1: 10, | |
| column1: 5, | |
| } | |
| export const SimpleCodeFrame: Story = { | |
| args: { | |
| stackFrame: baseStackFrame, | |
| codeFrame: `\u001b[0m \u001b[90m 1 \u001b[39m \u001b[36mexport\u001b[39m \u001b[36mdefault\u001b[39m \u001b[36mfunction\u001b[39m \u001b[33mHome\u001b[39m() {\u001b[0m | |
| \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 2 \u001b[39m \u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m'boom'\u001b[39m)\u001b[0m | |
| \u001b[0m \u001b[90m \u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m | |
| \u001b[0m \u001b[90m 3 \u001b[39m \u001b[36mreturn\u001b[39m \u001b[33m<\u001b[39m\u001b[33mdiv\u001b[39m\u001b[33m>\u001b[39m\u001b[33mHello\u001b[39m \u001b[33mWorld\u001b[39m\u001b[33m<\u001b[39m\u001b[33m/\u001b[39m\u001b[33mdiv\u001b[39m\u001b[33m>\u001b[39m\u001b[0m | |
| \u001b[0m \u001b[90m 4 \u001b[39m }\u001b[0m | |
| \u001b[0m \u001b[90m 5 \u001b[39m\u001b[0m`, | |
| }, | |
| } | |