@clr/angular 18.2.2 → 18.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/fesm2022/clr-angular-accordion.mjs +28 -28
- package/fesm2022/clr-angular-accordion.mjs.map +1 -1
- package/fesm2022/clr-angular-button.mjs +27 -27
- package/fesm2022/clr-angular-button.mjs.map +1 -1
- package/fesm2022/clr-angular-card.mjs +417 -0
- package/fesm2022/clr-angular-card.mjs.map +1 -0
- package/fesm2022/clr-angular-collapsible-panel.mjs +6 -6
- package/fesm2022/clr-angular-collapsible-panel.mjs.map +1 -1
- package/fesm2022/clr-angular-data-datagrid.mjs +1578 -415
- package/fesm2022/clr-angular-data-datagrid.mjs.map +1 -1
- package/fesm2022/clr-angular-data-stack-view.mjs +23 -23
- package/fesm2022/clr-angular-data-stack-view.mjs.map +1 -1
- package/fesm2022/clr-angular-data-tree-view.mjs +283 -48
- package/fesm2022/clr-angular-data-tree-view.mjs.map +1 -1
- package/fesm2022/clr-angular-data.mjs +4 -4
- package/fesm2022/clr-angular-data.mjs.map +1 -1
- package/fesm2022/clr-angular-emphasis-alert.mjs +26 -26
- package/fesm2022/clr-angular-emphasis-alert.mjs.map +1 -1
- package/fesm2022/clr-angular-emphasis-badge.mjs +3 -3
- package/fesm2022/clr-angular-emphasis-badge.mjs.map +1 -1
- package/fesm2022/clr-angular-emphasis-label.mjs +3 -3
- package/fesm2022/clr-angular-emphasis-label.mjs.map +1 -1
- package/fesm2022/clr-angular-emphasis.mjs +4 -4
- package/fesm2022/clr-angular-emphasis.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-checkbox.mjs +23 -14
- package/fesm2022/clr-angular-forms-checkbox.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-combobox.mjs +35 -35
- package/fesm2022/clr-angular-forms-combobox.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-common.mjs +69 -69
- package/fesm2022/clr-angular-forms-common.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-datalist.mjs +17 -17
- package/fesm2022/clr-angular-forms-datalist.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-datepicker.mjs +73 -73
- package/fesm2022/clr-angular-forms-datepicker.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-file-input.mjs +36 -36
- package/fesm2022/clr-angular-forms-file-input.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-input.mjs +10 -10
- package/fesm2022/clr-angular-forms-input.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-number-input.mjs +12 -12
- package/fesm2022/clr-angular-forms-number-input.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-password.mjs +11 -11
- package/fesm2022/clr-angular-forms-password.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-radio.mjs +17 -24
- package/fesm2022/clr-angular-forms-radio.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-range.mjs +10 -10
- package/fesm2022/clr-angular-forms-range.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-select.mjs +10 -10
- package/fesm2022/clr-angular-forms-select.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-textarea.mjs +10 -10
- package/fesm2022/clr-angular-forms-textarea.mjs.map +1 -1
- package/fesm2022/clr-angular-forms.mjs +4 -4
- package/fesm2022/clr-angular-forms.mjs.map +1 -1
- package/fesm2022/clr-angular-icon.mjs +101 -47
- package/fesm2022/clr-angular-icon.mjs.map +1 -1
- package/fesm2022/clr-angular-layout-breadcrumbs.mjs +10 -10
- package/fesm2022/clr-angular-layout-breadcrumbs.mjs.map +1 -1
- package/fesm2022/clr-angular-layout-main-container.mjs +7 -7
- package/fesm2022/clr-angular-layout-main-container.mjs.map +1 -1
- package/fesm2022/clr-angular-layout-nav.mjs +22 -22
- package/fesm2022/clr-angular-layout-nav.mjs.map +1 -1
- package/fesm2022/clr-angular-layout-tabs.mjs +35 -35
- package/fesm2022/clr-angular-layout-tabs.mjs.map +1 -1
- package/fesm2022/clr-angular-layout-vertical-nav.mjs +31 -31
- package/fesm2022/clr-angular-layout-vertical-nav.mjs.map +1 -1
- package/fesm2022/clr-angular-layout.mjs +4 -4
- package/fesm2022/clr-angular-layout.mjs.map +1 -1
- package/fesm2022/clr-angular-modal.mjs +29 -27
- package/fesm2022/clr-angular-modal.mjs.map +1 -1
- package/fesm2022/clr-angular-popover-common.mjs +70 -35
- package/fesm2022/clr-angular-popover-common.mjs.map +1 -1
- package/fesm2022/clr-angular-popover-dropdown.mjs +63 -26
- package/fesm2022/clr-angular-popover-dropdown.mjs.map +1 -1
- package/fesm2022/clr-angular-popover-signpost.mjs +27 -25
- package/fesm2022/clr-angular-popover-signpost.mjs.map +1 -1
- package/fesm2022/clr-angular-popover-tooltip.mjs +19 -19
- package/fesm2022/clr-angular-popover-tooltip.mjs.map +1 -1
- package/fesm2022/clr-angular-popover.mjs +4 -4
- package/fesm2022/clr-angular-popover.mjs.map +1 -1
- package/fesm2022/clr-angular-progress-progress-bars.mjs +7 -7
- package/fesm2022/clr-angular-progress-progress-bars.mjs.map +1 -1
- package/fesm2022/clr-angular-progress-spinner.mjs +7 -7
- package/fesm2022/clr-angular-progress-spinner.mjs.map +1 -1
- package/fesm2022/clr-angular-stepper.mjs +31 -31
- package/fesm2022/clr-angular-stepper.mjs.map +1 -1
- package/fesm2022/clr-angular-timeline.mjs +24 -24
- package/fesm2022/clr-angular-timeline.mjs.map +1 -1
- package/fesm2022/clr-angular-utils-conditional.mjs +16 -16
- package/fesm2022/clr-angular-utils-conditional.mjs.map +1 -1
- package/fesm2022/clr-angular-utils-loading.mjs +7 -7
- package/fesm2022/clr-angular-utils-loading.mjs.map +1 -1
- package/fesm2022/clr-angular-utils.mjs +149 -150
- package/fesm2022/clr-angular-utils.mjs.map +1 -1
- package/fesm2022/clr-angular-wizard.mjs +51 -51
- package/fesm2022/clr-angular-wizard.mjs.map +1 -1
- package/fesm2022/clr-angular.mjs +9 -4
- package/fesm2022/clr-angular.mjs.map +1 -1
- package/package.json +9 -5
- package/types/clr-angular-card.d.ts +110 -0
- package/types/clr-angular-data-datagrid.d.ts +427 -57
- package/types/clr-angular-data-tree-view.d.ts +126 -88
- package/types/clr-angular-forms-checkbox.d.ts +3 -0
- package/types/clr-angular-forms-datepicker.d.ts +1 -1
- package/types/clr-angular-forms-file-input.d.ts +1 -1
- package/types/clr-angular-forms-radio.d.ts +1 -2
- package/types/clr-angular-icon.d.ts +22 -2
- package/types/clr-angular-popover-common.d.ts +6 -0
- package/types/clr-angular-popover-dropdown.d.ts +33 -4
- package/types/clr-angular-utils.d.ts +61 -20
- package/types/clr-angular.d.ts +8 -6
- package/schematics/vitest.config.d.ts +0 -2
- package/schematics/vitest.config.js +0 -17
- package/schematics/vitest.config.js.map +0 -1
|
@@ -6,7 +6,7 @@ import * as i2$1 from '@clr/angular/utils';
|
|
|
6
6
|
import { uniqueIdFactory, ArrowKeyDirection, Linkers, wrapObservable, customFocusableItemProvider, FOCUS_SERVICE_PROVIDER, FocusableItem, BASIC_FOCUSABLE_ITEM_PROVIDER } from '@clr/angular/utils';
|
|
7
7
|
import { isPlatformBrowser, CommonModule } from '@angular/common';
|
|
8
8
|
import { ReplaySubject, of, Subject } from 'rxjs';
|
|
9
|
-
import { map } from 'rxjs/operators';
|
|
9
|
+
import { map, take } from 'rxjs/operators';
|
|
10
10
|
import { ClrIcon } from '@clr/angular/icon';
|
|
11
11
|
|
|
12
12
|
/*
|
|
@@ -49,6 +49,7 @@ class DropdownFocusHandler {
|
|
|
49
49
|
this._unlistenFuncs.push(this.renderer.listen(el, 'keydown.tab', event => this.popoverService.toggleWithEvent(event)), this.renderer.listen(el, 'keydown.shift.tab', event => this.popoverService.toggleWithEvent(event)));
|
|
50
50
|
// All containers are registered to the focus service.
|
|
51
51
|
this.focusService.registerContainer(el);
|
|
52
|
+
this._unlistenFuncs.push(this.renderer.listen(el, 'focusout', () => this.recoverFocusIfLost()));
|
|
52
53
|
if (this.parent) {
|
|
53
54
|
// if it's a nested container, pressing escape has the same effect as pressing left key, which closes the current
|
|
54
55
|
// popup and moves up to its parent. Here, we stop propagation so that the parent container
|
|
@@ -99,6 +100,22 @@ class DropdownFocusHandler {
|
|
|
99
100
|
this.trigger.click();
|
|
100
101
|
}
|
|
101
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Makes `item` the one the menu's keyboard handling acts on, and focuses it.
|
|
105
|
+
*
|
|
106
|
+
* Space and enter activate whatever the focus service considers current, not whatever the browser
|
|
107
|
+
* has focused - see `FocusService.registerContainer`. So moving focus to a menu item without going
|
|
108
|
+
* through here leaves the two disagreeing, and the keys then fire a different item than the one the
|
|
109
|
+
* user can see is focused.
|
|
110
|
+
*/
|
|
111
|
+
moveTo(item) {
|
|
112
|
+
// Opening the menu already moves to its first item, which focuses it, which is reported back
|
|
113
|
+
// here by the item itself. Without this the same move would be applied twice.
|
|
114
|
+
if (this.focusService.current === item) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
this.focusService.moveTo(item);
|
|
118
|
+
}
|
|
102
119
|
resetChildren() {
|
|
103
120
|
this.children = new ReplaySubject(1);
|
|
104
121
|
if (this.parent) {
|
|
@@ -116,16 +133,25 @@ class DropdownFocusHandler {
|
|
|
116
133
|
}
|
|
117
134
|
this.children.next(children);
|
|
118
135
|
}
|
|
136
|
+
recoverFocusIfLost() {
|
|
137
|
+
setTimeout(() => {
|
|
138
|
+
if (!this.popoverService.open || document.activeElement !== document.body) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
const firstItem = this.parent ? this.right : this.down;
|
|
142
|
+
firstItem?.pipe(take(1)).subscribe(item => item && this.focusService.moveTo(item));
|
|
143
|
+
});
|
|
144
|
+
}
|
|
119
145
|
openAndGetChildren() {
|
|
120
146
|
return wrapObservable(this.children, () => (this.popoverService.open = true));
|
|
121
147
|
}
|
|
122
148
|
closeAndGetThis() {
|
|
123
149
|
return wrapObservable(of(this), () => (this.popoverService.open = false));
|
|
124
150
|
}
|
|
125
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
126
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
151
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: DropdownFocusHandler, deps: [{ token: i0.Renderer2 }, { token: DropdownFocusHandler, optional: true, skipSelf: true }, { token: i2.ClrPopoverService }, { token: i2$1.FocusService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
152
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: DropdownFocusHandler }); }
|
|
127
153
|
}
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: DropdownFocusHandler, decorators: [{
|
|
129
155
|
type: Injectable
|
|
130
156
|
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: DropdownFocusHandler, decorators: [{
|
|
131
157
|
type: SkipSelf
|
|
@@ -153,10 +179,10 @@ class RootDropdownService {
|
|
|
153
179
|
closeMenus() {
|
|
154
180
|
this._changes.next(false);
|
|
155
181
|
}
|
|
156
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
157
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
182
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: RootDropdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
183
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: RootDropdownService }); }
|
|
158
184
|
}
|
|
159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: RootDropdownService, decorators: [{
|
|
160
186
|
type: Injectable
|
|
161
187
|
}] });
|
|
162
188
|
function clrRootDropdownFactory(existing) {
|
|
@@ -190,10 +216,10 @@ class ClrDropdown {
|
|
|
190
216
|
ngOnDestroy() {
|
|
191
217
|
this.subscriptions.forEach(sub => sub.unsubscribe());
|
|
192
218
|
}
|
|
193
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
194
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
219
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrDropdown, deps: [{ token: ClrDropdown, optional: true, skipSelf: true }, { token: i2.ClrPopoverService }, { token: DropdownFocusHandler }, { token: i0.ChangeDetectorRef }, { token: RootDropdownService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
220
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: ClrDropdown, isStandalone: false, selector: "clr-dropdown", inputs: { isMenuClosable: ["clrCloseMenuOnItemClick", "isMenuClosable"] }, host: { properties: { "class.dropdown": "true", "class.open": "popoverService.open" } }, providers: [ROOT_DROPDOWN_PROVIDER, FOCUS_SERVICE_PROVIDER, DROPDOWN_FOCUS_HANDLER_PROVIDER], hostDirectives: [{ directive: i2.ClrPopoverHostDirective }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
|
|
195
221
|
}
|
|
196
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrDropdown, decorators: [{
|
|
197
223
|
type: Component,
|
|
198
224
|
args: [{
|
|
199
225
|
selector: 'clr-dropdown',
|
|
@@ -261,10 +287,10 @@ class ClrDropdownMenu {
|
|
|
261
287
|
ngOnDestroy() {
|
|
262
288
|
this.focusHandler.resetChildren();
|
|
263
289
|
}
|
|
264
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
265
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
290
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrDropdownMenu, deps: [{ token: POPOVER_HOST_ORIGIN, optional: true }, { token: ClrDropdownMenu, optional: true, skipSelf: true }, { token: DropdownFocusHandler }, { token: i0.ElementRef }, { token: i2.ClrPopoverService }, { token: i2.ClrPopoverContent }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
291
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: ClrDropdownMenu, isStandalone: false, selector: "clr-dropdown-menu", inputs: { position: ["clrPosition", "position"] }, host: { properties: { "class.dropdown-menu": "true", "attr.role": "\"menu\"", "class.is-off-screen": "this.isOffScreen" } }, queries: [{ propertyName: "items", predicate: FocusableItem }], hostDirectives: [{ directive: i2.ClrPopoverContent }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
|
|
266
292
|
}
|
|
267
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
293
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrDropdownMenu, decorators: [{
|
|
268
294
|
type: Component,
|
|
269
295
|
args: [{
|
|
270
296
|
selector: 'clr-dropdown-menu',
|
|
@@ -319,10 +345,10 @@ class ClrDropdownTrigger {
|
|
|
319
345
|
onDropdownTriggerClick(event) {
|
|
320
346
|
this.popoverService.toggleWithEvent(event);
|
|
321
347
|
}
|
|
322
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
323
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
348
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrDropdownTrigger, deps: [{ token: ClrDropdown }, { token: i2.ClrPopoverService }, { token: i0.ElementRef }, { token: DropdownFocusHandler }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
349
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.25", type: ClrDropdownTrigger, isStandalone: false, selector: "[clrDropdownTrigger],[clrDropdownToggle]", host: { listeners: { "click": "onDropdownTriggerClick($event)" }, properties: { "class.dropdown-toggle": "isRootLevelToggle", "class.dropdown-item": "!isRootLevelToggle", "class.expandable": "!isRootLevelToggle", "class.active": "active", "attr.aria-haspopup": "\"menu\"", "attr.aria-expanded": "active" } }, ngImport: i0 }); }
|
|
324
350
|
}
|
|
325
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
351
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrDropdownTrigger, decorators: [{
|
|
326
352
|
type: Directive,
|
|
327
353
|
args: [{
|
|
328
354
|
// We support both selectors for legacy reasons
|
|
@@ -355,6 +381,15 @@ class ClrDropdownItem {
|
|
|
355
381
|
this.focusableItem = focusableItem;
|
|
356
382
|
this.el = el;
|
|
357
383
|
this.renderer = renderer;
|
|
384
|
+
/**
|
|
385
|
+
* The role of the item, `menuitem` unless the item says otherwise.
|
|
386
|
+
*
|
|
387
|
+
* An item that represents a setting rather than a command needs one of the checkable menu roles -
|
|
388
|
+
* `menuitemradio` for one of several exclusive settings, `menuitemcheckbox` for an independent one -
|
|
389
|
+
* so that assistive technology can announce which of them is applied. Writing the role as a plain
|
|
390
|
+
* attribute on the item is not enough: the host binding above would win over it.
|
|
391
|
+
*/
|
|
392
|
+
this.role = 'menuitem';
|
|
358
393
|
}
|
|
359
394
|
get disabled() {
|
|
360
395
|
return this.focusableItem.disabled;
|
|
@@ -405,24 +440,26 @@ class ClrDropdownItem {
|
|
|
405
440
|
}
|
|
406
441
|
return rootDropdown;
|
|
407
442
|
}
|
|
408
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
409
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
443
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrDropdownItem, deps: [{ token: ClrDropdown }, { token: RootDropdownService }, { token: i2$1.FocusableItem }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
444
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.25", type: ClrDropdownItem, isStandalone: false, selector: "[clrDropdownItem]", inputs: { role: "role", disabled: ["clrDisabled", "disabled"], 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": "role", "attr.aria-disabled": "disabled", "attr.id": "dropdownItemId" } }, providers: [BASIC_FOCUSABLE_ITEM_PROVIDER], ngImport: i0 }); }
|
|
410
445
|
}
|
|
411
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
446
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrDropdownItem, decorators: [{
|
|
412
447
|
type: Directive,
|
|
413
448
|
args: [{
|
|
414
449
|
selector: '[clrDropdownItem]',
|
|
415
450
|
host: {
|
|
416
451
|
'[class.disabled]': 'disabled',
|
|
417
452
|
'[class.dropdown-item]': 'true',
|
|
418
|
-
'[attr.role]': '
|
|
453
|
+
'[attr.role]': 'role',
|
|
419
454
|
'[attr.aria-disabled]': 'disabled',
|
|
420
455
|
'[attr.id]': 'dropdownItemId',
|
|
421
456
|
},
|
|
422
457
|
providers: [BASIC_FOCUSABLE_ITEM_PROVIDER],
|
|
423
458
|
standalone: false,
|
|
424
459
|
}]
|
|
425
|
-
}], ctorParameters: () => [{ type: ClrDropdown }, { type: RootDropdownService }, { type: i2$1.FocusableItem }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: {
|
|
460
|
+
}], ctorParameters: () => [{ type: ClrDropdown }, { type: RootDropdownService }, { type: i2$1.FocusableItem }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { role: [{
|
|
461
|
+
type: Input
|
|
462
|
+
}], disabled: [{
|
|
426
463
|
type: Input,
|
|
427
464
|
args: ['clrDisabled']
|
|
428
465
|
}], dropdownItemId: [{
|
|
@@ -464,11 +501,11 @@ const CLR_MENU_POSITIONS = [
|
|
|
464
501
|
*/
|
|
465
502
|
const CLR_DROPDOWN_DIRECTIVES = [ClrDropdown, ClrDropdownMenu, ClrDropdownTrigger, ClrDropdownItem];
|
|
466
503
|
class ClrDropdownModule {
|
|
467
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
468
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.
|
|
469
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.
|
|
504
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
505
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: ClrDropdownModule, declarations: [ClrDropdown, ClrDropdownMenu, ClrDropdownTrigger, ClrDropdownItem], imports: [CommonModule, ClrIcon, ClrIfOpen], exports: [ClrDropdown, ClrDropdownMenu, ClrDropdownTrigger, ClrDropdownItem, ClrIfOpen, ClrIcon] }); }
|
|
506
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrDropdownModule, imports: [CommonModule, ClrIcon] }); }
|
|
470
507
|
}
|
|
471
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
508
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrDropdownModule, decorators: [{
|
|
472
509
|
type: NgModule,
|
|
473
510
|
args: [{
|
|
474
511
|
imports: [CommonModule, ClrIcon, ClrIfOpen],
|
|
@@ -488,5 +525,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
488
525
|
* Generated bundle index. Do not edit.
|
|
489
526
|
*/
|
|
490
527
|
|
|
491
|
-
export { CLR_DROPDOWN_DIRECTIVES, CLR_MENU_POSITIONS, ClrDropdown, ClrDropdownItem, ClrDropdownMenu, ClrDropdownModule, ClrDropdownTrigger };
|
|
528
|
+
export { CLR_DROPDOWN_DIRECTIVES, CLR_MENU_POSITIONS, ClrDropdown, ClrDropdownItem, ClrDropdownMenu, ClrDropdownModule, ClrDropdownTrigger, DROPDOWN_FOCUS_HANDLER_PROVIDER, DropdownFocusHandler, ROOT_DROPDOWN_PROVIDER, RootDropdownService, clrRootDropdownFactory };
|
|
492
529
|
//# sourceMappingURL=clr-angular-popover-dropdown.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clr-angular-popover-dropdown.mjs","sources":["../../../projects/angular/popover/dropdown/providers/dropdown-focus-handler.service.ts","../../../projects/angular/popover/dropdown/providers/dropdown.service.ts","../../../projects/angular/popover/dropdown/dropdown.ts","../../../projects/angular/popover/dropdown/dropdown-menu.ts","../../../projects/angular/popover/dropdown/dropdown-trigger.ts","../../../projects/angular/popover/dropdown/dropdown-item.ts","../../../projects/angular/popover/dropdown/menu-positions.ts","../../../projects/angular/popover/dropdown/dropdown.module.ts","../../../projects/angular/popover/dropdown/index.ts","../../../projects/angular/popover/dropdown/clr-angular-popover-dropdown.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { isPlatformBrowser } from '@angular/common';\nimport { Inject, Injectable, OnDestroy, Optional, PLATFORM_ID, Renderer2, SkipSelf } from '@angular/core';\nimport { ClrPopoverService } from '@clr/angular/popover/common';\nimport {\n ArrowKeyDirection,\n customFocusableItemProvider,\n FocusableItem,\n FocusService,\n Linkers,\n uniqueIdFactory,\n wrapObservable,\n} from '@clr/angular/utils';\nimport { Observable, of, ReplaySubject } from 'rxjs';\nimport { map } from 'rxjs/operators';\n@Injectable()\nexport class DropdownFocusHandler implements OnDestroy, FocusableItem {\n id = uniqueIdFactory();\n\n right?: Observable<FocusableItem>;\n down?: Observable<FocusableItem>;\n up?: Observable<FocusableItem>;\n\n private _trigger: HTMLElement;\n private _container: HTMLElement;\n private children: ReplaySubject<FocusableItem[]>;\n private _unlistenFuncs: (() => void)[] = [];\n\n constructor(\n private renderer: Renderer2,\n @SkipSelf()\n @Optional()\n private parent: DropdownFocusHandler,\n private popoverService: ClrPopoverService,\n private focusService: FocusService,\n @Inject(PLATFORM_ID) private platformId: any\n ) {\n this.resetChildren();\n this.moveToFirstItemWhenOpen();\n }\n\n get trigger() {\n return this._trigger;\n }\n set trigger(el: HTMLElement) {\n this._trigger = el;\n\n if (this.parent) {\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.arrowright', event => this.popoverService.toggleWithEvent(event))\n );\n } else {\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.arrowup', event => this.popoverService.toggleWithEvent(event))\n );\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.arrowdown', event => this.popoverService.toggleWithEvent(event))\n );\n }\n }\n\n get container() {\n return this._container;\n }\n\n set container(el: HTMLElement) {\n this._container = el;\n\n // whether root container or not, tab key should always toggle (i.e. close) the container\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.tab', event => this.popoverService.toggleWithEvent(event)),\n this.renderer.listen(el, 'keydown.shift.tab', event => this.popoverService.toggleWithEvent(event))\n );\n\n // All containers are registered to the focus service.\n this.focusService.registerContainer(el);\n\n if (this.parent) {\n // if it's a nested container, pressing escape has the same effect as pressing left key, which closes the current\n // popup and moves up to its parent. Here, we stop propagation so that the parent container\n // doesn't receive the escape keydown\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.escape', event => {\n this.focusService.move(ArrowKeyDirection.LEFT);\n event.stopPropagation();\n })\n );\n }\n }\n\n ngOnDestroy() {\n this._unlistenFuncs.forEach((unlisten: () => void) => unlisten());\n\n this.focusService.detachListeners(this.container);\n }\n\n /**\n * If the dropdown was opened by clicking on the trigger, we automatically move to the first item\n */\n moveToFirstItemWhenOpen() {\n const subscription = this.popoverService.openChange.subscribe(open => {\n if (open && this.popoverService.openEvent) {\n // Even if we properly waited for ngAfterViewInit, the container still wouldn't be attached to the DOM.\n // So setTimeout is the only way to wait for the container to be ready to move focus to first item.\n setTimeout(() => {\n this.focusService.moveTo(this);\n if (this.parent) {\n this.focusService.move(ArrowKeyDirection.RIGHT);\n } else {\n this.focusService.move(ArrowKeyDirection.DOWN);\n }\n });\n }\n });\n\n this._unlistenFuncs.push(() => subscription.unsubscribe());\n }\n\n focus() {\n if (this.trigger && isPlatformBrowser(this.platformId)) {\n this.trigger.focus();\n }\n }\n\n blur() {\n if (this.trigger && isPlatformBrowser(this.platformId)) {\n this.trigger.blur();\n }\n }\n\n activate() {\n if (isPlatformBrowser(this.platformId)) {\n this.trigger.click();\n }\n }\n\n resetChildren() {\n this.children = new ReplaySubject<FocusableItem[]>(1);\n if (this.parent) {\n this.right = this.openAndGetChildren().pipe(map(all => all[0]));\n } else {\n this.down = this.openAndGetChildren().pipe(map(all => all[0]));\n this.up = this.openAndGetChildren().pipe(map(all => all[all.length - 1]));\n }\n }\n\n addChildren(children: FocusableItem[]) {\n Linkers.linkVertical(children);\n if (this.parent) {\n Linkers.linkParent(children, this.closeAndGetThis(), ArrowKeyDirection.LEFT);\n }\n this.children.next(children);\n }\n\n private openAndGetChildren() {\n return wrapObservable(this.children, () => (this.popoverService.open = true));\n }\n\n private closeAndGetThis() {\n return wrapObservable(of(this), () => (this.popoverService.open = false));\n }\n}\n\nexport const DROPDOWN_FOCUS_HANDLER_PROVIDER = customFocusableItemProvider(DropdownFocusHandler);\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable, Optional, SkipSelf } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class RootDropdownService {\n private _changes = new Subject<boolean>();\n\n get changes(): Observable<boolean> {\n return this._changes.asObservable();\n }\n\n closeMenus(): void {\n this._changes.next(false);\n }\n}\n\nexport function clrRootDropdownFactory(existing: RootDropdownService) {\n return existing || new RootDropdownService();\n}\n\nexport const ROOT_DROPDOWN_PROVIDER = {\n provide: RootDropdownService,\n useFactory: clrRootDropdownFactory,\n deps: [[new Optional(), new SkipSelf(), RootDropdownService]],\n};\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ChangeDetectorRef, Component, Input, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { ClrPopoverHostDirective, ClrPopoverPoint, ClrPopoverService } from '@clr/angular/popover/common';\nimport { FOCUS_SERVICE_PROVIDER } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { DROPDOWN_FOCUS_HANDLER_PROVIDER, DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\nimport { ROOT_DROPDOWN_PROVIDER, RootDropdownService } from './providers/dropdown.service';\n@Component({\n selector: 'clr-dropdown',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.dropdown]': 'true',\n '[class.open]': 'popoverService.open',\n },\n providers: [ROOT_DROPDOWN_PROVIDER, FOCUS_SERVICE_PROVIDER, DROPDOWN_FOCUS_HANDLER_PROVIDER],\n hostDirectives: [ClrPopoverHostDirective],\n standalone: false,\n})\nexport class ClrDropdown implements OnDestroy {\n @Input('clrCloseMenuOnItemClick') isMenuClosable = true;\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n @SkipSelf()\n @Optional()\n public parent: ClrDropdown,\n public popoverService: ClrPopoverService,\n public focusHandler: DropdownFocusHandler,\n cdr: ChangeDetectorRef,\n dropdownService: RootDropdownService\n ) {\n this.subscriptions.push(dropdownService.changes.subscribe(value => (popoverService.open = value)));\n this.subscriptions.push(popoverService.openChange.subscribe(() => cdr.markForCheck()));\n }\n\n openAtPoint(point: ClrPopoverPoint, targetElement?: HTMLElement) {\n this.popoverService.openAtPoint(point, targetElement);\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n SkipSelf,\n} from '@angular/core';\nimport {\n ClrPopoverContent,\n ClrPopoverPosition,\n ClrPopoverService,\n ClrPopoverType,\n DROPDOWN_POSITIONS,\n POPOVER_HOST_ORIGIN,\n} from '@clr/angular/popover/common';\nimport { FocusableItem } from '@clr/angular/utils';\n\nimport { DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\n\n@Component({\n selector: 'clr-dropdown-menu',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.dropdown-menu]': 'true',\n '[attr.role]': '\"menu\"',\n },\n standalone: false,\n hostDirectives: [ClrPopoverContent],\n})\nexport class ClrDropdownMenu implements AfterContentInit, OnDestroy {\n @ContentChildren(FocusableItem) items: QueryList<FocusableItem>;\n\n constructor(\n @Optional()\n @Inject(POPOVER_HOST_ORIGIN)\n parentHost: ElementRef<HTMLElement>,\n @Optional()\n @SkipSelf()\n nested: ClrDropdownMenu,\n private focusHandler: DropdownFocusHandler,\n private elementRef: ElementRef,\n private popoverService: ClrPopoverService,\n private popoverContent: ClrPopoverContent\n ) {\n if (!parentHost) {\n throw new Error('clr-dropdown-menu should only be used inside of a clr-dropdown');\n }\n\n popoverContent.scrollToClose = true;\n\n popoverContent.contentType = ClrPopoverType.DROPDOWN;\n\n popoverContent.contentAt = nested ? ClrPopoverPosition.RIGHT_TOP : ClrPopoverPosition.BOTTOM_LEFT;\n\n popoverService.panelClass.push('clr-dropdown-container');\n }\n\n /*\n * Fallback to hide when *clrIfOpen is not being used\n */\n @HostBinding('class.is-off-screen')\n get isOffScreen() {\n return !this.popoverService.open;\n }\n\n @Input('clrPosition')\n set position(position: string | ClrPopoverPosition) {\n if (!position) {\n return;\n }\n\n const posIndex = DROPDOWN_POSITIONS.indexOf(position as ClrPopoverPosition);\n\n if (posIndex === -1) {\n return;\n }\n\n // set the popover values based on menu position\n this.popoverContent.contentAt = DROPDOWN_POSITIONS[posIndex];\n }\n\n ngAfterContentInit() {\n this.focusHandler.container = this.elementRef.nativeElement;\n this.items.changes.subscribe(() => this.focusHandler.addChildren(this.items.toArray()));\n // I saw this on GitHub as a solution to avoid code duplication because of missed QueryList changes\n this.items.notifyOnChanges();\n }\n\n ngOnDestroy() {\n this.focusHandler.resetChildren();\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, ElementRef, HostListener } from '@angular/core';\nimport { ClrPopoverService } from '@clr/angular/popover/common';\n\nimport { ClrDropdown } from './dropdown';\nimport { DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\n\n@Directive({\n // We support both selectors for legacy reasons\n selector: '[clrDropdownTrigger],[clrDropdownToggle]',\n host: {\n '[class.dropdown-toggle]': 'isRootLevelToggle',\n '[class.dropdown-item]': '!isRootLevelToggle',\n '[class.expandable]': '!isRootLevelToggle',\n '[class.active]': 'active',\n '[attr.aria-haspopup]': '\"menu\"',\n '[attr.aria-expanded]': 'active',\n },\n standalone: false,\n})\nexport class ClrDropdownTrigger {\n isRootLevelToggle = true;\n\n constructor(\n dropdown: ClrDropdown,\n private popoverService: ClrPopoverService,\n el: ElementRef<HTMLElement>,\n focusHandler: DropdownFocusHandler\n ) {\n // if the containing dropdown has a parent, then this is not the root level one\n if (dropdown.parent) {\n this.isRootLevelToggle = false;\n }\n focusHandler.trigger = el.nativeElement;\n popoverService.origin = el;\n }\n\n get active(): boolean {\n return this.popoverService.open;\n }\n\n @HostListener('click', ['$event'])\n onDropdownTriggerClick(event: any): void {\n this.popoverService.toggleWithEvent(event);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';\nimport { BASIC_FOCUSABLE_ITEM_PROVIDER, FocusableItem } from '@clr/angular/utils';\n\nimport { ClrDropdown } from './dropdown';\nimport { RootDropdownService } from './providers/dropdown.service';\n\n@Directive({\n selector: '[clrDropdownItem]',\n host: {\n '[class.disabled]': 'disabled',\n '[class.dropdown-item]': 'true',\n '[attr.role]': '\"menuitem\"',\n '[attr.aria-disabled]': 'disabled',\n '[attr.id]': 'dropdownItemId',\n },\n providers: [BASIC_FOCUSABLE_ITEM_PROVIDER],\n standalone: false,\n})\nexport class ClrDropdownItem {\n constructor(\n private dropdown: ClrDropdown,\n private _dropdownService: RootDropdownService,\n private focusableItem: FocusableItem,\n private el: ElementRef,\n private renderer: Renderer2\n ) {}\n\n @Input('clrDisabled')\n get disabled() {\n return this.focusableItem.disabled;\n }\n set disabled(value: boolean | string) {\n // Empty string attribute evaluates to false but should disable the item, so we need to add a special case for it.\n this.focusableItem.disabled = !!value || value === '';\n }\n\n /**\n * Let you overwrite the focusable auto increment id.\n */\n @Input('id')\n get dropdownItemId() {\n return this.focusableItem.id;\n }\n set dropdownItemId(value: string) {\n this.focusableItem.id = value;\n }\n\n @HostListener('click')\n private onDropdownItemClick(): void {\n // Move focus back to the root dropdown trigger.\n // This is done BEFORE the dropdown is closed so that focus gets moved properly if a modal is opened.\n if (this.dropdown.isMenuClosable && !this.disabled && this.dropdown.popoverService.open) {\n const rootDropdown = this.findRootDropdown();\n\n rootDropdown.focusHandler.focus();\n }\n\n // Ensure that the dropdown is closed after custom dropdown item click event handlers have run.\n setTimeout(() => {\n if (this.dropdown.isMenuClosable && !this.disabled) {\n this._dropdownService.closeMenus();\n }\n });\n }\n\n @HostListener('keydown.space', ['$event'])\n private onSpaceKeydown($event: KeyboardEvent) {\n this.stopImmediatePropagationIfDisabled($event);\n }\n\n @HostListener('keydown.enter', ['$event'])\n private onEnterKeydown($event: KeyboardEvent) {\n this.stopImmediatePropagationIfDisabled($event);\n }\n\n private stopImmediatePropagationIfDisabled($event: Event) {\n if (this.disabled) {\n $event.preventDefault(); // prevent click event\n $event.stopImmediatePropagation();\n }\n }\n\n private findRootDropdown() {\n let rootDropdown = this.dropdown;\n\n while (rootDropdown.parent) {\n rootDropdown = rootDropdown.parent;\n }\n\n return rootDropdown;\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport const CLR_MENU_POSITIONS: string[] = [\n 'bottom-left',\n 'bottom-right',\n 'left-bottom',\n 'left-top',\n 'right-bottom',\n 'right-top',\n 'top-left',\n 'top-right',\n];\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { ClrIcon } from '@clr/angular/icon';\nimport { ClrIfOpen } from '@clr/angular/popover/common';\n\nimport { ClrDropdown } from './dropdown';\nimport { ClrDropdownItem } from './dropdown-item';\nimport { ClrDropdownMenu } from './dropdown-menu';\nimport { ClrDropdownTrigger } from './dropdown-trigger';\n\nexport const CLR_DROPDOWN_DIRECTIVES: Type<any>[] = [ClrDropdown, ClrDropdownMenu, ClrDropdownTrigger, ClrDropdownItem];\n\n@NgModule({\n imports: [CommonModule, ClrIcon, ClrIfOpen],\n declarations: [CLR_DROPDOWN_DIRECTIVES],\n exports: [CLR_DROPDOWN_DIRECTIVES, ClrIfOpen, ClrIcon],\n})\nexport class ClrDropdownModule {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './dropdown';\nexport * from './dropdown-menu';\nexport * from './dropdown-trigger';\nexport * from './dropdown-item';\nexport * from './menu-positions';\nexport * from './dropdown.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.DropdownFocusHandler","i3.RootDropdownService","i1.DropdownFocusHandler","i1.ClrDropdown","i3.DropdownFocusHandler","i2.RootDropdownService","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clr-angular-popover-dropdown.mjs","sources":["../../../projects/angular/popover/dropdown/providers/dropdown-focus-handler.service.ts","../../../projects/angular/popover/dropdown/providers/dropdown.service.ts","../../../projects/angular/popover/dropdown/dropdown.ts","../../../projects/angular/popover/dropdown/dropdown-menu.ts","../../../projects/angular/popover/dropdown/dropdown-trigger.ts","../../../projects/angular/popover/dropdown/dropdown-item.ts","../../../projects/angular/popover/dropdown/menu-positions.ts","../../../projects/angular/popover/dropdown/dropdown.module.ts","../../../projects/angular/popover/dropdown/index.ts","../../../projects/angular/popover/dropdown/clr-angular-popover-dropdown.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { isPlatformBrowser } from '@angular/common';\nimport { Inject, Injectable, OnDestroy, Optional, PLATFORM_ID, Renderer2, SkipSelf } from '@angular/core';\nimport { ClrPopoverService } from '@clr/angular/popover/common';\nimport {\n ArrowKeyDirection,\n customFocusableItemProvider,\n FocusableItem,\n FocusService,\n Linkers,\n uniqueIdFactory,\n wrapObservable,\n} from '@clr/angular/utils';\nimport { Observable, of, ReplaySubject } from 'rxjs';\nimport { map, take } from 'rxjs/operators';\n@Injectable()\nexport class DropdownFocusHandler implements OnDestroy, FocusableItem {\n id = uniqueIdFactory();\n\n right?: Observable<FocusableItem>;\n down?: Observable<FocusableItem>;\n up?: Observable<FocusableItem>;\n\n private _trigger: HTMLElement;\n private _container: HTMLElement;\n private children: ReplaySubject<FocusableItem[]>;\n private _unlistenFuncs: (() => void)[] = [];\n\n constructor(\n private renderer: Renderer2,\n @SkipSelf()\n @Optional()\n private parent: DropdownFocusHandler,\n private popoverService: ClrPopoverService,\n private focusService: FocusService,\n @Inject(PLATFORM_ID) private platformId: any\n ) {\n this.resetChildren();\n this.moveToFirstItemWhenOpen();\n }\n\n get trigger() {\n return this._trigger;\n }\n set trigger(el: HTMLElement) {\n this._trigger = el;\n\n if (this.parent) {\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.arrowright', event => this.popoverService.toggleWithEvent(event))\n );\n } else {\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.arrowup', event => this.popoverService.toggleWithEvent(event))\n );\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.arrowdown', event => this.popoverService.toggleWithEvent(event))\n );\n }\n }\n\n get container() {\n return this._container;\n }\n\n set container(el: HTMLElement) {\n this._container = el;\n\n // whether root container or not, tab key should always toggle (i.e. close) the container\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.tab', event => this.popoverService.toggleWithEvent(event)),\n this.renderer.listen(el, 'keydown.shift.tab', event => this.popoverService.toggleWithEvent(event))\n );\n\n // All containers are registered to the focus service.\n this.focusService.registerContainer(el);\n\n this._unlistenFuncs.push(this.renderer.listen(el, 'focusout', () => this.recoverFocusIfLost()));\n\n if (this.parent) {\n // if it's a nested container, pressing escape has the same effect as pressing left key, which closes the current\n // popup and moves up to its parent. Here, we stop propagation so that the parent container\n // doesn't receive the escape keydown\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.escape', event => {\n this.focusService.move(ArrowKeyDirection.LEFT);\n event.stopPropagation();\n })\n );\n }\n }\n\n ngOnDestroy() {\n this._unlistenFuncs.forEach((unlisten: () => void) => unlisten());\n\n this.focusService.detachListeners(this.container);\n }\n\n /**\n * If the dropdown was opened by clicking on the trigger, we automatically move to the first item\n */\n moveToFirstItemWhenOpen() {\n const subscription = this.popoverService.openChange.subscribe(open => {\n if (open && this.popoverService.openEvent) {\n // Even if we properly waited for ngAfterViewInit, the container still wouldn't be attached to the DOM.\n // So setTimeout is the only way to wait for the container to be ready to move focus to first item.\n setTimeout(() => {\n this.focusService.moveTo(this);\n if (this.parent) {\n this.focusService.move(ArrowKeyDirection.RIGHT);\n } else {\n this.focusService.move(ArrowKeyDirection.DOWN);\n }\n });\n }\n });\n\n this._unlistenFuncs.push(() => subscription.unsubscribe());\n }\n\n focus() {\n if (this.trigger && isPlatformBrowser(this.platformId)) {\n this.trigger.focus();\n }\n }\n\n blur() {\n if (this.trigger && isPlatformBrowser(this.platformId)) {\n this.trigger.blur();\n }\n }\n\n activate() {\n if (isPlatformBrowser(this.platformId)) {\n this.trigger.click();\n }\n }\n\n /**\n * Makes `item` the one the menu's keyboard handling acts on, and focuses it.\n *\n * Space and enter activate whatever the focus service considers current, not whatever the browser\n * has focused - see `FocusService.registerContainer`. So moving focus to a menu item without going\n * through here leaves the two disagreeing, and the keys then fire a different item than the one the\n * user can see is focused.\n */\n moveTo(item: FocusableItem) {\n // Opening the menu already moves to its first item, which focuses it, which is reported back\n // here by the item itself. Without this the same move would be applied twice.\n if (this.focusService.current === item) {\n return;\n }\n\n this.focusService.moveTo(item);\n }\n\n resetChildren() {\n this.children = new ReplaySubject<FocusableItem[]>(1);\n if (this.parent) {\n this.right = this.openAndGetChildren().pipe(map(all => all[0]));\n } else {\n this.down = this.openAndGetChildren().pipe(map(all => all[0]));\n this.up = this.openAndGetChildren().pipe(map(all => all[all.length - 1]));\n }\n }\n\n addChildren(children: FocusableItem[]) {\n Linkers.linkVertical(children);\n if (this.parent) {\n Linkers.linkParent(children, this.closeAndGetThis(), ArrowKeyDirection.LEFT);\n }\n this.children.next(children);\n }\n\n private recoverFocusIfLost() {\n setTimeout(() => {\n if (!this.popoverService.open || document.activeElement !== document.body) {\n return;\n }\n\n const firstItem = this.parent ? this.right : this.down;\n\n firstItem?.pipe(take(1)).subscribe(item => item && this.focusService.moveTo(item));\n });\n }\n\n private openAndGetChildren() {\n return wrapObservable(this.children, () => (this.popoverService.open = true));\n }\n\n private closeAndGetThis() {\n return wrapObservable(of(this), () => (this.popoverService.open = false));\n }\n}\n\nexport const DROPDOWN_FOCUS_HANDLER_PROVIDER = customFocusableItemProvider(DropdownFocusHandler);\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable, Optional, SkipSelf } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class RootDropdownService {\n private _changes = new Subject<boolean>();\n\n get changes(): Observable<boolean> {\n return this._changes.asObservable();\n }\n\n closeMenus(): void {\n this._changes.next(false);\n }\n}\n\nexport function clrRootDropdownFactory(existing: RootDropdownService) {\n return existing || new RootDropdownService();\n}\n\nexport const ROOT_DROPDOWN_PROVIDER = {\n provide: RootDropdownService,\n useFactory: clrRootDropdownFactory,\n deps: [[new Optional(), new SkipSelf(), RootDropdownService]],\n};\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ChangeDetectorRef, Component, Input, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { ClrPopoverHostDirective, ClrPopoverPoint, ClrPopoverService } from '@clr/angular/popover/common';\nimport { FOCUS_SERVICE_PROVIDER } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { DROPDOWN_FOCUS_HANDLER_PROVIDER, DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\nimport { ROOT_DROPDOWN_PROVIDER, RootDropdownService } from './providers/dropdown.service';\n\n@Component({\n selector: 'clr-dropdown',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.dropdown]': 'true',\n '[class.open]': 'popoverService.open',\n },\n providers: [ROOT_DROPDOWN_PROVIDER, FOCUS_SERVICE_PROVIDER, DROPDOWN_FOCUS_HANDLER_PROVIDER],\n hostDirectives: [ClrPopoverHostDirective],\n standalone: false,\n})\nexport class ClrDropdown implements OnDestroy {\n @Input('clrCloseMenuOnItemClick') isMenuClosable = true;\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n @SkipSelf()\n @Optional()\n public parent: ClrDropdown,\n public popoverService: ClrPopoverService,\n public focusHandler: DropdownFocusHandler,\n cdr: ChangeDetectorRef,\n dropdownService: RootDropdownService\n ) {\n this.subscriptions.push(dropdownService.changes.subscribe(value => (popoverService.open = value)));\n this.subscriptions.push(popoverService.openChange.subscribe(() => cdr.markForCheck()));\n }\n\n openAtPoint(point: ClrPopoverPoint, targetElement?: HTMLElement) {\n this.popoverService.openAtPoint(point, targetElement);\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n SkipSelf,\n} from '@angular/core';\nimport {\n ClrPopoverContent,\n ClrPopoverPosition,\n ClrPopoverService,\n ClrPopoverType,\n DROPDOWN_POSITIONS,\n POPOVER_HOST_ORIGIN,\n} from '@clr/angular/popover/common';\nimport { FocusableItem } from '@clr/angular/utils';\n\nimport { DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\n\n@Component({\n selector: 'clr-dropdown-menu',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.dropdown-menu]': 'true',\n '[attr.role]': '\"menu\"',\n },\n standalone: false,\n hostDirectives: [ClrPopoverContent],\n})\nexport class ClrDropdownMenu implements AfterContentInit, OnDestroy {\n @ContentChildren(FocusableItem) items: QueryList<FocusableItem>;\n\n constructor(\n @Optional()\n @Inject(POPOVER_HOST_ORIGIN)\n parentHost: ElementRef<HTMLElement>,\n @Optional()\n @SkipSelf()\n nested: ClrDropdownMenu,\n private focusHandler: DropdownFocusHandler,\n private elementRef: ElementRef,\n private popoverService: ClrPopoverService,\n private popoverContent: ClrPopoverContent\n ) {\n if (!parentHost) {\n throw new Error('clr-dropdown-menu should only be used inside of a clr-dropdown');\n }\n\n popoverContent.scrollToClose = true;\n\n popoverContent.contentType = ClrPopoverType.DROPDOWN;\n\n popoverContent.contentAt = nested ? ClrPopoverPosition.RIGHT_TOP : ClrPopoverPosition.BOTTOM_LEFT;\n\n popoverService.panelClass.push('clr-dropdown-container');\n }\n\n /*\n * Fallback to hide when *clrIfOpen is not being used\n */\n @HostBinding('class.is-off-screen')\n get isOffScreen() {\n return !this.popoverService.open;\n }\n\n @Input('clrPosition')\n set position(position: string | ClrPopoverPosition) {\n if (!position) {\n return;\n }\n\n const posIndex = DROPDOWN_POSITIONS.indexOf(position as ClrPopoverPosition);\n\n if (posIndex === -1) {\n return;\n }\n\n // set the popover values based on menu position\n this.popoverContent.contentAt = DROPDOWN_POSITIONS[posIndex];\n }\n\n ngAfterContentInit() {\n this.focusHandler.container = this.elementRef.nativeElement;\n this.items.changes.subscribe(() => this.focusHandler.addChildren(this.items.toArray()));\n // I saw this on GitHub as a solution to avoid code duplication because of missed QueryList changes\n this.items.notifyOnChanges();\n }\n\n ngOnDestroy() {\n this.focusHandler.resetChildren();\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, ElementRef, HostListener } from '@angular/core';\nimport { ClrPopoverService } from '@clr/angular/popover/common';\n\nimport { ClrDropdown } from './dropdown';\nimport { DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\n\n@Directive({\n // We support both selectors for legacy reasons\n selector: '[clrDropdownTrigger],[clrDropdownToggle]',\n host: {\n '[class.dropdown-toggle]': 'isRootLevelToggle',\n '[class.dropdown-item]': '!isRootLevelToggle',\n '[class.expandable]': '!isRootLevelToggle',\n '[class.active]': 'active',\n '[attr.aria-haspopup]': '\"menu\"',\n '[attr.aria-expanded]': 'active',\n },\n standalone: false,\n})\nexport class ClrDropdownTrigger {\n isRootLevelToggle = true;\n\n constructor(\n dropdown: ClrDropdown,\n private popoverService: ClrPopoverService,\n el: ElementRef<HTMLElement>,\n focusHandler: DropdownFocusHandler\n ) {\n // if the containing dropdown has a parent, then this is not the root level one\n if (dropdown.parent) {\n this.isRootLevelToggle = false;\n }\n focusHandler.trigger = el.nativeElement;\n popoverService.origin = el;\n }\n\n get active(): boolean {\n return this.popoverService.open;\n }\n\n @HostListener('click', ['$event'])\n onDropdownTriggerClick(event: any): void {\n this.popoverService.toggleWithEvent(event);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';\nimport { BASIC_FOCUSABLE_ITEM_PROVIDER, FocusableItem } from '@clr/angular/utils';\n\nimport { ClrDropdown } from './dropdown';\nimport { RootDropdownService } from './providers/dropdown.service';\n\n@Directive({\n selector: '[clrDropdownItem]',\n host: {\n '[class.disabled]': 'disabled',\n '[class.dropdown-item]': 'true',\n '[attr.role]': 'role',\n '[attr.aria-disabled]': 'disabled',\n '[attr.id]': 'dropdownItemId',\n },\n providers: [BASIC_FOCUSABLE_ITEM_PROVIDER],\n standalone: false,\n})\nexport class ClrDropdownItem {\n /**\n * The role of the item, `menuitem` unless the item says otherwise.\n *\n * An item that represents a setting rather than a command needs one of the checkable menu roles -\n * `menuitemradio` for one of several exclusive settings, `menuitemcheckbox` for an independent one -\n * so that assistive technology can announce which of them is applied. Writing the role as a plain\n * attribute on the item is not enough: the host binding above would win over it.\n */\n @Input() role = 'menuitem';\n\n constructor(\n private dropdown: ClrDropdown,\n private _dropdownService: RootDropdownService,\n protected focusableItem: FocusableItem,\n private el: ElementRef,\n private renderer: Renderer2\n ) {}\n\n @Input('clrDisabled')\n get disabled() {\n return this.focusableItem.disabled;\n }\n set disabled(value: boolean | string) {\n // Empty string attribute evaluates to false but should disable the item, so we need to add a special case for it.\n this.focusableItem.disabled = !!value || value === '';\n }\n\n /**\n * Let you overwrite the focusable auto increment id.\n */\n @Input('id')\n get dropdownItemId() {\n return this.focusableItem.id;\n }\n set dropdownItemId(value: string) {\n this.focusableItem.id = value;\n }\n\n @HostListener('click')\n private onDropdownItemClick(): void {\n // Move focus back to the root dropdown trigger.\n // This is done BEFORE the dropdown is closed so that focus gets moved properly if a modal is opened.\n if (this.dropdown.isMenuClosable && !this.disabled && this.dropdown.popoverService.open) {\n const rootDropdown = this.findRootDropdown();\n\n rootDropdown.focusHandler.focus();\n }\n\n // Ensure that the dropdown is closed after custom dropdown item click event handlers have run.\n setTimeout(() => {\n if (this.dropdown.isMenuClosable && !this.disabled) {\n this._dropdownService.closeMenus();\n }\n });\n }\n\n @HostListener('keydown.space', ['$event'])\n private onSpaceKeydown($event: KeyboardEvent) {\n this.stopImmediatePropagationIfDisabled($event);\n }\n\n @HostListener('keydown.enter', ['$event'])\n private onEnterKeydown($event: KeyboardEvent) {\n this.stopImmediatePropagationIfDisabled($event);\n }\n\n private stopImmediatePropagationIfDisabled($event: Event) {\n if (this.disabled) {\n $event.preventDefault(); // prevent click event\n $event.stopImmediatePropagation();\n }\n }\n\n private findRootDropdown() {\n let rootDropdown = this.dropdown;\n\n while (rootDropdown.parent) {\n rootDropdown = rootDropdown.parent;\n }\n\n return rootDropdown;\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport const CLR_MENU_POSITIONS: string[] = [\n 'bottom-left',\n 'bottom-right',\n 'left-bottom',\n 'left-top',\n 'right-bottom',\n 'right-top',\n 'top-left',\n 'top-right',\n];\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { ClrIcon } from '@clr/angular/icon';\nimport { ClrIfOpen } from '@clr/angular/popover/common';\n\nimport { ClrDropdown } from './dropdown';\nimport { ClrDropdownItem } from './dropdown-item';\nimport { ClrDropdownMenu } from './dropdown-menu';\nimport { ClrDropdownTrigger } from './dropdown-trigger';\n\nexport const CLR_DROPDOWN_DIRECTIVES: Type<any>[] = [ClrDropdown, ClrDropdownMenu, ClrDropdownTrigger, ClrDropdownItem];\n\n@NgModule({\n imports: [CommonModule, ClrIcon, ClrIfOpen],\n declarations: [CLR_DROPDOWN_DIRECTIVES],\n exports: [CLR_DROPDOWN_DIRECTIVES, ClrIfOpen, ClrIcon],\n})\nexport class ClrDropdownModule {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './dropdown';\nexport * from './dropdown-menu';\nexport * from './dropdown-trigger';\nexport * from './dropdown-item';\nexport * from './menu-positions';\nexport * from './dropdown.module';\n// Needed by anything that is a dropdown without being a clr-dropdown, such as clr-dg-column-actions.\nexport * from './providers/dropdown-focus-handler.service';\nexport * from './providers/dropdown.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.DropdownFocusHandler","i3.RootDropdownService","i1.DropdownFocusHandler","i1.ClrDropdown","i3.DropdownFocusHandler","i2.RootDropdownService","i3"],"mappings":"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"}
|
|
@@ -21,13 +21,15 @@ class SignpostFocusManager {
|
|
|
21
21
|
}
|
|
22
22
|
focusTrigger() {
|
|
23
23
|
if (this._triggerEl) {
|
|
24
|
-
|
|
24
|
+
// The signpost also closes when its trigger is scrolled out of view - scrolling it back
|
|
25
|
+
// into view to focus it would undo the user's scroll.
|
|
26
|
+
this._triggerEl.focus({ preventScroll: true });
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
28
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: SignpostFocusManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
30
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: SignpostFocusManager }); }
|
|
29
31
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: SignpostFocusManager, decorators: [{
|
|
31
33
|
type: Injectable
|
|
32
34
|
}] });
|
|
33
35
|
|
|
@@ -47,10 +49,10 @@ class SignpostIdService {
|
|
|
47
49
|
setId(id) {
|
|
48
50
|
this._id.next(id);
|
|
49
51
|
}
|
|
50
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
51
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: SignpostIdService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
53
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: SignpostIdService }); }
|
|
52
54
|
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: SignpostIdService, decorators: [{
|
|
54
56
|
type: Injectable
|
|
55
57
|
}] });
|
|
56
58
|
|
|
@@ -114,10 +116,10 @@ class ClrSignpostTrigger {
|
|
|
114
116
|
this.signpostFocusManager.focusTrigger();
|
|
115
117
|
}
|
|
116
118
|
}
|
|
117
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
118
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
119
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSignpostTrigger, deps: [{ token: i4.ClrPopoverService }, { token: i0.ElementRef }, { token: SignpostIdService }, { token: SignpostFocusManager }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
120
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.25", type: ClrSignpostTrigger, isStandalone: false, selector: "[clrSignpostTrigger]", host: { listeners: { "click": "onSignpostTriggerClick($event)" }, properties: { "attr.aria-expanded": "ariaExpanded", "attr.aria-controls": "ariaControl", "class.active": "isOpen" }, classAttribute: "signpost-trigger" }, ngImport: i0 }); }
|
|
119
121
|
}
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSignpostTrigger, decorators: [{
|
|
121
123
|
type: Directive,
|
|
122
124
|
args: [{
|
|
123
125
|
selector: '[clrSignpostTrigger]',
|
|
@@ -189,8 +191,8 @@ class ClrSignpost {
|
|
|
189
191
|
openAtPoint(point, targetElement) {
|
|
190
192
|
this.popoverService.openAtPoint(point, targetElement);
|
|
191
193
|
}
|
|
192
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
193
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
194
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSignpost, deps: [{ token: i1.ClrCommonStringsService }, { token: i4.ClrPopoverService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
195
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: ClrSignpost, isStandalone: false, selector: "clr-signpost", inputs: { signpostTriggerAriaLabel: ["clrSignpostTriggerAriaLabel", "signpostTriggerAriaLabel"], hideTrigger: ["clrSignpostHideTrigger", "hideTrigger"] }, host: { properties: { "class.signpost": "true" } }, providers: [SignpostFocusManager, SignpostIdService], queries: [{ propertyName: "customTrigger", first: true, predicate: ClrSignpostTrigger, descendants: true }], hostDirectives: [{ directive: i4.ClrPopoverHostDirective }], ngImport: i0, template: `
|
|
194
196
|
@if (showDefaultTrigger) {
|
|
195
197
|
<button
|
|
196
198
|
type="button"
|
|
@@ -203,9 +205,9 @@ class ClrSignpost {
|
|
|
203
205
|
}
|
|
204
206
|
|
|
205
207
|
<ng-content></ng-content>
|
|
206
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i3.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "directive", type: ClrSignpostTrigger, selector: "[clrSignpostTrigger]" }] }); }
|
|
208
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i3.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge", "innerOffset"] }, { kind: "directive", type: ClrSignpostTrigger, selector: "[clrSignpostTrigger]" }] }); }
|
|
207
209
|
}
|
|
208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
210
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSignpost, decorators: [{
|
|
209
211
|
type: Component,
|
|
210
212
|
args: [{
|
|
211
213
|
selector: 'clr-signpost',
|
|
@@ -340,8 +342,8 @@ class ClrSignpostContent {
|
|
|
340
342
|
getFocusableElements(element) {
|
|
341
343
|
return Array.from(element.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'));
|
|
342
344
|
}
|
|
343
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
344
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
345
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSignpostContent, deps: [{ token: POPOVER_HOST_ORIGIN, optional: true }, { token: i0.ElementRef }, { token: i1.ClrCommonStringsService }, { token: SignpostIdService }, { token: SignpostFocusManager }, { token: PLATFORM_ID }, { token: DOCUMENT }, { token: i4.ClrPopoverService }, { token: i4.ClrPopoverContent }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
346
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: ClrSignpostContent, isStandalone: false, selector: "clr-signpost-content", inputs: { signpostCloseAriaLabel: ["clrSignpostCloseAriaLabel", "signpostCloseAriaLabel"], position: ["clrPosition", "position"] }, host: { attributes: { "role": "dialog" }, listeners: { "keydown": "onKeyDown($event)" }, properties: { "class.signpost-content": "true", "id": "signpostContentId", "class.is-off-screen": "this.isOffScreen" } }, viewQueries: [{ propertyName: "closeButton", first: true, predicate: ["closeButton"], descendants: true, read: ElementRef }], hostDirectives: [{ directive: i4.ClrPopoverContent }], ngImport: i0, template: `
|
|
345
347
|
<div class="signpost-wrap">
|
|
346
348
|
<div class="popover-pointer"></div>
|
|
347
349
|
<div class="signpost-content-header">
|
|
@@ -361,9 +363,9 @@ class ClrSignpostContent {
|
|
|
361
363
|
<ng-content></ng-content>
|
|
362
364
|
</div>
|
|
363
365
|
</div>
|
|
364
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i3.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }] }); }
|
|
366
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i3.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge", "innerOffset"] }] }); }
|
|
365
367
|
}
|
|
366
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSignpostContent, decorators: [{
|
|
367
369
|
type: Component,
|
|
368
370
|
args: [{
|
|
369
371
|
selector: 'clr-signpost-content',
|
|
@@ -431,10 +433,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
431
433
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
432
434
|
*/
|
|
433
435
|
class ClrSignpostTitle {
|
|
434
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
435
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.
|
|
436
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSignpostTitle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
437
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: ClrSignpostTitle, isStandalone: false, selector: "clr-signpost-title", host: { properties: { "class.signpost-title": "true" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
|
|
436
438
|
}
|
|
437
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
439
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSignpostTitle, decorators: [{
|
|
438
440
|
type: Component,
|
|
439
441
|
args: [{
|
|
440
442
|
selector: 'clr-signpost-title',
|
|
@@ -460,17 +462,17 @@ class ClrSignpostModule {
|
|
|
460
462
|
constructor() {
|
|
461
463
|
ClarityIcons.addIcons(windowCloseIcon, infoCircleIcon);
|
|
462
464
|
}
|
|
463
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
464
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.
|
|
465
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSignpostModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
466
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: ClrSignpostModule, declarations: [ClrSignpost,
|
|
465
467
|
ClrSignpostContent,
|
|
466
468
|
ClrSignpostTrigger,
|
|
467
469
|
ClrSignpostTitle], imports: [CommonModule, ClrIcon, ClrFocusOnViewInitModule, ClrPopoverModuleNext, ClrIfOpen], exports: [ClrSignpost,
|
|
468
470
|
ClrSignpostContent,
|
|
469
471
|
ClrSignpostTrigger,
|
|
470
472
|
ClrSignpostTitle, ClrIfOpen] }); }
|
|
471
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.
|
|
473
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSignpostModule, imports: [CommonModule, ClrIcon, ClrFocusOnViewInitModule, ClrPopoverModuleNext] }); }
|
|
472
474
|
}
|
|
473
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
475
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSignpostModule, decorators: [{
|
|
474
476
|
type: NgModule,
|
|
475
477
|
args: [{
|
|
476
478
|
imports: [CommonModule, ClrIcon, ClrFocusOnViewInitModule, ClrPopoverModuleNext, ClrIfOpen],
|