b9e42c3ef4
Build and Deploy / build-and-deploy (push) Has been cancelled
- 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.
37 lines
864 B
TypeScript
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>`;
|
|
};
|