@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
43 lines (42 loc) • 1.65 kB
TypeScript
import React from 'react';
import type { SpacingProps } from '../../space/types';
type extendedMouseEvent = {
event: React.MouseEvent<HTMLElement>;
close: () => void;
};
export type DialogActionProps = {
/**
* For dialog actions, give a custom text for the decline button.
*/
declineText?: string | React.ReactNode;
/**
* For dialog actions, give a custom text for the confirm button.
*/
confirmText?: string | React.ReactNode;
/**
* For variant confirmation, handle the confirm action click.
*/
onConfirm?: (event: extendedMouseEvent) => void;
/**
* For variant confirmation, handle the decline action click.
*/
onDecline?: (event: extendedMouseEvent) => void;
/**
* For variant confirmation, hide the default decline button and only show the confirm button.
*/
hideDecline?: boolean;
/**
* For variant confirmation, hide the default confirm button and only show the decline button.
*/
hideConfirm?: boolean;
/**
* Pass in custom confirm/decline buttons for action handling. Every child of type Button will be provided with a `close` function attribute.
*/
children?: React.ReactElement | Array<React.ReactElement>;
};
export type DialogActionAllProps = DialogActionProps & SpacingProps & Omit<React.HTMLAttributes<HTMLElement>, 'children'>;
declare const DialogAction: {
({ declineText, confirmText, hideDecline, hideConfirm, onConfirm, onDecline, className, children, ...props }: DialogActionAllProps): import("react/jsx-runtime").JSX.Element;
_supportsSpacingProps: boolean;
};
export default DialogAction;