aboutsummaryrefslogtreecommitdiff
path: root/_www/src/InputNumber.svelte
diff options
context:
space:
mode:
Diffstat (limited to '_www/src/InputNumber.svelte')
-rw-r--r--_www/src/InputNumber.svelte35
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>