|
1 | | -import { ForwardedRef, forwardRef } from 'react'; |
| 1 | +import { ForwardedRef, forwardRef, useContext } from 'react'; |
2 | 2 | import { useFocusRing, useHover } from 'react-aria'; |
3 | 3 |
|
4 | 4 | import { useEvent, useTimer } from '../../../../_internal'; |
5 | 5 | import { tasty } from '../../../../tasty'; |
6 | 6 | import { ClearSlots, mergeProps } from '../../../../utils/react'; |
7 | 7 | import { useId } from '../../../../utils/react/useId'; |
| 8 | +import { DialogContext } from '../../Dialog/context'; |
8 | 9 |
|
9 | 10 | import { NotificationCloseButton } from './NotificationCloseButton'; |
10 | 11 | import { NotificationDescription } from './NotificationDescription'; |
@@ -42,6 +43,8 @@ const NotificationContainer = tasty({ |
42 | 43 | '[data-type="success"]': '#success.4', |
43 | 44 | '[data-type="danger"]': '#danger.4', |
44 | 45 | '[data-type="attention"]': '#border', |
| 46 | + // Clear border when inside dialog |
| 47 | + 'inside-dialog': '#clear', |
45 | 48 | }, |
46 | 49 | }, |
47 | 50 | }); |
@@ -73,6 +76,12 @@ export const NotificationView = forwardRef(function NotificationView( |
73 | 76 | const labelID = useId(); |
74 | 77 | const descriptionID = useId(); |
75 | 78 |
|
| 79 | + // Detect if we're inside a dialog |
| 80 | + const dialogContext = useContext(DialogContext); |
| 81 | + const insideDialog = dialogContext !== null && dialogContext !== undefined; |
| 82 | + |
| 83 | + console.log('! insideDialog', insideDialog); |
| 84 | + |
76 | 85 | const onCloseEvent = useEvent(() => { |
77 | 86 | onClose?.(); |
78 | 87 | }); |
@@ -105,7 +114,11 @@ export const NotificationView = forwardRef(function NotificationView( |
105 | 114 | data-type={type} |
106 | 115 | aria-labelledby={labelID} |
107 | 116 | aria-describedby={descriptionID} |
108 | | - mods={{ focused: isFocusVisible, 'is-dismissible': isDismissible }} |
| 117 | + mods={{ |
| 118 | + focused: isFocusVisible, |
| 119 | + 'is-dismissible': isDismissible, |
| 120 | + 'inside-dialog': insideDialog, |
| 121 | + }} |
109 | 122 | > |
110 | 123 | <NotificationIcon icon={icon} type={type} /> |
111 | 124 |
|
|
0 commit comments