WIP
This commit is contained in:
@@ -1,15 +1,24 @@
|
||||
<script>
|
||||
export let href
|
||||
export let type
|
||||
export let href = '#'
|
||||
export let type = 'a'
|
||||
export let className = 'button'
|
||||
export let text = ''
|
||||
|
||||
// Transformed text into spans
|
||||
const textSpans = text
|
||||
.replace(/(<.*?>)|(.)/g, letter => letter.replace(/./g, '<span>$&</span>'))
|
||||
.replace(/ /g, '\u00a0')
|
||||
// Wrap string's each letters into a span
|
||||
// const textSpans = text
|
||||
// .replace(/(<.*?>)|(.)/g, letter => letter.replace(/./g, '<span>$&</span>'))
|
||||
// .replace(/ /g, '\u00a0')
|
||||
</script>
|
||||
|
||||
<a {href} class={type} aria-label={text} data-text={text}>
|
||||
{#if type === 'button'}
|
||||
<button class={className} data-text={text}>
|
||||
<slot></slot>
|
||||
{@html textSpans}
|
||||
<span>{text}</span>
|
||||
</button>
|
||||
|
||||
{:else}
|
||||
<a {href} class={className} data-text={text}>
|
||||
<slot></slot>
|
||||
<span>{text}</span>
|
||||
</a>
|
||||
{/if}
|
||||
|
||||
Reference in New Issue
Block a user