How would one use/extend EssentialsListComponent to allow easy specification of constraints on fetched documents through the CMS component editor?

I’d like content authors to use the EssentialsListComponent in pages to show a grid of documents, but I’d also allow them to specify constraints on the documents without me writing subclasses of EssentialsListComponent to satisfy their constraints.

Examples of constraints would include filtering documents where a value was contained within a property of the document, so not using the free text search.

I’ve tried looking through the documentation but have been unable to find how I could do this using existing components.

Found the answer - you can expose a String field on the Info class to add a JCR-170 expression to the filter via Filter#addJCRExpression(String).