
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
input-chips
Advanced tools
Contributions of any kind welcome!
This project provides a input with chips. It is inspired by material-ui-chip-input
But this package is deprecated, and I wanted a different design.
I thought the form with chips inside the input was inappropriate and it was strange that the position of the placeholder kept changing.
npm i input-chips
Pretty UI
Easy use
Eliminate the bug from material-ui-chip-input where Korean is entered twice

Improving developer experience through tsdoc and storybook
import { InputChips } from "input-chips";
import React, { useReducer } from 'react';
const reducer = (state, action) => {
switch (action.type) {
case "ADD":
return state.includes(action.keyword)
? state
: [...state, action.keyword];
case "DELETE":
return state.filter((existing) => existing !== action.keyword);
default:
return state;
}
};
const App = () => {
const [keywords, dispatch] = useReducer(reducer, []);
const handleAdd = (keyword: string) => {
dispatch({ type: "ADD", keyword: keyword });
};
const handleDelete = (keyword: string) => {
dispatch({ type: "DELETE", keyword: keyword });
};
return (
<InputChips
id={id}
title={title}
tip={tip}
placeholder={inputChips.placeholder}
keywords={keywords}
onDelete={handleDelete}
onAdd={handleAdd}
/>
);
};
export default App;
If you want to try the component yourself instead of watching a gif, head over to the storybook for a live demo !

| Name | Type | Default | Description |
|---|---|---|---|
| id | string | String key for input-label coupling | |
| title | string | Enter your input label | |
| tip | string | Enter tip for using input. It's located next to title. | |
| placeholder | string | Enter the placeholder showed by input | |
| keywords | string[] | It will return pretty chips | |
| onAdd | function(arg0: string) | This will send you a keyword, so you should manage it using hook like useState. | |
| onDelete | function(arg0: string) | This will send you a keyword, so you should manage it using hook like useState. | |
| disabled | boolean | True if you want to make disable input | |
| maxLength | number | It defines the maximum number of characters | |
| minLength | number | It defines the minimum number of characters | |
| name | string | A string specifying a name for the input control. | |
| readonly | boolean | A Boolean attribute which, if present, indicates that the user should not be able to edit the value of the input. | |
| required | boolean | Required is a Boolean attribute which, if present, indicates that the user must specify a value for the input before the owning form can be submitted. | |
| border | string | You can customize your input border. | |
| background | string | You can customize your input background and chip background. |
FAQs
prettiest input with chips
We found that input-chips demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.