diff --git a/web/src/lib/components/kit/SchemaFields.svelte b/web/src/lib/components/kit/SchemaFields.svelte index 576cca8..9597fce 100644 --- a/web/src/lib/components/kit/SchemaFields.svelte +++ b/web/src/lib/components/kit/SchemaFields.svelte @@ -1,6 +1,11 @@ {#each Object.entries(schema.fields) as [id, field] (id)} - {#if field.spec.kind === "number" || field.spec.kind === "slider"} - - {:else if field.spec.kind === "color"} - - {:else if field.spec.kind === "select"} - - {:else if field.spec.kind === "checkbox"} - - {:else if field.spec.kind === "dimension"} -
- onchange(id, v)} - /> -
- {/if} + {@const Control = FIELDS[field.spec.kind]} + onchange(id, v)} + /> {/each}
@@ -97,67 +52,6 @@
diff --git a/web/src/lib/components/kit/fields/schema/CheckboxControl.svelte b/web/src/lib/components/kit/fields/schema/CheckboxControl.svelte new file mode 100644 index 0000000..ea9df92 --- /dev/null +++ b/web/src/lib/components/kit/fields/schema/CheckboxControl.svelte @@ -0,0 +1,47 @@ + + + + + diff --git a/web/src/lib/components/kit/fields/schema/ColorControl.svelte b/web/src/lib/components/kit/fields/schema/ColorControl.svelte new file mode 100644 index 0000000..b33f0ac --- /dev/null +++ b/web/src/lib/components/kit/fields/schema/ColorControl.svelte @@ -0,0 +1,59 @@ + + + + + diff --git a/web/src/lib/components/kit/fields/schema/RangeControl.svelte b/web/src/lib/components/kit/fields/schema/RangeControl.svelte new file mode 100644 index 0000000..4502554 --- /dev/null +++ b/web/src/lib/components/kit/fields/schema/RangeControl.svelte @@ -0,0 +1,58 @@ + + + + + diff --git a/web/src/lib/components/kit/fields/schema/SelectControl.svelte b/web/src/lib/components/kit/fields/schema/SelectControl.svelte new file mode 100644 index 0000000..a4dce31 --- /dev/null +++ b/web/src/lib/components/kit/fields/schema/SelectControl.svelte @@ -0,0 +1,51 @@ + + + + + diff --git a/web/src/lib/components/kit/fields/schema/TextControl.svelte b/web/src/lib/components/kit/fields/schema/TextControl.svelte new file mode 100644 index 0000000..bce062e --- /dev/null +++ b/web/src/lib/components/kit/fields/schema/TextControl.svelte @@ -0,0 +1,45 @@ + + + + +