1.5.1 • Published 9 months ago
@arif-un/react-mix-tag-input v1.5.1
React Mix Tag Input
A react input component that pairs text with tags, supports multiline entry, and provides customizable tag rendering.
Full Documentation

Installation
npm install @arif-un/react-mix-tag-inputimport MixTagInput from "mix-tag-input";
const [value, setValue] = useState<MixInputValues>([
[ "Text ", {type: "tag", attrs: {id: "1", label: "Tag"}} ]
]);
<MixTagInput value={value} onChange={handleChange} />Props
<MixTagInput />
| Prop | Description | Default | Type |
|---|---|---|---|
ref | React forwardRef with options of component | MixInputRef | |
value | Values of Mix Input | [] | MixInputValues |
onChange | Function to handle the change event | (value: MixInputValues) => void | |
disabled | Boolean value to set the input as disabled | false | Boolean |
placeholder | Placeholder text | string | |
immediatelyRender | Boolean value to render the component immediately on mount. Useful for server side rendering | false | Boolean |
tagClassName | Class name for tags | mi-tag | string |
editorOptions | Options for the editor | {} | Editor |
tagAttrs | Allowed attributes for tags, that returns with tag value on change and also render as data-* attribute | { key: string: string } | |
tagView | Custom tag view component | React.FC[TagViewProps](https://tiptap.dev/docs/editor/extensions/custom-extensions/node-views/react#all-available-props) |
MixInputRef: React.forwardRef
import { type MixInputRef } from '@arif-un/react-mix-tag-input';
const ref = useRef<MixInputRef>(null);
// ...
ref.current?.insertContent({ type: 'tag', attrs: { id: '1', label: 'Tag' } });
// ...
return <MixTagInput ref={ref} />;| Prop | Description | Type |
|---|---|---|
| insertContent | Function to insert content in the editor current caret position, accepts Tag or Text alone or in array | (content: Tag | string | (Tag | string)[]) => void |
| element | Returns the editor element | HTMLDivElement |
| editor | Returns the editor instance | Editor |
MixInputValues: (string | Tag)
const text = 'Any text string'
const tag: Tag = {
type: 'tag',
attrs: {
id: '1',
label: 'Tag',
className: 'tag-class',
style: {color: 'cyan'}
[key: string]: string // key and default value need to specify in 'tagAttrs' prop
},
}
const firstLineValues: MixInputValues = [[ text, tag ]]
return <MixTagInput value={firstLineValues} />;Tag
| Prop | Description | Type |
|---|---|---|
| type | Type of the tag | 'tag' |
| attrs | Attributes of the tag | object |
| attrs.id | Unique identifier of the tag | string |
| attrs.label | Label of the tag | string |
| attrs.className | Class name of the tag | string |
| attrs.style | Style of the tag | React.CSSProperties |
| attrs.key: string | Any other attribute. Key and default value need to specify in tagAttrs prop in order to get back with tag value on change and also render as data-* attribute | string |
1.5.1
9 months ago
1.5.0
9 months ago
1.4.1
10 months ago
1.4.0
10 months ago
1.3.3
1 year ago
1.3.2
1 year ago
1.3.1
1 year ago
1.3.0
1 year ago
1.2.1
1 year ago
1.2.0
1 year ago
1.1.6
1 year ago
1.1.5
1 year ago
1.1.4
1 year ago
1.1.3
1 year ago
1.1.2
1 year ago
1.1.1
1 year ago
1.1.0
1 year ago
1.0.17
1 year ago
1.0.15
1 year ago
1.0.14
1 year ago
1.0.13
1 year ago
1.0.12
1 year ago
1.0.11
1 year ago
1.0.10
1 year ago
1.0.9
1 year ago
1.0.8
1 year ago
1.0.6
1 year ago
1.0.4
1 year ago
1.0.0
1 year ago
0.0.0-development
1 year ago