Skip to content

combobox

combobox

Interfaces

TClientConfig

Defined in: packages/ui/build/combobox/index.d.ts:144

Configuration for client-side filtering.

Properties

error?
optional error?: string | null;

Defined in: packages/ui/build/combobox/index.d.ts:148

An optional error message to display.

isLoading?
optional isLoading?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:146

An optional loading state, controlled by the parent.


TComboboxBaseProps

Defined in: packages/ui/build/combobox/index.d.ts:78

Base properties shared across all combobox types.

Type Parameters

Type Parameter Default type
T -
TAdditionalProps extends Record<string, unknown> -
TMultiple extends boolean false

Properties

align?
optional align?: "start" | "center" | "end";

Defined in: packages/ui/build/combobox/index.d.ts:131

allowClear?
optional allowClear?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:98

allowClickToSetNull?
optional allowClickToSetNull?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:100

When true, clicking an already-selected option clears the value (single-select only).

allowSelectAll?
optional allowSelectAll?: TMultiple extends true ? boolean : never;

Defined in: packages/ui/build/combobox/index.d.ts:86

Adds a keyboard-accessible row for selecting or clearing every loaded option. Only available for client-side multi-select comboboxes without infinite loading.

ariaLabel?
optional ariaLabel?: string;

Defined in: packages/ui/build/combobox/index.d.ts:117

Stable accessible name for the combobox trigger. Defaults to the current selection summary.

class?
optional class?: string;

Defined in: packages/ui/build/combobox/index.d.ts:127

disabled?
optional disabled?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:102

display?
optional display?: Snippet<[TMultiple extends true ? T[] : T]>;

Defined in: packages/ui/build/combobox/index.d.ts:87

optional dropdownClass?: string;

Defined in: packages/ui/build/combobox/index.d.ts:130

emptyPlaceholder?
optional emptyPlaceholder?: string | Snippet<[]>;

Defined in: packages/ui/build/combobox/index.d.ts:88

optional footer?: Snippet<[]>;

Defined in: packages/ui/build/combobox/index.d.ts:108

Optional custom footer content rendered at the bottom of the dropdown.

groupHeaderHeight?
optional groupHeaderHeight?: number;

Defined in: packages/ui/build/combobox/index.d.ts:121

hideChevron?
optional hideChevron?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:101

infiniteLoadingConfig?
optional infiniteLoadingConfig?: TInfiniteLoadingConfig;

Defined in: packages/ui/build/combobox/index.d.ts:124

InlineCreateForm?
optional InlineCreateForm?: Snippet<[{
  cancel: () => void;
  newValue: string;
  onSuccess: (newOption) => void;
  setSubmitting: (v) => void;
  submitting: boolean;
}]>;

Defined in: packages/ui/build/combobox/index.d.ts:89

invalid?
optional invalid?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:103

itemHeight?
optional itemHeight?: number;

Defined in: packages/ui/build/combobox/index.d.ts:120

maxHeight?
optional maxHeight?: number;

Defined in: packages/ui/build/combobox/index.d.ts:122

maxWidth?
optional maxWidth?: number;

Defined in: packages/ui/build/combobox/index.d.ts:133

minWidth?
optional minWidth?: number;

Defined in: packages/ui/build/combobox/index.d.ts:132

multiple?
optional multiple?: TMultiple;

Defined in: packages/ui/build/combobox/index.d.ts:81

onValueChange?
optional onValueChange?: (value) => void;

Defined in: packages/ui/build/combobox/index.d.ts:139

Parameters
Parameter Type
value TMultiple extends true ? T[] | null : T | null
Returns

void

open?
optional open?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:114

options
options: TOption<T, TAdditionalProps>[];

Defined in: packages/ui/build/combobox/index.d.ts:79

overscan?
optional overscan?: number;

Defined in: packages/ui/build/combobox/index.d.ts:123

preserveOptionOrder?
optional preserveOptionOrder?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:113

When true, preserves the original options order exactly. When false (default), the current selection is floated to the top for readability.

readonly?
optional readonly?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:104

readonlyContent?
optional readonlyContent?: Snippet<[]>;

Defined in: packages/ui/build/combobox/index.d.ts:105

sameWidth?
optional sameWidth?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:129

scrollToSelection?
optional scrollToSelection?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:126

When true, scroll the list to the current selection upon opening.

searchable?
optional searchable?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:118

searchPlaceholder?
optional searchPlaceholder?: string;

Defined in: packages/ui/build/combobox/index.d.ts:119

snapToEnds?
optional snapToEnds?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:138

When true, if the popover is displaced horizontally due to viewport collisions, the combobox will snap alignment to 'start' (left) or 'end' (right) automatically.

style?
optional style?: string;

Defined in: packages/ui/build/combobox/index.d.ts:115

triggerClass?
optional triggerClass?: string;

Defined in: packages/ui/build/combobox/index.d.ts:128

truncate?
optional truncate?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:106

value?
optional value?: TMultiple extends true ? T[] | null : T | null;

Defined in: packages/ui/build/combobox/index.d.ts:80


TComboboxClientProps

Defined in: packages/ui/build/combobox/index.d.ts:170

