@hashicorp/design-system-components
Version:
Helios Design System Components
53 lines (52 loc) • 1.96 kB
TypeScript
/**
* Copyright IBM Corp. 2021, 2025
* SPDX-License-Identifier: MPL-2.0
*/
import Component from '@glimmer/component';
import type { WithBoundArgs } from '@glint/template';
import HdsDialogPrimitiveHeader from '../dialog-primitive/header';
import HdsDialogPrimitiveBody from '../dialog-primitive/body';
import HdsDialogPrimitiveFooter from '../dialog-primitive/footer';
import { HdsModalSizeValues, HdsModalColorValues } from './types.ts';
import type { HdsModalSizes, HdsModalColors } from './types.ts';
export declare const DEFAULT_SIZE = HdsModalSizeValues.Medium;
export declare const DEFAULT_COLOR = HdsModalColorValues.Neutral;
export declare const SIZES: HdsModalSizes[];
export declare const COLORS: HdsModalColors[];
export interface HdsModalSignature {
Args: {
isDismissDisabled?: boolean;
size?: HdsModalSizes;
color?: HdsModalColors;
returnFocusTo?: string;
onOpen?: () => void;
onClose?: (event: Event) => void;
};
Blocks: {
default: [
{
Header?: WithBoundArgs<typeof HdsDialogPrimitiveHeader, 'id' | 'onDismiss' | 'contextualClassPrefix'>;
Body?: WithBoundArgs<typeof HdsDialogPrimitiveBody, 'contextualClass'>;
Footer?: WithBoundArgs<typeof HdsDialogPrimitiveFooter, 'onDismiss' | 'contextualClass'>;
}
];
};
Element: HTMLDialogElement;
}
export default class HdsModal extends Component<HdsModalSignature> {
private _isOpen;
private _element;
private _body;
private _bodyInitialOverflowValue;
private _clickOutsideToDismissHandler;
get isDismissDisabled(): boolean;
get size(): HdsModalSizes;
get color(): HdsModalColors;
get id(): string;
get classNames(): string;
private _performCloseCleanup;
registerOnCloseCallback: (event: Event) => void;
private _registerDialog;
open: () => void;
onDismiss: () => Promise<void>;
}