@clr/angular 18.0.0-beta.1 → 18.0.0-beta.11
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 +1 -1
- package/fesm2022/clr-angular-accordion.mjs.map +1 -1
- package/fesm2022/clr-angular-button.mjs +6 -6
- package/fesm2022/clr-angular-button.mjs.map +1 -1
- package/fesm2022/clr-angular-data-datagrid.mjs +45 -35
- package/fesm2022/clr-angular-data-datagrid.mjs.map +1 -1
- package/fesm2022/clr-angular-data-tree-view.mjs +3 -3
- package/fesm2022/clr-angular-data-tree-view.mjs.map +1 -1
- package/fesm2022/clr-angular-data.mjs +11 -9116
- package/fesm2022/clr-angular-data.mjs.map +1 -1
- package/fesm2022/clr-angular-emphasis-alert.mjs +2 -2
- package/fesm2022/clr-angular-emphasis-alert.mjs.map +1 -1
- package/fesm2022/clr-angular-emphasis.mjs +12 -778
- package/fesm2022/clr-angular-emphasis.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-checkbox.mjs +13 -44
- package/fesm2022/clr-angular-forms-checkbox.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-combobox.mjs +420 -90
- package/fesm2022/clr-angular-forms-combobox.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-common.mjs +62 -57
- package/fesm2022/clr-angular-forms-common.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-datalist.mjs +2 -14
- package/fesm2022/clr-angular-forms-datalist.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-datepicker.mjs +20 -28
- package/fesm2022/clr-angular-forms-datepicker.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-file-input.mjs +78 -62
- package/fesm2022/clr-angular-forms-file-input.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-input.mjs +4 -18
- package/fesm2022/clr-angular-forms-input.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-number-input.mjs +2 -14
- package/fesm2022/clr-angular-forms-number-input.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-password.mjs +2 -14
- package/fesm2022/clr-angular-forms-password.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-radio.mjs +13 -44
- package/fesm2022/clr-angular-forms-radio.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-range.mjs +3 -16
- package/fesm2022/clr-angular-forms-range.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-select.mjs +3 -16
- package/fesm2022/clr-angular-forms-select.mjs.map +1 -1
- package/fesm2022/clr-angular-forms-textarea.mjs +4 -17
- package/fesm2022/clr-angular-forms-textarea.mjs.map +1 -1
- package/fesm2022/clr-angular-forms.mjs +68 -8560
- package/fesm2022/clr-angular-forms.mjs.map +1 -1
- package/fesm2022/clr-angular-icon.mjs +10 -0
- package/fesm2022/clr-angular-icon.mjs.map +1 -1
- package/fesm2022/clr-angular-layout-nav.mjs +27 -25
- package/fesm2022/clr-angular-layout-nav.mjs.map +1 -1
- package/fesm2022/clr-angular-layout-tabs.mjs +1 -1
- package/fesm2022/clr-angular-layout-tabs.mjs.map +1 -1
- package/fesm2022/clr-angular-layout.mjs +15 -2057
- package/fesm2022/clr-angular-layout.mjs.map +1 -1
- package/fesm2022/clr-angular-modal.mjs +4 -5
- package/fesm2022/clr-angular-modal.mjs.map +1 -1
- package/fesm2022/clr-angular-popover-common.mjs +151 -85
- package/fesm2022/clr-angular-popover-common.mjs.map +1 -1
- package/fesm2022/clr-angular-popover-dropdown.mjs +7 -4
- package/fesm2022/clr-angular-popover-dropdown.mjs.map +1 -1
- package/fesm2022/clr-angular-popover-signpost.mjs +30 -15
- package/fesm2022/clr-angular-popover-signpost.mjs.map +1 -1
- package/fesm2022/clr-angular-popover-tooltip.mjs +7 -7
- package/fesm2022/clr-angular-popover-tooltip.mjs.map +1 -1
- package/fesm2022/clr-angular-popover.mjs +12 -2242
- package/fesm2022/clr-angular-popover.mjs.map +1 -1
- package/fesm2022/clr-angular-stepper.mjs +5 -5
- package/fesm2022/clr-angular-stepper.mjs.map +1 -1
- package/fesm2022/clr-angular-utils.mjs +20 -485
- package/fesm2022/clr-angular-utils.mjs.map +1 -1
- package/fesm2022/clr-angular-wizard.mjs +434 -223
- package/fesm2022/clr-angular-wizard.mjs.map +1 -1
- package/fesm2022/clr-angular.mjs +94 -38740
- package/fesm2022/clr-angular.mjs.map +1 -1
- package/package.json +10 -5
- package/popover/common/README.md +14 -12
- package/schematics/collection.json +14 -0
- package/schematics/ng-update/index.d.ts +2 -0
- package/schematics/ng-update/index.js +69 -0
- package/schematics/ng-update/index.js.map +1 -0
- package/schematics/ng-update/migrations/css-migration.d.ts +6 -0
- package/schematics/ng-update/migrations/css-migration.js +177 -0
- package/schematics/ng-update/migrations/css-migration.js.map +1 -0
- package/schematics/ng-update/migrations/import-migration.d.ts +4 -0
- package/schematics/ng-update/migrations/import-migration.js +187 -0
- package/schematics/ng-update/migrations/import-migration.js.map +1 -0
- package/schematics/ng-update/migrations/template-migration.d.ts +6 -0
- package/schematics/ng-update/migrations/template-migration.js +261 -0
- package/schematics/ng-update/migrations/template-migration.js.map +1 -0
- package/schematics/ng-update/replacements/css-replacements.d.ts +17 -0
- package/schematics/ng-update/replacements/css-replacements.js +74 -0
- package/schematics/ng-update/replacements/css-replacements.js.map +1 -0
- package/schematics/ng-update/replacements/import-replacements.d.ts +13 -0
- package/schematics/ng-update/replacements/import-replacements.js +108 -0
- package/schematics/ng-update/replacements/import-replacements.js.map +1 -0
- package/schematics/ng-update/replacements/symbol-replacements.d.ts +12 -0
- package/schematics/ng-update/replacements/symbol-replacements.js +67 -0
- package/schematics/ng-update/replacements/symbol-replacements.js.map +1 -0
- package/schematics/ng-update/replacements/template-replacements.d.ts +19 -0
- package/schematics/ng-update/replacements/template-replacements.js +57 -0
- package/schematics/ng-update/replacements/template-replacements.js.map +1 -0
- package/schematics/ng-update/tests/test-helpers.d.ts +6 -0
- package/schematics/ng-update/tests/test-helpers.js +34 -0
- package/schematics/ng-update/tests/test-helpers.js.map +1 -0
- package/schematics/ng-update/utils/file-visitor.d.ts +8 -0
- package/schematics/ng-update/utils/file-visitor.js +44 -0
- package/schematics/ng-update/utils/file-visitor.js.map +1 -0
- package/schematics/ng-update/utils/regexp-utils.d.ts +16 -0
- package/schematics/ng-update/utils/regexp-utils.js +34 -0
- package/schematics/ng-update/utils/regexp-utils.js.map +1 -0
- package/schematics/vitest.config.d.ts +2 -0
- package/schematics/vitest.config.js +17 -0
- package/schematics/vitest.config.js.map +1 -0
- package/types/clr-angular-accordion.d.ts +1 -1
- package/types/clr-angular-button.d.ts +1 -1
- package/types/clr-angular-data-datagrid.d.ts +23 -33
- package/types/clr-angular-data-tree-view.d.ts +10 -1
- package/types/clr-angular-data.d.ts +4 -2136
- package/types/clr-angular-emphasis.d.ts +4 -220
- package/types/clr-angular-forms-combobox.d.ts +64 -11
- package/types/clr-angular-forms-common.d.ts +9 -9
- package/types/clr-angular-forms-datepicker.d.ts +8 -1
- package/types/clr-angular-forms-file-input.d.ts +6 -3
- package/types/clr-angular-forms.d.ts +26 -2062
- package/types/clr-angular-layout-nav.d.ts +6 -2
- package/types/clr-angular-layout-tabs.d.ts +1 -1
- package/types/clr-angular-layout.d.ts +6 -463
- package/types/clr-angular-popover-common.d.ts +38 -13
- package/types/clr-angular-popover-dropdown.d.ts +2 -1
- package/types/clr-angular-popover-signpost.d.ts +15 -7
- package/types/clr-angular-popover-tooltip.d.ts +1 -1
- package/types/clr-angular-popover.d.ts +7 -559
- package/types/clr-angular-stepper.d.ts +1 -1
- package/types/clr-angular-utils.d.ts +13 -175
- package/types/clr-angular-wizard.d.ts +92 -35
- package/types/clr-angular.d.ts +22 -10238
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, DOCUMENT, PLATFORM_ID, HostListener, Inject, Directive, ContentChild, Input, Component, ElementRef, HostBinding, ViewChild, Optional, NgModule } from '@angular/core';
|
|
3
3
|
import * as i4 from '@clr/angular/popover/common';
|
|
4
|
-
import { ClrPopoverHostDirective, ClrPopoverPosition, ClrPopoverType, SIGNPOST_POSITIONS,
|
|
4
|
+
import { ClrPopoverHostDirective, ClrPopoverPosition, ClrPopoverType, SIGNPOST_POSITIONS, POPOVER_HOST_ORIGIN, ClrPopoverContent, ClrIfOpen, ClrPopoverModuleNext } from '@clr/angular/popover/common';
|
|
5
5
|
import { Subject } from 'rxjs';
|
|
6
6
|
import { isPlatformBrowser, CommonModule } from '@angular/common';
|
|
7
7
|
import * as i1 from '@clr/angular/utils';
|
|
@@ -79,7 +79,7 @@ class ClrSignpostTrigger {
|
|
|
79
79
|
this.document = document;
|
|
80
80
|
}
|
|
81
81
|
ngOnInit() {
|
|
82
|
-
this.popoverService.
|
|
82
|
+
this.popoverService.origin = this.el;
|
|
83
83
|
this.signpostFocusManager.triggerEl = this.el.nativeElement;
|
|
84
84
|
this.subscriptions.push(this.popoverService.openChange.subscribe((isOpen) => {
|
|
85
85
|
this.ariaExpanded = isOpen;
|
|
@@ -156,8 +156,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
156
156
|
*
|
|
157
157
|
*/
|
|
158
158
|
class ClrSignpost {
|
|
159
|
-
constructor(commonStrings) {
|
|
159
|
+
constructor(commonStrings, popoverService) {
|
|
160
160
|
this.commonStrings = commonStrings;
|
|
161
|
+
this.popoverService = popoverService;
|
|
161
162
|
/**********
|
|
162
163
|
* @property useCustomTrigger
|
|
163
164
|
*
|
|
@@ -166,6 +167,11 @@ class ClrSignpost {
|
|
|
166
167
|
*
|
|
167
168
|
*/
|
|
168
169
|
this.useCustomTrigger = false;
|
|
170
|
+
/**
|
|
171
|
+
* Hides the default trigger button. Use when the signpost is opened
|
|
172
|
+
* programmatically via `openAtPoint()` and no trigger icon is needed.
|
|
173
|
+
*/
|
|
174
|
+
this.hideTrigger = false;
|
|
169
175
|
}
|
|
170
176
|
/**********
|
|
171
177
|
* @property signPostTrigger
|
|
@@ -177,9 +183,15 @@ class ClrSignpost {
|
|
|
177
183
|
set customTrigger(trigger) {
|
|
178
184
|
this.useCustomTrigger = !!trigger;
|
|
179
185
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
186
|
+
get showDefaultTrigger() {
|
|
187
|
+
return !this.useCustomTrigger && !this.hideTrigger;
|
|
188
|
+
}
|
|
189
|
+
openAtPoint(point) {
|
|
190
|
+
this.popoverService.openAtPoint(point);
|
|
191
|
+
}
|
|
192
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrSignpost, deps: [{ token: i1.ClrCommonStringsService }, { token: i4.ClrPopoverService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
193
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", 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
|
+
@if (showDefaultTrigger) {
|
|
183
195
|
<button
|
|
184
196
|
type="button"
|
|
185
197
|
class="signpost-action btn btn-sm btn-icon btn-link"
|
|
@@ -198,7 +210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
198
210
|
args: [{
|
|
199
211
|
selector: 'clr-signpost',
|
|
200
212
|
template: `
|
|
201
|
-
@if (
|
|
213
|
+
@if (showDefaultTrigger) {
|
|
202
214
|
<button
|
|
203
215
|
type="button"
|
|
204
216
|
class="signpost-action btn btn-sm btn-icon btn-link"
|
|
@@ -216,9 +228,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
216
228
|
hostDirectives: [ClrPopoverHostDirective],
|
|
217
229
|
standalone: false,
|
|
218
230
|
}]
|
|
219
|
-
}], ctorParameters: () => [{ type: i1.ClrCommonStringsService }], propDecorators: { signpostTriggerAriaLabel: [{
|
|
231
|
+
}], ctorParameters: () => [{ type: i1.ClrCommonStringsService }, { type: i4.ClrPopoverService }], propDecorators: { signpostTriggerAriaLabel: [{
|
|
220
232
|
type: Input,
|
|
221
233
|
args: ['clrSignpostTriggerAriaLabel']
|
|
234
|
+
}], hideTrigger: [{
|
|
235
|
+
type: Input,
|
|
236
|
+
args: ['clrSignpostHideTrigger']
|
|
222
237
|
}], customTrigger: [{
|
|
223
238
|
type: ContentChild,
|
|
224
239
|
args: [ClrSignpostTrigger]
|
|
@@ -253,8 +268,8 @@ class ClrSignpostContent {
|
|
|
253
268
|
*
|
|
254
269
|
* @description
|
|
255
270
|
* A setter for the position of the ClrSignpostContent popover. This is a combination of the following:
|
|
256
|
-
* -
|
|
257
|
-
* - popoverPoint - where on the
|
|
271
|
+
* - originPoint - where on the trigger to position the content
|
|
272
|
+
* - popoverPoint - where on the content container to align with the origin
|
|
258
273
|
* - offsetY - where on the Y axis to align the ClrSignpostContent so it meets specs
|
|
259
274
|
* - offsetX - where on the X axis to align the ClrSignpostContent so it meets specs
|
|
260
275
|
* There are 12 possible positions to place a ClrSignpostContent container:
|
|
@@ -324,7 +339,7 @@ class ClrSignpostContent {
|
|
|
324
339
|
getFocusableElements(element) {
|
|
325
340
|
return Array.from(element.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'));
|
|
326
341
|
}
|
|
327
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrSignpostContent, deps: [{ token:
|
|
342
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", 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 }); }
|
|
328
343
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", 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: `
|
|
329
344
|
<div class="signpost-wrap">
|
|
330
345
|
<div class="popover-pointer"></div>
|
|
@@ -384,7 +399,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
384
399
|
type: Optional
|
|
385
400
|
}, {
|
|
386
401
|
type: Inject,
|
|
387
|
-
args: [
|
|
402
|
+
args: [POPOVER_HOST_ORIGIN]
|
|
388
403
|
}] }, { type: i0.ElementRef }, { type: i1.ClrCommonStringsService }, { type: SignpostIdService }, { type: SignpostFocusManager }, { type: undefined, decorators: [{
|
|
389
404
|
type: Inject,
|
|
390
405
|
args: [PLATFORM_ID]
|
|
@@ -448,16 +463,16 @@ class ClrSignpostModule {
|
|
|
448
463
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ClrSignpostModule, declarations: [ClrSignpost,
|
|
449
464
|
ClrSignpostContent,
|
|
450
465
|
ClrSignpostTrigger,
|
|
451
|
-
ClrSignpostTitle], imports: [CommonModule, ClrIcon, ClrFocusOnViewInitModule,
|
|
466
|
+
ClrSignpostTitle], imports: [CommonModule, ClrIcon, ClrFocusOnViewInitModule, ClrPopoverModuleNext, ClrIfOpen], exports: [ClrSignpost,
|
|
452
467
|
ClrSignpostContent,
|
|
453
468
|
ClrSignpostTrigger,
|
|
454
469
|
ClrSignpostTitle, ClrIfOpen] }); }
|
|
455
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrSignpostModule, imports: [CommonModule, ClrIcon, ClrFocusOnViewInitModule,
|
|
470
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrSignpostModule, imports: [CommonModule, ClrIcon, ClrFocusOnViewInitModule, ClrPopoverModuleNext] }); }
|
|
456
471
|
}
|
|
457
472
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrSignpostModule, decorators: [{
|
|
458
473
|
type: NgModule,
|
|
459
474
|
args: [{
|
|
460
|
-
imports: [CommonModule, ClrIcon, ClrFocusOnViewInitModule,
|
|
475
|
+
imports: [CommonModule, ClrIcon, ClrFocusOnViewInitModule, ClrPopoverModuleNext, ClrIfOpen],
|
|
461
476
|
declarations: [CLR_SIGNPOST_DIRECTIVES],
|
|
462
477
|
exports: [CLR_SIGNPOST_DIRECTIVES, ClrIfOpen],
|
|
463
478
|
}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clr-angular-popover-signpost.mjs","sources":["../../../projects/angular/popover/signpost/providers/signpost-focus-manager.service.ts","../../../projects/angular/popover/signpost/providers/signpost-id.service.ts","../../../projects/angular/popover/signpost/signpost-trigger.ts","../../../projects/angular/popover/signpost/signpost.ts","../../../projects/angular/popover/signpost/signpost-content.ts","../../../projects/angular/popover/signpost/signpost-title.ts","../../../projects/angular/popover/signpost/signpost.module.ts","../../../projects/angular/popover/signpost/index.ts","../../../projects/angular/popover/signpost/clr-angular-popover-signpost.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 { Injectable } from '@angular/core';\n\n@Injectable()\nexport class SignpostFocusManager {\n private _triggerEl: HTMLElement;\n\n set triggerEl(value: HTMLElement) {\n this._triggerEl = value;\n }\n\n focusTrigger() {\n if (this._triggerEl) {\n this._triggerEl.focus();\n }\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 { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class SignpostIdService {\n private _id = new Subject<string>();\n\n get id(): Observable<string> {\n return this._id.asObservable();\n }\n\n setId(id: string) {\n this._id.next(id);\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 { isPlatformBrowser } from '@angular/common';\nimport { Directive, DOCUMENT, ElementRef, HostListener, Inject, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { ClrPopoverService } from '@clr/angular/popover/common';\nimport { Subscription } from 'rxjs';\n\nimport { SignpostFocusManager } from './providers/signpost-focus-manager.service';\nimport { SignpostIdService } from './providers/signpost-id.service';\n\n@Directive({\n selector: '[clrSignpostTrigger]',\n host: {\n class: 'signpost-trigger',\n '[attr.aria-expanded]': 'ariaExpanded',\n '[attr.aria-controls]': 'ariaControl',\n '[class.active]': 'isOpen',\n },\n standalone: false,\n})\n\n/*********\n *\n * @description\n * A Directive added to the ClrSignpost Trigger button that will call the ClrSignpost.toggle() function to hide/show the\n * ClrSignpostContent.\n *\n */\nexport class ClrSignpostTrigger implements OnDestroy {\n ariaExpanded = false;\n ariaControl: string;\n isOpen: boolean;\n\n private document: Document;\n private subscriptions: Subscription[] = [];\n\n constructor(\n private popoverService: ClrPopoverService,\n private el: ElementRef<HTMLElement>,\n private signpostIdService: SignpostIdService,\n private signpostFocusManager: SignpostFocusManager,\n @Inject(DOCUMENT) document: any,\n @Inject(PLATFORM_ID) private platformId: any\n ) {\n this.document = document;\n }\n\n ngOnInit() {\n this.popoverService.anchorElementRef = this.el;\n this.signpostFocusManager.triggerEl = this.el.nativeElement;\n this.subscriptions.push(\n this.popoverService.openChange.subscribe((isOpen: boolean) => {\n this.ariaExpanded = isOpen;\n\n const prevIsOpen = this.isOpen;\n this.isOpen = isOpen;\n\n // openChange fires false on initialization because signpost starts as closed by default\n // but we shouldn't focus on that initial false value\n // we should focus back only if it's closed after being opened\n if (!this.isOpen && prevIsOpen) {\n this.focusOnClose();\n }\n }),\n this.signpostIdService.id.subscribe(idChange => (this.ariaControl = idChange))\n );\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach((sub: Subscription) => sub.unsubscribe());\n }\n\n /**********\n *\n * @description\n * click handler for the ClrSignpost trigger button used to hide/show ClrSignpostContent.\n */\n @HostListener('click', ['$event'])\n onSignpostTriggerClick(event: Event): void {\n this.popoverService.toggleWithEvent(event);\n }\n\n private focusOnClose() {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n // we have to set the focus back on the trigger only if the focus is reset back to the body element\n // if the focus is on another element, we are not allowed to move that focus back to this trigger again.\n if (!this.isOpen && this.document.activeElement === this.document.body) {\n this.signpostFocusManager.focusTrigger();\n }\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 { Component, ContentChild, Input } from '@angular/core';\nimport { ClrPopoverHostDirective } from '@clr/angular/popover/common';\nimport { ClrCommonStringsService } from '@clr/angular/utils';\n\nimport { SignpostFocusManager } from './providers/signpost-focus-manager.service';\nimport { SignpostIdService } from './providers/signpost-id.service';\nimport { ClrSignpostTrigger } from './signpost-trigger';\n\n@Component({\n selector: 'clr-signpost',\n template: `\n @if (!useCustomTrigger) {\n <button\n type=\"button\"\n class=\"signpost-action btn btn-sm btn-icon btn-link\"\n clrSignpostTrigger\n [attr.aria-label]=\"signpostTriggerAriaLabel || commonStrings.keys.signpostToggle\"\n >\n <cds-icon shape=\"info-circle\" [attr.title]=\"commonStrings.keys.info\"></cds-icon>\n </button>\n }\n\n <ng-content></ng-content>\n `,\n host: { '[class.signpost]': 'true' },\n providers: [SignpostFocusManager, SignpostIdService],\n hostDirectives: [ClrPopoverHostDirective],\n standalone: false,\n})\n\n/*********\n *\n * @class ClrSignpost\n *\n * @description\n * Class used to configure and control the state of a ClrSignpost and its associated ClrSignpostContent.\n * It supports the clrPosition with a 'right-middle' default.\n *\n */\nexport class ClrSignpost {\n /**********\n * @property useCustomTrigger\n *\n * @description\n * Flag used to determine if we need to use the default trigger or a user supplied trigger element.\n *\n */\n useCustomTrigger = false;\n\n @Input('clrSignpostTriggerAriaLabel') signpostTriggerAriaLabel: string;\n\n constructor(public commonStrings: ClrCommonStringsService) {}\n\n /**********\n * @property signPostTrigger\n *\n * @description\n * Uses ContentChild to check for a user supplied element with the ClrSignpostTrigger on it.\n *\n */\n @ContentChild(ClrSignpostTrigger)\n set customTrigger(trigger: ClrSignpostTrigger) {\n this.useCustomTrigger = !!trigger;\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 { isPlatformBrowser } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n DOCUMENT,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n PLATFORM_ID,\n ViewChild,\n} from '@angular/core';\nimport {\n ClrPopoverContent,\n ClrPopoverPosition,\n ClrPopoverService,\n ClrPopoverType,\n POPOVER_HOST_ANCHOR,\n SIGNPOST_POSITIONS,\n} from '@clr/angular/popover/common';\nimport { ClrCommonStringsService, uniqueIdFactory } from '@clr/angular/utils';\n\nimport { SignpostFocusManager } from './providers/signpost-focus-manager.service';\nimport { SignpostIdService } from './providers/signpost-id.service';\n\n@Component({\n selector: 'clr-signpost-content',\n template: `\n <div class=\"signpost-wrap\">\n <div class=\"popover-pointer\"></div>\n <div class=\"signpost-content-header\">\n <ng-content select=\"clr-signpost-title\"></ng-content>\n <button\n #closeButton\n type=\"button\"\n [attr.aria-label]=\"signpostCloseAriaLabel || commonStrings.keys.signpostClose\"\n class=\"signpost-action close\"\n (click)=\"close()\"\n [attr.aria-controls]=\"signpostContentId\"\n >\n <cds-icon shape=\"window-close\" [attr.title]=\"commonStrings.keys.close\"></cds-icon>\n </button>\n </div>\n <div class=\"signpost-content-body\" tabindex=\"0\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n host: {\n '[class.signpost-content]': 'true',\n '[id]': 'signpostContentId',\n role: 'dialog',\n },\n standalone: false,\n hostDirectives: [ClrPopoverContent],\n})\nexport class ClrSignpostContent implements OnDestroy, AfterViewInit {\n @Input('clrSignpostCloseAriaLabel') signpostCloseAriaLabel: string;\n @ViewChild('closeButton', { read: ElementRef }) closeButton: ElementRef<HTMLButtonElement>;\n\n signpostContentId = uniqueIdFactory();\n\n private _position = ClrPopoverPosition.RIGHT_MIDDLE;\n\n constructor(\n @Optional()\n @Inject(POPOVER_HOST_ANCHOR)\n parentHost: ElementRef<HTMLElement>,\n private element: ElementRef,\n public commonStrings: ClrCommonStringsService,\n signpostIdService: SignpostIdService,\n private signpostFocusManager: SignpostFocusManager,\n @Inject(PLATFORM_ID) private platformId: any,\n @Inject(DOCUMENT) private document: Document,\n private popoverService: ClrPopoverService,\n private popoverContent: ClrPopoverContent\n ) {\n if (!parentHost) {\n throw new Error('clr-signpost-content should only be used inside of a clr-signpost');\n }\n // Defaults\n signpostIdService.setId(this.signpostContentId);\n\n popoverService.panelClass.push('clr-signpost-container');\n popoverContent.contentType = ClrPopoverType.SIGNPOST;\n }\n\n /*********\n *\n * @description\n * A setter for the position of the ClrSignpostContent popover. This is a combination of the following:\n * - anchorPoint - where on the trigger to anchor the ClrSignpostContent\n * - popoverPoint - where on the ClrSignpostContent container to align with the anchorPoint\n * - offsetY - where on the Y axis to align the ClrSignpostContent so it meets specs\n * - offsetX - where on the X axis to align the ClrSignpostContent so it meets specs\n * There are 12 possible positions to place a ClrSignpostContent container:\n * - top-left\n * - top-middle\n * - top-right\n * - right-top\n * - right-middle\n * - right-bottom\n * - bottom-right\n * - bottom-middle\n * - bottom-left\n * - left-bottom\n * - left-middle\n * - left-top\n *\n * I think of it as follows for 'top-left' -> CONTAINER_SIDE-SIDE_POSITION. In this case CONTAINER_SIDE is 'top'\n * meaning the top of the trigger icon (above the icon that hides/shows) the ClrSignpostContent. And, SIDE_POSITION\n * is 'left' meaning two things: 1) the ClrSignpostContent container extends to the left and 2) the 'arrow/pointer'\n * linking the SignpostContent to the trigger points down at the horizontal center of the trigger icon.\n *\n * @param newPosition\n */\n @Input('clrPosition')\n get position() {\n return this._position;\n }\n set position(position: string | ClrPopoverPosition) {\n const posIndex = SIGNPOST_POSITIONS.indexOf(position as ClrPopoverPosition);\n this._position = position && posIndex > -1 ? SIGNPOST_POSITIONS[posIndex] : ClrPopoverPosition.RIGHT_MIDDLE;\n\n this.popoverContent.contentAt = this._position;\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 /**********\n *\n * @description\n * Close function that uses the signpost instance to toggle the state of the content popover.\n *\n */\n close() {\n this.popoverService.open = false;\n }\n\n ngAfterViewInit(): void {\n this.popoverService.closeButtonRef = this.closeButton;\n this.closeButton.nativeElement.focus();\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n const focusableElements = this.getFocusableElements(this.element.nativeElement);\n\n // take the first element when SHIFT+TAB or last when only TAB\n const focusableElementIndex = event.shiftKey ? 0 : focusableElements.length - 1;\n\n if (document.activeElement === focusableElements[focusableElementIndex]) {\n event.preventDefault();\n this.popoverService.open = false;\n }\n }\n }\n\n ngOnDestroy() {\n if (isPlatformBrowser(this.platformId) && this.element.nativeElement.contains(this.document.activeElement)) {\n this.signpostFocusManager.focusTrigger();\n }\n }\n\n private getFocusableElements(element: HTMLElement): HTMLElement[] {\n return Array.from(\n element.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n ) as HTMLElement[];\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 { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-signpost-title',\n template: `<ng-content></ng-content>`,\n host: { '[class.signpost-title]': 'true' },\n standalone: false,\n})\nexport class ClrSignpostTitle {}\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 { ClarityIcons, ClrIcon, infoCircleIcon, windowCloseIcon } from '@clr/angular/icon';\nimport { ClrIfOpen, ÇlrClrPopoverModuleNext } from '@clr/angular/popover/common';\nimport { ClrFocusOnViewInitModule } from '@clr/angular/utils';\n\nimport { ClrSignpost } from './signpost';\nimport { ClrSignpostContent } from './signpost-content';\nimport { ClrSignpostTitle } from './signpost-title';\nimport { ClrSignpostTrigger } from './signpost-trigger';\n\nexport const CLR_SIGNPOST_DIRECTIVES: Type<any>[] = [\n ClrSignpost,\n ClrSignpostContent,\n ClrSignpostTrigger,\n ClrSignpostTitle,\n];\n\n@NgModule({\n imports: [CommonModule, ClrIcon, ClrFocusOnViewInitModule, ÇlrClrPopoverModuleNext, ClrIfOpen],\n declarations: [CLR_SIGNPOST_DIRECTIVES],\n exports: [CLR_SIGNPOST_DIRECTIVES, ClrIfOpen],\n})\nexport class ClrSignpostModule {\n constructor() {\n ClarityIcons.addIcons(windowCloseIcon, infoCircleIcon);\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 * from './signpost';\nexport * from './signpost-content';\nexport * from './signpost-title';\nexport * from './signpost-trigger';\nexport * from './signpost.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.SignpostIdService","i3.SignpostFocusManager","i2","i4.ClrSignpostTrigger","i5","ÇlrClrPopoverModuleNext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clr-angular-popover-signpost.mjs","sources":["../../../projects/angular/popover/signpost/providers/signpost-focus-manager.service.ts","../../../projects/angular/popover/signpost/providers/signpost-id.service.ts","../../../projects/angular/popover/signpost/signpost-trigger.ts","../../../projects/angular/popover/signpost/signpost.ts","../../../projects/angular/popover/signpost/signpost-content.ts","../../../projects/angular/popover/signpost/signpost-title.ts","../../../projects/angular/popover/signpost/signpost.module.ts","../../../projects/angular/popover/signpost/index.ts","../../../projects/angular/popover/signpost/clr-angular-popover-signpost.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 { Injectable } from '@angular/core';\n\n@Injectable()\nexport class SignpostFocusManager {\n private _triggerEl: HTMLElement;\n\n set triggerEl(value: HTMLElement) {\n this._triggerEl = value;\n }\n\n focusTrigger() {\n if (this._triggerEl) {\n this._triggerEl.focus();\n }\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 { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class SignpostIdService {\n private _id = new Subject<string>();\n\n get id(): Observable<string> {\n return this._id.asObservable();\n }\n\n setId(id: string) {\n this._id.next(id);\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 { isPlatformBrowser } from '@angular/common';\nimport { Directive, DOCUMENT, ElementRef, HostListener, Inject, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { ClrPopoverService } from '@clr/angular/popover/common';\nimport { Subscription } from 'rxjs';\n\nimport { SignpostFocusManager } from './providers/signpost-focus-manager.service';\nimport { SignpostIdService } from './providers/signpost-id.service';\n\n@Directive({\n selector: '[clrSignpostTrigger]',\n host: {\n class: 'signpost-trigger',\n '[attr.aria-expanded]': 'ariaExpanded',\n '[attr.aria-controls]': 'ariaControl',\n '[class.active]': 'isOpen',\n },\n standalone: false,\n})\n\n/*********\n *\n * @description\n * A Directive added to the ClrSignpost Trigger button that will call the ClrSignpost.toggle() function to hide/show the\n * ClrSignpostContent.\n *\n */\nexport class ClrSignpostTrigger implements OnDestroy {\n ariaExpanded = false;\n ariaControl: string;\n isOpen: boolean;\n\n private document: Document;\n private subscriptions: Subscription[] = [];\n\n constructor(\n private popoverService: ClrPopoverService,\n private el: ElementRef<HTMLElement>,\n private signpostIdService: SignpostIdService,\n private signpostFocusManager: SignpostFocusManager,\n @Inject(DOCUMENT) document: any,\n @Inject(PLATFORM_ID) private platformId: any\n ) {\n this.document = document;\n }\n\n ngOnInit() {\n this.popoverService.origin = this.el;\n this.signpostFocusManager.triggerEl = this.el.nativeElement;\n this.subscriptions.push(\n this.popoverService.openChange.subscribe((isOpen: boolean) => {\n this.ariaExpanded = isOpen;\n\n const prevIsOpen = this.isOpen;\n this.isOpen = isOpen;\n\n // openChange fires false on initialization because signpost starts as closed by default\n // but we shouldn't focus on that initial false value\n // we should focus back only if it's closed after being opened\n if (!this.isOpen && prevIsOpen) {\n this.focusOnClose();\n }\n }),\n this.signpostIdService.id.subscribe(idChange => (this.ariaControl = idChange))\n );\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach((sub: Subscription) => sub.unsubscribe());\n }\n\n /**********\n *\n * @description\n * click handler for the ClrSignpost trigger button used to hide/show ClrSignpostContent.\n */\n @HostListener('click', ['$event'])\n onSignpostTriggerClick(event: Event): void {\n this.popoverService.toggleWithEvent(event);\n }\n\n private focusOnClose() {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n // we have to set the focus back on the trigger only if the focus is reset back to the body element\n // if the focus is on another element, we are not allowed to move that focus back to this trigger again.\n if (!this.isOpen && this.document.activeElement === this.document.body) {\n this.signpostFocusManager.focusTrigger();\n }\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 { Component, ContentChild, Input } from '@angular/core';\nimport { ClrPopoverHostDirective, ClrPopoverPoint, ClrPopoverService } from '@clr/angular/popover/common';\nimport { ClrCommonStringsService } from '@clr/angular/utils';\n\nimport { SignpostFocusManager } from './providers/signpost-focus-manager.service';\nimport { SignpostIdService } from './providers/signpost-id.service';\nimport { ClrSignpostTrigger } from './signpost-trigger';\n\n@Component({\n selector: 'clr-signpost',\n template: `\n @if (showDefaultTrigger) {\n <button\n type=\"button\"\n class=\"signpost-action btn btn-sm btn-icon btn-link\"\n clrSignpostTrigger\n [attr.aria-label]=\"signpostTriggerAriaLabel || commonStrings.keys.signpostToggle\"\n >\n <cds-icon shape=\"info-circle\" [attr.title]=\"commonStrings.keys.info\"></cds-icon>\n </button>\n }\n\n <ng-content></ng-content>\n `,\n host: { '[class.signpost]': 'true' },\n providers: [SignpostFocusManager, SignpostIdService],\n hostDirectives: [ClrPopoverHostDirective],\n standalone: false,\n})\n\n/*********\n *\n * @class ClrSignpost\n *\n * @description\n * Class used to configure and control the state of a ClrSignpost and its associated ClrSignpostContent.\n * It supports the clrPosition with a 'right-middle' default.\n *\n */\nexport class ClrSignpost {\n /**********\n * @property useCustomTrigger\n *\n * @description\n * Flag used to determine if we need to use the default trigger or a user supplied trigger element.\n *\n */\n useCustomTrigger = false;\n\n @Input('clrSignpostTriggerAriaLabel') signpostTriggerAriaLabel: string;\n /**\n * Hides the default trigger button. Use when the signpost is opened\n * programmatically via `openAtPoint()` and no trigger icon is needed.\n */\n @Input('clrSignpostHideTrigger') hideTrigger = false;\n\n constructor(\n public commonStrings: ClrCommonStringsService,\n private popoverService: ClrPopoverService\n ) {}\n /**********\n * @property signPostTrigger\n *\n * @description\n * Uses ContentChild to check for a user supplied element with the ClrSignpostTrigger on it.\n *\n */\n @ContentChild(ClrSignpostTrigger)\n set customTrigger(trigger: ClrSignpostTrigger) {\n this.useCustomTrigger = !!trigger;\n }\n\n get showDefaultTrigger(): boolean {\n return !this.useCustomTrigger && !this.hideTrigger;\n }\n\n openAtPoint(point: ClrPopoverPoint) {\n this.popoverService.openAtPoint(point);\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 { isPlatformBrowser } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n DOCUMENT,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n PLATFORM_ID,\n ViewChild,\n} from '@angular/core';\nimport {\n ClrPopoverContent,\n ClrPopoverPosition,\n ClrPopoverService,\n ClrPopoverType,\n POPOVER_HOST_ORIGIN,\n SIGNPOST_POSITIONS,\n} from '@clr/angular/popover/common';\nimport { ClrCommonStringsService, uniqueIdFactory } from '@clr/angular/utils';\n\nimport { SignpostFocusManager } from './providers/signpost-focus-manager.service';\nimport { SignpostIdService } from './providers/signpost-id.service';\n\n@Component({\n selector: 'clr-signpost-content',\n template: `\n <div class=\"signpost-wrap\">\n <div class=\"popover-pointer\"></div>\n <div class=\"signpost-content-header\">\n <ng-content select=\"clr-signpost-title\"></ng-content>\n <button\n #closeButton\n type=\"button\"\n [attr.aria-label]=\"signpostCloseAriaLabel || commonStrings.keys.signpostClose\"\n class=\"signpost-action close\"\n (click)=\"close()\"\n [attr.aria-controls]=\"signpostContentId\"\n >\n <cds-icon shape=\"window-close\" [attr.title]=\"commonStrings.keys.close\"></cds-icon>\n </button>\n </div>\n <div class=\"signpost-content-body\" tabindex=\"0\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n host: {\n '[class.signpost-content]': 'true',\n '[id]': 'signpostContentId',\n role: 'dialog',\n },\n standalone: false,\n hostDirectives: [ClrPopoverContent],\n})\nexport class ClrSignpostContent implements OnDestroy, AfterViewInit {\n @Input('clrSignpostCloseAriaLabel') signpostCloseAriaLabel: string;\n @ViewChild('closeButton', { read: ElementRef }) closeButton: ElementRef<HTMLButtonElement>;\n\n signpostContentId = uniqueIdFactory();\n\n private _position = ClrPopoverPosition.RIGHT_MIDDLE;\n\n constructor(\n @Optional()\n @Inject(POPOVER_HOST_ORIGIN)\n parentHost: ElementRef<HTMLElement>,\n private element: ElementRef,\n public commonStrings: ClrCommonStringsService,\n signpostIdService: SignpostIdService,\n private signpostFocusManager: SignpostFocusManager,\n @Inject(PLATFORM_ID) private platformId: any,\n @Inject(DOCUMENT) private document: Document,\n private popoverService: ClrPopoverService,\n private popoverContent: ClrPopoverContent\n ) {\n if (!parentHost) {\n throw new Error('clr-signpost-content should only be used inside of a clr-signpost');\n }\n // Defaults\n signpostIdService.setId(this.signpostContentId);\n\n popoverService.panelClass.push('clr-signpost-container');\n popoverContent.contentType = ClrPopoverType.SIGNPOST;\n }\n\n /*********\n *\n * @description\n * A setter for the position of the ClrSignpostContent popover. This is a combination of the following:\n * - originPoint - where on the trigger to position the content\n * - popoverPoint - where on the content container to align with the origin\n * - offsetY - where on the Y axis to align the ClrSignpostContent so it meets specs\n * - offsetX - where on the X axis to align the ClrSignpostContent so it meets specs\n * There are 12 possible positions to place a ClrSignpostContent container:\n * - top-left\n * - top-middle\n * - top-right\n * - right-top\n * - right-middle\n * - right-bottom\n * - bottom-right\n * - bottom-middle\n * - bottom-left\n * - left-bottom\n * - left-middle\n * - left-top\n *\n * I think of it as follows for 'top-left' -> CONTAINER_SIDE-SIDE_POSITION. In this case CONTAINER_SIDE is 'top'\n * meaning the top of the trigger icon (above the icon that hides/shows) the ClrSignpostContent. And, SIDE_POSITION\n * is 'left' meaning two things: 1) the ClrSignpostContent container extends to the left and 2) the 'arrow/pointer'\n * linking the SignpostContent to the trigger points down at the horizontal center of the trigger icon.\n *\n * @param newPosition\n */\n @Input('clrPosition')\n get position() {\n return this._position;\n }\n set position(position: string | ClrPopoverPosition) {\n const posIndex = SIGNPOST_POSITIONS.indexOf(position as ClrPopoverPosition);\n this._position = position && posIndex > -1 ? SIGNPOST_POSITIONS[posIndex] : ClrPopoverPosition.RIGHT_MIDDLE;\n\n this.popoverContent.contentAt = this._position;\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 /**********\n *\n * @description\n * Close function that uses the signpost instance to toggle the state of the content popover.\n *\n */\n close() {\n this.popoverService.open = false;\n }\n\n ngAfterViewInit(): void {\n this.popoverService.closeButtonRef = this.closeButton;\n this.closeButton.nativeElement.focus();\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n const focusableElements = this.getFocusableElements(this.element.nativeElement);\n\n // take the first element when SHIFT+TAB or last when only TAB\n const focusableElementIndex = event.shiftKey ? 0 : focusableElements.length - 1;\n\n if (document.activeElement === focusableElements[focusableElementIndex]) {\n event.preventDefault();\n this.popoverService.open = false;\n }\n }\n }\n\n ngOnDestroy() {\n if (isPlatformBrowser(this.platformId) && this.element.nativeElement.contains(this.document.activeElement)) {\n this.signpostFocusManager.focusTrigger();\n }\n }\n\n private getFocusableElements(element: HTMLElement): HTMLElement[] {\n return Array.from(\n element.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n ) as HTMLElement[];\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 { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-signpost-title',\n template: `<ng-content></ng-content>`,\n host: { '[class.signpost-title]': 'true' },\n standalone: false,\n})\nexport class ClrSignpostTitle {}\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 { ClarityIcons, ClrIcon, infoCircleIcon, windowCloseIcon } from '@clr/angular/icon';\nimport { ClrIfOpen, ClrPopoverModuleNext } from '@clr/angular/popover/common';\nimport { ClrFocusOnViewInitModule } from '@clr/angular/utils';\n\nimport { ClrSignpost } from './signpost';\nimport { ClrSignpostContent } from './signpost-content';\nimport { ClrSignpostTitle } from './signpost-title';\nimport { ClrSignpostTrigger } from './signpost-trigger';\n\nexport const CLR_SIGNPOST_DIRECTIVES: Type<any>[] = [\n ClrSignpost,\n ClrSignpostContent,\n ClrSignpostTrigger,\n ClrSignpostTitle,\n];\n\n@NgModule({\n imports: [CommonModule, ClrIcon, ClrFocusOnViewInitModule, ClrPopoverModuleNext, ClrIfOpen],\n declarations: [CLR_SIGNPOST_DIRECTIVES],\n exports: [CLR_SIGNPOST_DIRECTIVES, ClrIfOpen],\n})\nexport class ClrSignpostModule {\n constructor() {\n ClarityIcons.addIcons(windowCloseIcon, infoCircleIcon);\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 * from './signpost';\nexport * from './signpost-content';\nexport * from './signpost-title';\nexport * from './signpost-trigger';\nexport * from './signpost.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.SignpostIdService","i3.SignpostFocusManager","i2","i4.ClrSignpostTrigger","i5"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Component, HostListener, Directive, Input, Optional, Inject, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@clr/angular/popover/common';
|
|
4
|
-
import { ClrPopoverHostDirective, ClrPopoverPosition, ClrPopoverType, TOOLTIP_POSITIONS,
|
|
4
|
+
import { ClrPopoverHostDirective, ClrPopoverPosition, ClrPopoverType, TOOLTIP_POSITIONS, POPOVER_HOST_ORIGIN, ClrPopoverContent, ClrIfOpen, ClrPopoverModuleNext } from '@clr/angular/popover/common';
|
|
5
5
|
import { Subject } from 'rxjs';
|
|
6
6
|
import { uniqueIdFactory } from '@clr/angular/utils';
|
|
7
7
|
import { CommonModule } from '@angular/common';
|
|
@@ -109,7 +109,7 @@ class ClrTooltipTrigger {
|
|
|
109
109
|
this.subs = [];
|
|
110
110
|
// The aria-described by comes from the id of content. It
|
|
111
111
|
this.subs.push(tooltipIdService.id.subscribe(tooltipId => (this.ariaDescribedBy = tooltipId)));
|
|
112
|
-
popoverService.
|
|
112
|
+
popoverService.origin = element;
|
|
113
113
|
}
|
|
114
114
|
ngOnDestroy() {
|
|
115
115
|
this.subs.forEach(sub => sub.unsubscribe());
|
|
@@ -219,7 +219,7 @@ class ClrTooltipContent {
|
|
|
219
219
|
this.renderer.removeClass(this.el.nativeElement, oldClass);
|
|
220
220
|
this.renderer.addClass(this.el.nativeElement, newClass);
|
|
221
221
|
}
|
|
222
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrTooltipContent, deps: [{ token:
|
|
222
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrTooltipContent, deps: [{ token: POPOVER_HOST_ORIGIN, optional: true }, { token: TooltipIdService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.ClrPopoverService }, { token: TooltipMouseService }, { token: i1.ClrPopoverContent }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
223
223
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: ClrTooltipContent, isStandalone: false, selector: "clr-tooltip-content", inputs: { id: "id", position: ["clrPosition", "position"], size: ["clrSize", "size"] }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" }, properties: { "class.tooltip-content": "true", "style.opacity": "1", "attr.role": "\"tooltip\"", "id": "id" } }, hostDirectives: [{ directive: i1.ClrPopoverContent }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
|
|
224
224
|
}
|
|
225
225
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrTooltipContent, decorators: [{
|
|
@@ -240,7 +240,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
240
240
|
type: Optional
|
|
241
241
|
}, {
|
|
242
242
|
type: Inject,
|
|
243
|
-
args: [
|
|
243
|
+
args: [POPOVER_HOST_ORIGIN]
|
|
244
244
|
}] }, { type: TooltipIdService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.ClrPopoverService }, { type: TooltipMouseService }, { type: i1.ClrPopoverContent }], propDecorators: { id: [{
|
|
245
245
|
type: Input
|
|
246
246
|
}], position: [{
|
|
@@ -266,13 +266,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
266
266
|
const CLR_TOOLTIP_DIRECTIVES = [ClrTooltip, ClrTooltipTrigger, ClrTooltipContent];
|
|
267
267
|
class ClrTooltipModule {
|
|
268
268
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
269
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ClrTooltipModule, declarations: [ClrTooltip, ClrTooltipTrigger, ClrTooltipContent], imports: [CommonModule, ClrIcon,
|
|
270
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrTooltipModule, imports: [CommonModule, ClrIcon,
|
|
269
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ClrTooltipModule, declarations: [ClrTooltip, ClrTooltipTrigger, ClrTooltipContent], imports: [CommonModule, ClrIcon, ClrPopoverModuleNext], exports: [ClrTooltip, ClrTooltipTrigger, ClrTooltipContent, ClrIfOpen, ClrIcon] }); }
|
|
270
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrTooltipModule, imports: [CommonModule, ClrIcon, ClrPopoverModuleNext] }); }
|
|
271
271
|
}
|
|
272
272
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrTooltipModule, decorators: [{
|
|
273
273
|
type: NgModule,
|
|
274
274
|
args: [{
|
|
275
|
-
imports: [CommonModule, ClrIcon,
|
|
275
|
+
imports: [CommonModule, ClrIcon, ClrPopoverModuleNext],
|
|
276
276
|
declarations: [CLR_TOOLTIP_DIRECTIVES],
|
|
277
277
|
exports: [CLR_TOOLTIP_DIRECTIVES, ClrIfOpen, ClrIcon],
|
|
278
278
|
}]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clr-angular-popover-tooltip.mjs","sources":["../../../projects/angular/popover/tooltip/providers/tooltip-id.service.ts","../../../projects/angular/popover/tooltip/providers/tooltip-mouse.service.ts","../../../projects/angular/popover/tooltip/tooltip.ts","../../../projects/angular/popover/tooltip/tooltip-trigger.ts","../../../projects/angular/popover/tooltip/tooltip-content.ts","../../../projects/angular/popover/tooltip/tooltip.module.ts","../../../projects/angular/popover/tooltip/index.ts","../../../projects/angular/popover/tooltip/clr-angular-popover-tooltip.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 { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class TooltipIdService {\n private _id = new Subject<string>();\n\n get id(): Observable<string> {\n return this._id.asObservable();\n }\n\n updateId(id: string) {\n this._id.next(id);\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 { Injectable } from '@angular/core';\nimport { ClrPopoverService } from '@clr/angular/popover/common';\n\n@Injectable()\nexport class TooltipMouseService {\n private mouseOutDelay = 100;\n private mouseOverTrigger: boolean;\n private mouseOverContent: boolean;\n\n constructor(private readonly popoverService: ClrPopoverService) {}\n\n onMouseEnterTrigger() {\n this.mouseOverTrigger = true;\n this.popoverService.open = true;\n }\n\n onMouseLeaveTrigger() {\n this.mouseOverTrigger = false;\n this.hideIfMouseOut();\n }\n\n onMouseEnterContent() {\n this.mouseOverContent = true;\n }\n\n onMouseLeaveContent() {\n this.mouseOverContent = false;\n this.hideIfMouseOut();\n }\n\n private hideIfMouseOut() {\n // A zero timeout is used so that the code has a chance to update\n // the `mouseOverContent` property after the user moves the mouse from the trigger to the content.\n setTimeout(() => {\n if (!this.mouseOverTrigger && !this.mouseOverContent) {\n this.popoverService.open = false;\n }\n }, this.mouseOutDelay);\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 { Component } from '@angular/core';\nimport { ClrPopoverHostDirective } from '@clr/angular/popover/common';\n\nimport { TooltipIdService } from './providers/tooltip-id.service';\nimport { TooltipMouseService } from './providers/tooltip-mouse.service';\n\n@Component({\n selector: 'clr-tooltip',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.clr-tooltip-container]': 'true',\n },\n providers: [TooltipIdService, TooltipMouseService],\n hostDirectives: [ClrPopoverHostDirective],\n standalone: false,\n})\nexport class ClrTooltip {}\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';\nimport { Subscription } from 'rxjs';\n\nimport { TooltipIdService } from './providers/tooltip-id.service';\nimport { TooltipMouseService } from './providers/tooltip-mouse.service';\n\n@Directive({\n selector: '[clrTooltipTrigger]',\n host: {\n tabindex: '0',\n '[class.tooltip-trigger]': 'true',\n '[attr.aria-describedby]': 'ariaDescribedBy',\n '[attr.role]': '\"button\"',\n },\n standalone: false,\n})\nexport class ClrTooltipTrigger {\n ariaDescribedBy: string;\n private subs: Subscription[] = [];\n\n constructor(\n private popoverService: ClrPopoverService,\n tooltipIdService: TooltipIdService,\n private tooltipMouseService: TooltipMouseService,\n element: ElementRef\n ) {\n // The aria-described by comes from the id of content. It\n this.subs.push(tooltipIdService.id.subscribe(tooltipId => (this.ariaDescribedBy = tooltipId)));\n popoverService.anchorElementRef = element;\n }\n\n ngOnDestroy() {\n this.subs.forEach(sub => sub.unsubscribe());\n }\n\n @HostListener('focus')\n showTooltip(): void {\n this.popoverService.open = true;\n }\n\n @HostListener('blur')\n hideTooltip(): void {\n this.popoverService.open = false;\n }\n\n @HostListener('mouseenter')\n private onMouseEnter() {\n this.tooltipMouseService.onMouseEnterTrigger();\n }\n\n @HostListener('mouseleave')\n private onMouseLeave() {\n this.tooltipMouseService.onMouseLeaveTrigger();\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 { Component, ElementRef, HostListener, Inject, Input, OnInit, Optional, Renderer2 } from '@angular/core';\nimport {\n ClrPopoverContent,\n ClrPopoverPosition,\n ClrPopoverService,\n ClrPopoverType,\n POPOVER_HOST_ANCHOR,\n TOOLTIP_POSITIONS,\n} from '@clr/angular/popover/common';\nimport { uniqueIdFactory } from '@clr/angular/utils';\n\nimport { TooltipIdService } from './providers/tooltip-id.service';\nimport { TooltipMouseService } from './providers/tooltip-mouse.service';\n\nconst SIZES = ['xs', 'sm', 'md', 'lg'];\n\nconst defaultPosition = ClrPopoverPosition.RIGHT;\nconst defaultSize = 'sm';\n\n@Component({\n selector: 'clr-tooltip-content',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.tooltip-content]': 'true',\n '[style.opacity]': '1',\n '[attr.role]': '\"tooltip\"',\n '[id]': 'id',\n },\n standalone: false,\n hostDirectives: [ClrPopoverContent],\n})\nexport class ClrTooltipContent implements OnInit {\n private _id: string;\n private _position: ClrPopoverPosition;\n private _size: string;\n\n constructor(\n @Optional()\n @Inject(POPOVER_HOST_ANCHOR)\n parentHost: ElementRef<HTMLElement>,\n private tooltipIdService: TooltipIdService,\n public el: ElementRef,\n private renderer: Renderer2,\n popoverService: ClrPopoverService,\n private tooltipMouseService: TooltipMouseService,\n private popoverContent: ClrPopoverContent\n ) {\n popoverService.panelClass.push('clr-tooltip-container');\n popoverContent.contentType = ClrPopoverType.TOOLTIP;\n\n popoverContent.scrollToClose = true;\n\n if (!parentHost) {\n throw new Error('clr-tooltip-content should only be used inside of a clr-tooltip');\n }\n\n // Set the default id in case consumer does not supply a custom id.\n this.id = uniqueIdFactory();\n }\n\n @Input()\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n const id = value || '';\n\n this._id = id;\n this.tooltipIdService.updateId(id);\n }\n\n @Input('clrPosition')\n get position() {\n return this._position;\n }\n set position(value: string | ClrPopoverPosition) {\n const posIndex = TOOLTIP_POSITIONS.indexOf(value as ClrPopoverPosition);\n\n this._position = value && posIndex > -1 ? TOOLTIP_POSITIONS[posIndex] : defaultPosition;\n\n this.popoverContent.contentAt = this._position;\n }\n\n @Input('clrSize')\n get size() {\n return this._size;\n }\n set size(value: string) {\n const oldSize = this._size;\n const newSize = SIZES.includes(value) ? value : defaultSize;\n\n this._size = newSize;\n this.updateCssClass({ oldClass: `tooltip-${oldSize}`, newClass: `tooltip-${newSize}` });\n }\n\n ngOnInit() {\n this.size = this.size || defaultSize;\n this.position = this.position || defaultPosition;\n }\n\n @HostListener('mouseenter')\n private onMouseEnter() {\n this.tooltipMouseService.onMouseEnterContent();\n }\n\n @HostListener('mouseleave')\n private onMouseLeave() {\n this.tooltipMouseService.onMouseLeaveContent();\n }\n\n private updateCssClass({ oldClass, newClass }: { oldClass: string; newClass: string }) {\n this.renderer.removeClass(this.el.nativeElement, oldClass);\n this.renderer.addClass(this.el.nativeElement, newClass);\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 { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { ClrIcon } from '@clr/angular/icon';\nimport { ClrIfOpen, ÇlrClrPopoverModuleNext } from '@clr/angular/popover/common';\n\nimport { ClrTooltip } from './tooltip';\nimport { ClrTooltipContent } from './tooltip-content';\nimport { ClrTooltipTrigger } from './tooltip-trigger';\n\nexport const CLR_TOOLTIP_DIRECTIVES: Type<any>[] = [ClrTooltip, ClrTooltipTrigger, ClrTooltipContent];\n\n@NgModule({\n imports: [CommonModule, ClrIcon, ÇlrClrPopoverModuleNext],\n declarations: [CLR_TOOLTIP_DIRECTIVES],\n exports: [CLR_TOOLTIP_DIRECTIVES, ClrIfOpen, ClrIcon],\n})\nexport class ClrTooltipModule {}\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 './tooltip';\nexport * from './tooltip-trigger';\nexport * from './tooltip-content';\nexport * from './tooltip.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.TooltipIdService","i3.TooltipMouseService","i1.TooltipIdService","i2","ÇlrClrPopoverModuleNext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clr-angular-popover-tooltip.mjs","sources":["../../../projects/angular/popover/tooltip/providers/tooltip-id.service.ts","../../../projects/angular/popover/tooltip/providers/tooltip-mouse.service.ts","../../../projects/angular/popover/tooltip/tooltip.ts","../../../projects/angular/popover/tooltip/tooltip-trigger.ts","../../../projects/angular/popover/tooltip/tooltip-content.ts","../../../projects/angular/popover/tooltip/tooltip.module.ts","../../../projects/angular/popover/tooltip/index.ts","../../../projects/angular/popover/tooltip/clr-angular-popover-tooltip.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 { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class TooltipIdService {\n private _id = new Subject<string>();\n\n get id(): Observable<string> {\n return this._id.asObservable();\n }\n\n updateId(id: string) {\n this._id.next(id);\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 { Injectable } from '@angular/core';\nimport { ClrPopoverService } from '@clr/angular/popover/common';\n\n@Injectable()\nexport class TooltipMouseService {\n private mouseOutDelay = 100;\n private mouseOverTrigger: boolean;\n private mouseOverContent: boolean;\n\n constructor(private readonly popoverService: ClrPopoverService) {}\n\n onMouseEnterTrigger() {\n this.mouseOverTrigger = true;\n this.popoverService.open = true;\n }\n\n onMouseLeaveTrigger() {\n this.mouseOverTrigger = false;\n this.hideIfMouseOut();\n }\n\n onMouseEnterContent() {\n this.mouseOverContent = true;\n }\n\n onMouseLeaveContent() {\n this.mouseOverContent = false;\n this.hideIfMouseOut();\n }\n\n private hideIfMouseOut() {\n // A zero timeout is used so that the code has a chance to update\n // the `mouseOverContent` property after the user moves the mouse from the trigger to the content.\n setTimeout(() => {\n if (!this.mouseOverTrigger && !this.mouseOverContent) {\n this.popoverService.open = false;\n }\n }, this.mouseOutDelay);\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 { Component } from '@angular/core';\nimport { ClrPopoverHostDirective } from '@clr/angular/popover/common';\n\nimport { TooltipIdService } from './providers/tooltip-id.service';\nimport { TooltipMouseService } from './providers/tooltip-mouse.service';\n\n@Component({\n selector: 'clr-tooltip',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.clr-tooltip-container]': 'true',\n },\n providers: [TooltipIdService, TooltipMouseService],\n hostDirectives: [ClrPopoverHostDirective],\n standalone: false,\n})\nexport class ClrTooltip {}\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';\nimport { Subscription } from 'rxjs';\n\nimport { TooltipIdService } from './providers/tooltip-id.service';\nimport { TooltipMouseService } from './providers/tooltip-mouse.service';\n\n@Directive({\n selector: '[clrTooltipTrigger]',\n host: {\n tabindex: '0',\n '[class.tooltip-trigger]': 'true',\n '[attr.aria-describedby]': 'ariaDescribedBy',\n '[attr.role]': '\"button\"',\n },\n standalone: false,\n})\nexport class ClrTooltipTrigger {\n ariaDescribedBy: string;\n private subs: Subscription[] = [];\n\n constructor(\n private popoverService: ClrPopoverService,\n tooltipIdService: TooltipIdService,\n private tooltipMouseService: TooltipMouseService,\n element: ElementRef\n ) {\n // The aria-described by comes from the id of content. It\n this.subs.push(tooltipIdService.id.subscribe(tooltipId => (this.ariaDescribedBy = tooltipId)));\n popoverService.origin = element;\n }\n\n ngOnDestroy() {\n this.subs.forEach(sub => sub.unsubscribe());\n }\n\n @HostListener('focus')\n showTooltip(): void {\n this.popoverService.open = true;\n }\n\n @HostListener('blur')\n hideTooltip(): void {\n this.popoverService.open = false;\n }\n\n @HostListener('mouseenter')\n private onMouseEnter() {\n this.tooltipMouseService.onMouseEnterTrigger();\n }\n\n @HostListener('mouseleave')\n private onMouseLeave() {\n this.tooltipMouseService.onMouseLeaveTrigger();\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 { Component, ElementRef, HostListener, Inject, Input, OnInit, Optional, Renderer2 } from '@angular/core';\nimport {\n ClrPopoverContent,\n ClrPopoverPosition,\n ClrPopoverService,\n ClrPopoverType,\n POPOVER_HOST_ORIGIN,\n TOOLTIP_POSITIONS,\n} from '@clr/angular/popover/common';\nimport { uniqueIdFactory } from '@clr/angular/utils';\n\nimport { TooltipIdService } from './providers/tooltip-id.service';\nimport { TooltipMouseService } from './providers/tooltip-mouse.service';\n\nconst SIZES = ['xs', 'sm', 'md', 'lg'];\n\nconst defaultPosition = ClrPopoverPosition.RIGHT;\nconst defaultSize = 'sm';\n\n@Component({\n selector: 'clr-tooltip-content',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.tooltip-content]': 'true',\n '[style.opacity]': '1',\n '[attr.role]': '\"tooltip\"',\n '[id]': 'id',\n },\n standalone: false,\n hostDirectives: [ClrPopoverContent],\n})\nexport class ClrTooltipContent implements OnInit {\n private _id: string;\n private _position: ClrPopoverPosition;\n private _size: string;\n\n constructor(\n @Optional()\n @Inject(POPOVER_HOST_ORIGIN)\n parentHost: ElementRef<HTMLElement>,\n private tooltipIdService: TooltipIdService,\n public el: ElementRef,\n private renderer: Renderer2,\n popoverService: ClrPopoverService,\n private tooltipMouseService: TooltipMouseService,\n private popoverContent: ClrPopoverContent\n ) {\n popoverService.panelClass.push('clr-tooltip-container');\n popoverContent.contentType = ClrPopoverType.TOOLTIP;\n\n popoverContent.scrollToClose = true;\n\n if (!parentHost) {\n throw new Error('clr-tooltip-content should only be used inside of a clr-tooltip');\n }\n\n // Set the default id in case consumer does not supply a custom id.\n this.id = uniqueIdFactory();\n }\n\n @Input()\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n const id = value || '';\n\n this._id = id;\n this.tooltipIdService.updateId(id);\n }\n\n @Input('clrPosition')\n get position() {\n return this._position;\n }\n set position(value: string | ClrPopoverPosition) {\n const posIndex = TOOLTIP_POSITIONS.indexOf(value as ClrPopoverPosition);\n\n this._position = value && posIndex > -1 ? TOOLTIP_POSITIONS[posIndex] : defaultPosition;\n\n this.popoverContent.contentAt = this._position;\n }\n\n @Input('clrSize')\n get size() {\n return this._size;\n }\n set size(value: string) {\n const oldSize = this._size;\n const newSize = SIZES.includes(value) ? value : defaultSize;\n\n this._size = newSize;\n this.updateCssClass({ oldClass: `tooltip-${oldSize}`, newClass: `tooltip-${newSize}` });\n }\n\n ngOnInit() {\n this.size = this.size || defaultSize;\n this.position = this.position || defaultPosition;\n }\n\n @HostListener('mouseenter')\n private onMouseEnter() {\n this.tooltipMouseService.onMouseEnterContent();\n }\n\n @HostListener('mouseleave')\n private onMouseLeave() {\n this.tooltipMouseService.onMouseLeaveContent();\n }\n\n private updateCssClass({ oldClass, newClass }: { oldClass: string; newClass: string }) {\n this.renderer.removeClass(this.el.nativeElement, oldClass);\n this.renderer.addClass(this.el.nativeElement, newClass);\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 { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { ClrIcon } from '@clr/angular/icon';\nimport { ClrIfOpen, ClrPopoverModuleNext } from '@clr/angular/popover/common';\n\nimport { ClrTooltip } from './tooltip';\nimport { ClrTooltipContent } from './tooltip-content';\nimport { ClrTooltipTrigger } from './tooltip-trigger';\n\nexport const CLR_TOOLTIP_DIRECTIVES: Type<any>[] = [ClrTooltip, ClrTooltipTrigger, ClrTooltipContent];\n\n@NgModule({\n imports: [CommonModule, ClrIcon, ClrPopoverModuleNext],\n declarations: [CLR_TOOLTIP_DIRECTIVES],\n exports: [CLR_TOOLTIP_DIRECTIVES, ClrIfOpen, ClrIcon],\n})\nexport class ClrTooltipModule {}\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 './tooltip';\nexport * from './tooltip-trigger';\nexport * from './tooltip-content';\nexport * from './tooltip.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.TooltipIdService","i3.TooltipMouseService","i1.TooltipIdService","i2"],"mappings":"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"}
|