@stackline/angular-multiselect-dropdown 21.0.2 → 21.1.0

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/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "$schema": "../../../node_modules/ng-packagr/package.schema.json",
3
3
  "name": "@stackline/angular-multiselect-dropdown",
4
- "version": "21.0.2",
4
+ "version": "21.1.0",
5
5
  "license": "MIT",
6
6
  "author": "Pradeep Terli (Original), Alexandro Paixao Marques (Maintainer)",
7
- "description": "Angular multiselect dropdown for maintained release lines from Angular 2 through Angular 21, with search, grouping, custom templates, checkbox selection, reactive and template-driven forms support, and Material-inspired theming from Angular 14 onward.",
7
+ "description": "Angular multiselect dropdown for maintained release lines from Angular 2 through Angular 21, with search, grouping, custom templates, checkbox selection, reactive and template-driven forms support, Material-inspired theming, and ADA-compliant keyboard/ARIA accessibility support.",
8
8
  "keywords": [
9
9
  "angular",
10
10
  "angular-library",
@@ -35,6 +35,11 @@
35
35
  "ngmodel",
36
36
  "formcontrolname",
37
37
  "forms",
38
+ "accessibility",
39
+ "a11y",
40
+ "aria",
41
+ "keyboard-navigation",
42
+ "ada-compliant",
38
43
  "ui-component",
39
44
  "material-inspired",
40
45
  "material-like",
@@ -61,10 +66,6 @@
61
66
  "@angular/forms": ">=21.0.0 <22.0.0",
62
67
  "@angular/common": ">=21.0.0 <22.0.0"
63
68
  },
64
- "dependencies": {
65
- "@tweenjs/tween.js": "^17.4.0",
66
- "tslib": "^2.3.0"
67
- },
68
69
  "repository": {
69
70
  "type": "git",
70
71
  "url": "git+https://github.com/alexandroit/angular-multiselect-dropdown.git"
@@ -87,5 +88,8 @@
87
88
  }
88
89
  },
89
90
  "sideEffects": false,
90
- "type": "module"
91
+ "type": "module",
92
+ "dependencies": {
93
+ "tslib": "^2.3.0"
94
+ }
91
95
  }
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { PipeTransform, TemplateRef, OnInit, OnDestroy, ViewContainerRef, EmbeddedViewRef, ElementRef, EventEmitter, OnChanges, Renderer2, NgZone, ChangeDetectorRef, AfterViewChecked, SimpleChanges } from '@angular/core';
2
+ import { PipeTransform, TemplateRef, OnInit, OnDestroy, ViewContainerRef, EmbeddedViewRef, OnChanges, ElementRef, Renderer2, NgZone, ChangeDetectorRef, EventEmitter, AfterViewChecked, SimpleChanges } from '@angular/core';
3
3
  import * as i5 from '@angular/forms';
4
4
  import { ControlValueAccessor, Validator, UntypedFormControl } from '@angular/forms';
5
5
  import { Observable, Subject, Subscription } from 'rxjs';
