Skip to content

feat: add variant: list to schema.multiselect#999

Open
jeremydw wants to merge 1 commit intomainfrom
feat/multiselect
Open

feat: add variant: list to schema.multiselect#999
jeremydw wants to merge 1 commit intomainfrom
feat/multiselect

Conversation

@jeremydw
Copy link
Copy Markdown
Member

@jeremydw jeremydw commented Mar 27, 2026

  • create an alternative to mantine's MultiSelecft
  • supports inline editing, deletion, reordering, etc.
  • appears like a minimal version of the normal array field
  • add test to verify they serialize/deserialize the same way

usage:

schema.multiselect({
  variant: 'list' // default is 'multiselect';
});
image

- create an alternative to mantine's MultiSelecft
- supports inline editing, deletion, reordering, etc.
- appears like a minimal version of the normal array field
@jeremydw jeremydw requested a review from stevenle March 27, 2026 21:11
@stevenle
Copy link
Copy Markdown
Member

i think this change is fine, although i think i may want to play around with the ux a little bit. i think i'd prefer the bordered text inputs over the unbordered ones so that it's clear that the user can edit the field.

idiomatically i think we should consider making this a new field type, e.g. schema.stringlist() or schema.strings() since in my mind the term "multiselect" assumes a ui that includes a select list. users in the future would wonder why we chose to do schema.multiselect({variant: 'list'}) instead of schema.list({variant: 'multiselect'}) and so i'd like to avoid that type of head scratching.

@stevenle
Copy link
Copy Markdown
Member

another thing to consider is that with multiselect there's an assumption of uniqueness, whereas from your example, the string list could accept ["foo", "bar", "foo"]. let's create a new field for this, happy to accept suggestions for what to call it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants