lutra 0.0.19 → 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 -16
- 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
@@ -0,0 +1,19 @@
|
|
1
|
+
import { type Snippet } from "svelte";
|
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;
|
11
|
+
}
|
12
|
+
declare const Panel: $$__sveltets_2_IsomorphicComponent<{
|
13
|
+
children: Snippet;
|
14
|
+
z?: 0 | 1 | 2 | 3;
|
15
|
+
}, {
|
16
|
+
[evt: string]: CustomEvent<any>;
|
17
|
+
}, {}, {}, "">;
|
18
|
+
type Panel = InstanceType<typeof Panel>;
|
19
|
+
export default Panel;
|
@@ -1,30 +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 PopupProps = typeof __propDef.props;
|
16
|
-
export type PopupEvents = typeof __propDef.events;
|
17
|
-
export type PopupSlots = typeof __propDef.slots;
|
18
|
-
export default class Popup extends SvelteComponent<PopupProps, PopupEvents, PopupSlots> {
|
19
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
20
|
-
content: (this: void, close: () => void) => typeof import("svelte").SnippetReturn & {
|
21
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
22
|
-
};
|
23
|
-
trigger: (this: void, attrs: (node: Element) => void) => typeof import("svelte").SnippetReturn & {
|
24
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
25
|
-
};
|
26
|
-
hover?: boolean | undefined;
|
27
|
-
shape?: "rounded" | "sharp" | undefined;
|
28
|
-
}>);
|
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;
|
29
11
|
}
|
30
|
-
|
12
|
+
declare const Popup: $$__sveltets_2_IsomorphicComponent<{
|
13
|
+
/** The content of the popup */
|
14
|
+
content: Snippet<[close: () => void]>;
|
15
|
+
/** Snippet containing the trigger element */
|
16
|
+
trigger: Snippet<[attrs: (node: Element) => void]>;
|
17
|
+
/** Triggers the popup on hover (and keyboard focus) instead of click */
|
18
|
+
hover?: boolean;
|
19
|
+
/** The shape of the popup */
|
20
|
+
shape?: "rounded" | "sharp";
|
21
|
+
}, {
|
22
|
+
[evt: string]: CustomEvent<any>;
|
23
|
+
}, {}, {}, "">;
|
24
|
+
type Popup = InstanceType<typeof Popup>;
|
25
|
+
export default Popup;
|
@@ -8,26 +8,22 @@ let {
|
|
8
8
|
color,
|
9
9
|
formatter
|
10
10
|
} = $props();
|
11
|
+
let Prefix = prefix;
|
12
|
+
let Suffix = suffix;
|
11
13
|
let colorVar = $derived(getStatusColorVar(color, "var(--bg-app)"));
|
12
14
|
let _value = $derived.by(() => {
|
13
15
|
if (typeof value === "number" && formatter?.constructor === Intl.NumberFormat) {
|
14
|
-
console.log("value is number and formatter is object");
|
15
16
|
return formatter.format(value);
|
16
17
|
} else if (value instanceof Date && formatter?.constructor === Intl.DateTimeFormat) {
|
17
|
-
console.log("value is date and formatter is object");
|
18
18
|
return formatter.format(value);
|
19
19
|
} else if (typeof value === "number") {
|
20
|
-
console.log("value is number");
|
21
20
|
return value.toLocaleString();
|
22
21
|
} else if (typeof value === "string") {
|
23
|
-
console.log("value is string");
|
24
22
|
return value;
|
25
23
|
} else if (value instanceof Date) {
|
26
|
-
console.log("value is date");
|
27
24
|
return value.toLocaleDateString();
|
28
25
|
}
|
29
26
|
if (typeof formatter === "function") {
|
30
|
-
console.log("formatter is function");
|
31
27
|
return formatter(value);
|
32
28
|
}
|
33
29
|
return value;
|
@@ -35,9 +31,6 @@ let _value = $derived.by(() => {
|
|
35
31
|
</script>
|
36
32
|
|
37
33
|
<section class="Stat" style="--bgColor: {colorVar};">
|
38
|
-
{#if title}
|
39
|
-
<header>{title}</header>
|
40
|
-
{/if}
|
41
34
|
<main>
|
42
35
|
{#if prefix}
|
43
36
|
{#if typeof prefix === "string"}
|
@@ -45,7 +38,7 @@ let _value = $derived.by(() => {
|
|
45
38
|
{:else if isSnippet(prefix)}
|
46
39
|
{@render prefix()}
|
47
40
|
{:else}
|
48
|
-
<
|
41
|
+
<Prefix />
|
49
42
|
{/if}
|
50
43
|
{/if}
|
51
44
|
{_value}
|
@@ -55,10 +48,13 @@ let _value = $derived.by(() => {
|
|
55
48
|
{:else if isSnippet(suffix)}
|
56
49
|
{@render suffix()}
|
57
50
|
{:else}
|
58
|
-
<
|
51
|
+
<Suffix />
|
59
52
|
{/if}
|
60
53
|
{/if}
|
61
54
|
</main>
|
55
|
+
{#if title}
|
56
|
+
<header>{title}</header>
|
57
|
+
{/if}
|
62
58
|
</section>
|
63
59
|
|
64
60
|
<style>
|
@@ -68,22 +64,18 @@ let _value = $derived.by(() => {
|
|
68
64
|
align-items: center;
|
69
65
|
gap: 0.75rem;
|
70
66
|
padding: 1rem;
|
71
|
-
margin-inline: -1rem;
|
72
|
-
margin-block: -1rem;
|
73
67
|
background-color: var(--bgColor);
|
74
68
|
}
|
75
69
|
header {
|
76
70
|
font-size: max(0.9em, 11px);
|
77
71
|
font-weight: 500;
|
78
72
|
opacity: 0.75;
|
79
|
-
color: var(--
|
80
|
-
filter: url(#bwFilter);
|
73
|
+
color: var(--color, var(--text));
|
81
74
|
}
|
82
75
|
main {
|
83
76
|
font-size: 1.5em;
|
84
77
|
opacity: 0.95;
|
85
78
|
font-weight: 700;
|
86
|
-
color: var(--
|
87
|
-
filter: url(#bwFilter);
|
79
|
+
color: var(--color, var(--text));
|
88
80
|
}
|
89
81
|
</style>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import type { Component, Snippet } from "svelte";
|
2
|
+
import { type StatusColorOrString } from "../utils/color.js";
|
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;
|
12
|
+
}
|
13
|
+
declare const Stat: $$__sveltets_2_IsomorphicComponent<{
|
14
|
+
/** The title of the stat. */
|
15
|
+
title?: string;
|
16
|
+
/** The value to display. */
|
17
|
+
value?: number | string | Date;
|
18
|
+
/** The prefix to display before the value. Can be a string, a URL, a Snippet, or a Svelte component. */
|
19
|
+
prefix?: string | Snippet | Component;
|
20
|
+
/** The suffix to display after the value. Can be a string, a URL, a Snippet, or a Svelte component. */
|
21
|
+
suffix?: string | Snippet | Component;
|
22
|
+
/** The color of the stat. */
|
23
|
+
color?: StatusColorOrString;
|
24
|
+
/** A function to format the value. Can be an [Intl.NumberFormat object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat), an [Intl.DateTimeFormat object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat), or a function that takes in a value and returns a string. */
|
25
|
+
formatter?: ((value: number | string | Date | undefined) => string) | Intl.NumberFormat | Intl.DateTimeFormat;
|
26
|
+
}, {
|
27
|
+
[evt: string]: CustomEvent<any>;
|
28
|
+
}, {}, {}, "">;
|
29
|
+
type Stat = InstanceType<typeof Stat>;
|
30
|
+
export default Stat;
|
@@ -9,16 +9,20 @@
|
|
9
9
|
} = $props();
|
10
10
|
</script>
|
11
11
|
|
12
|
-
<
|
13
|
-
class
|
12
|
+
<div
|
13
|
+
class="table-container"
|
14
|
+
class:hang
|
14
15
|
class:contained
|
15
16
|
class:rounded
|
16
|
-
class:hang
|
17
|
-
class:fullWidth
|
18
|
-
class:hoverable
|
19
17
|
>
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
18
|
+
<table
|
19
|
+
class:colored
|
20
|
+
class:contained
|
21
|
+
class:rounded
|
22
|
+
class:hang
|
23
|
+
class:fullWidth
|
24
|
+
class:hoverable
|
25
|
+
>
|
26
|
+
{@render children()}
|
27
|
+
</table>
|
28
|
+
</div>
|
@@ -1,34 +1,24 @@
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
2
1
|
import type { Snippet } from "svelte";
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
};
|
13
|
-
events: {
|
14
|
-
[evt: string]: CustomEvent<any>;
|
15
|
-
};
|
16
|
-
slots: {};
|
17
|
-
};
|
18
|
-
export type TableProps = typeof __propDef.props;
|
19
|
-
export type TableEvents = typeof __propDef.events;
|
20
|
-
export type TableSlots = typeof __propDef.slots;
|
21
|
-
export default class Table extends SvelteComponent<TableProps, TableEvents, TableSlots> {
|
22
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
23
|
-
colored?: boolean | undefined;
|
24
|
-
contained?: boolean | undefined;
|
25
|
-
rounded?: boolean | undefined;
|
26
|
-
hang?: boolean | undefined;
|
27
|
-
hoverable?: boolean | undefined;
|
28
|
-
fullWidth?: boolean | undefined;
|
29
|
-
children: (this: void) => typeof import("svelte").SnippetReturn & {
|
30
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
31
|
-
};
|
32
|
-
}>);
|
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;
|
33
11
|
}
|
34
|
-
|
12
|
+
declare const Table: $$__sveltets_2_IsomorphicComponent<{
|
13
|
+
colored?: boolean;
|
14
|
+
contained?: boolean;
|
15
|
+
rounded?: boolean;
|
16
|
+
hang?: boolean;
|
17
|
+
hoverable?: boolean;
|
18
|
+
fullWidth?: boolean;
|
19
|
+
children: Snippet;
|
20
|
+
}, {
|
21
|
+
[evt: string]: CustomEvent<any>;
|
22
|
+
}, {}, {}, "">;
|
23
|
+
type Table = InstanceType<typeof Table>;
|
24
|
+
export default Table;
|
@@ -0,0 +1,51 @@
|
|
1
|
+
<script lang="ts">let {
|
2
|
+
total,
|
3
|
+
perPage,
|
4
|
+
perPageOptions = [50, 100, 250],
|
5
|
+
currentPage,
|
6
|
+
onPageChange
|
7
|
+
} = $props();
|
8
|
+
</script>
|
9
|
+
|
10
|
+
<div class="TablePaginator">
|
11
|
+
<div class="TablePaginator__PerPage">
|
12
|
+
<label for="perPage">Per Page</label>
|
13
|
+
<select
|
14
|
+
id="perPage"
|
15
|
+
onchange={() => onPageChange(1)}
|
16
|
+
>
|
17
|
+
{#each perPageOptions as option}
|
18
|
+
<option value={option}>{option}</option>
|
19
|
+
{/each}
|
20
|
+
</select>
|
21
|
+
</div>
|
22
|
+
<div class="TablePaginator__Page">
|
23
|
+
<button
|
24
|
+
disabled={currentPage === 1}
|
25
|
+
onclick={() => onPageChange(currentPage - 1)}
|
26
|
+
>
|
27
|
+
Previous
|
28
|
+
</button>
|
29
|
+
<span>Page {currentPage} of {Math.ceil(total / perPage)}</span>
|
30
|
+
<button
|
31
|
+
disabled={currentPage === Math.ceil(total / perPage)}
|
32
|
+
onclick={() => onPageChange(currentPage + 1)}
|
33
|
+
>
|
34
|
+
Next
|
35
|
+
</button>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<style>
|
40
|
+
.TablePaginator {
|
41
|
+
display: grid;
|
42
|
+
grid-template-columns: auto auto;
|
43
|
+
gap: 1em;
|
44
|
+
align-items: center;
|
45
|
+
justify-content: space-between;
|
46
|
+
}
|
47
|
+
.TablePaginator > * {
|
48
|
+
display: flex;
|
49
|
+
align-items: center;
|
50
|
+
}
|
51
|
+
</style>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
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> {
|
2
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
3
|
+
$$bindings?: Bindings;
|
4
|
+
} & Exports;
|
5
|
+
(internal: unknown, props: Props & {
|
6
|
+
$$events?: Events;
|
7
|
+
$$slots?: Slots;
|
8
|
+
}): Exports;
|
9
|
+
z_$$bindings?: Bindings;
|
10
|
+
}
|
11
|
+
declare const TablePaginator: $$__sveltets_2_IsomorphicComponent<{
|
12
|
+
total: number;
|
13
|
+
perPage: number;
|
14
|
+
perPageOptions?: number[];
|
15
|
+
currentPage: number;
|
16
|
+
onPageChange: (page: number) => void;
|
17
|
+
}, {
|
18
|
+
[evt: string]: CustomEvent<any>;
|
19
|
+
}, {}, {}, "">;
|
20
|
+
type TablePaginator = InstanceType<typeof TablePaginator>;
|
21
|
+
export default TablePaginator;
|
@@ -1,35 +1,32 @@
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
2
1
|
import type { Snippet } from "svelte";
|
3
2
|
import type { StatusColorOrString } from '../utils/color.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 TagProps = typeof __propDef.props;
|
20
|
-
export type TagEvents = typeof __propDef.events;
|
21
|
-
export type TagSlots = typeof __propDef.slots;
|
22
|
-
export default class Tag extends SvelteComponent<TagProps, TagEvents, TagSlots> {
|
23
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
24
|
-
code?: boolean | undefined;
|
25
|
-
color?: StatusColorOrString | undefined;
|
26
|
-
shape?: "rounded" | "pill" | "rectangle" | undefined;
|
27
|
-
onclick?: ((event: MouseEvent) => void) | undefined;
|
28
|
-
href?: string | undefined;
|
29
|
-
target?: string | undefined;
|
30
|
-
children: (this: void) => typeof import("svelte").SnippetReturn & {
|
31
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
32
|
-
};
|
33
|
-
}>);
|
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;
|
34
12
|
}
|
35
|
-
|
13
|
+
declare const Tag: $$__sveltets_2_IsomorphicComponent<{
|
14
|
+
/** Use a mono-spaced font for the tag. */
|
15
|
+
code?: boolean;
|
16
|
+
/** The color of the tag. */
|
17
|
+
color?: StatusColorOrString;
|
18
|
+
/** The shape of the tag. */
|
19
|
+
shape?: "rounded" | "pill" | "rectangle";
|
20
|
+
/** A function to run when the tag is clicked. */
|
21
|
+
onclick?: (event: MouseEvent) => void;
|
22
|
+
/** A URL to link to. */
|
23
|
+
href?: string;
|
24
|
+
/** The target of the link. */
|
25
|
+
target?: string;
|
26
|
+
/** The content of the tag. */
|
27
|
+
children: Snippet;
|
28
|
+
}, {
|
29
|
+
[evt: string]: CustomEvent<any>;
|
30
|
+
}, {}, {}, "">;
|
31
|
+
type Tag = InstanceType<typeof Tag>;
|
32
|
+
export default Tag;
|
@@ -5,12 +5,13 @@ let {
|
|
5
5
|
open
|
6
6
|
} = $props();
|
7
7
|
const id = `tt-${Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15)}`;
|
8
|
+
let offsetX = $state(0);
|
8
9
|
</script>
|
9
10
|
|
10
11
|
<span class="Tooltip" class:open>
|
11
12
|
<span class="TooltipContainer" role="tooltip">
|
12
13
|
<Theme theme="invert">
|
13
|
-
<span class="TooltipContent" id={id}>
|
14
|
+
<span class="TooltipContent" id={id} style="left: {offsetX}px;">
|
14
15
|
{#if typeof tip === "string"}
|
15
16
|
{@html tip}
|
16
17
|
{:else}
|
@@ -51,7 +52,7 @@ const id = `tt-${Math.random().toString(36).substring(2, 15) + Math.random().toS
|
|
51
52
|
}
|
52
53
|
.TooltipContent {
|
53
54
|
background-color: var(--bg-app);
|
54
|
-
padding: 0.
|
55
|
+
padding: 0.35rem 0.5rem;
|
55
56
|
border-radius: calc(var(--border-radius));
|
56
57
|
border-top: var(--border-subtle);
|
57
58
|
border-left: var(--border-subtle);
|
@@ -60,8 +61,8 @@ const id = `tt-${Math.random().toString(36).substring(2, 15) + Math.random().toS
|
|
60
61
|
font-size: max(0.75rem, 11px);
|
61
62
|
line-height: 1.35;
|
62
63
|
font-weight: 500;
|
63
|
-
color: var(--text);
|
64
|
-
max-width: clamp(
|
64
|
+
color: var(--text-heading);
|
65
|
+
max-width: clamp(25ch, 100%, 25ch);
|
65
66
|
width: max-content;
|
66
67
|
}
|
67
68
|
.TooltipContent :global(code) {
|
@@ -1,28 +1,23 @@
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
2
1
|
import type { Snippet } from "svelte";
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
slots: {};
|
13
|
-
};
|
14
|
-
export type TooltipProps = typeof __propDef.props;
|
15
|
-
export type TooltipEvents = typeof __propDef.events;
|
16
|
-
export type TooltipSlots = typeof __propDef.slots;
|
17
|
-
export default class Tooltip extends SvelteComponent<TooltipProps, TooltipEvents, TooltipSlots> {
|
18
|
-
constructor(options?: import("svelte").ComponentConstructorOptions<{
|
19
|
-
children: (this: void) => typeof import("svelte").SnippetReturn & {
|
20
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
21
|
-
};
|
22
|
-
tip: string | ((this: void) => typeof import("svelte").SnippetReturn & {
|
23
|
-
_: "functions passed to {@render ...} tags must use the `Snippet` type imported from \"svelte\"";
|
24
|
-
});
|
25
|
-
open?: 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 Tooltip: $$__sveltets_2_IsomorphicComponent<{
|
13
|
+
/** Content to trigger the tooltip */
|
14
|
+
children: Snippet;
|
15
|
+
/** The content of the tooltip */
|
16
|
+
tip: string | Snippet;
|
17
|
+
/** Open the tooltip on render (cannot be closed) */
|
18
|
+
open?: boolean;
|
19
|
+
}, {
|
20
|
+
[evt: string]: CustomEvent<any>;
|
21
|
+
}, {}, {}, "">;
|
22
|
+
type Tooltip = InstanceType<typeof Tooltip>;
|
23
|
+
export default Tooltip;
|
@@ -0,0 +1,78 @@
|
|
1
|
+
export interface ChartDataSet {
|
2
|
+
values: number[];
|
3
|
+
}
|
4
|
+
export interface ChartData {
|
5
|
+
labels: string[];
|
6
|
+
values: number[];
|
7
|
+
}
|
8
|
+
export declare function scale(domain: number[], range: number[]): (num: number) => number;
|
9
|
+
export declare function makeScale(numbers: number[], itemsToReturn: number): number[];
|
10
|
+
export declare function getShortKValue(num: number): string;
|
11
|
+
export type PointData = {
|
12
|
+
p1: {
|
13
|
+
x: number;
|
14
|
+
y: number;
|
15
|
+
};
|
16
|
+
p2: {
|
17
|
+
x: number;
|
18
|
+
y: number;
|
19
|
+
};
|
20
|
+
bp1: {
|
21
|
+
x: number;
|
22
|
+
y: number;
|
23
|
+
};
|
24
|
+
bp2: {
|
25
|
+
x: number;
|
26
|
+
y: number;
|
27
|
+
};
|
28
|
+
};
|
29
|
+
/**
|
30
|
+
* Interpolates a Catmull-Rom Spline through a series of x/y points
|
31
|
+
* Converts the CR Spline to Cubic Beziers for use with SVG items
|
32
|
+
*
|
33
|
+
* If 'alpha' is 0.5 then the 'Centripetal' variant is used
|
34
|
+
* If 'alpha' is 1 then the 'Chordal' variant is used
|
35
|
+
*
|
36
|
+
* @param {Array} data - Array of points, each point in object literal holding x/y values
|
37
|
+
* @return {String} d - SVG string with cubic bezier curves representing the Catmull-Rom Spline
|
38
|
+
*/
|
39
|
+
export declare function catmullRomBase(data: {
|
40
|
+
x: number;
|
41
|
+
y: number;
|
42
|
+
}[], alpha: number): PointData[];
|
43
|
+
/**
|
44
|
+
* Returns the SVG path for Catmull-Rom spline interpolation
|
45
|
+
*/
|
46
|
+
export declare function catmullRomToSVG(pointsData: PointData[], alpha: number, firstValue: {
|
47
|
+
x: number;
|
48
|
+
y: number;
|
49
|
+
}): string | false;
|
50
|
+
/**
|
51
|
+
* Returns the Y coordinate for the given X value on the Catmull-Rom spline
|
52
|
+
*/
|
53
|
+
export declare function catmullRomGetY(pointsData: PointData[], alpha: number, xValue: number, yPadding: number): number | false | undefined;
|
54
|
+
/**
|
55
|
+
* Linear interpolation helper function
|
56
|
+
*/
|
57
|
+
export declare function lerp(point1: {
|
58
|
+
x: number;
|
59
|
+
y: number;
|
60
|
+
}, point2: {
|
61
|
+
x: number;
|
62
|
+
y: number;
|
63
|
+
}, t: number): {
|
64
|
+
x: number;
|
65
|
+
y: number;
|
66
|
+
};
|
67
|
+
export declare function getSVGSize(svg: SVGSVGElement): {
|
68
|
+
innerWidth: number;
|
69
|
+
innerHeight: number;
|
70
|
+
width: number;
|
71
|
+
height: number;
|
72
|
+
padding: {
|
73
|
+
left: number;
|
74
|
+
right: number;
|
75
|
+
top: number;
|
76
|
+
bottom: number;
|
77
|
+
};
|
78
|
+
};
|