1
1
import React , { useEffect , useState } from "react" ;
2
- import { BodyLong , Button , Heading , Modal } from "../.." ;
2
+ import { BodyLong , Button , Heading } from "../.." ;
3
+ import Modal from "./Modal" ;
3
4
4
5
export default {
5
6
title : "ds-react/Modal" ,
@@ -13,16 +14,23 @@ export const Default = (props) => {
13
14
const [ open , setOpen ] = useState ( false ) ;
14
15
15
16
useEffect ( ( ) => {
16
- Modal . setAppElement ( "#root" ) ;
17
+ Modal . setAppElement ?. ( "#root" ) ;
17
18
} , [ ] ) ;
18
19
19
20
return (
20
21
< >
21
- < Button onClick = { ( ) => setOpen ( true ) } > Open</ Button >
22
+ < Button onClick = { ( ) => setOpen ( true ) } > Open Modal</ Button >
23
+ < p >
24
+ We can also custom style the modal by passing in a react-modal style
25
+ object. Here the backdrop is red.
26
+ </ p >
22
27
< Modal
23
28
open = { open }
24
29
onClose = { ( ) => setOpen ( false ) }
25
30
aria-labelledby = "header123"
31
+ style = { {
32
+ overlay : { backgroundColor : "#ff0000aa" } ,
33
+ } }
26
34
{ ...props }
27
35
>
28
36
< Modal . Content >
@@ -43,62 +51,3 @@ Default.args = {
43
51
shouldCloseOnOverlayClick : true ,
44
52
closeButton : true ,
45
53
} ;
46
-
47
- export const Open = ( ) => {
48
- const [ open , setOpen ] = useState ( null ) ;
49
-
50
- useEffect ( ( ) => {
51
- Modal . setAppElement ( "#root" ) ;
52
- } , [ ] ) ;
53
-
54
- return (
55
- < >
56
- < Button onClick = { ( ) => setOpen ( true ) } > Open</ Button >
57
- < Modal
58
- open = { open ?? true }
59
- onClose = { ( ) => setOpen ( false ) }
60
- aria-labelledby = "header123"
61
- >
62
- < Modal . Content >
63
- < Heading spacing id = "header123" level = "1" size = "large" >
64
- Header
65
- </ Heading >
66
- < Heading spacing level = "2" size = "medium" >
67
- Header
68
- </ Heading >
69
- < BodyLong > Voluptate laboris mollit dolore qui. Magna elit.</ BodyLong >
70
- </ Modal . Content >
71
- </ Modal >
72
- </ >
73
- ) ;
74
- } ;
75
-
76
- export const CloseButton = ( ) => {
77
- const [ open , setOpen ] = useState ( true ) ;
78
-
79
- useEffect ( ( ) => {
80
- Modal . setAppElement ( "#root" ) ;
81
- } , [ ] ) ;
82
-
83
- return (
84
- < >
85
- < Button onClick = { ( ) => setOpen ( true ) } > Open</ Button >
86
- < Modal
87
- open = { open }
88
- onClose = { ( ) => setOpen ( false ) }
89
- aria-labelledby = "header123"
90
- closeButton = { false }
91
- >
92
- < Modal . Content >
93
- < Heading spacing id = "header123" level = "1" size = "large" >
94
- Header
95
- </ Heading >
96
- < Heading spacing level = "2" size = "medium" >
97
- Header
98
- </ Heading >
99
- < BodyLong > Voluptate laboris mollit dolore qui. Magna elit.</ BodyLong >
100
- </ Modal . Content >
101
- </ Modal >
102
- </ >
103
- ) ;
104
- } ;
0 commit comments