HomeGetting StartedColor SystemTypographySpacingIconographyLayoutInstallationUsageAngularBlazorReactSvelteVueThemingTypographyCustomizationCSS-Only ComponentsFormsIconsIllustrationsAccessibilityGlobal ConfigurationTailwind CSSSass LibraryForge MCP ServerDropdown OptionsFocus Indicator ClippingAll componentsButtonButton AreaChipFloating Action ButtonIcon ButtonSplit ButtonAutocompleteButton ToggleCalendarCheckboxChip FieldColor PickerDate PickerDate Range PickerFile PickerLabelRadioSelectSliderSwitchText FieldTime PickerApp BarApp LauncherDrawerMenuPaginatorSkip LinkStepperTabsView SwitcherAccordionApp LayoutCardDividerExpansion PanelScaffoldSplit ViewStackStructured CardToolbarBadgeBannerBusy IndicatorCircular ProgressDialogInline MessageLinear ProgressPage StateSkeletonToastTooltipAvatarIconKeyLabel ValueListMeterSecretTableTimelineTimestampTreeKeyboard ShortcutPopoverIntroductionColorTypographySpacingShapeBorderElevationLayeringAnimationUsageIcon LibraryBlocksRoadmapChangelogBlog

Chip

A compact, interactive element that represents an entity, action, or attribute with support for selection, removal, and various styling options.

SelectedOptionOption

Overview

Chips allow users to enter information, make selections, filter content, or trigger actions. They appear dynamically as groups of multiple interactive elements and provide a compact way to display options, tags, or actionable items. Unlike buttons, which serve as consistent calls to action, chips are contextual and can be added, removed, or modified based on user interaction.

Usage

forge-chip represents an entity, filterable attribute, or action through its type — choice, filter, action, input, or field — plus theme, selected, and dense. Chips are interactive and appear dynamically as a group inside a forge-chip-set; reach for a button instead for a persistent, primary call to action, or a badge instead for non-interactive status.

Rules

Do
Group related chips inside a single forge-chip-set.Offer at least two options in a choice or filter chip set.Pair a leading icon or avatar in the start slot to help users scan a set.Use chips for choices, filters, or actions that appear dynamically and contextually.
Don't
Don't use a chip for static, non-interactive information — use a badge instead.Don't use a chip as a substitute for a persistent primary action — use a button instead.Don't render a single, isolated choice or filter chip.

Types

Set type to match the chip’s role: choice for a single selection from a small set, filter for the same pattern applied to filtering content, action (the default) for a contextual action, input for a removable, user-entered value, and field for chips living inside a forge-chip-field.

A basic chip set using the default action type.

With an icon or avatar

Pair a chip’s label with a leading icon or avatar via the start slot to help users scan a set at a glance.

A leading avatar identifies who or what each chip represents.

Set href (plus optional target, download, rel) to render the chip as a navigating anchor instead of firing a selection or delete event.

Setting href renders the chip as a navigating anchor.

Choice and filter

Set type="choice" for a single selection from a small set, or type="filter" for the same pattern applied to filtering content — both share the same selected state.

Choice chips (single selection) and filter chips (narrowing content) share the same selected state.

Removable

Set type="input" for a chip that renders a built-in remove control.

Input chips render a built-in remove control.

Dense

Set dense to reduce a chip’s height and padding for compact layouts.

Dense reduces height and padding for compact layouts.

A compact, interactive element that represents an entity, action, or attribute with support for selection, removal, and various styling options.

