[Feature Request]: MultiInput Tokens could be not-removable
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1.8k
- Forks
- 285
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 59
Description
Feature Request Description
The <Token> web component passed to <MultiInput> can sometimes not be removed at all. For example, a use case came up for a "Recipients" field where the first recipient is not removable, but any of the other recipients are removable. This is different from a read only multi input where all tokens are not removable.
Proposed Solution
Have a boolean property on Token like "not-removable" or some other similarly named property that is optional and when supplied will trigger the changes:
- Token no longer has a clickable X (dismiss) icon
- Token might need to be listed first so as not to block backspace on the other items, also backspace will not delete it
- Token when showing in the More popover should not have an X button or it should be disabled.
Proposed Alternatives
We can get close to this by implementing the React code such that the closeIcon is an empty icon, with an onClick that stops propogation, however, this has a couple of issues for example the more popup still shows it as removable since the closeIcon doesn't get used there.
We can also filter out the non-removable items entirely and show them in a separate place somehow or make it implied (e.g. a note that says the recipients always includes the author or something else). But this requires a change to the design.
Organization
SuccessFactors
Additional Context
No response
Priority
Medium
Privacy Policy
- I’m not disclosing any internal or sensitive information.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the Token and MultiInput component implementations and how tokens are rendered in the More popover. Define the optional non-removable behavior across the dismiss icon, backspace handling, ordering, and popover presentation. Done means one token can remain protected while other tokens remain removable, including in the proposed Recipients use case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100