@@ -249,7 +249,7 @@ export const WithSmallMainSize: Story = {
249249 ) ,
250250} ;
251251
252- export const WithSmallMainLargeChlld : Story = {
252+ export const WithSmallMainLargeChild : Story = {
253253 name : 'Main Size: s, Child Size: m' ,
254254 render : ( args ) => (
255255 < StatefulFlyout
@@ -259,3 +259,93 @@ export const WithSmallMainLargeChlld: Story = {
259259 />
260260 ) ,
261261} ;
262+
263+ const ChildBackgroundStylesFlyout = ( ) => {
264+ const [ isMainOpen , setIsMainOpen ] = useState ( true ) ;
265+ const [ isDefaultChildOpen , setIsDefaultChildOpen ] = useState ( true ) ;
266+ const [ isShadedChildOpen , setIsShadedChildOpen ] = useState ( false ) ;
267+
268+ const openDefaultChild = ( ) => {
269+ setIsDefaultChildOpen ( true ) ;
270+ setIsShadedChildOpen ( false ) ;
271+ } ;
272+ const openShadedChild = ( ) => {
273+ setIsDefaultChildOpen ( false ) ;
274+ setIsShadedChildOpen ( true ) ;
275+ } ;
276+
277+ const closeMain = ( ) => {
278+ setIsMainOpen ( false ) ;
279+ setIsDefaultChildOpen ( false ) ;
280+ setIsShadedChildOpen ( false ) ;
281+ } ;
282+ const closeChild = ( ) => {
283+ setIsDefaultChildOpen ( false ) ;
284+ setIsShadedChildOpen ( false ) ;
285+ } ;
286+
287+ const ChildFlyoutContent = ( ) => (
288+ < EuiFlyoutBody >
289+ < EuiText >
290+ < p >
291+ This is the child flyout content, with a{ ' ' }
292+ < b > { isShadedChildOpen ? 'shaded' : 'default' } </ b > background.
293+ </ p >
294+ </ EuiText >
295+ </ EuiFlyoutBody >
296+ ) ;
297+
298+ return (
299+ < >
300+ < EuiText >
301+ < EuiButton onClick = { openDefaultChild } disabled = { isDefaultChildOpen } >
302+ Open flyout with < b > default</ b > child background
303+ </ EuiButton >
304+ < EuiSpacer />
305+ < EuiButton onClick = { openShadedChild } disabled = { isShadedChildOpen } >
306+ Open flyout with < b > shaded</ b > child background
307+ </ EuiButton >
308+ </ EuiText >
309+
310+ { isMainOpen && (
311+ < EuiFlyout
312+ onClose = { closeMain }
313+ size = "s"
314+ type = "push"
315+ pushMinBreakpoint = "xs"
316+ >
317+ < EuiFlyoutBody >
318+ < EuiText >
319+ < p > This is the main flyout content.</ p >
320+ </ EuiText >
321+ < EuiSpacer />
322+ </ EuiFlyoutBody >
323+
324+ { isDefaultChildOpen && (
325+ < EuiFlyoutChild
326+ onClose = { closeChild }
327+ size = "s"
328+ backgroundStyle = "default"
329+ >
330+ < ChildFlyoutContent />
331+ </ EuiFlyoutChild >
332+ ) }
333+ { isShadedChildOpen && (
334+ < EuiFlyoutChild
335+ onClose = { closeChild }
336+ size = "s"
337+ backgroundStyle = "shaded"
338+ >
339+ < ChildFlyoutContent />
340+ </ EuiFlyoutChild >
341+ ) }
342+ </ EuiFlyout >
343+ ) }
344+ </ >
345+ ) ;
346+ } ;
347+
348+ export const WithChildBackgroundStyles : Story = {
349+ name : 'Child Background Styles' ,
350+ render : ( ) => < ChildBackgroundStylesFlyout /> ,
351+ } ;
0 commit comments