@axium/server 0.22.7 → 0.22.8
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/build/client/_app/immutable/chunks/{B4jrgZ2v.js → Dv2cmqMg.js} +1 -1
- package/build/client/_app/immutable/chunks/Dv2cmqMg.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dv2cmqMg.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.CI36K0Ii.js → app.DBx5Wo_5.js} +2 -2
- package/build/client/_app/immutable/entry/app.DBx5Wo_5.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DBx5Wo_5.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.Bw8nbIFU.js +1 -0
- package/build/client/_app/immutable/entry/start.Bw8nbIFU.js.br +2 -0
- package/build/client/_app/immutable/entry/start.Bw8nbIFU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.C41FMzGJ.js → 1.DRBCZnVN.js} +1 -1
- package/build/client/_app/immutable/nodes/1.DRBCZnVN.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.DRBCZnVN.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{1-DLB141jg.js → 1-BPFgHQsA.js} +2 -2
- package/build/server/chunks/{1-DLB141jg.js.map → 1-BPFgHQsA.js.map} +1 -1
- package/build/server/chunks/{hooks.server-DUHg5UuJ.js → hooks.server-C8DAZtT_.js} +2 -2
- package/build/server/chunks/{hooks.server-DUHg5UuJ.js.map → hooks.server-C8DAZtT_.js.map} +1 -1
- package/build/server/index.js +2 -2
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +2 -2
- package/build/server/manifest.js.map +1 -1
- package/package.json +2 -4
- package/routes/account/+page.svelte +1 -1
- package/routes/login/+page.svelte +1 -1
- package/routes/logout/+page.svelte +1 -1
- package/routes/register/+page.svelte +1 -1
- package/svelte.config.js +0 -1
- package/build/client/_app/immutable/chunks/B4jrgZ2v.js.br +0 -0
- package/build/client/_app/immutable/chunks/B4jrgZ2v.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CI36K0Ii.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CI36K0Ii.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CChz4wnJ.js +0 -1
- package/build/client/_app/immutable/entry/start.CChz4wnJ.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CChz4wnJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.C41FMzGJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.C41FMzGJ.js.gz +0 -0
- package/web/lib/AccessControl.svelte +0 -37
- package/web/lib/AccessControlDialog.svelte +0 -12
- package/web/lib/AppMenu.svelte +0 -34
- package/web/lib/ClipboardCopy.svelte +0 -42
- package/web/lib/Dialog.svelte +0 -51
- package/web/lib/FormDialog.svelte +0 -96
- package/web/lib/Icon.svelte +0 -18
- package/web/lib/Login.svelte +0 -36
- package/web/lib/Logout.svelte +0 -24
- package/web/lib/NumberBar.svelte +0 -31
- package/web/lib/Popover.svelte +0 -46
- package/web/lib/Register.svelte +0 -32
- package/web/lib/Toast.svelte +0 -35
- package/web/lib/Upload.svelte +0 -60
- package/web/lib/UserCard.svelte +0 -48
- package/web/lib/WithContextMenu.svelte +0 -73
- package/web/lib/index.ts +0 -16
package/web/lib/Upload.svelte
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { forMime } from '@axium/core/icons';
|
|
3
|
-
import type { HTMLInputAttributes } from 'svelte/elements';
|
|
4
|
-
import Icon from './Icon.svelte';
|
|
5
|
-
|
|
6
|
-
let {
|
|
7
|
-
name = 'files',
|
|
8
|
-
input = $bindable(),
|
|
9
|
-
files = $bindable(),
|
|
10
|
-
...rest
|
|
11
|
-
}: HTMLInputAttributes & { input?: HTMLInputElement } = $props();
|
|
12
|
-
|
|
13
|
-
const id = $props.id();
|
|
14
|
-
</script>
|
|
15
|
-
|
|
16
|
-
<div>
|
|
17
|
-
<label for={id} class={[files?.length && 'file']}>
|
|
18
|
-
{#each files! as file}
|
|
19
|
-
<Icon i={forMime(file.type)} />
|
|
20
|
-
<span>{file.name}</span>
|
|
21
|
-
<button
|
|
22
|
-
onclick={e => {
|
|
23
|
-
e.preventDefault();
|
|
24
|
-
const dt = new DataTransfer();
|
|
25
|
-
for (let f of files!) if (file !== f) dt.items.add(f);
|
|
26
|
-
input!.files = files = dt.files;
|
|
27
|
-
}}
|
|
28
|
-
style:display="contents"
|
|
29
|
-
>
|
|
30
|
-
<Icon i="trash" />
|
|
31
|
-
</button>
|
|
32
|
-
{:else}
|
|
33
|
-
<Icon i="upload" /> Upload
|
|
34
|
-
{/each}
|
|
35
|
-
</label>
|
|
36
|
-
|
|
37
|
-
<input bind:this={input} bind:files {name} {id} type="file" {...rest} />
|
|
38
|
-
</div>
|
|
39
|
-
|
|
40
|
-
<style>
|
|
41
|
-
input {
|
|
42
|
-
display: none;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
label {
|
|
46
|
-
padding: 0.5em 1em;
|
|
47
|
-
border: 1px solid #cccc;
|
|
48
|
-
cursor: pointer;
|
|
49
|
-
display: flex;
|
|
50
|
-
align-items: center;
|
|
51
|
-
gap: 0.5em;
|
|
52
|
-
border-radius: 0.5em;
|
|
53
|
-
width: 20em;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
label.file {
|
|
57
|
-
display: grid;
|
|
58
|
-
grid-template-columns: 2em 1fr 2em;
|
|
59
|
-
}
|
|
60
|
-
</style>
|
package/web/lib/UserCard.svelte
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import type { User } from '@axium/core/user';
|
|
3
|
-
import { getUserImage } from '@axium/core';
|
|
4
|
-
|
|
5
|
-
const {
|
|
6
|
-
user,
|
|
7
|
-
compact = false,
|
|
8
|
-
self = false,
|
|
9
|
-
href = `/users/${user.id}`,
|
|
10
|
-
you = false,
|
|
11
|
-
}: {
|
|
12
|
-
user: Partial<User>;
|
|
13
|
-
/** If true, don't show the picture */
|
|
14
|
-
compact?: boolean;
|
|
15
|
-
/** Whether the user is viewing their own profile */
|
|
16
|
-
self?: boolean;
|
|
17
|
-
/** The URL to link to */
|
|
18
|
-
href?: string;
|
|
19
|
-
/** Whether to display a "You" label if `self` */
|
|
20
|
-
you?: boolean;
|
|
21
|
-
} = $props();
|
|
22
|
-
</script>
|
|
23
|
-
|
|
24
|
-
<a class={['User', self && 'self']} {href}>
|
|
25
|
-
{#if !compact}
|
|
26
|
-
<img src={getUserImage(user)} alt={user.name} />
|
|
27
|
-
{/if}
|
|
28
|
-
{user.name}
|
|
29
|
-
{#if self && you}
|
|
30
|
-
<span class="subtle">(You)</span>
|
|
31
|
-
{/if}
|
|
32
|
-
</a>
|
|
33
|
-
|
|
34
|
-
<style>
|
|
35
|
-
.User {
|
|
36
|
-
cursor: pointer;
|
|
37
|
-
width: max-content;
|
|
38
|
-
height: max-content;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
img {
|
|
42
|
-
width: 2em;
|
|
43
|
-
height: 2em;
|
|
44
|
-
border-radius: 50%;
|
|
45
|
-
vertical-align: middle;
|
|
46
|
-
margin-right: 0.5em;
|
|
47
|
-
}
|
|
48
|
-
</style>
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
-
import Icon from './Icon.svelte';
|
|
4
|
-
|
|
5
|
-
interface Props extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
-
children(): any;
|
|
7
|
-
menu(
|
|
8
|
-
/**
|
|
9
|
-
* Shortcut to quickly create a generic action in the context menu.
|
|
10
|
-
*/
|
|
11
|
-
action: (icon: string, text: string, action: (event: MouseEvent) => void) => any
|
|
12
|
-
): any;
|
|
13
|
-
actions: Record<string, () => void>;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
let { children, menu, actions, ...rest }: Props = $props();
|
|
17
|
-
|
|
18
|
-
let popover = $state<HTMLDivElement>();
|
|
19
|
-
|
|
20
|
-
function oncontextmenu(e: MouseEvent) {
|
|
21
|
-
e.preventDefault();
|
|
22
|
-
e.stopPropagation();
|
|
23
|
-
popover!.togglePopover();
|
|
24
|
-
_forcePopover = true;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
let _forcePopover = false;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Workaround for https://github.com/whatwg/html/issues/10905
|
|
31
|
-
* @todo Remove when the problem is fixed.
|
|
32
|
-
*/
|
|
33
|
-
function onpointerup(e: PointerEvent) {
|
|
34
|
-
if (!_forcePopover) return;
|
|
35
|
-
e.stopPropagation();
|
|
36
|
-
e.preventDefault();
|
|
37
|
-
popover!.togglePopover();
|
|
38
|
-
_forcePopover = false;
|
|
39
|
-
}
|
|
40
|
-
</script>
|
|
41
|
-
|
|
42
|
-
{#snippet action(i: string, text: string, action: (event: MouseEvent) => void)}
|
|
43
|
-
<div
|
|
44
|
-
onclick={e => {
|
|
45
|
-
e.stopPropagation();
|
|
46
|
-
e.preventDefault();
|
|
47
|
-
action(e);
|
|
48
|
-
}}
|
|
49
|
-
class="action"
|
|
50
|
-
>
|
|
51
|
-
{#if i}<Icon {i} --size="14px" />{/if}
|
|
52
|
-
{text}
|
|
53
|
-
</div>
|
|
54
|
-
{/snippet}
|
|
55
|
-
|
|
56
|
-
<div data-axium-context-menu {oncontextmenu} {onpointerup} {...rest}>
|
|
57
|
-
{@render children()}
|
|
58
|
-
<div popover bind:this={popover}>
|
|
59
|
-
{@render menu(action)}
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
62
|
-
|
|
63
|
-
<style>
|
|
64
|
-
[data-axium-context-menu] {
|
|
65
|
-
display: contents;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
div.action:hover {
|
|
69
|
-
cursor: pointer;
|
|
70
|
-
background-color: #223;
|
|
71
|
-
border-radius: 0.25em;
|
|
72
|
-
}
|
|
73
|
-
</style>
|
package/web/lib/index.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export { default as AccessControl } from './AccessControl.svelte';
|
|
2
|
-
export { default as AccessControlDialog } from './AccessControlDialog.svelte';
|
|
3
|
-
export { default as AppMenu } from './AppMenu.svelte';
|
|
4
|
-
export { default as ClipboardCopy } from './ClipboardCopy.svelte';
|
|
5
|
-
export { default as Dialog } from './Dialog.svelte';
|
|
6
|
-
export { default as FormDialog } from './FormDialog.svelte';
|
|
7
|
-
export { default as Icon } from './Icon.svelte';
|
|
8
|
-
export { default as Login } from './Login.svelte';
|
|
9
|
-
export { default as Logout } from './Logout.svelte';
|
|
10
|
-
export { default as NumberBar } from './NumberBar.svelte';
|
|
11
|
-
export { default as Popover } from './Popover.svelte';
|
|
12
|
-
export { default as Register } from './Register.svelte';
|
|
13
|
-
export { default as Toast } from './Toast.svelte';
|
|
14
|
-
export { default as Upload } from './Upload.svelte';
|
|
15
|
-
export { default as UserCard } from './UserCard.svelte';
|
|
16
|
-
export { default as WithContextMenu } from './WithContextMenu.svelte';
|