Properties for the client-side filtering combobox.

Properties

clientConfig?
optional clientConfig?: TClientConfig;

Defined in: packages/ui/build/combobox/index.d.ts:174

An optional object for client-side configurations like loading and error states.

serverConfig?
optional serverConfig?: undefined;

Defined in: packages/ui/build/combobox/index.d.ts:176

Server config is not applicable for client-side filtering.

type?
optional type?: "client";

Defined in: packages/ui/build/combobox/index.d.ts:172

Specifies that filtering is handled client-side.


TInfiniteLoadingConfig

Defined in: packages/ui/build/combobox/index.d.ts:58

Configuration for the infinite loading feature. When provided, the component will monitor scroll position and request more data as needed.

Properties

handleInfiniteLoad
handleInfiniteLoad: (info) => void;

Defined in: packages/ui/build/combobox/index.d.ts:70

A callback function triggered when the user scrolls near the end of the list. The parent component is responsible for fetching more data and updating the options prop.

Parameters
Parameter Type Description
info { lastVirtualIndex: number; loadedCount: number; } Details about the current state for fetching.
info.lastVirtualIndex number The index of the last rendered virtual item.
info.loadedCount number The number of items currently loaded in the component.
Returns

void

hasMore
hasMore: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:62

A boolean indicating if there are more items to fetch.

total
total: number;

Defined in: packages/ui/build/combobox/index.d.ts:60

The total number of items available on the server.


TServerConfig

Defined in: packages/ui/build/combobox/index.d.ts:153

Configuration for server-side filtering.

Properties

error?
optional error?: string | null;

Defined in: packages/ui/build/combobox/index.d.ts:165

An optional error message to display.

isLoading?
optional isLoading?: boolean;

Defined in: packages/ui/build/combobox/index.d.ts:163

Set to true to display a loading indicator. This should be managed by the parent.

onSearch
onSearch: (query) => void;

Defined in: packages/ui/build/combobox/index.d.ts:159

Required. A callback that communicates the search query to the parent. The parent is responsible for updating the options prop.

Parameters
Parameter Type Description
query string The current search string.
Returns

void

Type Aliases

Combobox

type Combobox<T, TAdditionalProps, TMultiple> = InstanceType<typeof Combobox>;

Defined in: packages/ui/build/combobox/combobox.svelte.d.ts:23

Type Parameters

Type Parameter Default type
T -
TAdditionalProps extends Record<string, unknown> object
TMultiple extends boolean false

TComboboxCommandItem

type TComboboxCommandItem<T, TAdditionalProps> = 
  | {
  _groupName: string;
  _type: "group";
  disabled: boolean;
  label: string;
  value: string;
}
  | {
  _allSelected: boolean;
  _selectedCount: number;
  _totalCount: number;
  _type: "select-all";
  label: string;
  value: string;
}
  | {
  _option: TOption<T, TAdditionalProps>;
  _type: "option";
  label: string;
  value: string;
}
  | {
  _type: "create";
  label: string;
  value: string;
};

Defined in: packages/ui/build/combobox/index.d.ts:31

Type Parameters

Type Parameter
T
TAdditionalProps extends Record<string, unknown>

TComboboxProps

type TComboboxProps<T, TAdditionalProps, TMultiple> = TComboboxBaseProps<T, TAdditionalProps, TMultiple> & 
  | TComboboxClientProps
  | TComboboxServerProps;

Defined in: packages/ui/build/combobox/index.d.ts:197

A discriminated union of combobox properties, providing strong type-safety based on the filtering type.

Type Parameters

Type Parameter Default type Description
T - The underlying data type of an option's value.
TAdditionalProps extends Record<string, unknown> - A record of extra props for the option label snippet.
TMultiple extends boolean false A boolean indicating if multi-select is enabled.

TOption

type TOption<T, AP> = object;

Defined in: packages/ui/build/combobox/index.d.ts:8

Represents a single selectable option within the combobox.

Type Parameters

Type Parameter Description
T The underlying data type of the option's value.
AP extends Record<string, unknown> A record of additional properties for custom label rendering.

Properties

Property Type Description Defined in
additionalLabelProps? AP Extra props to be spread into the label snippet for custom rendering. packages/ui/build/combobox/index.d.ts:10
badge? string Optional compact trailing label shown in the dropdown. packages/ui/build/combobox/index.d.ts:27
description? string An optional longer description for the option. packages/ui/build/combobox/index.d.ts:23
icon? string Optional leading Iconify icon shown in the dropdown. packages/ui/build/combobox/index.d.ts:25
label Snippet<[T, AP, (e) => void]> | string The display label for the option. Can be a simple string or a Svelte Snippet for complex, custom rendering. packages/ui/build/combobox/index.d.ts:15
search_term? string Additional text to be included during client-side filtering. packages/ui/build/combobox/index.d.ts:29
type? string An optional category to group the option under. packages/ui/build/combobox/index.d.ts:21
value T The unique value of the option. packages/ui/build/combobox/index.d.ts:19

Variables

Combobox

const Combobox: $$IsomorphicComponent;

Defined in: packages/ui/build/combobox/combobox.svelte.d.ts:23