@clr/angular 18.3.0 → 18.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/fesm2022/clr-angular-accordion.mjs +28 -28
  2. package/fesm2022/clr-angular-accordion.mjs.map +1 -1
  3. package/fesm2022/clr-angular-button.mjs +27 -27
  4. package/fesm2022/clr-angular-button.mjs.map +1 -1
  5. package/fesm2022/clr-angular-card.mjs +417 -0
  6. package/fesm2022/clr-angular-card.mjs.map +1 -0
  7. package/fesm2022/clr-angular-collapsible-panel.mjs +6 -6
  8. package/fesm2022/clr-angular-collapsible-panel.mjs.map +1 -1
  9. package/fesm2022/clr-angular-data-datagrid.mjs +1105 -352
  10. package/fesm2022/clr-angular-data-datagrid.mjs.map +1 -1
  11. package/fesm2022/clr-angular-data-stack-view.mjs +23 -23
  12. package/fesm2022/clr-angular-data-stack-view.mjs.map +1 -1
  13. package/fesm2022/clr-angular-data-tree-view.mjs +283 -48
  14. package/fesm2022/clr-angular-data-tree-view.mjs.map +1 -1
  15. package/fesm2022/clr-angular-data.mjs +4 -4
  16. package/fesm2022/clr-angular-data.mjs.map +1 -1
  17. package/fesm2022/clr-angular-emphasis-alert.mjs +26 -26
  18. package/fesm2022/clr-angular-emphasis-alert.mjs.map +1 -1
  19. package/fesm2022/clr-angular-emphasis-badge.mjs +3 -3
  20. package/fesm2022/clr-angular-emphasis-badge.mjs.map +1 -1
  21. package/fesm2022/clr-angular-emphasis-label.mjs +3 -3
  22. package/fesm2022/clr-angular-emphasis-label.mjs.map +1 -1
  23. package/fesm2022/clr-angular-emphasis.mjs +4 -4
  24. package/fesm2022/clr-angular-emphasis.mjs.map +1 -1
  25. package/fesm2022/clr-angular-forms-checkbox.mjs +13 -13
  26. package/fesm2022/clr-angular-forms-checkbox.mjs.map +1 -1
  27. package/fesm2022/clr-angular-forms-combobox.mjs +35 -35
  28. package/fesm2022/clr-angular-forms-combobox.mjs.map +1 -1
  29. package/fesm2022/clr-angular-forms-common.mjs +69 -69
  30. package/fesm2022/clr-angular-forms-common.mjs.map +1 -1
  31. package/fesm2022/clr-angular-forms-datalist.mjs +17 -17
  32. package/fesm2022/clr-angular-forms-datalist.mjs.map +1 -1
  33. package/fesm2022/clr-angular-forms-datepicker.mjs +73 -73
  34. package/fesm2022/clr-angular-forms-datepicker.mjs.map +1 -1
  35. package/fesm2022/clr-angular-forms-file-input.mjs +36 -36
  36. package/fesm2022/clr-angular-forms-file-input.mjs.map +1 -1
  37. package/fesm2022/clr-angular-forms-input.mjs +10 -10
  38. package/fesm2022/clr-angular-forms-input.mjs.map +1 -1
  39. package/fesm2022/clr-angular-forms-number-input.mjs +11 -11
  40. package/fesm2022/clr-angular-forms-number-input.mjs.map +1 -1
  41. package/fesm2022/clr-angular-forms-password.mjs +11 -11
  42. package/fesm2022/clr-angular-forms-password.mjs.map +1 -1
  43. package/fesm2022/clr-angular-forms-radio.mjs +13 -13
  44. package/fesm2022/clr-angular-forms-radio.mjs.map +1 -1
  45. package/fesm2022/clr-angular-forms-range.mjs +10 -10
  46. package/fesm2022/clr-angular-forms-range.mjs.map +1 -1
  47. package/fesm2022/clr-angular-forms-select.mjs +10 -10
  48. package/fesm2022/clr-angular-forms-select.mjs.map +1 -1
  49. package/fesm2022/clr-angular-forms-textarea.mjs +10 -10
  50. package/fesm2022/clr-angular-forms-textarea.mjs.map +1 -1
  51. package/fesm2022/clr-angular-forms.mjs +4 -4
  52. package/fesm2022/clr-angular-forms.mjs.map +1 -1
  53. package/fesm2022/clr-angular-icon.mjs +81 -41
  54. package/fesm2022/clr-angular-icon.mjs.map +1 -1
  55. package/fesm2022/clr-angular-layout-breadcrumbs.mjs +10 -10
  56. package/fesm2022/clr-angular-layout-breadcrumbs.mjs.map +1 -1
  57. package/fesm2022/clr-angular-layout-main-container.mjs +7 -7
  58. package/fesm2022/clr-angular-layout-main-container.mjs.map +1 -1
  59. package/fesm2022/clr-angular-layout-nav.mjs +22 -22
  60. package/fesm2022/clr-angular-layout-nav.mjs.map +1 -1
  61. package/fesm2022/clr-angular-layout-tabs.mjs +35 -35
  62. package/fesm2022/clr-angular-layout-tabs.mjs.map +1 -1
  63. package/fesm2022/clr-angular-layout-vertical-nav.mjs +31 -31
  64. package/fesm2022/clr-angular-layout-vertical-nav.mjs.map +1 -1
  65. package/fesm2022/clr-angular-layout.mjs +4 -4
  66. package/fesm2022/clr-angular-layout.mjs.map +1 -1
  67. package/fesm2022/clr-angular-modal.mjs +26 -26
  68. package/fesm2022/clr-angular-modal.mjs.map +1 -1
  69. package/fesm2022/clr-angular-popover-common.mjs +69 -34
  70. package/fesm2022/clr-angular-popover-common.mjs.map +1 -1
  71. package/fesm2022/clr-angular-popover-dropdown.mjs +63 -26
  72. package/fesm2022/clr-angular-popover-dropdown.mjs.map +1 -1
  73. package/fesm2022/clr-angular-popover-signpost.mjs +27 -25
  74. package/fesm2022/clr-angular-popover-signpost.mjs.map +1 -1
  75. package/fesm2022/clr-angular-popover-tooltip.mjs +19 -19
  76. package/fesm2022/clr-angular-popover-tooltip.mjs.map +1 -1
  77. package/fesm2022/clr-angular-popover.mjs +4 -4
  78. package/fesm2022/clr-angular-popover.mjs.map +1 -1
  79. package/fesm2022/clr-angular-progress-progress-bars.mjs +7 -7
  80. package/fesm2022/clr-angular-progress-progress-bars.mjs.map +1 -1
  81. package/fesm2022/clr-angular-progress-spinner.mjs +7 -7
  82. package/fesm2022/clr-angular-progress-spinner.mjs.map +1 -1
  83. package/fesm2022/clr-angular-stepper.mjs +31 -31
  84. package/fesm2022/clr-angular-stepper.mjs.map +1 -1
  85. package/fesm2022/clr-angular-timeline.mjs +23 -23
  86. package/fesm2022/clr-angular-timeline.mjs.map +1 -1
  87. package/fesm2022/clr-angular-utils-conditional.mjs +16 -16
  88. package/fesm2022/clr-angular-utils-conditional.mjs.map +1 -1
  89. package/fesm2022/clr-angular-utils-loading.mjs +7 -7
  90. package/fesm2022/clr-angular-utils-loading.mjs.map +1 -1
  91. package/fesm2022/clr-angular-utils.mjs +144 -152
  92. package/fesm2022/clr-angular-utils.mjs.map +1 -1
  93. package/fesm2022/clr-angular-wizard.mjs +51 -51
  94. package/fesm2022/clr-angular-wizard.mjs.map +1 -1
  95. package/fesm2022/clr-angular.mjs +9 -4
  96. package/fesm2022/clr-angular.mjs.map +1 -1
  97. package/package.json +9 -5
  98. package/types/clr-angular-card.d.ts +110 -0
  99. package/types/clr-angular-data-datagrid.d.ts +293 -17
  100. package/types/clr-angular-data-tree-view.d.ts +126 -88
  101. package/types/clr-angular-forms-datepicker.d.ts +1 -1
  102. package/types/clr-angular-forms-file-input.d.ts +1 -1
  103. package/types/clr-angular-icon.d.ts +14 -2
  104. package/types/clr-angular-popover-common.d.ts +6 -0
  105. package/types/clr-angular-popover-dropdown.d.ts +33 -4
  106. package/types/clr-angular-utils.d.ts +61 -20
  107. package/types/clr-angular.d.ts +8 -6
  108. package/schematics/vitest.config.d.ts +0 -2
  109. package/schematics/vitest.config.js +0 -17
  110. package/schematics/vitest.config.js.map +0 -1
@@ -16,10 +16,10 @@ import { CommonModule } from '@angular/common';
16
16
  * The full license information can be found in LICENSE in the root directory of this project.
17
17
  */
18
18
  class ClrVerticalNavGroupChildren {
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrVerticalNavGroupChildren, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: ClrVerticalNavGroupChildren, isStandalone: false, selector: "clr-vertical-nav-group-children", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrVerticalNavGroupChildren, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: ClrVerticalNavGroupChildren, isStandalone: false, selector: "clr-vertical-nav-group-children", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrVerticalNavGroupChildren, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrVerticalNavGroupChildren, decorators: [{
23
23
  type: Component,
24
24
  args: [{
25
25
  selector: 'clr-vertical-nav-group-children',
@@ -44,10 +44,10 @@ class VerticalNavGroupService {
44
44
  expand() {
45
45
  this._expandChange.next(true);
46
46
  }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: VerticalNavGroupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
48
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: VerticalNavGroupService }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VerticalNavGroupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
48
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VerticalNavGroupService }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: VerticalNavGroupService, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VerticalNavGroupService, decorators: [{
51
51
  type: Injectable
52
52
  }] });
53
53
 
@@ -67,10 +67,10 @@ class VerticalNavGroupRegistrationService {
67
67
  unregisterNavGroup() {
68
68
  this.navGroupCount--;
69
69
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: VerticalNavGroupRegistrationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
71
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: VerticalNavGroupRegistrationService }); }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VerticalNavGroupRegistrationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
71
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VerticalNavGroupRegistrationService }); }
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: VerticalNavGroupRegistrationService, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VerticalNavGroupRegistrationService, decorators: [{
74
74
  type: Injectable
75
75
  }] });
