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.
23 lines
660 B
TypeScript
23 lines
660 B
TypeScript
import { TemplateResult } from "lit";
|
|
import { appBar, navigationIcon } from "./app-bar";
|
|
import { appDrawer, toggleDrawer } from "./app-drawer";
|
|
|
|
export interface ScaffoldOptions {
|
|
root: HTMLElement | ShadowRoot;
|
|
body: () => TemplateResult;
|
|
actions?: TemplateResult[];
|
|
title?: string;
|
|
}
|
|
export const appScaffold = (options: ScaffoldOptions) => {
|
|
return appDrawer({
|
|
appContent: appBar({
|
|
title: options.title,
|
|
navigation: navigationIcon(() => toggleDrawer(options.root)),
|
|
content: options.body(),
|
|
actions: options.actions ? options.actions : DEFAULT_ACTIONS,
|
|
}),
|
|
});
|
|
};
|
|
|
|
const DEFAULT_ACTIONS: TemplateResult[] = [];
|