lutra 0.0.20 → 0.0.33
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/dist/color.css +0 -0
- package/dist/display/Avatar.svelte +1 -1
- package/dist/display/Avatar.svelte.d.ts +18 -22
- package/dist/display/Badge.svelte +2 -4
- package/dist/display/Badge.svelte.d.ts +28 -32
- package/dist/display/Callout.svelte +8 -8
- package/dist/display/Callout.svelte.d.ts +27 -35
- package/dist/display/Close.svelte.d.ts +17 -20
- package/dist/display/Code.svelte +26 -31
- package/dist/display/Code.svelte.d.ts +31 -30
- package/dist/display/ContextTip.svelte +2 -5
- package/dist/display/ContextTip.svelte.d.ts +16 -20
- package/dist/display/DataList.svelte +16 -0
- package/dist/display/DataList.svelte.d.ts +21 -0
- package/dist/display/Details.svelte.d.ts +25 -30
- package/dist/display/Hero.svelte.d.ts +24 -28
- package/dist/display/Icon.svelte +3 -4
- package/dist/display/Icon.svelte.d.ts +18 -23
- package/dist/display/IconButton.svelte +12 -5
- package/dist/display/IconButton.svelte.d.ts +26 -29
- package/dist/display/Image.svelte.d.ts +25 -36
- package/dist/display/Indicator.svelte.d.ts +21 -22
- package/dist/display/Inset.svelte.d.ts +16 -20
- package/dist/display/LineChart.svelte +385 -0
- package/dist/display/LineChart.svelte.d.ts +24 -0
- package/dist/display/LoadingIndicator.svelte +33 -0
- package/dist/display/LoadingIndicator.svelte.d.ts +15 -0
- package/dist/display/Modal.svelte +116 -0
- package/dist/display/Modal.svelte.d.ts +27 -0
- package/dist/display/Notification.svelte.d.ts +22 -41
- package/dist/display/Panel.svelte +23 -0
- package/dist/display/Panel.svelte.d.ts +19 -0
- package/dist/display/Popup.svelte.d.ts +23 -28
- package/dist/{data → display}/Stat.svelte +9 -17
- package/dist/display/Stat.svelte.d.ts +30 -0
- package/dist/display/Table.svelte +14 -10
- package/dist/display/Table.svelte.d.ts +22 -32
- package/dist/display/TablePaginator.svelte +51 -0
- package/dist/display/TablePaginator.svelte.d.ts +21 -0
- package/dist/display/Tag.svelte.d.ts +29 -32
- package/dist/display/Tooltip.svelte +5 -4
- package/dist/display/Tooltip.svelte.d.ts +21 -26
- package/dist/display/chart.d.ts +78 -0
- package/dist/display/chart.js +212 -0
- package/dist/display/index.d.ts +11 -1
- package/dist/display/index.js +11 -1
- package/dist/display/notifications.svelte.d.ts +3 -3
- package/dist/display/notifications.svelte.js +2 -2
- package/dist/form/Button.svelte +7 -2
- package/dist/form/Button.svelte.d.ts +25 -35
- package/dist/form/FieldActions.svelte +25 -3
- package/dist/form/FieldActions.svelte.d.ts +18 -22
- package/dist/form/FieldContainer.svelte +1 -1
- package/dist/form/FieldContainer.svelte.d.ts +17 -22
- package/dist/form/FieldContent.svelte +52 -33
- package/dist/form/FieldContent.svelte.d.ts +28 -56
- package/dist/form/FieldError.svelte.d.ts +17 -20
- package/dist/form/FieldSection.svelte.d.ts +18 -32
- package/dist/form/Fieldset.svelte.d.ts +29 -40
- package/dist/form/Form.svelte +55 -17
- package/dist/form/Form.svelte.d.ts +36 -31
- package/dist/form/ImageUpload.svelte +259 -0
- package/dist/form/ImageUpload.svelte.d.ts +31 -0
- package/dist/form/Input.svelte +192 -153
- package/dist/form/Input.svelte.d.ts +115 -140
- package/dist/form/InputLength.svelte.d.ts +19 -20
- package/dist/form/Label.svelte +21 -4
- package/dist/form/Label.svelte.d.ts +24 -30
- package/dist/form/LogoUpload.svelte +100 -0
- package/dist/form/LogoUpload.svelte.d.ts +29 -0
- package/dist/form/Select.svelte +84 -36
- package/dist/form/Select.svelte.d.ts +69 -96
- package/dist/form/Textarea.svelte +163 -0
- package/dist/form/Textarea.svelte.d.ts +108 -0
- package/dist/form/Toggle.svelte +2 -0
- package/dist/form/Toggle.svelte.d.ts +15 -0
- package/dist/form/client.svelte.d.ts +8 -9
- package/dist/form/client.svelte.js +18 -10
- package/dist/form/form.d.ts +6 -4
- package/dist/form/form.js +23 -9
- package/dist/form/index.d.ts +6 -3
- package/dist/form/index.js +6 -3
- package/dist/form/types.d.ts +11 -1
- package/dist/icons/IconAlert.svelte.d.ts +23 -0
- package/dist/icons/{Copy.svelte → IconCopy.svelte} +1 -1
- package/dist/icons/IconCopy.svelte.d.ts +23 -0
- package/dist/icons/IconDone.svelte.d.ts +23 -0
- package/dist/icons/IconError.svelte.d.ts +23 -0
- package/dist/icons/IconHelp.svelte.d.ts +23 -0
- package/dist/icons/IconHide.svelte.d.ts +23 -0
- package/dist/icons/IconInfo.svelte.d.ts +23 -0
- package/dist/icons/IconLink.svelte.d.ts +23 -0
- package/dist/icons/IconMenuBurger.svelte.d.ts +23 -0
- package/dist/icons/IconMenuDots.svelte.d.ts +23 -0
- package/dist/icons/IconSearch.svelte +3 -0
- package/dist/icons/IconSearch.svelte.d.ts +23 -0
- package/dist/icons/IconShow.svelte.d.ts +23 -0
- package/dist/icons/IconSuccess.svelte.d.ts +23 -0
- package/dist/icons/IconWarning.svelte.d.ts +23 -0
- package/dist/icons/index.d.ts +14 -11
- package/dist/icons/index.js +14 -11
- package/dist/layout/Layout.svelte +7 -5
- package/dist/layout/Layout.svelte.d.ts +19 -22
- package/dist/layout/LayoutFooter.svelte.d.ts +17 -18
- package/dist/layout/LayoutGrid.svelte.d.ts +25 -36
- package/dist/layout/LayoutHeader.svelte +3 -0
- package/dist/layout/LayoutHeader.svelte.d.ts +33 -38
- package/dist/layout/LayoutSideMenu.svelte +18 -17
- package/dist/layout/LayoutSideMenu.svelte.d.ts +18 -22
- package/dist/layout/Overlay.svelte.d.ts +22 -32
- package/dist/layout/OverlayContainer.svelte.d.ts +14 -15
- package/dist/layout/OverlayLayer.svelte +6 -11
- package/dist/layout/OverlayLayer.svelte.d.ts +17 -20
- package/dist/layout/PageContent.svelte +9 -24
- package/dist/layout/PageContent.svelte.d.ts +23 -26
- package/dist/layout/Theme.svelte +19 -4
- package/dist/layout/Theme.svelte.d.ts +17 -22
- package/dist/layout/UIContent.svelte.d.ts +16 -20
- package/dist/layout/index.d.ts +5 -1
- package/dist/layout/index.js +5 -1
- package/dist/layout/overlays.svelte.d.ts +2 -2
- package/dist/nav/Breadcrumb.svelte +1 -1
- package/dist/nav/Breadcrumb.svelte.d.ts +26 -31
- package/dist/nav/Menu.svelte +6 -13
- package/dist/nav/Menu.svelte.d.ts +25 -31
- package/dist/nav/MenuItem.svelte +15 -8
- package/dist/nav/MenuItem.svelte.d.ts +20 -24
- package/dist/nav/MenuTypes.d.ts +7 -7
- package/dist/nav/NavMenu.svelte +7 -9
- package/dist/nav/NavMenu.svelte.d.ts +17 -18
- package/dist/nav/TabbedContent.svelte +1 -1
- package/dist/nav/TabbedContent.svelte.d.ts +21 -22
- package/dist/nav/Tabs.svelte +53 -13
- package/dist/nav/Tabs.svelte.d.ts +24 -25
- package/dist/nav/index.d.ts +2 -1
- package/dist/nav/index.js +2 -1
- package/dist/style.css +176 -79
- package/dist/typo/Clamp.svelte.d.ts +22 -26
- package/dist/typo/H.svelte.d.ts +26 -30
- package/dist/typo/H1.svelte.d.ts +24 -28
- package/dist/typo/H2.svelte.d.ts +24 -28
- package/dist/typo/H3.svelte.d.ts +24 -28
- package/dist/typo/H4.svelte.d.ts +24 -28
- package/dist/typo/H5.svelte.d.ts +24 -28
- package/dist/typo/H6.svelte.d.ts +24 -28
- package/dist/typo/P.svelte.d.ts +24 -28
- package/dist/utils/StringOrComponent.svelte +14 -0
- package/dist/utils/StringOrComponent.svelte.d.ts +19 -0
- package/dist/utils/StringOrSnippet.svelte +11 -0
- package/dist/utils/StringOrSnippet.svelte.d.ts +19 -0
- package/dist/utils/color.d.ts +1 -1
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/index.js +2 -1
- package/dist/utils/isSnippet.d.ts +3 -5
- package/dist/utils/isSnippet.js +9 -4
- package/package.json +32 -25
- 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/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.d.ts +0 -23
- package/dist/icons/Copy.svelte.d.ts +0 -23
- package/dist/icons/Done.svelte.d.ts +0 -23
- package/dist/icons/Error.svelte.d.ts +0 -23
- package/dist/icons/Help.svelte.d.ts +0 -23
- package/dist/icons/Hide.svelte.d.ts +0 -23
- package/dist/icons/Info.svelte.d.ts +0 -23
- package/dist/icons/Link.svelte.d.ts +0 -23
- package/dist/icons/MenuBurger.svelte.d.ts +0 -23
- package/dist/icons/MenuDots.svelte.d.ts +0 -23
- package/dist/icons/Show.svelte.d.ts +0 -23
- package/dist/icons/Success.svelte.d.ts +0 -23
- package/dist/icons/Warning.svelte.d.ts +0 -23
- package/dist/utils/StringOrComponentOrSnippet.svelte +0 -14
- package/dist/utils/StringOrComponentOrSnippet.svelte.d.ts +0 -24
- /package/dist/icons/{Alert.svelte → IconAlert.svelte} +0 -0
- /package/dist/icons/{Done.svelte → IconDone.svelte} +0 -0
- /package/dist/icons/{Error.svelte → IconError.svelte} +0 -0
- /package/dist/icons/{Help.svelte → IconHelp.svelte} +0 -0
- /package/dist/icons/{Hide.svelte → IconHide.svelte} +0 -0
- /package/dist/icons/{Info.svelte → IconInfo.svelte} +0 -0
- /package/dist/icons/{Link.svelte → IconLink.svelte} +0 -0
- /package/dist/icons/{MenuBurger.svelte → IconMenuBurger.svelte} +0 -0
- /package/dist/icons/{MenuDots.svelte → IconMenuDots.svelte} +0 -0
- /package/dist/icons/{Show.svelte → IconShow.svelte} +0 -0
- /package/dist/icons/{Success.svelte → IconSuccess.svelte} +0 -0
- /package/dist/icons/{Warning.svelte → IconWarning.svelte} +0 -0
@@ -3,11 +3,12 @@ let {
|
|
3
3
|
children,
|
4
4
|
pad = false,
|
5
5
|
middle = false,
|
6
|
-
center = false
|
6
|
+
center = false,
|
7
|
+
style
|
7
8
|
} = $props();
|
8
|
-
let
|
9
|
+
let padStyle = $derived.by(() => {
|
9
10
|
if (typeof pad === "boolean") {
|
10
|
-
return `--padBlockStart: ${pad ? "var(--padding, var(--padding-block,
|
11
|
+
return `--padBlockStart: ${pad ? "var(--page-padding, var(--padding-block, var(--pad-xl)))" : "0"}; --padBlockEnd: ${pad ? "var(--page-padding, var(--padding-block, var(--pad-xl)))" : "0"}; --padInlineStart: ${pad ? "var(--page-padding, var(--padding-inline, var(--pad-xl)))" : "0"}; --padInlineEnd: ${pad ? "var(--page-padding, var(--padding-inline, var(--pad-xl)))" : "0"};`;
|
11
12
|
} else if (typeof pad === "string") {
|
12
13
|
return `--padBlockStart: ${pad}; --padBlockEnd: ${pad}; --padInlineStart: ${pad}; --padInlineEnd: ${pad};`;
|
13
14
|
} else if (Array.isArray(pad) && pad.length > 1 && typeof pad[0] === "string") {
|
@@ -22,11 +23,11 @@ let style = $derived.by(() => {
|
|
22
23
|
} else if (Array.isArray(pad) && pad.length > 1) {
|
23
24
|
switch (pad.length) {
|
24
25
|
case 2:
|
25
|
-
return `--padBlockStart: ${pad[0] ? "var(--padding, var(--padding-block,
|
26
|
+
return `--padBlockStart: ${pad[0] ? "var(--page-padding, var(--padding-block, var(--pad-xl)))" : "0"}; --padBlockEnd: ${pad[0] ? "var(--page-padding, var(--padding-block, var(--pad-xl)))" : "0"}; --padInlineStart: ${pad[1] ? "var(--page-padding, var(--padding-inline, var(--pad-xl)))" : "0"}; --padInlineEnd: ${pad[1] ? "var(--page-padding, var(--padding-inline, var(--pad-xl)))" : "0"};`;
|
26
27
|
case 3:
|
27
|
-
return `--padBlockStart: ${pad[0] ? "var(--padding, var(--padding-block,
|
28
|
+
return `--padBlockStart: ${pad[0] ? "var(--page-padding, var(--padding-block, var(--pad-xl)))" : "0"}; --padBlockEnd: ${pad[1] ? "var(--page-padding, var(--padding-block, var(--pad-xl)))" : "0"}; --padInlineStart: ${pad[2] ? "var(--page-padding, var(--padding-inline, var(--pad-xl)))" : "0"}; --padInlineEnd: ${pad[2] ? "var(--page-padding, var(--padding-inline, var(--pad-xl)))" : "0"};`;
|
28
29
|
case 4:
|
29
|
-
return `--padBlockStart: ${pad[0] ? "var(--padding, var(--padding-block,
|
30
|
+
return `--padBlockStart: ${pad[0] ? "var(--page-padding, var(--padding-block, var(--pad-xl)))" : "0"}; --padBlockEnd: ${pad[1] ? "var(--page-padding, var(--padding-block, var(--pad-xl)))" : "0"}; --padInlineStart: ${pad[2] ? "var(--page-padding, var(--padding-inline, var(--pad-xl)))" : "0"}; --padInlineEnd: ${pad[3] ? "var(--page-padding, var(--padding-inline, var(--pad-xl)))" : "0"};`;
|
30
31
|
}
|
31
32
|
}
|
32
33
|
return "";
|
@@ -37,7 +38,7 @@ let style = $derived.by(() => {
|
|
37
38
|
class="Page"
|
38
39
|
class:middle
|
39
40
|
class:center
|
40
|
-
style={style}
|
41
|
+
style="{padStyle} {style}"
|
41
42
|
>
|
42
43
|
<div class="PaddingContainer">
|
43
44
|
<div class="PageContent">
|
@@ -56,6 +57,7 @@ let style = $derived.by(() => {
|
|
56
57
|
position: relative;
|
57
58
|
}
|
58
59
|
.PageContent {
|
60
|
+
container-type: inline-size;
|
59
61
|
max-inline-size: var(--max-inline-size, 1560px);
|
60
62
|
flex-grow: 1;
|
61
63
|
--isPage: 1;
|
@@ -77,21 +79,4 @@ let style = $derived.by(() => {
|
|
77
79
|
.Page.center .PaddingContainer {
|
78
80
|
justify-content: center;
|
79
81
|
}
|
80
|
-
|
81
|
-
@media (max-width: 1280px) {
|
82
|
-
.Page .PaddingContainer {
|
83
|
-
padding-block-start: calc(var(--padBlockStart) / 2);
|
84
|
-
padding-block-end: calc(var(--padBlockEnd) / 2);
|
85
|
-
padding-inline-start: calc(var(--padInlineStart) / 2);
|
86
|
-
padding-inline-end: calc(var(--padInlineEnd) / 2);
|
87
|
-
}
|
88
|
-
}
|
89
|
-
@media (max-width: 640px) {
|
90
|
-
.Page .PaddingContainer {
|
91
|
-
padding-block-start: calc(var(--padBlockStart) / 4);
|
92
|
-
padding-block-end: calc(var(--padBlockEnd) / 4);
|
93
|
-
padding-inline-start: calc(var(--padInlineStart) / 4);
|
94
|
-
padding-inline-end: calc(var(--padInlineEnd) / 4);
|
95
|
-
}
|
96
|
-
}
|
97
82
|
</style>
|
@@ -1,28 +1,25 @@
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
2
1
|
import { type Snippet } from "svelte";
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
};
|
13
|
-
slots: {};
|
14
|
-
};
|
15
|
-
export type PageContentProps = typeof __propDef.props;
|
16
|
-
export type PageContentEvents = typeof __propDef.events;
|
17
|
-
export type PageContentSlots = typeof __propDef.slots;
|
18
|
-
export default class PageContent extends SvelteComponent<PageContentProps, PageContentEvents, PageContentSlots> {
|
19
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
20
|
-
children: (this: void) => typeof import("svelte").SnippetReturn & {
|
21
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
22
|
-
};
|
23
|
-
pad?: string | boolean | [boolean, boolean] | [boolean, boolean, boolean] | [boolean, boolean, boolean, boolean] | [string, string] | [string, string, string] | [string, string, string, string] | undefined;
|
24
|
-
middle?: boolean | undefined;
|
25
|
-
center?: boolean | undefined;
|
26
|
-
}>);
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
4
|
+
$$bindings?: Bindings;
|
5
|
+
} & Exports;
|
6
|
+
(internal: unknown, props: Props & {
|
7
|
+
$$events?: Events;
|
8
|
+
$$slots?: Slots;
|
9
|
+
}): Exports;
|
10
|
+
z_$$bindings?: Bindings;
|
27
11
|
}
|
28
|
-
|
12
|
+
declare const PageContent: $$__sveltets_2_IsomorphicComponent<{
|
13
|
+
children: Snippet;
|
14
|
+
/** Add padding to the container. Pass in either a boolean or an array of booleans to specify padding on the block and inline axes. */
|
15
|
+
pad?: boolean | [boolean, boolean] | [boolean, boolean, boolean] | [boolean, boolean, boolean, boolean] | string | [string, string] | [string, string, string] | [string, string, string, string];
|
16
|
+
/** Center the content in the block direction. */
|
17
|
+
middle?: boolean;
|
18
|
+
/** Center the content in the inline direction. */
|
19
|
+
center?: boolean;
|
20
|
+
style?: string;
|
21
|
+
}, {
|
22
|
+
[evt: string]: CustomEvent<any>;
|
23
|
+
}, {}, {}, "">;
|
24
|
+
type PageContent = InstanceType<typeof PageContent>;
|
25
|
+
export default PageContent;
|
package/dist/layout/Theme.svelte
CHANGED
@@ -11,14 +11,16 @@ if (theme === "invert") {
|
|
11
11
|
} else {
|
12
12
|
theme = theme || (browser ? localStorage.getItem("theme") || window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : "light");
|
13
13
|
}
|
14
|
-
const
|
14
|
+
const isNotRoot = getContext("theme");
|
15
15
|
setContext("theme", theme);
|
16
16
|
</script>
|
17
17
|
|
18
|
-
|
18
|
+
<!--
|
19
|
+
<svelte:body class="{!isNotRoot ? 'theme-'+theme : ''}" />
|
20
|
+
-->
|
19
21
|
|
20
22
|
<svelte:head>
|
21
|
-
{#if !
|
23
|
+
{#if !isNotRoot}
|
22
24
|
<meta name="theme-color" content="{theme === 'dark' ? '#000' : '#fff'}" />
|
23
25
|
{/if}
|
24
26
|
</svelte:head>
|
@@ -38,9 +40,14 @@ setContext("theme", theme);
|
|
38
40
|
--scrollbar-color: var(--d-scrollbar-color);
|
39
41
|
}
|
40
42
|
.Theme.light {
|
43
|
+
color-scheme: light;
|
41
44
|
--mix-target: var(--l-mix-target);
|
42
45
|
/* bg */
|
43
46
|
--bg-app: var(--l-bg-app);
|
47
|
+
--bg-panel: var(--l-bg-panel);
|
48
|
+
--bg-scrim: var(--l-bg-scrim);
|
49
|
+
--bg-subtler: var(--l-bg-subtler);
|
50
|
+
--bg-hover: var(--l-bg-hover);
|
44
51
|
--bg-subtle: var(--l-bg-subtle);
|
45
52
|
--bg-overlay: var(--l-bg-overlay);
|
46
53
|
--shadow: var(--l-shadow);
|
@@ -55,6 +62,7 @@ setContext("theme", theme);
|
|
55
62
|
/* text */
|
56
63
|
--text: var(--l-text);
|
57
64
|
--text-subtle: var(--l-text-subtle);
|
65
|
+
--text-subtler: var(--l-text-subtler);
|
58
66
|
--text-highlight: var(--l-text-highlight);
|
59
67
|
--text-heading: var(--l-text-heading);
|
60
68
|
--text-link: var(--l-text-link);
|
@@ -63,6 +71,7 @@ setContext("theme", theme);
|
|
63
71
|
--text-subtle-icon: var(--l-text-subtle-icon);
|
64
72
|
--text-warn-icon: var(--l-text-warn-icon);
|
65
73
|
/* fields */
|
74
|
+
--form-bg: var(--l-form-bg);
|
66
75
|
--field-bg: var(--l-field-bg);
|
67
76
|
--field-border-color: var(--l-field-border-color);
|
68
77
|
--field-border-color-error: var(--l-field-border-color-error);
|
@@ -118,7 +127,6 @@ setContext("theme", theme);
|
|
118
127
|
--menu-bg-active: var(--l-menu-bg-active);
|
119
128
|
--menu-bg-hover: var(--l-menu-bg-hover);
|
120
129
|
--menu-border: var(--l-menu-border);
|
121
|
-
--menu-text: var(--l-menu-text);
|
122
130
|
--menu-text-subtle: var(--l-menu-text-subtle);
|
123
131
|
--menu-text-active: var(--l-menu-text-active);
|
124
132
|
/* status */
|
@@ -131,10 +139,15 @@ setContext("theme", theme);
|
|
131
139
|
--scrollbar-color: var(--l-scrollbar-color);
|
132
140
|
}
|
133
141
|
.Theme.dark {
|
142
|
+
color-scheme: dark;
|
134
143
|
--mix-target: var(--d-mix-target);
|
135
144
|
/* bg */
|
136
145
|
--bg-app: var(--d-bg-app);
|
146
|
+
--bg-panel: var(--d-bg-panel);
|
147
|
+
--bg-scrim: var(--d-bg-scrim);
|
148
|
+
--bg-subtler: var(--d-bg-subtler);
|
137
149
|
--bg-subtle: var(--d-bg-subtle);
|
150
|
+
--bg-hover: var(--d-bg-hover);
|
138
151
|
--bg-overlay: var(--d-bg-overlay);
|
139
152
|
--shadow: var(--d-shadow);
|
140
153
|
/* border */
|
@@ -148,6 +161,7 @@ setContext("theme", theme);
|
|
148
161
|
/* text */
|
149
162
|
--text: var(--d-text);
|
150
163
|
--text-subtle: var(--d-text-subtle);
|
164
|
+
--text-subtler: var(--d-text-subtler);
|
151
165
|
--text-highlight: var(--d-text-highlight);
|
152
166
|
--text-heading: var(--d-text-heading);
|
153
167
|
--text-link: var(--d-text-link);
|
@@ -157,6 +171,7 @@ setContext("theme", theme);
|
|
157
171
|
--text-subtle-icon: var(--d-text-subtle-icon);
|
158
172
|
--text-warn-icon: var(--d-text-warn-icon);
|
159
173
|
/* fields */
|
174
|
+
--form-bg: var(--d-form-bg);
|
160
175
|
--field-bg: var(--d-field-bg);
|
161
176
|
--field-border-color: var(--d-field-border-color);
|
162
177
|
--field-border-color-error: var(--d-field-border-color-error);
|
@@ -1,24 +1,19 @@
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
2
1
|
import { type Snippet } from "svelte";
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
};
|
11
|
-
|
12
|
-
};
|
13
|
-
export type ThemeProps = typeof __propDef.props;
|
14
|
-
export type ThemeEvents = typeof __propDef.events;
|
15
|
-
export type ThemeSlots = typeof __propDef.slots;
|
16
|
-
export default class Theme extends SvelteComponent<ThemeProps, ThemeEvents, ThemeSlots> {
|
17
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
18
|
-
theme?: "light" | "dark" | "invert" | undefined;
|
19
|
-
children: (this: void) => typeof import("svelte").SnippetReturn & {
|
20
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
21
|
-
};
|
22
|
-
}>);
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
4
|
+
$$bindings?: Bindings;
|
5
|
+
} & Exports;
|
6
|
+
(internal: unknown, props: Props & {
|
7
|
+
$$events?: Events;
|
8
|
+
$$slots?: Slots;
|
9
|
+
}): Exports;
|
10
|
+
z_$$bindings?: Bindings;
|
23
11
|
}
|
24
|
-
|
12
|
+
declare const Theme: $$__sveltets_2_IsomorphicComponent<{
|
13
|
+
theme?: "light" | "dark" | "invert";
|
14
|
+
children: Snippet;
|
15
|
+
}, {
|
16
|
+
[evt: string]: CustomEvent<any>;
|
17
|
+
}, {}, {}, "">;
|
18
|
+
type Theme = InstanceType<typeof Theme>;
|
19
|
+
export default Theme;
|
@@ -1,22 +1,18 @@
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
2
1
|
import type { Snippet } from "svelte";
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
};
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
export type UiContentProps = typeof __propDef.props;
|
13
|
-
export type UiContentEvents = typeof __propDef.events;
|
14
|
-
export type UiContentSlots = typeof __propDef.slots;
|
15
|
-
export default class UiContent extends SvelteComponent<UiContentProps, UiContentEvents, UiContentSlots> {
|
16
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
17
|
-
children: (this: void) => typeof import("svelte").SnippetReturn & {
|
18
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
19
|
-
};
|
20
|
-
}>);
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
4
|
+
$$bindings?: Bindings;
|
5
|
+
} & Exports;
|
6
|
+
(internal: unknown, props: Props & {
|
7
|
+
$$events?: Events;
|
8
|
+
$$slots?: Slots;
|
9
|
+
}): Exports;
|
10
|
+
z_$$bindings?: Bindings;
|
21
11
|
}
|
22
|
-
|
12
|
+
declare const UiContent: $$__sveltets_2_IsomorphicComponent<{
|
13
|
+
children: Snippet;
|
14
|
+
}, {
|
15
|
+
[evt: string]: CustomEvent<any>;
|
16
|
+
}, {}, {}, "">;
|
17
|
+
type UiContent = InstanceType<typeof UiContent>;
|
18
|
+
export default UiContent;
|
package/dist/layout/index.d.ts
CHANGED
@@ -1,7 +1,11 @@
|
|
1
1
|
export { default as Layout } from './Layout.svelte';
|
2
|
-
export { default as LayoutGrid } from './LayoutGrid.svelte';
|
3
2
|
export { default as LayoutFooter } from './LayoutFooter.svelte';
|
3
|
+
export { default as LayoutGrid } from './LayoutGrid.svelte';
|
4
4
|
export { default as LayoutHeader } from './LayoutHeader.svelte';
|
5
|
+
export { default as LayoutSideMenu } from './LayoutSideMenu.svelte';
|
6
|
+
export { default as Overlay } from './Overlay.svelte';
|
7
|
+
export { default as OverlayContainer } from './OverlayContainer.svelte';
|
8
|
+
export { default as OverlayLayer } from './OverlayLayer.svelte';
|
5
9
|
export { default as PageContent } from './PageContent.svelte';
|
6
10
|
export { default as UIContent } from './UIContent.svelte';
|
7
11
|
export { default as Theme } from './Theme.svelte';
|
package/dist/layout/index.js
CHANGED
@@ -1,7 +1,11 @@
|
|
1
1
|
export { default as Layout } from './Layout.svelte';
|
2
|
-
export { default as LayoutGrid } from './LayoutGrid.svelte';
|
3
2
|
export { default as LayoutFooter } from './LayoutFooter.svelte';
|
3
|
+
export { default as LayoutGrid } from './LayoutGrid.svelte';
|
4
4
|
export { default as LayoutHeader } from './LayoutHeader.svelte';
|
5
|
+
export { default as LayoutSideMenu } from './LayoutSideMenu.svelte';
|
6
|
+
export { default as Overlay } from './Overlay.svelte';
|
7
|
+
export { default as OverlayContainer } from './OverlayContainer.svelte';
|
8
|
+
export { default as OverlayLayer } from './OverlayLayer.svelte';
|
5
9
|
export { default as PageContent } from './PageContent.svelte';
|
6
10
|
export { default as UIContent } from './UIContent.svelte';
|
7
11
|
export { default as Theme } from './Theme.svelte';
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type {
|
1
|
+
import type { Component, Snippet } from "svelte";
|
2
2
|
export type OverlayPosition = "top left" | "top center" | "top right" | "bottom left" | "bottom center" | "bottom right" | "center" | "anchor";
|
3
3
|
export type TransitionOpts = {
|
4
4
|
y?: number;
|
@@ -10,7 +10,7 @@ export type TransitionOpts = {
|
|
10
10
|
export type OverlayItem = {
|
11
11
|
id: string;
|
12
12
|
z?: number;
|
13
|
-
content: string | Snippet |
|
13
|
+
content: string | Snippet | Component;
|
14
14
|
props?: Record<string, any>;
|
15
15
|
layer?: string;
|
16
16
|
anchor?: HTMLElement;
|
@@ -1,33 +1,28 @@
|
|
1
|
-
import {
|
2
|
-
import type { ComponentType } from "svelte";
|
1
|
+
import type { Component, Snippet } from "svelte";
|
3
2
|
import type { BreadcrumbItem } from "./MenuTypes.js";
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
};
|
14
|
-
events: {
|
15
|
-
[evt: string]: CustomEvent<any>;
|
16
|
-
};
|
17
|
-
slots: {};
|
18
|
-
};
|
19
|
-
export type BreadcrumbProps = typeof __propDef.props;
|
20
|
-
export type BreadcrumbEvents = typeof __propDef.events;
|
21
|
-
export type BreadcrumbSlots = typeof __propDef.slots;
|
22
|
-
export default class Breadcrumb extends SvelteComponent<BreadcrumbProps, BreadcrumbEvents, BreadcrumbSlots> {
|
23
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
24
|
-
items: BreadcrumbItem[];
|
25
|
-
separator?: string | ((this: void) => typeof import("svelte").SnippetReturn & {
|
26
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
27
|
-
}) | ComponentType | undefined;
|
28
|
-
contained?: boolean | undefined;
|
29
|
-
fullWidth?: boolean | undefined;
|
30
|
-
center?: boolean | undefined;
|
31
|
-
}>);
|
3
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
4
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
5
|
+
$$bindings?: Bindings;
|
6
|
+
} & Exports;
|
7
|
+
(internal: unknown, props: Props & {
|
8
|
+
$$events?: Events;
|
9
|
+
$$slots?: Slots;
|
10
|
+
}): Exports;
|
11
|
+
z_$$bindings?: Bindings;
|
32
12
|
}
|
33
|
-
|
13
|
+
declare const Breadcrumb: $$__sveltets_2_IsomorphicComponent<{
|
14
|
+
/** The items to display in the breadcrumb. */
|
15
|
+
items: BreadcrumbItem[];
|
16
|
+
/** The separator to use between breadcrumb items. */
|
17
|
+
separator?: string | Snippet | Component;
|
18
|
+
/** Contain the element in a box. */
|
19
|
+
contained?: boolean;
|
20
|
+
/** Make the element full width. */
|
21
|
+
fullWidth?: boolean;
|
22
|
+
/** Center the items in the element. */
|
23
|
+
center?: boolean;
|
24
|
+
}, {
|
25
|
+
[evt: string]: CustomEvent<any>;
|
26
|
+
}, {}, {}, "">;
|
27
|
+
type Breadcrumb = InstanceType<typeof Breadcrumb>;
|
28
|
+
export default Breadcrumb;
|
package/dist/nav/Menu.svelte
CHANGED
@@ -1,11 +1,7 @@
|
|
1
|
-
<script lang="ts">import
|
2
|
-
import MenuItem from "./MenuItem.svelte";
|
3
|
-
import { isComponent } from "../utils/isSnippet.js";
|
1
|
+
<script lang="ts">import MenuItem from "./MenuItem.svelte";
|
4
2
|
import { createId } from "../utils/id.js";
|
5
|
-
import { slidefade } from "../utils/transitions.js";
|
6
3
|
import UiContent from "../layout/UIContent.svelte";
|
7
4
|
import { arrowNavigation, getNextFocusableElement, matchOnType } from "../utils/keyboard.svelte.js";
|
8
|
-
import StringOrComponentOrSnippet from "../utils/StringOrComponentOrSnippet.svelte";
|
9
5
|
import { findContainingBlock, getPossiblyContainedPosition } from "../utils/dom.js";
|
10
6
|
import Overlay from "../layout/Overlay.svelte";
|
11
7
|
let {
|
@@ -33,8 +29,7 @@ function toggle() {
|
|
33
29
|
_open = !_open;
|
34
30
|
}
|
35
31
|
let scrollable = $derived.by(() => {
|
36
|
-
if (!contentEl)
|
37
|
-
return false;
|
32
|
+
if (!contentEl) return false;
|
38
33
|
return contentEl.scrollHeight > contentEl.clientHeight;
|
39
34
|
});
|
40
35
|
function onclick(e) {
|
@@ -42,15 +37,13 @@ function onclick(e) {
|
|
42
37
|
_open = !_open;
|
43
38
|
}
|
44
39
|
function clickoutside(e) {
|
45
|
-
if (!_open)
|
46
|
-
return;
|
40
|
+
if (!_open) return;
|
47
41
|
if (contentEl && !contentEl.contains(e.target) && !triggerEl?.contains(e.target)) {
|
48
42
|
_open = false;
|
49
43
|
}
|
50
44
|
}
|
51
45
|
function onkeydown(e) {
|
52
|
-
if (!_open)
|
53
|
-
return;
|
46
|
+
if (!_open) return;
|
54
47
|
const active = document.activeElement;
|
55
48
|
switch (e.key) {
|
56
49
|
case "Escape":
|
@@ -107,9 +100,9 @@ function mouseover(e, item, index) {
|
|
107
100
|
class="Trigger"
|
108
101
|
bind:this={triggerEl}
|
109
102
|
>
|
110
|
-
{#if typeof trigger === "string"
|
103
|
+
{#if typeof trigger === "string"}
|
111
104
|
<button type="button" class="button" {onclick} aria-haspopup="true" aria-controls={id} aria-expanded="{_open}">
|
112
|
-
|
105
|
+
{trigger}
|
113
106
|
</button>
|
114
107
|
{:else}
|
115
108
|
{@render trigger({ toggle: toggle, isOpen: _open })}
|
@@ -1,33 +1,27 @@
|
|
1
|
-
import {
|
2
|
-
import type { ComponentType, Snippet } from "svelte";
|
1
|
+
import type { Snippet } from "svelte";
|
3
2
|
import type { MenuItem as Item } from "./MenuTypes.js";
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
events: {
|
14
|
-
[evt: string]: CustomEvent<any>;
|
15
|
-
};
|
16
|
-
slots: {};
|
17
|
-
};
|
18
|
-
export type MenuProps = typeof __propDef.props;
|
19
|
-
export type MenuEvents = typeof __propDef.events;
|
20
|
-
export type MenuSlots = typeof __propDef.slots;
|
21
|
-
export default class Menu extends SvelteComponent<MenuProps, MenuEvents, MenuSlots> {
|
22
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
23
|
-
open?: import("svelte").Bindable<boolean | undefined>;
|
24
|
-
items: Item[];
|
25
|
-
trigger: string | ComponentType | ((this: void, args_0: {
|
26
|
-
toggle: () => void;
|
27
|
-
isOpen: boolean;
|
28
|
-
}) => typeof import("svelte").SnippetReturn & {
|
29
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
30
|
-
});
|
31
|
-
}>);
|
3
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
4
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
5
|
+
$$bindings?: Bindings;
|
6
|
+
} & Exports;
|
7
|
+
(internal: unknown, props: Props & {
|
8
|
+
$$events?: Events;
|
9
|
+
$$slots?: Slots;
|
10
|
+
}): Exports;
|
11
|
+
z_$$bindings?: Bindings;
|
32
12
|
}
|
33
|
-
|
13
|
+
declare const Menu: $$__sveltets_2_IsomorphicComponent<{
|
14
|
+
/** Whether the menu is open */
|
15
|
+
open?: boolean;
|
16
|
+
/** The items to display in the menu */
|
17
|
+
items: Item[];
|
18
|
+
/** The trigger for the menu */
|
19
|
+
trigger: string | Snippet<[{
|
20
|
+
toggle: () => void;
|
21
|
+
isOpen: boolean;
|
22
|
+
}]>;
|
23
|
+
}, {
|
24
|
+
[evt: string]: CustomEvent<any>;
|
25
|
+
}, {}, {}, "open">;
|
26
|
+
type Menu = InstanceType<typeof Menu>;
|
27
|
+
export default Menu;
|
package/dist/nav/MenuItem.svelte
CHANGED
@@ -1,11 +1,12 @@
|
|
1
|
-
<script lang="ts">import
|
1
|
+
<script lang="ts">import StringOrSnippet from "../utils/StringOrSnippet.svelte";
|
2
2
|
import { isStatusColor } from "../utils/color.js";
|
3
3
|
import { isComponent, isSnippet } from "../utils/isSnippet.js";
|
4
4
|
let {
|
5
5
|
item,
|
6
6
|
index,
|
7
7
|
onmouseover,
|
8
|
-
keyboardHasFocus
|
8
|
+
keyboardHasFocus,
|
9
|
+
shape = "rounded"
|
9
10
|
} = $props();
|
10
11
|
let isSet = $derived(item.type !== "divider" ? isStatusColor(item.color) : false);
|
11
12
|
let el = $state(null);
|
@@ -23,6 +24,7 @@ function mouseover(e) {
|
|
23
24
|
class:keyboardHasFocus
|
24
25
|
class:divider={item.type === 'divider'}
|
25
26
|
class:header={item.type === 'header'}
|
27
|
+
class={shape}
|
26
28
|
data-type="{item.type}"
|
27
29
|
style="--color: {isSet && item.type !== 'divider' ? 'var(--status-'+item.color+')' : (item.type !== 'divider' && item.color ? item.color : 'var(--menu-text)')}"
|
28
30
|
>
|
@@ -30,13 +32,13 @@ function mouseover(e) {
|
|
30
32
|
<hr />
|
31
33
|
{:else if item.type === 'header'}
|
32
34
|
<div class="Header">
|
33
|
-
<
|
35
|
+
<StringOrSnippet content={item.content} />
|
34
36
|
</div>
|
35
37
|
{:else if item.type === 'item'}
|
36
38
|
{#if item.href}
|
37
39
|
<a href="{item.href}" class="Item" bind:this={el}>
|
38
40
|
<span class="Content">
|
39
|
-
<
|
41
|
+
<StringOrSnippet content={item.content} />
|
40
42
|
</span>
|
41
43
|
{#if item.shortcut}
|
42
44
|
<span class="Shortcut">{item.shortcut}</span>
|
@@ -45,7 +47,7 @@ function mouseover(e) {
|
|
45
47
|
{:else if item.onclick}
|
46
48
|
<button type="button" onclick={(e) => item.type === 'item' ? item.onclick!(e, item) : undefined} class="Item" bind:this={el}>
|
47
49
|
<span class="Content">
|
48
|
-
<
|
50
|
+
<StringOrSnippet content={item.content} />
|
49
51
|
</span>
|
50
52
|
{#if item.shortcut}
|
51
53
|
<span class="Shortcut">{item.shortcut}</span>
|
@@ -57,7 +59,7 @@ function mouseover(e) {
|
|
57
59
|
</div>
|
58
60
|
{:else if isComponent(item.content)}
|
59
61
|
<div class="Item Custom">
|
60
|
-
<
|
62
|
+
<item.content />
|
61
63
|
</div>
|
62
64
|
{/if}
|
63
65
|
{/if}
|
@@ -73,7 +75,7 @@ function mouseover(e) {
|
|
73
75
|
|
74
76
|
li .Item,
|
75
77
|
li .Header {
|
76
|
-
font-size:
|
78
|
+
font-size: var(--font-size, 0.9em);
|
77
79
|
text-align: left;
|
78
80
|
padding-block: 0.5rem;
|
79
81
|
padding-inline: 1rem;
|
@@ -88,13 +90,18 @@ function mouseover(e) {
|
|
88
90
|
--inset-inline: 1rem;
|
89
91
|
}
|
90
92
|
|
93
|
+
li.rounded .Item,
|
94
|
+
li.rounded .Header {
|
95
|
+
border-radius: var(--border-radius);
|
96
|
+
}
|
97
|
+
|
91
98
|
li .Header {
|
92
99
|
font-weight: 600;
|
93
100
|
}
|
94
101
|
|
95
102
|
li:not(.keyboardHasFocus) .Item:not(.Custom):hover,
|
96
103
|
li .Item:not(.Custom):focus-visible {
|
97
|
-
background-color: var(--
|
104
|
+
background-color: var(--bg-hover);
|
98
105
|
cursor: pointer;
|
99
106
|
outline: none;
|
100
107
|
}
|
@@ -1,26 +1,22 @@
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
2
1
|
import type { MenuItem as Item } from "./MenuTypes.js";
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
};
|
13
|
-
slots: {};
|
14
|
-
};
|
15
|
-
export type MenuItemProps = typeof __propDef.props;
|
16
|
-
export type MenuItemEvents = typeof __propDef.events;
|
17
|
-
export type MenuItemSlots = typeof __propDef.slots;
|
18
|
-
export default class MenuItem extends SvelteComponent<MenuItemProps, MenuItemEvents, MenuItemSlots> {
|
19
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
20
|
-
item: Item;
|
21
|
-
index: number;
|
22
|
-
onmouseover?: ((e: MouseEvent, item: Item, index: number) => void) | undefined;
|
23
|
-
keyboardHasFocus?: boolean | undefined;
|
24
|
-
}>);
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
4
|
+
$$bindings?: Bindings;
|
5
|
+
} & Exports;
|
6
|
+
(internal: unknown, props: Props & {
|
7
|
+
$$events?: Events;
|
8
|
+
$$slots?: Slots;
|
9
|
+
}): Exports;
|
10
|
+
z_$$bindings?: Bindings;
|
25
11
|
}
|
26
|
-
|
12
|
+
declare const MenuItem: $$__sveltets_2_IsomorphicComponent<{
|
13
|
+
item: Item;
|
14
|
+
index: number;
|
15
|
+
onmouseover?: (e: MouseEvent, item: Item, index: number) => void;
|
16
|
+
keyboardHasFocus?: boolean;
|
17
|
+
shape?: "rounded" | "square" | "pill";
|
18
|
+
}, {
|
19
|
+
[evt: string]: CustomEvent<any>;
|
20
|
+
}, {}, {}, "">;
|
21
|
+
type MenuItem = InstanceType<typeof MenuItem>;
|
22
|
+
export default MenuItem;
|