76
76
 
@@ -119,10 +119,10 @@ class VerticalNavService {
119
119
  this._collapsed = value;
120
120
  this._collapsedChanged.next(value);
121
121
  }
122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: VerticalNavService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
123
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: VerticalNavService }); }
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VerticalNavService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
123
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VerticalNavService }); }
124
124
  }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: VerticalNavService, decorators: [{
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VerticalNavService, decorators: [{
126
126
  type: Injectable
127
127
  }] });
128
128
 
@@ -248,8 +248,8 @@ class ClrVerticalNavGroup {
248
248
  this.expandGroup();
249
249
  }
250
250
  }
251
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrVerticalNavGroup, deps: [{ token: i1.IfExpandService }, { token: VerticalNavGroupRegistrationService }, { token: VerticalNavGroupService }, { token: VerticalNavService }, { token: i1.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component }); }
252
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: ClrVerticalNavGroup, isStandalone: false, selector: "clr-vertical-nav-group", inputs: { userExpandedInput: ["clrVerticalNavGroupExpanded", "userExpandedInput"] }, outputs: { expandedChange: "clrVerticalNavGroupExpandedChange" }, host: { properties: { "class.is-expanded": "this.expanded" }, classAttribute: "nav-group" }, providers: [IfExpandService, VerticalNavGroupService], ngImport: i0, template: "<!--\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\n<div class=\"nav-group-content\">\n <ng-content select=\"[clrVerticalNavLink]\"></ng-content>\n <button class=\"nav-group-trigger\" type=\"button\" [attr.aria-expanded]=\"expanded\" (click)=\"toggleExpand()\">\n <ng-content select=\"[clrVerticalNavIcon]\"></ng-content>\n <div class=\"nav-group-text\">\n <ng-content></ng-content>\n </div>\n <cds-icon shape=\"angle\" class=\"nav-group-trigger-icon\" [direction]=\"expanded ? 'down' : 'right'\"></cds-icon>\n </button>\n</div>\n<!--TODO: This animation needs to be added to the clr-vertical-nav-group-children component-->\n<div class=\"nav-group-children\" [@clrExpand]=\"expandAnimationState\" (@clrExpand.done)=\"expandAnimationDone($event)\">\n <ng-content select=\"[clrIfExpanded], clr-vertical-nav-group-children\"></ng-content>\n</div>\n", dependencies: [{ kind: "component", type: i5.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }], animations: [
251
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrVerticalNavGroup, deps: [{ token: i1.IfExpandService }, { token: VerticalNavGroupRegistrationService }, { token: VerticalNavGroupService }, { token: VerticalNavService }, { token: i1.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component }); }
252
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: ClrVerticalNavGroup, isStandalone: false, selector: "clr-vertical-nav-group", inputs: { userExpandedInput: ["clrVerticalNavGroupExpanded", "userExpandedInput"] }, outputs: { expandedChange: "clrVerticalNavGroupExpandedChange" }, host: { properties: { "class.is-expanded": "this.expanded" }, classAttribute: "nav-group" }, providers: [IfExpandService, VerticalNavGroupService], ngImport: i0, template: "<!--\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\n<div class=\"nav-group-content\">\n <ng-content select=\"[clrVerticalNavLink]\"></ng-content>\n <button class=\"nav-group-trigger\" type=\"button\" [attr.aria-expanded]=\"expanded\" (click)=\"toggleExpand()\">\n <ng-content select=\"[clrVerticalNavIcon]\"></ng-content>\n <div class=\"nav-group-text\">\n <ng-content></ng-content>\n </div>\n <cds-icon shape=\"angle\" class=\"nav-group-trigger-icon\" [direction]=\"expanded ? 'down' : 'right'\"></cds-icon>\n </button>\n</div>\n<!--TODO: This animation needs to be added to the clr-vertical-nav-group-children component-->\n<div class=\"nav-group-children\" [@clrExpand]=\"expandAnimationState\" (@clrExpand.done)=\"expandAnimationDone($event)\">\n <ng-content select=\"[clrIfExpanded], clr-vertical-nav-group-children\"></ng-content>\n</div>\n", dependencies: [{ kind: "component", type: i5.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge", "innerOffset"] }], animations: [
253
253
  trigger('clrExpand', [
254
254
  state(EXPANDED_STATE, style({ height: '*' })),
255
255
  state(COLLAPSED_STATE, style({ height: 0, visibility: 'hidden' })),
@@ -257,7 +257,7 @@ class ClrVerticalNavGroup {
257
257
  ]),
258
258
  ] }); }
259
259
  }
