diff --git a/src/mantine-modals/src/Modals.story.tsx b/src/mantine-modals/src/Modals.story.tsx index 8d21c75b967..89f1732792f 100644 --- a/src/mantine-modals/src/Modals.story.tsx +++ b/src/mantine-modals/src/Modals.story.tsx @@ -1,7 +1,6 @@ /* eslint-disable no-console */ -import React from 'react'; -import { storiesOf } from '@storybook/react'; -import { Button, Text, Group } from '@mantine/core'; +import React, { useState } from 'react'; +import { Button, Text, Group, Modal } from '@mantine/core'; import { ModalsProvider, openConfirmModal, @@ -12,7 +11,9 @@ import { ContextModalProps, } from './index'; -function Demo() { +export default { title: 'Modals manager' }; + +export function Usage() { const showContextModal = () => openContextModal({ modalId: 'context-modal', @@ -70,36 +71,69 @@ function Demo() { }); return ( - - - - - - + ) => { + console.log(innerProps, id, context); + return ( +
+
Test custom modal: {innerProps.contextProp}
+ +
+ ); + }, + }} + labels={{ confirm: 'Confirm', cancel: 'Cancel' }} + > + + + + + + +
); } -storiesOf('Modals Manager', module).add('Custom modal', () => ( - ) => { - console.log(innerProps, id, context); - return ( -
-
Test custom modal: {innerProps.contextProp}
- -
- ); - }, - }} - labels={{ confirm: 'Confirm', cancel: 'Cancel' }} - > - -
-)); +export function NestedInsideModal() { + const [opened, setIsOpened] = useState(false); + const handleConfirm = () => + openConfirmModal({ + title: 'Title', + children: Are you sure?, + labels: { confirm: 'Yes', cancel: 'Noo' }, + }); + return ( + + + setIsOpened(false)} + centered + styles={{ + header: { + margin: 0, + }, + close: { + position: 'absolute', + top: 10, + right: 10, + boxShadow: '0 0 14px rgba(0,0,0,0.1)', + }, + }} + > + + + + ); +} diff --git a/src/mantine-modals/src/ModalsProvider.tsx b/src/mantine-modals/src/ModalsProvider.tsx index a9603c61020..97e91ab2933 100644 --- a/src/mantine-modals/src/ModalsProvider.tsx +++ b/src/mantine-modals/src/ModalsProvider.tsx @@ -1,5 +1,5 @@ import React, { useReducer } from 'react'; -import { Modal } from '@mantine/core'; +import { Modal, getDefaultZIndex } from '@mantine/core'; import { randomId } from '@mantine/hooks'; import { ModalsContext, @@ -200,6 +200,7 @@ export function ModalsProvider({ children, modalProps, labels, modals }: ModalsP return ( 0}