35d3211615
Signed-off-by: Tobias Erbshäußer <tobias@tesoft.dev>
67 lines
1.8 KiB
Plaintext
67 lines
1.8 KiB
Plaintext
<template id="tesoft-button-template">
|
|
<style>
|
|
@import "/src/styles/default.css";
|
|
|
|
:host {
|
|
display: block;
|
|
}
|
|
|
|
button, a {
|
|
align-content: center;
|
|
background-color: transparent;
|
|
border-radius: var(--button-border-radius);
|
|
border-style: none;
|
|
color: var(--light-gray);
|
|
display: grid;
|
|
font-weight: 600;
|
|
height: 100%;
|
|
justify-content: center;
|
|
padding: var(--medium-padding);
|
|
text-decoration: none;
|
|
width: 100%;
|
|
}
|
|
|
|
:host([selected]) button, :host([selected]) a {
|
|
background-color: var(--light-gray);
|
|
color: var(--gray);
|
|
font-weight: 800;
|
|
}
|
|
|
|
:host([disabled]) button, :host([disabled]) a {
|
|
color: var(--gray);
|
|
}
|
|
|
|
:host(:not([disabled])) button:focus, :host(:not([disabled])) a:focus {
|
|
outline-color: var(--gold);
|
|
outline-offset: 0.2rem;
|
|
outline-style: solid;
|
|
}
|
|
|
|
:host(:not([disabled])) button:hover, :host(:not([disabled])) a:hover {
|
|
background-color: var(--gold) !important;
|
|
color: var(--gray);
|
|
cursor: pointer;
|
|
}
|
|
|
|
::slotted(svg) {
|
|
fill: var(--light-gray);
|
|
}
|
|
|
|
:host([selected]) ::slotted(svg), :host([disabled]) ::slotted(svg) {
|
|
fill: var(--gray);
|
|
}
|
|
|
|
:host(:not([disabled])) button:hover ::slotted(svg), :host(:not([disabled])) a:hover ::slotted(svg) {
|
|
fill: var(--gray);
|
|
}
|
|
</style>
|
|
|
|
<div>
|
|
<button part="children">
|
|
<slot></slot>
|
|
</button>
|
|
</div>
|
|
</template>
|
|
|
|
<script src="/src/components/button.ts" type="module"></script>
|