@clr/angular 13.11.0 → 13.11.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/clarity.api.md +2 -8
- package/esm2020/popover/dropdown/dropdown-item.mjs +30 -17
- package/fesm2015/clr-angular.mjs +28 -15
- package/fesm2015/clr-angular.mjs.map +1 -1
- package/fesm2020/clr-angular.mjs +28 -15
- package/fesm2020/clr-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/popover/dropdown/dropdown-item.d.ts +6 -9
package/clarity.api.md
CHANGED
|
@@ -2240,9 +2240,9 @@ export class ClrDropdown implements OnDestroy {
|
|
|
2240
2240
|
}
|
|
2241
2241
|
|
|
2242
2242
|
// @public (undocumented)
|
|
2243
|
-
export class ClrDropdownItem
|
|
2243
|
+
export class ClrDropdownItem {
|
|
2244
2244
|
// Warning: (ae-forgotten-export) The symbol "FocusableItem" needs to be exported by the entry point index.d.ts
|
|
2245
|
-
constructor(dropdown: ClrDropdown,
|
|
2245
|
+
constructor(dropdown: ClrDropdown, _dropdownService: RootDropdownService, focusableItem: FocusableItem);
|
|
2246
2246
|
set disabled(value: boolean | string);
|
|
2247
2247
|
// (undocumented)
|
|
2248
2248
|
get disabled(): boolean | string;
|
|
@@ -2253,12 +2253,6 @@ export class ClrDropdownItem implements AfterViewInit {
|
|
|
2253
2253
|
// (undocumented)
|
|
2254
2254
|
get dropdownItemId(): string;
|
|
2255
2255
|
// (undocumented)
|
|
2256
|
-
ngAfterViewInit(): void;
|
|
2257
|
-
// (undocumented)
|
|
2258
|
-
ngOnDestroy(): void;
|
|
2259
|
-
// (undocumented)
|
|
2260
|
-
onDropdownItemClick(): void;
|
|
2261
|
-
// (undocumented)
|
|
2262
2256
|
setByDeprecatedDisabled: boolean;
|
|
2263
2257
|
// (undocumented)
|
|
2264
2258
|
static ɵdir: i0.ɵɵDirectiveDeclaration<ClrDropdownItem, "[clrDropdownItem]", never, { "disabled": "clrDisabled"; "disabledDeprecated": "disabled"; "dropdownItemId": "id"; }, {}, never>;
|
|
@@ -3,18 +3,16 @@
|
|
|
3
3
|
* This software is released under MIT license.
|
|
4
4
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
5
5
|
*/
|
|
6
|
-
import { Directive, Input } from '@angular/core';
|
|
6
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
|
7
7
|
import { BASIC_FOCUSABLE_ITEM_PROVIDER } from '../../utils/focus/focusable-item/basic-focusable-item.service';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "./dropdown";
|
|
10
10
|
import * as i2 from "./providers/dropdown.service";
|
|
11
11
|
import * as i3 from "../../utils/focus/focusable-item/focusable-item";
|
|
12
12
|
export class ClrDropdownItem {
|
|
13
|
-
constructor(dropdown,
|
|
13
|
+
constructor(dropdown, _dropdownService, focusableItem) {
|
|
14
14
|
this.dropdown = dropdown;
|
|
15
|
-
this.el = el;
|
|
16
15
|
this._dropdownService = _dropdownService;
|
|
17
|
-
this.renderer = renderer;
|
|
18
16
|
this.focusableItem = focusableItem;
|
|
19
17
|
this.setByDeprecatedDisabled = false;
|
|
20
18
|
}
|
|
@@ -45,22 +43,28 @@ export class ClrDropdownItem {
|
|
|
45
43
|
get dropdownItemId() {
|
|
46
44
|
return this.focusableItem.id;
|
|
47
45
|
}
|
|
48
|
-
ngAfterViewInit() {
|
|
49
|
-
this.unlisten = this.renderer.listen(this.el.nativeElement, 'click', () => this.onDropdownItemClick());
|
|
50
|
-
}
|
|
51
46
|
onDropdownItemClick() {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
// Ensure that the dropdown is closed after custom dropdown item click event handlers have run.
|
|
48
|
+
setTimeout(() => {
|
|
49
|
+
if (this.dropdown.isMenuClosable && !this.disabled) {
|
|
50
|
+
this._dropdownService.closeMenus();
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
onSpaceKeydown($event) {
|
|
55
|
+
this.stopImmediatePropagationIfDisabled($event);
|
|
56
|
+
}
|
|
57
|
+
onEnterKeydown($event) {
|
|
58
|
+
this.stopImmediatePropagationIfDisabled($event);
|
|
55
59
|
}
|
|
56
|
-
|
|
57
|
-
if (this.
|
|
58
|
-
|
|
60
|
+
stopImmediatePropagationIfDisabled($event) {
|
|
61
|
+
if (this.disabled) {
|
|
62
|
+
$event.stopImmediatePropagation();
|
|
59
63
|
}
|
|
60
64
|
}
|
|
61
65
|
}
|
|
62
|
-
ClrDropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDropdownItem, deps: [{ token: i1.ClrDropdown }, { token:
|
|
63
|
-
ClrDropdownItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ClrDropdownItem, selector: "[clrDropdownItem]", inputs: { disabled: ["clrDisabled", "disabled"], disabledDeprecated: ["disabled", "disabledDeprecated"], dropdownItemId: ["id", "dropdownItemId"] }, host: { properties: { "class.disabled": "disabled", "class.dropdown-item": "true", "attr.role": "\"menuitem\"", "attr.aria-disabled": "disabled", "attr.disabled": "(disabled && setByDeprecatedDisabled)? '' : null", "attr.id": "dropdownItemId" } }, providers: [BASIC_FOCUSABLE_ITEM_PROVIDER], ngImport: i0 });
|
|
66
|
+
ClrDropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDropdownItem, deps: [{ token: i1.ClrDropdown }, { token: i2.RootDropdownService }, { token: i3.FocusableItem }], target: i0.ɵɵFactoryTarget.Directive });
|
|
67
|
+
ClrDropdownItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ClrDropdownItem, selector: "[clrDropdownItem]", inputs: { disabled: ["clrDisabled", "disabled"], disabledDeprecated: ["disabled", "disabledDeprecated"], dropdownItemId: ["id", "dropdownItemId"] }, host: { listeners: { "click": "onDropdownItemClick()", "keydown.space": "onSpaceKeydown($event)", "keydown.enter": "onEnterKeydown($event)" }, properties: { "class.disabled": "disabled", "class.dropdown-item": "true", "attr.role": "\"menuitem\"", "attr.aria-disabled": "disabled", "attr.disabled": "(disabled && setByDeprecatedDisabled)? '' : null", "attr.id": "dropdownItemId" } }, providers: [BASIC_FOCUSABLE_ITEM_PROVIDER], ngImport: i0 });
|
|
64
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDropdownItem, decorators: [{
|
|
65
69
|
type: Directive,
|
|
66
70
|
args: [{
|
|
@@ -75,7 +79,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
75
79
|
},
|
|
76
80
|
providers: [BASIC_FOCUSABLE_ITEM_PROVIDER],
|
|
77
81
|
}]
|
|
78
|
-
}], ctorParameters: function () { return [{ type: i1.ClrDropdown }, { type:
|
|
82
|
+
}], ctorParameters: function () { return [{ type: i1.ClrDropdown }, { type: i2.RootDropdownService }, { type: i3.FocusableItem }]; }, propDecorators: { disabled: [{
|
|
79
83
|
type: Input,
|
|
80
84
|
args: ['clrDisabled']
|
|
81
85
|
}], disabledDeprecated: [{
|
|
@@ -84,5 +88,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
84
88
|
}], dropdownItemId: [{
|
|
85
89
|
type: Input,
|
|
86
90
|
args: ['id']
|
|
91
|
+
}], onDropdownItemClick: [{
|
|
92
|
+
type: HostListener,
|
|
93
|
+
args: ['click']
|
|
94
|
+
}], onSpaceKeydown: [{
|
|
95
|
+
type: HostListener,
|
|
96
|
+
args: ['keydown.space', ['$event']]
|
|
97
|
+
}], onEnterKeydown: [{
|
|
98
|
+
type: HostListener,
|
|
99
|
+
args: ['keydown.enter', ['$event']]
|
|
87
100
|
}] } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3BvcG92ZXIvZHJvcGRvd24vZHJvcGRvd24taXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9ELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLCtEQUErRCxDQUFDOzs7OztBQWlCOUcsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFDVSxRQUFxQixFQUNyQixnQkFBcUMsRUFDckMsYUFBNEI7UUFGNUIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXFCO1FBQ3JDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBR3RDLDRCQUF1QixHQUFHLEtBQUssQ0FBQztJQUY3QixDQUFDO0lBSUosSUFDSSxRQUFRLENBQUMsS0FBdUI7UUFDbEMsa0hBQWtIO1FBQ2xILElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLGtCQUFrQixDQUFDLEtBQXVCO1FBQzVDLGtIQUFrSDtRQUNsSCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLGNBQWMsQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUdPLG1CQUFtQjtRQUN6QiwrRkFBK0Y7UUFDL0YsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNsRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDcEM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHTyxjQUFjLENBQUMsTUFBcUI7UUFDMUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFHTyxjQUFjLENBQUMsTUFBcUI7UUFDMUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxrQ0FBa0MsQ0FBQyxNQUFhO1FBQ3RELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixNQUFNLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztTQUNuQztJQUNILENBQUM7OzZHQXBFVSxlQUFlO2lHQUFmLGVBQWUsZ2tCQUZmLENBQUMsNkJBQTZCLENBQUM7NEZBRS9CLGVBQWU7a0JBWjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsSUFBSSxFQUFFO3dCQUNKLGtCQUFrQixFQUFFLFVBQVU7d0JBQzlCLHVCQUF1QixFQUFFLE1BQU07d0JBQy9CLGFBQWEsRUFBRSxZQUFZO3dCQUMzQixzQkFBc0IsRUFBRSxVQUFVO3dCQUNsQyxpQkFBaUIsRUFBRSxrREFBa0Q7d0JBQ3JFLFdBQVcsRUFBRSxnQkFBZ0I7cUJBQzlCO29CQUNELFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2lCQUMzQztnS0FXSyxRQUFRO3NCQURYLEtBQUs7dUJBQUMsYUFBYTtnQkFjaEIsa0JBQWtCO3NCQURyQixLQUFLO3VCQUFDLFVBQVU7Z0JBZWIsY0FBYztzQkFEakIsS0FBSzt1QkFBQyxJQUFJO2dCQVNILG1CQUFtQjtzQkFEMUIsWUFBWTt1QkFBQyxPQUFPO2dCQVdiLGNBQWM7c0JBRHJCLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU1qQyxjQUFjO3NCQURyQixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJBU0lDX0ZPQ1VTQUJMRV9JVEVNX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9jdXMvZm9jdXNhYmxlLWl0ZW0vYmFzaWMtZm9jdXNhYmxlLWl0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBGb2N1c2FibGVJdGVtIH0gZnJvbSAnLi4vLi4vdXRpbHMvZm9jdXMvZm9jdXNhYmxlLWl0ZW0vZm9jdXNhYmxlLWl0ZW0nO1xuaW1wb3J0IHsgQ2xyRHJvcGRvd24gfSBmcm9tICcuL2Ryb3Bkb3duJztcbmltcG9ydCB7IFJvb3REcm9wZG93blNlcnZpY2UgfSBmcm9tICcuL3Byb3ZpZGVycy9kcm9wZG93bi5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsckRyb3Bkb3duSXRlbV0nLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbY2xhc3MuZHJvcGRvd24taXRlbV0nOiAndHJ1ZScsXG4gICAgJ1thdHRyLnJvbGVdJzogJ1wibWVudWl0ZW1cIicsXG4gICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnW2F0dHIuZGlzYWJsZWRdJzogXCIoZGlzYWJsZWQgJiYgc2V0QnlEZXByZWNhdGVkRGlzYWJsZWQpPyAnJyA6IG51bGxcIixcbiAgICAnW2F0dHIuaWRdJzogJ2Ryb3Bkb3duSXRlbUlkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbQkFTSUNfRk9DVVNBQkxFX0lURU1fUFJPVklERVJdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJEcm9wZG93bkl0ZW0ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRyb3Bkb3duOiBDbHJEcm9wZG93bixcbiAgICBwcml2YXRlIF9kcm9wZG93blNlcnZpY2U6IFJvb3REcm9wZG93blNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmb2N1c2FibGVJdGVtOiBGb2N1c2FibGVJdGVtXG4gICkge31cblxuICBzZXRCeURlcHJlY2F0ZWREaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnY2xyRGlzYWJsZWQnKVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICAvLyBFbXB0eSBzdHJpbmcgYXR0cmlidXRlIGV2YWx1YXRlcyB0byBmYWxzZSBidXQgc2hvdWxkIGRpc2FibGUgdGhlIGl0ZW0sIHNvIHdlIG5lZWQgdG8gYWRkIGEgc3BlY2lhbCBjYXNlIGZvciBpdC5cbiAgICB0aGlzLmZvY3VzYWJsZUl0ZW0uZGlzYWJsZWQgPSAhIXZhbHVlIHx8IHZhbHVlID09PSAnJztcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mb2N1c2FibGVJdGVtLmRpc2FibGVkO1xuICB9XG5cbiAgLypcbiAgICogQGRlcHJlY2F0ZWQgc2luY2UgMy4wLCByZW1vdmUgaW4gNC4wLiB0aGUgcHJlc2VuY2Ugb2YgdGhpcyBhdHRyaWJ1dGUgbWFrZXMgaXQgbm90LWZvY3VzYWJsZSBpbiBJRTExLiBVc2UgW2NsckRpc2FibGVkXSBpbnB1dCBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KCdkaXNhYmxlZCcpXG4gIHNldCBkaXNhYmxlZERlcHJlY2F0ZWQodmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICAvLyBFbXB0eSBzdHJpbmcgYXR0cmlidXRlIGV2YWx1YXRlcyB0byBmYWxzZSBidXQgc2hvdWxkIGRpc2FibGUgdGhlIGl0ZW0sIHNvIHdlIG5lZWQgdG8gYWRkIGEgc3BlY2lhbCBjYXNlIGZvciBpdC5cbiAgICB0aGlzLmZvY3VzYWJsZUl0ZW0uZGlzYWJsZWQgPSAhIXZhbHVlIHx8IHZhbHVlID09PSAnJztcbiAgICB0aGlzLnNldEJ5RGVwcmVjYXRlZERpc2FibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZERlcHJlY2F0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9jdXNhYmxlSXRlbS5kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBMZXQgeW91IG92ZXJ3cml0ZSB0aGUgZm9jdXNhYmxlIGF1dG8gaW5jcmVtZW50IGlkLlxuICAgKi9cbiAgQElucHV0KCdpZCcpXG4gIHNldCBkcm9wZG93bkl0ZW1JZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5mb2N1c2FibGVJdGVtLmlkID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGRyb3Bkb3duSXRlbUlkKCkge1xuICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZUl0ZW0uaWQ7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHByaXZhdGUgb25Ecm9wZG93bkl0ZW1DbGljaygpOiB2b2lkIHtcbiAgICAvLyBFbnN1cmUgdGhhdCB0aGUgZHJvcGRvd24gaXMgY2xvc2VkIGFmdGVyIGN1c3RvbSBkcm9wZG93biBpdGVtIGNsaWNrIGV2ZW50IGhhbmRsZXJzIGhhdmUgcnVuLlxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZHJvcGRvd24uaXNNZW51Q2xvc2FibGUgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5fZHJvcGRvd25TZXJ2aWNlLmNsb3NlTWVudXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc3BhY2UnLCBbJyRldmVudCddKVxuICBwcml2YXRlIG9uU3BhY2VLZXlkb3duKCRldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uSWZEaXNhYmxlZCgkZXZlbnQpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgb25FbnRlcktleWRvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgdGhpcy5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb25JZkRpc2FibGVkKCRldmVudCk7XG4gIH1cblxuICBwcml2YXRlIHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbklmRGlzYWJsZWQoJGV2ZW50OiBFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
package/fesm2015/clr-angular.mjs
CHANGED
|
@@ -20446,11 +20446,9 @@ const BASIC_FOCUSABLE_ITEM_PROVIDER = [
|
|
|
20446
20446
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
20447
20447
|
*/
|
|
20448
20448
|
class ClrDropdownItem {
|
|
20449
|
-
constructor(dropdown,
|
|
20449
|
+
constructor(dropdown, _dropdownService, focusableItem) {
|
|
20450
20450
|
this.dropdown = dropdown;
|
|
20451
|
-
this.el = el;
|
|
20452
20451
|
this._dropdownService = _dropdownService;
|
|
20453
|
-
this.renderer = renderer;
|
|
20454
20452
|
this.focusableItem = focusableItem;
|
|
20455
20453
|
this.setByDeprecatedDisabled = false;
|
|
20456
20454
|
}
|
|
@@ -20481,22 +20479,28 @@ class ClrDropdownItem {
|
|
|
20481
20479
|
get dropdownItemId() {
|
|
20482
20480
|
return this.focusableItem.id;
|
|
20483
20481
|
}
|
|
20484
|
-
ngAfterViewInit() {
|
|
20485
|
-
this.unlisten = this.renderer.listen(this.el.nativeElement, 'click', () => this.onDropdownItemClick());
|
|
20486
|
-
}
|
|
20487
20482
|
onDropdownItemClick() {
|
|
20488
|
-
|
|
20489
|
-
|
|
20490
|
-
|
|
20483
|
+
// Ensure that the dropdown is closed after custom dropdown item click event handlers have run.
|
|
20484
|
+
setTimeout(() => {
|
|
20485
|
+
if (this.dropdown.isMenuClosable && !this.disabled) {
|
|
20486
|
+
this._dropdownService.closeMenus();
|
|
20487
|
+
}
|
|
20488
|
+
});
|
|
20491
20489
|
}
|
|
20492
|
-
|
|
20493
|
-
|
|
20494
|
-
|
|
20490
|
+
onSpaceKeydown($event) {
|
|
20491
|
+
this.stopImmediatePropagationIfDisabled($event);
|
|
20492
|
+
}
|
|
20493
|
+
onEnterKeydown($event) {
|
|
20494
|
+
this.stopImmediatePropagationIfDisabled($event);
|
|
20495
|
+
}
|
|
20496
|
+
stopImmediatePropagationIfDisabled($event) {
|
|
20497
|
+
if (this.disabled) {
|
|
20498
|
+
$event.stopImmediatePropagation();
|
|
20495
20499
|
}
|
|
20496
20500
|
}
|
|
20497
20501
|
}
|
|
20498
|
-
ClrDropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDropdownItem, deps: [{ token: ClrDropdown }, { token:
|
|
20499
|
-
ClrDropdownItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ClrDropdownItem, selector: "[clrDropdownItem]", inputs: { disabled: ["clrDisabled", "disabled"], disabledDeprecated: ["disabled", "disabledDeprecated"], dropdownItemId: ["id", "dropdownItemId"] }, host: { properties: { "class.disabled": "disabled", "class.dropdown-item": "true", "attr.role": "\"menuitem\"", "attr.aria-disabled": "disabled", "attr.disabled": "(disabled && setByDeprecatedDisabled)? '' : null", "attr.id": "dropdownItemId" } }, providers: [BASIC_FOCUSABLE_ITEM_PROVIDER], ngImport: i0 });
|
|
20502
|
+
ClrDropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDropdownItem, deps: [{ token: ClrDropdown }, { token: RootDropdownService }, { token: FocusableItem }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20503
|
+
ClrDropdownItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ClrDropdownItem, selector: "[clrDropdownItem]", inputs: { disabled: ["clrDisabled", "disabled"], disabledDeprecated: ["disabled", "disabledDeprecated"], dropdownItemId: ["id", "dropdownItemId"] }, host: { listeners: { "click": "onDropdownItemClick()", "keydown.space": "onSpaceKeydown($event)", "keydown.enter": "onEnterKeydown($event)" }, properties: { "class.disabled": "disabled", "class.dropdown-item": "true", "attr.role": "\"menuitem\"", "attr.aria-disabled": "disabled", "attr.disabled": "(disabled && setByDeprecatedDisabled)? '' : null", "attr.id": "dropdownItemId" } }, providers: [BASIC_FOCUSABLE_ITEM_PROVIDER], ngImport: i0 });
|
|
20500
20504
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrDropdownItem, decorators: [{
|
|
20501
20505
|
type: Directive,
|
|
20502
20506
|
args: [{
|
|
@@ -20511,7 +20515,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
20511
20515
|
},
|
|
20512
20516
|
providers: [BASIC_FOCUSABLE_ITEM_PROVIDER],
|
|
20513
20517
|
}]
|
|
20514
|
-
}], ctorParameters: function () { return [{ type: ClrDropdown }, { type:
|
|
20518
|
+
}], ctorParameters: function () { return [{ type: ClrDropdown }, { type: RootDropdownService }, { type: FocusableItem }]; }, propDecorators: { disabled: [{
|
|
20515
20519
|
type: Input,
|
|
20516
20520
|
args: ['clrDisabled']
|
|
20517
20521
|
}], disabledDeprecated: [{
|
|
@@ -20520,6 +20524,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
20520
20524
|
}], dropdownItemId: [{
|
|
20521
20525
|
type: Input,
|
|
20522
20526
|
args: ['id']
|
|
20527
|
+
}], onDropdownItemClick: [{
|
|
20528
|
+
type: HostListener,
|
|
20529
|
+
args: ['click']
|
|
20530
|
+
}], onSpaceKeydown: [{
|
|
20531
|
+
type: HostListener,
|
|
20532
|
+
args: ['keydown.space', ['$event']]
|
|
20533
|
+
}], onEnterKeydown: [{
|
|
20534
|
+
type: HostListener,
|
|
20535
|
+
args: ['keydown.enter', ['$event']]
|
|
20523
20536
|
}] } });
|
|
20524
20537
|
|
|
20525
20538
|
/*
|