@@ -29,6 +29,8 @@ interface DropdownSettings {
29
29
  lazyLoading?: boolean;
30
30
  labelKey?: string;
31
31
  primaryKey?: string;
32
+ theme?: string;
33
+ skin?: string;
32
34
  position?: string;
33
35
  loading?: boolean;
34
36
  selectGroup?: boolean;
@@ -38,6 +40,16 @@ interface DropdownSettings {
38
40
  autoPosition?: boolean;
39
41
  clearAll?: boolean;
40
42
  tagToBody?: boolean;
43
+ ariaLabel?: string;
44
+ ariaLabelledBy?: string;
45
+ listboxAriaLabel?: string;
46
+ searchAriaLabel?: string;
47
+ clearSearchAriaLabel?: string;
48
+ clearAllAriaLabel?: string;
49
+ removeItemAriaLabel?: string;
50
+ openDropdownAriaLabel?: string;
51
+ closeDropdownAriaLabel?: string;
52
+ loadingText?: string;
41
53
  }
42
54
 
43
55
  declare class DataService {
@@ -95,41 +107,6 @@ declare class CIcon {
95
107
  static ɵcmp: i0.ɵɵComponentDeclaration<CIcon, "c-icon", never, { "name": { "alias": "name"; "required": false; }; }, {}, never, never, false, never>;
96
108
  }
97
109
 
98
- declare class ClickOutsideDirective {
99
- private _elementRef;
100
- constructor(_elementRef: ElementRef);
101
- clickOutside: EventEmitter<Event>;
102
- onClick(event: Event, targetElement: EventTarget | null): void;
103
- static ɵfac: i0.ɵɵFactoryDeclaration<ClickOutsideDirective, never>;
104
- static ɵdir: i0.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[clickOutside]", never, {}, { "clickOutside": "clickOutside"; }, never, never, false, never>;
105
- }
106
- declare class ScrollDirective {
107
- private _elementRef;
108
- constructor(_elementRef: ElementRef);
109
- scroll: EventEmitter<Event>;
110
- onClick(event: Event): void;
111
- static ɵfac: i0.ɵɵFactoryDeclaration<ScrollDirective, never>;
112
- static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollDirective, "[scroll]", never, {}, { "scroll": "scroll"; }, never, never, false, never>;
113
- }
114
- declare class styleDirective {
115
- private el;
116
- constructor(el: ElementRef);
117
- styleVal: number;
118
- ngOnInit(): void;
119
- ngOnChanges(): void;
120
- static ɵfac: i0.ɵɵFactoryDeclaration<styleDirective, never>;
121
- static ɵdir: i0.ɵɵDirectiveDeclaration<styleDirective, "[styleProp]", never, { "styleVal": { "alias": "styleProp"; "required": false; }; }, {}, never, never, false, never>;
122
- }
123
- declare class setPosition implements OnInit, OnChanges {
124
- el: ElementRef;
125
- height: number;
126
- constructor(el: ElementRef);
127
- ngOnInit(): void;
128
- ngOnChanges(): void;
129
- static ɵfac: i0.ɵɵFactoryDeclaration<setPosition, never>;
130
- static ɵdir: i0.ɵɵDirectiveDeclaration<setPosition, "[setPosition]", never, { "height": { "alias": "setPosition"; "required": false; }; }, {}, never, never, false, never>;
131
- }
132
-
133
110
  interface VirtualScrollerDefaultOptions {
134
111
  scrollThrottlingTime: number;
135
112
  scrollDebounceTime: number;
@@ -277,7 +254,9 @@ declare class VirtualScrollerComponent implements OnInit, OnChanges, OnDestroy {
277
254
  protected calculatedScrollbarHeight: number;
278
255
  protected padding: number;
279
256
  protected previousViewPort: IViewport;
280
- protected currentTween: any;
257
+ protected currentTween: {
258
+ stop: () => void;
259
+ } | undefined;
281
260
  protected cachedItemsLength: number;
282
261
  protected disposeScrollHandler: () => void | undefined;
283
262
  protected disposeResizeHandler: () => void | undefined;
@@ -307,6 +286,41 @@ declare class VirtualScrollerModule {
307
286
  static ɵinj: i0.ɵɵInjectorDeclaration<VirtualScrollerModule>;
308
287
  }
309
288
 
289
+ declare class ClickOutsideDirective {
290
+ private _elementRef;
291
+ constructor(_elementRef: ElementRef);
292
+ clickOutside: EventEmitter<Event>;
293
+ onClick(event: Event, targetElement: EventTarget | null): void;
294
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClickOutsideDirective, never>;
295
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[clickOutside]", never, {}, { "clickOutside": "clickOutside"; }, never, never, false, never>;
296
+ }
297
+ declare class ScrollDirective {
298
+ private _elementRef;
299
+ constructor(_elementRef: ElementRef);
300
+ scroll: EventEmitter<Event>;
301
+ onClick(event: Event): void;
302
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScrollDirective, never>;
303
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollDirective, "[scroll]", never, {}, { "scroll": "scroll"; }, never, never, false, never>;
304
+ }
305
+ declare class styleDirective {
306
+ private el;
307
+ constructor(el: ElementRef);
308
+ styleVal: number;
309
+ ngOnInit(): void;
310
+ ngOnChanges(): void;
311
+ static ɵfac: i0.ɵɵFactoryDeclaration<styleDirective, never>;
312
+ static ɵdir: i0.ɵɵDirectiveDeclaration<styleDirective, "[styleProp]", never, { "styleVal": { "alias": "styleProp"; "required": false; }; }, {}, never, never, false, never>;
313
+ }
314
+ declare class setPosition implements OnInit, OnChanges {
315
+ el: ElementRef;
316
+ height: number;
317
+ constructor(el: ElementRef);
318
+ ngOnInit(): void;
319
+ ngOnChanges(): void;
320
+ static ɵfac: i0.ɵɵFactoryDeclaration<setPosition, never>;
321
+ static ɵdir: i0.ɵɵDirectiveDeclaration<setPosition, "[setPosition]", never, { "height": { "alias": "setPosition"; "required": false; }; }, {}, never, never, false, never>;
322
+ }
323
+
310
324
  declare class AngularMultiSelect implements OnInit, ControlValueAccessor, OnChanges, Validator, AfterViewChecked, OnDestroy {
311
325
  _elementRef: ElementRef;
312
326
  private cdr;
@@ -333,6 +347,7 @@ declare class AngularMultiSelect implements OnInit, ControlValueAccessor, OnChan
333
347
  selectedListElem: ElementRef;
334
348
  dropdownListElem: ElementRef;
335
349
  stacklineDropdown: ElementRef;
350
+ triggerButton: ElementRef;
336
351
  onEscapeDown(event: Event): void;
337
352
  onScroll(event: any): void;
338
353
  virtualdata: any;
@@ -370,6 +385,8 @@ declare class AngularMultiSelect implements OnInit, ControlValueAccessor, OnChan
370
385
  dropDownBottom: string | null;
371
386
  dropDownLeft: number;
372
387
  id: any;
388
+ listboxId: string;
389
+ activeDescendantId: string | null;
373
390
  defaultSettings: DropdownSettings;
374
391
  randomSize: boolean;
375
392
  parseError: boolean;
@@ -379,6 +396,43 @@ declare class AngularMultiSelect implements OnInit, ControlValueAccessor, OnChan
379
396
  isDisabledItemPresent: boolean;
380
397
  constructor(_elementRef: ElementRef, cdr: ChangeDetectorRef, filterPipe: ListFilterPipe);
381
398
  ngOnInit(): void;
399
+ getThemeName(): string;
400
+ getDropdownClasses(): string;
401
+ getAriaLabel(): string;
402
+ getListboxAriaLabel(): string;
403
+ getSearchAriaLabel(): string;
404
+ getClearSearchAriaLabel(): string;
405
+ getClearAllAriaLabel(): string;
406
+ getOpenDropdownAriaLabel(): string;
407
+ getCloseDropdownAriaLabel(): string;
408
+ getItemLabel(item: any): string;
409
+ getRemoveItemAriaLabel(item: any): string;
410
+ getOptionId(item: any, index: number, prefix?: string): string;
411
+ isOptionDisabled(item: any): boolean;
412
+ setActiveDescendant(item: any, index: number, prefix?: string): void;
413
+ getVisibleBadgeLimit(): number;
414
+ shouldShowSelectedBadge(index: number): boolean;
415
+ getHiddenSelectedCount(): number;
416
+ getVirtualItemIndex(item: any, fallbackIndex: number, scroller?: VirtualScrollerComponent): number;
417
+ private isTriggerChildAction;
418
+ onTriggerKeydown(evt: KeyboardEvent): void;
419
+ onOptionKeydown(item: any, index: number, evt: KeyboardEvent, prefix?: string, scroller?: VirtualScrollerComponent): void;
420
+ onGroupKeydown(item: any, index: number, evt: KeyboardEvent, prefix?: string): void;
421
+ onInlineActionKeydown(evt: KeyboardEvent): void;
422
+ onArrowButtonKeydown(evt: KeyboardEvent): void;
423
+ onSearchKeydown(evt: KeyboardEvent): void;
424
+ onSelectAllKeydown(evt: KeyboardEvent, action: 'filter' | 'infinite-filter'): void;
425
+ focusTrigger(): void;
426
+ private getOptionElements;
427
+ private focusOptionByIndex;
428
+ focusFirstOption(): void;
429
+ focusLastOption(): void;
430
+ focusNextOption(): void;
431
+ focusPreviousOption(): void;
432
+ private focusVirtualOptionByDirection;
433
+ private getNextFocusableVirtualIndex;
434
+ private scheduleFocusVirtualOptionByIndex;
435
+ private focusVirtualOptionByIndex;
382
436
  onKeyUp(evt: any): void;
383
437
  ngOnChanges(changes: SimpleChanges): void;
384
438
  ngDoCheck(): void;