Add Quiet and Emphasized variants to the Tabs and Tab components

This commit is contained in:
Peter Clement 2021-08-09 15:47:30 +01:00
parent 37f4c66baa
commit cb7e02bb3a
2 changed files with 18 additions and 3 deletions

View File

@ -30,6 +30,7 @@
on:click={onClick} on:click={onClick}
class:is-selected={$selected.title === title} class:is-selected={$selected.title === title}
class="spectrum-Tabs-item" class="spectrum-Tabs-item"
class:emphasized={$selected.title === title && $selected.emphasized}
tabindex="0" tabindex="0"
> >
{#if icon} {#if icon}
@ -49,3 +50,9 @@
<slot /> <slot />
</Portal> </Portal>
{/if} {/if}
<style>
.emphasized {
color: var(--spectrum-global-color-blue-600);
}
</style>

View File

@ -6,9 +6,11 @@
export let selected export let selected
export let vertical = false export let vertical = false
export let noPadding = false export let noPadding = false
export let quiet = false
export let emphasized = false
let _id = id() let _id = id()
const tab = writable({ title: selected, id: _id }) const tab = writable({ title: selected, id: _id, emphasized })
setContext("tab", tab) setContext("tab", tab)
let container let container
@ -56,7 +58,9 @@
<div <div
bind:this={container} bind:this={container}
class="selected-border spectrum-Tabs spectrum-Tabs--{vertical class:quiet
class="selected-border spectrum-Tabs {quiet &&
'spectrum-Tabs--quiet'} spectrum-Tabs--{vertical
? 'vertical' ? 'vertical'
: 'horizontal'}" : 'horizontal'}"
> >
@ -64,7 +68,7 @@
{#if $tab.info} {#if $tab.info}
<div <div
class="spectrum-Tabs-selectionIndicator indicator-transition" class="spectrum-Tabs-selectionIndicator indicator-transition"
style="width: {width}; height: {height}; left: {left}; top: {top};" style=" background-color: {'var(--spectrum-global-color-blue-400)'}; width: {width}; height: {height}; left: {left}; top: {top};"
/> />
{/if} {/if}
</div> </div>
@ -75,6 +79,10 @@
/> />
<style> <style>
.quiet {
border-bottom: none !important;
}
.spectrum-Tabs { .spectrum-Tabs {
padding-left: var(--spacing-xl); padding-left: var(--spacing-xl);
padding-right: var(--spacing-xl); padding-right: var(--spacing-xl);