diff --git a/src/lib/components/ui/Button.svelte b/src/lib/components/ui/Button.svelte
index 7e4d6b6b..00123578 100644
--- a/src/lib/components/ui/Button.svelte
+++ b/src/lib/components/ui/Button.svelte
@@ -15,6 +15,8 @@
contained?: boolean
/** Element color theme */
element?: 'wind' | 'fire' | 'water' | 'earth' | 'dark' | 'light'
+ /** Use element styling (overrides variant colors) */
+ elementStyle?: boolean
/** Whether button is active */
active?: boolean
/** Save button behavior */
@@ -56,6 +58,7 @@
size = 'medium',
contained = false,
element,
+ elementStyle = false,
active = false,
save = false,
saved = false,
@@ -77,7 +80,6 @@
// Normalize shape aliases
const normalizedShape = $derived(shape === 'circle' ? 'circular' : shape)
- const renderAs = $derived(as ? as : href ? 'a' : 'button')
const iconSizes = {
icon: 16,
@@ -93,6 +95,7 @@
size,
contained && 'contained',
element,
+ elementStyle && element && 'element-styled',
active && 'active',
save && 'save',
saved && 'saved',
@@ -110,74 +113,35 @@
const hasRightIcon = $derived(icon && iconPosition === 'right')
-{#if renderAs === 'button'}
-
- {#if leftAccessory}
-
- {@render leftAccessory()}
-
- {:else if hasLeftIcon && !iconOnly}
-
-
-
- {/if}
-
- {#if children && !iconOnly}
-
- {@render children()}
-
- {:else if iconOnly && icon}
+
+ {#if leftAccessory}
+
+ {@render leftAccessory()}
+
+ {:else if hasLeftIcon && !iconOnly}
+
- {/if}
+
+ {/if}
- {#if rightAccessory}
-
- {@render rightAccessory()}
-
- {:else if hasRightIcon && !iconOnly}
-
-
-
- {/if}
-
-{:else}
-
- {#if leftAccessory}
-
- {@render leftAccessory()}
-
- {:else if hasLeftIcon && !iconOnly}
-
-
-
- {/if}
+ {#if children && !iconOnly}
+
+ {@render children()}
+
+ {:else if iconOnly && icon}
+
+ {/if}
- {#if children && !iconOnly}
-
- {@render children()}
-
- {:else if iconOnly && icon}
+ {#if rightAccessory}
+
+ {@render rightAccessory()}
+
+ {:else if hasRightIcon && !iconOnly}
+
- {/if}
-
- {#if rightAccessory}
-
- {@render rightAccessory()}
-
- {:else if hasRightIcon && !iconOnly}
-
-
-
- {/if}
-
-{/if}
+
+ {/if}
+