import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from "lit"; import "../button/bl-button"; /** * @tag bl-dialog * @summary Baklava Dialog component * * @cssproperty [--bl-dialog-width=auto] Sets the width of the dialog content * @cssproperty [--bl-dialog-caption-line-clamp=1] Sets the line clamp of the caption */ export default class BlDialog extends LitElement { static get styles(): CSSResultGroup; /** * Sets dialog open-close status */ open: boolean; /** * Sets the dialog title */ caption?: string; /** * Determines if the dialog is critical, which disables closing through keyboard, backdrop, and close button interactions. */ critical: boolean; /** * Determines if dialog currently uses polyfilled version instead of native HTML Dialog. By * default, it uses native Dialog if the browser supports it, otherwise polyfills. You can force * using polyfill by setting this to true in some cases like to show some content on top of dialog * in case you are not able to use Popover API. Be aware that, polyfilled version can cause some * inconsistencies in terms of accessibility and stacking context. So use it with extra caution. * * As of the current implementation, you can render above the dialog HTML element using the Popover API. However, * it will block any actions on the Popover element. This issue was encountered during the development of the `bl-notification` component. * As a result, we decided to enable the polyfill for the `bl-dialog` component by default. If you prefer to use the native dialog, you can set * this property to false. Please note, doing so will cause notifications to render under the dialog backdrop. * For more information, refer to the comment linked below: * * https://github.com/Trendyol/baklava/issues/141#issuecomment-1810301413 */ polyfilled: boolean; private _footerAssignedSlots; private dialog; private footer; private container; private content; /** * Fires when the dialog is opened */ private onOpen; /** * Fires before the dialog is closed with internal actions like clicking close button, * pressing Escape key or clicking backdrop. Can be prevented by calling `event.preventDefault()` */ private onRequestClose; /** * Fires when the dialog is closed */ private onClose; updated(changedProperties: PropertyValues): void; private get _hasFooter(); private toggleDialogHandler; private closeDialog; private clickOutsideHandler; private onKeydown; private toggleFooterShadow; private toggleFooterVisibility; private renderContainer; render(): TemplateResult; } declare global { interface HTMLElementTagNameMap { "bl-dialog": BlDialog; } } //# sourceMappingURL=bl-dialog.d.ts.map