diff options
Diffstat (limited to '_www/src/InputNumber.svelte')
| -rw-r--r-- | _www/src/InputNumber.svelte | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/_www/src/InputNumber.svelte b/_www/src/InputNumber.svelte new file mode 100644 index 0000000..6efee06 --- /dev/null +++ b/_www/src/InputNumber.svelte @@ -0,0 +1,35 @@ +<script> + export let min; + export let max; + export let val = 0; + export let unit; + + function onChange() { + value = +value + if (isNaN(value)) { + value = max + } else if (value < min) { + value = min + } else if (value > max) { + value = max + } + } +</script> + +<style> + .input-number input { + width: 70%; + } + .input-number .suffix { + width: 30%; + } +</style> + +<div class="input-number"> + <input type="number" on:change={onChange} bind:value={val}> + {#if unit !== ''} + <span class="suffix"> + {unit} + </span> + {/if} +</div> |
