2021-11-09 15:40:47 +00:00

109 lines
2.4 KiB
Svelte

<div class="col">
<div class="row label">
<div class="parent">
<label class="form-label">{label}</label>
{#if badge !== undefined}
<Badge>{badge}</Badge>
{/if}
</div>
</div>
<div class="row fields">
<div class="parent">
<input class="form-input" type="number" min=0 {disabled} bind:value={days}/>
<div class="period" class:disabled>D</div>
</div>
<div class="parent">
<input class="form-input" type="number" min=0 {disabled} bind:value={hours}/>
<div class="period" class:disabled>H</div>
</div>
<div class="parent">
<input class="form-input" type="number" min=0 {disabled} bind:value={minutes}/>
<div class="period" class:disabled>M</div>
</div>
</div>
</div>
<script>
import Badge from "../Badge.svelte";
export let label;
export let badge;
export let disabled = false; // note: bind:disabled isn't valid
export let days = 0;
export let hours = 0;
export let minutes = 0;
</script>
<style>
.col {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
}
.row {
display: flex;
flex-direction: row;
width: 100%;
height: 100%;
}
.fields > .parent:not(:first-child) {
margin-left: 10px;
}
input {
border-top-right-radius: 0 !important;
border-bottom-right-radius: 0 !important;
width: 100%;
-moz-appearance: textfield;
}
input:disabled {
opacity: 0.6;
}
.period.disabled {
opacity: 0.6;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
label {
display: flex;
align-items: center;
margin: 0;
}
.label {
margin-bottom: 4px;
}
.parent {
display: flex;
flex-direction: row;
}
.period {
display: flex;
align-items: center;
border-color: #2e3136 !important;
background-color: #2e3136 !important;
color: white !important;
outline: none;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
padding: 0 10px;
margin: 0 0 0.5em 0;
height: 40px;
}
</style>