diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterDrawer.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterDrawer.svelte
new file mode 100644
index 0000000000..c206492595
--- /dev/null
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterDrawer.svelte
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+ {#if !filters?.length}
+ Add your first filter column.
+ {:else}
+ Results are filtered to only those which match all of the following
+ constraints.
+ {/if}
+
+ {#if filters?.length}
+
+ {#each filters as filter, idx}
+ onFieldChange(filter, e.detail)}
+ placeholder="Column"
+ />
+ onOperatorChange(filter, e.detail)}
+ placeholder={null}
+ />
+
+ {#if filter.valueType === "Binding"}
+ (filter.value = event.detail)}
+ />
+ {:else if ["string", "longform", "number"].includes(filter.type)}
+
+ {:else if filter.type === "options"}
+
+ {:else if filter.type === "boolean"}
+
+ {:else if filter.type === "datetime"}
+
+ {:else}
+
+ {/if}
+ duplicateFilter(filter.id)}
+ />
+ removeFilter(filter.id)}
+ />
+ {/each}
+
+ {/if}
+
+
+ Add filter
+
+
+
+
+
+
+
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterEditor.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterEditor.svelte
index adcf7ec29b..58b767353b 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterEditor.svelte
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterEditor.svelte
@@ -1,19 +1,11 @@
-
-{#if value?.length}
-
-{/if}
-
-
- Add expression
-
-
-
-