UNPKG

@hashicorp/design-system-components

Version:
53 lines (52 loc) 2.01 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import Component from '@glimmer/component'; import type { WithBoundArgs } from '@glint/template'; import type { HdsModalSizes, HdsModalColors } from './types.ts'; import HdsDialogPrimitiveHeaderComponent from '../dialog-primitive/header.ts'; import HdsDialogPrimitiveBodyComponent from '../dialog-primitive/body.ts'; import HdsDialogPrimitiveFooterComponent from '../dialog-primitive/footer.ts'; import { HdsModalSizeValues, HdsModalColorValues } 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 HdsDialogPrimitiveHeaderComponent, 'id' | 'onDismiss' | 'contextualClassPrefix'>; Body?: WithBoundArgs<typeof HdsDialogPrimitiveBodyComponent, 'contextualClass'>; Footer?: WithBoundArgs<typeof HdsDialogPrimitiveFooterComponent, '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>; }