lutra 0.0.20 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -24
- package/dist/components/AspectRatio.svelte +26 -0
- package/dist/components/AspectRatio.svelte.d.ts +8 -0
- package/dist/components/Dialog.svelte +78 -0
- package/dist/components/Dialog.svelte.d.ts +14 -0
- package/dist/components/Layout.svelte +32 -0
- package/dist/components/Layout.svelte.d.ts +11 -0
- package/dist/components/PageContent.svelte +108 -0
- package/dist/components/PageContent.svelte.d.ts +38 -0
- package/dist/components/Theme.svelte +87 -0
- package/dist/components/Theme.svelte.d.ts +17 -0
- package/dist/{display → components}/Tooltip.svelte +37 -11
- package/dist/components/Tooltip.svelte.d.ts +12 -0
- package/dist/config.d.ts +30 -0
- package/dist/config.js +18 -0
- package/dist/css/0-layers.css +1 -0
- package/dist/css/1-props.css +775 -0
- package/dist/css/2-base.css +209 -0
- package/dist/css/3-typo.css +65 -0
- package/dist/css/4-layout.css +5 -0
- package/dist/css/5-media.css +21 -0
- package/dist/css/lutra.css +6 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.js +5 -2
- package/dist/types.d.ts +39 -0
- package/dist/types.js +25 -0
- package/package.json +29 -75
- package/dist/data/Stat.svelte +0 -89
- package/dist/data/Stat.svelte.d.ts +0 -39
- package/dist/data/index.d.ts +0 -1
- package/dist/data/index.js +0 -1
- package/dist/display/Avatar.svelte +0 -61
- package/dist/display/Avatar.svelte.d.ts +0 -23
- package/dist/display/Badge.svelte +0 -93
- package/dist/display/Badge.svelte.d.ts +0 -34
- package/dist/display/Callout.svelte +0 -109
- package/dist/display/Callout.svelte.d.ts +0 -36
- package/dist/display/Close.svelte +0 -58
- package/dist/display/Close.svelte.d.ts +0 -21
- package/dist/display/Code.svelte +0 -195
- package/dist/display/Code.svelte.d.ts +0 -31
- package/dist/display/ContextTip.svelte +0 -26
- package/dist/display/ContextTip.svelte.d.ts +0 -22
- package/dist/display/Details.svelte +0 -49
- package/dist/display/Details.svelte.d.ts +0 -32
- package/dist/display/Hero.svelte +0 -50
- package/dist/display/Hero.svelte.d.ts +0 -30
- package/dist/display/Icon.svelte +0 -40
- package/dist/display/Icon.svelte.d.ts +0 -24
- package/dist/display/IconButton.svelte +0 -84
- package/dist/display/IconButton.svelte.d.ts +0 -30
- package/dist/display/Image.svelte +0 -91
- package/dist/display/Image.svelte.d.ts +0 -37
- package/dist/display/Indicator.svelte +0 -352
- package/dist/display/Indicator.svelte.d.ts +0 -24
- package/dist/display/Inset.svelte +0 -18
- package/dist/display/Inset.svelte.d.ts +0 -22
- package/dist/display/Notification.svelte +0 -104
- package/dist/display/Notification.svelte.d.ts +0 -42
- package/dist/display/Popup.svelte +0 -111
- package/dist/display/Popup.svelte.d.ts +0 -30
- package/dist/display/Table.svelte +0 -24
- package/dist/display/Table.svelte.d.ts +0 -34
- package/dist/display/Tag.svelte +0 -90
- package/dist/display/Tag.svelte.d.ts +0 -35
- package/dist/display/Tooltip.svelte.d.ts +0 -28
- package/dist/display/index.d.ts +0 -14
- package/dist/display/index.js +0 -14
- package/dist/display/notifications.svelte.d.ts +0 -21
- package/dist/display/notifications.svelte.js +0 -31
- package/dist/form/Button.svelte +0 -34
- package/dist/form/Button.svelte.d.ts +0 -36
- package/dist/form/FieldActions.svelte +0 -46
- package/dist/form/FieldActions.svelte.d.ts +0 -24
- package/dist/form/FieldContainer.svelte +0 -37
- package/dist/form/FieldContainer.svelte.d.ts +0 -24
- package/dist/form/FieldContent.svelte +0 -134
- package/dist/form/FieldContent.svelte.d.ts +0 -59
- package/dist/form/FieldError.svelte +0 -14
- package/dist/form/FieldError.svelte.d.ts +0 -21
- package/dist/form/FieldSection.svelte +0 -86
- package/dist/form/FieldSection.svelte.d.ts +0 -34
- package/dist/form/Fieldset.svelte +0 -68
- package/dist/form/Fieldset.svelte.d.ts +0 -42
- package/dist/form/Form.svelte +0 -98
- package/dist/form/Form.svelte.d.ts +0 -33
- package/dist/form/Input.svelte +0 -287
- package/dist/form/Input.svelte.d.ts +0 -142
- package/dist/form/InputLength.svelte +0 -32
- package/dist/form/InputLength.svelte.d.ts +0 -21
- package/dist/form/Label.svelte +0 -27
- package/dist/form/Label.svelte.d.ts +0 -31
- package/dist/form/Select.svelte +0 -88
- package/dist/form/Select.svelte.d.ts +0 -97
- package/dist/form/client.svelte.d.ts +0 -45
- package/dist/form/client.svelte.js +0 -90
- package/dist/form/form.d.ts +0 -52
- package/dist/form/form.js +0 -326
- package/dist/form/index.d.ts +0 -15
- package/dist/form/index.js +0 -15
- package/dist/form/types.d.ts +0 -52
- package/dist/form/types.js +0 -1
- package/dist/grid/Column.svelte +0 -11
- package/dist/grid/Column.svelte.d.ts +0 -22
- package/dist/grid/Grid.svelte +0 -19
- package/dist/grid/Grid.svelte.d.ts +0 -24
- package/dist/grid/Row.svelte +0 -44
- package/dist/grid/Row.svelte.d.ts +0 -24
- package/dist/icons/Alert.svelte +0 -3
- package/dist/icons/Alert.svelte.d.ts +0 -23
- package/dist/icons/Copy.svelte +0 -3
- package/dist/icons/Copy.svelte.d.ts +0 -23
- package/dist/icons/Done.svelte +0 -3
- package/dist/icons/Done.svelte.d.ts +0 -23
- package/dist/icons/Error.svelte +0 -3
- package/dist/icons/Error.svelte.d.ts +0 -23
- package/dist/icons/Help.svelte +0 -3
- package/dist/icons/Help.svelte.d.ts +0 -23
- package/dist/icons/Hide.svelte +0 -3
- package/dist/icons/Hide.svelte.d.ts +0 -23
- package/dist/icons/Info.svelte +0 -3
- package/dist/icons/Info.svelte.d.ts +0 -23
- package/dist/icons/Link.svelte +0 -3
- package/dist/icons/Link.svelte.d.ts +0 -23
- package/dist/icons/MenuBurger.svelte +0 -3
- package/dist/icons/MenuBurger.svelte.d.ts +0 -23
- package/dist/icons/MenuDots.svelte +0 -3
- package/dist/icons/MenuDots.svelte.d.ts +0 -23
- package/dist/icons/Show.svelte +0 -3
- package/dist/icons/Show.svelte.d.ts +0 -23
- package/dist/icons/Success.svelte +0 -3
- package/dist/icons/Success.svelte.d.ts +0 -23
- package/dist/icons/Warning.svelte +0 -3
- package/dist/icons/Warning.svelte.d.ts +0 -23
- package/dist/icons/index.d.ts +0 -11
- package/dist/icons/index.js +0 -11
- package/dist/layout/Layout.svelte +0 -45
- package/dist/layout/Layout.svelte.d.ts +0 -25
- package/dist/layout/LayoutFooter.svelte +0 -21
- package/dist/layout/LayoutFooter.svelte.d.ts +0 -19
- package/dist/layout/LayoutGrid.svelte +0 -51
- package/dist/layout/LayoutGrid.svelte.d.ts +0 -38
- package/dist/layout/LayoutHeader.svelte +0 -94
- package/dist/layout/LayoutHeader.svelte.d.ts +0 -39
- package/dist/layout/LayoutSideMenu.svelte +0 -54
- package/dist/layout/LayoutSideMenu.svelte.d.ts +0 -25
- package/dist/layout/LayoutTypes.d.ts +0 -15
- package/dist/layout/LayoutTypes.js +0 -9
- package/dist/layout/Overlay.svelte +0 -20
- package/dist/layout/Overlay.svelte.d.ts +0 -35
- package/dist/layout/OverlayContainer.svelte +0 -28
- package/dist/layout/OverlayContainer.svelte.d.ts +0 -16
- package/dist/layout/OverlayLayer.svelte +0 -145
- package/dist/layout/OverlayLayer.svelte.d.ts +0 -22
- package/dist/layout/PageContent.svelte +0 -97
- package/dist/layout/PageContent.svelte.d.ts +0 -28
- package/dist/layout/Theme.svelte +0 -228
- package/dist/layout/Theme.svelte.d.ts +0 -24
- package/dist/layout/UIContent.svelte +0 -15
- package/dist/layout/UIContent.svelte.d.ts +0 -22
- package/dist/layout/index.d.ts +0 -7
- package/dist/layout/index.js +0 -7
- package/dist/layout/overlays.svelte.d.ts +0 -34
- package/dist/layout/overlays.svelte.js +0 -44
- package/dist/nav/Breadcrumb.svelte +0 -82
- package/dist/nav/Breadcrumb.svelte.d.ts +0 -33
- package/dist/nav/Menu.svelte +0 -177
- package/dist/nav/Menu.svelte.d.ts +0 -33
- package/dist/nav/MenuItem.svelte +0 -140
- package/dist/nav/MenuItem.svelte.d.ts +0 -26
- package/dist/nav/MenuTypes.d.ts +0 -58
- package/dist/nav/MenuTypes.js +0 -1
- package/dist/nav/NavMenu.svelte +0 -183
- package/dist/nav/NavMenu.svelte.d.ts +0 -20
- package/dist/nav/TabbedContent.svelte +0 -43
- package/dist/nav/TabbedContent.svelte.d.ts +0 -24
- package/dist/nav/Tabs.svelte +0 -118
- package/dist/nav/Tabs.svelte.d.ts +0 -26
- package/dist/nav/index.d.ts +0 -6
- package/dist/nav/index.js +0 -5
- package/dist/style.css +0 -853
- package/dist/typo/Clamp.svelte +0 -25
- package/dist/typo/Clamp.svelte.d.ts +0 -28
- package/dist/typo/H.svelte +0 -52
- package/dist/typo/H.svelte.d.ts +0 -32
- package/dist/typo/H1.svelte +0 -14
- package/dist/typo/H1.svelte.d.ts +0 -30
- package/dist/typo/H2.svelte +0 -14
- package/dist/typo/H2.svelte.d.ts +0 -30
- package/dist/typo/H3.svelte +0 -14
- package/dist/typo/H3.svelte.d.ts +0 -30
- package/dist/typo/H4.svelte +0 -14
- package/dist/typo/H4.svelte.d.ts +0 -30
- package/dist/typo/H5.svelte +0 -14
- package/dist/typo/H5.svelte.d.ts +0 -30
- package/dist/typo/H6.svelte +0 -14
- package/dist/typo/H6.svelte.d.ts +0 -30
- package/dist/typo/P.svelte +0 -34
- package/dist/typo/P.svelte.d.ts +0 -30
- package/dist/typo/index.d.ts +0 -9
- package/dist/typo/index.js +0 -9
- package/dist/utils/StringOrComponentOrSnippet.svelte +0 -14
- package/dist/utils/StringOrComponentOrSnippet.svelte.d.ts +0 -24
- package/dist/utils/attr.d.ts +0 -5
- package/dist/utils/attr.js +0 -21
- package/dist/utils/color.d.ts +0 -51
- package/dist/utils/color.js +0 -97
- package/dist/utils/defaults.d.ts +0 -4
- package/dist/utils/defaults.js +0 -1
- package/dist/utils/dom.d.ts +0 -15
- package/dist/utils/dom.js +0 -74
- package/dist/utils/hooks.server.d.ts +0 -2
- package/dist/utils/hooks.server.js +0 -16
- package/dist/utils/id.d.ts +0 -1
- package/dist/utils/id.js +0 -3
- package/dist/utils/index.d.ts +0 -8
- package/dist/utils/index.js +0 -5
- package/dist/utils/isSnippet.d.ts +0 -5
- package/dist/utils/isSnippet.js +0 -6
- package/dist/utils/keyboard.svelte.d.ts +0 -22
- package/dist/utils/keyboard.svelte.js +0 -161
- /package/dist/{utils → util}/transitions.d.ts +0 -0
- /package/dist/{utils → util}/transitions.js +0 -0
@@ -1,45 +0,0 @@
|
|
1
|
-
<script lang="ts">import "../style.css";
|
2
|
-
import Theme from "./Theme.svelte";
|
3
|
-
import OverlayContainer from "./OverlayContainer.svelte";
|
4
|
-
let {
|
5
|
-
theme,
|
6
|
-
children
|
7
|
-
} = $props();
|
8
|
-
</script>
|
9
|
-
|
10
|
-
<!-- This is an SVG filter that makes text black or white based on the luminance of the background. -->
|
11
|
-
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="0" style="position:absolute; height:0; width:0; display: contents;">
|
12
|
-
<defs>
|
13
|
-
<filter id="bwFilter" color-interpolation-filters="sRGB">
|
14
|
-
<!-- Convert to grayscale based on luminance -->
|
15
|
-
<feColorMatrix type="matrix"
|
16
|
-
values="0.2126 0.7152 0.0722 0 0
|
17
|
-
0.2126 0.7152 0.0722 0 0
|
18
|
-
0.2126 0.7152 0.0722 0 0
|
19
|
-
0 0 0 1 0"/>
|
20
|
-
<!-- Expand edges slightly to clean up any fringing -->
|
21
|
-
<feMorphology operator="dilate" radius="2"/>
|
22
|
-
<!-- Apply the threshold to determine if the color should be black or white -->
|
23
|
-
<feComponentTransfer>
|
24
|
-
<feFuncR type="linear" slope="-255" intercept="128"/>
|
25
|
-
<feFuncG type="linear" slope="-255" intercept="128"/>
|
26
|
-
<feFuncB type="linear" slope="-255" intercept="128"/>
|
27
|
-
</feComponentTransfer>
|
28
|
-
<!-- Composite step to clean up the result -->
|
29
|
-
<feComposite operator="in" in2="SourceGraphic"/>
|
30
|
-
</filter>
|
31
|
-
</defs>
|
32
|
-
</svg>
|
33
|
-
|
34
|
-
<div class="Layout">
|
35
|
-
<Theme theme={theme}>
|
36
|
-
{@render children()}
|
37
|
-
<OverlayContainer />
|
38
|
-
</Theme>
|
39
|
-
</div>
|
40
|
-
|
41
|
-
<style>
|
42
|
-
.Layout {
|
43
|
-
display: contents;
|
44
|
-
}
|
45
|
-
</style>
|
@@ -1,25 +0,0 @@
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
2
|
-
import type { Snippet } from "svelte";
|
3
|
-
import "../style.css";
|
4
|
-
declare const __propDef: {
|
5
|
-
props: {
|
6
|
-
theme?: 'light' | 'dark' | undefined;
|
7
|
-
children: Snippet;
|
8
|
-
};
|
9
|
-
events: {
|
10
|
-
[evt: string]: CustomEvent<any>;
|
11
|
-
};
|
12
|
-
slots: {};
|
13
|
-
};
|
14
|
-
export type LayoutProps = typeof __propDef.props;
|
15
|
-
export type LayoutEvents = typeof __propDef.events;
|
16
|
-
export type LayoutSlots = typeof __propDef.slots;
|
17
|
-
export default class Layout extends SvelteComponent<LayoutProps, LayoutEvents, LayoutSlots> {
|
18
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
19
|
-
theme?: "light" | "dark" | undefined;
|
20
|
-
children: (this: void) => typeof import("svelte").SnippetReturn & {
|
21
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
22
|
-
};
|
23
|
-
}>);
|
24
|
-
}
|
25
|
-
export {};
|
@@ -1,21 +0,0 @@
|
|
1
|
-
<script lang="ts">let {
|
2
|
-
copyright
|
3
|
-
} = $props();
|
4
|
-
</script>
|
5
|
-
|
6
|
-
<footer>
|
7
|
-
<p>© {new Date().getFullYear()} {copyright}. All rights reserved.</p>
|
8
|
-
</footer>
|
9
|
-
|
10
|
-
<style>
|
11
|
-
footer {
|
12
|
-
padding: var(--padding, 4rem 4rem);
|
13
|
-
font-size: 0.85em;
|
14
|
-
color: var(--text-subtle);
|
15
|
-
}
|
16
|
-
@media (max-width: 640px) {
|
17
|
-
footer {
|
18
|
-
padding: calc(var(--padding, 4rem) / 2);
|
19
|
-
}
|
20
|
-
}
|
21
|
-
</style>
|
@@ -1,19 +0,0 @@
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
2
|
-
declare const __propDef: {
|
3
|
-
props: {
|
4
|
-
copyright?: string | undefined;
|
5
|
-
};
|
6
|
-
events: {
|
7
|
-
[evt: string]: CustomEvent<any>;
|
8
|
-
};
|
9
|
-
slots: {};
|
10
|
-
};
|
11
|
-
export type LayoutFooterProps = typeof __propDef.props;
|
12
|
-
export type LayoutFooterEvents = typeof __propDef.events;
|
13
|
-
export type LayoutFooterSlots = typeof __propDef.slots;
|
14
|
-
export default class LayoutFooter extends SvelteComponent<LayoutFooterProps, LayoutFooterEvents, LayoutFooterSlots> {
|
15
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
16
|
-
copyright?: string | undefined;
|
17
|
-
}>);
|
18
|
-
}
|
19
|
-
export {};
|
@@ -1,51 +0,0 @@
|
|
1
|
-
<script lang="ts">import { setContext } from "svelte";
|
2
|
-
let {
|
3
|
-
children,
|
4
|
-
header,
|
5
|
-
footer,
|
6
|
-
border,
|
7
|
-
sticky
|
8
|
-
} = $props();
|
9
|
-
</script>
|
10
|
-
|
11
|
-
<div class="LayoutGrid" class:footer class:header class:border>
|
12
|
-
{#if header}
|
13
|
-
{@render header()}
|
14
|
-
{/if}
|
15
|
-
<main>
|
16
|
-
{@render children()}
|
17
|
-
</main>
|
18
|
-
{#if footer}
|
19
|
-
{@render footer()}
|
20
|
-
{/if}
|
21
|
-
</div>
|
22
|
-
|
23
|
-
<style>
|
24
|
-
.LayoutGrid {
|
25
|
-
display: grid;
|
26
|
-
container-type: inline-size;
|
27
|
-
-webkit-overflow-scrolling: touch;
|
28
|
-
min-block-size: var(--min-block-size, 100%);
|
29
|
-
background-color: var(--bg-app);
|
30
|
-
}
|
31
|
-
.LayoutGrid.footer.header {
|
32
|
-
grid-template-rows: auto 1fr auto;
|
33
|
-
}
|
34
|
-
.LayoutGrid.header {
|
35
|
-
grid-template-rows: auto 1fr;
|
36
|
-
}
|
37
|
-
.LayoutGrid.footer {
|
38
|
-
grid-template-rows: 1fr auto;
|
39
|
-
}
|
40
|
-
header.sticky {
|
41
|
-
position: sticky;
|
42
|
-
top: 0;
|
43
|
-
z-index: 10;
|
44
|
-
}
|
45
|
-
.LayoutGrid.border header {
|
46
|
-
border-block-end: var(--header-border, var(--border-subtle));
|
47
|
-
}
|
48
|
-
.LayoutGrid.border footer {
|
49
|
-
border-block-start: var(--footer-border, var(--border-subtle));
|
50
|
-
}
|
51
|
-
</style>
|
@@ -1,38 +0,0 @@
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
2
|
-
import { type Snippet } from "svelte";
|
3
|
-
declare const __propDef: {
|
4
|
-
props: {
|
5
|
-
header?: ((this: void) => typeof import("svelte").SnippetReturn & {
|
6
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
7
|
-
}) | undefined;
|
8
|
-
footer?: ((this: void) => typeof import("svelte").SnippetReturn & {
|
9
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
10
|
-
}) | undefined;
|
11
|
-
border?: boolean | undefined;
|
12
|
-
sticky?: boolean | undefined;
|
13
|
-
children: Snippet;
|
14
|
-
};
|
15
|
-
events: {
|
16
|
-
[evt: string]: CustomEvent<any>;
|
17
|
-
};
|
18
|
-
slots: {};
|
19
|
-
};
|
20
|
-
export type LayoutGridProps = typeof __propDef.props;
|
21
|
-
export type LayoutGridEvents = typeof __propDef.events;
|
22
|
-
export type LayoutGridSlots = typeof __propDef.slots;
|
23
|
-
export default class LayoutGrid extends SvelteComponent<LayoutGridProps, LayoutGridEvents, LayoutGridSlots> {
|
24
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
25
|
-
header?: ((this: void) => typeof import("svelte").SnippetReturn & {
|
26
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
27
|
-
}) | undefined;
|
28
|
-
footer?: ((this: void) => typeof import("svelte").SnippetReturn & {
|
29
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
30
|
-
}) | undefined;
|
31
|
-
border?: boolean | undefined;
|
32
|
-
sticky?: boolean | undefined;
|
33
|
-
children: (this: void) => typeof import("svelte").SnippetReturn & {
|
34
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
35
|
-
};
|
36
|
-
}>);
|
37
|
-
}
|
38
|
-
export {};
|
@@ -1,94 +0,0 @@
|
|
1
|
-
<script lang="ts">import {} from "svelte";
|
2
|
-
let {
|
3
|
-
left,
|
4
|
-
center,
|
5
|
-
right,
|
6
|
-
sticky,
|
7
|
-
skipToContentText = "Skip to content"
|
8
|
-
} = $props();
|
9
|
-
</script>
|
10
|
-
|
11
|
-
<header class="LayoutHeader" class:sticky>
|
12
|
-
<a href="#skip" class="Skip">{skipToContentText}</a>
|
13
|
-
<ul>
|
14
|
-
{#if left}
|
15
|
-
<li class="left">
|
16
|
-
{@render left()}
|
17
|
-
</li>
|
18
|
-
{/if}
|
19
|
-
{#if center}
|
20
|
-
<li class="center">
|
21
|
-
{@render center()}
|
22
|
-
</li>
|
23
|
-
{/if}
|
24
|
-
{#if right}
|
25
|
-
<li class="right">
|
26
|
-
{@render right()}
|
27
|
-
</li>
|
28
|
-
{/if}
|
29
|
-
</ul>
|
30
|
-
</header>
|
31
|
-
|
32
|
-
<style>
|
33
|
-
.LayoutHeader {
|
34
|
-
position: relative;
|
35
|
-
z-index: 1;
|
36
|
-
padding: 0.5rem 1rem;
|
37
|
-
background: color-mix(in srgb, var(--bg-app) 50%, transparent 50%);
|
38
|
-
backdrop-filter: blur(16px);
|
39
|
-
-webkit-backdrop-filter: blur(16px);
|
40
|
-
}
|
41
|
-
.LayoutHeader.sticky {
|
42
|
-
position: sticky;
|
43
|
-
top: 0;
|
44
|
-
}
|
45
|
-
.Skip {
|
46
|
-
position: absolute;
|
47
|
-
top: -40px;
|
48
|
-
left: 0;
|
49
|
-
padding: 0.5rem;
|
50
|
-
background: var(--bg-app);
|
51
|
-
font-size: 1rem;
|
52
|
-
z-index: 1000;
|
53
|
-
}
|
54
|
-
.Skip:focus {
|
55
|
-
top: 0;
|
56
|
-
}
|
57
|
-
.right :global(a) {
|
58
|
-
color: var(--text);
|
59
|
-
}
|
60
|
-
.right :global(a:hover) {
|
61
|
-
color: var(--text-link);
|
62
|
-
}
|
63
|
-
ul {
|
64
|
-
list-style: none;
|
65
|
-
padding: 0;
|
66
|
-
margin: 0;
|
67
|
-
display: grid;
|
68
|
-
grid-template-areas: "left center right";
|
69
|
-
grid-template-columns: 1fr auto 1fr;
|
70
|
-
align-items: center;
|
71
|
-
}
|
72
|
-
li {
|
73
|
-
padding: 0;
|
74
|
-
margin: 0;
|
75
|
-
flex-basis: 0;
|
76
|
-
display: flex;
|
77
|
-
align-items: center;
|
78
|
-
flex-wrap: nowrap;
|
79
|
-
gap: 1rem;
|
80
|
-
}
|
81
|
-
li.left { grid-area: left; }
|
82
|
-
li.center { grid-area: center; }
|
83
|
-
li.right { grid-area: right; }
|
84
|
-
ul > :not(:first-child):not(:last-child) {
|
85
|
-
grid-column: center;
|
86
|
-
}
|
87
|
-
ul > :first-child:last-child {
|
88
|
-
grid-column: 1 / -1;
|
89
|
-
}
|
90
|
-
li.right {
|
91
|
-
display: flex;
|
92
|
-
justify-content: flex-end;
|
93
|
-
}
|
94
|
-
</style>
|
@@ -1,39 +0,0 @@
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
2
|
-
declare const __propDef: {
|
3
|
-
props: {
|
4
|
-
left?: ((this: void) => typeof import("svelte").SnippetReturn & {
|
5
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
6
|
-
}) | undefined;
|
7
|
-
center?: ((this: void) => typeof import("svelte").SnippetReturn & {
|
8
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
9
|
-
}) | undefined;
|
10
|
-
right?: ((this: void) => typeof import("svelte").SnippetReturn & {
|
11
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
12
|
-
}) | undefined;
|
13
|
-
skipToContentText?: string | undefined;
|
14
|
-
sticky?: boolean | undefined;
|
15
|
-
};
|
16
|
-
events: {
|
17
|
-
[evt: string]: CustomEvent<any>;
|
18
|
-
};
|
19
|
-
slots: {};
|
20
|
-
};
|
21
|
-
export type LayoutHeaderProps = typeof __propDef.props;
|
22
|
-
export type LayoutHeaderEvents = typeof __propDef.events;
|
23
|
-
export type LayoutHeaderSlots = typeof __propDef.slots;
|
24
|
-
export default class LayoutHeader extends SvelteComponent<LayoutHeaderProps, LayoutHeaderEvents, LayoutHeaderSlots> {
|
25
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
26
|
-
left?: ((this: void) => typeof import("svelte").SnippetReturn & {
|
27
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
28
|
-
}) | undefined;
|
29
|
-
center?: ((this: void) => typeof import("svelte").SnippetReturn & {
|
30
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
31
|
-
}) | undefined;
|
32
|
-
right?: ((this: void) => typeof import("svelte").SnippetReturn & {
|
33
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
34
|
-
}) | undefined;
|
35
|
-
skipToContentText?: string | undefined;
|
36
|
-
sticky?: boolean | undefined;
|
37
|
-
}>);
|
38
|
-
}
|
39
|
-
export {};
|
@@ -1,54 +0,0 @@
|
|
1
|
-
<script lang="ts">import MenuItem from "../nav/MenuItem.svelte";
|
2
|
-
let {
|
3
|
-
items,
|
4
|
-
children
|
5
|
-
} = $props();
|
6
|
-
</script>
|
7
|
-
|
8
|
-
<main>
|
9
|
-
<aside>
|
10
|
-
<nav>
|
11
|
-
<ul>
|
12
|
-
{#each items as item, index}
|
13
|
-
<MenuItem {index} {item} />
|
14
|
-
{/each}
|
15
|
-
</ul>
|
16
|
-
</nav>
|
17
|
-
</aside>
|
18
|
-
{@render children()}
|
19
|
-
</main>
|
20
|
-
|
21
|
-
<style>
|
22
|
-
main {
|
23
|
-
display: grid;
|
24
|
-
grid-template-columns: clamp(10rem, 20%, 20rem) 1fr;
|
25
|
-
}
|
26
|
-
nav {
|
27
|
-
padding: 4rem 0 4rem 2rem;
|
28
|
-
--menu-item-margin: 0;
|
29
|
-
}
|
30
|
-
ul {
|
31
|
-
list-style: none;
|
32
|
-
margin: 0;
|
33
|
-
padding: 0;
|
34
|
-
position: sticky;
|
35
|
-
top: -1rem;
|
36
|
-
border-left: 1px solid var(--border);
|
37
|
-
}
|
38
|
-
@media (max-width: 1280px) {
|
39
|
-
nav {
|
40
|
-
padding: 2rem 0 2rem 1rem;
|
41
|
-
}
|
42
|
-
ul {
|
43
|
-
padding: 0;
|
44
|
-
}
|
45
|
-
}
|
46
|
-
@media(max-width: 800px) {
|
47
|
-
main {
|
48
|
-
grid-template-columns: 1fr;
|
49
|
-
}
|
50
|
-
nav {
|
51
|
-
padding: 0 1rem;
|
52
|
-
}
|
53
|
-
}
|
54
|
-
</style>
|
@@ -1,25 +0,0 @@
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
2
|
-
import type { Snippet } from "svelte";
|
3
|
-
import type { MenuItem as Item } from "../nav/MenuTypes.js";
|
4
|
-
declare const __propDef: {
|
5
|
-
props: {
|
6
|
-
items: Item[];
|
7
|
-
children: Snippet;
|
8
|
-
};
|
9
|
-
events: {
|
10
|
-
[evt: string]: CustomEvent<any>;
|
11
|
-
};
|
12
|
-
slots: {};
|
13
|
-
};
|
14
|
-
export type LayoutSideMenuProps = typeof __propDef.props;
|
15
|
-
export type LayoutSideMenuEvents = typeof __propDef.events;
|
16
|
-
export type LayoutSideMenuSlots = typeof __propDef.slots;
|
17
|
-
export default class LayoutSideMenu extends SvelteComponent<LayoutSideMenuProps, LayoutSideMenuEvents, LayoutSideMenuSlots> {
|
18
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
19
|
-
items: Item[];
|
20
|
-
children: (this: void) => typeof import("svelte").SnippetReturn & {
|
21
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
22
|
-
};
|
23
|
-
}>);
|
24
|
-
}
|
25
|
-
export {};
|
@@ -1,15 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Layout container types.
|
3
|
-
* `ui` is for UI components. It will not add margins.
|
4
|
-
* `page` is for page content. It will add automatic margins to typography and other page content.
|
5
|
-
*/
|
6
|
-
export type LayoutContainerType = 'ui' | 'page';
|
7
|
-
export declare const BREAKPOINTS: {
|
8
|
-
s: number;
|
9
|
-
m: number;
|
10
|
-
l: number;
|
11
|
-
};
|
12
|
-
export declare const BREAKPOINT_SIZES: number[];
|
13
|
-
export declare const SMALLEST_BREAKPOINT: number;
|
14
|
-
export declare const LARGEST_BREAKPOINT: number;
|
15
|
-
export declare const MIN_WIDTH = 280;
|
@@ -1,9 +0,0 @@
|
|
1
|
-
export const BREAKPOINTS = {
|
2
|
-
s: 320,
|
3
|
-
m: 672,
|
4
|
-
l: 1312,
|
5
|
-
};
|
6
|
-
export const BREAKPOINT_SIZES = Object.values(BREAKPOINTS);
|
7
|
-
export const SMALLEST_BREAKPOINT = BREAKPOINT_SIZES[0];
|
8
|
-
export const LARGEST_BREAKPOINT = BREAKPOINT_SIZES[BREAKPOINT_SIZES.length - 1];
|
9
|
-
export const MIN_WIDTH = 280;
|
@@ -1,20 +0,0 @@
|
|
1
|
-
<script lang="ts">import { onDestroy, onMount } from "svelte";
|
2
|
-
import { addOverlay, removeOverlay } from "./overlays.svelte.js";
|
3
|
-
import { createId } from "../utils/id.js";
|
4
|
-
let {
|
5
|
-
id = createId(),
|
6
|
-
children,
|
7
|
-
position = "center",
|
8
|
-
anchor,
|
9
|
-
layer,
|
10
|
-
transition,
|
11
|
-
z
|
12
|
-
} = $props();
|
13
|
-
onMount(() => {
|
14
|
-
addOverlay({ id, z, layer, content: children, transition, position, anchor });
|
15
|
-
});
|
16
|
-
onDestroy(() => {
|
17
|
-
removeOverlay(id);
|
18
|
-
});
|
19
|
-
</script>
|
20
|
-
|
@@ -1,35 +0,0 @@
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
2
|
-
import { type Snippet } from "svelte";
|
3
|
-
import { type OverlayPosition, type TransitionOpts } from "./overlays.svelte.js";
|
4
|
-
declare const __propDef: {
|
5
|
-
props: {
|
6
|
-
id?: string | undefined;
|
7
|
-
children: Snippet;
|
8
|
-
anchor?: HTMLElement | undefined;
|
9
|
-
layer?: string | undefined;
|
10
|
-
position?: OverlayPosition | undefined;
|
11
|
-
transition?: TransitionOpts | undefined;
|
12
|
-
z?: number | undefined;
|
13
|
-
};
|
14
|
-
events: {
|
15
|
-
[evt: string]: CustomEvent<any>;
|
16
|
-
};
|
17
|
-
slots: {};
|
18
|
-
};
|
19
|
-
export type OverlayProps = typeof __propDef.props;
|
20
|
-
export type OverlayEvents = typeof __propDef.events;
|
21
|
-
export type OverlaySlots = typeof __propDef.slots;
|
22
|
-
export default class Overlay extends SvelteComponent<OverlayProps, OverlayEvents, OverlaySlots> {
|
23
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
24
|
-
id?: string | undefined;
|
25
|
-
children: (this: void) => typeof import("svelte").SnippetReturn & {
|
26
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
27
|
-
};
|
28
|
-
anchor?: HTMLElement | undefined;
|
29
|
-
layer?: string | undefined;
|
30
|
-
position?: OverlayPosition | undefined;
|
31
|
-
transition?: TransitionOpts | undefined;
|
32
|
-
z?: number | undefined;
|
33
|
-
}>);
|
34
|
-
}
|
35
|
-
export {};
|
@@ -1,28 +0,0 @@
|
|
1
|
-
<script lang="ts">import { overlays } from "./overlays.svelte.js";
|
2
|
-
import OverlayLayer from "./OverlayLayer.svelte";
|
3
|
-
import { slidefade } from "../utils/transitions.js";
|
4
|
-
</script>
|
5
|
-
|
6
|
-
<div class="Overlay">
|
7
|
-
<OverlayLayer position="top left" items={overlays.topLeft} />
|
8
|
-
<OverlayLayer position="top right" items={overlays.topRight} />
|
9
|
-
<OverlayLayer position="top center" items={overlays.topCenter} />
|
10
|
-
<OverlayLayer position="bottom left" items={overlays.bottomLeft} />
|
11
|
-
<OverlayLayer position="bottom right" items={overlays.bottomRight} />
|
12
|
-
<OverlayLayer position="bottom center" items={overlays.bottomCenter} />
|
13
|
-
<OverlayLayer position="center" items={overlays.center} />
|
14
|
-
<OverlayLayer position="anchor" items={overlays.anchor} />
|
15
|
-
</div>
|
16
|
-
|
17
|
-
<style>
|
18
|
-
.Overlay {
|
19
|
-
display: block;
|
20
|
-
position: fixed;
|
21
|
-
top: 0;
|
22
|
-
left: 0;
|
23
|
-
right: 0;
|
24
|
-
bottom: 0;
|
25
|
-
z-index: 1000;
|
26
|
-
pointer-events: none;
|
27
|
-
}
|
28
|
-
</style>
|
@@ -1,16 +0,0 @@
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
2
|
-
declare const __propDef: {
|
3
|
-
props: {
|
4
|
-
[x: string]: never;
|
5
|
-
};
|
6
|
-
events: {
|
7
|
-
[evt: string]: CustomEvent<any>;
|
8
|
-
};
|
9
|
-
slots: {};
|
10
|
-
};
|
11
|
-
export type OverlayContainerProps = typeof __propDef.props;
|
12
|
-
export type OverlayContainerEvents = typeof __propDef.events;
|
13
|
-
export type OverlayContainerSlots = typeof __propDef.slots;
|
14
|
-
export default class OverlayContainer extends SvelteComponent<OverlayContainerProps, OverlayContainerEvents, OverlayContainerSlots> {
|
15
|
-
}
|
16
|
-
export {};
|