260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrVerticalNavGroup, decorators: [{
260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrVerticalNavGroup, decorators: [{
261
261
  type: Component,
262
262
  args: [{ selector: 'clr-vertical-nav-group', providers: [IfExpandService, VerticalNavGroupService], animations: [
263
263
  trigger('clrExpand', [
@@ -296,10 +296,10 @@ class VerticalNavIconService {
296
296
  unregisterIcon() {
297
297
  this._icons--;
298
298
  }
299
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: VerticalNavIconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
300
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: VerticalNavIconService }); }
299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VerticalNavIconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
300
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VerticalNavIconService }); }
301
301
  }
302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: VerticalNavIconService, decorators: [{
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: VerticalNavIconService, decorators: [{
303
303
  type: Injectable
304
304
  }] });
305
305
 
@@ -351,10 +351,10 @@ class ClrVerticalNav {
351
351
  toggleByButton() {
352
352
  this.collapsed = !this.collapsed;
353
353
  }
354
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrVerticalNav, deps: [{ token: VerticalNavService }, { token: VerticalNavIconService }, { token: VerticalNavGroupRegistrationService }, { token: i1.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component }); }
355
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ClrVerticalNav, isStandalone: false, selector: "clr-vertical-nav", inputs: { toggleLabel: ["clrVerticalNavToggleLabel", "toggleLabel"], collapsible: ["clrVerticalNavCollapsible", "collapsible"], collapsed: ["clrVerticalNavCollapsed", "collapsed"] }, outputs: { _collapsedChanged: "clrVerticalNavCollapsedChange" }, host: { properties: { "class.is-collapsed": "collapsed", "class.has-nav-groups": "hasNavGroups", "class.has-icons": "hasIcons" }, classAttribute: "clr-vertical-nav" }, providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService], ngImport: i0, template: "<!--\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\n@if (collapsible) {\n<button\n type=\"button\"\n class=\"nav-trigger\"\n [class.on-collapse]=\"collapsed\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\n (click)=\"toggleByButton()\"\n>\n <cds-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></cds-icon>\n</button>\n}\n<div [id]=\"contentId\" class=\"nav-content\">\n <ng-content></ng-content>\n @if (collapsible && collapsed) {\n <button\n type=\"button\"\n (click)=\"collapsed = false\"\n class=\"nav-btn\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\n ></button>\n }\n</div>\n", dependencies: [{ kind: "component", type: i5.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }] }); }
354
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrVerticalNav, deps: [{ token: VerticalNavService }, { token: VerticalNavIconService }, { token: VerticalNavGroupRegistrationService }, { token: i1.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component }); }
355
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: ClrVerticalNav, isStandalone: false, selector: "clr-vertical-nav", inputs: { toggleLabel: ["clrVerticalNavToggleLabel", "toggleLabel"], collapsible: ["clrVerticalNavCollapsible", "collapsible"], collapsed: ["clrVerticalNavCollapsed", "collapsed"] }, outputs: { _collapsedChanged: "clrVerticalNavCollapsedChange" }, host: { properties: { "class.is-collapsed": "collapsed", "class.has-nav-groups": "hasNavGroups", "class.has-icons": "hasIcons" }, classAttribute: "clr-vertical-nav" }, providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService], ngImport: i0, template: "<!--\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\n@if (collapsible) {\n<button\n type=\"button\"\n class=\"nav-trigger\"\n [class.on-collapse]=\"collapsed\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\n (click)=\"toggleByButton()\"\n>\n <cds-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></cds-icon>\n</button>\n}\n<div [id]=\"contentId\" class=\"nav-content\">\n <ng-content></ng-content>\n @if (collapsible && collapsed) {\n <button\n type=\"button\"\n (click)=\"collapsed = false\"\n class=\"nav-btn\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\n ></button>\n }\n</div>\n", dependencies: [{ kind: "component", type: i5.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge", "innerOffset"] }] }); }
356
356
  }
357
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrVerticalNav, decorators: [{
357
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrVerticalNav, decorators: [{
358
358
  type: Component,
359
359
  args: [{ selector: 'clr-vertical-nav', providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService], host: {
360
360
  class: 'clr-vertical-nav',
@@ -398,15 +398,15 @@ class ClrVerticalNavLink {
398
398
  ngOnDestroy() {
399
399
  this.destroy$.next();
400
400
  }
401
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrVerticalNavLink, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: VerticalNavGroupService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
402
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: ClrVerticalNavLink, isStandalone: false, selector: "[clrVerticalNavLink]", host: { classAttribute: "nav-link" }, ngImport: i0, template: `
401
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrVerticalNavLink, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: VerticalNavGroupService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
402
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: ClrVerticalNavLink, isStandalone: false, selector: "[clrVerticalNavLink]", host: { classAttribute: "nav-link" }, ngImport: i0, template: `
403
403
  <ng-content select="[clrVerticalNavIcon]"></ng-content>
404
404
  <span class="nav-text">
405
405
  <ng-content></ng-content>
406
406
  </span>
407
407
  `, isInline: true }); }
408
408
  }
409
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrVerticalNavLink, decorators: [{
409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrVerticalNavLink, decorators: [{
410
410
  type: Component,
411
411
  args: [{
412
412
  selector: '[clrVerticalNavLink]',
@@ -442,10 +442,10 @@ class ClrVerticalNavIcon {
442
442
  ngOnDestroy() {
443
443
  this._verticalNavIconService.unregisterIcon();
444
444
  }
445
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrVerticalNavIcon, deps: [{ token: VerticalNavIconService }], target: i0.ɵɵFactoryTarget.Directive }); }
446
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: ClrVerticalNavIcon, isStandalone: false, selector: "[clrVerticalNavIcon]", host: { classAttribute: "nav-icon" }, ngImport: i0 }); }
445
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrVerticalNavIcon, deps: [{ token: VerticalNavIconService }], target: i0.ɵɵFactoryTarget.Directive }); }
446
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.25", type: ClrVerticalNavIcon, isStandalone: false, selector: "[clrVerticalNavIcon]", host: { classAttribute: "nav-icon" }, ngImport: i0 }); }
447
447
  }
448
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrVerticalNavIcon, decorators: [{
448
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrVerticalNavIcon, decorators: [{
449
449
  type: Directive,
450
450
  args: [{
451
451
  selector: '[clrVerticalNavIcon]',
@@ -471,8 +471,8 @@ class ClrVerticalNavModule {
471
471
  constructor() {
472
472
  ClarityIcons.addIcons(angleIcon, angleDoubleIcon);
473
473
  }
474
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrVerticalNavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
475
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ClrVerticalNavModule, declarations: [ClrVerticalNav,
474
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrVerticalNavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
475
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: ClrVerticalNavModule, declarations: [ClrVerticalNav,
476
476
  ClrVerticalNavLink,
477
477
  ClrVerticalNavGroup,
478
478
  ClrVerticalNavGroupChildren,
@@ -481,9 +481,9 @@ class ClrVerticalNavModule {
481
481
  ClrVerticalNavGroup,
482
482
  ClrVerticalNavGroupChildren,
483
483
  ClrVerticalNavIcon, ClrConditionalModule, ClrIcon, ClrFocusOnViewInitModule] }); }
484
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrVerticalNavModule, imports: [CommonModule, ClrIcon, ClrConditionalModule, ClrFocusOnViewInitModule, ClrConditionalModule, ClrFocusOnViewInitModule] }); }
484
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrVerticalNavModule, imports: [CommonModule, ClrIcon, ClrConditionalModule, ClrFocusOnViewInitModule, ClrConditionalModule, ClrFocusOnViewInitModule] }); }
485
485
  }
486
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrVerticalNavModule, decorators: [{
486
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrVerticalNavModule, decorators: [{
487
487
  type: NgModule,
488
488
  args: [{
489
489
  imports: [CommonModule, ClrIcon, ClrConditionalModule, ClrFocusOnViewInitModule],
@@ -1 +1 @@
1
- {"version":3,"file":"clr-angular-layout-vertical-nav.mjs","sources":["../../../projects/angular/layout/vertical-nav/vertical-nav-group-children.ts","../../../projects/angular/layout/vertical-nav/providers/vertical-nav-group.service.ts","../../../projects/angular/layout/vertical-nav/providers/vertical-nav-group-registration.service.ts","../../../projects/angular/layout/vertical-nav/providers/vertical-nav.service.ts","../../../projects/angular/layout/vertical-nav/vertical-nav-group.ts","../../../projects/angular/layout/vertical-nav/vertical-nav-group.html","../../../projects/angular/layout/vertical-nav/providers/vertical-nav-icon.service.ts","../../../projects/angular/layout/vertical-nav/vertical-nav.ts","../../../projects/angular/layout/vertical-nav/vertical-nav.html","../../../projects/angular/layout/vertical-nav/vertical-nav-link.ts","../../../projects/angular/layout/vertical-nav/vertical-nav-icon.ts","../../../projects/angular/layout/vertical-nav/vertical-nav.module.ts","../../../projects/angular/layout/vertical-nav/index.ts","../../../projects/angular/layout/vertical-nav/clr-angular-layout-vertical-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 { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-vertical-nav-group-children',\n template: `<ng-content></ng-content>`,\n standalone: false,\n})\nexport class ClrVerticalNavGroupChildren {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class VerticalNavGroupService {\n private _expandChange = new Subject<boolean>();\n\n get expandChange(): Observable<boolean> {\n return this._expandChange.asObservable();\n }\n\n expand(): void {\n this._expandChange.next(true);\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';\n\n@Injectable()\nexport class VerticalNavGroupRegistrationService {\n navGroupCount = 0;\n\n registerNavGroup() {\n this.navGroupCount++;\n }\n\n unregisterNavGroup(): void {\n this.navGroupCount--;\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class VerticalNavService {\n private _animateOnCollapsed = new Subject<boolean>();\n private _collapsedChanged = new Subject<boolean>();\n private _collapsed = false;\n private _collapsible = false;\n\n get animateOnCollapsed(): Observable<boolean> {\n return this._animateOnCollapsed.asObservable();\n }\n\n get collapsedChanged(): Observable<boolean> {\n return this._collapsedChanged.asObservable();\n }\n\n get collapsed(): boolean {\n return this._collapsed;\n }\n set collapsed(value: boolean) {\n value = !!value;\n if (this.collapsible && this._collapsed !== value) {\n this.updateCollapseBehavior(value);\n }\n }\n\n get collapsible(): boolean {\n return this._collapsible;\n }\n set collapsible(value: boolean) {\n value = !!value;\n if (this._collapsible !== value) {\n if (!value && this.collapsed) {\n this.updateCollapseBehavior(false);\n }\n this._collapsible = value;\n }\n }\n\n private updateCollapseBehavior(value: boolean): void {\n this._animateOnCollapsed.next(value);\n this._collapsed = value;\n this._collapsedChanged.next(value);\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 { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { AfterContentInit, Component, EventEmitter, HostBinding, Input, OnDestroy, Output } from '@angular/core';\nimport { ClrCommonStringsService, IfExpandService } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { VerticalNavGroupRegistrationService } from './providers/vertical-nav-group-registration.service';\nimport { VerticalNavGroupService } from './providers/vertical-nav-group.service';\nimport { VerticalNavService } from './providers/vertical-nav.service';\n\nconst EXPANDED_STATE = 'expanded';\nconst COLLAPSED_STATE = 'collapsed';\n\n@Component({\n selector: 'clr-vertical-nav-group',\n templateUrl: './vertical-nav-group.html',\n providers: [IfExpandService, VerticalNavGroupService],\n animations: [\n trigger('clrExpand', [\n state(EXPANDED_STATE, style({ height: '*' })),\n state(COLLAPSED_STATE, style({ height: 0, visibility: 'hidden' })),\n transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, animate('0.2s ease-in-out')),\n ]),\n ],\n host: { class: 'nav-group' },\n standalone: false,\n})\nexport class ClrVerticalNavGroup implements AfterContentInit, OnDestroy {\n @Output('clrVerticalNavGroupExpandedChange') expandedChange = new EventEmitter<boolean>(true);\n\n private wasExpanded = false;\n private _subscriptions: Subscription[] = [];\n private _expandAnimationState: string = COLLAPSED_STATE;\n\n constructor(\n private _itemExpand: IfExpandService,\n private _navGroupRegistrationService: VerticalNavGroupRegistrationService,\n navGroupService: VerticalNavGroupService,\n private _navService: VerticalNavService,\n public commonStrings: ClrCommonStringsService\n ) {\n _navGroupRegistrationService.registerNavGroup();\n\n // FIXME: This subscription handles a corner case\n // Vertical Nav collapse requires the animation to run first and then\n // remove the nodes from the DOM. If the user directly sets the input\n // on the clrIfExpanded directive, we have no chance to run the animation\n // and wait for it to complete. This subscription makes sure that the\n // animation states are correct for that edge case.\n this._subscriptions.push(\n _itemExpand.expandChange.subscribe(value => {\n if (value && this.expandAnimationState === COLLAPSED_STATE) {\n if (_navService.collapsed) {\n _navService.collapsed = false;\n }\n this.expandAnimationState = EXPANDED_STATE;\n } else if (!value && this.expandAnimationState === EXPANDED_STATE) {\n this.expandAnimationState = COLLAPSED_STATE;\n }\n })\n );\n\n // 1. If the nav is collapsing, close the open nav group + save its state\n // 2. If the nav is expanding, expand the nav group if the previous state was expanded\n this._subscriptions.push(\n _navService.animateOnCollapsed.subscribe((goingToCollapse: boolean) => {\n if (goingToCollapse && this.expanded) {\n this.wasExpanded = true;\n this.expandAnimationState = COLLAPSED_STATE;\n } else if (!goingToCollapse && this.wasExpanded) {\n this.expandGroup();\n this.wasExpanded = false;\n }\n })\n );\n\n // If a link is clicked, expand the nav group\n this._subscriptions.push(\n navGroupService.expandChange.subscribe((expand: boolean) => {\n if (expand && !this.expanded) {\n this.expandGroup();\n }\n })\n );\n }\n\n @HostBinding('class.is-expanded')\n get expanded(): boolean {\n return this._itemExpand.expanded;\n }\n set expanded(value: boolean) {\n if (this._itemExpand.expanded !== value) {\n this._itemExpand.expanded = value;\n this.expandedChange.emit(value);\n }\n }\n\n @Input('clrVerticalNavGroupExpanded')\n set userExpandedInput(value: boolean | string) {\n value = !!value;\n if (this.expanded !== value) {\n // We have to call toggleExpand because some cases require animations to occur first\n // Directly setting the Expand service value skips the animation and can result in\n // nodes in the DOM but the nav group still being collapsed\n this.toggleExpand();\n }\n }\n\n get expandAnimationState(): string {\n return this._expandAnimationState;\n }\n set expandAnimationState(value: string) {\n if (value !== this._expandAnimationState) {\n this._expandAnimationState = value;\n }\n }\n\n ngAfterContentInit() {\n // This makes sure that if someone marks a nav group expanded in a collapsed nav\n // the expanded property is switched back to collapsed state.\n if (this._navService.collapsed && this.expanded) {\n this.wasExpanded = true;\n this.expandAnimationState = COLLAPSED_STATE;\n }\n }\n\n ngOnDestroy() {\n this._subscriptions.forEach((sub: Subscription) => sub.unsubscribe());\n this._navGroupRegistrationService.unregisterNavGroup();\n }\n\n expandGroup(): void {\n this.expanded = true;\n // Expanded animation occurs after Expand.expand is set to true\n this.expandAnimationState = EXPANDED_STATE;\n }\n\n collapseGroup(): void {\n // If a Vertical Nav Group toggle button is clicked while the Vertical Nav is in Collapsed state,\n // the Vertical Nav should be expanded first.\n this.expandAnimationState = COLLAPSED_STATE;\n }\n\n // closes a group after the collapse animation\n expandAnimationDone($event: AnimationEvent) {\n if ($event.toState === COLLAPSED_STATE) {\n this.expanded = false;\n }\n }\n\n toggleExpand(): void {\n if (this.expanded) {\n this.collapseGroup();\n } else {\n // If nav is collasped, first open the nav\n if (this._navService.collapsed) {\n this._navService.collapsed = false;\n }\n // then expand the nav group\n this.expandGroup();\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\n<div class=\"nav-group-content\">\n <ng-content select=\"[clrVerticalNavLink]\"></ng-content>\n <button class=\"nav-group-trigger\" type=\"button\" [attr.aria-expanded]=\"expanded\" (click)=\"toggleExpand()\">\n <ng-content select=\"[clrVerticalNavIcon]\"></ng-content>\n <div class=\"nav-group-text\">\n <ng-content></ng-content>\n </div>\n <cds-icon shape=\"angle\" class=\"nav-group-trigger-icon\" [direction]=\"expanded ? 'down' : 'right'\"></cds-icon>\n </button>\n</div>\n<!--TODO: This animation needs to be added to the clr-vertical-nav-group-children component-->\n<div class=\"nav-group-children\" [@clrExpand]=\"expandAnimationState\" (@clrExpand.done)=\"expandAnimationDone($event)\">\n <ng-content select=\"[clrIfExpanded], clr-vertical-nav-group-children\"></ng-content>\n</div>\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';\n\n@Injectable()\nexport class VerticalNavIconService {\n private _icons = 0;\n\n get hasIcons(): boolean {\n return this._icons > 0;\n }\n\n registerIcon(): void {\n this._icons++;\n }\n\n unregisterIcon(): void {\n this._icons--;\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, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { ClrCommonStringsService, uniqueIdFactory } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { VerticalNavGroupRegistrationService } from './providers/vertical-nav-group-registration.service';\nimport { VerticalNavIconService } from './providers/vertical-nav-icon.service';\nimport { VerticalNavService } from './providers/vertical-nav.service';\n\n@Component({\n selector: 'clr-vertical-nav',\n templateUrl: './vertical-nav.html',\n providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService],\n host: {\n class: 'clr-vertical-nav',\n '[class.is-collapsed]': 'collapsed',\n '[class.has-nav-groups]': 'hasNavGroups',\n '[class.has-icons]': 'hasIcons',\n },\n standalone: false,\n})\nexport class ClrVerticalNav implements OnDestroy {\n @Input('clrVerticalNavToggleLabel') toggleLabel: string;\n contentId = uniqueIdFactory();\n\n @Output('clrVerticalNavCollapsedChange') private _collapsedChanged = new EventEmitter<boolean>(true);\n\n private _sub: Subscription;\n\n constructor(\n private _navService: VerticalNavService,\n private _navIconService: VerticalNavIconService,\n private _navGroupRegistrationService: VerticalNavGroupRegistrationService,\n public commonStrings: ClrCommonStringsService\n ) {\n this._sub = _navService.collapsedChanged.subscribe(value => {\n this._collapsedChanged.emit(value);\n });\n }\n\n @Input('clrVerticalNavCollapsible')\n get collapsible(): boolean | string {\n return this._navService.collapsible;\n }\n set collapsible(value: boolean | string) {\n this._navService.collapsible = value as boolean;\n }\n\n @Input('clrVerticalNavCollapsed')\n get collapsed(): boolean | string {\n return this._navService.collapsed;\n }\n set collapsed(value: boolean | string) {\n this._navService.collapsed = value as boolean;\n }\n\n get hasNavGroups(): boolean {\n return this._navGroupRegistrationService.navGroupCount > 0;\n }\n\n get hasIcons(): boolean {\n return this._navIconService.hasIcons;\n }\n\n get ariaExpanded(): string {\n if (!this.collapsible) {\n return null;\n }\n return !this.collapsed ? 'true' : 'false';\n }\n\n ngOnDestroy() {\n this._sub.unsubscribe();\n }\n\n toggleByButton() {\n this.collapsed = !this.collapsed;\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\n@if (collapsible) {\n<button\n type=\"button\"\n class=\"nav-trigger\"\n [class.on-collapse]=\"collapsed\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\n (click)=\"toggleByButton()\"\n>\n <cds-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></cds-icon>\n</button>\n}\n<div [id]=\"contentId\" class=\"nav-content\">\n <ng-content></ng-content>\n @if (collapsible && collapsed) {\n <button\n type=\"button\"\n (click)=\"collapsed = false\"\n class=\"nav-btn\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\n ></button>\n }\n</div>\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ChangeDetectorRef, Component, ElementRef, Inject, OnDestroy, Optional } from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { VerticalNavGroupService } from './providers/vertical-nav-group.service';\n\n@Component({\n selector: '[clrVerticalNavLink]',\n template: `\n <ng-content select=\"[clrVerticalNavIcon]\"></ng-content>\n <span class=\"nav-text\">\n <ng-content></ng-content>\n </span>\n `,\n host: {\n class: 'nav-link',\n },\n standalone: false,\n})\nexport class ClrVerticalNavLink implements OnDestroy {\n private destroy$ = new Subject<void>();\n\n constructor(\n host: ElementRef<HTMLElement>,\n ref: ChangeDetectorRef,\n @Optional() @Inject(VerticalNavGroupService) navGroupService: VerticalNavGroupService | null\n ) {\n // Note: since the `VerticalNavGroupService` is an optional provider, we'll setup the event\n // listener only when the `[clrVerticalLink]` is located within the `clr-vertical-nav-group`.\n navGroupService &&\n fromEvent(host.nativeElement, 'click')\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n navGroupService.expand();\n ref.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\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 } from '@angular/core';\n\nimport { VerticalNavIconService } from './providers/vertical-nav-icon.service';\n\n@Directive({\n selector: '[clrVerticalNavIcon]',\n host: { class: 'nav-icon' },\n standalone: false,\n})\nexport class ClrVerticalNavIcon implements OnDestroy {\n constructor(private _verticalNavIconService: VerticalNavIconService) {\n _verticalNavIconService.registerIcon();\n }\n\n ngOnDestroy() {\n this._verticalNavIconService.unregisterIcon();\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 { angleDoubleIcon, angleIcon, ClarityIcons, ClrIcon } from '@clr/angular/icon';\nimport { ClrConditionalModule, ClrFocusOnViewInitModule } from '@clr/angular/utils';\n\nimport { ClrVerticalNav } from './vertical-nav';\nimport { ClrVerticalNavGroup } from './vertical-nav-group';\nimport { ClrVerticalNavGroupChildren } from './vertical-nav-group-children';\nimport { ClrVerticalNavIcon } from './vertical-nav-icon';\nimport { ClrVerticalNavLink } from './vertical-nav-link';\n\nexport const CLR_VERTICAL_NAV_DIRECTIVES: Type<any>[] = [\n ClrVerticalNav,\n ClrVerticalNavLink,\n ClrVerticalNavGroup,\n ClrVerticalNavGroupChildren,\n ClrVerticalNavIcon,\n];\n\n@NgModule({\n imports: [CommonModule, ClrIcon, ClrConditionalModule, ClrFocusOnViewInitModule],\n declarations: [CLR_VERTICAL_NAV_DIRECTIVES],\n exports: [CLR_VERTICAL_NAV_DIRECTIVES, ClrConditionalModule, ClrIcon, ClrFocusOnViewInitModule],\n})\nexport class ClrVerticalNavModule {\n constructor() {\n ClarityIcons.addIcons(angleIcon, angleDoubleIcon);\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 './vertical-nav-group-children';\nexport * from './vertical-nav-group';\nexport * from './vertical-nav';\nexport * from './vertical-nav-link';\nexport * from './vertical-nav-icon';\nexport * from './vertical-nav.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.VerticalNavGroupRegistrationService","i3.VerticalNavGroupService","i4.VerticalNavService","i1.VerticalNavService","i2.VerticalNavIconService","i3.VerticalNavGroupRegistrationService","i4","i1.VerticalNavIconService"],"mappings":"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"}
1
+ {"version":3,"file":"clr-angular-layout-vertical-nav.mjs","sources":["../../../projects/angular/layout/vertical-nav/vertical-nav-group-children.ts","../../../projects/angular/layout/vertical-nav/providers/vertical-nav-group.service.ts","../../../projects/angular/layout/vertical-nav/providers/vertical-nav-group-registration.service.ts","../../../projects/angular/layout/vertical-nav/providers/vertical-nav.service.ts","../../../projects/angular/layout/vertical-nav/vertical-nav-group.ts","../../../projects/angular/layout/vertical-nav/vertical-nav-group.html","../../../projects/angular/layout/vertical-nav/providers/vertical-nav-icon.service.ts","../../../projects/angular/layout/vertical-nav/vertical-nav.ts","../../../projects/angular/layout/vertical-nav/vertical-nav.html","../../../projects/angular/layout/vertical-nav/vertical-nav-link.ts","../../../projects/angular/layout/vertical-nav/vertical-nav-icon.ts","../../../projects/angular/layout/vertical-nav/vertical-nav.module.ts","../../../projects/angular/layout/vertical-nav/index.ts","../../../projects/angular/layout/vertical-nav/clr-angular-layout-vertical-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 { Component } from '@angular/core';\n\n@Component({\n selector: 'clr-vertical-nav-group-children',\n template: `<ng-content></ng-content>`,\n standalone: false,\n})\nexport class ClrVerticalNavGroupChildren {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class VerticalNavGroupService {\n private _expandChange = new Subject<boolean>();\n\n get expandChange(): Observable<boolean> {\n return this._expandChange.asObservable();\n }\n\n expand(): void {\n this._expandChange.next(true);\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';\n\n@Injectable()\nexport class VerticalNavGroupRegistrationService {\n navGroupCount = 0;\n\n registerNavGroup() {\n this.navGroupCount++;\n }\n\n unregisterNavGroup(): void {\n this.navGroupCount--;\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class VerticalNavService {\n private _animateOnCollapsed = new Subject<boolean>();\n private _collapsedChanged = new Subject<boolean>();\n private _collapsed = false;\n private _collapsible = false;\n\n get animateOnCollapsed(): Observable<boolean> {\n return this._animateOnCollapsed.asObservable();\n }\n\n get collapsedChanged(): Observable<boolean> {\n return this._collapsedChanged.asObservable();\n }\n\n get collapsed(): boolean {\n return this._collapsed;\n }\n set collapsed(value: boolean) {\n value = !!value;\n if (this.collapsible && this._collapsed !== value) {\n this.updateCollapseBehavior(value);\n }\n }\n\n get collapsible(): boolean {\n return this._collapsible;\n }\n set collapsible(value: boolean) {\n value = !!value;\n if (this._collapsible !== value) {\n if (!value && this.collapsed) {\n this.updateCollapseBehavior(false);\n }\n this._collapsible = value;\n }\n }\n\n private updateCollapseBehavior(value: boolean): void {\n this._animateOnCollapsed.next(value);\n this._collapsed = value;\n this._collapsedChanged.next(value);\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 { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\nimport { AfterContentInit, Component, EventEmitter, HostBinding, Input, OnDestroy, Output } from '@angular/core';\nimport { ClrCommonStringsService, IfExpandService } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { VerticalNavGroupRegistrationService } from './providers/vertical-nav-group-registration.service';\nimport { VerticalNavGroupService } from './providers/vertical-nav-group.service';\nimport { VerticalNavService } from './providers/vertical-nav.service';\n\nconst EXPANDED_STATE = 'expanded';\nconst COLLAPSED_STATE = 'collapsed';\n\n@Component({\n selector: 'clr-vertical-nav-group',\n templateUrl: './vertical-nav-group.html',\n providers: [IfExpandService, VerticalNavGroupService],\n animations: [\n trigger('clrExpand', [\n state(EXPANDED_STATE, style({ height: '*' })),\n state(COLLAPSED_STATE, style({ height: 0, visibility: 'hidden' })),\n transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, animate('0.2s ease-in-out')),\n ]),\n ],\n host: { class: 'nav-group' },\n standalone: false,\n})\nexport class ClrVerticalNavGroup implements AfterContentInit, OnDestroy {\n @Output('clrVerticalNavGroupExpandedChange') expandedChange = new EventEmitter<boolean>(true);\n\n private wasExpanded = false;\n private _subscriptions: Subscription[] = [];\n private _expandAnimationState: string = COLLAPSED_STATE;\n\n constructor(\n private _itemExpand: IfExpandService,\n private _navGroupRegistrationService: VerticalNavGroupRegistrationService,\n navGroupService: VerticalNavGroupService,\n private _navService: VerticalNavService,\n public commonStrings: ClrCommonStringsService\n ) {\n _navGroupRegistrationService.registerNavGroup();\n\n // FIXME: This subscription handles a corner case\n // Vertical Nav collapse requires the animation to run first and then\n // remove the nodes from the DOM. If the user directly sets the input\n // on the clrIfExpanded directive, we have no chance to run the animation\n // and wait for it to complete. This subscription makes sure that the\n // animation states are correct for that edge case.\n this._subscriptions.push(\n _itemExpand.expandChange.subscribe(value => {\n if (value && this.expandAnimationState === COLLAPSED_STATE) {\n if (_navService.collapsed) {\n _navService.collapsed = false;\n }\n this.expandAnimationState = EXPANDED_STATE;\n } else if (!value && this.expandAnimationState === EXPANDED_STATE) {\n this.expandAnimationState = COLLAPSED_STATE;\n }\n })\n );\n\n // 1. If the nav is collapsing, close the open nav group + save its state\n // 2. If the nav is expanding, expand the nav group if the previous state was expanded\n this._subscriptions.push(\n _navService.animateOnCollapsed.subscribe((goingToCollapse: boolean) => {\n if (goingToCollapse && this.expanded) {\n this.wasExpanded = true;\n this.expandAnimationState = COLLAPSED_STATE;\n } else if (!goingToCollapse && this.wasExpanded) {\n this.expandGroup();\n this.wasExpanded = false;\n }\n })\n );\n\n // If a link is clicked, expand the nav group\n this._subscriptions.push(\n navGroupService.expandChange.subscribe((expand: boolean) => {\n if (expand && !this.expanded) {\n this.expandGroup();\n }\n })\n );\n }\n\n @HostBinding('class.is-expanded')\n get expanded(): boolean {\n return this._itemExpand.expanded;\n }\n set expanded(value: boolean) {\n if (this._itemExpand.expanded !== value) {\n this._itemExpand.expanded = value;\n this.expandedChange.emit(value);\n }\n }\n\n @Input('clrVerticalNavGroupExpanded')\n set userExpandedInput(value: boolean | string) {\n value = !!value;\n if (this.expanded !== value) {\n // We have to call toggleExpand because some cases require animations to occur first\n // Directly setting the Expand service value skips the animation and can result in\n // nodes in the DOM but the nav group still being collapsed\n this.toggleExpand();\n }\n }\n\n get expandAnimationState(): string {\n return this._expandAnimationState;\n }\n set expandAnimationState(value: string) {\n if (value !== this._expandAnimationState) {\n this._expandAnimationState = value;\n }\n }\n\n ngAfterContentInit() {\n // This makes sure that if someone marks a nav group expanded in a collapsed nav\n // the expanded property is switched back to collapsed state.\n if (this._navService.collapsed && this.expanded) {\n this.wasExpanded = true;\n this.expandAnimationState = COLLAPSED_STATE;\n }\n }\n\n ngOnDestroy() {\n this._subscriptions.forEach((sub: Subscription) => sub.unsubscribe());\n this._navGroupRegistrationService.unregisterNavGroup();\n }\n\n expandGroup(): void {\n this.expanded = true;\n // Expanded animation occurs after Expand.expand is set to true\n this.expandAnimationState = EXPANDED_STATE;\n }\n\n collapseGroup(): void {\n // If a Vertical Nav Group toggle button is clicked while the Vertical Nav is in Collapsed state,\n // the Vertical Nav should be expanded first.\n this.expandAnimationState = COLLAPSED_STATE;\n }\n\n // closes a group after the collapse animation\n expandAnimationDone($event: AnimationEvent) {\n if ($event.toState === COLLAPSED_STATE) {\n this.expanded = false;\n }\n }\n\n toggleExpand(): void {\n if (this.expanded) {\n this.collapseGroup();\n } else {\n // If nav is collasped, first open the nav\n if (this._navService.collapsed) {\n this._navService.collapsed = false;\n }\n // then expand the nav group\n this.expandGroup();\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\n<div class=\"nav-group-content\">\n <ng-content select=\"[clrVerticalNavLink]\"></ng-content>\n <button class=\"nav-group-trigger\" type=\"button\" [attr.aria-expanded]=\"expanded\" (click)=\"toggleExpand()\">\n <ng-content select=\"[clrVerticalNavIcon]\"></ng-content>\n <div class=\"nav-group-text\">\n <ng-content></ng-content>\n </div>\n <cds-icon shape=\"angle\" class=\"nav-group-trigger-icon\" [direction]=\"expanded ? 'down' : 'right'\"></cds-icon>\n </button>\n</div>\n<!--TODO: This animation needs to be added to the clr-vertical-nav-group-children component-->\n<div class=\"nav-group-children\" [@clrExpand]=\"expandAnimationState\" (@clrExpand.done)=\"expandAnimationDone($event)\">\n <ng-content select=\"[clrIfExpanded], clr-vertical-nav-group-children\"></ng-content>\n</div>\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';\n\n@Injectable()\nexport class VerticalNavIconService {\n private _icons = 0;\n\n get hasIcons(): boolean {\n return this._icons > 0;\n }\n\n registerIcon(): void {\n this._icons++;\n }\n\n unregisterIcon(): void {\n this._icons--;\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, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { ClrCommonStringsService, uniqueIdFactory } from '@clr/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { VerticalNavGroupRegistrationService } from './providers/vertical-nav-group-registration.service';\nimport { VerticalNavIconService } from './providers/vertical-nav-icon.service';\nimport { VerticalNavService } from './providers/vertical-nav.service';\n\n@Component({\n selector: 'clr-vertical-nav',\n templateUrl: './vertical-nav.html',\n providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService],\n host: {\n class: 'clr-vertical-nav',\n '[class.is-collapsed]': 'collapsed',\n '[class.has-nav-groups]': 'hasNavGroups',\n '[class.has-icons]': 'hasIcons',\n },\n standalone: false,\n})\nexport class ClrVerticalNav implements OnDestroy {\n @Input('clrVerticalNavToggleLabel') toggleLabel: string;\n contentId = uniqueIdFactory();\n\n @Output('clrVerticalNavCollapsedChange') private _collapsedChanged = new EventEmitter<boolean>(true);\n\n private _sub: Subscription;\n\n constructor(\n private _navService: VerticalNavService,\n private _navIconService: VerticalNavIconService,\n private _navGroupRegistrationService: VerticalNavGroupRegistrationService,\n public commonStrings: ClrCommonStringsService\n ) {\n this._sub = _navService.collapsedChanged.subscribe(value => {\n this._collapsedChanged.emit(value);\n });\n }\n\n @Input('clrVerticalNavCollapsible')\n get collapsible(): boolean | string {\n return this._navService.collapsible;\n }\n set collapsible(value: boolean | string) {\n this._navService.collapsible = value as boolean;\n }\n\n @Input('clrVerticalNavCollapsed')\n get collapsed(): boolean | string {\n return this._navService.collapsed;\n }\n set collapsed(value: boolean | string) {\n this._navService.collapsed = value as boolean;\n }\n\n get hasNavGroups(): boolean {\n return this._navGroupRegistrationService.navGroupCount > 0;\n }\n\n get hasIcons(): boolean {\n return this._navIconService.hasIcons;\n }\n\n get ariaExpanded(): string {\n if (!this.collapsible) {\n return null;\n }\n return !this.collapsed ? 'true' : 'false';\n }\n\n ngOnDestroy() {\n this._sub.unsubscribe();\n }\n\n toggleByButton() {\n this.collapsed = !this.collapsed;\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\n@if (collapsible) {\n<button\n type=\"button\"\n class=\"nav-trigger\"\n [class.on-collapse]=\"collapsed\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\n (click)=\"toggleByButton()\"\n>\n <cds-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></cds-icon>\n</button>\n}\n<div [id]=\"contentId\" class=\"nav-content\">\n <ng-content></ng-content>\n @if (collapsible && collapsed) {\n <button\n type=\"button\"\n (click)=\"collapsed = false\"\n class=\"nav-btn\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n [attr.aria-controls]=\"contentId\"\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\n ></button>\n }\n</div>\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ChangeDetectorRef, Component, ElementRef, Inject, OnDestroy, Optional } from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { VerticalNavGroupService } from './providers/vertical-nav-group.service';\n\n@Component({\n selector: '[clrVerticalNavLink]',\n template: `\n <ng-content select=\"[clrVerticalNavIcon]\"></ng-content>\n <span class=\"nav-text\">\n <ng-content></ng-content>\n </span>\n `,\n host: {\n class: 'nav-link',\n },\n standalone: false,\n})\nexport class ClrVerticalNavLink implements OnDestroy {\n private destroy$ = new Subject<void>();\n\n constructor(\n host: ElementRef<HTMLElement>,\n ref: ChangeDetectorRef,\n @Optional() @Inject(VerticalNavGroupService) navGroupService: VerticalNavGroupService | null\n ) {\n // Note: since the `VerticalNavGroupService` is an optional provider, we'll setup the event\n // listener only when the `[clrVerticalLink]` is located within the `clr-vertical-nav-group`.\n navGroupService &&\n fromEvent(host.nativeElement, 'click')\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n navGroupService.expand();\n ref.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\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 } from '@angular/core';\n\nimport { VerticalNavIconService } from './providers/vertical-nav-icon.service';\n\n@Directive({\n selector: '[clrVerticalNavIcon]',\n host: { class: 'nav-icon' },\n standalone: false,\n})\nexport class ClrVerticalNavIcon implements OnDestroy {\n constructor(private _verticalNavIconService: VerticalNavIconService) {\n _verticalNavIconService.registerIcon();\n }\n\n ngOnDestroy() {\n this._verticalNavIconService.unregisterIcon();\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 { angleDoubleIcon, angleIcon, ClarityIcons, ClrIcon } from '@clr/angular/icon';\nimport { ClrConditionalModule, ClrFocusOnViewInitModule } from '@clr/angular/utils';\n\nimport { ClrVerticalNav } from './vertical-nav';\nimport { ClrVerticalNavGroup } from './vertical-nav-group';\nimport { ClrVerticalNavGroupChildren } from './vertical-nav-group-children';\nimport { ClrVerticalNavIcon } from './vertical-nav-icon';\nimport { ClrVerticalNavLink } from './vertical-nav-link';\n\nexport const CLR_VERTICAL_NAV_DIRECTIVES: Type<any>[] = [\n ClrVerticalNav,\n ClrVerticalNavLink,\n ClrVerticalNavGroup,\n ClrVerticalNavGroupChildren,\n ClrVerticalNavIcon,\n];\n\n@NgModule({\n imports: [CommonModule, ClrIcon, ClrConditionalModule, ClrFocusOnViewInitModule],\n declarations: [CLR_VERTICAL_NAV_DIRECTIVES],\n exports: [CLR_VERTICAL_NAV_DIRECTIVES, ClrConditionalModule, ClrIcon, ClrFocusOnViewInitModule],\n})\nexport class ClrVerticalNavModule {\n constructor() {\n ClarityIcons.addIcons(angleIcon, angleDoubleIcon);\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 './vertical-nav-group-children';\nexport * from './vertical-nav-group';\nexport * from './vertical-nav';\nexport * from './vertical-nav-link';\nexport * from './vertical-nav-icon';\nexport * from './vertical-nav.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.VerticalNavGroupRegistrationService","i3.VerticalNavGroupService","i4.VerticalNavService","i1.VerticalNavService","i2.VerticalNavIconService","i3.VerticalNavGroupRegistrationService","i4","i1.VerticalNavIconService"],"mappings":"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"}
@@ -18,11 +18,11 @@ export * from '@clr/angular/layout/vertical-nav';
18
18
  * The full license information can be found in LICENSE in the root directory of this project.
19
19
  */
20
20
  class ClrLayoutModule {
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
22
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ClrLayoutModule, exports: [ClrMainContainerModule, ClrNavigationModule, ClrTabsModule, ClrVerticalNavModule, ClrBreadcrumbsModule] }); }
23
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrLayoutModule, imports: [ClrMainContainerModule, ClrNavigationModule, ClrTabsModule, ClrVerticalNavModule, ClrBreadcrumbsModule] }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
22
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: ClrLayoutModule, exports: [ClrMainContainerModule, ClrNavigationModule, ClrTabsModule, ClrVerticalNavModule, ClrBreadcrumbsModule] }); }
23
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrLayoutModule, imports: [ClrMainContainerModule, ClrNavigationModule, ClrTabsModule, ClrVerticalNavModule, ClrBreadcrumbsModule] }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrLayoutModule, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrLayoutModule, decorators: [{
26
26
  type: NgModule,
27
27
  args: [{
28
28
  exports: [ClrMainContainerModule, ClrNavigationModule, ClrTabsModule, ClrVerticalNavModule, ClrBreadcrumbsModule],
@@ -1 +1 @@
1
- {"version":3,"file":"clr-angular-layout.mjs","sources":["../../../projects/angular/layout/layout.module.ts","../../../projects/angular/layout/index.ts","../../../projects/angular/layout/clr-angular-layout.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 { NgModule } from '@angular/core';\nimport { ClrBreadcrumbsModule } from '@clr/angular/layout/breadcrumbs';\nimport { ClrMainContainerModule } from '@clr/angular/layout/main-container';\nimport { ClrNavigationModule } from '@clr/angular/layout/nav';\nimport { ClrTabsModule } from '@clr/angular/layout/tabs';\nimport { ClrVerticalNavModule } from '@clr/angular/layout/vertical-nav';\n\n@NgModule({\n exports: [ClrMainContainerModule, ClrNavigationModule, ClrTabsModule, ClrVerticalNavModule, ClrBreadcrumbsModule],\n})\nexport class ClrLayoutModule {}\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 './layout.module';\nexport * from '@clr/angular/layout/main-container';\nexport * from '@clr/angular/layout/nav';\nexport * from '@clr/angular/layout/tabs';\nexport * from '@clr/angular/layout/vertical-nav';\nexport * from '@clr/angular/layout/breadcrumbs';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;;AAKG;MAYU,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAf,eAAe,EAAA,OAAA,EAAA,CAFhB,sBAAsB,EAAE,mBAAmB,EAAE,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA;+GAErG,eAAe,EAAA,OAAA,EAAA,CAFhB,sBAAsB,EAAE,mBAAmB,EAAE,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA;;2FAErG,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,CAAC;AAClH,iBAAA;;;AChBD;;;;;AAKG;;ACLH;;AAEG;;;;"}
1
+ {"version":3,"file":"clr-angular-layout.mjs","sources":["../../../projects/angular/layout/layout.module.ts","../../../projects/angular/layout/index.ts","../../../projects/angular/layout/clr-angular-layout.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 { NgModule } from '@angular/core';\nimport { ClrBreadcrumbsModule } from '@clr/angular/layout/breadcrumbs';\nimport { ClrMainContainerModule } from '@clr/angular/layout/main-container';\nimport { ClrNavigationModule } from '@clr/angular/layout/nav';\nimport { ClrTabsModule } from '@clr/angular/layout/tabs';\nimport { ClrVerticalNavModule } from '@clr/angular/layout/vertical-nav';\n\n@NgModule({\n exports: [ClrMainContainerModule, ClrNavigationModule, ClrTabsModule, ClrVerticalNavModule, ClrBreadcrumbsModule],\n})\nexport class ClrLayoutModule {}\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 './layout.module';\nexport * from '@clr/angular/layout/main-container';\nexport * from '@clr/angular/layout/nav';\nexport * from '@clr/angular/layout/tabs';\nexport * from '@clr/angular/layout/vertical-nav';\nexport * from '@clr/angular/layout/breadcrumbs';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;;AAKG;MAYU,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAf,eAAe,EAAA,OAAA,EAAA,CAFhB,sBAAsB,EAAE,mBAAmB,EAAE,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA;gHAErG,eAAe,EAAA,OAAA,EAAA,CAFhB,sBAAsB,EAAE,mBAAmB,EAAE,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA;;4FAErG,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,CAAC;AAClH,iBAAA;;;AChBD;;;;;AAKG;;ACLH;;AAEG;;;;"}
@@ -45,10 +45,10 @@ class ModalStackService {
45
45
  this.modalStack[0].close();
46
46
  }
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ModalStackService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
49
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ModalStackService, providedIn: 'root' }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ModalStackService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
49
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ModalStackService, providedIn: 'root' }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ModalStackService, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ModalStackService, decorators: [{
52
52
  type: Injectable,
53
53
  args: [{ providedIn: 'root' }]
54
54
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -67,10 +67,10 @@ class ClrModalConfigurationService {
67
67
  this.fadeMove = 'fadeDown';
68
68
  this.backdrop = true;
69
69
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrModalConfigurationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
71
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrModalConfigurationService, providedIn: 'root' }); }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrModalConfigurationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
71
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrModalConfigurationService, providedIn: 'root' }); }
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrModalConfigurationService, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrModalConfigurationService, decorators: [{
74
74
  type: Injectable,
75
75
  args: [{ providedIn: 'root' }]
76
76
  }] });
