feat: docker compose maybe

This commit is contained in:
2023-11-13 16:10:04 -05:00
parent 180b261e40
commit b625ccd8d6
8031 changed files with 2182966 additions and 0 deletions

View File

@ -0,0 +1,72 @@
<script>export let scrollbarGutter = "auto";
export let regionPage = "";
export let slotHeader = "z-10";
export let slotSidebarLeft = "w-auto";
export let slotSidebarRight = "w-auto";
export let slotPageHeader = "";
export let slotPageContent = "";
export let slotPageFooter = "";
export let slotFooter = "";
const cBaseAppShell = "w-full h-full flex flex-col overflow-hidden";
const cContentArea = "w-full h-full flex overflow-hidden";
const cPage = "flex-1 overflow-x-hidden flex flex-col";
const cSidebarLeft = "flex-none overflow-x-hidden overflow-y-auto";
const cSidebarRight = "flex-none overflow-x-hidden overflow-y-auto";
$:
classesBase = `${cBaseAppShell} ${$$props.class ?? ""}`;
$:
classesHeader = `${slotHeader}`;
$:
classesSidebarLeft = `${cSidebarLeft} ${slotSidebarLeft}`;
$:
classesSidebarRight = `${cSidebarRight} ${slotSidebarRight}`;
$:
classesPageHeader = `${slotPageHeader}`;
$:
classesPageContent = `${slotPageContent}`;
$:
classesPageFooter = `${slotPageFooter}`;
$:
classesFooter = `${slotFooter}`;
</script>
<div id="appShell" class={classesBase} data-testid="app-shell">
<!-- Slot: Header -->
{#if $$slots.header}
<header id="shell-header" class="flex-none {classesHeader}"><slot name="header" /></header>
{/if}
<!-- Content Area -->
<div class="flex-auto {cContentArea}">
<!-- Slot: Sidebar (left) -->
{#if $$slots.sidebarLeft}
<aside id="sidebar-left" class={classesSidebarLeft}><slot name="sidebarLeft" /></aside>
{/if}
<!-- Page -->
<div id="page" class="{regionPage} {cPage}" style:scrollbar-gutter={scrollbarGutter} on:scroll>
<!-- Slot: Page Header -->
{#if $$slots.pageHeader}
<header id="page-header" class="flex-none {classesPageHeader}"><slot name="pageHeader">(slot:header)</slot></header>
{/if}
<!-- Slot: Page Content (default) -->
<main id="page-content" class="flex-auto {classesPageContent}"><slot /></main>
<!-- Slot: Page Footer -->
{#if $$slots.pageFooter}
<footer id="page-footer" class="flex-none {classesPageFooter}"><slot name="pageFooter">(slot:footer)</slot></footer>
{/if}
</div>
<!-- Slot: Sidebar (right) -->
{#if $$slots.sidebarRight}
<aside id="sidebar-right" class={classesSidebarRight}><slot name="sidebarRight" /></aside>
{/if}
</div>
<!-- Slot: footer -->
{#if $$slots.footer}
<footer id="shell-footer" class="flex-none {classesFooter}"><slot name="footer" /></footer>
{/if}
</div>

View File

@ -0,0 +1,50 @@
import { SvelteComponentTyped } from "svelte";
/** @slot header - Insert fixed header content, such as Skeleton's App Bar component.
* @slot sidebarLeft - Hidden when empty. Allows you to set fixed left sidebar content.
* @slot sidebarRight - Hidden when empty. Allows you to set fixed right sidebar content.
* @slot pageHeader - Insert content that resides above your page content. Great for global alerts.
* @slot pageFooter - Insert content that resides below your page content. Recommended for most layouts.
* @slot footer - Insert fixed footer content. Not recommended for most layouts.
*/
import type { SvelteEvent } from '../../index.js';
declare const __propDef: {
props: {
[x: string]: any;
/** Set `scrollbar-gutter` style.*/
scrollbarGutter?: string | undefined;
/** Apply arbitrary classes to the entire `#page` region.*/
regionPage?: string | undefined;
/** Apply arbitrary classes to the `header` slot container element*/
slotHeader?: string | undefined;
/** Apply arbitrary classes to the `sidebarLeft` slot container element*/
slotSidebarLeft?: string | undefined;
/** Apply arbitrary classes to the `sidebarRight` slot container element*/
slotSidebarRight?: string | undefined;
/** Apply arbitrary classes to the `pageHeader` slot container element*/
slotPageHeader?: string | undefined;
/** Apply arbitrary classes to the `pageContent` slot container element*/
slotPageContent?: string | undefined;
/** Apply arbitrary classes to the `pageFooter` slot container element*/
slotPageFooter?: string | undefined;
/** Apply arbitrary classes to the `footer` slot container element*/
slotFooter?: string | undefined;
};
events: {
scroll: SvelteEvent<UIEvent, HTMLDivElement>;
};
slots: {
header: {};
sidebarLeft: {};
pageHeader: {};
default: {};
pageFooter: {};
sidebarRight: {};
footer: {};
};
};
export type AppShellProps = typeof __propDef.props;
export type AppShellEvents = typeof __propDef.events;
export type AppShellSlots = typeof __propDef.slots;
export default class AppShell extends SvelteComponentTyped<AppShellProps, AppShellEvents, AppShellSlots> {
}
export {};