JGuang

Tags Input

Tags Input · Chakra UI

Preview
npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0

Tags Input

Used to enter multiple values as tags with features like tag creation, deletion, and keyboard navigation.

Define delimiters, duplicates, validation, limits and editing. Keep draft text separate from committed tags and test keyboard paste/removal.

Installation and initialization

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0

Initialize ChakraProvider with defaultSystem and Emotion before rendering. Preserve the host React version and inspect peer compatibility. Official npm installation supplies components, not these example source files. Use the resource setup guide for locale, next-themes and framework-specific SSR; copy the selected example source separately from npm installation.

Complete native usage example

This is the actual pinned example, not a generic API mock. Copy its source closure and retain the named export. Additional imports are listed per example below.

"use client"

import { Span, TagsInput } from "@chakra-ui/react"

export const TagsInputBasic = () => {
  return (
    <TagsInput.Root defaultValue={["React", "Chakra", "TypeScript"]}>
      <TagsInput.Label>Tags</TagsInput.Label>
      <TagsInput.Control>
        <TagsInput.Items />
        <TagsInput.Input placeholder="Add tag..." />
      </TagsInput.Control>
      <Span textStyle="xs" color="fg.muted" ms="auto">
        Press Enter or Return to add tag
      </Span>
    </TagsInput.Root>
  )
}

All examples and reproduction requirements

Names identify demos, not component variant props. Copy every sourceFiles entry for the selected example. The compositions alias denotes local files, not a package. Preserve relative imports or rewrite the alias to your project's actual path. React peers are inspected separately; editor examples retain the coherent pinned Tiptap extension family.

Basic

tags-input-basic · Named export TagsInputBasic · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-basic.tsx

With Sizes

tags-input-with-sizes · Named export TagsInputWithSizes · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-with-sizes.tsx

With Variants

tags-input-with-variants · Named export TagsInputWithVariants · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-with-variants.tsx

Controlled

tags-input-controlled · Named export TagsInputControlled · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-controlled.tsx

With Store

tags-input-with-store · Named export TagsInputWithStore · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-with-store.tsx

With Max

tags-input-with-max · Named export TagsInputWithMax · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-with-max.tsx

Editable

tags-input-editable · Named export TagsInputEditable · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-editable.tsx

Validation

tags-input-validation · Named export TagsInputValidation · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-validation.tsx

Disabled

tags-input-disabled · Named export TagsInputDisabled · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-disabled.tsx

Read Only

tags-input-read-only · Named export TagsInputReadOnly · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-read-only.tsx

Invalid

tags-input-invalid · Named export TagsInputInvalid · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-invalid.tsx

With Field

tags-input-with-field · Named export TagsInputWithField · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-with-field.tsx

With Form

tags-input-with-form · Named export TagsInputWithForm · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-with-form.tsx

With Paste

tags-input-with-paste · Named export TagsInputWithPaste · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-with-paste.tsx

With Blur Behavior

tags-input-with-blur-behavior · Named export TagsInputWithBlurBehavior · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-with-blur-behavior.tsx

With Delimiter

tags-input-with-delimiter · Named export TagsInputWithDelimiter · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-with-delimiter.tsx

With Colors

tags-input-with-colors · Named export TagsInputWithColors · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-with-colors.tsx

With Combobox

tags-input-with-combobox · Named export TagsInputWithCombobox · original upstream example

npm install @chakra-ui/react@3.37.0 @emotion/react@11.14.0
  • vendor/apps/compositions/src/examples/tags-input-with-combobox.tsx

Native API and source references

The source viewer retains original declarations, imports and inheritance. Ark UI event contracts, Chakra style props and recipe types stay in their native packages; this guide does not flatten or invent their defaults. Code comments remain original source, not translated prose.

  • npm/@chakra-ui/react@3.37.0/dist/types/components/tags-input/index.d.ts
  • npm/@chakra-ui/react@3.37.0/dist/types/components/tags-input/namespace.d.ts
  • npm/@chakra-ui/react@3.37.0/dist/types/components/tags-input/tags-input.d.ts

State and installation checks

Run strict types, the target production build and real interactions. Test labels/focus/keyboard, both themes, narrow layout, empty/loading/error states where supported and cleanup after unmount. Remote demo endpoints, uploads and downloads are constrained in the preview; configure your own services. Copying a command or reaching preview-ready does not prove installation or backend success.

Provenance and license boundaries

https://github.com/chakra-ui/chakra-ui/tree/2e7517745cff2fcde0b8012f136cf99611ff262a

These are JGuang practical bilingual notes, not a full translation of upstream MDX. Original documentation and example bytes remain in vendor. Preserve repository MIT, compositions ISC metadata and separate dependency notices. The original metadata discrepancy and any missing full notices remain explicit review items; paid Chakra Pro is excluded.