@clr/angular 13.3.2 → 13.4.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/clarity.api.md +59 -5
- package/data/tree-view/tree.d.ts +2 -5
- package/esm2020/data/datagrid/datagrid-action-overflow.mjs +1 -3
- package/esm2020/data/tree-view/tree.mjs +19 -22
- package/esm2020/forms/combobox/options.mjs +5 -1
- package/esm2020/forms/combobox/providers/combobox-focus-handler.service.mjs +9 -2
- package/esm2020/utils/index.mjs +2 -1
- package/esm2020/utils/list-key-navigation/index.mjs +10 -0
- package/esm2020/utils/list-key-navigation/key-navigation-list.mjs +120 -0
- package/esm2020/utils/list-key-navigation/key-navigation-list.module.mjs +24 -0
- package/esm2020/utils/list-key-navigation/providers/focusable-items.mjs +25 -0
- package/esm2020/utils/list-key-navigation/providers/key-navigation-list.config.mjs +19 -0
- package/esm2020/utils/list-key-navigation/utils.mjs +46 -0
- package/fesm2015/clr-angular.mjs +248 -25
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +256 -25
- package/fesm2020/clr-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/utils/index.d.ts +1 -0
- package/utils/list-key-navigation/index.d.ts +4 -0
- package/utils/list-key-navigation/key-navigation-list.d.ts +30 -0
- package/utils/list-key-navigation/key-navigation-list.module.d.ts +7 -0
- package/utils/list-key-navigation/providers/focusable-items.d.ts +3 -0
- package/utils/list-key-navigation/providers/key-navigation-list.config.d.ts +3 -0
- package/utils/list-key-navigation/utils.d.ts +11 -0
package/fesm2020/clr-angular.mjs
CHANGED
|
@@ -9,8 +9,8 @@ import { Subject, BehaviorSubject, fromEvent, isObservable, of, ReplaySubject, c
|
|
|
9
9
|
import { trigger, transition, style, animate, keyframes, state } from '@angular/animations';
|
|
10
10
|
import * as i1 from '@angular/forms';
|
|
11
11
|
import { FormControl, FormGroup, FormsModule, SelectMultipleControlValueAccessor } from '@angular/forms';
|
|
12
|
+
import { KeyNavigationCode, initializeKeyListItems, validKeyNavigationCode, setActiveKeyListItem, getFlattenedFocusableItems, focusElement, FocusTrapTrackerService, createId, isFocusable, isHTMLElement } from '@cds/core/internal';
|
|
12
13
|
import * as i1$1 from '@angular/router';
|
|
13
|
-
import { FocusTrapTrackerService, createId, isFocusable, isHTMLElement } from '@cds/core/internal';
|
|
14
14
|
import '@cds/core/internal-components/close-button/register.js';
|
|
15
15
|
import '@cds/core/icon/register';
|
|
16
16
|
|
|
@@ -5829,7 +5829,14 @@ class ComboboxFocusHandler {
|
|
|
5829
5829
|
firstActive = this.selectionService.selectionModel.model;
|
|
5830
5830
|
}
|
|
5831
5831
|
const activeProxy = this.optionData.find(option => option.value === firstActive);
|
|
5832
|
-
|
|
5832
|
+
if (activeProxy) {
|
|
5833
|
+
// active element is visible
|
|
5834
|
+
this.pseudoFocus.select(activeProxy);
|
|
5835
|
+
}
|
|
5836
|
+
else {
|
|
5837
|
+
// we have active element, but it's filtered out
|
|
5838
|
+
this.pseudoFocus.select(this.optionData[0]);
|
|
5839
|
+
}
|
|
5833
5840
|
}
|
|
5834
5841
|
}
|
|
5835
5842
|
}
|
|
@@ -6427,6 +6434,10 @@ class ClrOptions {
|
|
|
6427
6434
|
event.target !== this.focusHandler.textInput) {
|
|
6428
6435
|
this.toggleService.open = false;
|
|
6429
6436
|
}
|
|
6437
|
+
}), this.items.changes.subscribe(() => {
|
|
6438
|
+
setTimeout(() => {
|
|
6439
|
+
this.focusHandler.focusFirstActive();
|
|
6440
|
+
});
|
|
6430
6441
|
}));
|
|
6431
6442
|
}
|
|
6432
6443
|
ngOnDestroy() {
|
|
@@ -15742,7 +15753,6 @@ ClrDatagridActionOverflow.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.
|
|
|
15742
15753
|
|
|
15743
15754
|
<div
|
|
15744
15755
|
class="datagrid-action-overflow"
|
|
15745
|
-
role="menu"
|
|
15746
15756
|
[id]="popoverId"
|
|
15747
15757
|
[attr.aria-hidden]="!open"
|
|
15748
15758
|
[attr.id]="popoverId"
|
|
@@ -15776,7 +15786,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
15776
15786
|
|
|
15777
15787
|
<div
|
|
15778
15788
|
class="datagrid-action-overflow"
|
|
15779
|
-
role="menu"
|
|
15780
15789
|
[id]="popoverId"
|
|
15781
15790
|
[attr.aria-hidden]="!open"
|
|
15782
15791
|
[attr.id]="popoverId"
|
|
@@ -16741,6 +16750,232 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
16741
16750
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
16742
16751
|
*/
|
|
16743
16752
|
|
|
16753
|
+
/*
|
|
16754
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
16755
|
+
* This software is released under MIT license.
|
|
16756
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
16757
|
+
*/
|
|
16758
|
+
const FOCUSABLE_ELEMENT_SELECTORS = new InjectionToken('FocusableElements');
|
|
16759
|
+
const FOCUSABLE_ELEMENT_SELECTORS_PROVIDER = {
|
|
16760
|
+
provide: FOCUSABLE_ELEMENT_SELECTORS,
|
|
16761
|
+
useValue: [
|
|
16762
|
+
'a[href]',
|
|
16763
|
+
'area[href]',
|
|
16764
|
+
'input:not([disabled])',
|
|
16765
|
+
'button:not([disabled])',
|
|
16766
|
+
'select:not([disabled])',
|
|
16767
|
+
'textarea:not([disabled])',
|
|
16768
|
+
'iframe',
|
|
16769
|
+
'object',
|
|
16770
|
+
'embed',
|
|
16771
|
+
'*[tabindex]',
|
|
16772
|
+
'*[contenteditable=true]',
|
|
16773
|
+
'[role=button]:not([disabled])',
|
|
16774
|
+
],
|
|
16775
|
+
};
|
|
16776
|
+
|
|
16777
|
+
/*
|
|
16778
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
16779
|
+
* This software is released under MIT license.
|
|
16780
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
16781
|
+
*/
|
|
16782
|
+
const CLR_LIST_KEY_NAVIGATION_CONFIG = new InjectionToken('ClrListKeyNavigationConfig');
|
|
16783
|
+
const CLR_LIST_KEY_NAVIGATION_COFNIG_PROVIDER = {
|
|
16784
|
+
provide: CLR_LIST_KEY_NAVIGATION_CONFIG,
|
|
16785
|
+
useValue: {
|
|
16786
|
+
keyListItems: 'keyListItems',
|
|
16787
|
+
layout: 'vertical',
|
|
16788
|
+
manageFocus: true,
|
|
16789
|
+
manageTabindex: true,
|
|
16790
|
+
loop: false,
|
|
16791
|
+
dir: null,
|
|
16792
|
+
},
|
|
16793
|
+
};
|
|
16794
|
+
|
|
16795
|
+
/*
|
|
16796
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
16797
|
+
* This software is released under MIT license.
|
|
16798
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
16799
|
+
*/
|
|
16800
|
+
function getNextKeyListItem(item, items, config) {
|
|
16801
|
+
const { code, layout, loop, dir } = config;
|
|
16802
|
+
let i = items.indexOf(item);
|
|
16803
|
+
const previous = i;
|
|
16804
|
+
const inlineStart = dir === 'rtl' ? KeyNavigationCode.ArrowRight : KeyNavigationCode.ArrowLeft;
|
|
16805
|
+
const inlineEnd = dir === 'rtl' ? KeyNavigationCode.ArrowLeft : KeyNavigationCode.ArrowRight;
|
|
16806
|
+
const numOfItems = items.length - 1;
|
|
16807
|
+
if (layout !== 'horizontal' && code === KeyNavigationCode.ArrowUp && i !== 0) {
|
|
16808
|
+
i = i - 1;
|
|
16809
|
+
}
|
|
16810
|
+
else if (layout !== 'horizontal' && code === KeyNavigationCode.ArrowUp && i === 0 && loop) {
|
|
16811
|
+
i = numOfItems;
|
|
16812
|
+
}
|
|
16813
|
+
else if (layout !== 'horizontal' && code === KeyNavigationCode.ArrowDown && i < numOfItems) {
|
|
16814
|
+
i = i + 1;
|
|
16815
|
+
}
|
|
16816
|
+
else if (layout !== 'horizontal' && code === KeyNavigationCode.ArrowDown && i === numOfItems && loop) {
|
|
16817
|
+
i = 0;
|
|
16818
|
+
}
|
|
16819
|
+
else if (layout !== 'vertical' && code === inlineStart && i !== 0) {
|
|
16820
|
+
i = i - 1;
|
|
16821
|
+
}
|
|
16822
|
+
else if (layout !== 'vertical' && code === inlineEnd && i < numOfItems) {
|
|
16823
|
+
i = i + 1;
|
|
16824
|
+
}
|
|
16825
|
+
else if (code === KeyNavigationCode.End) {
|
|
16826
|
+
i = numOfItems;
|
|
16827
|
+
}
|
|
16828
|
+
else if (code === KeyNavigationCode.Home) {
|
|
16829
|
+
i = 0;
|
|
16830
|
+
}
|
|
16831
|
+
else if (code === KeyNavigationCode.PageUp) {
|
|
16832
|
+
i = i - 4 > 0 ? i - 4 : 0;
|
|
16833
|
+
}
|
|
16834
|
+
else if (code === KeyNavigationCode.PageDown) {
|
|
16835
|
+
i = i + 4 < numOfItems ? i + 4 : numOfItems;
|
|
16836
|
+
}
|
|
16837
|
+
return { next: i, previous };
|
|
16838
|
+
}
|
|
16839
|
+
|
|
16840
|
+
/*
|
|
16841
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
16842
|
+
* This software is released under MIT license.
|
|
16843
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
16844
|
+
*/
|
|
16845
|
+
class ClrKeyNavigationList {
|
|
16846
|
+
constructor(host, defaultConfig, focusableElementSelectors) {
|
|
16847
|
+
this.host = host;
|
|
16848
|
+
this.defaultConfig = defaultConfig;
|
|
16849
|
+
this.focusableElementSelectors = focusableElementSelectors;
|
|
16850
|
+
this.config = {
|
|
16851
|
+
...this.defaultConfig,
|
|
16852
|
+
dir: this.getClosestDirAttribute(),
|
|
16853
|
+
};
|
|
16854
|
+
}
|
|
16855
|
+
set configuration(config) {
|
|
16856
|
+
this.config = {
|
|
16857
|
+
...this.defaultConfig,
|
|
16858
|
+
dir: this.getClosestDirAttribute(),
|
|
16859
|
+
...config,
|
|
16860
|
+
};
|
|
16861
|
+
}
|
|
16862
|
+
ngAfterViewInit() {
|
|
16863
|
+
this.initializeTabIndex();
|
|
16864
|
+
}
|
|
16865
|
+
onClick(e) {
|
|
16866
|
+
this.clickItem(e);
|
|
16867
|
+
}
|
|
16868
|
+
onKeyDown(e) {
|
|
16869
|
+
this.focusItem(e);
|
|
16870
|
+
}
|
|
16871
|
+
initializeTabIndex() {
|
|
16872
|
+
if (this.config.manageFocus && this.config.manageTabindex) {
|
|
16873
|
+
initializeKeyListItems(this.getListItems());
|
|
16874
|
+
}
|
|
16875
|
+
}
|
|
16876
|
+
clickItem(e) {
|
|
16877
|
+
const activeItem = this.getActiveItem(e);
|
|
16878
|
+
if (activeItem) {
|
|
16879
|
+
this.setActiveItem(e, activeItem);
|
|
16880
|
+
}
|
|
16881
|
+
}
|
|
16882
|
+
focusItem(e) {
|
|
16883
|
+
if (validKeyNavigationCode(e)) {
|
|
16884
|
+
const activeItem = this.getActiveItem(e);
|
|
16885
|
+
if (activeItem) {
|
|
16886
|
+
const listItems = this.getListItems();
|
|
16887
|
+
const { next, previous } = getNextKeyListItem(activeItem, Array.from(listItems), {
|
|
16888
|
+
...this.config,
|
|
16889
|
+
dir: this.getClosestDirAttribute(),
|
|
16890
|
+
code: e.code,
|
|
16891
|
+
});
|
|
16892
|
+
if (next !== previous) {
|
|
16893
|
+
this.setActiveItem(e, listItems[next], listItems[previous]);
|
|
16894
|
+
}
|
|
16895
|
+
}
|
|
16896
|
+
}
|
|
16897
|
+
}
|
|
16898
|
+
getActiveItem(e) {
|
|
16899
|
+
const listItems = this.getListItems();
|
|
16900
|
+
return Array.from(listItems).find(c => c === e.target.closest(listItems[0].tagName.toLocaleLowerCase()) ?? c === e.target);
|
|
16901
|
+
}
|
|
16902
|
+
setActiveItem(e, activeItem, previousItem) {
|
|
16903
|
+
if (this.config.manageFocus) {
|
|
16904
|
+
if (this.config.manageTabindex) {
|
|
16905
|
+
setActiveKeyListItem(this.getListItems(), activeItem);
|
|
16906
|
+
}
|
|
16907
|
+
const items = getFlattenedFocusableItems(activeItem);
|
|
16908
|
+
const item = items[0] ?? activeItem;
|
|
16909
|
+
focusElement(item);
|
|
16910
|
+
e.preventDefault();
|
|
16911
|
+
}
|
|
16912
|
+
activeItem.dispatchEvent(new CustomEvent('cdsKeyChange', {
|
|
16913
|
+
bubbles: true,
|
|
16914
|
+
detail: {
|
|
16915
|
+
activeItem,
|
|
16916
|
+
previousItem,
|
|
16917
|
+
code: e.code,
|
|
16918
|
+
metaKey: e.ctrlKey || e.metaKey,
|
|
16919
|
+
keyListItems: this.config.keyListItems,
|
|
16920
|
+
},
|
|
16921
|
+
}));
|
|
16922
|
+
}
|
|
16923
|
+
getListItems() {
|
|
16924
|
+
return this.host.nativeElement.querySelectorAll(this.focusableElementSelectors.join(','));
|
|
16925
|
+
}
|
|
16926
|
+
getClosestDirAttribute() {
|
|
16927
|
+
const el = this.host.nativeElement.closest('[dir]');
|
|
16928
|
+
return el ? el.getAttribute('dir') : null;
|
|
16929
|
+
}
|
|
16930
|
+
}
|
|
16931
|
+
ClrKeyNavigationList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ClrKeyNavigationList, deps: [{ token: i0.ElementRef }, { token: CLR_LIST_KEY_NAVIGATION_CONFIG }, { token: FOCUSABLE_ELEMENT_SELECTORS }], target: i0.ɵɵFactoryTarget.Directive });
|
|
16932
|
+
ClrKeyNavigationList.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ClrKeyNavigationList, selector: "[clrKeyNavigationList]", inputs: { configuration: "configuration" }, host: { listeners: { "click": "onClick($event)", "keydown": "onKeyDown($event)" } }, ngImport: i0 });
|
|
16933
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ClrKeyNavigationList, decorators: [{
|
|
16934
|
+
type: Directive,
|
|
16935
|
+
args: [{
|
|
16936
|
+
selector: '[clrKeyNavigationList]',
|
|
16937
|
+
}]
|
|
16938
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
16939
|
+
type: Inject,
|
|
16940
|
+
args: [CLR_LIST_KEY_NAVIGATION_CONFIG]
|
|
16941
|
+
}] }, { type: undefined, decorators: [{
|
|
16942
|
+
type: Inject,
|
|
16943
|
+
args: [FOCUSABLE_ELEMENT_SELECTORS]
|
|
16944
|
+
}] }]; }, propDecorators: { configuration: [{
|
|
16945
|
+
type: Input
|
|
16946
|
+
}], onClick: [{
|
|
16947
|
+
type: HostListener,
|
|
16948
|
+
args: ['click', ['$event']]
|
|
16949
|
+
}], onKeyDown: [{
|
|
16950
|
+
type: HostListener,
|
|
16951
|
+
args: ['keydown', ['$event']]
|
|
16952
|
+
}] } });
|
|
16953
|
+
|
|
16954
|
+
/*
|
|
16955
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
16956
|
+
* This software is released under MIT license.
|
|
16957
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
16958
|
+
*/
|
|
16959
|
+
class ClrKeyNavigationListModule {
|
|
16960
|
+
}
|
|
16961
|
+
ClrKeyNavigationListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ClrKeyNavigationListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
16962
|
+
ClrKeyNavigationListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ClrKeyNavigationListModule, declarations: [ClrKeyNavigationList], exports: [ClrKeyNavigationList] });
|
|
16963
|
+
ClrKeyNavigationListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ClrKeyNavigationListModule, providers: [CLR_LIST_KEY_NAVIGATION_COFNIG_PROVIDER, FOCUSABLE_ELEMENT_SELECTORS_PROVIDER] });
|
|
16964
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ClrKeyNavigationListModule, decorators: [{
|
|
16965
|
+
type: NgModule,
|
|
16966
|
+
args: [{
|
|
16967
|
+
declarations: [ClrKeyNavigationList],
|
|
16968
|
+
exports: [ClrKeyNavigationList],
|
|
16969
|
+
providers: [CLR_LIST_KEY_NAVIGATION_COFNIG_PROVIDER, FOCUSABLE_ELEMENT_SELECTORS_PROVIDER],
|
|
16970
|
+
}]
|
|
16971
|
+
}] });
|
|
16972
|
+
|
|
16973
|
+
/*
|
|
16974
|
+
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
16975
|
+
* This software is released under MIT license.
|
|
16976
|
+
* The full license information can be found in LICENSE in the root directory of this project.
|
|
16977
|
+
*/
|
|
16978
|
+
|
|
16744
16979
|
/*
|
|
16745
16980
|
* Copyright (c) 2016-2022 VMware, Inc. All Rights Reserved.
|
|
16746
16981
|
* This software is released under MIT license.
|
|
@@ -19656,12 +19891,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
19656
19891
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
19657
19892
|
*/
|
|
19658
19893
|
class ClrTree {
|
|
19659
|
-
constructor(featuresService, focusManagerService,
|
|
19894
|
+
constructor(featuresService, focusManagerService, { nativeElement }, renderer, ngZone) {
|
|
19660
19895
|
this.featuresService = featuresService;
|
|
19661
19896
|
this.focusManagerService = focusManagerService;
|
|
19662
|
-
this.el = el;
|
|
19663
19897
|
this.subscriptions = [];
|
|
19664
|
-
|
|
19898
|
+
const subscription = ngZone.runOutsideAngular(() => fromEvent(nativeElement, 'focusin').subscribe((event) => {
|
|
19899
|
+
if (event.target === nativeElement) {
|
|
19900
|
+
// After discussing with the team, I've made it so that when the tree receives focus, the first visible node will be focused.
|
|
19901
|
+
// This will prevent from the page scrolling abruptly to the first selected node if it exist in a deeply nested tree.
|
|
19902
|
+
this.focusManagerService.focusFirstVisibleNode();
|
|
19903
|
+
// when the first child gets focus,
|
|
19904
|
+
// tree should no longer have tabindex of 0.
|
|
19905
|
+
renderer.removeAttribute(nativeElement, 'tabindex');
|
|
19906
|
+
}
|
|
19907
|
+
}));
|
|
19908
|
+
this.subscriptions.push(subscription);
|
|
19665
19909
|
}
|
|
19666
19910
|
set lazy(value) {
|
|
19667
19911
|
this.featuresService.eager = !value;
|
|
@@ -19669,16 +19913,6 @@ class ClrTree {
|
|
|
19669
19913
|
get isMultiSelectable() {
|
|
19670
19914
|
return this.featuresService.selectable && this.rootNodes.length > 0;
|
|
19671
19915
|
}
|
|
19672
|
-
onFocusIn(event) {
|
|
19673
|
-
if (event.target === this.el.nativeElement) {
|
|
19674
|
-
// After discussing with the team, I've made it so that when the tree receives focus, the first visible node will be focused.
|
|
19675
|
-
// This will prevent from the page scrolling abruptly to the first selected node if it exist in a deeply nested tree.
|
|
19676
|
-
this.focusManagerService.focusFirstVisibleNode();
|
|
19677
|
-
// when the first child gets focus,
|
|
19678
|
-
// tree should no longer have tabindex of 0;
|
|
19679
|
-
delete this.tabindex;
|
|
19680
|
-
}
|
|
19681
|
-
}
|
|
19682
19916
|
ngAfterContentInit() {
|
|
19683
19917
|
this.setRootNodes();
|
|
19684
19918
|
this.subscriptions.push(this.rootNodes.changes.subscribe(() => {
|
|
@@ -19695,8 +19929,8 @@ class ClrTree {
|
|
|
19695
19929
|
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
19696
19930
|
}
|
|
19697
19931
|
}
|
|
19698
|
-
ClrTree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ClrTree, deps: [{ token: TreeFeaturesService }, { token: TreeFocusManagerService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
19699
|
-
ClrTree.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ClrTree, selector: "clr-tree", inputs: { lazy: ["clrLazy", "lazy"] }, host: {
|
|
19932
|
+
ClrTree.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ClrTree, deps: [{ token: TreeFeaturesService }, { token: TreeFocusManagerService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
19933
|
+
ClrTree.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ClrTree, selector: "clr-tree", inputs: { lazy: ["clrLazy", "lazy"] }, host: { attributes: { "tabindex": "0" }, properties: { "attr.role": "\"tree\"", "attr.aria-multiselectable": "isMultiSelectable" } }, providers: [TREE_FEATURES_PROVIDER, TreeFocusManagerService], queries: [{ propertyName: "rootNodes", predicate: ClrTreeNode }], ngImport: i0, template: `
|
|
19700
19934
|
<ng-content></ng-content>
|
|
19701
19935
|
<clr-recursive-children
|
|
19702
19936
|
*ngIf="featuresService.recursion"
|
|
@@ -19716,17 +19950,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
|
|
|
19716
19950
|
`,
|
|
19717
19951
|
providers: [TREE_FEATURES_PROVIDER, TreeFocusManagerService],
|
|
19718
19952
|
host: {
|
|
19719
|
-
|
|
19953
|
+
tabindex: '0',
|
|
19720
19954
|
'[attr.role]': '"tree"',
|
|
19721
19955
|
'[attr.aria-multiselectable]': 'isMultiSelectable',
|
|
19722
19956
|
},
|
|
19723
19957
|
}]
|
|
19724
|
-
}], ctorParameters: function () { return [{ type: TreeFeaturesService }, { type: TreeFocusManagerService }, { type: i0.ElementRef }]; }, propDecorators: { lazy: [{
|
|
19958
|
+
}], ctorParameters: function () { return [{ type: TreeFeaturesService }, { type: TreeFocusManagerService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: { lazy: [{
|
|
19725
19959
|
type: Input,
|
|
19726
19960
|
args: ['clrLazy']
|
|
19727
|
-
}], onFocusIn: [{
|
|
19728
|
-
type: HostListener,
|
|
19729
|
-
args: ['focusin', ['$event']]
|
|
19730
19961
|
}], rootNodes: [{
|
|
19731
19962
|
type: ContentChildren,
|
|
19732
19963
|
args: [ClrTreeNode]
|
|
@@ -27583,5 +27814,5 @@ const CLR_MENU_POSITIONS = [
|
|
|
27583
27814
|
* Generated bundle index. Do not edit.
|
|
27584
27815
|
*/
|
|
27585
27816
|
|
|
27586
|
-
export { CLR_ALERT_DIRECTIVES, CLR_BUTTON_GROUP_DIRECTIVES, CLR_DATAGRID_DIRECTIVES, CLR_DATEPICKER_DIRECTIVES, CLR_DRAG_AND_DROP_DIRECTIVES, CLR_DROPDOWN_DIRECTIVES, CLR_ICON_DIRECTIVES, CLR_LAYOUT_DIRECTIVES, CLR_LOADING_BUTTON_DIRECTIVES, CLR_LOADING_DIRECTIVES, CLR_MENU_POSITIONS, CLR_MODAL_DIRECTIVES, CLR_NAVIGATION_DIRECTIVES, CLR_PROGRESS_BAR_DIRECTIVES, CLR_SIGNPOST_DIRECTIVES, CLR_SPINNER_DIRECTIVES, CLR_STACK_VIEW_DIRECTIVES, CLR_TABS_DIRECTIVES, CLR_TOOLTIP_DIRECTIVES, CLR_TREE_VIEW_DIRECTIVES, CLR_VERTICAL_NAV_DIRECTIVES, CLR_WIZARD_DIRECTIVES, CONDITIONAL_DIRECTIVES, CUSTOM_BUTTON_TYPES, CdsIconCustomTag, ClarityModule, ClrAbstractContainer, ClrAccordion, ClrAccordionContent, ClrAccordionDescription, ClrAccordionModule, ClrAccordionPanel, ClrAccordionTitle, ClrAlert, ClrAlertItem, ClrAlertModule, ClrAlertText, ClrAlerts, ClrAlertsPager, ClrAlignment, ClrAriaCurrentLink, ClrAriaLivePoliteness, ClrAriaLiveService, ClrAxis, ClrButton, ClrButtonGroup, ClrButtonGroupModule, ClrButtonModule, ClrCalendar, ClrCheckbox, ClrCheckboxContainer, ClrCheckboxModule, ClrCheckboxWrapper, ClrCombobox, ClrComboboxContainer, ClrComboboxModule, ClrCommonFormsModule, ClrCommonStringsService, ClrConditionalModule, ClrControl, ClrControlContainer, ClrControlError, ClrControlHelper, ClrControlSuccess, ClrDataModule, ClrDatagrid, ClrDatagridActionBar, ClrDatagridActionOverflow, ClrDatagridCell, ClrDatagridColumn, ClrDatagridColumnSeparator, ClrDatagridColumnToggle, ClrDatagridColumnToggleButton, ClrDatagridColumnToggleTitle, ClrDatagridDetail, ClrDatagridDetailBody, ClrDatagridDetailHeader, ClrDatagridFilter, ClrDatagridFooter, ClrDatagridHideableColumn, ClrDatagridItems, ClrDatagridItemsTrackBy, ClrDatagridModule, ClrDatagridPageSize, ClrDatagridPagination, ClrDatagridPlaceholder, ClrDatagridRow, ClrDatagridRowDetail, ClrDatagridSortOrder, ClrDatalist, ClrDatalistContainer, ClrDatalistInput, ClrDatalistModule, ClrDateContainer, ClrDateInput, ClrDatepickerModule, ClrDatepickerViewManager, ClrDay, ClrDaypicker, ClrDestroyService, ClrDragAndDropModule, ClrDragEvent, ClrDragHandle, ClrDraggable, ClrDraggableGhost, ClrDropdown, ClrDropdownItem, ClrDropdownMenu, ClrDropdownModule, ClrDropdownTrigger, ClrDroppable, ClrEmphasisModule, ClrExpandableAnimation, ClrFocusOnViewInit, ClrFocusOnViewInitModule, ClrForTypeAhead, ClrForTypeAheadModule, ClrForm, ClrFormLayout, ClrFormsModule, ClrHeader, ClrIconCustomTag, ClrIconModule, ClrIfActive, ClrIfDetail, ClrIfDragged, ClrIfError, ClrIfExpanded, ClrIfOpen, ClrIfSuccess, ClrInput, ClrInputContainer, ClrInputModule, ClrLabel, ClrLayout, ClrLayoutModule, ClrLoading, ClrLoadingButton, ClrLoadingButtonModule, ClrLoadingModule, ClrLoadingState, ClrMainContainer, ClrMainContainerModule, ClrModal, ClrModalBody, ClrModalModule, ClrMonthpicker, ClrNavLevel, ClrNavigationModule, ClrOption, ClrOptionItems, ClrOptionSelected, ClrOptions, ClrPassword, ClrPasswordContainer, ClrPasswordModule, ClrPopoverAnchor, ClrPopoverContent, ClrPopoverEventsService, ClrPopoverModule, ClrPopoverPositionService, ClrPopoverToggleService, ClrProgressBar, ClrProgressBarModule, ClrRadio, ClrRadioContainer, ClrRadioModule, ClrRadioWrapper, ClrRange, ClrRangeContainer, ClrRangeModule, ClrRecursiveForOf, ClrSelect, ClrSelectContainer, ClrSelectModule, ClrSelectedState, ClrSide, ClrSignpost, ClrSignpostContent, ClrSignpostModule, ClrSignpostTrigger, ClrSpinner, ClrSpinnerModule, ClrStackBlock, ClrStackContentInput, ClrStackHeader, ClrStackInput, ClrStackSelect, ClrStackView, ClrStackViewCustomTags, ClrStackViewLabel, ClrStackViewModule, ClrStepButton, ClrStepButtonType, ClrStepper, ClrStepperModule, ClrStepperPanel, ClrTab, ClrTabContent, ClrTabLink, ClrTabOverflowContent, ClrTabs, ClrTabsModule, ClrTextarea, ClrTextareaContainer, ClrTextareaModule, ClrTimeline, ClrTimelineLayout, ClrTimelineModule, ClrTimelineStep, ClrTimelineStepDescription, ClrTimelineStepHeader, ClrTimelineStepState, ClrTimelineStepTitle, ClrTooltip, ClrTooltipContent, ClrTooltipModule, ClrTooltipTrigger, ClrTree, ClrTreeNode, ClrTreeNodeLink, ClrTreeViewModule, ClrVerticalNav, ClrVerticalNavGroup, ClrVerticalNavGroupChildren, ClrVerticalNavIcon, ClrVerticalNavLink, ClrVerticalNavModule, ClrWizard, ClrWizardButton, ClrWizardCustomTags, ClrWizardHeaderAction, ClrWizardModule, ClrWizardPage, ClrWizardPageButtons, ClrWizardPageHeaderActions, ClrWizardPageNavTitle, ClrWizardPageTitle, ClrWizardStepnav, ClrWizardStepnavItem, ClrYearpicker, DEFAULT_BUTTON_TYPES, DatagridNumericFilter, DatagridPropertyComparator, DatagridPropertyNumericFilter, DatagridPropertyStringFilter, DatagridStringFilter, EXPANDABLE_ANIMATION_DIRECTIVES, FOCUS_ON_VIEW_INIT, FOCUS_ON_VIEW_INIT_DIRECTIVES, IS_TOGGLE, IS_TOGGLE_PROVIDER, LoadingListener, MainContainerWillyWonka, NavDetectionOompaLoompa, TOGGLE_SERVICE, TOGGLE_SERVICE_PROVIDER, ToggleServiceFactory, WrappedFormControl, collapse, commonStringsDefault, fade, fadeSlide, isToggleFactory, slide, AccordionOompaLoompa as ÇlrAccordionOompaLoompa, AccordionWillyWonka as ÇlrAccordionWillyWonka, ActionableOompaLoompa as ÇlrActionableOompaLoompa, ActiveOompaLoompa as ÇlrActiveOompaLoompa, ClrFocusTrapModule as ÇlrClrFocusTrapModule, ClrPopoverCloseButton as ÇlrClrPopoverCloseButton, ClrPopoverModuleNext as ÇlrClrPopoverModuleNext, ClrPopoverOpenCloseButton as ÇlrClrPopoverOpenCloseButton, DatagridCellRenderer as ÇlrDatagridCellRenderer, DatagridDetailRegisterer as ÇlrDatagridDetailRegisterer, DatagridHeaderRenderer as ÇlrDatagridHeaderRenderer, DatagridMainRenderer as ÇlrDatagridMainRenderer, DatagridRowRenderer as ÇlrDatagridRowRenderer, DatagridWillyWonka as ÇlrDatagridWillyWonka, ExpandableOompaLoompa as ÇlrExpandableOompaLoompa, FocusTrapDirective as ÇlrFocusTrapDirective, FocusTrapTracker as ÇlrFocusTrapTracker, StepperOompaLoompa as ÇlrStepperOompaLoompa, StepperWillyWonka as ÇlrStepperWillyWonka, TabsWillyWonka as ÇlrTabsWillyWonka, WrappedCell as ÇlrWrappedCell, WrappedColumn as ÇlrWrappedColumn, WrappedRow as ÇlrWrappedRow };
|
|
27817
|
+
export { CLR_ALERT_DIRECTIVES, CLR_BUTTON_GROUP_DIRECTIVES, CLR_DATAGRID_DIRECTIVES, CLR_DATEPICKER_DIRECTIVES, CLR_DRAG_AND_DROP_DIRECTIVES, CLR_DROPDOWN_DIRECTIVES, CLR_ICON_DIRECTIVES, CLR_LAYOUT_DIRECTIVES, CLR_LIST_KEY_NAVIGATION_COFNIG_PROVIDER, CLR_LIST_KEY_NAVIGATION_CONFIG, CLR_LOADING_BUTTON_DIRECTIVES, CLR_LOADING_DIRECTIVES, CLR_MENU_POSITIONS, CLR_MODAL_DIRECTIVES, CLR_NAVIGATION_DIRECTIVES, CLR_PROGRESS_BAR_DIRECTIVES, CLR_SIGNPOST_DIRECTIVES, CLR_SPINNER_DIRECTIVES, CLR_STACK_VIEW_DIRECTIVES, CLR_TABS_DIRECTIVES, CLR_TOOLTIP_DIRECTIVES, CLR_TREE_VIEW_DIRECTIVES, CLR_VERTICAL_NAV_DIRECTIVES, CLR_WIZARD_DIRECTIVES, CONDITIONAL_DIRECTIVES, CUSTOM_BUTTON_TYPES, CdsIconCustomTag, ClarityModule, ClrAbstractContainer, ClrAccordion, ClrAccordionContent, ClrAccordionDescription, ClrAccordionModule, ClrAccordionPanel, ClrAccordionTitle, ClrAlert, ClrAlertItem, ClrAlertModule, ClrAlertText, ClrAlerts, ClrAlertsPager, ClrAlignment, ClrAriaCurrentLink, ClrAriaLivePoliteness, ClrAriaLiveService, ClrAxis, ClrButton, ClrButtonGroup, ClrButtonGroupModule, ClrButtonModule, ClrCalendar, ClrCheckbox, ClrCheckboxContainer, ClrCheckboxModule, ClrCheckboxWrapper, ClrCombobox, ClrComboboxContainer, ClrComboboxModule, ClrCommonFormsModule, ClrCommonStringsService, ClrConditionalModule, ClrControl, ClrControlContainer, ClrControlError, ClrControlHelper, ClrControlSuccess, ClrDataModule, ClrDatagrid, ClrDatagridActionBar, ClrDatagridActionOverflow, ClrDatagridCell, ClrDatagridColumn, ClrDatagridColumnSeparator, ClrDatagridColumnToggle, ClrDatagridColumnToggleButton, ClrDatagridColumnToggleTitle, ClrDatagridDetail, ClrDatagridDetailBody, ClrDatagridDetailHeader, ClrDatagridFilter, ClrDatagridFooter, ClrDatagridHideableColumn, ClrDatagridItems, ClrDatagridItemsTrackBy, ClrDatagridModule, ClrDatagridPageSize, ClrDatagridPagination, ClrDatagridPlaceholder, ClrDatagridRow, ClrDatagridRowDetail, ClrDatagridSortOrder, ClrDatalist, ClrDatalistContainer, ClrDatalistInput, ClrDatalistModule, ClrDateContainer, ClrDateInput, ClrDatepickerModule, ClrDatepickerViewManager, ClrDay, ClrDaypicker, ClrDestroyService, ClrDragAndDropModule, ClrDragEvent, ClrDragHandle, ClrDraggable, ClrDraggableGhost, ClrDropdown, ClrDropdownItem, ClrDropdownMenu, ClrDropdownModule, ClrDropdownTrigger, ClrDroppable, ClrEmphasisModule, ClrExpandableAnimation, ClrFocusOnViewInit, ClrFocusOnViewInitModule, ClrForTypeAhead, ClrForTypeAheadModule, ClrForm, ClrFormLayout, ClrFormsModule, ClrHeader, ClrIconCustomTag, ClrIconModule, ClrIfActive, ClrIfDetail, ClrIfDragged, ClrIfError, ClrIfExpanded, ClrIfOpen, ClrIfSuccess, ClrInput, ClrInputContainer, ClrInputModule, ClrKeyNavigationList, ClrKeyNavigationListModule, ClrLabel, ClrLayout, ClrLayoutModule, ClrLoading, ClrLoadingButton, ClrLoadingButtonModule, ClrLoadingModule, ClrLoadingState, ClrMainContainer, ClrMainContainerModule, ClrModal, ClrModalBody, ClrModalModule, ClrMonthpicker, ClrNavLevel, ClrNavigationModule, ClrOption, ClrOptionItems, ClrOptionSelected, ClrOptions, ClrPassword, ClrPasswordContainer, ClrPasswordModule, ClrPopoverAnchor, ClrPopoverContent, ClrPopoverEventsService, ClrPopoverModule, ClrPopoverPositionService, ClrPopoverToggleService, ClrProgressBar, ClrProgressBarModule, ClrRadio, ClrRadioContainer, ClrRadioModule, ClrRadioWrapper, ClrRange, ClrRangeContainer, ClrRangeModule, ClrRecursiveForOf, ClrSelect, ClrSelectContainer, ClrSelectModule, ClrSelectedState, ClrSide, ClrSignpost, ClrSignpostContent, ClrSignpostModule, ClrSignpostTrigger, ClrSpinner, ClrSpinnerModule, ClrStackBlock, ClrStackContentInput, ClrStackHeader, ClrStackInput, ClrStackSelect, ClrStackView, ClrStackViewCustomTags, ClrStackViewLabel, ClrStackViewModule, ClrStepButton, ClrStepButtonType, ClrStepper, ClrStepperModule, ClrStepperPanel, ClrTab, ClrTabContent, ClrTabLink, ClrTabOverflowContent, ClrTabs, ClrTabsModule, ClrTextarea, ClrTextareaContainer, ClrTextareaModule, ClrTimeline, ClrTimelineLayout, ClrTimelineModule, ClrTimelineStep, ClrTimelineStepDescription, ClrTimelineStepHeader, ClrTimelineStepState, ClrTimelineStepTitle, ClrTooltip, ClrTooltipContent, ClrTooltipModule, ClrTooltipTrigger, ClrTree, ClrTreeNode, ClrTreeNodeLink, ClrTreeViewModule, ClrVerticalNav, ClrVerticalNavGroup, ClrVerticalNavGroupChildren, ClrVerticalNavIcon, ClrVerticalNavLink, ClrVerticalNavModule, ClrWizard, ClrWizardButton, ClrWizardCustomTags, ClrWizardHeaderAction, ClrWizardModule, ClrWizardPage, ClrWizardPageButtons, ClrWizardPageHeaderActions, ClrWizardPageNavTitle, ClrWizardPageTitle, ClrWizardStepnav, ClrWizardStepnavItem, ClrYearpicker, DEFAULT_BUTTON_TYPES, DatagridNumericFilter, DatagridPropertyComparator, DatagridPropertyNumericFilter, DatagridPropertyStringFilter, DatagridStringFilter, EXPANDABLE_ANIMATION_DIRECTIVES, FOCUSABLE_ELEMENT_SELECTORS, FOCUSABLE_ELEMENT_SELECTORS_PROVIDER, FOCUS_ON_VIEW_INIT, FOCUS_ON_VIEW_INIT_DIRECTIVES, IS_TOGGLE, IS_TOGGLE_PROVIDER, LoadingListener, MainContainerWillyWonka, NavDetectionOompaLoompa, TOGGLE_SERVICE, TOGGLE_SERVICE_PROVIDER, ToggleServiceFactory, WrappedFormControl, collapse, commonStringsDefault, fade, fadeSlide, isToggleFactory, slide, AccordionOompaLoompa as ÇlrAccordionOompaLoompa, AccordionWillyWonka as ÇlrAccordionWillyWonka, ActionableOompaLoompa as ÇlrActionableOompaLoompa, ActiveOompaLoompa as ÇlrActiveOompaLoompa, ClrFocusTrapModule as ÇlrClrFocusTrapModule, ClrPopoverCloseButton as ÇlrClrPopoverCloseButton, ClrPopoverModuleNext as ÇlrClrPopoverModuleNext, ClrPopoverOpenCloseButton as ÇlrClrPopoverOpenCloseButton, DatagridCellRenderer as ÇlrDatagridCellRenderer, DatagridDetailRegisterer as ÇlrDatagridDetailRegisterer, DatagridHeaderRenderer as ÇlrDatagridHeaderRenderer, DatagridMainRenderer as ÇlrDatagridMainRenderer, DatagridRowRenderer as ÇlrDatagridRowRenderer, DatagridWillyWonka as ÇlrDatagridWillyWonka, ExpandableOompaLoompa as ÇlrExpandableOompaLoompa, FocusTrapDirective as ÇlrFocusTrapDirective, FocusTrapTracker as ÇlrFocusTrapTracker, StepperOompaLoompa as ÇlrStepperOompaLoompa, StepperWillyWonka as ÇlrStepperWillyWonka, TabsWillyWonka as ÇlrTabsWillyWonka, WrappedCell as ÇlrWrappedCell, WrappedColumn as ÇlrWrappedColumn, WrappedRow as ÇlrWrappedRow };
|
|
27587
27818
|
//# sourceMappingURL=clr-angular.mjs.map
|