Files
lit-examples/lit-components/vite-rxdb-lit/components/app-dialog.ts
rodydavis b9e42c3ef4
Build and Deploy / build-and-deploy (push) Has been cancelled
fix(lit-components): fix rendering and interaction issues in force-graph, html-table, and draggable-dom
- lit-force-graph: Refactored for instance reuse, better lifecycle management, and added dynamic imports for AR/VR modes.
- lit-html-table: Improved visual design, readability of headers, and fixed reactivity in editable mode.
- lit-draggable-dom: Fixed clipping issues by switching to relative/absolute positioning and resolved a panning speed bug caused by CSS variable inheritance.
2026-05-17 00:41:14 -07:00

37 lines
864 B
TypeScript

import "@material/mwc-dialog";
import "@material/mwc-button/mwc-button";
import { html, TemplateResult } from "lit";
interface DialogOptions {
open: boolean;
title: string;
content: () => TemplateResult;
dismiss: (target: HTMLElement) => void;
}
export const appDialog = (options: DialogOptions) => {
return html`<mwc-dialog
?open=${options?.open ?? false}
heading="${options.title}"
@closed=${(e: any) => options.dismiss(e.target)}
>
<div>${options.content()}</div>
</mwc-dialog>`;
};
interface DialogActionOptions {
label: string;
action?: string;
callback: () => void;
}
export const dialogAction = (options: DialogActionOptions) => {
return html` <mwc-button
slot="primaryAction"
dialogAction="${options?.action ?? "close"}"
@click=${() => options.callback()}
>
${options.label}
</mwc-button>`;
};