37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
// Rôle : affiche le switch global de position des notifications internes.
|
|
import { Icon } from "./Icon.jsx";
|
|
|
|
export function ToastPositionSwitch({ position, labels, onChange }) {
|
|
const normalizedPosition = position === "left" ? "left" : "right";
|
|
return (
|
|
<div
|
|
className="toast-position-switch nds-radio-button-group"
|
|
data-size="xs"
|
|
role="radiogroup"
|
|
data-position={normalizedPosition}
|
|
aria-label={normalizedPosition === "left" ? labels.left : labels.right}
|
|
title={labels.title}
|
|
>
|
|
<button
|
|
className={normalizedPosition === "left" ? "active" : ""}
|
|
type="button"
|
|
role="radio"
|
|
aria-checked={normalizedPosition === "left"}
|
|
aria-label={labels.left}
|
|
onClick={() => onChange("left")}
|
|
>
|
|
<Icon name="toast-left" />
|
|
</button>
|
|
<button
|
|
className={normalizedPosition === "right" ? "active" : ""}
|
|
type="button"
|
|
role="radio"
|
|
aria-checked={normalizedPosition === "right"}
|
|
aria-label={labels.right}
|
|
onClick={() => onChange("right")}
|
|
>
|
|
<Icon name="toast-right" />
|
|
</button>
|
|
</div>
|
|
);
|
|
}
|