diff --git a/src/lib/ui/Button.svelte b/src/lib/ui/Button.svelte
index 788828f..91039e5 100644
--- a/src/lib/ui/Button.svelte
+++ b/src/lib/ui/Button.svelte
@@ -5,62 +5,62 @@
const dispatch = createEventDispatcher();
+ let className = "";
+ export { className as class };
export let active = false;
export let filled = false;
export let disabled = false;
export let centered = false;
export let label = undefined;
export let sound = "default";
- export let href = false;
+ export let href = undefined;
+ export let onClick = undefined;
let classes = [];
function click() {
if (disabled) return;
- if (href) {
- const link = document.createElement('a');
- link.href = href;
- link.dispatchEvent(new MouseEvent('click', {
- bubbles: true,
- cancelable: true,
- view: window,
- ctrlKey: event.ctrlKey,
- metaKey: event.metaKey,
- shiftKey: event.shiftKey,
- altKey: event.altKey,
- button: event.button,
- }));
- return;
- }
-
playSound(sound);
dispatch('click');
}
afterUpdate(() => {
- classes = [];
- if (active) classes = ["active"];
- if (filled) classes = ["filled"];
- if (disabled) classes = ["disabled"];
+ classes = className.split(' ');
+ if (active) classes.push("active");
+ if (filled) classes.push("filled");
+ if (disabled) classes.push("disabled");
if (centered) classes.push("centered");
});
-
+{#if href}
+ click()}>
+
+
+
+
+
+{:else}
+
+{/if}