import "@tylertech/forge/chips";
Properties
PropertyAttributeTypeDefaultDescription
typetypeChipType—The type of chip.
valuevalueunknown—The value of the chip.
selectedselectedboolean—Whether the chip is selected.
invalidinvalidboolean—Whether the chip is invalid.
disableddisabledboolean—Whether the chip is disabled.
densedenseboolean—Whether the chip is dense.
themethemeChipTheme—The theme of the chip.
hrefhrefstring—The href of the chip.
targettargetstring—The target of the chip.
downloaddownloadstring—The download of the chip.
relrelstring—The rel of the chip.
removeButtonLabelremove-button-labelstring—The custom aria-label for the remove button.
Events
NameTypeDescription
forge-chip-deleteCustomEvent<IChipDeleteEventData>Event fired when the chip is deleted.
forge-chip-selectCustomEvent<IChipSelectEventData>Event fired when the chip is selected.
Slots
NameDescription
(default)The content of the chip.
startThe start content of the chip.
endThe end content of the chip.
CSS Parts
NameDescription
::part(root)The component's root element.
::part(trigger)The trigger element of the chip.
::part(focus-indicator)The focus indicator of the chip.
::part(state-layer)The state layer surface.
CSS Custom Properties
NameDescription
--forge-chip-backgroundThe background color of the chip.
--forge-chip-colorThe background color of the chip.
--forge-chip-shapeThe shape of the chip.
--forge-chip-spacingThe spacing between chips.
--forge-chip-heightThe height of the chip.
--forge-chip-padding-inlineThe inline padding of the chip.
--forge-chip-padding-blockThe block padding of the chip.
--forge-chip-cursorThe cursor style of the chip.
--forge-chip-icon-font-sizeThe font size of the chip icon.
--forge-chip-focus-indicator-colorThe color of the focus indicator.
--forge-chip-disabled-opacityThe opacity of the disabled chip.
--forge-chip-disabled-cursorThe cursor style of the disabled chip.
--forge-chip-dense-heightThe height of the dense chip.
--forge-chip-dense-padding-inlineThe inline padding of the dense chip.
--forge-chip-dense-spacingThe spacing between dense chips.
--forge-chip-dense-font-sizeThe font size of the dense chip.
--forge-chip-dense-font-weightThe font weight of the dense chip.
--forge-chip-dense-focus-indicator-offsetThe offset of the focus indicator for dense chips.
--forge-chip-dense-icon-font-sizeThe font size of the icon in dense chips.
--forge-chip-remove-button-spacingThe spacing of the remove button in chips.
--forge-chip-remove-button-height-denseThe height of the remove button in dense chips.
--forge-chip-remove-button-icon-size-denseThe icon size of the remove button in dense chips.
--forge-chip-remove-button-spacing-denseThe spacing of the remove button in dense chips.
--forge-chip-selected-backgroundThe background color of the selected chip.
--forge-chip-selected-colorThe text color of the selected chip.
--forge-chip-invalid-colorThe text color of the invalid chip.
--forge-chip-invalid-selected-backgroundThe background color of the invalid selected chip.
--forge-chip-invalid-selected-colorThe text color of the invalid selected chip.
--forge-chip-border-widthThe width of the chip border.
--forge-chip-border-styleThe style of the chip border.
--forge-chip-border-colorThe color of the chip border.
--forge-chip-field-backgroundThe background color of the chip field.
--forge-chip-field-colorThe text color of the chip field.
--forge-chip-field-shapeThe shape of the chip field.
--forge-chip-field-border-colorThe color of the chip field border.
--forge-chip-field-cursorThe cursor style of the chip field.
--forge-chip-checkmark-sizeThe size of the checkmark in chips.
--forge-chip-checkmark-colorThe color of the checkmark in chips.
--forge-chip-checkmark-spacingThe spacing of the checkmark in chips.
--forge-chip-avatar-sizeThe size of the avatar in chips.
--forge-chip-avatar-size-denseThe size of the avatar in dense chips.
--forge-chip-avatar-font-sizeThe font size of the avatar in chips.
--forge-chip-avatar-font-size-denseThe font size of the avatar in dense chips.
--forge-chip-avatar-spacingThe spacing of the avatar in chips.
--forge-chip-avatar-spacing-denseThe spacing of the avatar in dense chips.
--forge-chip-transition-durationThe duration of the chip transition.
--forge-chip-transition-easingThe easing function of the chip transition.
--forge-chip-checkmark-transition-delayThe delay of the checkmark transition in chips.
Methods
NameReturnsDescription
focus(options)void
focusRemoveButton()void
click()void

Keyboard interaction

Chips must be reachable by Tab, with a visible cue for active, inactive, and focused states. Pressing Space or Enter while a chip is focused should toggle it the same way a click would. If a chip has a delete icon, make sure it can be focused and activated independently of the chip body — a screen reader or keyboard user needs to reach the delete action on its own, not just the chip as a whole.

Screen reader behavior

Set a role on the chip so assistive technology can announce what it represents (a filter, a selection, an input value) rather than reading it as generic content.

Color and contrast

Meet WCAG contrast requirements between a chip’s foreground text and background. If a chip’s color conveys meaning on its own, pair it with an icon or label — don’t rely on color alone for users with color vision deficiencies.

Loading Forge chat…