File size: 1,544 Bytes
0ad74ed |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
<script lang="ts">
export let label: string | null = null;
export let Icon: any;
export let show_label = true;
export let disable = false;
export let float = true;
</script>
<label
for=""
class:hide={!show_label}
class:sr-only={!show_label}
class:float
class:hide-label={disable}
data-testid="block-label"
>
<span>
<Icon />
</span>
{label}
</label>
<style>
label {
display: inline-flex;
align-items: center;
z-index: var(--layer-2);
box-shadow: var(--block-label-shadow);
border: var(--block-label-border-width) solid
var(--block-label-border-color);
border-top: none;
border-left: none;
border-radius: var(--block-label-radius);
background: var(--block-label-background-fill);
padding: var(--block-label-padding);
pointer-events: none;
color: var(--block-label-text-color);
font-weight: var(--block-label-text-weight);
font-size: var(--block-label-text-size);
line-height: var(--line-sm);
}
:global(.gr-group) label {
border-top-left-radius: 0;
}
label.float {
position: absolute;
top: var(--block-label-margin);
left: var(--block-label-margin);
}
label:not(.float) {
position: static;
margin-top: var(--block-label-margin);
margin-left: var(--block-label-margin);
}
.hide {
height: 0;
}
span {
opacity: 0.8;
margin-right: var(--size-2);
width: calc(var(--block-label-text-size) - 1px);
height: calc(var(--block-label-text-size) - 1px);
}
.hide-label {
box-shadow: none;
border-width: 0;
background: transparent;
overflow: visible;
}
</style>
|