Skip to content

Commit 5d6d0c1

Browse files
committed
Add FullPageForm
1 parent c501b6a commit 5d6d0c1

File tree

2 files changed

+67
-0
lines changed

2 files changed

+67
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import TextField from "@material-ui/core/TextField"
2+
import { action } from "@storybook/addon-actions"
3+
import { ComponentMeta, Story } from "@storybook/react"
4+
import React from "react"
5+
import { FormFooter } from "../FormFooter/FormFooter"
6+
import { Stack } from "../Stack/Stack"
7+
import { FullPageForm, FullPageFormProps } from "./FullPageForm"
8+
9+
export default {
10+
title: "components/FullPageForm",
11+
component: FullPageForm,
12+
} as ComponentMeta<typeof FullPageForm>
13+
14+
const Template: Story<FullPageFormProps> = (args) => (
15+
<FullPageForm {...args}>
16+
<form
17+
onSubmit={(e) => {
18+
e.preventDefault()
19+
}}
20+
>
21+
<Stack>
22+
<TextField fullWidth variant="outlined" label="Field 1" name="field1" />
23+
<TextField fullWidth variant="outlined" label="Field 2" name="field2" />
24+
<FormFooter isLoading={false} onCancel={action("cancel")} />
25+
</Stack>
26+
</form>
27+
</FullPageForm>
28+
)
29+
30+
export const Example = Template.bind({})
31+
Example.args = {
32+
title: "My Form",
33+
detail: "Lorem ipsum dolor",
34+
onCancel: action("cancel")
35+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { makeStyles } from "@material-ui/core/styles"
2+
import React from "react"
3+
import { FormCloseButton } from "../FormCloseButton/FormCloseButton"
4+
import { FormTitle } from "../FormTitle/FormTitle"
5+
6+
export interface FullPageFormProps {
7+
title: string
8+
detail: React.ReactNode
9+
onCancel: () => void
10+
}
11+
12+
const useStyles = makeStyles(() => ({
13+
root: {
14+
maxWidth: "1380px",
15+
width: "100%",
16+
display: "flex",
17+
flexDirection: "column",
18+
alignItems: "center",
19+
},
20+
}))
21+
22+
export const FullPageForm: React.FC<FullPageFormProps> = ({ title, detail, onCancel, children }) => {
23+
const styles = useStyles()
24+
return (
25+
<main className={styles.root}>
26+
<FormTitle title={title} detail={detail} />
27+
<FormCloseButton onClose={onCancel} />
28+
29+
{children}
30+
</main>
31+
)
32+
}

0 commit comments

Comments
 (0)