Skip to content

Commit 31b3e91

Browse files
committed
fix: added visible focus indicator for modal dismiss button
1 parent 092695e commit 31b3e91

File tree

6 files changed

+23
-56
lines changed

6 files changed

+23
-56
lines changed

src/components/external/DisputesOverview/components/DisputeManagementModal/DisputeManagementModal.scss

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/components/external/DisputesOverview/components/DisputeManagementModal/DisputeManagementModal.tsx

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import { popoverUtil } from '../../../../internal/Popover/utils/popoverUtil';
77
import useModalDetails from '../../../../../hooks/useModalDetails';
88
import { IDisputeStatusGroup } from '../../../../../types/api/models/disputes';
99
import { DisputeDetailsContainer } from '../../../DisputeManagement/components/DisputeDetailsContainer/DisputeDetailsContainer';
10-
import './DisputeManagementModal.scss';
1110

1211
export interface DisputeManagementModalProps {
1312
setModalVisible: (modalVisible: boolean) => void;
@@ -63,17 +62,15 @@ export const DisputeManagementModal: FC<DisputeManagementModalProps> = ({
6362
headerWithBorder={false}
6463
size={selectedDetail.modalSize || 'large'}
6564
>
66-
<div className="adyen-pe-dispute-management-modal-content">
67-
<DisputeDetailsContainer
68-
id={selectedDetail.selection.data}
69-
dataCustomization={dataCustomization}
70-
onDisputeAccept={onDisputeManagementSuccessful}
71-
onDisputeDefend={onDisputeManagementSuccessful}
72-
onContactSupport={onContactSupport}
73-
onDismiss={resetDetails}
74-
hideTitle
75-
/>
76-
</div>
65+
<DisputeDetailsContainer
66+
id={selectedDetail.selection.data}
67+
dataCustomization={dataCustomization}
68+
onDisputeAccept={onDisputeManagementSuccessful}
69+
onDisputeDefend={onDisputeManagementSuccessful}
70+
onContactSupport={onContactSupport}
71+
onDismiss={resetDetails}
72+
hideTitle
73+
/>
7774
</Modal>
7875
)}
7976
</div>

src/components/internal/Modal/Modal.scss

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ $adyen-icon-touch-size: style.token(spacer-110);
111111
}
112112
}
113113

114-
&__header-icon {
114+
&__dismiss-button {
115115
--icon-size: 16px;
116116
--offset-margin: calc(1rem - #{$adyen-icon-touch-size});
117117
--offset-position: calc(var(--offset-margin) * -1 / 2);
@@ -124,18 +124,23 @@ $adyen-icon-touch-size: style.token(spacer-110);
124124
right: var(--offset-position);
125125
top: var(--offset-position);
126126
transition: background 0.1s linear;
127-
128-
&:focus,
129-
&:active {
130-
outline: 0;
131-
}
132127
}
133128

134129
.adyen-pe-label__text {
135130
font-size: style.token(text-body-font-size);
136131
margin-bottom: style.token(spacer-020);
137132
}
138133

134+
&__content {
135+
--adyen-pe-data-details-padding: #{style.token(spacer-090)};
136+
padding: 0 var(--adyen-pe-data-details-padding) var(--adyen-pe-data-details-padding);
137+
138+
.adyen-pe-error-message-display {
139+
padding-bottom: var(--adyen-pe-data-details-padding);
140+
position: relative;
141+
}
142+
}
143+
139144
&__footer {
140145
display: flex;
141146
gap: style.token(spacer-040);

src/components/internal/Modal/Modal.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,15 @@ export default function Modal({
7878
'adyen-pe-modal__header--with-border-bottom': headerWithBorder,
7979
})}
8080
>
81-
{title && <div className={`adyen-pe-modal__header__title`}>{title}</div>}
81+
{title && <div className={`adyen-pe-modal__header-title`}>{title}</div>}
8282

8383
{isDismissible && (
8484
<Button
8585
onClick={onClose}
8686
variant={ButtonVariant.TERTIARY}
8787
iconButton
8888
classNameModifiers={['circle']}
89-
className={`adyen-pe-modal__header-icon`}
89+
className={`adyen-pe-modal__dismiss-button`}
9090
aria-label={i18n.get('dismiss')}
9191
>
9292
<Icon name="cross" />

src/components/internal/Modal/ModalContent/ModalContent.scss

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
import { useMemo } from 'preact/hooks';
22
import DataOverviewDetails from '../../DataOverviewDetails/DataOverviewDetails';
33
import { DetailsComponentProps, PayoutDetailsWithIdProps, SelectedDetail } from '../../DataOverviewDetails/types';
4-
import './ModalContent.scss';
5-
6-
const CLASSNAMES = {
7-
base: 'adyen-pe-modal-content',
8-
};
94

105
// [TODO]: Consider covering ...restData with type information (added here as a hack to capture extra details)
116
function ModalContent({ type, data, dataCustomization, ...restData }: SelectedDetail) {
@@ -21,15 +16,7 @@ function ModalContent({ type, data, dataCustomization, ...restData }: SelectedDe
2116
}
2217
}, [data, restData, type]);
2318

24-
return (
25-
<>
26-
{detailProps && (
27-
<div className={CLASSNAMES.base}>
28-
<DataOverviewDetails {...(detailProps as DetailsComponentProps)} dataCustomization={dataCustomization} />
29-
</div>
30-
)}
31-
</>
32-
);
19+
return detailProps && <DataOverviewDetails {...(detailProps as DetailsComponentProps)} dataCustomization={dataCustomization} />;
3320
}
3421

3522
export default ModalContent;

0 commit comments

Comments
 (0)