@clr/angular 18.0.0-beta.1 → 18.0.0-beta.10
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 +27 -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,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, Injectable, Optional, Input, HostBinding, Component, DOCUMENT, PLATFORM_ID, HostListener, Inject, NgModule } from '@angular/core';
|
|
2
|
+
import { Directive, Injectable, Optional, Input, HostBinding, Component, DOCUMENT, createComponent, PLATFORM_ID, HostListener, Inject, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@clr/angular/utils';
|
|
4
4
|
import { WillyWonka, OompaLoompa, commonStringsDefault, LARGE_BREAKPOINT, ClrStandaloneCdkTrapFocus } from '@clr/angular/utils';
|
|
5
5
|
import { ReplaySubject, Subject } from 'rxjs';
|
|
@@ -320,31 +320,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
320
320
|
* This software is released under MIT license.
|
|
321
321
|
* The full license information can be found in LICENSE in the root directory of this project.
|
|
322
322
|
*/
|
|
323
|
-
const createCloseButton = (document, ariaLabel) => {
|
|
324
|
-
ClarityIcons.addIcons(timesIcon);
|
|
325
|
-
const closeButton = document.createElement('button');
|
|
326
|
-
closeButton.setAttribute('aria-label', ariaLabel);
|
|
327
|
-
closeButton.setAttribute('aria-hidden', 'true');
|
|
328
|
-
closeButton.innerHTML = `
|
|
329
|
-
<cds-icon
|
|
330
|
-
inner-offset="1"
|
|
331
|
-
shape="times"
|
|
332
|
-
size="32"
|
|
333
|
-
></cds-icon>
|
|
334
|
-
`;
|
|
335
|
-
/**
|
|
336
|
-
* The button is hidden by default based on our Desktop-first approach.
|
|
337
|
-
*/
|
|
338
|
-
closeButton.setAttribute('hidden', 'true');
|
|
339
|
-
closeButton.className = 'clr-nav-close';
|
|
340
|
-
return closeButton;
|
|
341
|
-
};
|
|
342
323
|
class ClrNavLevel {
|
|
343
|
-
constructor(platformId, cdkTrapFocus, responsiveNavService, elementRef, renderer, injector) {
|
|
324
|
+
constructor(platformId, cdkTrapFocus, responsiveNavService, elementRef, renderer, injector, environmentInjector, appRef) {
|
|
344
325
|
this.cdkTrapFocus = cdkTrapFocus;
|
|
345
326
|
this.responsiveNavService = responsiveNavService;
|
|
346
327
|
this.elementRef = elementRef;
|
|
347
328
|
this.renderer = renderer;
|
|
329
|
+
this.injector = injector;
|
|
330
|
+
this.environmentInjector = environmentInjector;
|
|
331
|
+
this.appRef = appRef;
|
|
348
332
|
this._isOpen = false;
|
|
349
333
|
if (isPlatformBrowser(platformId)) {
|
|
350
334
|
this._document = injector.get(DOCUMENT);
|
|
@@ -389,9 +373,9 @@ class ClrNavLevel {
|
|
|
389
373
|
this.addNavClass(this.level);
|
|
390
374
|
}
|
|
391
375
|
ngAfterViewInit() {
|
|
392
|
-
const closeButton = createCloseButton(
|
|
376
|
+
const closeButton = this.createCloseButton();
|
|
393
377
|
this.renderer.listen(closeButton, 'click', this.close.bind(this));
|
|
394
|
-
this.renderer.insertBefore(this.elementRef.nativeElement, closeButton, this.elementRef.nativeElement.firstChild);
|
|
378
|
+
this.renderer.insertBefore(this.elementRef.nativeElement, closeButton, this.elementRef.nativeElement.firstChild);
|
|
395
379
|
if (this._document.body.clientWidth < LARGE_BREAKPOINT) {
|
|
396
380
|
/**
|
|
397
381
|
* Close if the document body is smaller than the large breakpoint for example:
|
|
@@ -473,7 +457,25 @@ class ClrNavLevel {
|
|
|
473
457
|
this.renderer.setAttribute(this.elementRef.nativeElement.querySelector('.clr-nav-close'), 'aria-hidden', 'false');
|
|
474
458
|
this.renderer.removeAttribute(this.elementRef.nativeElement.querySelector('.clr-nav-close'), 'hidden');
|
|
475
459
|
}
|
|
476
|
-
|
|
460
|
+
createCloseButton() {
|
|
461
|
+
ClarityIcons.addIcons(timesIcon);
|
|
462
|
+
const closeButton = this._document.createElement('button');
|
|
463
|
+
closeButton.setAttribute('aria-label', this.closeButtonAriaLabel);
|
|
464
|
+
closeButton.setAttribute('aria-hidden', 'true');
|
|
465
|
+
closeButton.setAttribute('hidden', 'true');
|
|
466
|
+
closeButton.className = 'clr-nav-close';
|
|
467
|
+
const iconRef = createComponent(ClrIcon, {
|
|
468
|
+
hostElement: this._document.createElement('cds-icon'),
|
|
469
|
+
environmentInjector: this.environmentInjector,
|
|
470
|
+
elementInjector: this.injector,
|
|
471
|
+
});
|
|
472
|
+
iconRef.instance.shape = 'times';
|
|
473
|
+
iconRef.instance.size = '32';
|
|
474
|
+
this.appRef.attachView(iconRef.hostView);
|
|
475
|
+
closeButton.appendChild(iconRef.location.nativeElement);
|
|
476
|
+
return closeButton;
|
|
477
|
+
}
|
|
478
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrNavLevel, deps: [{ token: PLATFORM_ID }, { token: i1.ClrStandaloneCdkTrapFocus }, { token: ResponsiveNavigationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i0.EnvironmentInjector }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
477
479
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: ClrNavLevel, isStandalone: false, selector: "[clr-nav-level]", inputs: { _level: ["clr-nav-level", "_level"], closeButtonAriaLabel: ["closeAriaLabel", "closeButtonAriaLabel"] }, host: { listeners: { "window:resize": "onResize($event)", "click": "onMouseClick($event.target)" } }, hostDirectives: [{ directive: i1.ClrStandaloneCdkTrapFocus }], ngImport: i0 }); }
|
|
478
480
|
}
|
|
479
481
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrNavLevel, decorators: [{
|
|
@@ -486,7 +488,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
486
488
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
487
489
|
type: Inject,
|
|
488
490
|
args: [PLATFORM_ID]
|
|
489
|
-
}] }, { type: i1.ClrStandaloneCdkTrapFocus }, { type: ResponsiveNavigationService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }], propDecorators: { _level: [{
|
|
491
|
+
}] }, { type: i1.ClrStandaloneCdkTrapFocus }, { type: ResponsiveNavigationService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: i0.EnvironmentInjector }, { type: i0.ApplicationRef }], propDecorators: { _level: [{
|
|
490
492
|
type: Input,
|
|
491
493
|
args: ['clr-nav-level']
|
|
492
494
|
}], closeButtonAriaLabel: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clr-angular-layout-nav.mjs","sources":["../../../projects/angular/layout/nav/chocolate/main-container-willy-wonka.ts","../../../projects/angular/layout/nav/responsive-nav-codes.ts","../../../projects/angular/layout/nav/responsive-nav-control-message.ts","../../../projects/angular/layout/nav/providers/responsive-navigation.service.ts","../../../projects/angular/layout/nav/chocolate/nav-detection-oompa-loompa.ts","../../../projects/angular/layout/nav/chocolate/index.ts","../../../projects/angular/layout/nav/header.ts","../../../projects/angular/layout/nav/nav-level.ts","../../../projects/angular/layout/nav/aria-current-link.ts","../../../projects/angular/layout/nav/navigation.module.ts","../../../projects/angular/layout/nav/index.ts","../../../projects/angular/layout/nav/clr-angular-layout-nav.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 { Directive } from '@angular/core';\nimport { WillyWonka } from '@clr/angular/utils';\n\n@Directive({\n selector: 'clr-main-container',\n standalone: false,\n})\nexport class MainContainerWillyWonka extends WillyWonka {}\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 class ResponsiveNavCodes {\n static NAV_LEVEL_1 = 1;\n static NAV_LEVEL_2 = 2;\n static NAV_CLOSE_ALL = 'NAV_CLOSE_ALL';\n static NAV_OPEN = 'NAV_OPEN';\n static NAV_CLOSE = 'NAV_CLOSE';\n static NAV_TOGGLE = 'NAV_TOGGLE';\n static NAV_CLASS_HAMBURGER_MENU = 'open-hamburger-menu';\n static NAV_CLASS_OVERFLOW_MENU = 'open-overflow-menu';\n static NAV_CLASS_TRIGGER_1 = 'header-hamburger-trigger';\n static NAV_CLASS_TRIGGER_2 = 'header-overflow-trigger';\n static NAV_CLASS_LEVEL_1 = 'clr-nav-level-1';\n static NAV_CLASS_LEVEL_2 = 'clr-nav-level-2';\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 class ResponsiveNavControlMessage {\n constructor(\n private _controlCode: string,\n private _navLevel: number\n ) {}\n\n get controlCode(): string {\n return this._controlCode;\n }\n\n get navLevel(): number {\n return this._navLevel;\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, ReplaySubject, Subject } from 'rxjs';\n\nimport { ResponsiveNavCodes } from '../responsive-nav-codes';\nimport { ResponsiveNavControlMessage } from '../responsive-nav-control-message';\n\n@Injectable({ providedIn: 'root' })\nexport class ResponsiveNavigationService {\n responsiveNavList: number[] = [];\n\n private registerNavSubject = new ReplaySubject<number[]>();\n private controlNavSubject = new Subject<ResponsiveNavControlMessage>();\n\n constructor() {\n this.closeAllNavs(); // We start with all navs closed\n }\n\n get registeredNavs(): Observable<number[]> {\n return this.registerNavSubject.asObservable();\n }\n\n get navControl(): Observable<ResponsiveNavControlMessage> {\n return this.controlNavSubject.asObservable();\n }\n\n registerNav(navLevel: number): void {\n if (!navLevel || this.isNavRegistered(navLevel)) {\n return;\n }\n this.responsiveNavList.push(navLevel);\n this.registerNavSubject.next(this.responsiveNavList);\n }\n\n isNavRegistered(navLevel: number): boolean {\n if (this.responsiveNavList.indexOf(navLevel) > -1) {\n console.error('Multiple clr-nav-level ' + navLevel + ' attributes found. Please make sure that only one exists');\n return true;\n }\n return false;\n }\n\n unregisterNav(navLevel: number) {\n const index = this.responsiveNavList.indexOf(navLevel);\n if (index > -1) {\n this.responsiveNavList.splice(index, 1);\n this.registerNavSubject.next(this.responsiveNavList);\n }\n }\n\n sendControlMessage(controlCode: string, navLevel: number) {\n const message: ResponsiveNavControlMessage = new ResponsiveNavControlMessage(controlCode, navLevel);\n this.controlNavSubject.next(message);\n }\n\n closeAllNavs() {\n const message: ResponsiveNavControlMessage = new ResponsiveNavControlMessage(\n ResponsiveNavCodes.NAV_CLOSE_ALL,\n -999\n );\n this.controlNavSubject.next(message);\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 { ChangeDetectorRef, Directive, Optional } from '@angular/core';\nimport { OompaLoompa } from '@clr/angular/utils';\n\nimport { MainContainerWillyWonka } from './main-container-willy-wonka';\nimport { ResponsiveNavigationService } from '../providers/responsive-navigation.service';\n\n@Directive({\n selector: 'clr-header',\n standalone: false,\n})\nexport class NavDetectionOompaLoompa extends OompaLoompa {\n private responsiveNavService: ResponsiveNavigationService;\n\n constructor(\n cdr: ChangeDetectorRef,\n @Optional() willyWonka: MainContainerWillyWonka,\n responsiveNavService: ResponsiveNavigationService\n ) {\n if (!willyWonka) {\n throw new Error('clr-header should only be used inside of a clr-main-container');\n }\n super(cdr, willyWonka);\n this.responsiveNavService = responsiveNavService;\n }\n\n // NavDetectionOompaLoompa is the addition of the nav levels\n // Since we support 2 levels, the possibilities are 0, 1 or 3 (1 + 2)\n get flavor() {\n return this.responsiveNavService.responsiveNavList.reduce((sum, navLevel) => sum + navLevel, 0);\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 './main-container-willy-wonka';\nexport * from './nav-detection-oompa-loompa';\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, HostBinding, Input, OnDestroy } from '@angular/core';\nimport { ClrCommonStringsService } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { ResponsiveNavigationService } from './providers/responsive-navigation.service';\nimport { ResponsiveNavCodes } from './responsive-nav-codes';\n\n@Component({\n selector: 'clr-header',\n template: `\n @if (isNavLevel1OnPage) {\n <button\n type=\"button\"\n class=\"header-hamburger-trigger\"\n [attr.aria-label]=\"responsiveNavCommonString\"\n (click)=\"openNav(responsiveNavCodes.NAV_LEVEL_1)\"\n >\n <span></span>\n </button>\n }\n <ng-content></ng-content>\n @if (isNavLevel2OnPage) {\n <button\n type=\"button\"\n class=\"header-overflow-trigger\"\n [attr.aria-label]=\"responsiveOverflowCommonString\"\n (click)=\"openNav(responsiveNavCodes.NAV_LEVEL_2)\"\n >\n <span></span>\n </button>\n }\n <div class=\"header-backdrop\" (click)=\"closeOpenNav()\"></div>\n `,\n host: { '[class.header]': 'true' },\n standalone: false,\n})\nexport class ClrHeader implements OnDestroy {\n @Input() @HostBinding('attr.role') role = 'banner';\n\n isNavLevel1OnPage = false;\n isNavLevel2OnPage = false;\n openNavLevel: number = null;\n responsiveNavCodes = ResponsiveNavCodes;\n private _subscription: Subscription;\n\n constructor(\n private responsiveNavService: ResponsiveNavigationService,\n public commonStrings: ClrCommonStringsService\n ) {\n this._subscription = responsiveNavService.registeredNavs.subscribe({\n next: (navLevelList: number[]) => {\n this.initializeNavTriggers(navLevelList);\n },\n });\n\n this._subscription.add(\n responsiveNavService.navControl\n .pipe(\n filter(\n ({ controlCode }) =>\n controlCode === ResponsiveNavCodes.NAV_CLOSE || controlCode === ResponsiveNavCodes.NAV_CLOSE_ALL\n )\n )\n .subscribe(() => {\n this.openNavLevel = null;\n })\n );\n }\n\n get responsiveNavCommonString() {\n const myCommonStrings = this.commonStrings.keys;\n if (this.openNavLevel !== this.responsiveNavCodes.NAV_LEVEL_1) {\n return myCommonStrings.responsiveNavToggleOpen;\n } else {\n return myCommonStrings.responsiveNavToggleClose;\n }\n }\n\n get responsiveOverflowCommonString() {\n const myCommonStrings = this.commonStrings.keys;\n if (this.openNavLevel !== this.responsiveNavCodes.NAV_LEVEL_2) {\n return myCommonStrings.responsiveNavOverflowOpen;\n } else {\n return myCommonStrings.responsiveNavOverflowClose;\n }\n }\n\n // reset triggers. handles cases when an application has different nav levels on different pages.\n resetNavTriggers() {\n this.isNavLevel1OnPage = false;\n this.isNavLevel2OnPage = false;\n }\n\n // decides which triggers to show on the header\n initializeNavTriggers(navList: number[]): void {\n this.resetNavTriggers();\n if (navList.length > 2) {\n console.error('More than 2 Nav Levels detected.');\n return;\n }\n navList.forEach(navLevel => {\n if (navLevel === ResponsiveNavCodes.NAV_LEVEL_1) {\n this.isNavLevel1OnPage = true;\n } else if (navLevel === ResponsiveNavCodes.NAV_LEVEL_2) {\n this.isNavLevel2OnPage = true;\n }\n });\n }\n\n // closes the nav that is open\n closeOpenNav() {\n this.responsiveNavService.closeAllNavs();\n }\n\n /**\n * @deprecated Will be removed in with @clr/angular v15.0.0\n *\n * Use `openNav(navLevel)` instead to open the navigation and ResponsiveNavService to close it.\n */\n toggleNav(navLevel: number) {\n if (this.openNavLevel === navLevel) {\n this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_CLOSE, navLevel);\n return;\n }\n\n this.openNav(navLevel);\n }\n\n openNav(navLevel: number) {\n this.openNavLevel = navLevel;\n this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_OPEN, navLevel);\n }\n\n ngOnDestroy() {\n this._subscription.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 { isPlatformBrowser } from '@angular/common';\nimport {\n Directive,\n DOCUMENT,\n ElementRef,\n HostListener,\n Inject,\n Injector,\n Input,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n} from '@angular/core';\nimport { ClarityIcons, timesIcon } from '@clr/angular/icon';\nimport { ClrStandaloneCdkTrapFocus, commonStringsDefault, LARGE_BREAKPOINT } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { ResponsiveNavigationService } from './providers/responsive-navigation.service';\nimport { ResponsiveNavCodes } from './responsive-nav-codes';\n\nconst createCloseButton = (document: Document, ariaLabel: string) => {\n ClarityIcons.addIcons(timesIcon);\n\n const closeButton = document.createElement('button');\n closeButton.setAttribute('aria-label', ariaLabel);\n closeButton.setAttribute('aria-hidden', 'true');\n closeButton.innerHTML = `\n <cds-icon\n inner-offset=\"1\"\n shape=\"times\"\n size=\"32\"\n ></cds-icon>\n `;\n /**\n * The button is hidden by default based on our Desktop-first approach.\n */\n closeButton.setAttribute('hidden', 'true');\n closeButton.className = 'clr-nav-close';\n return closeButton;\n};\n\n@Directive({\n selector: '[clr-nav-level]',\n hostDirectives: [ClrStandaloneCdkTrapFocus],\n standalone: false,\n})\nexport class ClrNavLevel implements OnInit {\n @Input('clr-nav-level') _level: number;\n @Input('closeAriaLabel') closeButtonAriaLabel: string;\n\n private _isOpen = false;\n private _document: Document;\n private _subscription: Subscription;\n\n constructor(\n @Inject(PLATFORM_ID) platformId: any,\n private cdkTrapFocus: ClrStandaloneCdkTrapFocus,\n private responsiveNavService: ResponsiveNavigationService,\n private elementRef: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n injector: Injector\n ) {\n if (isPlatformBrowser(platformId)) {\n this._document = injector.get(DOCUMENT);\n }\n\n this._subscription = responsiveNavService.navControl\n .pipe(\n filter(x => x.navLevel === this.level),\n filter(\n ({ controlCode }) =>\n (controlCode === ResponsiveNavCodes.NAV_OPEN && !this.isOpen) ||\n (controlCode === ResponsiveNavCodes.NAV_CLOSE && this.isOpen)\n )\n )\n .subscribe(({ controlCode }) => {\n if (controlCode === ResponsiveNavCodes.NAV_OPEN) {\n this.open();\n return;\n }\n\n this.close();\n });\n\n this._subscription.add(\n responsiveNavService.navControl\n .pipe(filter(({ controlCode }) => controlCode === ResponsiveNavCodes.NAV_CLOSE_ALL))\n .subscribe(() => this.close())\n );\n }\n\n get level(): number {\n return this._level;\n }\n\n // getter to access the responsive navigation codes from the template\n get responsiveNavCodes(): ResponsiveNavCodes {\n return ResponsiveNavCodes;\n }\n\n get isOpen(): boolean {\n return this._isOpen;\n }\n\n ngOnInit() {\n this.cdkTrapFocus.enabled = false;\n\n if (!this.closeButtonAriaLabel) {\n this.closeButtonAriaLabel =\n this._level === ResponsiveNavCodes.NAV_LEVEL_1\n ? commonStringsDefault.responsiveNavToggleClose\n : commonStringsDefault.responsiveNavOverflowClose;\n }\n\n if (this.level !== ResponsiveNavCodes.NAV_LEVEL_1 && this.level !== ResponsiveNavCodes.NAV_LEVEL_2) {\n console.error('Nav Level can only be 1 or 2');\n return;\n }\n this.responsiveNavService.registerNav(this.level);\n this.addNavClass(this.level);\n }\n\n ngAfterViewInit() {\n const closeButton = createCloseButton(this._document, this.closeButtonAriaLabel);\n this.renderer.listen(closeButton, 'click', this.close.bind(this));\n this.renderer.insertBefore(this.elementRef.nativeElement, closeButton, this.elementRef.nativeElement.firstChild); // Adding the button at the top of the nav\n\n if (this._document.body.clientWidth < LARGE_BREAKPOINT) {\n /**\n * Close if the document body is smaller than the large breakpoint for example:\n * - Refreshing the page\n * - Browser window size is changed when opening the applicaiton\n * - Browser zoom is turned on and zoomed to a size that makes the document smaller than the large breakpoint\n */\n this.close();\n }\n }\n\n ngOnDestroy() {\n this.responsiveNavService.unregisterNav(this.level);\n this._subscription.unsubscribe();\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event: Event) {\n const target = event.target as Window;\n\n if (target.innerWidth < LARGE_BREAKPOINT && this.isOpen) {\n this.close();\n return;\n }\n\n this.showNavigation();\n }\n\n // TODO: Figure out whats the best way to do this. Possible methods\n // 1. HostListener (current solution)\n // 2. Directives on the .nav-link class. We discussed on moving away from class selectors but I forget the reason\n // why\n @HostListener('click', ['$event.target'])\n onMouseClick(target: any) {\n let current: any = target; // Get the element in the DOM on which the mouse was clicked\n const navHost: any = this.elementRef.nativeElement; // Get the current nav native HTML element\n\n // Start checking if current and navHost are equal.\n // If not traverse to the parentNode and check again.\n while (current) {\n if (current === navHost) {\n return;\n } else if (current.classList.contains('nav-link') && this._document.body.clientWidth < LARGE_BREAKPOINT) {\n this.close();\n return;\n }\n current = current.parentNode;\n }\n }\n\n addNavClass(level: number) {\n const navHostClassList = this.elementRef.nativeElement.classList;\n if (level === ResponsiveNavCodes.NAV_LEVEL_1) {\n navHostClassList.add(ResponsiveNavCodes.NAV_CLASS_LEVEL_1);\n } else if (level === ResponsiveNavCodes.NAV_LEVEL_2) {\n navHostClassList.add(ResponsiveNavCodes.NAV_CLASS_LEVEL_2);\n }\n }\n\n open(): void {\n this._isOpen = true;\n this.showNavigation();\n this.cdkTrapFocus.enabled = true;\n this.showCloseButton();\n this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_OPEN, this.level);\n }\n\n close(): void {\n this._isOpen = false;\n this.hideNavigation();\n this.cdkTrapFocus.enabled = false;\n this.hideCloseButton();\n this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_CLOSE, this.level);\n }\n\n protected hideNavigation() {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-hidden', 'true');\n this.renderer.setAttribute(this.elementRef.nativeElement, 'hidden', 'true');\n }\n\n protected showNavigation() {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-hidden', 'false');\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'hidden');\n }\n\n protected hideCloseButton() {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-hidden', 'true');\n this.renderer.setAttribute(this.elementRef.nativeElement.querySelector('.clr-nav-close'), 'hidden', 'true');\n }\n\n protected showCloseButton() {\n this.renderer.setAttribute(this.elementRef.nativeElement.querySelector('.clr-nav-close'), 'aria-hidden', 'false');\n this.renderer.removeAttribute(this.elementRef.nativeElement.querySelector('.clr-nav-close'), 'hidden');\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, OnDestroy, OnInit } from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[clrAriaCurrentLink]',\n host: { '[attr.aria-current]': 'ariaCurrent' },\n standalone: false,\n})\nexport class ClrAriaCurrentLink implements OnInit, OnDestroy {\n ariaCurrent: string | undefined;\n private subscription: Subscription;\n\n constructor(private rla: RouterLinkActive) {}\n\n ngOnInit() {\n this.subscription = this.rla.isActiveChange.subscribe(isActive => {\n this.ariaCurrent = isActive ? 'page' : undefined;\n });\n }\n\n ngOnDestroy() {\n this.subscription.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 { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { ClrIcon } from '@clr/angular/icon';\nimport { ClrDropdownModule } from '@clr/angular/popover/dropdown';\n\nimport { ClrAriaCurrentLink } from './aria-current-link';\nimport { MainContainerWillyWonka } from './chocolate/main-container-willy-wonka';\nimport { NavDetectionOompaLoompa } from './chocolate/nav-detection-oompa-loompa';\nimport { ClrHeader } from './header';\nimport { ClrNavLevel } from './nav-level';\n\nexport const CLR_NAVIGATION_DIRECTIVES: Type<any>[] = [\n ClrHeader,\n ClrNavLevel,\n ClrAriaCurrentLink,\n NavDetectionOompaLoompa,\n MainContainerWillyWonka,\n];\n\n@NgModule({\n imports: [CommonModule, ClrIcon, ClrDropdownModule],\n declarations: [CLR_NAVIGATION_DIRECTIVES],\n exports: [CLR_NAVIGATION_DIRECTIVES],\n})\nexport class ClrNavigationModule {}\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 './chocolate/index';\nexport * from './header';\nexport * from './nav-level';\nexport * from './aria-current-link';\nexport * from './navigation.module';\nexport * from './providers/responsive-navigation.service';\nexport * from './responsive-nav-codes';\nexport * from './responsive-nav-control-message';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.MainContainerWillyWonka","i2.ResponsiveNavigationService","i1.ResponsiveNavigationService","i2","i1"],"mappings":";;;;;;;;;;;AAAA;;;;;AAKG;AASG,MAAO,uBAAwB,SAAQ,UAAU,CAAA;8GAA1C,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;ACbD;;;;;AAKG;MAEU,kBAAkB,CAAA;aACtB,IAAA,CAAA,WAAW,GAAG,CAAC,CAAC;aAChB,IAAA,CAAA,WAAW,GAAG,CAAC,CAAC;aAChB,IAAA,CAAA,aAAa,GAAG,eAAe,CAAC;aAChC,IAAA,CAAA,QAAQ,GAAG,UAAU,CAAC;aACtB,IAAA,CAAA,SAAS,GAAG,WAAW,CAAC;aACxB,IAAA,CAAA,UAAU,GAAG,YAAY,CAAC;aAC1B,IAAA,CAAA,wBAAwB,GAAG,qBAAqB,CAAC;aACjD,IAAA,CAAA,uBAAuB,GAAG,oBAAoB,CAAC;aAC/C,IAAA,CAAA,mBAAmB,GAAG,0BAA0B,CAAC;aACjD,IAAA,CAAA,mBAAmB,GAAG,yBAAyB,CAAC;aAChD,IAAA,CAAA,iBAAiB,GAAG,iBAAiB,CAAC;aACtC,IAAA,CAAA,iBAAiB,GAAG,iBAAiB,CAAC;;;ACnB/C;;;;;AAKG;MAEU,2BAA2B,CAAA;IACtC,WAAA,CACU,YAAoB,EACpB,SAAiB,EAAA;QADjB,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,SAAS,GAAT,SAAS;IAChB;AAEH,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY;IAC1B;AAEA,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;IACvB;AACD;;ACpBD;;;;;AAKG;MASU,2BAA2B,CAAA;AAMtC,IAAA,WAAA,GAAA;QALA,IAAA,CAAA,iBAAiB,GAAa,EAAE;AAExB,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,aAAa,EAAY;AAClD,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,OAAO,EAA+B;AAGpE,QAAA,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB;AAEA,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;IAC/C;AAEA,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;IAC9C;AAEA,IAAA,WAAW,CAAC,QAAgB,EAAA;QAC1B,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;YAC/C;QACF;AACA,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACtD;AAEA,IAAA,eAAe,CAAC,QAAgB,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;YACjD,OAAO,CAAC,KAAK,CAAC,yBAAyB,GAAG,QAAQ,GAAG,0DAA0D,CAAC;AAChH,YAAA,OAAO,IAAI;QACb;AACA,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,aAAa,CAAC,QAAgB,EAAA;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;AACtD,QAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACtD;IACF;IAEA,kBAAkB,CAAC,WAAmB,EAAE,QAAgB,EAAA;QACtD,MAAM,OAAO,GAAgC,IAAI,2BAA2B,CAAC,WAAW,EAAE,QAAQ,CAAC;AACnG,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;IACtC;IAEA,YAAY,GAAA;AACV,QAAA,MAAM,OAAO,GAAgC,IAAI,2BAA2B,CAC1E,kBAAkB,CAAC,aAAa,EAChC,CAAC,GAAG,CACL;AACD,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;IACtC;8GArDW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cADd,MAAM,EAAA,CAAA,CAAA;;2FACnB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACblC;;;;;AAKG;AAYG,MAAO,uBAAwB,SAAQ,WAAW,CAAA;AAGtD,IAAA,WAAA,CACE,GAAsB,EACV,UAAmC,EAC/C,oBAAiD,EAAA;QAEjD,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC;QAClF;AACA,QAAA,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC;AACtB,QAAA,IAAI,CAAC,oBAAoB,GAAG,oBAAoB;IAClD;;;AAIA,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,KAAK,GAAG,GAAG,QAAQ,EAAE,CAAC,CAAC;IACjG;8GAnBW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,2BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,YAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;0BAMI;;;ACtBL;;;;;AAKG;;ACLH;;;;;AAKG;MAuCU,SAAS,CAAA;IASpB,WAAA,CACU,oBAAiD,EAClD,aAAsC,EAAA;QADrC,IAAA,CAAA,oBAAoB,GAApB,oBAAoB;QACrB,IAAA,CAAA,aAAa,GAAb,aAAa;QAVa,IAAA,CAAA,IAAI,GAAG,QAAQ;QAElD,IAAA,CAAA,iBAAiB,GAAG,KAAK;QACzB,IAAA,CAAA,iBAAiB,GAAG,KAAK;QACzB,IAAA,CAAA,YAAY,GAAW,IAAI;QAC3B,IAAA,CAAA,kBAAkB,GAAG,kBAAkB;QAOrC,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,cAAc,CAAC,SAAS,CAAC;AACjE,YAAA,IAAI,EAAE,CAAC,YAAsB,KAAI;AAC/B,gBAAA,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC;YAC1C,CAAC;AACF,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CACpB,oBAAoB,CAAC;aAClB,IAAI,CACH,MAAM,CACJ,CAAC,EAAE,WAAW,EAAE,KACd,WAAW,KAAK,kBAAkB,CAAC,SAAS,IAAI,WAAW,KAAK,kBAAkB,CAAC,aAAa,CACnG;aAEF,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QAC1B,CAAC,CAAC,CACL;IACH;AAEA,IAAA,IAAI,yBAAyB,GAAA;AAC3B,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI;QAC/C,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;YAC7D,OAAO,eAAe,CAAC,uBAAuB;QAChD;aAAO;YACL,OAAO,eAAe,CAAC,wBAAwB;QACjD;IACF;AAEA,IAAA,IAAI,8BAA8B,GAAA;AAChC,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI;QAC/C,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;YAC7D,OAAO,eAAe,CAAC,yBAAyB;QAClD;aAAO;YACL,OAAO,eAAe,CAAC,0BAA0B;QACnD;IACF;;IAGA,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;AAC9B,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;IAChC;;AAGA,IAAA,qBAAqB,CAAC,OAAiB,EAAA;QACrC,IAAI,CAAC,gBAAgB,EAAE;AACvB,QAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACtB,YAAA,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC;YACjD;QACF;AACA,QAAA,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAG;AACzB,YAAA,IAAI,QAAQ,KAAK,kBAAkB,CAAC,WAAW,EAAE;AAC/C,gBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;YAC/B;AAAO,iBAAA,IAAI,QAAQ,KAAK,kBAAkB,CAAC,WAAW,EAAE;AACtD,gBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;YAC/B;AACF,QAAA,CAAC,CAAC;IACJ;;IAGA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE;IAC1C;AAEA;;;;AAIG;AACH,IAAA,SAAS,CAAC,QAAgB,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;YAClC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC;YACpF;QACF;AAEA,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxB;AAEA,IAAA,OAAO,CAAC,QAAgB,EAAA;AACtB,QAAA,IAAI,CAAC,YAAY,GAAG,QAAQ;QAC5B,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACrF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;IAClC;8GAnGW,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,2BAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,MAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA3BV;;;;;;;;;;;;;;;;;;;;;;;AAuBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FAIU,SAAS,EAAA,UAAA,EAAA,CAAA;kBA7BrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;AAuBT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE;AAClC,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAEE;;sBAAS,WAAW;uBAAC,WAAW;;;AC7CnC;;;;;AAKG;AAuBH,MAAM,iBAAiB,GAAG,CAAC,QAAkB,EAAE,SAAiB,KAAI;AAClE,IAAA,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;IAEhC,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACpD,IAAA,WAAW,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC;AACjD,IAAA,WAAW,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/C,WAAW,CAAC,SAAS,GAAG;;;;;;GAMvB;AACD;;AAEG;AACH,IAAA,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC1C,IAAA,WAAW,CAAC,SAAS,GAAG,eAAe;AACvC,IAAA,OAAO,WAAW;AACpB,CAAC;MAOY,WAAW,CAAA;IAQtB,WAAA,CACuB,UAAe,EAC5B,YAAuC,EACvC,oBAAiD,EACjD,UAAmC,EACnC,QAAmB,EAC3B,QAAkB,EAAA;QAJV,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,oBAAoB,GAApB,oBAAoB;QACpB,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,QAAQ,GAAR,QAAQ;QATV,IAAA,CAAA,OAAO,GAAG,KAAK;AAYrB,QAAA,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzC;AAEA,QAAA,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC;AACvC,aAAA,IAAI,CACH,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,EACtC,MAAM,CACJ,CAAC,EAAE,WAAW,EAAE,KACd,CAAC,WAAW,KAAK,kBAAkB,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM;aAC3D,WAAW,KAAK,kBAAkB,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAChE;AAEF,aAAA,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,KAAI;AAC7B,YAAA,IAAI,WAAW,KAAK,kBAAkB,CAAC,QAAQ,EAAE;gBAC/C,IAAI,CAAC,IAAI,EAAE;gBACX;YACF;YAEA,IAAI,CAAC,KAAK,EAAE;AACd,QAAA,CAAC,CAAC;AAEJ,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CACpB,oBAAoB,CAAC;AAClB,aAAA,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,WAAW,KAAK,kBAAkB,CAAC,aAAa,CAAC;aAClF,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CACjC;IACH;AAEA,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;;AAGA,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,kBAAkB;IAC3B;AAEA,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,KAAK;AAEjC,QAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;AAC9B,YAAA,IAAI,CAAC,oBAAoB;AACvB,gBAAA,IAAI,CAAC,MAAM,KAAK,kBAAkB,CAAC;sBAC/B,oBAAoB,CAAC;AACvB,sBAAE,oBAAoB,CAAC,0BAA0B;QACvD;AAEA,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,kBAAkB,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,kBAAkB,CAAC,WAAW,EAAE;AAClG,YAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC;YAC7C;QACF;QACA,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;AACjD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;IAC9B;IAEA,eAAe,GAAA;AACb,QAAA,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC;AAChF,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEjH,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE;AACtD;;;;;AAKG;YACH,IAAI,CAAC,KAAK,EAAE;QACd;IACF;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;AACnD,QAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;IAClC;AAGA,IAAA,QAAQ,CAAC,KAAY,EAAA;AACnB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAgB;QAErC,IAAI,MAAM,CAAC,UAAU,GAAG,gBAAgB,IAAI,IAAI,CAAC,MAAM,EAAE;YACvD,IAAI,CAAC,KAAK,EAAE;YACZ;QACF;QAEA,IAAI,CAAC,cAAc,EAAE;IACvB;;;;;AAOA,IAAA,YAAY,CAAC,MAAW,EAAA;AACtB,QAAA,IAAI,OAAO,GAAQ,MAAM,CAAC;QAC1B,MAAM,OAAO,GAAQ,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;;;QAInD,OAAO,OAAO,EAAE;AACd,YAAA,IAAI,OAAO,KAAK,OAAO,EAAE;gBACvB;YACF;AAAO,iBAAA,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,gBAAgB,EAAE;gBACvG,IAAI,CAAC,KAAK,EAAE;gBACZ;YACF;AACA,YAAA,OAAO,GAAG,OAAO,CAAC,UAAU;QAC9B;IACF;AAEA,IAAA,WAAW,CAAC,KAAa,EAAA;QACvB,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS;AAChE,QAAA,IAAI,KAAK,KAAK,kBAAkB,CAAC,WAAW,EAAE;AAC5C,YAAA,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;QAC5D;AAAO,aAAA,IAAI,KAAK,KAAK,kBAAkB,CAAC,WAAW,EAAE;AACnD,YAAA,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;QAC5D;IACF;IAEA,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACnB,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI;QAChC,IAAI,CAAC,eAAe,EAAE;AACtB,QAAA,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC;IACvF;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QACpB,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,KAAK;QACjC,IAAI,CAAC,eAAe,EAAE;AACtB,QAAA,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;IACxF;IAEU,cAAc,GAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC;AAChF,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC;IAC7E;IAEU,cAAc,GAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC;AACjF,QAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,CAAC;IACxE;IAEU,eAAe,GAAA;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC;QAChF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC;IAC7G;IAEU,eAAe,GAAA;QACvB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC;AACjH,QAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IACxG;AA9KW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,kBASZ,WAAW,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,2BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGATV,WAAW,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,QAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,gBAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;oBAC3B,cAAc,EAAE,CAAC,yBAAyB,CAAC;AAC3C,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;0BAUI,MAAM;2BAAC,WAAW;;sBARpB,KAAK;uBAAC,eAAe;;sBACrB,KAAK;uBAAC,gBAAgB;;sBA+FtB,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;sBAgBxC,YAAY;uBAAC,OAAO,EAAE,CAAC,eAAe,CAAC;;;ACvK1C;;;;;AAKG;MAWU,kBAAkB,CAAA;AAI7B,IAAA,WAAA,CAAoB,GAAqB,EAAA;QAArB,IAAA,CAAA,GAAG,GAAH,GAAG;IAAqB;IAE5C,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,IAAG;AAC/D,YAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS;AAClD,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;IACjC;8GAdW,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAG,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,IAAI,EAAE,EAAE,qBAAqB,EAAE,aAAa,EAAE;AAC9C,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;ACfD;;;;;AAKG;AAaI,MAAM,yBAAyB,GAAgB;IACpD,SAAS;IACT,WAAW;IACX,kBAAkB;IAClB,uBAAuB;IACvB,uBAAuB;;MAQZ,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iBAZ9B,SAAS;YACT,WAAW;YACX,kBAAkB;YAClB,uBAAuB;AACvB,YAAA,uBAAuB,aAIb,YAAY,EAAE,OAAO,EAAE,iBAAiB,aARlD,SAAS;YACT,WAAW;YACX,kBAAkB;YAClB,uBAAuB;YACvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAQZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,OAAA,EAAA,CAJpB,YAAY,EAAE,OAAO,EAAE,iBAAiB,CAAA,EAAA,CAAA,CAAA;;2FAIvC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,iBAAiB,CAAC;oBACnD,YAAY,EAAE,CAAC,yBAAyB,CAAC;oBACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;AACrC,iBAAA;;;AC9BD;;;;;AAKG;;ACLH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"clr-angular-layout-nav.mjs","sources":["../../../projects/angular/layout/nav/chocolate/main-container-willy-wonka.ts","../../../projects/angular/layout/nav/responsive-nav-codes.ts","../../../projects/angular/layout/nav/responsive-nav-control-message.ts","../../../projects/angular/layout/nav/providers/responsive-navigation.service.ts","../../../projects/angular/layout/nav/chocolate/nav-detection-oompa-loompa.ts","../../../projects/angular/layout/nav/chocolate/index.ts","../../../projects/angular/layout/nav/header.ts","../../../projects/angular/layout/nav/nav-level.ts","../../../projects/angular/layout/nav/aria-current-link.ts","../../../projects/angular/layout/nav/navigation.module.ts","../../../projects/angular/layout/nav/index.ts","../../../projects/angular/layout/nav/clr-angular-layout-nav.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 { Directive } from '@angular/core';\nimport { WillyWonka } from '@clr/angular/utils';\n\n@Directive({\n selector: 'clr-main-container',\n standalone: false,\n})\nexport class MainContainerWillyWonka extends WillyWonka {}\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 class ResponsiveNavCodes {\n static NAV_LEVEL_1 = 1;\n static NAV_LEVEL_2 = 2;\n static NAV_CLOSE_ALL = 'NAV_CLOSE_ALL';\n static NAV_OPEN = 'NAV_OPEN';\n static NAV_CLOSE = 'NAV_CLOSE';\n static NAV_TOGGLE = 'NAV_TOGGLE';\n static NAV_CLASS_HAMBURGER_MENU = 'open-hamburger-menu';\n static NAV_CLASS_OVERFLOW_MENU = 'open-overflow-menu';\n static NAV_CLASS_TRIGGER_1 = 'header-hamburger-trigger';\n static NAV_CLASS_TRIGGER_2 = 'header-overflow-trigger';\n static NAV_CLASS_LEVEL_1 = 'clr-nav-level-1';\n static NAV_CLASS_LEVEL_2 = 'clr-nav-level-2';\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 class ResponsiveNavControlMessage {\n constructor(\n private _controlCode: string,\n private _navLevel: number\n ) {}\n\n get controlCode(): string {\n return this._controlCode;\n }\n\n get navLevel(): number {\n return this._navLevel;\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, ReplaySubject, Subject } from 'rxjs';\n\nimport { ResponsiveNavCodes } from '../responsive-nav-codes';\nimport { ResponsiveNavControlMessage } from '../responsive-nav-control-message';\n\n@Injectable({ providedIn: 'root' })\nexport class ResponsiveNavigationService {\n responsiveNavList: number[] = [];\n\n private registerNavSubject = new ReplaySubject<number[]>();\n private controlNavSubject = new Subject<ResponsiveNavControlMessage>();\n\n constructor() {\n this.closeAllNavs(); // We start with all navs closed\n }\n\n get registeredNavs(): Observable<number[]> {\n return this.registerNavSubject.asObservable();\n }\n\n get navControl(): Observable<ResponsiveNavControlMessage> {\n return this.controlNavSubject.asObservable();\n }\n\n registerNav(navLevel: number): void {\n if (!navLevel || this.isNavRegistered(navLevel)) {\n return;\n }\n this.responsiveNavList.push(navLevel);\n this.registerNavSubject.next(this.responsiveNavList);\n }\n\n isNavRegistered(navLevel: number): boolean {\n if (this.responsiveNavList.indexOf(navLevel) > -1) {\n console.error('Multiple clr-nav-level ' + navLevel + ' attributes found. Please make sure that only one exists');\n return true;\n }\n return false;\n }\n\n unregisterNav(navLevel: number) {\n const index = this.responsiveNavList.indexOf(navLevel);\n if (index > -1) {\n this.responsiveNavList.splice(index, 1);\n this.registerNavSubject.next(this.responsiveNavList);\n }\n }\n\n sendControlMessage(controlCode: string, navLevel: number) {\n const message: ResponsiveNavControlMessage = new ResponsiveNavControlMessage(controlCode, navLevel);\n this.controlNavSubject.next(message);\n }\n\n closeAllNavs() {\n const message: ResponsiveNavControlMessage = new ResponsiveNavControlMessage(\n ResponsiveNavCodes.NAV_CLOSE_ALL,\n -999\n );\n this.controlNavSubject.next(message);\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 { ChangeDetectorRef, Directive, Optional } from '@angular/core';\nimport { OompaLoompa } from '@clr/angular/utils';\n\nimport { MainContainerWillyWonka } from './main-container-willy-wonka';\nimport { ResponsiveNavigationService } from '../providers/responsive-navigation.service';\n\n@Directive({\n selector: 'clr-header',\n standalone: false,\n})\nexport class NavDetectionOompaLoompa extends OompaLoompa {\n private responsiveNavService: ResponsiveNavigationService;\n\n constructor(\n cdr: ChangeDetectorRef,\n @Optional() willyWonka: MainContainerWillyWonka,\n responsiveNavService: ResponsiveNavigationService\n ) {\n if (!willyWonka) {\n throw new Error('clr-header should only be used inside of a clr-main-container');\n }\n super(cdr, willyWonka);\n this.responsiveNavService = responsiveNavService;\n }\n\n // NavDetectionOompaLoompa is the addition of the nav levels\n // Since we support 2 levels, the possibilities are 0, 1 or 3 (1 + 2)\n get flavor() {\n return this.responsiveNavService.responsiveNavList.reduce((sum, navLevel) => sum + navLevel, 0);\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 './main-container-willy-wonka';\nexport * from './nav-detection-oompa-loompa';\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, HostBinding, Input, OnDestroy } from '@angular/core';\nimport { ClrCommonStringsService } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { ResponsiveNavigationService } from './providers/responsive-navigation.service';\nimport { ResponsiveNavCodes } from './responsive-nav-codes';\n\n@Component({\n selector: 'clr-header',\n template: `\n @if (isNavLevel1OnPage) {\n <button\n type=\"button\"\n class=\"header-hamburger-trigger\"\n [attr.aria-label]=\"responsiveNavCommonString\"\n (click)=\"openNav(responsiveNavCodes.NAV_LEVEL_1)\"\n >\n <span></span>\n </button>\n }\n <ng-content></ng-content>\n @if (isNavLevel2OnPage) {\n <button\n type=\"button\"\n class=\"header-overflow-trigger\"\n [attr.aria-label]=\"responsiveOverflowCommonString\"\n (click)=\"openNav(responsiveNavCodes.NAV_LEVEL_2)\"\n >\n <span></span>\n </button>\n }\n <div class=\"header-backdrop\" (click)=\"closeOpenNav()\"></div>\n `,\n host: { '[class.header]': 'true' },\n standalone: false,\n})\nexport class ClrHeader implements OnDestroy {\n @Input() @HostBinding('attr.role') role = 'banner';\n\n isNavLevel1OnPage = false;\n isNavLevel2OnPage = false;\n openNavLevel: number = null;\n responsiveNavCodes = ResponsiveNavCodes;\n private _subscription: Subscription;\n\n constructor(\n private responsiveNavService: ResponsiveNavigationService,\n public commonStrings: ClrCommonStringsService\n ) {\n this._subscription = responsiveNavService.registeredNavs.subscribe({\n next: (navLevelList: number[]) => {\n this.initializeNavTriggers(navLevelList);\n },\n });\n\n this._subscription.add(\n responsiveNavService.navControl\n .pipe(\n filter(\n ({ controlCode }) =>\n controlCode === ResponsiveNavCodes.NAV_CLOSE || controlCode === ResponsiveNavCodes.NAV_CLOSE_ALL\n )\n )\n .subscribe(() => {\n this.openNavLevel = null;\n })\n );\n }\n\n get responsiveNavCommonString() {\n const myCommonStrings = this.commonStrings.keys;\n if (this.openNavLevel !== this.responsiveNavCodes.NAV_LEVEL_1) {\n return myCommonStrings.responsiveNavToggleOpen;\n } else {\n return myCommonStrings.responsiveNavToggleClose;\n }\n }\n\n get responsiveOverflowCommonString() {\n const myCommonStrings = this.commonStrings.keys;\n if (this.openNavLevel !== this.responsiveNavCodes.NAV_LEVEL_2) {\n return myCommonStrings.responsiveNavOverflowOpen;\n } else {\n return myCommonStrings.responsiveNavOverflowClose;\n }\n }\n\n // reset triggers. handles cases when an application has different nav levels on different pages.\n resetNavTriggers() {\n this.isNavLevel1OnPage = false;\n this.isNavLevel2OnPage = false;\n }\n\n // decides which triggers to show on the header\n initializeNavTriggers(navList: number[]): void {\n this.resetNavTriggers();\n if (navList.length > 2) {\n console.error('More than 2 Nav Levels detected.');\n return;\n }\n navList.forEach(navLevel => {\n if (navLevel === ResponsiveNavCodes.NAV_LEVEL_1) {\n this.isNavLevel1OnPage = true;\n } else if (navLevel === ResponsiveNavCodes.NAV_LEVEL_2) {\n this.isNavLevel2OnPage = true;\n }\n });\n }\n\n // closes the nav that is open\n closeOpenNav() {\n this.responsiveNavService.closeAllNavs();\n }\n\n /**\n * @deprecated Will be removed in with @clr/angular v15.0.0\n *\n * Use `openNav(navLevel)` instead to open the navigation and ResponsiveNavService to close it.\n */\n toggleNav(navLevel: number) {\n if (this.openNavLevel === navLevel) {\n this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_CLOSE, navLevel);\n return;\n }\n\n this.openNav(navLevel);\n }\n\n openNav(navLevel: number) {\n this.openNavLevel = navLevel;\n this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_OPEN, navLevel);\n }\n\n ngOnDestroy() {\n this._subscription.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 { isPlatformBrowser } from '@angular/common';\nimport {\n ApplicationRef,\n createComponent,\n Directive,\n DOCUMENT,\n ElementRef,\n EnvironmentInjector,\n HostListener,\n Inject,\n Injector,\n Input,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n} from '@angular/core';\nimport { ClarityIcons, ClrIcon, timesIcon } from '@clr/angular/icon';\nimport { ClrStandaloneCdkTrapFocus, commonStringsDefault, LARGE_BREAKPOINT } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { ResponsiveNavigationService } from './providers/responsive-navigation.service';\nimport { ResponsiveNavCodes } from './responsive-nav-codes';\n\n@Directive({\n selector: '[clr-nav-level]',\n hostDirectives: [ClrStandaloneCdkTrapFocus],\n standalone: false,\n})\nexport class ClrNavLevel implements OnInit {\n @Input('clr-nav-level') _level: number;\n @Input('closeAriaLabel') closeButtonAriaLabel: string;\n\n private _isOpen = false;\n private _document: Document;\n private _subscription: Subscription;\n\n constructor(\n @Inject(PLATFORM_ID) platformId: any,\n private cdkTrapFocus: ClrStandaloneCdkTrapFocus,\n private responsiveNavService: ResponsiveNavigationService,\n private elementRef: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n private injector: Injector,\n private environmentInjector: EnvironmentInjector,\n private appRef: ApplicationRef\n ) {\n if (isPlatformBrowser(platformId)) {\n this._document = injector.get(DOCUMENT);\n }\n\n this._subscription = responsiveNavService.navControl\n .pipe(\n filter(x => x.navLevel === this.level),\n filter(\n ({ controlCode }) =>\n (controlCode === ResponsiveNavCodes.NAV_OPEN && !this.isOpen) ||\n (controlCode === ResponsiveNavCodes.NAV_CLOSE && this.isOpen)\n )\n )\n .subscribe(({ controlCode }) => {\n if (controlCode === ResponsiveNavCodes.NAV_OPEN) {\n this.open();\n return;\n }\n\n this.close();\n });\n\n this._subscription.add(\n responsiveNavService.navControl\n .pipe(filter(({ controlCode }) => controlCode === ResponsiveNavCodes.NAV_CLOSE_ALL))\n .subscribe(() => this.close())\n );\n }\n\n get level(): number {\n return this._level;\n }\n\n // getter to access the responsive navigation codes from the template\n get responsiveNavCodes(): ResponsiveNavCodes {\n return ResponsiveNavCodes;\n }\n\n get isOpen(): boolean {\n return this._isOpen;\n }\n\n ngOnInit() {\n this.cdkTrapFocus.enabled = false;\n\n if (!this.closeButtonAriaLabel) {\n this.closeButtonAriaLabel =\n this._level === ResponsiveNavCodes.NAV_LEVEL_1\n ? commonStringsDefault.responsiveNavToggleClose\n : commonStringsDefault.responsiveNavOverflowClose;\n }\n\n if (this.level !== ResponsiveNavCodes.NAV_LEVEL_1 && this.level !== ResponsiveNavCodes.NAV_LEVEL_2) {\n console.error('Nav Level can only be 1 or 2');\n return;\n }\n this.responsiveNavService.registerNav(this.level);\n this.addNavClass(this.level);\n }\n\n ngAfterViewInit() {\n const closeButton = this.createCloseButton();\n this.renderer.listen(closeButton, 'click', this.close.bind(this));\n this.renderer.insertBefore(this.elementRef.nativeElement, closeButton, this.elementRef.nativeElement.firstChild);\n\n if (this._document.body.clientWidth < LARGE_BREAKPOINT) {\n /**\n * Close if the document body is smaller than the large breakpoint for example:\n * - Refreshing the page\n * - Browser window size is changed when opening the applicaiton\n * - Browser zoom is turned on and zoomed to a size that makes the document smaller than the large breakpoint\n */\n this.close();\n }\n }\n\n ngOnDestroy() {\n this.responsiveNavService.unregisterNav(this.level);\n this._subscription.unsubscribe();\n }\n\n @HostListener('window:resize', ['$event'])\n onResize(event: Event) {\n const target = event.target as Window;\n\n if (target.innerWidth < LARGE_BREAKPOINT && this.isOpen) {\n this.close();\n return;\n }\n\n this.showNavigation();\n }\n\n // TODO: Figure out whats the best way to do this. Possible methods\n // 1. HostListener (current solution)\n // 2. Directives on the .nav-link class. We discussed on moving away from class selectors but I forget the reason\n // why\n @HostListener('click', ['$event.target'])\n onMouseClick(target: any) {\n let current: any = target; // Get the element in the DOM on which the mouse was clicked\n const navHost: any = this.elementRef.nativeElement; // Get the current nav native HTML element\n\n // Start checking if current and navHost are equal.\n // If not traverse to the parentNode and check again.\n while (current) {\n if (current === navHost) {\n return;\n } else if (current.classList.contains('nav-link') && this._document.body.clientWidth < LARGE_BREAKPOINT) {\n this.close();\n return;\n }\n current = current.parentNode;\n }\n }\n\n addNavClass(level: number) {\n const navHostClassList = this.elementRef.nativeElement.classList;\n if (level === ResponsiveNavCodes.NAV_LEVEL_1) {\n navHostClassList.add(ResponsiveNavCodes.NAV_CLASS_LEVEL_1);\n } else if (level === ResponsiveNavCodes.NAV_LEVEL_2) {\n navHostClassList.add(ResponsiveNavCodes.NAV_CLASS_LEVEL_2);\n }\n }\n\n open(): void {\n this._isOpen = true;\n this.showNavigation();\n this.cdkTrapFocus.enabled = true;\n this.showCloseButton();\n this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_OPEN, this.level);\n }\n\n close(): void {\n this._isOpen = false;\n this.hideNavigation();\n this.cdkTrapFocus.enabled = false;\n this.hideCloseButton();\n this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_CLOSE, this.level);\n }\n\n protected hideNavigation() {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-hidden', 'true');\n this.renderer.setAttribute(this.elementRef.nativeElement, 'hidden', 'true');\n }\n\n protected showNavigation() {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-hidden', 'false');\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'hidden');\n }\n\n protected hideCloseButton() {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-hidden', 'true');\n this.renderer.setAttribute(this.elementRef.nativeElement.querySelector('.clr-nav-close'), 'hidden', 'true');\n }\n\n protected showCloseButton() {\n this.renderer.setAttribute(this.elementRef.nativeElement.querySelector('.clr-nav-close'), 'aria-hidden', 'false');\n this.renderer.removeAttribute(this.elementRef.nativeElement.querySelector('.clr-nav-close'), 'hidden');\n }\n\n private createCloseButton(): HTMLButtonElement {\n ClarityIcons.addIcons(timesIcon);\n\n const closeButton = this._document.createElement('button');\n closeButton.setAttribute('aria-label', this.closeButtonAriaLabel);\n closeButton.setAttribute('aria-hidden', 'true');\n closeButton.setAttribute('hidden', 'true');\n closeButton.className = 'clr-nav-close';\n\n const iconRef = createComponent(ClrIcon, {\n hostElement: this._document.createElement('cds-icon'),\n environmentInjector: this.environmentInjector,\n elementInjector: this.injector,\n });\n iconRef.instance.shape = 'times';\n iconRef.instance.size = '32';\n this.appRef.attachView(iconRef.hostView);\n closeButton.appendChild(iconRef.location.nativeElement);\n\n return closeButton;\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, OnDestroy, OnInit } from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[clrAriaCurrentLink]',\n host: { '[attr.aria-current]': 'ariaCurrent' },\n standalone: false,\n})\nexport class ClrAriaCurrentLink implements OnInit, OnDestroy {\n ariaCurrent: string | undefined;\n private subscription: Subscription;\n\n constructor(private rla: RouterLinkActive) {}\n\n ngOnInit() {\n this.subscription = this.rla.isActiveChange.subscribe(isActive => {\n this.ariaCurrent = isActive ? 'page' : undefined;\n });\n }\n\n ngOnDestroy() {\n this.subscription.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 { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { ClrIcon } from '@clr/angular/icon';\nimport { ClrDropdownModule } from '@clr/angular/popover/dropdown';\n\nimport { ClrAriaCurrentLink } from './aria-current-link';\nimport { MainContainerWillyWonka } from './chocolate/main-container-willy-wonka';\nimport { NavDetectionOompaLoompa } from './chocolate/nav-detection-oompa-loompa';\nimport { ClrHeader } from './header';\nimport { ClrNavLevel } from './nav-level';\n\nexport const CLR_NAVIGATION_DIRECTIVES: Type<any>[] = [\n ClrHeader,\n ClrNavLevel,\n ClrAriaCurrentLink,\n NavDetectionOompaLoompa,\n MainContainerWillyWonka,\n];\n\n@NgModule({\n imports: [CommonModule, ClrIcon, ClrDropdownModule],\n declarations: [CLR_NAVIGATION_DIRECTIVES],\n exports: [CLR_NAVIGATION_DIRECTIVES],\n})\nexport class ClrNavigationModule {}\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 './chocolate/index';\nexport * from './header';\nexport * from './nav-level';\nexport * from './aria-current-link';\nexport * from './navigation.module';\nexport * from './providers/responsive-navigation.service';\nexport * from './responsive-nav-codes';\nexport * from './responsive-nav-control-message';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.MainContainerWillyWonka","i2.ResponsiveNavigationService","i1.ResponsiveNavigationService","i2","i1"],"mappings":"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"}
|
|
@@ -803,5 +803,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
|
|
|
803
803
|
* Generated bundle index. Do not edit.
|
|
804
804
|
*/
|
|
805
805
|
|
|
806
|
-
export { CLR_TABS_DIRECTIVES, ClrTab, ClrTabAction, ClrTabContent, ClrTabLink, ClrTabOverflowContent, ClrTabs, ClrTabsActions, ClrTabsModule,
|
|
806
|
+
export { ActiveOompaLoompa, CLR_TABS_DIRECTIVES, ClrTab, ClrTabAction, ClrTabContent, ClrTabLink, ClrTabOverflowContent, ClrTabs, ClrTabsActions, ClrTabsModule, TabsWillyWonka };
|
|
807
807
|
//# sourceMappingURL=clr-angular-layout-tabs.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clr-angular-layout-tabs.mjs","sources":["../../../projects/angular/layout/tabs/enums/tabs-layout.enum.ts","../../../projects/angular/layout/tabs/providers/tabs.service.ts","../../../projects/angular/layout/tabs/tab-content.ts","../../../projects/angular/layout/tabs/tabs-id.provider.ts","../../../projects/angular/layout/tabs/tab-link.directive.ts","../../../projects/angular/layout/tabs/tab.ts","../../../projects/angular/layout/tabs/tab-action.directive.ts","../../../projects/angular/layout/tabs/tab-overflow-content.ts","../../../projects/angular/layout/tabs/tabs.ts","../../../projects/angular/layout/tabs/tabs-actions.ts","../../../projects/angular/layout/tabs/chocolate/tabs-willy-wonka.ts","../../../projects/angular/layout/tabs/chocolate/active-oompa-loompa.ts","../../../projects/angular/layout/tabs/tabs.module.ts","../../../projects/angular/layout/tabs/index.ts","../../../projects/angular/layout/tabs/clr-angular-layout-tabs.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\nexport enum TabsLayout {\n HORIZONTAL = 'horizontal',\n VERTICAL = 'vertical',\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, ViewContainerRef } from '@angular/core';\n\nimport { TabsLayout } from '../enums/tabs-layout.enum';\nimport { ClrTab } from '../tab';\n\n@Injectable()\nexport class TabsService {\n layout: TabsLayout | string = TabsLayout.HORIZONTAL;\n tabContentViewContainer: ViewContainerRef;\n\n private _children: ClrTab[] = [];\n\n get children() {\n return this._children;\n }\n\n get activeTab() {\n return this.children.find((tab: ClrTab) => {\n return tab.active;\n });\n }\n\n get overflowTabs() {\n if (this.layout === TabsLayout.VERTICAL) {\n return [];\n } else {\n return this.children.filter((tab: ClrTab) => tab.tabLink.inOverflow === true);\n }\n }\n\n register(tab: ClrTab) {\n this._children.push(tab);\n }\n\n unregister(tab: ClrTab) {\n const index = this.children.indexOf(tab);\n if (index > -1) {\n this.children.splice(index, 1);\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, EmbeddedViewRef, Inject, Input, OnDestroy, TemplateRef, ViewChild } from '@angular/core';\nimport { IF_ACTIVE_ID, IfActiveService } from '@clr/angular/utils';\n\nimport { TabsService } from './providers/tabs.service';\n\nlet nbTabContentComponents = 0;\n\n@Component({\n selector: 'clr-tab-content',\n template: `\n <ng-template #tabContentProjectedRef>\n <section\n [id]=\"tabContentId\"\n role=\"tabpanel\"\n class=\"tab-content\"\n [class.active]=\"active\"\n [hidden]=\"!active\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-hidden]=\"!active\"\n >\n <ng-content></ng-content>\n </section>\n </ng-template>\n `,\n standalone: false,\n})\nexport class ClrTabContent implements OnDestroy {\n @Input('id') tabContentId: string;\n\n private viewRef: EmbeddedViewRef<ClrTabContent>;\n\n constructor(\n public ifActiveService: IfActiveService,\n @Inject(IF_ACTIVE_ID) public id: number,\n private tabsService: TabsService\n ) {\n if (!this.tabContentId) {\n this.tabContentId = 'clr-tab-content-' + nbTabContentComponents++;\n }\n }\n\n get active() {\n return this.ifActiveService.current === this.id;\n }\n\n get ariaLabelledBy(): string {\n return this.tabsService.children.find(tab => tab.tabLink.id === this.id)?.tabLink?.tabLinkId;\n }\n\n // The template must be applied on the top-down phase of view-child initialization to prevent\n // components in the content from initializing before a content container exists.\n // Some child components need their container for sizing calculations.\n @ViewChild('tabContentProjectedRef', { static: true })\n private set templateRef(value: TemplateRef<ClrTabContent>) {\n this.viewRef = this.tabsService.tabContentViewContainer.createEmbeddedView(value);\n }\n\n ngOnDestroy(): void {\n const index = this.tabsService.tabContentViewContainer.indexOf(this.viewRef);\n if (index > -1) {\n this.tabsService.tabContentViewContainer.remove(index);\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 { InjectionToken } from '@angular/core';\n\nlet nbTabsComponent = 0;\n\nexport const TABS_ID = new InjectionToken<number>('TABS_ID');\n\nexport function tokenFactory() {\n return 'clr-tabs-' + nbTabsComponent++;\n}\n\nexport const TABS_ID_PROVIDER = {\n provide: TABS_ID,\n useFactory: tokenFactory,\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, HostBinding, HostListener, Inject, Input, ViewContainerRef } from '@angular/core';\nimport { IF_ACTIVE_ID, IfActiveService, TemplateRefContainer } from '@clr/angular/utils';\n\nimport { TabsLayout } from './enums/tabs-layout.enum';\nimport { TabsService } from './providers/tabs.service';\nimport { TABS_ID } from './tabs-id.provider';\n\nlet nbTabLinkComponents = 0;\n\n@Directive({\n selector: '[clrTabLink]',\n host: {\n '[class.btn]': 'true',\n role: 'tab',\n type: 'button',\n },\n standalone: false,\n})\nexport class ClrTabLink {\n @Input('id') @HostBinding('id') tabLinkId: string;\n\n templateRefContainer: TemplateRefContainer;\n\n private _inOverflow: boolean;\n\n constructor(\n public ifActiveService: IfActiveService,\n @Inject(IF_ACTIVE_ID) readonly id: number,\n public el: ElementRef<HTMLElement>,\n viewContainerRef: ViewContainerRef,\n private tabsService: TabsService,\n @Inject(TABS_ID) public tabsId: number\n ) {\n if (!this.tabLinkId) {\n this.tabLinkId = 'clr-tab-link-' + nbTabLinkComponents++;\n }\n\n // Tab links can be rendered in one of two places: in the main area or inside the overflow dropdown menu.\n // Here, we create a container so that its template can be used to create embeddedView on the fly.\n // See TabsService's renderView() method and how it's used in Tabs class for an example.\n this.templateRefContainer = viewContainerRef.createComponent(TemplateRefContainer, {\n projectableNodes: [[el.nativeElement]],\n }).instance;\n }\n\n @Input('clrTabLinkInOverflow')\n get inOverflow(): boolean {\n return this._inOverflow && this.tabsService.layout !== TabsLayout.VERTICAL;\n }\n set inOverflow(inOverflow) {\n this._inOverflow = inOverflow;\n }\n\n @HostBinding('class.btn-link')\n @HostBinding('class.nav-link')\n get addLinkClasses() {\n return !this.inOverflow;\n }\n\n @HostBinding('attr.aria-controls')\n get ariaControls(): string {\n return this.tabsService.children.find(tab => tab.tabLink === this)?.tabContent?.tabContentId;\n }\n\n @HostBinding('class.active')\n @HostBinding('attr.aria-selected')\n get active() {\n return this.ifActiveService.current === this.id;\n }\n\n @HostBinding('attr.tabindex')\n get tabindex(): 0 | -1 {\n return this.active ? 0 : -1;\n }\n\n @HostListener('click')\n activate() {\n this.ifActiveService.current = this.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 { Component, ContentChild, Inject } from '@angular/core';\nimport { IF_ACTIVE_ID, IF_ACTIVE_ID_PROVIDER, IfActiveService } from '@clr/angular/utils';\n\nimport { TabsService } from './providers/tabs.service';\nimport { ClrTabContent } from './tab-content';\nimport { ClrTabLink } from './tab-link.directive';\n\n@Component({\n selector: 'clr-tab',\n template: `<ng-content></ng-content>`,\n providers: [IF_ACTIVE_ID_PROVIDER],\n standalone: false,\n})\nexport class ClrTab {\n @ContentChild(ClrTabLink, { static: true }) tabLink: ClrTabLink;\n @ContentChild(ClrTabContent, { static: true }) tabContent: ClrTabContent;\n\n constructor(\n public ifActiveService: IfActiveService,\n @Inject(IF_ACTIVE_ID) public id: number,\n private tabsService: TabsService\n ) {\n tabsService.register(this);\n }\n\n get active() {\n return this.ifActiveService.current === this.id;\n }\n\n ngOnDestroy() {\n this.tabsService.unregister(this);\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 } from '@angular/core';\n\n@Directive({\n selector: '[clrTabAction]',\n host: {\n tabindex: '0',\n },\n standalone: false,\n})\nexport class ClrTabAction {}\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-tab-overflow-content',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.dropdown-menu]': 'true',\n },\n standalone: false,\n})\nexport class ClrTabOverflowContent {}\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 QueryList,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ClrPopoverHostDirective, ClrPopoverService } from '@clr/angular/popover/common';\nimport { ClrCommonStringsService, ClrKeyFocus, IfActiveService } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\n\nimport { TabsLayout } from './enums/tabs-layout.enum';\nimport { TabsService } from './providers/tabs.service';\nimport { ClrTab } from './tab';\nimport { ClrTabAction } from './tab-action.directive';\nimport { ClrTabLink } from './tab-link.directive';\nimport { ClrTabOverflowContent } from './tab-overflow-content';\nimport { TABS_ID, TABS_ID_PROVIDER } from './tabs-id.provider';\n@Component({\n selector: 'clr-tabs',\n template: `\n <ul\n class=\"nav\"\n role=\"tablist\"\n [clrKeyFocus]=\"tabLinkElements\"\n clrDirection=\"both\"\n (clrFocusChange)=\"toggleOverflowOnPosition($event)\"\n (focusout)=\"resetKeyFocusCurrentToActive($event)\"\n >\n <!--tab links-->\n @for (link of tabLinkDirectives; track link) {\n @if (link.tabsId === tabsId && !link.inOverflow) {\n <li role=\"presentation\" class=\"nav-item\">\n <ng-container [ngTemplateOutlet]=\"link.templateRefContainer.template\"></ng-container>\n </li>\n }\n }\n @if (tabsService.overflowTabs.length > 0) {\n <div class=\"tabs-overflow bottom-right\" role=\"presentation\" [class.open]=\"popoverService.open\">\n <li role=\"application\" class=\"nav-item\">\n <button\n #tabOverflowTrigger\n class=\"btn btn-link nav-link dropdown-toggle\"\n type=\"button\"\n aria-hidden=\"true\"\n [attr.tabindex]=\"activeTabInOverflow && !popoverService.open ? 0 : -1\"\n [class.active]=\"activeTabInOverflow\"\n [class.open]=\"popoverService.open\"\n (mousedown)=\"_mousedown = true\"\n (focus)=\"openOverflowOnFocus()\"\n (click)=\"toggleOverflowOnClick()\"\n [attr.title]=\"commonStrings.keys.more\"\n >\n <cds-icon\n shape=\"ellipsis-horizontal\"\n [status]=\"popoverService.open ? 'info' : null\"\n [attr.title]=\"commonStrings.keys.more\"\n ></cds-icon>\n </button>\n </li>\n <!--tab links in overflow menu-->\n @if (popoverService.open) {\n <clr-tab-overflow-content\n (document:keydown.escape)=\"closeOnEscapeKey()\"\n (document:click)=\"closeOnOutsideClick($event, tabOverflowTrigger)\"\n (focusout)=\"closeOnFocusOut($event)\"\n >\n @for (link of tabLinkDirectives; track link) {\n @if (link.tabsId === tabsId && link.inOverflow) {\n <ng-container [ngTemplateOutlet]=\"link.templateRefContainer.template\"></ng-container>\n }\n }\n </clr-tab-overflow-content>\n }\n </div>\n }\n <ng-content select=\"clr-tabs-actions\"></ng-content>\n </ul>\n <ng-container #tabContentViewContainer></ng-container>\n `,\n providers: [IfActiveService, TabsService, TABS_ID_PROVIDER],\n hostDirectives: [ClrPopoverHostDirective],\n standalone: false,\n})\nexport class ClrTabs implements AfterContentInit, OnDestroy {\n tabLinkElements: HTMLElement[] = [];\n\n // in order to check focus is triggered by click\n // we are using this _mousedown flag\n _mousedown = false;\n\n @ViewChild(ClrKeyFocus, { static: true }) keyFocus: ClrKeyFocus;\n\n @ContentChildren(ClrTabAction, { read: ElementRef, descendants: true }) tabsActions: QueryList<ElementRef>;\n @ContentChildren(ClrTab) private tabs: QueryList<ClrTab>;\n\n private subscriptions: Subscription[] = [];\n private _tabOverflowEl: HTMLElement;\n private _tabLinkDirectives: ClrTabLink[] = [];\n\n constructor(\n public ifActiveService: IfActiveService,\n public popoverService: ClrPopoverService,\n public tabsService: TabsService,\n @Inject(TABS_ID) public tabsId: number,\n public commonStrings: ClrCommonStringsService\n ) {}\n\n @Input('clrLayout')\n get layout(): TabsLayout | string {\n return this.tabsService.layout;\n }\n set layout(layout: TabsLayout | string) {\n if (\n Object.keys(TabsLayout)\n .map(key => {\n return (TabsLayout as Record<string, any>)[key];\n })\n .indexOf(layout) >= 0\n ) {\n this.tabsService.layout = layout;\n }\n }\n\n get tabLinkDirectives(): ClrTabLink[] {\n return this._tabLinkDirectives;\n }\n\n get activeTabInOverflow() {\n return this.tabsService.overflowTabs.indexOf(this.tabsService.activeTab) > -1;\n }\n\n get activeTabPosition() {\n return this._tabLinkDirectives.findIndex(link => link.active);\n }\n\n get isCurrentInOverflow() {\n return this.keyFocus.current >= this.overflowPosition;\n }\n\n @HostBinding('class.tabs-vertical')\n get isVertical() {\n return this.layout === TabsLayout.VERTICAL;\n }\n\n @ViewChild(ClrTabOverflowContent, { read: ElementRef })\n set tabOverflowEl(value: ElementRef<HTMLElement>) {\n this._tabOverflowEl = value && value.nativeElement;\n if (this.popoverService.open && value) {\n // only when tab overflow view element is registered,\n // we need to move the focus to the first item\n this.keyFocus.focusCurrent();\n }\n }\n\n private get overflowPosition() {\n return this._tabLinkDirectives.filter(link => !link.inOverflow).length;\n }\n\n @ViewChild('tabContentViewContainer', { static: true, read: ViewContainerRef })\n private set tabContentViewContainer(value: ViewContainerRef) {\n this.tabsService.tabContentViewContainer = value;\n }\n\n ngAfterContentInit() {\n this.subscriptions.push(this.listenForTabLinkChanges());\n this.subscriptions.push(this.listedForTabsActionsChanges());\n\n if (typeof this.ifActiveService.current === 'undefined' && this.tabLinkDirectives[0]) {\n this.tabLinkDirectives[0].activate();\n }\n\n // set initial current position\n this.keyFocus.current = this.activeTabPosition;\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(sub => {\n sub.unsubscribe();\n });\n }\n\n toggleOverflowOnPosition(position: number) {\n // we need to check current position to determine\n // whether we need to open the tab overflow or not\n this.popoverService.open = position >= this.overflowPosition;\n }\n\n resetKeyFocusCurrentToActive(event: FocusEvent) {\n const keyFocusContainsFocus = this.keyFocus.nativeElement.contains(event.relatedTarget as HTMLElement);\n if (!keyFocusContainsFocus && this.keyFocus.current !== this.activeTabPosition) {\n this.keyFocus.current = this.activeTabPosition;\n }\n }\n\n toggleOverflowOnClick() {\n if (this.isCurrentInOverflow && this.popoverService.open) {\n this.keyFocus.moveTo(this.overflowPosition - 1);\n } else {\n this.keyFocus.moveTo(this.overflowPosition);\n }\n\n // once click handler completes running,\n // reset the _mousedown flag\n this._mousedown = false;\n }\n\n openOverflowOnFocus() {\n // This method should be called only on keyboard generated focus\n // when the active tab is in the overflow\n if (!this._mousedown && !this.popoverService.open) {\n this.keyFocus.moveTo(this.activeTabPosition);\n }\n }\n\n closeOnFocusOut(event: FocusEvent) {\n if (\n !this._tabOverflowEl.contains(event.relatedTarget as HTMLElement) &&\n this.popoverService.open &&\n !this._mousedown\n ) {\n this.popoverService.open = false;\n\n // if the focus is out of overflow and lands on the active tab link\n // which is currently visible, set the key focus current to activeTabPosition\n if (this.tabLinkElements[this.activeTabPosition] === event.relatedTarget) {\n this.keyFocus.current = this.activeTabPosition;\n }\n }\n }\n\n closeOnEscapeKey() {\n // Move current to the last visible focusable item\n this.keyFocus.moveTo(this.overflowPosition - 1);\n }\n\n closeOnOutsideClick(event: Event, tabOverflowTrigger: HTMLElement) {\n // Exit early if the event target is the trigger element itself or element that's inside the trigger element.\n // This is because we have another handler on the tabOverflowTrigger element itself.\n // As this handler method is on the document level so the event bubbles up to it and conflicts\n // with the tabOverflowTrigger handler resulting in opening the tab overflow and closing it right away consecutively.\n const isTabsAction = this.tabsActions.some(action =>\n (action.nativeElement as HTMLElement).contains(event.target as HTMLElement)\n );\n if (\n event.target === tabOverflowTrigger ||\n tabOverflowTrigger.contains(event.target as HTMLElement) ||\n isTabsAction\n ) {\n return;\n }\n\n // Move current to the last visible focusable item\n if (!this._tabOverflowEl.contains(event.target as HTMLElement) && this.isCurrentInOverflow) {\n this.keyFocus.moveTo(this.overflowPosition - 1);\n }\n }\n\n private setTabLinkElements() {\n this._tabLinkDirectives = this.tabs.map(tab => tab.tabLink);\n this.tabLinkElements = this._tabLinkDirectives.map(tab => tab.el.nativeElement);\n if (this.tabsActions && this.tabsActions) {\n this.tabLinkElements.push(...this.tabsActions.map(action => action.nativeElement));\n }\n }\n\n private listenForTabLinkChanges() {\n return this.tabs.changes\n .pipe(startWith(this.tabs.map(tab => tab.tabLink)))\n .subscribe(() => this.setTabLinkElements());\n }\n\n private listedForTabsActionsChanges() {\n return this.tabsActions.changes.subscribe(() => this.setTabLinkElements());\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, HostBinding, Input } from '@angular/core';\n\nexport type ClrTabsActionsPosition = 'left' | 'right';\n\n@Component({\n selector: 'clr-tabs-actions',\n template: `\n <div class=\"tabs-actions-wrapper\">\n <ng-content></ng-content>\n </div>\n `,\n host: {\n '[class.tabs-actions]': 'true',\n },\n standalone: false,\n})\nexport class ClrTabsActions {\n @Input()\n @HostBinding('attr.position')\n position: ClrTabsActionsPosition = '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 { Directive } from '@angular/core';\nimport { WillyWonka } from '@clr/angular/utils';\n\n@Directive({\n selector: 'clr-tabs',\n standalone: false,\n})\nexport class TabsWillyWonka extends WillyWonka {}\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, Directive, Inject, Optional } from '@angular/core';\nimport { IF_ACTIVE_ID, IfActiveService, OompaLoompa } from '@clr/angular/utils';\n\nimport { TabsWillyWonka } from './tabs-willy-wonka';\n\n@Directive({\n selector: '[clrTabLink], clr-tab-content',\n standalone: false,\n})\nexport class ActiveOompaLoompa extends OompaLoompa {\n private ifActive: IfActiveService;\n private id: number;\n\n constructor(\n cdr: ChangeDetectorRef,\n @Optional() willyWonka: TabsWillyWonka,\n @Inject(IF_ACTIVE_ID) id: number,\n ifActive: IfActiveService\n ) {\n if (!willyWonka) {\n throw new Error('clrTabLink and clr-tab-content should only be used inside of a clr-tabs');\n }\n super(cdr, willyWonka);\n this.ifActive = ifActive;\n this.id = id;\n }\n\n get flavor() {\n return this.ifActive.current === this.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 { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { ClarityIcons, ClrIcon, ellipsisHorizontalIcon } from '@clr/angular/icon';\nimport { ClrConditionalModule, ClrKeyFocusModule, ClrTemplateRefModule } from '@clr/angular/utils';\n\nimport { ActiveOompaLoompa } from './chocolate/active-oompa-loompa';\nimport { TabsWillyWonka } from './chocolate/tabs-willy-wonka';\nimport { ClrTab } from './tab';\nimport { ClrTabAction } from './tab-action.directive';\nimport { ClrTabContent } from './tab-content';\nimport { ClrTabLink } from './tab-link.directive';\nimport { ClrTabOverflowContent } from './tab-overflow-content';\nimport { ClrTabs } from './tabs';\nimport { ClrTabsActions } from './tabs-actions';\n\nexport const CLR_TABS_DIRECTIVES: Type<any>[] = [\n ClrTabContent,\n ClrTab,\n ClrTabs,\n ClrTabOverflowContent,\n ClrTabLink,\n ClrTabAction,\n ClrTabsActions,\n TabsWillyWonka,\n ActiveOompaLoompa,\n];\n\n@NgModule({\n imports: [CommonModule, ClrConditionalModule, ClrIcon, ClrTemplateRefModule, ClrKeyFocusModule],\n declarations: [CLR_TABS_DIRECTIVES],\n exports: [CLR_TABS_DIRECTIVES, ClrConditionalModule],\n})\nexport class ClrTabsModule {\n constructor() {\n ClarityIcons.addIcons(ellipsisHorizontalIcon);\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 './tabs';\nexport * from './tabs-actions';\nexport * from './tab';\nexport * from './tab-content';\nexport * from './tab-overflow-content';\nexport * from './tab-link.directive';\nexport * from './tab-action.directive';\nexport * from './tabs.module';\n\nexport { ClrTabsActionsPosition } from './tabs-actions';\nexport { TabsWillyWonka as ÇlrTabsWillyWonka } from './chocolate/tabs-willy-wonka';\nexport { ActiveOompaLoompa as ÇlrActiveOompaLoompa } from './chocolate/active-oompa-loompa';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.TabsService","i6.ClrTabOverflowContent","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clr-angular-layout-tabs.mjs","sources":["../../../projects/angular/layout/tabs/enums/tabs-layout.enum.ts","../../../projects/angular/layout/tabs/providers/tabs.service.ts","../../../projects/angular/layout/tabs/tab-content.ts","../../../projects/angular/layout/tabs/tabs-id.provider.ts","../../../projects/angular/layout/tabs/tab-link.directive.ts","../../../projects/angular/layout/tabs/tab.ts","../../../projects/angular/layout/tabs/tab-action.directive.ts","../../../projects/angular/layout/tabs/tab-overflow-content.ts","../../../projects/angular/layout/tabs/tabs.ts","../../../projects/angular/layout/tabs/tabs-actions.ts","../../../projects/angular/layout/tabs/chocolate/tabs-willy-wonka.ts","../../../projects/angular/layout/tabs/chocolate/active-oompa-loompa.ts","../../../projects/angular/layout/tabs/tabs.module.ts","../../../projects/angular/layout/tabs/index.ts","../../../projects/angular/layout/tabs/clr-angular-layout-tabs.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\nexport enum TabsLayout {\n HORIZONTAL = 'horizontal',\n VERTICAL = 'vertical',\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, ViewContainerRef } from '@angular/core';\n\nimport { TabsLayout } from '../enums/tabs-layout.enum';\nimport { ClrTab } from '../tab';\n\n@Injectable()\nexport class TabsService {\n layout: TabsLayout | string = TabsLayout.HORIZONTAL;\n tabContentViewContainer: ViewContainerRef;\n\n private _children: ClrTab[] = [];\n\n get children() {\n return this._children;\n }\n\n get activeTab() {\n return this.children.find((tab: ClrTab) => {\n return tab.active;\n });\n }\n\n get overflowTabs() {\n if (this.layout === TabsLayout.VERTICAL) {\n return [];\n } else {\n return this.children.filter((tab: ClrTab) => tab.tabLink.inOverflow === true);\n }\n }\n\n register(tab: ClrTab) {\n this._children.push(tab);\n }\n\n unregister(tab: ClrTab) {\n const index = this.children.indexOf(tab);\n if (index > -1) {\n this.children.splice(index, 1);\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, EmbeddedViewRef, Inject, Input, OnDestroy, TemplateRef, ViewChild } from '@angular/core';\nimport { IF_ACTIVE_ID, IfActiveService } from '@clr/angular/utils';\n\nimport { TabsService } from './providers/tabs.service';\n\nlet nbTabContentComponents = 0;\n\n@Component({\n selector: 'clr-tab-content',\n template: `\n <ng-template #tabContentProjectedRef>\n <section\n [id]=\"tabContentId\"\n role=\"tabpanel\"\n class=\"tab-content\"\n [class.active]=\"active\"\n [hidden]=\"!active\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-hidden]=\"!active\"\n >\n <ng-content></ng-content>\n </section>\n </ng-template>\n `,\n standalone: false,\n})\nexport class ClrTabContent implements OnDestroy {\n @Input('id') tabContentId: string;\n\n private viewRef: EmbeddedViewRef<ClrTabContent>;\n\n constructor(\n public ifActiveService: IfActiveService,\n @Inject(IF_ACTIVE_ID) public id: number,\n private tabsService: TabsService\n ) {\n if (!this.tabContentId) {\n this.tabContentId = 'clr-tab-content-' + nbTabContentComponents++;\n }\n }\n\n get active() {\n return this.ifActiveService.current === this.id;\n }\n\n get ariaLabelledBy(): string {\n return this.tabsService.children.find(tab => tab.tabLink.id === this.id)?.tabLink?.tabLinkId;\n }\n\n // The template must be applied on the top-down phase of view-child initialization to prevent\n // components in the content from initializing before a content container exists.\n // Some child components need their container for sizing calculations.\n @ViewChild('tabContentProjectedRef', { static: true })\n private set templateRef(value: TemplateRef<ClrTabContent>) {\n this.viewRef = this.tabsService.tabContentViewContainer.createEmbeddedView(value);\n }\n\n ngOnDestroy(): void {\n const index = this.tabsService.tabContentViewContainer.indexOf(this.viewRef);\n if (index > -1) {\n this.tabsService.tabContentViewContainer.remove(index);\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 { InjectionToken } from '@angular/core';\n\nlet nbTabsComponent = 0;\n\nexport const TABS_ID = new InjectionToken<number>('TABS_ID');\n\nexport function tokenFactory() {\n return 'clr-tabs-' + nbTabsComponent++;\n}\n\nexport const TABS_ID_PROVIDER = {\n provide: TABS_ID,\n useFactory: tokenFactory,\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, HostBinding, HostListener, Inject, Input, ViewContainerRef } from '@angular/core';\nimport { IF_ACTIVE_ID, IfActiveService, TemplateRefContainer } from '@clr/angular/utils';\n\nimport { TabsLayout } from './enums/tabs-layout.enum';\nimport { TabsService } from './providers/tabs.service';\nimport { TABS_ID } from './tabs-id.provider';\n\nlet nbTabLinkComponents = 0;\n\n@Directive({\n selector: '[clrTabLink]',\n host: {\n '[class.btn]': 'true',\n role: 'tab',\n type: 'button',\n },\n standalone: false,\n})\nexport class ClrTabLink {\n @Input('id') @HostBinding('id') tabLinkId: string;\n\n templateRefContainer: TemplateRefContainer;\n\n private _inOverflow: boolean;\n\n constructor(\n public ifActiveService: IfActiveService,\n @Inject(IF_ACTIVE_ID) readonly id: number,\n public el: ElementRef<HTMLElement>,\n viewContainerRef: ViewContainerRef,\n private tabsService: TabsService,\n @Inject(TABS_ID) public tabsId: number\n ) {\n if (!this.tabLinkId) {\n this.tabLinkId = 'clr-tab-link-' + nbTabLinkComponents++;\n }\n\n // Tab links can be rendered in one of two places: in the main area or inside the overflow dropdown menu.\n // Here, we create a container so that its template can be used to create embeddedView on the fly.\n // See TabsService's renderView() method and how it's used in Tabs class for an example.\n this.templateRefContainer = viewContainerRef.createComponent(TemplateRefContainer, {\n projectableNodes: [[el.nativeElement]],\n }).instance;\n }\n\n @Input('clrTabLinkInOverflow')\n get inOverflow(): boolean {\n return this._inOverflow && this.tabsService.layout !== TabsLayout.VERTICAL;\n }\n set inOverflow(inOverflow) {\n this._inOverflow = inOverflow;\n }\n\n @HostBinding('class.btn-link')\n @HostBinding('class.nav-link')\n get addLinkClasses() {\n return !this.inOverflow;\n }\n\n @HostBinding('attr.aria-controls')\n get ariaControls(): string {\n return this.tabsService.children.find(tab => tab.tabLink === this)?.tabContent?.tabContentId;\n }\n\n @HostBinding('class.active')\n @HostBinding('attr.aria-selected')\n get active() {\n return this.ifActiveService.current === this.id;\n }\n\n @HostBinding('attr.tabindex')\n get tabindex(): 0 | -1 {\n return this.active ? 0 : -1;\n }\n\n @HostListener('click')\n activate() {\n this.ifActiveService.current = this.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 { Component, ContentChild, Inject } from '@angular/core';\nimport { IF_ACTIVE_ID, IF_ACTIVE_ID_PROVIDER, IfActiveService } from '@clr/angular/utils';\n\nimport { TabsService } from './providers/tabs.service';\nimport { ClrTabContent } from './tab-content';\nimport { ClrTabLink } from './tab-link.directive';\n\n@Component({\n selector: 'clr-tab',\n template: `<ng-content></ng-content>`,\n providers: [IF_ACTIVE_ID_PROVIDER],\n standalone: false,\n})\nexport class ClrTab {\n @ContentChild(ClrTabLink, { static: true }) tabLink: ClrTabLink;\n @ContentChild(ClrTabContent, { static: true }) tabContent: ClrTabContent;\n\n constructor(\n public ifActiveService: IfActiveService,\n @Inject(IF_ACTIVE_ID) public id: number,\n private tabsService: TabsService\n ) {\n tabsService.register(this);\n }\n\n get active() {\n return this.ifActiveService.current === this.id;\n }\n\n ngOnDestroy() {\n this.tabsService.unregister(this);\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 } from '@angular/core';\n\n@Directive({\n selector: '[clrTabAction]',\n host: {\n tabindex: '0',\n },\n standalone: false,\n})\nexport class ClrTabAction {}\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-tab-overflow-content',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.dropdown-menu]': 'true',\n },\n standalone: false,\n})\nexport class ClrTabOverflowContent {}\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 QueryList,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ClrPopoverHostDirective, ClrPopoverService } from '@clr/angular/popover/common';\nimport { ClrCommonStringsService, ClrKeyFocus, IfActiveService } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\n\nimport { TabsLayout } from './enums/tabs-layout.enum';\nimport { TabsService } from './providers/tabs.service';\nimport { ClrTab } from './tab';\nimport { ClrTabAction } from './tab-action.directive';\nimport { ClrTabLink } from './tab-link.directive';\nimport { ClrTabOverflowContent } from './tab-overflow-content';\nimport { TABS_ID, TABS_ID_PROVIDER } from './tabs-id.provider';\n@Component({\n selector: 'clr-tabs',\n template: `\n <ul\n class=\"nav\"\n role=\"tablist\"\n [clrKeyFocus]=\"tabLinkElements\"\n clrDirection=\"both\"\n (clrFocusChange)=\"toggleOverflowOnPosition($event)\"\n (focusout)=\"resetKeyFocusCurrentToActive($event)\"\n >\n <!--tab links-->\n @for (link of tabLinkDirectives; track link) {\n @if (link.tabsId === tabsId && !link.inOverflow) {\n <li role=\"presentation\" class=\"nav-item\">\n <ng-container [ngTemplateOutlet]=\"link.templateRefContainer.template\"></ng-container>\n </li>\n }\n }\n @if (tabsService.overflowTabs.length > 0) {\n <div class=\"tabs-overflow bottom-right\" role=\"presentation\" [class.open]=\"popoverService.open\">\n <li role=\"application\" class=\"nav-item\">\n <button\n #tabOverflowTrigger\n class=\"btn btn-link nav-link dropdown-toggle\"\n type=\"button\"\n aria-hidden=\"true\"\n [attr.tabindex]=\"activeTabInOverflow && !popoverService.open ? 0 : -1\"\n [class.active]=\"activeTabInOverflow\"\n [class.open]=\"popoverService.open\"\n (mousedown)=\"_mousedown = true\"\n (focus)=\"openOverflowOnFocus()\"\n (click)=\"toggleOverflowOnClick()\"\n [attr.title]=\"commonStrings.keys.more\"\n >\n <cds-icon\n shape=\"ellipsis-horizontal\"\n [status]=\"popoverService.open ? 'info' : null\"\n [attr.title]=\"commonStrings.keys.more\"\n ></cds-icon>\n </button>\n </li>\n <!--tab links in overflow menu-->\n @if (popoverService.open) {\n <clr-tab-overflow-content\n (document:keydown.escape)=\"closeOnEscapeKey()\"\n (document:click)=\"closeOnOutsideClick($event, tabOverflowTrigger)\"\n (focusout)=\"closeOnFocusOut($event)\"\n >\n @for (link of tabLinkDirectives; track link) {\n @if (link.tabsId === tabsId && link.inOverflow) {\n <ng-container [ngTemplateOutlet]=\"link.templateRefContainer.template\"></ng-container>\n }\n }\n </clr-tab-overflow-content>\n }\n </div>\n }\n <ng-content select=\"clr-tabs-actions\"></ng-content>\n </ul>\n <ng-container #tabContentViewContainer></ng-container>\n `,\n providers: [IfActiveService, TabsService, TABS_ID_PROVIDER],\n hostDirectives: [ClrPopoverHostDirective],\n standalone: false,\n})\nexport class ClrTabs implements AfterContentInit, OnDestroy {\n tabLinkElements: HTMLElement[] = [];\n\n // in order to check focus is triggered by click\n // we are using this _mousedown flag\n _mousedown = false;\n\n @ViewChild(ClrKeyFocus, { static: true }) keyFocus: ClrKeyFocus;\n\n @ContentChildren(ClrTabAction, { read: ElementRef, descendants: true }) tabsActions: QueryList<ElementRef>;\n @ContentChildren(ClrTab) private tabs: QueryList<ClrTab>;\n\n private subscriptions: Subscription[] = [];\n private _tabOverflowEl: HTMLElement;\n private _tabLinkDirectives: ClrTabLink[] = [];\n\n constructor(\n public ifActiveService: IfActiveService,\n public popoverService: ClrPopoverService,\n public tabsService: TabsService,\n @Inject(TABS_ID) public tabsId: number,\n public commonStrings: ClrCommonStringsService\n ) {}\n\n @Input('clrLayout')\n get layout(): TabsLayout | string {\n return this.tabsService.layout;\n }\n set layout(layout: TabsLayout | string) {\n if (\n Object.keys(TabsLayout)\n .map(key => {\n return (TabsLayout as Record<string, any>)[key];\n })\n .indexOf(layout) >= 0\n ) {\n this.tabsService.layout = layout;\n }\n }\n\n get tabLinkDirectives(): ClrTabLink[] {\n return this._tabLinkDirectives;\n }\n\n get activeTabInOverflow() {\n return this.tabsService.overflowTabs.indexOf(this.tabsService.activeTab) > -1;\n }\n\n get activeTabPosition() {\n return this._tabLinkDirectives.findIndex(link => link.active);\n }\n\n get isCurrentInOverflow() {\n return this.keyFocus.current >= this.overflowPosition;\n }\n\n @HostBinding('class.tabs-vertical')\n get isVertical() {\n return this.layout === TabsLayout.VERTICAL;\n }\n\n @ViewChild(ClrTabOverflowContent, { read: ElementRef })\n set tabOverflowEl(value: ElementRef<HTMLElement>) {\n this._tabOverflowEl = value && value.nativeElement;\n if (this.popoverService.open && value) {\n // only when tab overflow view element is registered,\n // we need to move the focus to the first item\n this.keyFocus.focusCurrent();\n }\n }\n\n private get overflowPosition() {\n return this._tabLinkDirectives.filter(link => !link.inOverflow).length;\n }\n\n @ViewChild('tabContentViewContainer', { static: true, read: ViewContainerRef })\n private set tabContentViewContainer(value: ViewContainerRef) {\n this.tabsService.tabContentViewContainer = value;\n }\n\n ngAfterContentInit() {\n this.subscriptions.push(this.listenForTabLinkChanges());\n this.subscriptions.push(this.listedForTabsActionsChanges());\n\n if (typeof this.ifActiveService.current === 'undefined' && this.tabLinkDirectives[0]) {\n this.tabLinkDirectives[0].activate();\n }\n\n // set initial current position\n this.keyFocus.current = this.activeTabPosition;\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(sub => {\n sub.unsubscribe();\n });\n }\n\n toggleOverflowOnPosition(position: number) {\n // we need to check current position to determine\n // whether we need to open the tab overflow or not\n this.popoverService.open = position >= this.overflowPosition;\n }\n\n resetKeyFocusCurrentToActive(event: FocusEvent) {\n const keyFocusContainsFocus = this.keyFocus.nativeElement.contains(event.relatedTarget as HTMLElement);\n if (!keyFocusContainsFocus && this.keyFocus.current !== this.activeTabPosition) {\n this.keyFocus.current = this.activeTabPosition;\n }\n }\n\n toggleOverflowOnClick() {\n if (this.isCurrentInOverflow && this.popoverService.open) {\n this.keyFocus.moveTo(this.overflowPosition - 1);\n } else {\n this.keyFocus.moveTo(this.overflowPosition);\n }\n\n // once click handler completes running,\n // reset the _mousedown flag\n this._mousedown = false;\n }\n\n openOverflowOnFocus() {\n // This method should be called only on keyboard generated focus\n // when the active tab is in the overflow\n if (!this._mousedown && !this.popoverService.open) {\n this.keyFocus.moveTo(this.activeTabPosition);\n }\n }\n\n closeOnFocusOut(event: FocusEvent) {\n if (\n !this._tabOverflowEl.contains(event.relatedTarget as HTMLElement) &&\n this.popoverService.open &&\n !this._mousedown\n ) {\n this.popoverService.open = false;\n\n // if the focus is out of overflow and lands on the active tab link\n // which is currently visible, set the key focus current to activeTabPosition\n if (this.tabLinkElements[this.activeTabPosition] === event.relatedTarget) {\n this.keyFocus.current = this.activeTabPosition;\n }\n }\n }\n\n closeOnEscapeKey() {\n // Move current to the last visible focusable item\n this.keyFocus.moveTo(this.overflowPosition - 1);\n }\n\n closeOnOutsideClick(event: Event, tabOverflowTrigger: HTMLElement) {\n // Exit early if the event target is the trigger element itself or element that's inside the trigger element.\n // This is because we have another handler on the tabOverflowTrigger element itself.\n // As this handler method is on the document level so the event bubbles up to it and conflicts\n // with the tabOverflowTrigger handler resulting in opening the tab overflow and closing it right away consecutively.\n const isTabsAction = this.tabsActions.some(action =>\n (action.nativeElement as HTMLElement).contains(event.target as HTMLElement)\n );\n if (\n event.target === tabOverflowTrigger ||\n tabOverflowTrigger.contains(event.target as HTMLElement) ||\n isTabsAction\n ) {\n return;\n }\n\n // Move current to the last visible focusable item\n if (!this._tabOverflowEl.contains(event.target as HTMLElement) && this.isCurrentInOverflow) {\n this.keyFocus.moveTo(this.overflowPosition - 1);\n }\n }\n\n private setTabLinkElements() {\n this._tabLinkDirectives = this.tabs.map(tab => tab.tabLink);\n this.tabLinkElements = this._tabLinkDirectives.map(tab => tab.el.nativeElement);\n if (this.tabsActions && this.tabsActions) {\n this.tabLinkElements.push(...this.tabsActions.map(action => action.nativeElement));\n }\n }\n\n private listenForTabLinkChanges() {\n return this.tabs.changes\n .pipe(startWith(this.tabs.map(tab => tab.tabLink)))\n .subscribe(() => this.setTabLinkElements());\n }\n\n private listedForTabsActionsChanges() {\n return this.tabsActions.changes.subscribe(() => this.setTabLinkElements());\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, HostBinding, Input } from '@angular/core';\n\nexport type ClrTabsActionsPosition = 'left' | 'right';\n\n@Component({\n selector: 'clr-tabs-actions',\n template: `\n <div class=\"tabs-actions-wrapper\">\n <ng-content></ng-content>\n </div>\n `,\n host: {\n '[class.tabs-actions]': 'true',\n },\n standalone: false,\n})\nexport class ClrTabsActions {\n @Input()\n @HostBinding('attr.position')\n position: ClrTabsActionsPosition = '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 { Directive } from '@angular/core';\nimport { WillyWonka } from '@clr/angular/utils';\n\n@Directive({\n selector: 'clr-tabs',\n standalone: false,\n})\nexport class TabsWillyWonka extends WillyWonka {}\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, Directive, Inject, Optional } from '@angular/core';\nimport { IF_ACTIVE_ID, IfActiveService, OompaLoompa } from '@clr/angular/utils';\n\nimport { TabsWillyWonka } from './tabs-willy-wonka';\n\n@Directive({\n selector: '[clrTabLink], clr-tab-content',\n standalone: false,\n})\nexport class ActiveOompaLoompa extends OompaLoompa {\n private ifActive: IfActiveService;\n private id: number;\n\n constructor(\n cdr: ChangeDetectorRef,\n @Optional() willyWonka: TabsWillyWonka,\n @Inject(IF_ACTIVE_ID) id: number,\n ifActive: IfActiveService\n ) {\n if (!willyWonka) {\n throw new Error('clrTabLink and clr-tab-content should only be used inside of a clr-tabs');\n }\n super(cdr, willyWonka);\n this.ifActive = ifActive;\n this.id = id;\n }\n\n get flavor() {\n return this.ifActive.current === this.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 { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { ClarityIcons, ClrIcon, ellipsisHorizontalIcon } from '@clr/angular/icon';\nimport { ClrConditionalModule, ClrKeyFocusModule, ClrTemplateRefModule } from '@clr/angular/utils';\n\nimport { ActiveOompaLoompa } from './chocolate/active-oompa-loompa';\nimport { TabsWillyWonka } from './chocolate/tabs-willy-wonka';\nimport { ClrTab } from './tab';\nimport { ClrTabAction } from './tab-action.directive';\nimport { ClrTabContent } from './tab-content';\nimport { ClrTabLink } from './tab-link.directive';\nimport { ClrTabOverflowContent } from './tab-overflow-content';\nimport { ClrTabs } from './tabs';\nimport { ClrTabsActions } from './tabs-actions';\n\nexport const CLR_TABS_DIRECTIVES: Type<any>[] = [\n ClrTabContent,\n ClrTab,\n ClrTabs,\n ClrTabOverflowContent,\n ClrTabLink,\n ClrTabAction,\n ClrTabsActions,\n TabsWillyWonka,\n ActiveOompaLoompa,\n];\n\n@NgModule({\n imports: [CommonModule, ClrConditionalModule, ClrIcon, ClrTemplateRefModule, ClrKeyFocusModule],\n declarations: [CLR_TABS_DIRECTIVES],\n exports: [CLR_TABS_DIRECTIVES, ClrConditionalModule],\n})\nexport class ClrTabsModule {\n constructor() {\n ClarityIcons.addIcons(ellipsisHorizontalIcon);\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 './tabs';\nexport * from './tabs-actions';\nexport * from './tab';\nexport * from './tab-content';\nexport * from './tab-overflow-content';\nexport * from './tab-link.directive';\nexport * from './tab-action.directive';\nexport * from './tabs.module';\nexport * from './tabs-actions';\nexport * from './chocolate/tabs-willy-wonka';\nexport * from './chocolate/active-oompa-loompa';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.TabsService","i6.ClrTabOverflowContent","i2"],"mappings":"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"}
|