Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Nettalco/nettalco-theme/llms.txt

Use this file to discover all available pages before exploring further.

The MultiSelect component extends the dropdown pattern to allow selecting multiple options simultaneously, displaying selections as chip tags inside the trigger field. Nettalco Theme uses the same form.field.* inheritance as Select for the trigger, and adds chip-specific tokens on top of the standard overlay, list, and option token groups.

Usage

<!-- Basic multi-select -->
<p-multiselect
  [(ngModel)]="selectedCities"
  [options]="cities"
  optionLabel="name"
  placeholder="Select Cities"
/>

<!-- With filter and select all -->
<p-multiselect
  [(ngModel)]="selectedItems"
  [options]="items"
  optionLabel="label"
  [filter]="true"
  [showToggleAll]="true"
  placeholder="Choose items"
/>

<!-- Chip display -->
<p-multiselect
  [(ngModel)]="selectedTags"
  [options]="tags"
  display="chip"
  placeholder="Add tags"
/>
import { Component } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { MultiSelectModule } from 'primeng/multiselect';

@Component({
  selector: 'app-example',
  standalone: true,
  imports: [MultiSelectModule, FormsModule],
  templateUrl: './example.component.html'
})
export class ExampleComponent {
  selectedCities: any[] = [];
  cities = [
    { name: 'New York', code: 'NY' },
    { name: 'London', code: 'LDN' },
    { name: 'Tokyo', code: 'TKY' }
  ];
}

Design Tokens

Root (trigger field — inherits form.field)

TokenValueDescription
background{form.field.background}Trigger background
disabledBackground{form.field.disabled.background}Background when disabled
filledBackground{form.field.filled.background}Background in filled variant mode
filledHoverBackground{form.field.filled.hover.background}Filled background on hover
filledFocusBackground{form.field.filled.focus.background}Filled background on focus
borderColor{form.field.border.color}Default border
hoverBorderColor{form.field.hover.border.color}Border on hover
focusBorderColor{form.field.focus.border.color}Border on focus
invalidBorderColor{form.field.invalid.border.color}Border in invalid state
color{form.field.color}Text color
disabledColor{form.field.disabled.color}Text color when disabled
placeholderColor{form.field.placeholder.color}Placeholder text color
invalidPlaceholderColor{form.field.invalid.placeholder.color}Placeholder color in invalid state
shadow{form.field.shadow}Box shadow
paddingX{form.field.padding.x}Horizontal padding
paddingY{form.field.padding.y}Vertical padding
borderRadius{form.field.border.radius}Corner radius
focusRing.width{form.field.focus.ring.width}Focus ring width
focusRing.style{form.field.focus.ring.style}Focus ring style
focusRing.color{form.field.focus.ring.color}Focus ring color
focusRing.offset{form.field.focus.ring.offset}Focus ring offset
focusRing.shadow{form.field.focus.ring.shadow}Focus ring shadow
transitionDuration{form.field.transition.duration}Transition duration
sm.fontSize{form.field.sm.font.size}Font size in sm variant
sm.paddingX{form.field.sm.padding.x}Horizontal padding for sm
sm.paddingY{form.field.sm.padding.y}Vertical padding for sm
lg.fontSize{form.field.lg.font.size}Font size in lg variant
lg.paddingX{form.field.lg.padding.x}Horizontal padding for lg
lg.paddingY{form.field.lg.padding.y}Vertical padding for lg
TokenValueDescription
dropdown.width2.5remWidth of the chevron area
dropdown.color{form.field.icon.color}Chevron icon color

Overlay (dropdown panel)

TokenValueDescription
overlay.background{overlay.select.background}Panel background
overlay.borderColor{overlay.select.border.color}Panel border
overlay.borderRadius{overlay.select.border.radius}Panel corner radius
overlay.color{overlay.select.color}Panel text color
overlay.shadow{overlay.select.shadow}Panel drop shadow

List layout

TokenValueDescription
list.padding{list.padding}List outer padding
list.gap{list.gap}Gap between options
list.header.padding{list.header.padding}Filter/header padding

Option

TokenValueDescription
option.focusBackground{list.option.focus.background}Background on focus
option.selectedBackground{list.option.selected.background}Background when selected
option.selectedFocusBackground{list.option.selected.focus.background}Selected + focused background
option.color{list.option.color}Option text color
option.focusColor{list.option.focus.color}Text color on focus
option.selectedColor{list.option.selected.color}Text color when selected
option.selectedFocusColor{list.option.selected.focus.color}Text color when selected + focused
option.padding{list.option.padding}Option padding
option.borderRadius{list.option.border.radius}Option corner radius
option.gap0.5remGap between checkbox and option label

Option group

TokenValueDescription
optionGroup.background{list.option.group.background}Group header background
optionGroup.color{list.option.group.color}Group header text
optionGroup.fontWeight{list.option.group.font.weight}Group header font weight
optionGroup.padding{list.option.group.padding}Group header padding

Chip (selected-value tags)

TokenValueDescription
chip.borderRadius{border.radius.sm}4pxCorner radius of each chip tag

Other

TokenValueDescription
clearIcon.color{form.field.icon.color}Clear (×) icon color
emptyMessage.padding{list.option.padding}Padding of the “no results” message

Theme Notes

MultiSelect adds an option.gap: 0.5rem token not present in Select. This controls the spacing between the selection checkbox and the option label text inside the dropdown list.
The chip’s borderRadius ({border.radius.sm} = 4 px) matches InputChips chips, giving a visually consistent tag shape across both components. If you want a more rounded pill chip, override {border.radius.sm} in the base tokens.

Build docs developers (and LLMs) love