mirror of
https://github.com/storybookjs/storybook.git
synced 2025-04-11 00:06:25 +08:00
FIX && IMPROVE typings
This commit is contained in:
parent
24a2a849f9
commit
e4b6e45cfb
@ -24,6 +24,8 @@ export type ViewMode = 'story' | 'docs';
|
|||||||
export interface Parameters {
|
export interface Parameters {
|
||||||
fileName?: string;
|
fileName?: string;
|
||||||
options?: OptionsParameter;
|
options?: OptionsParameter;
|
||||||
|
layout?: 'centered' | 'fullscreen' | 'padded';
|
||||||
|
docsOnly?: boolean;
|
||||||
[key: string]: any;
|
[key: string]: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,8 +19,26 @@ interface RenderMetadata {
|
|||||||
viewMode: ViewMode;
|
viewMode: ViewMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
type Layout = 'centered' | 'fullscreen' | 'padded';
|
type Layout = keyof typeof layouts;
|
||||||
type StyleKeyValue = { centered: string; fullscreen: string; padded: string };
|
|
||||||
|
const layouts = {
|
||||||
|
centered: {
|
||||||
|
display: 'flex',
|
||||||
|
justifyContent: 'center',
|
||||||
|
alignItems: 'center',
|
||||||
|
minHeight: '100vh',
|
||||||
|
margin: 0,
|
||||||
|
padding: '1rem',
|
||||||
|
boxSizing: 'border-box',
|
||||||
|
},
|
||||||
|
fullscreen: {
|
||||||
|
margin: 0,
|
||||||
|
},
|
||||||
|
padded: {
|
||||||
|
margin: 0,
|
||||||
|
padding: '1rem',
|
||||||
|
},
|
||||||
|
} as const;
|
||||||
|
|
||||||
const classes = {
|
const classes = {
|
||||||
MAIN: 'sb-show-main',
|
MAIN: 'sb-show-main',
|
||||||
@ -47,7 +65,7 @@ export class StoryRenderer {
|
|||||||
|
|
||||||
previousMetadata?: RenderMetadata;
|
previousMetadata?: RenderMetadata;
|
||||||
|
|
||||||
previousStyles?: string;
|
previousStyles?: typeof layouts[keyof typeof layouts];
|
||||||
|
|
||||||
constructor({
|
constructor({
|
||||||
render,
|
render,
|
||||||
@ -97,7 +115,7 @@ export class StoryRenderer {
|
|||||||
const metadata: RenderMetadata = {
|
const metadata: RenderMetadata = {
|
||||||
id,
|
id,
|
||||||
kind,
|
kind,
|
||||||
viewMode: docsOnly ? 'docs' : (urlViewMode as ViewMode),
|
viewMode: docsOnly ? 'docs' : urlViewMode,
|
||||||
revision: storyStore.getRevision(),
|
revision: storyStore.getRevision(),
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -201,24 +219,6 @@ export class StoryRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
applyLayout(layout: Layout) {
|
applyLayout(layout: Layout) {
|
||||||
const layouts: StyleKeyValue = {
|
|
||||||
centered: `
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
min-height: 100vh;
|
|
||||||
margin: 0;
|
|
||||||
padding: 1rem;
|
|
||||||
box-sizing: border-box;
|
|
||||||
`,
|
|
||||||
fullscreen: `
|
|
||||||
margin: 0;
|
|
||||||
`,
|
|
||||||
padded: `
|
|
||||||
margin: 0;
|
|
||||||
padding: 1rem;
|
|
||||||
`,
|
|
||||||
};
|
|
||||||
const styles = layouts[layout] || layouts.padded;
|
const styles = layouts[layout] || layouts.padded;
|
||||||
|
|
||||||
if (styles !== this.previousStyles) {
|
if (styles !== this.previousStyles) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user