@stackline/angular-multiselect-dropdown 21.0.3 → 21.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/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.3",
4
+ "version": "21.1.1",
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",
@@ -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,7 @@ interface DropdownSettings {
29
29
  lazyLoading?: boolean;
30
30
  labelKey?: string;
31
31
  primaryKey?: string;
32
+ /** @deprecated Use `skin` instead. Kept as a compatibility alias. */
32
33
  theme?: string;
33
34
  skin?: string;
34
35
  position?: string;
@@ -40,6 +41,16 @@ interface DropdownSettings {
40
41
  autoPosition?: boolean;
41
42
  clearAll?: boolean;
42
43
  tagToBody?: boolean;
44
+ ariaLabel?: string;
45
+ ariaLabelledBy?: string;
46
+ listboxAriaLabel?: string;
47
+ searchAriaLabel?: string;
48
+ clearSearchAriaLabel?: string;
49
+ clearAllAriaLabel?: string;
50
+ removeItemAriaLabel?: string;
51
+ openDropdownAriaLabel?: string;
52
+ closeDropdownAriaLabel?: string;
53
+ loadingText?: string;
43
54
  }
44
55
 
45
56
  declare class DataService {
@@ -97,41 +108,6 @@ declare class CIcon {
97
108
  static ɵcmp: i0.ɵɵComponentDeclaration<CIcon, "c-icon", never, { "name": { "alias": "name"; "required": false; }; }, {}, never, never, false, never>;
98
109
  }
99
110
 
100
- declare class ClickOutsideDirective {
101
- private _elementRef;
102
- constructor(_elementRef: ElementRef);
103
- clickOutside: EventEmitter<Event>;
104
- onClick(event: Event, targetElement: EventTarget | null): void;
105
- static ɵfac: i0.ɵɵFactoryDeclaration<ClickOutsideDirective, never>;
106
- static ɵdir: i0.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[clickOutside]", never, {}, { "clickOutside": "clickOutside"; }, never, never, false, never>;
107
- }
108
- declare class ScrollDirective {
109
- private _elementRef;
110
- constructor(_elementRef: ElementRef);
111
- scroll: EventEmitter<Event>;
112
- onClick(event: Event): void;
113
- static ɵfac: i0.ɵɵFactoryDeclaration<ScrollDirective, never>;
114
- static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollDirective, "[scroll]", never, {}, { "scroll": "scroll"; }, never, never, false, never>;
115
- }
116
- declare class styleDirective {
117
- private el;
118
- constructor(el: ElementRef);
119
- styleVal: number;
120
- ngOnInit(): void;
121
- ngOnChanges(): void;
122
- static ɵfac: i0.ɵɵFactoryDeclaration<styleDirective, never>;
123
- static ɵdir: i0.ɵɵDirectiveDeclaration<styleDirective, "[styleProp]", never, { "styleVal": { "alias": "styleProp"; "required": false; }; }, {}, never, never, false, never>;
124
- }
125
- declare class setPosition implements OnInit, OnChanges {
126
- el: ElementRef;
127
- height: number;
128
- constructor(el: ElementRef);
129
- ngOnInit(): void;
130
- ngOnChanges(): void;
131
- static ɵfac: i0.ɵɵFactoryDeclaration<setPosition, never>;
132
- static ɵdir: i0.ɵɵDirectiveDeclaration<setPosition, "[setPosition]", never, { "height": { "alias": "setPosition"; "required": false; }; }, {}, never, never, false, never>;
133
- }
134
-
135
111
  interface VirtualScrollerDefaultOptions {
136
112
  scrollThrottlingTime: number;
137
113
  scrollDebounceTime: number;
@@ -311,6 +287,41 @@ declare class VirtualScrollerModule {
311
287
  static ɵinj: i0.ɵɵInjectorDeclaration<VirtualScrollerModule>;
312
288
  }
313
289
 
290
+ declare class ClickOutsideDirective {
291
+ private _elementRef;
292
+ constructor(_elementRef: ElementRef);
293
+ clickOutside: EventEmitter<Event>;
294
+ onClick(event: Event, targetElement: EventTarget | null): void;
295
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClickOutsideDirective, never>;
296
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[clickOutside]", never, {}, { "clickOutside": "clickOutside"; }, never, never, false, never>;
297
+ }
298
+ declare class ScrollDirective {
299
+ private _elementRef;
300
+ constructor(_elementRef: ElementRef);
301
+ scroll: EventEmitter<Event>;
302
+ onClick(event: Event): void;
303
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScrollDirective, never>;
304
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollDirective, "[scroll]", never, {}, { "scroll": "scroll"; }, never, never, false, never>;
305
+ }
306
+ declare class styleDirective {
307
+ private el;
308
+ constructor(el: ElementRef);
309
+ styleVal: number;
310
+ ngOnInit(): void;
311
+ ngOnChanges(): void;
312
+ static ɵfac: i0.ɵɵFactoryDeclaration<styleDirective, never>;
313
+ static ɵdir: i0.ɵɵDirectiveDeclaration<styleDirective, "[styleProp]", never, { "styleVal": { "alias": "styleProp"; "required": false; }; }, {}, never, never, false, never>;
314
+ }
315
+ declare class setPosition implements OnInit, OnChanges {
316
+ el: ElementRef;
317
+ height: number;
318
+ constructor(el: ElementRef);
319
+ ngOnInit(): void;
320
+ ngOnChanges(): void;
321
+ static ɵfac: i0.ɵɵFactoryDeclaration<setPosition, never>;
322
+ static ɵdir: i0.ɵɵDirectiveDeclaration<setPosition, "[setPosition]", never, { "height": { "alias": "setPosition"; "required": false; }; }, {}, never, never, false, never>;
323
+ }
324
+
314
325
  declare class AngularMultiSelect implements OnInit, ControlValueAccessor, OnChanges, Validator, AfterViewChecked, OnDestroy {
315
326
  _elementRef: ElementRef;
316
327
  private cdr;
@@ -337,6 +348,7 @@ declare class AngularMultiSelect implements OnInit, ControlValueAccessor, OnChan
337
348
  selectedListElem: ElementRef;
338
349
  dropdownListElem: ElementRef;
339
350
  stacklineDropdown: ElementRef;
351
+ triggerButton: ElementRef;
340
352
  onEscapeDown(event: Event): void;
341
353
  onScroll(event: any): void;
342
354
  virtualdata: any;
@@ -369,11 +381,13 @@ declare class AngularMultiSelect implements OnInit, ControlValueAccessor, OnChan
369
381
  item: any;
370
382
  dropdownListYOffset: number;
371
383
  subscription: Subscription;
372
- dropDownWidth: number;
384
+ dropDownWidth: number | null;
373
385
  dropDownTop: string | null;
374
386
  dropDownBottom: string | null;
375
- dropDownLeft: number;
387
+ dropDownLeft: number | null;
376
388
  id: any;
389
+ listboxId: string;
390
+ activeDescendantId: string | null;
377
391
  defaultSettings: DropdownSettings;
378
392
  randomSize: boolean;
379
393
  parseError: boolean;
@@ -383,8 +397,43 @@ declare class AngularMultiSelect implements OnInit, ControlValueAccessor, OnChan
383
397
  isDisabledItemPresent: boolean;
384
398
  constructor(_elementRef: ElementRef, cdr: ChangeDetectorRef, filterPipe: ListFilterPipe);
385
399
  ngOnInit(): void;
386
- getThemeName(): string;
400
+ getSkinName(): string;
387
401
  getDropdownClasses(): string;
402
+ getAriaLabel(): string;
403
+ getListboxAriaLabel(): string;
404
+ getSearchAriaLabel(): string;
405
+ getClearSearchAriaLabel(): string;
406
+ getClearAllAriaLabel(): string;
407
+ getOpenDropdownAriaLabel(): string;
408
+ getCloseDropdownAriaLabel(): string;
409
+ getItemLabel(item: any): string;
410
+ getRemoveItemAriaLabel(item: any): string;
411
+ getOptionId(item: any, index: number, prefix?: string): string;
412
+ isOptionDisabled(item: any): boolean;
413
+ setActiveDescendant(item: any, index: number, prefix?: string): void;
414
+ getVisibleBadgeLimit(): number;
415
+ shouldShowSelectedBadge(index: number): boolean;
416
+ getHiddenSelectedCount(): number;
417
+ getVirtualItemIndex(item: any, fallbackIndex: number, scroller?: VirtualScrollerComponent): number;
418
+ private isTriggerChildAction;
419
+ onTriggerKeydown(evt: KeyboardEvent): void;
420
+ onOptionKeydown(item: any, index: number, evt: KeyboardEvent, prefix?: string, scroller?: VirtualScrollerComponent): void;
421
+ onGroupKeydown(item: any, index: number, evt: KeyboardEvent, prefix?: string): void;
422
+ onInlineActionKeydown(evt: KeyboardEvent): void;
423
+ onArrowButtonKeydown(evt: KeyboardEvent): void;
424
+ onSearchKeydown(evt: KeyboardEvent): void;
425
+ onSelectAllKeydown(evt: KeyboardEvent, action: 'filter' | 'infinite-filter'): void;
426
+ focusTrigger(): void;
427
+ private getOptionElements;
428
+ private focusOptionByIndex;
429
+ focusFirstOption(): void;
430
+ focusLastOption(): void;
431
+ focusNextOption(): void;
432
+ focusPreviousOption(): void;
433
+ private focusVirtualOptionByDirection;
434
+ private getNextFocusableVirtualIndex;
435
+ private scheduleFocusVirtualOptionByIndex;
436
+ private focusVirtualOptionByIndex;
388
437
  onKeyUp(evt: any): void;
389
438
  ngOnChanges(changes: SimpleChanges): void;
390
439
  ngDoCheck(): void;