@@ -158,8 +158,8 @@ class ClrModal {
158
158
  scrollTop() {
159
159
  this.bodyElementRef.nativeElement.scrollTo(0, 0);
160
160
  }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrModal, deps: [{ token: i1.ScrollingService }, { token: i1.ClrCommonStringsService }, { token: ModalStackService }, { token: ClrModalConfigurationService }], target: i0.ɵɵFactoryTarget.Component }); }
162
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ClrModal, isStandalone: false, selector: "clr-modal", inputs: { _open: ["clrModalOpen", "_open"], closable: ["clrModalClosable", "closable"], closeButtonAriaLabel: ["clrModalCloseButtonAriaLabel", "closeButtonAriaLabel"], size: ["clrModalSize", "size"], staticBackdrop: ["clrModalStaticBackdrop", "staticBackdrop"], skipAnimation: ["clrModalSkipAnimation", "skipAnimation"], stopClose: ["clrModalPreventClose", "stopClose"], labelledBy: ["clrModalLabelledById", "labelledBy"], bypassScrollService: ["clrModalOverrideScrollService", "bypassScrollService"] }, outputs: { _openChanged: "clrModalOpenChange", altClose: "clrModalAlternateClose" }, host: { properties: { "class.open": "this._open" } }, queries: [{ propertyName: "modalContentTemplate", first: true, predicate: ["clrInternalModalContentTemplate"], descendants: true }], viewQueries: [{ propertyName: "title", first: true, predicate: ["title"], descendants: true }, { propertyName: "bodyElementRef", first: true, predicate: ["body"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!--\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\n@if (_open) {\n<div class=\"modal\" [class.modal-full-screen]=\"size == 'full-screen'\">\n <!--fixme: revisit when ngClass works with exit animation-->\n <div\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n [@fadeMove]=\"fadeMove\"\n (@fadeMove.done)=\"fadeDone($event)\"\n class=\"modal-dialog\"\n [class.modal-sm]=\"size == 'sm'\"\n [class.modal-lg]=\"size == 'lg'\"\n [class.modal-xl]=\"size == 'xl'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-hidden]=\"!_open\"\n [attr.aria-labelledby]=\"labelledBy || modalId\"\n >\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\n <!-- This wizard is tightly coupled to the modal styles, so changes here could require changes in the wizard. -->\n @if (!modalContentTemplate) {\n <div class=\"modal-content-wrapper\">\n <div class=\"modal-content\">\n <div class=\"modal-header--accessible\">\n <ng-content select=\".leading-button\"></ng-content>\n <div class=\"modal-title-wrapper\" #title [id]=\"modalId\" cdkFocusInitial tabindex=\"-1\">\n <ng-content select=\".modal-title\"></ng-content>\n </div>\n @if (closable) {\n <button\n type=\"button\"\n [attr.aria-label]=\"closeButtonAriaLabel || commonStrings.keys.close\"\n class=\"close\"\n (click)=\"close()\"\n >\n <cds-icon shape=\"window-close\"></cds-icon>\n </button>\n }\n </div>\n <div #body class=\"modal-body-wrapper\">\n <ng-content select=\".modal-body\"></ng-content>\n </div>\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"modalContentTemplate\"></ng-template>\n }\n </div>\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\n @if (backdrop) {\n <div\n [@fade]\n class=\"modal-backdrop\"\n [class.static]=\"staticBackdrop\"\n aria-hidden=\"true\"\n (click)=\"backdropClick()\"\n ></div>\n }\n</div>\n}\n", styles: [":host{display:none}:host.open{display:inline}\n"], dependencies: [{ kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.CdkTrapFocusModule_CdkTrapFocus, selector: "[cdkTrapFocus]" }, { kind: "component", type: i5.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }], viewProviders: [ScrollingService], animations: [
161
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrModal, deps: [{ token: i1.ScrollingService }, { token: i1.ClrCommonStringsService }, { token: ModalStackService }, { token: ClrModalConfigurationService }], target: i0.ɵɵFactoryTarget.Component }); }
162
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: ClrModal, isStandalone: false, selector: "clr-modal", inputs: { _open: ["clrModalOpen", "_open"], closable: ["clrModalClosable", "closable"], closeButtonAriaLabel: ["clrModalCloseButtonAriaLabel", "closeButtonAriaLabel"], size: ["clrModalSize", "size"], staticBackdrop: ["clrModalStaticBackdrop", "staticBackdrop"], skipAnimation: ["clrModalSkipAnimation", "skipAnimation"], stopClose: ["clrModalPreventClose", "stopClose"], labelledBy: ["clrModalLabelledById", "labelledBy"], bypassScrollService: ["clrModalOverrideScrollService", "bypassScrollService"] }, outputs: { _openChanged: "clrModalOpenChange", altClose: "clrModalAlternateClose" }, host: { properties: { "class.open": "this._open" } }, queries: [{ propertyName: "modalContentTemplate", first: true, predicate: ["clrInternalModalContentTemplate"], descendants: true }], viewQueries: [{ propertyName: "title", first: true, predicate: ["title"], descendants: true }, { propertyName: "bodyElementRef", first: true, predicate: ["body"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!--\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\n@if (_open) {\n<div class=\"modal\" [class.modal-full-screen]=\"size == 'full-screen'\">\n <!--fixme: revisit when ngClass works with exit animation-->\n <div\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n [@fadeMove]=\"fadeMove\"\n (@fadeMove.done)=\"fadeDone($event)\"\n class=\"modal-dialog\"\n [class.modal-sm]=\"size == 'sm'\"\n [class.modal-lg]=\"size == 'lg'\"\n [class.modal-xl]=\"size == 'xl'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [attr.aria-hidden]=\"!_open\"\n [attr.aria-labelledby]=\"labelledBy || modalId\"\n >\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\n <!-- This wizard is tightly coupled to the modal styles, so changes here could require changes in the wizard. -->\n @if (!modalContentTemplate) {\n <div class=\"modal-content-wrapper\">\n <div class=\"modal-content\">\n <div class=\"modal-header--accessible\">\n <ng-content select=\".leading-button\"></ng-content>\n <div class=\"modal-title-wrapper\" #title [id]=\"modalId\" cdkFocusInitial tabindex=\"-1\">\n <ng-content select=\".modal-title\"></ng-content>\n </div>\n @if (closable) {\n <button\n type=\"button\"\n [attr.aria-label]=\"closeButtonAriaLabel || commonStrings.keys.close\"\n class=\"close\"\n (click)=\"close()\"\n >\n <cds-icon shape=\"window-close\"></cds-icon>\n </button>\n }\n </div>\n <div #body class=\"modal-body-wrapper\">\n <ng-content select=\".modal-body\"></ng-content>\n </div>\n <ng-content select=\".modal-footer\"></ng-content>\n </div>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"modalContentTemplate\"></ng-template>\n }\n </div>\n <div class=\"clr-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\n @if (backdrop) {\n <div\n [@fade]\n class=\"modal-backdrop\"\n [class.static]=\"staticBackdrop\"\n aria-hidden=\"true\"\n (click)=\"backdropClick()\"\n ></div>\n }\n</div>\n}\n", styles: [":host{display:none}:host.open{display:inline}\n"], dependencies: [{ kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.CdkTrapFocusModule_CdkTrapFocus, selector: "[cdkTrapFocus]" }, { kind: "component", type: i5.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge", "innerOffset"] }], viewProviders: [ScrollingService], animations: [
163
163
  trigger('fadeMove', [
164
164
  transition('* => fadeDown', [
165
165
  style({ opacity: 0, transform: 'translate(0, -25%)' }),
@@ -179,7 +179,7 @@ class ClrModal {
179
179
  ]),
180
180
  ] }); }
181
181
  }
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrModal, decorators: [{
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrModal, decorators: [{
183
183
  type: Component,
184
184
  args: [{ selector: 'clr-modal', viewProviders: [ScrollingService], animations: [
185
185
  trigger('fadeMove', [
@@ -300,10 +300,10 @@ class ClrModalBody {
300
300
  this.removeTabIndex();
301
301
  }
302
302
  }
303
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrModalBody, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
304
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: ClrModalBody, isStandalone: false, selector: ".modal-body", ngImport: i0 }); }
303
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrModalBody, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
304
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.25", type: ClrModalBody, isStandalone: false, selector: ".modal-body", ngImport: i0 }); }
305
305
  }
306
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrModalBody, decorators: [{
306
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrModalBody, decorators: [{
307
307
  type: Directive,
308
308
  args: [{
309
309
  selector: '.modal-body',
@@ -318,14 +318,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
318
318
  * The full license information can be found in LICENSE in the root directory of this project.
319
319
  */
320
320
  class ClrModalHostComponent {
321
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrModalHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
322
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: ClrModalHostComponent, isStandalone: false, selector: "[clrModalHost]", host: { properties: { "class.clr-modal-host": "true" } }, ngImport: i0, template: `
321
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrModalHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
322
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.25", type: ClrModalHostComponent, isStandalone: false, selector: "[clrModalHost]", host: { properties: { "class.clr-modal-host": "true" } }, ngImport: i0, template: `
323
323
  <div class="clr-modal-host-scrollable">
324
324
  <ng-content></ng-content>
325
325
  </div>
326
326
  `, isInline: true }); }
327
327
  }
328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrModalHostComponent, decorators: [{
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrModalHostComponent, decorators: [{
329
329
  type: Component,
330
330
  args: [{
331
331
  selector: '[clrModalHost]',
@@ -350,11 +350,11 @@ class ClrModalModule {
350
350
  constructor() {
351
351
  ClarityIcons.addIcons(windowCloseIcon);
352
352
  }
353
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
354
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ClrModalModule, declarations: [ClrModal, ClrModalBody, ClrModalHostComponent], imports: [CommonModule, CdkTrapFocusModule, ClrIcon], exports: [ClrModal, ClrModalBody, ClrModalHostComponent, ClrIcon] }); }
355
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrModalModule, imports: [CommonModule, CdkTrapFocusModule, ClrIcon] }); }
353
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
354
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: ClrModalModule, declarations: [ClrModal, ClrModalBody, ClrModalHostComponent], imports: [CommonModule, CdkTrapFocusModule, ClrIcon], exports: [ClrModal, ClrModalBody, ClrModalHostComponent, ClrIcon] }); }
355
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrModalModule, imports: [CommonModule, CdkTrapFocusModule, ClrIcon] }); }
356
356
  }
357
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrModalModule, decorators: [{
357
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrModalModule, decorators: [{
358
358
  type: NgModule,
359
359
  args: [{
360
360
  imports: [CommonModule, CdkTrapFocusModule, ClrIcon],
@@ -524,10 +524,10 @@ class ClrSidePanel {
524
524
  this.cleanupPinnedClasses();
525
525
  this.hostElement.classList.add(`clr-side-panel-pinned-${this.position}-${this.size}`);
526
526
  }
527
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrSidePanel, deps: [{ token: i0.ElementRef }, { token: ClrModalConfigurationService }, { token: i1.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component }); }
528
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: ClrSidePanel, isStandalone: false, selector: "clr-side-panel", inputs: { closeButtonAriaLabel: ["clrSidePanelCloseButtonAriaLabel", "closeButtonAriaLabel"], skipAnimation: ["clrSidePanelSkipAnimation", "skipAnimation"], labelledById: ["clrSidePanelLabelledById", "labelledById"], staticBackdrop: ["clrSidePanelStaticBackdrop", "staticBackdrop"], closable: ["clrSidePanelClosable", "closable"], preventClose: ["clrSidePanelPreventClose", "preventClose"], _open: ["clrSidePanelOpen", "_open"], size: ["clrSidePanelSize", "size"], position: ["clrSidePanelPosition", "position"], pinned: ["clrSidePanelPinned", "pinned"], clrSidePanelBackdrop: "clrSidePanelBackdrop", clrSidePanelPinnable: "clrSidePanelPinnable" }, outputs: { openChange: "clrSidePanelOpenChange", altClose: "clrSidePanelAlternateClose" }, host: { listeners: { "document:pointerup": "documentClick($event)" }, properties: { "class.side-panel": "true", "class.side-panel-bottom": "this.bottomPositionCssClass" } }, viewQueries: [{ propertyName: "modal", first: true, predicate: ClrModal, descendants: true }], ngImport: i0, template: "<!--\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<clr-modal\n [clrModalOpen]=\"_open\"\n (clrModalOpenChange)=\"handleModalOpen($event)\"\n [clrModalCloseButtonAriaLabel]=\"closeButtonAriaLabel\"\n [clrModalSize]=\"size\"\n [clrModalSkipAnimation]=\"skipAnimation\"\n [clrModalStaticBackdrop]=\"staticBackdrop\"\n [clrModalLabelledById]=\"labelledById\"\n [clrModalPreventClose]=\"preventClose\"\n [clrModalClosable]=\"closable\"\n (clrModalAlternateClose)=\"altClose.emit($event)\"\n [clrModalOverrideScrollService]=\"true\"\n>\n @if (clrSidePanelPinnable) {\n <button\n type=\"button\"\n [attr.aria-label]=\"commonStrings.keys.sidePanelPin\"\n class=\"leading-button pinnable\"\n (click)=\"togglePinned()\"\n >\n <cds-icon [shape]=\"pinned ? 'unpin' : 'pin'\"></cds-icon>\n </button>\n }\n <div class=\"modal-title\"><ng-content select=\".side-panel-title\"></ng-content></div>\n <div class=\"modal-body\"><ng-content select=\".side-panel-body\"></ng-content></div>\n <div class=\"modal-footer\"><ng-content select=\".side-panel-footer\"></ng-content></div>\n</clr-modal>\n", dependencies: [{ kind: "component", type: i5.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "component", type: ClrModal, selector: "clr-modal", inputs: ["clrModalOpen", "clrModalClosable", "clrModalCloseButtonAriaLabel", "clrModalSize", "clrModalStaticBackdrop", "clrModalSkipAnimation", "clrModalPreventClose", "clrModalLabelledById", "clrModalOverrideScrollService"], outputs: ["clrModalOpenChange", "clrModalAlternateClose"] }, { kind: "directive", type: ClrModalBody, selector: ".modal-body" }] }); }
527
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSidePanel, deps: [{ token: i0.ElementRef }, { token: ClrModalConfigurationService }, { token: i1.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component }); }
528
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: ClrSidePanel, isStandalone: false, selector: "clr-side-panel", inputs: { closeButtonAriaLabel: ["clrSidePanelCloseButtonAriaLabel", "closeButtonAriaLabel"], skipAnimation: ["clrSidePanelSkipAnimation", "skipAnimation"], labelledById: ["clrSidePanelLabelledById", "labelledById"], staticBackdrop: ["clrSidePanelStaticBackdrop", "staticBackdrop"], closable: ["clrSidePanelClosable", "closable"], preventClose: ["clrSidePanelPreventClose", "preventClose"], _open: ["clrSidePanelOpen", "_open"], size: ["clrSidePanelSize", "size"], position: ["clrSidePanelPosition", "position"], pinned: ["clrSidePanelPinned", "pinned"], clrSidePanelBackdrop: "clrSidePanelBackdrop", clrSidePanelPinnable: "clrSidePanelPinnable" }, outputs: { openChange: "clrSidePanelOpenChange", altClose: "clrSidePanelAlternateClose" }, host: { listeners: { "document:pointerup": "documentClick($event)" }, properties: { "class.side-panel": "true", "class.side-panel-bottom": "this.bottomPositionCssClass" } }, viewQueries: [{ propertyName: "modal", first: true, predicate: ClrModal, descendants: true }], ngImport: i0, template: "<!--\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<clr-modal\n [clrModalOpen]=\"_open\"\n (clrModalOpenChange)=\"handleModalOpen($event)\"\n [clrModalCloseButtonAriaLabel]=\"closeButtonAriaLabel\"\n [clrModalSize]=\"size\"\n [clrModalSkipAnimation]=\"skipAnimation\"\n [clrModalStaticBackdrop]=\"staticBackdrop\"\n [clrModalLabelledById]=\"labelledById\"\n [clrModalPreventClose]=\"preventClose\"\n [clrModalClosable]=\"closable\"\n (clrModalAlternateClose)=\"altClose.emit($event)\"\n [clrModalOverrideScrollService]=\"true\"\n>\n @if (clrSidePanelPinnable) {\n <button\n type=\"button\"\n [attr.aria-label]=\"commonStrings.keys.sidePanelPin\"\n class=\"leading-button pinnable\"\n (click)=\"togglePinned()\"\n >\n <cds-icon [shape]=\"pinned ? 'unpin' : 'pin'\"></cds-icon>\n </button>\n }\n <div class=\"modal-title\"><ng-content select=\".side-panel-title\"></ng-content></div>\n <div class=\"modal-body\"><ng-content select=\".side-panel-body\"></ng-content></div>\n <div class=\"modal-footer\"><ng-content select=\".side-panel-footer\"></ng-content></div>\n</clr-modal>\n", dependencies: [{ kind: "component", type: i5.ClrIcon, selector: "clr-icon, cds-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge", "innerOffset"] }, { kind: "component", type: ClrModal, selector: "clr-modal", inputs: ["clrModalOpen", "clrModalClosable", "clrModalCloseButtonAriaLabel", "clrModalSize", "clrModalStaticBackdrop", "clrModalSkipAnimation", "clrModalPreventClose", "clrModalLabelledById", "clrModalOverrideScrollService"], outputs: ["clrModalOpenChange", "clrModalAlternateClose"] }, { kind: "directive", type: ClrModalBody, selector: ".modal-body" }] }); }
529
529
  }
530
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrSidePanel, decorators: [{
530
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSidePanel, decorators: [{
531
531
  type: Component,
532
532
  args: [{ selector: 'clr-side-panel', host: {
533
533
  '[class.side-panel]': 'true',
@@ -591,11 +591,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImpor
591
591
  */
592
592
  const CLR_SIDEPANEL_DIRECTIVES = [ClrSidePanel];
593
593
  class ClrSidePanelModule {
594
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrSidePanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
595
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: ClrSidePanelModule, declarations: [ClrSidePanel], imports: [CommonModule, CdkTrapFocusModule, ClrIcon, ClrModalModule], exports: [ClrSidePanel, ClrModalModule, ClrIcon] }); }
596
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrSidePanelModule, imports: [CommonModule, CdkTrapFocusModule, ClrIcon, ClrModalModule, ClrModalModule] }); }
594
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSidePanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
595
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: ClrSidePanelModule, declarations: [ClrSidePanel], imports: [CommonModule, CdkTrapFocusModule, ClrIcon, ClrModalModule], exports: [ClrSidePanel, ClrModalModule, ClrIcon] }); }
596
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSidePanelModule, imports: [CommonModule, CdkTrapFocusModule, ClrIcon, ClrModalModule, ClrModalModule] }); }
597
597
  }
598
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: ClrSidePanelModule, decorators: [{
598
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: ClrSidePanelModule, decorators: [{
599
599
  type: NgModule,
600
600
  args: [{
601
601
  imports: [CommonModule, CdkTrapFocusModule, ClrIcon, ClrModalModule],