@stackline/vue-multiselect-dropdown 3.0.3 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,5 +1,18 @@
1
+ import * as vue from 'vue';
2
+
1
3
  type PrimitiveItem = string | number | boolean;
2
4
  type DropdownItem = PrimitiveItem | Record<string, any>;
5
+ interface DropdownKeyboardSettings {
6
+ space?: boolean;
7
+ spaceOptionAction?: 'toggle' | 'toggle-and-next';
8
+ tab?: boolean;
9
+ arrows?: boolean;
10
+ escape?: boolean;
11
+ backspaceRemovesLastWhenSearchEmpty?: boolean;
12
+ deleteRemovesFocusedBadge?: boolean;
13
+ /** @deprecated Use `backspaceRemovesLastWhenSearchEmpty`. */
14
+ backspace?: boolean;
15
+ }
3
16
  interface DropdownSettings<T = DropdownItem> {
4
17
  singleSelection?: boolean;
5
18
  text?: string;
@@ -47,16 +60,94 @@ interface DropdownSettings<T = DropdownItem> {
47
60
  openDropdownAriaLabel?: string;
48
61
  closeDropdownAriaLabel?: string;
49
62
  loadingText?: string;
63
+ keyboard?: DropdownKeyboardSettings;
50
64
  }
51
65
  interface DropdownRenderContext<T = DropdownItem> {
52
66
  item: T;
53
67
  label: string;
54
68
  selected: boolean;
55
69
  disabled: boolean;
70
+ index?: number;
71
+ group?: string;
72
+ key?: string;
73
+ optionId?: string;
74
+ ariaSelected?: 'true' | 'false';
75
+ ariaChecked?: 'true' | 'false';
56
76
  query: string;
57
77
  toggle: () => void;
58
78
  remove: () => void;
59
79
  }
80
+ interface DropdownOptionState<T = DropdownItem> {
81
+ item: T;
82
+ key: string;
83
+ label: string;
84
+ selected: boolean;
85
+ disabled: boolean;
86
+ index: number;
87
+ group?: string;
88
+ }
89
+ interface DropdownPropBag {
90
+ [key: string]: any;
91
+ }
92
+ interface UseMultiSelectStateOptions<T = DropdownItem> {
93
+ data?: T[] | {
94
+ value: T[];
95
+ };
96
+ selectedItems?: T[] | {
97
+ value: T[];
98
+ };
99
+ defaultSelectedItems?: T[];
100
+ settings?: DropdownSettings<T> | {
101
+ value: DropdownSettings<T>;
102
+ };
103
+ onChange?: (items: T[]) => void;
104
+ onSelect?: (item: T) => void;
105
+ onDeSelect?: (item: T) => void;
106
+ onSelectAll?: (items: T[]) => void;
107
+ onDeSelectAll?: (items: T[]) => void;
108
+ onGroupSelect?: (groupName: string, items: T[]) => void;
109
+ onGroupDeSelect?: (groupName: string, items: T[]) => void;
110
+ }
111
+ interface UseMultiSelectDropdownReturn<T = DropdownItem> {
112
+ isOpen: any;
113
+ query: any;
114
+ filter: any;
115
+ activeKey: any;
116
+ activeDescendantId: any;
117
+ listboxId: string;
118
+ settings: any;
119
+ filteredItems: any;
120
+ selectableItems: any;
121
+ selectedItems: any;
122
+ visibleBadges: any;
123
+ hiddenBadgeCount: any;
124
+ visibleOptions: any;
125
+ groups: any;
126
+ allFilteredSelected: any;
127
+ label: any;
128
+ open: () => void;
129
+ close: () => void;
130
+ toggleOpen: () => void;
131
+ clearSelection: () => void;
132
+ selectAll: (items?: T[]) => void;
133
+ deSelectAll: (items?: T[]) => void;
134
+ toggleGroup: (groupName: string, items: T[]) => void;
135
+ toggleItem: (item: T) => void;
136
+ selectItem: (item: T) => void;
137
+ removeItem: (item: T) => void;
138
+ removeLastSelectedItem: () => void;
139
+ isSelected: (item: T) => boolean;
140
+ setFilter: (value: string) => void;
141
+ getItemKey: (item: T) => string;
142
+ getItemLabel: (item: T) => string;
143
+ getRootProps: (props?: DropdownPropBag) => DropdownPropBag;
144
+ getTriggerProps: (props?: DropdownPropBag) => DropdownPropBag;
145
+ getSearchInputProps: (props?: DropdownPropBag) => DropdownPropBag;
146
+ getListboxProps: (props?: DropdownPropBag) => DropdownPropBag;
147
+ getOptionProps: (option: DropdownOptionState<T>, props?: DropdownPropBag) => DropdownPropBag;
148
+ getClearAllButtonProps: (props?: DropdownPropBag) => DropdownPropBag;
149
+ getRemoveButtonProps: (item: T, props?: DropdownPropBag) => DropdownPropBag;
150
+ }
60
151
  interface VueMultiselectDropdownHandle<T = DropdownItem> {
61
152
  openDropdown: () => void;
62
153
  closeDropdown: () => void;
@@ -155,6 +246,7 @@ declare const VueMultiselectDropdown: {
155
246
  methods: {
156
247
  getLabel(this: any, item: DropdownItem): string;
157
248
  getKey(this: any, item: DropdownItem): string;
249
+ getOptionId(this: any, key: string): string;
158
250
  isSelected(this: any, item: DropdownItem): any;
159
251
  visibleSelectableItems(this: any): any;
160
252
  emitSelection(this: any, items: DropdownItem[]): void;
@@ -168,6 +260,7 @@ declare const VueMultiselectDropdown: {
168
260
  selectGroup(this: any, groupName: string, items: DropdownItem[], event: Event): void;
169
261
  toggleItem(this: any, item: DropdownItem, event?: Event): void;
170
262
  removeItem(this: any, item: DropdownItem, event?: Event): void;
263
+ removeLastSelected(this: any): void;
171
264
  addFilterItem(this: any, event: Event): void;
172
265
  onTriggerKeydown(this: any, event: KeyboardEvent): void;
173
266
  onListKeydown(this: any, event: KeyboardEvent): void;
@@ -175,6 +268,7 @@ declare const VueMultiselectDropdown: {
175
268
  focusLastOption(this: any): void;
176
269
  focusOption(this: any, item: DropdownItem): void;
177
270
  onInlineKeydown(this: any, event: KeyboardEvent): void;
271
+ onRemoveButtonKeydown(this: any, item: DropdownItem, event: KeyboardEvent): void;
178
272
  onTriggerClick(this: any, event: Event): void;
179
273
  onDocumentClick(this: any, event: MouseEvent): void;
180
274
  onDocumentKeydown(this: any, event: KeyboardEvent): void;
@@ -266,6 +360,7 @@ declare const StacklineVueMultiselect: {
266
360
  methods: {
267
361
  getLabel(this: any, item: DropdownItem): string;
268
362
  getKey(this: any, item: DropdownItem): string;
363
+ getOptionId(this: any, key: string): string;
269
364
  isSelected(this: any, item: DropdownItem): any;
270
365
  visibleSelectableItems(this: any): any;
271
366
  emitSelection(this: any, items: DropdownItem[]): void;
@@ -279,6 +374,7 @@ declare const StacklineVueMultiselect: {
279
374
  selectGroup(this: any, groupName: string, items: DropdownItem[], event: Event): void;
280
375
  toggleItem(this: any, item: DropdownItem, event?: Event): void;
281
376
  removeItem(this: any, item: DropdownItem, event?: Event): void;
377
+ removeLastSelected(this: any): void;
282
378
  addFilterItem(this: any, event: Event): void;
283
379
  onTriggerKeydown(this: any, event: KeyboardEvent): void;
284
380
  onListKeydown(this: any, event: KeyboardEvent): void;
@@ -286,6 +382,7 @@ declare const StacklineVueMultiselect: {
286
382
  focusLastOption(this: any): void;
287
383
  focusOption(this: any, item: DropdownItem): void;
288
384
  onInlineKeydown(this: any, event: KeyboardEvent): void;
385
+ onRemoveButtonKeydown(this: any, item: DropdownItem, event: KeyboardEvent): void;
289
386
  onTriggerClick(this: any, event: Event): void;
290
387
  onDocumentClick(this: any, event: MouseEvent): void;
291
388
  onDocumentKeydown(this: any, event: KeyboardEvent): void;
@@ -297,6 +394,61 @@ declare const StacklineVueMultiselect: {
297
394
  render(this: any): any;
298
395
  };
299
396
 
397
+ declare function defineSettings<T extends DropdownItem>(settings: DropdownSettings<T>): DropdownSettings<T>;
398
+ declare function defineSlots<TSlots extends Record<string, any>>(slots: TSlots): TSlots;
399
+ declare function useMultiSelectState<T extends DropdownItem = DropdownItem>(options?: UseMultiSelectStateOptions<T>): {
400
+ data: vue.ComputedRef<T[]>;
401
+ settings: vue.ComputedRef<Required<Pick<DropdownSettings<T>, "singleSelection" | "text" | "searchBy" | "groupBy" | "labelKey" | "primaryKey">> & DropdownSettings<T>>;
402
+ filter: vue.Ref<string, string>;
403
+ filteredItems: vue.ComputedRef<T[]>;
404
+ selectableItems: vue.ComputedRef<T[]>;
405
+ selectedItems: vue.ComputedRef<T[]>;
406
+ visibleBadges: vue.ComputedRef<T[]>;
407
+ hiddenBadgeCount: vue.ComputedRef<number>;
408
+ allFilteredSelected: vue.ComputedRef<boolean>;
409
+ isSelected: (item: T) => boolean;
410
+ getItemKey: (item: T) => string;
411
+ getItemLabel: (item: T) => string;
412
+ setFilter: (value: string) => void;
413
+ selectItem: (item: T) => void;
414
+ removeItem: (item: T) => void;
415
+ removeLastSelectedItem: () => void;
416
+ toggleItem: (item: T) => void;
417
+ clearSelection: () => void;
418
+ selectAll: (items?: T[]) => void;
419
+ deSelectAll: (items?: T[]) => void;
420
+ toggleGroup: (groupName: string, items: T[]) => void;
421
+ };
422
+ declare function useMultiSelectDropdown<T extends DropdownItem = DropdownItem>(options?: UseMultiSelectStateOptions<T>): UseMultiSelectDropdownReturn<T>;
423
+ declare function createVueMultiselectDropdown<T extends DropdownItem>(): {
424
+ defineSettings: (settings: DropdownSettings<T>) => DropdownSettings<T>;
425
+ defineSlots: typeof defineSlots;
426
+ useMultiSelectState: (options?: UseMultiSelectStateOptions<T>) => {
427
+ data: vue.ComputedRef<T[]>;
428
+ settings: vue.ComputedRef<Required<Pick<DropdownSettings<T>, "singleSelection" | "text" | "searchBy" | "groupBy" | "labelKey" | "primaryKey">> & DropdownSettings<T>>;
429
+ filter: vue.Ref<string, string>;
430
+ filteredItems: vue.ComputedRef<T[]>;
431
+ selectableItems: vue.ComputedRef<T[]>;
432
+ selectedItems: vue.ComputedRef<T[]>;
433
+ visibleBadges: vue.ComputedRef<T[]>;
434
+ hiddenBadgeCount: vue.ComputedRef<number>;
435
+ allFilteredSelected: vue.ComputedRef<boolean>;
436
+ isSelected: (item: T) => boolean;
437
+ getItemKey: (item: T) => string;
438
+ getItemLabel: (item: T) => string;
439
+ setFilter: (value: string) => void;
440
+ selectItem: (item: T) => void;
441
+ removeItem: (item: T) => void;
442
+ removeLastSelectedItem: () => void;
443
+ toggleItem: (item: T) => void;
444
+ clearSelection: () => void;
445
+ selectAll: (items?: T[] | undefined) => void;
446
+ deSelectAll: (items?: T[] | undefined) => void;
447
+ toggleGroup: (groupName: string, items: T[]) => void;
448
+ };
449
+ useMultiSelectDropdown: (options?: UseMultiSelectStateOptions<T>) => UseMultiSelectDropdownReturn<T>;
450
+ };
451
+
300
452
  declare const VueMultiselect: VueMultiselectPlugin;
301
453
 
302
- export { type DropdownItem, type DropdownRenderContext, type DropdownSettings, type PrimitiveItem, StacklineVueMultiselect, VueMultiselect, VueMultiselectDropdown, type VueMultiselectDropdownHandle, type VueMultiselectPlugin, VueMultiselect as default };
454
+ export { type DropdownItem, type DropdownKeyboardSettings, type DropdownOptionState, type DropdownPropBag, type DropdownRenderContext, type DropdownSettings, type PrimitiveItem, StacklineVueMultiselect, type UseMultiSelectDropdownReturn, type UseMultiSelectStateOptions, VueMultiselect, VueMultiselectDropdown, type VueMultiselectDropdownHandle, type VueMultiselectPlugin, createVueMultiselectDropdown, VueMultiselect as default, defineSettings, defineSlots, useMultiSelectDropdown, useMultiSelectState };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,18 @@
1
+ import * as vue from 'vue';
2
+
1
3
  type PrimitiveItem = string | number | boolean;
2
4
  type DropdownItem = PrimitiveItem | Record<string, any>;
5
+ interface DropdownKeyboardSettings {
6
+ space?: boolean;
7
+ spaceOptionAction?: 'toggle' | 'toggle-and-next';
8
+ tab?: boolean;
9
+ arrows?: boolean;
10
+ escape?: boolean;
11
+ backspaceRemovesLastWhenSearchEmpty?: boolean;
12
+ deleteRemovesFocusedBadge?: boolean;
13
+ /** @deprecated Use `backspaceRemovesLastWhenSearchEmpty`. */
14
+ backspace?: boolean;
15
+ }
3
16
  interface DropdownSettings<T = DropdownItem> {
4
17
  singleSelection?: boolean;
5
18
  text?: string;
@@ -47,16 +60,94 @@ interface DropdownSettings<T = DropdownItem> {
47
60
  openDropdownAriaLabel?: string;
48
61
  closeDropdownAriaLabel?: string;
49
62
  loadingText?: string;
63
+ keyboard?: DropdownKeyboardSettings;
50
64
  }
51
65
  interface DropdownRenderContext<T = DropdownItem> {
52
66
  item: T;
53
67
  label: string;
54
68
  selected: boolean;
55
69
  disabled: boolean;
70
+ index?: number;
71
+ group?: string;
72
+ key?: string;
73
+ optionId?: string;
74
+ ariaSelected?: 'true' | 'false';
75
+ ariaChecked?: 'true' | 'false';
56
76
  query: string;
57
77
  toggle: () => void;
58
78
  remove: () => void;
59
79
  }
80
+ interface DropdownOptionState<T = DropdownItem> {
81
+ item: T;
82
+ key: string;
83
+ label: string;
84
+ selected: boolean;
85
+ disabled: boolean;
86
+ index: number;
87
+ group?: string;
88
+ }
89
+ interface DropdownPropBag {
90
+ [key: string]: any;
91
+ }
92
+ interface UseMultiSelectStateOptions<T = DropdownItem> {
93
+ data?: T[] | {
94
+ value: T[];
95
+ };
96
+ selectedItems?: T[] | {
97
+ value: T[];
98
+ };
99
+ defaultSelectedItems?: T[];
100
+ settings?: DropdownSettings<T> | {
101
+ value: DropdownSettings<T>;
102
+ };
103
+ onChange?: (items: T[]) => void;
104
+ onSelect?: (item: T) => void;
105
+ onDeSelect?: (item: T) => void;
106
+ onSelectAll?: (items: T[]) => void;
107
+ onDeSelectAll?: (items: T[]) => void;
108
+ onGroupSelect?: (groupName: string, items: T[]) => void;
109
+ onGroupDeSelect?: (groupName: string, items: T[]) => void;
110
+ }
111
+ interface UseMultiSelectDropdownReturn<T = DropdownItem> {
112
+ isOpen: any;
113
+ query: any;
114
+ filter: any;
115
+ activeKey: any;
116
+ activeDescendantId: any;
117
+ listboxId: string;
118
+ settings: any;
119
+ filteredItems: any;
120
+ selectableItems: any;
121
+ selectedItems: any;
122
+ visibleBadges: any;
123
+ hiddenBadgeCount: any;
124
+ visibleOptions: any;
125
+ groups: any;
126
+ allFilteredSelected: any;
127
+ label: any;
128
+ open: () => void;
129
+ close: () => void;
130
+ toggleOpen: () => void;
131
+ clearSelection: () => void;
132
+ selectAll: (items?: T[]) => void;
133
+ deSelectAll: (items?: T[]) => void;
134
+ toggleGroup: (groupName: string, items: T[]) => void;
135
+ toggleItem: (item: T) => void;
136
+ selectItem: (item: T) => void;
137
+ removeItem: (item: T) => void;
138
+ removeLastSelectedItem: () => void;
139
+ isSelected: (item: T) => boolean;
140
+ setFilter: (value: string) => void;
141
+ getItemKey: (item: T) => string;
142
+ getItemLabel: (item: T) => string;
143
+ getRootProps: (props?: DropdownPropBag) => DropdownPropBag;
144
+ getTriggerProps: (props?: DropdownPropBag) => DropdownPropBag;
145
+ getSearchInputProps: (props?: DropdownPropBag) => DropdownPropBag;
146
+ getListboxProps: (props?: DropdownPropBag) => DropdownPropBag;
147
+ getOptionProps: (option: DropdownOptionState<T>, props?: DropdownPropBag) => DropdownPropBag;
148
+ getClearAllButtonProps: (props?: DropdownPropBag) => DropdownPropBag;
149
+ getRemoveButtonProps: (item: T, props?: DropdownPropBag) => DropdownPropBag;
150
+ }
60
151
  interface VueMultiselectDropdownHandle<T = DropdownItem> {
61
152
  openDropdown: () => void;
62
153
  closeDropdown: () => void;
@@ -155,6 +246,7 @@ declare const VueMultiselectDropdown: {
155
246
  methods: {
156
247
  getLabel(this: any, item: DropdownItem): string;
157
248
  getKey(this: any, item: DropdownItem): string;
249
+ getOptionId(this: any, key: string): string;
158
250
  isSelected(this: any, item: DropdownItem): any;
159
251
  visibleSelectableItems(this: any): any;
160
252
  emitSelection(this: any, items: DropdownItem[]): void;
@@ -168,6 +260,7 @@ declare const VueMultiselectDropdown: {
168
260
  selectGroup(this: any, groupName: string, items: DropdownItem[], event: Event): void;
169
261
  toggleItem(this: any, item: DropdownItem, event?: Event): void;
170
262
  removeItem(this: any, item: DropdownItem, event?: Event): void;
263
+ removeLastSelected(this: any): void;
171
264
  addFilterItem(this: any, event: Event): void;
172
265
  onTriggerKeydown(this: any, event: KeyboardEvent): void;
173
266
  onListKeydown(this: any, event: KeyboardEvent): void;
@@ -175,6 +268,7 @@ declare const VueMultiselectDropdown: {
175
268
  focusLastOption(this: any): void;
176
269
  focusOption(this: any, item: DropdownItem): void;
177
270
  onInlineKeydown(this: any, event: KeyboardEvent): void;
271
+ onRemoveButtonKeydown(this: any, item: DropdownItem, event: KeyboardEvent): void;
178
272
  onTriggerClick(this: any, event: Event): void;
179
273
  onDocumentClick(this: any, event: MouseEvent): void;
180
274
  onDocumentKeydown(this: any, event: KeyboardEvent): void;
@@ -266,6 +360,7 @@ declare const StacklineVueMultiselect: {
266
360
  methods: {
267
361
  getLabel(this: any, item: DropdownItem): string;
268
362
  getKey(this: any, item: DropdownItem): string;
363
+ getOptionId(this: any, key: string): string;
269
364
  isSelected(this: any, item: DropdownItem): any;
270
365
  visibleSelectableItems(this: any): any;
271
366
  emitSelection(this: any, items: DropdownItem[]): void;
@@ -279,6 +374,7 @@ declare const StacklineVueMultiselect: {
279
374
  selectGroup(this: any, groupName: string, items: DropdownItem[], event: Event): void;
280
375
  toggleItem(this: any, item: DropdownItem, event?: Event): void;
281
376
  removeItem(this: any, item: DropdownItem, event?: Event): void;
377
+ removeLastSelected(this: any): void;
282
378
  addFilterItem(this: any, event: Event): void;
283
379
  onTriggerKeydown(this: any, event: KeyboardEvent): void;
284
380
  onListKeydown(this: any, event: KeyboardEvent): void;
@@ -286,6 +382,7 @@ declare const StacklineVueMultiselect: {
286
382
  focusLastOption(this: any): void;
287
383
  focusOption(this: any, item: DropdownItem): void;
288
384
  onInlineKeydown(this: any, event: KeyboardEvent): void;
385
+ onRemoveButtonKeydown(this: any, item: DropdownItem, event: KeyboardEvent): void;
289
386
  onTriggerClick(this: any, event: Event): void;
290
387
  onDocumentClick(this: any, event: MouseEvent): void;
291
388
  onDocumentKeydown(this: any, event: KeyboardEvent): void;
@@ -297,6 +394,61 @@ declare const StacklineVueMultiselect: {
297
394
  render(this: any): any;
298
395
  };
299
396
 
397
+ declare function defineSettings<T extends DropdownItem>(settings: DropdownSettings<T>): DropdownSettings<T>;
398
+ declare function defineSlots<TSlots extends Record<string, any>>(slots: TSlots): TSlots;
399
+ declare function useMultiSelectState<T extends DropdownItem = DropdownItem>(options?: UseMultiSelectStateOptions<T>): {
400
+ data: vue.ComputedRef<T[]>;
401
+ settings: vue.ComputedRef<Required<Pick<DropdownSettings<T>, "singleSelection" | "text" | "searchBy" | "groupBy" | "labelKey" | "primaryKey">> & DropdownSettings<T>>;
402
+ filter: vue.Ref<string, string>;
403
+ filteredItems: vue.ComputedRef<T[]>;
404
+ selectableItems: vue.ComputedRef<T[]>;
405
+ selectedItems: vue.ComputedRef<T[]>;
406
+ visibleBadges: vue.ComputedRef<T[]>;
407
+ hiddenBadgeCount: vue.ComputedRef<number>;
408
+ allFilteredSelected: vue.ComputedRef<boolean>;
409
+ isSelected: (item: T) => boolean;
410
+ getItemKey: (item: T) => string;
411
+ getItemLabel: (item: T) => string;
412
+ setFilter: (value: string) => void;
413
+ selectItem: (item: T) => void;
414
+ removeItem: (item: T) => void;
415
+ removeLastSelectedItem: () => void;
416
+ toggleItem: (item: T) => void;
417
+ clearSelection: () => void;
418
+ selectAll: (items?: T[]) => void;
419
+ deSelectAll: (items?: T[]) => void;
420
+ toggleGroup: (groupName: string, items: T[]) => void;
421
+ };
422
+ declare function useMultiSelectDropdown<T extends DropdownItem = DropdownItem>(options?: UseMultiSelectStateOptions<T>): UseMultiSelectDropdownReturn<T>;
423
+ declare function createVueMultiselectDropdown<T extends DropdownItem>(): {
424
+ defineSettings: (settings: DropdownSettings<T>) => DropdownSettings<T>;
425
+ defineSlots: typeof defineSlots;
426
+ useMultiSelectState: (options?: UseMultiSelectStateOptions<T>) => {
427
+ data: vue.ComputedRef<T[]>;
428
+ settings: vue.ComputedRef<Required<Pick<DropdownSettings<T>, "singleSelection" | "text" | "searchBy" | "groupBy" | "labelKey" | "primaryKey">> & DropdownSettings<T>>;
429
+ filter: vue.Ref<string, string>;
430
+ filteredItems: vue.ComputedRef<T[]>;
431
+ selectableItems: vue.ComputedRef<T[]>;
432
+ selectedItems: vue.ComputedRef<T[]>;
433
+ visibleBadges: vue.ComputedRef<T[]>;
434
+ hiddenBadgeCount: vue.ComputedRef<number>;
435
+ allFilteredSelected: vue.ComputedRef<boolean>;
436
+ isSelected: (item: T) => boolean;
437
+ getItemKey: (item: T) => string;
438
+ getItemLabel: (item: T) => string;
439
+ setFilter: (value: string) => void;
440
+ selectItem: (item: T) => void;
441
+ removeItem: (item: T) => void;
442
+ removeLastSelectedItem: () => void;
443
+ toggleItem: (item: T) => void;
444
+ clearSelection: () => void;
445
+ selectAll: (items?: T[] | undefined) => void;
446
+ deSelectAll: (items?: T[] | undefined) => void;
447
+ toggleGroup: (groupName: string, items: T[]) => void;
448
+ };
449
+ useMultiSelectDropdown: (options?: UseMultiSelectStateOptions<T>) => UseMultiSelectDropdownReturn<T>;
450
+ };
451
+
300
452
  declare const VueMultiselect: VueMultiselectPlugin;
301
453
 
302
- export { type DropdownItem, type DropdownRenderContext, type DropdownSettings, type PrimitiveItem, StacklineVueMultiselect, VueMultiselect, VueMultiselectDropdown, type VueMultiselectDropdownHandle, type VueMultiselectPlugin, VueMultiselect as default };
454
+ export { type DropdownItem, type DropdownKeyboardSettings, type DropdownOptionState, type DropdownPropBag, type DropdownRenderContext, type DropdownSettings, type PrimitiveItem, StacklineVueMultiselect, type UseMultiSelectDropdownReturn, type UseMultiSelectStateOptions, VueMultiselect, VueMultiselectDropdown, type VueMultiselectDropdownHandle, type VueMultiselectPlugin, createVueMultiselectDropdown, VueMultiselect as default, defineSettings, defineSlots, useMultiSelectDropdown, useMultiSelectState };