@hermes-ui/angular 0.1.5 → 0.1.6

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 (33) hide show
  1. package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs +1 -1
  2. package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs.map +1 -1
  3. package/fesm2022/hermes-ui-angular-card.mjs +48 -0
  4. package/fesm2022/hermes-ui-angular-card.mjs.map +1 -0
  5. package/fesm2022/hermes-ui-angular-divider.mjs +46 -0
  6. package/fesm2022/hermes-ui-angular-divider.mjs.map +1 -0
  7. package/fesm2022/hermes-ui-angular-forms-datepicker.mjs +1 -1
  8. package/fesm2022/hermes-ui-angular-forms-datepicker.mjs.map +1 -1
  9. package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs +31 -3
  10. package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs.map +1 -1
  11. package/fesm2022/hermes-ui-angular-pagination.mjs +116 -0
  12. package/fesm2022/hermes-ui-angular-pagination.mjs.map +1 -0
  13. package/fesm2022/hermes-ui-angular.mjs +16 -3
  14. package/fesm2022/hermes-ui-angular.mjs.map +1 -1
  15. package/layout/vertical-nav/_mixins.vertical-nav.scss +3 -7
  16. package/layout/vertical-nav/_properties.vertical-nav.scss +10 -5
  17. package/layout/vertical-nav/_variables.vertical-nav.scss +2 -0
  18. package/layout/vertical-nav/_vertical-nav.clarity.scss +14 -0
  19. package/package.json +13 -1
  20. package/popover/dropdown/_dropdown.clarity.scss +8 -7
  21. package/popover/dropdown/_menu-mixins.clarity.scss +22 -6
  22. package/popover/dropdown/_properties.dropdown.scss +20 -0
  23. package/popover/dropdown/_variables.dropdown.scss +7 -0
  24. package/types/hermes-ui-angular-card.d.ts +24 -0
  25. package/types/hermes-ui-angular-card.d.ts.map +1 -0
  26. package/types/hermes-ui-angular-divider.d.ts +20 -0
  27. package/types/hermes-ui-angular-divider.d.ts.map +1 -0
  28. package/types/hermes-ui-angular-layout-vertical-nav.d.ts +11 -1
  29. package/types/hermes-ui-angular-layout-vertical-nav.d.ts.map +1 -1
  30. package/types/hermes-ui-angular-pagination.d.ts +52 -0
  31. package/types/hermes-ui-angular-pagination.d.ts.map +1 -0
  32. package/types/hermes-ui-angular.d.ts +23 -17
  33. package/types/hermes-ui-angular.d.ts.map +1 -1
@@ -310,12 +310,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
310
310
  * The full license information can be found in LICENSE in the root directory of this project.
311
311
  */
312
312
  class HermesVerticalNav {
313
+ onPeekEnter() {
314
+ if (this.pinnable && this.collapsed) {
315
+ this.peeking = true;
316
+ }
317
+ }
318
+ onPeekLeave() {
319
+ this.peeking = false;
320
+ }
313
321
  constructor(_navService, _navIconService, _navGroupRegistrationService, commonStrings) {
314
322
  this._navService = _navService;
315
323
  this._navIconService = _navIconService;
316
324
  this._navGroupRegistrationService = _navGroupRegistrationService;
317
325
  this.commonStrings = commonStrings;
326
+ /** Quando true, o toggle vira semanticamente um "fixar aberta/fechada" (ícones
327
+ * pin/unpin em vez do chevron duplo genérico) e habilita o hover-peek: passar
328
+ * o mouse enquanto colapsada e não fixada expande temporariamente (ver
329
+ * onPeekEnter/onPeekLeave abaixo), sem persistir nem emitir o output. */
330
+ this.pinnable = false;
318
331
  this.contentId = uniqueIdFactory();
332
+ /** true só enquanto o mouse está sobre uma nav colapsada e "pinnable" —
333
+ * não persiste, não afeta `collapsed`/o output, é puramente visual. */
334
+ this.peeking = false;
319
335
  this._collapsedChanged = new EventEmitter(true);
320
336
  this._sub = _navService.collapsedChanged.subscribe(value => {
321
337
  this._collapsedChanged.emit(value);
@@ -352,19 +368,31 @@ class HermesVerticalNav {
352
368
  this.collapsed = !this.collapsed;
353
369
  }
354
370
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesVerticalNav, deps: [{ token: VerticalNavService }, { token: VerticalNavIconService }, { token: VerticalNavGroupRegistrationService }, { token: i1.HermesCommonStringsService }], target: i0.ɵɵFactoryTarget.Component }); }
355
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesVerticalNav, isStandalone: false, selector: "hermes-vertical-nav", inputs: { toggleLabel: ["hermesVerticalNavToggleLabel", "toggleLabel"], collapsible: ["hermesVerticalNavCollapsible", "collapsible"], collapsed: ["hermesVerticalNavCollapsed", "collapsed"] }, outputs: { _collapsedChanged: "hermesVerticalNavCollapsedChange" }, host: { properties: { "class.is-collapsed": "collapsed", "class.has-nav-groups": "hasNavGroups", "class.has-icons": "hasIcons" }, classAttribute: "hermes-vertical-nav" }, providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService], ngImport: i0, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (collapsible) {\r\n<button\r\n type=\"button\"\r\n class=\"nav-trigger\"\r\n [class.on-collapse]=\"collapsed\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n (click)=\"toggleByButton()\"\r\n>\r\n <hermes-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></hermes-icon>\r\n</button>\r\n}\r\n<div [id]=\"contentId\" class=\"nav-content\">\r\n <ng-content></ng-content>\r\n @if (collapsible && collapsed) {\r\n <button\r\n type=\"button\"\r\n (click)=\"collapsed = false\"\r\n class=\"nav-btn\"\r\n aria-hidden=\"true\"\r\n tabindex=\"-1\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n ></button>\r\n }\r\n</div>\r\n", dependencies: [{ kind: "component", type: i5.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }] }); }
371
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesVerticalNav, isStandalone: false, selector: "hermes-vertical-nav", inputs: { toggleLabel: ["hermesVerticalNavToggleLabel", "toggleLabel"], pinnable: ["hermesVerticalNavPinnable", "pinnable"], collapsible: ["hermesVerticalNavCollapsible", "collapsible"], collapsed: ["hermesVerticalNavCollapsed", "collapsed"] }, outputs: { _collapsedChanged: "hermesVerticalNavCollapsedChange" }, host: { listeners: { "mouseenter": "onPeekEnter()", "mouseleave": "onPeekLeave()" }, properties: { "class.is-collapsed": "collapsed && !peeking", "class.is-peeking": "peeking", "class.has-nav-groups": "hasNavGroups", "class.has-icons": "hasIcons", "class.is-pinnable": "pinnable" }, classAttribute: "hermes-vertical-nav" }, providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService], ngImport: i0, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (collapsible) {\r\n<button\r\n type=\"button\"\r\n class=\"nav-trigger\"\r\n [class.on-collapse]=\"collapsed\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n (click)=\"toggleByButton()\"\r\n>\r\n @if (pinnable) {\r\n <hermes-icon [shape]=\"collapsed ? 'pin' : 'unpin'\" class=\"nav-trigger-icon\"></hermes-icon>\r\n } @else {\r\n <hermes-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></hermes-icon>\r\n }\r\n</button>\r\n}\r\n<div [id]=\"contentId\" class=\"nav-content\">\r\n <ng-content></ng-content>\r\n @if (collapsible && collapsed) {\r\n <button\r\n type=\"button\"\r\n (click)=\"collapsed = false\"\r\n class=\"nav-btn\"\r\n aria-hidden=\"true\"\r\n tabindex=\"-1\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n ></button>\r\n }\r\n</div>\r\n", dependencies: [{ kind: "component", type: i5.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }] }); }
356
372
  }
357
373
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesVerticalNav, decorators: [{
358
374
  type: Component,
359
375
  args: [{ selector: 'hermes-vertical-nav', providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService], host: {
360
376
  class: 'hermes-vertical-nav',
361
- '[class.is-collapsed]': 'collapsed',
377
+ // Suprimido durante o peek: reaproveita 100% do CSS já existente pro
378
+ // estado expandido (inclusive empurrar o conteúdo ao lado, via flex
379
+ // normal) em vez de tentar "desfazer" as regras de .is-collapsed via
380
+ // :hover (o `collapsed` real, usado por toggleByButton()/ariaExpanded/
381
+ // o output, não muda — só a classe aplicada).
382
+ '[class.is-collapsed]': 'collapsed && !peeking',
383
+ '[class.is-peeking]': 'peeking',
362
384
  '[class.has-nav-groups]': 'hasNavGroups',
363
385
  '[class.has-icons]': 'hasIcons',
364
- }, standalone: false, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (collapsible) {\r\n<button\r\n type=\"button\"\r\n class=\"nav-trigger\"\r\n [class.on-collapse]=\"collapsed\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n (click)=\"toggleByButton()\"\r\n>\r\n <hermes-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></hermes-icon>\r\n</button>\r\n}\r\n<div [id]=\"contentId\" class=\"nav-content\">\r\n <ng-content></ng-content>\r\n @if (collapsible && collapsed) {\r\n <button\r\n type=\"button\"\r\n (click)=\"collapsed = false\"\r\n class=\"nav-btn\"\r\n aria-hidden=\"true\"\r\n tabindex=\"-1\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n ></button>\r\n }\r\n</div>\r\n" }]
386
+ '[class.is-pinnable]': 'pinnable',
387
+ '(mouseenter)': 'onPeekEnter()',
388
+ '(mouseleave)': 'onPeekLeave()',
389
+ }, standalone: false, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (collapsible) {\r\n<button\r\n type=\"button\"\r\n class=\"nav-trigger\"\r\n [class.on-collapse]=\"collapsed\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n (click)=\"toggleByButton()\"\r\n>\r\n @if (pinnable) {\r\n <hermes-icon [shape]=\"collapsed ? 'pin' : 'unpin'\" class=\"nav-trigger-icon\"></hermes-icon>\r\n } @else {\r\n <hermes-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></hermes-icon>\r\n }\r\n</button>\r\n}\r\n<div [id]=\"contentId\" class=\"nav-content\">\r\n <ng-content></ng-content>\r\n @if (collapsible && collapsed) {\r\n <button\r\n type=\"button\"\r\n (click)=\"collapsed = false\"\r\n class=\"nav-btn\"\r\n aria-hidden=\"true\"\r\n tabindex=\"-1\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n ></button>\r\n }\r\n</div>\r\n" }]
365
390
  }], ctorParameters: () => [{ type: VerticalNavService }, { type: VerticalNavIconService }, { type: VerticalNavGroupRegistrationService }, { type: i1.HermesCommonStringsService }], propDecorators: { toggleLabel: [{
366
391
  type: Input,
367
392
  args: ['hermesVerticalNavToggleLabel']
393
+ }], pinnable: [{
394
+ type: Input,
395
+ args: ['hermesVerticalNavPinnable']
368
396
  }], _collapsedChanged: [{
369
397
  type: Output,
370
398
  args: ['hermesVerticalNavCollapsedChange']
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-ui-angular-layout-vertical-nav.mjs","sources":["../../../layout/vertical-nav/vertical-nav-group-children.ts","../../../layout/vertical-nav/providers/vertical-nav-group.service.ts","../../../layout/vertical-nav/providers/vertical-nav-group-registration.service.ts","../../../layout/vertical-nav/providers/vertical-nav.service.ts","../../../layout/vertical-nav/vertical-nav-group.ts","../../../layout/vertical-nav/vertical-nav-group.html","../../../layout/vertical-nav/providers/vertical-nav-icon.service.ts","../../../layout/vertical-nav/vertical-nav.ts","../../../layout/vertical-nav/vertical-nav.html","../../../layout/vertical-nav/vertical-nav-link.ts","../../../layout/vertical-nav/vertical-nav-icon.ts","../../../layout/vertical-nav/vertical-nav.module.ts","../../../layout/vertical-nav/index.ts","../../../layout/vertical-nav/hermes-ui-angular-layout-vertical-nav.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'hermes-vertical-nav-group-children',\r\n template: `<ng-content></ng-content>`,\r\n standalone: false,\r\n})\r\nexport class HermesVerticalNavGroupChildren {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class VerticalNavGroupService {\r\n private _expandChange = new Subject<boolean>();\r\n\r\n get expandChange(): Observable<boolean> {\r\n return this._expandChange.asObservable();\r\n }\r\n\r\n expand(): void {\r\n this._expandChange.next(true);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class VerticalNavGroupRegistrationService {\r\n navGroupCount = 0;\r\n\r\n registerNavGroup() {\r\n this.navGroupCount++;\r\n }\r\n\r\n unregisterNavGroup(): void {\r\n this.navGroupCount--;\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class VerticalNavService {\r\n private _animateOnCollapsed = new Subject<boolean>();\r\n private _collapsedChanged = new Subject<boolean>();\r\n private _collapsed = false;\r\n private _collapsible = false;\r\n\r\n get animateOnCollapsed(): Observable<boolean> {\r\n return this._animateOnCollapsed.asObservable();\r\n }\r\n\r\n get collapsedChanged(): Observable<boolean> {\r\n return this._collapsedChanged.asObservable();\r\n }\r\n\r\n get collapsed(): boolean {\r\n return this._collapsed;\r\n }\r\n set collapsed(value: boolean) {\r\n value = !!value;\r\n if (this.collapsible && this._collapsed !== value) {\r\n this.updateCollapseBehavior(value);\r\n }\r\n }\r\n\r\n get collapsible(): boolean {\r\n return this._collapsible;\r\n }\r\n set collapsible(value: boolean) {\r\n value = !!value;\r\n if (this._collapsible !== value) {\r\n if (!value && this.collapsed) {\r\n this.updateCollapseBehavior(false);\r\n }\r\n this._collapsible = value;\r\n }\r\n }\r\n\r\n private updateCollapseBehavior(value: boolean): void {\r\n this._animateOnCollapsed.next(value);\r\n this._collapsed = value;\r\n this._collapsedChanged.next(value);\r\n }\r\n}\r\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 { HermesCommonStringsService, IfExpandService } from '@hermes-ui/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: 'hermes-vertical-nav-group',\n templateUrl: './vertical-nav-group.html',\n providers: [IfExpandService, VerticalNavGroupService],\n animations: [\n trigger('hermesExpand', [\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 HermesVerticalNavGroup implements AfterContentInit, OnDestroy {\n @Output('hermesVerticalNavGroupExpandedChange') 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: HermesCommonStringsService\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 hermesIfExpanded 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('hermesVerticalNavGroupExpanded')\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","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n<div class=\"nav-group-content\">\r\n <ng-content select=\"[hermesVerticalNavLink]\"></ng-content>\r\n <button class=\"nav-group-trigger\" type=\"button\" [attr.aria-expanded]=\"expanded\" (click)=\"toggleExpand()\">\r\n <ng-content select=\"[hermesVerticalNavIcon]\"></ng-content>\r\n <div class=\"nav-group-text\">\r\n <ng-content></ng-content>\r\n </div>\r\n <hermes-icon shape=\"angle\" class=\"nav-group-trigger-icon\" [direction]=\"expanded ? 'down' : 'right'\"></hermes-icon>\r\n </button>\r\n</div>\r\n<!--TODO: This animation needs to be added to the hermes-vertical-nav-group-children component-->\r\n<div class=\"nav-group-children\" [@hermesExpand]=\"expandAnimationState\" (@hermesExpand.done)=\"expandAnimationDone($event)\">\r\n <ng-content select=\"[hermesIfExpanded], hermes-vertical-nav-group-children\"></ng-content>\r\n</div>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class VerticalNavIconService {\r\n private _icons = 0;\r\n\r\n get hasIcons(): boolean {\r\n return this._icons > 0;\r\n }\r\n\r\n registerIcon(): void {\r\n this._icons++;\r\n }\r\n\r\n unregisterIcon(): void {\r\n this._icons--;\r\n }\r\n}\r\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 { HermesCommonStringsService, uniqueIdFactory } from '@hermes-ui/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: 'hermes-vertical-nav',\n templateUrl: './vertical-nav.html',\n providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService],\n host: {\n class: 'hermes-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 HermesVerticalNav implements OnDestroy {\n @Input('hermesVerticalNavToggleLabel') toggleLabel: string;\n contentId = uniqueIdFactory();\n\n @Output('hermesVerticalNavCollapsedChange') 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: HermesCommonStringsService\n ) {\n this._sub = _navService.collapsedChanged.subscribe(value => {\n this._collapsedChanged.emit(value);\n });\n }\n\n @Input('hermesVerticalNavCollapsible')\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('hermesVerticalNavCollapsed')\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","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (collapsible) {\r\n<button\r\n type=\"button\"\r\n class=\"nav-trigger\"\r\n [class.on-collapse]=\"collapsed\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n (click)=\"toggleByButton()\"\r\n>\r\n <hermes-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></hermes-icon>\r\n</button>\r\n}\r\n<div [id]=\"contentId\" class=\"nav-content\">\r\n <ng-content></ng-content>\r\n @if (collapsible && collapsed) {\r\n <button\r\n type=\"button\"\r\n (click)=\"collapsed = false\"\r\n class=\"nav-btn\"\r\n aria-hidden=\"true\"\r\n tabindex=\"-1\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n ></button>\r\n }\r\n</div>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { ChangeDetectorRef, Component, ElementRef, Inject, OnDestroy, Optional } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { VerticalNavGroupService } from './providers/vertical-nav-group.service';\r\n\r\n@Component({\r\n selector: '[hermesVerticalNavLink]',\r\n template: `\r\n <ng-content select=\"[hermesVerticalNavIcon]\"></ng-content>\r\n <span class=\"nav-text\">\r\n <ng-content></ng-content>\r\n </span>\r\n `,\r\n host: {\r\n class: 'nav-link',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesVerticalNavLink implements OnDestroy {\r\n private destroy$ = new Subject<void>();\r\n\r\n constructor(\r\n host: ElementRef<HTMLElement>,\r\n ref: ChangeDetectorRef,\r\n @Optional() @Inject(VerticalNavGroupService) navGroupService: VerticalNavGroupService | null\r\n ) {\r\n // Note: since the `VerticalNavGroupService` is an optional provider, we'll setup the event\r\n // listener only when the `[hermesVerticalLink]` is located within the `hermes-vertical-nav-group`.\r\n navGroupService &&\r\n fromEvent(host.nativeElement, 'click')\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n navGroupService.expand();\r\n ref.markForCheck();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Directive, OnDestroy } from '@angular/core';\r\n\r\nimport { VerticalNavIconService } from './providers/vertical-nav-icon.service';\r\n\r\n@Directive({\r\n selector: '[hermesVerticalNavIcon]',\r\n host: { class: 'nav-icon' },\r\n standalone: false,\r\n})\r\nexport class HermesVerticalNavIcon implements OnDestroy {\r\n constructor(private _verticalNavIconService: VerticalNavIconService) {\r\n _verticalNavIconService.registerIcon();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._verticalNavIconService.unregisterIcon();\r\n }\r\n}\r\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, HermesIcon } from '@hermes-ui/angular/icon';\nimport { HermesConditionalModule, HermesFocusOnViewInitModule } from '@hermes-ui/angular/utils';\n\nimport { HermesVerticalNav } from './vertical-nav';\nimport { HermesVerticalNavGroup } from './vertical-nav-group';\nimport { HermesVerticalNavGroupChildren } from './vertical-nav-group-children';\nimport { HermesVerticalNavIcon } from './vertical-nav-icon';\nimport { HermesVerticalNavLink } from './vertical-nav-link';\n\nexport const HERMES_VERTICAL_NAV_DIRECTIVES: Type<any>[] = [\n HermesVerticalNav,\n HermesVerticalNavLink,\n HermesVerticalNavGroup,\n HermesVerticalNavGroupChildren,\n HermesVerticalNavIcon,\n];\n\n@NgModule({\n imports: [CommonModule, HermesIcon, HermesConditionalModule, HermesFocusOnViewInitModule],\n declarations: [HERMES_VERTICAL_NAV_DIRECTIVES],\n exports: [HERMES_VERTICAL_NAV_DIRECTIVES, HermesConditionalModule, HermesIcon, HermesFocusOnViewInitModule],\n})\nexport class HermesVerticalNavModule {\n constructor() {\n ClarityIcons.addIcons(angleIcon, angleDoubleIcon);\n }\n}\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport * from './vertical-nav-group-children';\r\nexport * from './vertical-nav-group';\r\nexport * from './vertical-nav';\r\nexport * from './vertical-nav-link';\r\nexport * from './vertical-nav-icon';\r\nexport * from './vertical-nav.module';\r\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":";;;;;;;;;;;AAAA;;;;;AAKG;MASU,8BAA8B,CAAA;+GAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,+FAH/B,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAG1B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAL1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oCAAoC;AAC9C,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;AACrC,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;ACbD;;;;;AAKG;MAMU,uBAAuB,CAAA;AADpC,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAW;AAS/C,IAAA;AAPC,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;IAC1C;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/B;+GATW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAvB,uBAAuB,EAAA,CAAA,CAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC;;;ACVD;;;;;AAKG;MAKU,mCAAmC,CAAA;AADhD,IAAA,WAAA,GAAA;QAEE,IAAA,CAAA,aAAa,GAAG,CAAC;AASlB,IAAA;IAPC,gBAAgB,GAAA;QACd,IAAI,CAAC,aAAa,EAAE;IACtB;IAEA,kBAAkB,GAAA;QAChB,IAAI,CAAC,aAAa,EAAE;IACtB;+GATW,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAnC,mCAAmC,EAAA,CAAA,CAAA;;4FAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAD/C;;;ACTD;;;;;AAKG;MAMU,kBAAkB,CAAA;AAD/B,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,OAAO,EAAW;AAC5C,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,OAAO,EAAW;QAC1C,IAAA,CAAA,UAAU,GAAG,KAAK;QAClB,IAAA,CAAA,YAAY,GAAG,KAAK;AAsC7B,IAAA;AApCC,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE;IAChD;AAEA,IAAA,IAAI,gBAAgB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;IAC9C;AAEA,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU;IACxB;IACA,IAAI,SAAS,CAAC,KAAc,EAAA;AAC1B,QAAA,KAAK,GAAG,CAAC,CAAC,KAAK;QACf,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;AACjD,YAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;QACpC;IACF;AAEA,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY;IAC1B;IACA,IAAI,WAAW,CAAC,KAAc,EAAA;AAC5B,QAAA,KAAK,GAAG,CAAC,CAAC,KAAK;AACf,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE;AAC/B,YAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;AAC5B,gBAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YACpC;AACA,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK;QAC3B;IACF;AAEQ,IAAA,sBAAsB,CAAC,KAAc,EAAA;AAC3C,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC;AACpC,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK;AACvB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;IACpC;+GAzCW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;ACVD;;;;;AAKG;AAWH,MAAM,cAAc,GAAG,UAAU;AACjC,MAAM,eAAe,GAAG,WAAW;MAgBtB,sBAAsB,CAAA;IAOjC,WAAA,CACU,WAA4B,EAC5B,4BAAiE,EACzE,eAAwC,EAChC,WAA+B,EAChC,aAAyC,EAAA;QAJxC,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,4BAA4B,GAA5B,4BAA4B;QAE5B,IAAA,CAAA,WAAW,GAAX,WAAW;QACZ,IAAA,CAAA,aAAa,GAAb,aAAa;AAX0B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,CAAU,IAAI,CAAC;QAExF,IAAA,CAAA,WAAW,GAAG,KAAK;QACnB,IAAA,CAAA,cAAc,GAAmB,EAAE;QACnC,IAAA,CAAA,qBAAqB,GAAW,eAAe;QASrD,4BAA4B,CAAC,gBAAgB,EAAE;;;;;;;AAQ/C,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,IAAG;YACzC,IAAI,KAAK,IAAI,IAAI,CAAC,oBAAoB,KAAK,eAAe,EAAE;AAC1D,gBAAA,IAAI,WAAW,CAAC,SAAS,EAAE;AACzB,oBAAA,WAAW,CAAC,SAAS,GAAG,KAAK;gBAC/B;AACA,gBAAA,IAAI,CAAC,oBAAoB,GAAG,cAAc;YAC5C;iBAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,oBAAoB,KAAK,cAAc,EAAE;AACjE,gBAAA,IAAI,CAAC,oBAAoB,GAAG,eAAe;YAC7C;QACF,CAAC,CAAC,CACH;;;AAID,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,WAAW,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,eAAwB,KAAI;AACpE,YAAA,IAAI,eAAe,IAAI,IAAI,CAAC,QAAQ,EAAE;AACpC,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,gBAAA,IAAI,CAAC,oBAAoB,GAAG,eAAe;YAC7C;AAAO,iBAAA,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC/C,IAAI,CAAC,WAAW,EAAE;AAClB,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK;YAC1B;QACF,CAAC,CAAC,CACH;;AAGD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,eAAe,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,MAAe,KAAI;AACzD,YAAA,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC5B,IAAI,CAAC,WAAW,EAAE;YACpB;QACF,CAAC,CAAC,CACH;IACH;AAEA,IAAA,IACI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ;IAClC;IACA,IAAI,QAAQ,CAAC,KAAc,EAAA;QACzB,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,KAAK,EAAE;AACvC,YAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,KAAK;AACjC,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QACjC;IACF;IAEA,IACI,iBAAiB,CAAC,KAAuB,EAAA;AAC3C,QAAA,KAAK,GAAG,CAAC,CAAC,KAAK;AACf,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;;;;YAI3B,IAAI,CAAC,YAAY,EAAE;QACrB;IACF;AAEA,IAAA,IAAI,oBAAoB,GAAA;QACtB,OAAO,IAAI,CAAC,qBAAqB;IACnC;IACA,IAAI,oBAAoB,CAAC,KAAa,EAAA;AACpC,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,qBAAqB,EAAE;AACxC,YAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;QACpC;IACF;IAEA,kBAAkB,GAAA;;;QAGhB,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC/C,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;AACvB,YAAA,IAAI,CAAC,oBAAoB,GAAG,eAAe;QAC7C;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAiB,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;AACrE,QAAA,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,EAAE;IACxD;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;;AAEpB,QAAA,IAAI,CAAC,oBAAoB,GAAG,cAAc;IAC5C;IAEA,aAAa,GAAA;;;AAGX,QAAA,IAAI,CAAC,oBAAoB,GAAG,eAAe;IAC7C;;AAGA,IAAA,mBAAmB,CAAC,MAAsB,EAAA;AACxC,QAAA,IAAI,MAAM,CAAC,OAAO,KAAK,eAAe,EAAE;AACtC,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;QACvB;IACF;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,aAAa,EAAE;QACtB;aAAO;;AAEL,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;AAC9B,gBAAA,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK;YACpC;;YAEA,IAAI,CAAC,WAAW,EAAE;QACpB;IACF;+GAtIW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,mCAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,CAAA,gCAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,sCAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,EAAA,cAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EAXtB,CAAC,eAAe,EAAE,uBAAuB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBvD,gqCAqBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EDEc;YACV,OAAO,CAAC,cAAc,EAAE;gBACtB,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAC7C,gBAAA,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAClE,UAAU,CAAC,CAAA,EAAG,cAAc,CAAA,KAAA,EAAQ,eAAe,CAAA,CAAE,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;aACpF,CAAC;AACH,SAAA,EAAA,CAAA,CAAA;;4FAIU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAdlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,aAE1B,CAAC,eAAe,EAAE,uBAAuB,CAAC,EAAA,UAAA,EACzC;wBACV,OAAO,CAAC,cAAc,EAAE;4BACtB,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAC7C,4BAAA,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;4BAClE,UAAU,CAAC,CAAA,EAAG,cAAc,CAAA,KAAA,EAAQ,eAAe,CAAA,CAAE,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;yBACpF,CAAC;AACH,qBAAA,EAAA,IAAA,EACK,EAAE,KAAK,EAAE,WAAW,EAAE,cAChB,KAAK,EAAA,QAAA,EAAA,gqCAAA,EAAA;;sBAGhB,MAAM;uBAAC,sCAAsC;;sBA0D7C,WAAW;uBAAC,mBAAmB;;sBAW/B,KAAK;uBAAC,gCAAgC;;;AEvGzC;;;;;AAKG;MAKU,sBAAsB,CAAA;AADnC,IAAA,WAAA,GAAA;QAEU,IAAA,CAAA,MAAM,GAAG,CAAC;AAanB,IAAA;AAXC,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC;IACxB;IAEA,YAAY,GAAA;QACV,IAAI,CAAC,MAAM,EAAE;IACf;IAEA,cAAc,GAAA;QACZ,IAAI,CAAC,MAAM,EAAE;IACf;+GAbW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAtB,sBAAsB,EAAA,CAAA,CAAA;;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC;;;ACTD;;;;;AAKG;MAsBU,iBAAiB,CAAA;AAQ5B,IAAA,WAAA,CACU,WAA+B,EAC/B,eAAuC,EACvC,4BAAiE,EAClE,aAAyC,EAAA;QAHxC,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,eAAe,GAAf,eAAe;QACf,IAAA,CAAA,4BAA4B,GAA5B,4BAA4B;QAC7B,IAAA,CAAA,aAAa,GAAb,aAAa;QAVtB,IAAA,CAAA,SAAS,GAAG,eAAe,EAAE;AAEuB,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,CAAU,IAAI,CAAC;QAUrG,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,IAAG;AACzD,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;AACpC,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,IACI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW;IACrC;IACA,IAAI,WAAW,CAAC,KAAuB,EAAA;AACrC,QAAA,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,KAAgB;IACjD;AAEA,IAAA,IACI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS;IACnC;IACA,IAAI,SAAS,CAAC,KAAuB,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,KAAgB;IAC/C;AAEA,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,4BAA4B,CAAC,aAAa,GAAG,CAAC;IAC5D;AAEA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ;IACtC;AAEA,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,YAAA,OAAO,IAAI;QACb;AACA,QAAA,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,OAAO;IAC3C;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;IACzB;IAEA,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS;IAClC;+GAxDW,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mCAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,0BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,8BAAA,EAAA,aAAA,CAAA,EAAA,WAAA,EAAA,CAAA,8BAAA,EAAA,aAAA,CAAA,EAAA,SAAA,EAAA,CAAA,4BAAA,EAAA,WAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,kCAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,SAAA,EATjB,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,mCAAmC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClB9F,wrCAkCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDPa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAZ7B,SAAS;+BACE,qBAAqB,EAAA,SAAA,EAEpB,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,mCAAmC,CAAC,EAAA,IAAA,EACtF;AACJ,wBAAA,KAAK,EAAE,qBAAqB;AAC5B,wBAAA,sBAAsB,EAAE,WAAW;AACnC,wBAAA,wBAAwB,EAAE,cAAc;AACxC,wBAAA,mBAAmB,EAAE,UAAU;AAChC,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,wrCAAA,EAAA;;sBAGhB,KAAK;uBAAC,8BAA8B;;sBAGpC,MAAM;uBAAC,kCAAkC;;sBAezC,KAAK;uBAAC,8BAA8B;;sBAQpC,KAAK;uBAAC,4BAA4B;;;AEtDrC;;;;;AAKG;MAqBU,qBAAqB,CAAA;AAGhC,IAAA,WAAA,CACE,IAA6B,EAC7B,GAAsB,EACuB,eAA+C,EAAA;AALtF,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ;;;QASpC,eAAe;AACb,YAAA,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO;AAClC,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC7B,SAAS,CAAC,MAAK;gBACd,eAAe,CAAC,MAAM,EAAE;gBACxB,GAAG,CAAC,YAAY,EAAE;AACpB,YAAA,CAAC,CAAC;IACR;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IACtB;AArBW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,6EAMV,uBAAuB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AANlC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAXtB,CAAA;;;;;AAKT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAMU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAbjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,QAAQ,EAAE,CAAA;;;;;AAKT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,UAAU;AAClB,qBAAA;AACD,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;0BAOI;;0BAAY,MAAM;2BAAC,uBAAuB;;;AChC/C;;;;;AAKG;MAWU,qBAAqB,CAAA;AAChC,IAAA,WAAA,CAAoB,uBAA+C,EAAA;QAA/C,IAAA,CAAA,uBAAuB,GAAvB,uBAAuB;QACzC,uBAAuB,CAAC,YAAY,EAAE;IACxC;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE;IAC/C;+GAPW,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;AAC3B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;ACfD;;;;;AAKG;AAaI,MAAM,8BAA8B,GAAgB;IACzD,iBAAiB;IACjB,qBAAqB;IACrB,sBAAsB;IACtB,8BAA8B;IAC9B,qBAAqB;;MAQV,uBAAuB,CAAA;AAClC,IAAA,WAAA,GAAA;AACE,QAAA,YAAY,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACnD;+GAHW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,iBAZlC,iBAAiB;YACjB,qBAAqB;YACrB,sBAAsB;YACtB,8BAA8B;YAC9B,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAIX,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,2BAA2B,CAAA,EAAA,OAAA,EAAA,CARxF,iBAAiB;YACjB,qBAAqB;YACrB,sBAAsB;YACtB,8BAA8B;AAC9B,YAAA,qBAAqB,EAMqB,uBAAuB,EAAE,UAAU,EAAE,2BAA2B,CAAA,EAAA,CAAA,CAAA;gHAE/F,uBAAuB,EAAA,OAAA,EAAA,CAJxB,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,2BAA2B,EAE9C,uBAAuB,EAAc,2BAA2B,CAAA,EAAA,CAAA,CAAA;;4FAE/F,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,2BAA2B,CAAC;oBACzF,YAAY,EAAE,CAAC,8BAA8B,CAAC;oBAC9C,OAAO,EAAE,CAAC,8BAA8B,EAAE,uBAAuB,EAAE,UAAU,EAAE,2BAA2B,CAAC;AAC5G,iBAAA;;;AC9BD;;;;;AAKG;;ACLH;;AAEG;;"}
1
+ {"version":3,"file":"hermes-ui-angular-layout-vertical-nav.mjs","sources":["../../../layout/vertical-nav/vertical-nav-group-children.ts","../../../layout/vertical-nav/providers/vertical-nav-group.service.ts","../../../layout/vertical-nav/providers/vertical-nav-group-registration.service.ts","../../../layout/vertical-nav/providers/vertical-nav.service.ts","../../../layout/vertical-nav/vertical-nav-group.ts","../../../layout/vertical-nav/vertical-nav-group.html","../../../layout/vertical-nav/providers/vertical-nav-icon.service.ts","../../../layout/vertical-nav/vertical-nav.ts","../../../layout/vertical-nav/vertical-nav.html","../../../layout/vertical-nav/vertical-nav-link.ts","../../../layout/vertical-nav/vertical-nav-icon.ts","../../../layout/vertical-nav/vertical-nav.module.ts","../../../layout/vertical-nav/index.ts","../../../layout/vertical-nav/hermes-ui-angular-layout-vertical-nav.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'hermes-vertical-nav-group-children',\r\n template: `<ng-content></ng-content>`,\r\n standalone: false,\r\n})\r\nexport class HermesVerticalNavGroupChildren {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class VerticalNavGroupService {\r\n private _expandChange = new Subject<boolean>();\r\n\r\n get expandChange(): Observable<boolean> {\r\n return this._expandChange.asObservable();\r\n }\r\n\r\n expand(): void {\r\n this._expandChange.next(true);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class VerticalNavGroupRegistrationService {\r\n navGroupCount = 0;\r\n\r\n registerNavGroup() {\r\n this.navGroupCount++;\r\n }\r\n\r\n unregisterNavGroup(): void {\r\n this.navGroupCount--;\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class VerticalNavService {\r\n private _animateOnCollapsed = new Subject<boolean>();\r\n private _collapsedChanged = new Subject<boolean>();\r\n private _collapsed = false;\r\n private _collapsible = false;\r\n\r\n get animateOnCollapsed(): Observable<boolean> {\r\n return this._animateOnCollapsed.asObservable();\r\n }\r\n\r\n get collapsedChanged(): Observable<boolean> {\r\n return this._collapsedChanged.asObservable();\r\n }\r\n\r\n get collapsed(): boolean {\r\n return this._collapsed;\r\n }\r\n set collapsed(value: boolean) {\r\n value = !!value;\r\n if (this.collapsible && this._collapsed !== value) {\r\n this.updateCollapseBehavior(value);\r\n }\r\n }\r\n\r\n get collapsible(): boolean {\r\n return this._collapsible;\r\n }\r\n set collapsible(value: boolean) {\r\n value = !!value;\r\n if (this._collapsible !== value) {\r\n if (!value && this.collapsed) {\r\n this.updateCollapseBehavior(false);\r\n }\r\n this._collapsible = value;\r\n }\r\n }\r\n\r\n private updateCollapseBehavior(value: boolean): void {\r\n this._animateOnCollapsed.next(value);\r\n this._collapsed = value;\r\n this._collapsedChanged.next(value);\r\n }\r\n}\r\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 { HermesCommonStringsService, IfExpandService } from '@hermes-ui/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: 'hermes-vertical-nav-group',\n templateUrl: './vertical-nav-group.html',\n providers: [IfExpandService, VerticalNavGroupService],\n animations: [\n trigger('hermesExpand', [\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 HermesVerticalNavGroup implements AfterContentInit, OnDestroy {\n @Output('hermesVerticalNavGroupExpandedChange') 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: HermesCommonStringsService\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 hermesIfExpanded 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('hermesVerticalNavGroupExpanded')\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","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n<div class=\"nav-group-content\">\r\n <ng-content select=\"[hermesVerticalNavLink]\"></ng-content>\r\n <button class=\"nav-group-trigger\" type=\"button\" [attr.aria-expanded]=\"expanded\" (click)=\"toggleExpand()\">\r\n <ng-content select=\"[hermesVerticalNavIcon]\"></ng-content>\r\n <div class=\"nav-group-text\">\r\n <ng-content></ng-content>\r\n </div>\r\n <hermes-icon shape=\"angle\" class=\"nav-group-trigger-icon\" [direction]=\"expanded ? 'down' : 'right'\"></hermes-icon>\r\n </button>\r\n</div>\r\n<!--TODO: This animation needs to be added to the hermes-vertical-nav-group-children component-->\r\n<div class=\"nav-group-children\" [@hermesExpand]=\"expandAnimationState\" (@hermesExpand.done)=\"expandAnimationDone($event)\">\r\n <ng-content select=\"[hermesIfExpanded], hermes-vertical-nav-group-children\"></ng-content>\r\n</div>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class VerticalNavIconService {\r\n private _icons = 0;\r\n\r\n get hasIcons(): boolean {\r\n return this._icons > 0;\r\n }\r\n\r\n registerIcon(): void {\r\n this._icons++;\r\n }\r\n\r\n unregisterIcon(): void {\r\n this._icons--;\r\n }\r\n}\r\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 { HermesCommonStringsService, uniqueIdFactory } from '@hermes-ui/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: 'hermes-vertical-nav',\n templateUrl: './vertical-nav.html',\n providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService],\n host: {\n class: 'hermes-vertical-nav',\n // Suprimido durante o peek: reaproveita 100% do CSS já existente pro\n // estado expandido (inclusive empurrar o conteúdo ao lado, via flex\n // normal) em vez de tentar \"desfazer\" as regras de .is-collapsed via\n // :hover (o `collapsed` real, usado por toggleByButton()/ariaExpanded/\n // o output, não muda — só a classe aplicada).\n '[class.is-collapsed]': 'collapsed && !peeking',\n '[class.is-peeking]': 'peeking',\n '[class.has-nav-groups]': 'hasNavGroups',\n '[class.has-icons]': 'hasIcons',\n '[class.is-pinnable]': 'pinnable',\n '(mouseenter)': 'onPeekEnter()',\n '(mouseleave)': 'onPeekLeave()',\n },\n standalone: false,\n})\nexport class HermesVerticalNav implements OnDestroy {\n @Input('hermesVerticalNavToggleLabel') toggleLabel: string;\n /** Quando true, o toggle vira semanticamente um \"fixar aberta/fechada\" (ícones\n * pin/unpin em vez do chevron duplo genérico) e habilita o hover-peek: passar\n * o mouse enquanto colapsada e não fixada expande temporariamente (ver\n * onPeekEnter/onPeekLeave abaixo), sem persistir nem emitir o output. */\n @Input('hermesVerticalNavPinnable') pinnable = false;\n contentId = uniqueIdFactory();\n\n /** true só enquanto o mouse está sobre uma nav colapsada e \"pinnable\" —\n * não persiste, não afeta `collapsed`/o output, é puramente visual. */\n peeking = false;\n\n onPeekEnter(): void {\n if (this.pinnable && this.collapsed) {\n this.peeking = true;\n }\n }\n\n onPeekLeave(): void {\n this.peeking = false;\n }\n\n @Output('hermesVerticalNavCollapsedChange') 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: HermesCommonStringsService\n ) {\n this._sub = _navService.collapsedChanged.subscribe(value => {\n this._collapsedChanged.emit(value);\n });\n }\n\n @Input('hermesVerticalNavCollapsible')\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('hermesVerticalNavCollapsed')\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","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (collapsible) {\r\n<button\r\n type=\"button\"\r\n class=\"nav-trigger\"\r\n [class.on-collapse]=\"collapsed\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-expanded]=\"ariaExpanded\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n (click)=\"toggleByButton()\"\r\n>\r\n @if (pinnable) {\r\n <hermes-icon [shape]=\"collapsed ? 'pin' : 'unpin'\" class=\"nav-trigger-icon\"></hermes-icon>\r\n } @else {\r\n <hermes-icon shape=\"angle-double\" class=\"nav-trigger-icon\" [direction]=\"(collapsed) ? 'right' : 'left'\"></hermes-icon>\r\n }\r\n</button>\r\n}\r\n<div [id]=\"contentId\" class=\"nav-content\">\r\n <ng-content></ng-content>\r\n @if (collapsible && collapsed) {\r\n <button\r\n type=\"button\"\r\n (click)=\"collapsed = false\"\r\n class=\"nav-btn\"\r\n aria-hidden=\"true\"\r\n tabindex=\"-1\"\r\n [attr.aria-controls]=\"contentId\"\r\n [attr.aria-label]=\"toggleLabel || commonStrings.keys.verticalNavToggle\"\r\n ></button>\r\n }\r\n</div>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { ChangeDetectorRef, Component, ElementRef, Inject, OnDestroy, Optional } from '@angular/core';\r\nimport { fromEvent, Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { VerticalNavGroupService } from './providers/vertical-nav-group.service';\r\n\r\n@Component({\r\n selector: '[hermesVerticalNavLink]',\r\n template: `\r\n <ng-content select=\"[hermesVerticalNavIcon]\"></ng-content>\r\n <span class=\"nav-text\">\r\n <ng-content></ng-content>\r\n </span>\r\n `,\r\n host: {\r\n class: 'nav-link',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesVerticalNavLink implements OnDestroy {\r\n private destroy$ = new Subject<void>();\r\n\r\n constructor(\r\n host: ElementRef<HTMLElement>,\r\n ref: ChangeDetectorRef,\r\n @Optional() @Inject(VerticalNavGroupService) navGroupService: VerticalNavGroupService | null\r\n ) {\r\n // Note: since the `VerticalNavGroupService` is an optional provider, we'll setup the event\r\n // listener only when the `[hermesVerticalLink]` is located within the `hermes-vertical-nav-group`.\r\n navGroupService &&\r\n fromEvent(host.nativeElement, 'click')\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(() => {\r\n navGroupService.expand();\r\n ref.markForCheck();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Directive, OnDestroy } from '@angular/core';\r\n\r\nimport { VerticalNavIconService } from './providers/vertical-nav-icon.service';\r\n\r\n@Directive({\r\n selector: '[hermesVerticalNavIcon]',\r\n host: { class: 'nav-icon' },\r\n standalone: false,\r\n})\r\nexport class HermesVerticalNavIcon implements OnDestroy {\r\n constructor(private _verticalNavIconService: VerticalNavIconService) {\r\n _verticalNavIconService.registerIcon();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._verticalNavIconService.unregisterIcon();\r\n }\r\n}\r\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, HermesIcon } from '@hermes-ui/angular/icon';\nimport { HermesConditionalModule, HermesFocusOnViewInitModule } from '@hermes-ui/angular/utils';\n\nimport { HermesVerticalNav } from './vertical-nav';\nimport { HermesVerticalNavGroup } from './vertical-nav-group';\nimport { HermesVerticalNavGroupChildren } from './vertical-nav-group-children';\nimport { HermesVerticalNavIcon } from './vertical-nav-icon';\nimport { HermesVerticalNavLink } from './vertical-nav-link';\n\nexport const HERMES_VERTICAL_NAV_DIRECTIVES: Type<any>[] = [\n HermesVerticalNav,\n HermesVerticalNavLink,\n HermesVerticalNavGroup,\n HermesVerticalNavGroupChildren,\n HermesVerticalNavIcon,\n];\n\n@NgModule({\n imports: [CommonModule, HermesIcon, HermesConditionalModule, HermesFocusOnViewInitModule],\n declarations: [HERMES_VERTICAL_NAV_DIRECTIVES],\n exports: [HERMES_VERTICAL_NAV_DIRECTIVES, HermesConditionalModule, HermesIcon, HermesFocusOnViewInitModule],\n})\nexport class HermesVerticalNavModule {\n constructor() {\n ClarityIcons.addIcons(angleIcon, angleDoubleIcon);\n }\n}\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport * from './vertical-nav-group-children';\r\nexport * from './vertical-nav-group';\r\nexport * from './vertical-nav';\r\nexport * from './vertical-nav-link';\r\nexport * from './vertical-nav-icon';\r\nexport * from './vertical-nav.module';\r\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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"}
@@ -0,0 +1,116 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, Input, NgModule } from '@angular/core';
3
+ import { HermesIcon } from '@hermes-ui/angular/icon';
4
+
5
+ /*
6
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
7
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
8
+ * This software is released under MIT license.
9
+ * The full license information can be found in LICENSE in the root directory of this project.
10
+ */
11
+ /**
12
+ * @beta This mirrors the `@beta` status of `hermes-pagination` in `@hermes-ui/core` - the API may still change.
13
+ *
14
+ * Lays out pagination controls (`<hermes-pagination-button>`, a page indicator, an optional
15
+ * jump-to-page `hermesInput`) in a row. Always provide an `aria-label` describing what is being paginated.
16
+ *
17
+ * ```html
18
+ * <hermes-pagination aria-label="Pagination">
19
+ * <hermes-pagination-button action="first" ariaLabel="First page" [disabled]="page === 1"></hermes-pagination-button>
20
+ * <hermes-pagination-button action="prev" ariaLabel="Previous page" [disabled]="page === 1"></hermes-pagination-button>
21
+ * <span aria-label="current page">{{ page }} / {{ totalPages }}</span>
22
+ * <hermes-pagination-button action="next" ariaLabel="Next page" [disabled]="page === totalPages"></hermes-pagination-button>
23
+ * <hermes-pagination-button action="last" ariaLabel="Last page" [disabled]="page === totalPages"></hermes-pagination-button>
24
+ * </hermes-pagination>
25
+ * ```
26
+ */
27
+ class HermesPagination {
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesPagination, isStandalone: true, selector: "hermes-pagination", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{--color: var(--hermes-global-typography-color-500, black);--font-size: var(--hermes-global-typography-font-size-3, .8125rem);--action-color: var(--color);display:flex;align-items:center;flex-wrap:nowrap;gap:var(--hermes-global-space-4);color:var(--color);font-size:var(--font-size)}::slotted(hermes-input[hermes-pagination-number]){--background: var(--hermes-alias-object-container-background);--border-radius: var(--hermes-alias-object-border-radius-100);--border: var(--hermes-alias-object-border-width-100) solid var(--hermes-alias-object-border-color);--font-size: var(--hermes-global-typography-font-size-3, .8125rem);--text-align: center}::slotted(span){display:block}::slotted(hermes-pagination-button:not([disabled])){--color: var(--action-color)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ExperimentalIsolatedShadowDom }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPagination, decorators: [{
32
+ type: Component,
33
+ args: [{ selector: 'hermes-pagination', template: `<ng-content></ng-content>`, encapsulation: ViewEncapsulation.ExperimentalIsolatedShadowDom, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{--color: var(--hermes-global-typography-color-500, black);--font-size: var(--hermes-global-typography-font-size-3, .8125rem);--action-color: var(--color);display:flex;align-items:center;flex-wrap:nowrap;gap:var(--hermes-global-space-4);color:var(--color);font-size:var(--font-size)}::slotted(hermes-input[hermes-pagination-number]){--background: var(--hermes-alias-object-container-background);--border-radius: var(--hermes-alias-object-border-radius-100);--border: var(--hermes-alias-object-border-width-100) solid var(--hermes-alias-object-border-color);--font-size: var(--hermes-global-typography-font-size-3, .8125rem);--text-align: center}::slotted(span){display:block}::slotted(hermes-pagination-button:not([disabled])){--color: var(--action-color)}\n"] }]
34
+ }] });
35
+
36
+ /*
37
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
38
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
39
+ * This software is released under MIT license.
40
+ * The full license information can be found in LICENSE in the root directory of this project.
41
+ */
42
+ // Mirrors getPaginationIconConfig() in @hermes-ui/core's pagination/utils.ts.
43
+ const ICON_CONFIG = {
44
+ first: { shape: 'step-forward-2', direction: 'down' },
45
+ prev: { shape: 'angle', direction: 'left' },
46
+ next: { shape: 'angle', direction: 'right' },
47
+ last: { shape: 'step-forward-2', direction: 'up' },
48
+ };
49
+ /**
50
+ * @beta Mirrors the `@beta` status of `hermes-pagination-button` in `@hermes-ui/core`.
51
+ *
52
+ * An icon-only action button meant to sit inside `<hermes-pagination>`. Always set `ariaLabel`
53
+ * (e.g. "First page", "Previous page") since the button carries no visible text.
54
+ */
55
+ class HermesPaginationButton {
56
+ constructor() {
57
+ this.action = 'next';
58
+ this.disabled = false;
59
+ }
60
+ get icon() {
61
+ return ICON_CONFIG[this.action] ?? { shape: 'ellipsis-vertical', direction: 'up' };
62
+ }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPaginationButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
64
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesPaginationButton, isStandalone: true, selector: "hermes-pagination-button", inputs: { action: "action", disabled: "disabled", ariaLabel: "ariaLabel" }, ngImport: i0, template: `
65
+ <button type="button" class="private-host" [disabled]="disabled" [attr.aria-label]="ariaLabel">
66
+ <hermes-icon [shape]="icon.shape" [direction]="icon.direction"></hermes-icon>
67
+ </button>
68
+ `, isInline: true, styles: [":host{--icon-size: var(--hermes-global-space-7);--color: var(--hermes-global-typography-color-300, hsl(198, 23%, 23%));--color-hover: var(--hermes-alias-object-interaction-color-hover);--color-active: var(--hermes-alias-object-interaction-color-active);--color-disabled: var(--hermes-alias-object-interaction-color-disabled);--outline: var(--hermes-alias-object-interaction-outline);--outline-offset: var(--hermes-alias-object-interaction-outline-offset);display:inline-block}.private-host{display:flex;align-items:center;justify-content:center;min-width:var(--icon-size);min-height:var(--icon-size);padding:0;border:none;background:transparent;color:var(--color);cursor:pointer}.private-host:hover:not(:disabled){color:var(--color-hover)}.private-host:active:not(:disabled){color:var(--color-active);transform:translateY(1px)}.private-host:disabled{color:var(--color-disabled);cursor:default}.private-host:focus-visible{outline:var(--outline);outline-offset:var(--outline-offset)}.private-host hermes-icon{width:var(--icon-size);height:var(--icon-size);pointer-events:none}\n"], dependencies: [{ kind: "component", type: HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.ExperimentalIsolatedShadowDom }); }
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPaginationButton, decorators: [{
71
+ type: Component,
72
+ args: [{ selector: 'hermes-pagination-button', template: `
73
+ <button type="button" class="private-host" [disabled]="disabled" [attr.aria-label]="ariaLabel">
74
+ <hermes-icon [shape]="icon.shape" [direction]="icon.direction"></hermes-icon>
75
+ </button>
76
+ `, encapsulation: ViewEncapsulation.ExperimentalIsolatedShadowDom, changeDetection: ChangeDetectionStrategy.OnPush, imports: [HermesIcon], styles: [":host{--icon-size: var(--hermes-global-space-7);--color: var(--hermes-global-typography-color-300, hsl(198, 23%, 23%));--color-hover: var(--hermes-alias-object-interaction-color-hover);--color-active: var(--hermes-alias-object-interaction-color-active);--color-disabled: var(--hermes-alias-object-interaction-color-disabled);--outline: var(--hermes-alias-object-interaction-outline);--outline-offset: var(--hermes-alias-object-interaction-outline-offset);display:inline-block}.private-host{display:flex;align-items:center;justify-content:center;min-width:var(--icon-size);min-height:var(--icon-size);padding:0;border:none;background:transparent;color:var(--color);cursor:pointer}.private-host:hover:not(:disabled){color:var(--color-hover)}.private-host:active:not(:disabled){color:var(--color-active);transform:translateY(1px)}.private-host:disabled{color:var(--color-disabled);cursor:default}.private-host:focus-visible{outline:var(--outline);outline-offset:var(--outline-offset)}.private-host hermes-icon{width:var(--icon-size);height:var(--icon-size);pointer-events:none}\n"] }]
77
+ }], propDecorators: { action: [{
78
+ type: Input
79
+ }], disabled: [{
80
+ type: Input
81
+ }], ariaLabel: [{
82
+ type: Input
83
+ }] } });
84
+
85
+ /*
86
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
87
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
88
+ * This software is released under MIT license.
89
+ * The full license information can be found in LICENSE in the root directory of this project.
90
+ */
91
+ class HermesPaginationModule {
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
93
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesPaginationModule, imports: [HermesPagination, HermesPaginationButton], exports: [HermesPagination, HermesPaginationButton] }); }
94
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPaginationModule, imports: [HermesPaginationButton] }); }
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPaginationModule, decorators: [{
97
+ type: NgModule,
98
+ args: [{
99
+ imports: [HermesPagination, HermesPaginationButton],
100
+ exports: [HermesPagination, HermesPaginationButton],
101
+ }]
102
+ }] });
103
+
104
+ /*
105
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
106
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
107
+ * This software is released under MIT license.
108
+ * The full license information can be found in LICENSE in the root directory of this project.
109
+ */
110
+
111
+ /**
112
+ * Generated bundle index. Do not edit.
113
+ */
114
+
115
+ export { HermesPagination, HermesPaginationButton, HermesPaginationModule };
116
+ //# sourceMappingURL=hermes-ui-angular-pagination.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermes-ui-angular-pagination.mjs","sources":["../../../pagination/pagination.ts","../../../pagination/pagination-button.ts","../../../pagination/pagination.module.ts","../../../pagination/index.ts","../../../pagination/hermes-ui-angular-pagination.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 { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * @beta This mirrors the `@beta` status of `hermes-pagination` in `@hermes-ui/core` - the API may still change.\n *\n * Lays out pagination controls (`<hermes-pagination-button>`, a page indicator, an optional\n * jump-to-page `hermesInput`) in a row. Always provide an `aria-label` describing what is being paginated.\n *\n * ```html\n * <hermes-pagination aria-label=\"Pagination\">\n * <hermes-pagination-button action=\"first\" ariaLabel=\"First page\" [disabled]=\"page === 1\"></hermes-pagination-button>\n * <hermes-pagination-button action=\"prev\" ariaLabel=\"Previous page\" [disabled]=\"page === 1\"></hermes-pagination-button>\n * <span aria-label=\"current page\">{{ page }} / {{ totalPages }}</span>\n * <hermes-pagination-button action=\"next\" ariaLabel=\"Next page\" [disabled]=\"page === totalPages\"></hermes-pagination-button>\n * <hermes-pagination-button action=\"last\" ariaLabel=\"Last page\" [disabled]=\"page === totalPages\"></hermes-pagination-button>\n * </hermes-pagination>\n * ```\n */\n@Component({\n selector: 'hermes-pagination',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./pagination.component.scss'],\n encapsulation: ViewEncapsulation.ExperimentalIsolatedShadowDom,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HermesPagination {}\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 { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { HermesIcon } from '@hermes-ui/angular/icon';\n\nexport type HermesPaginationAction = 'first' | 'prev' | 'next' | 'last';\n\ninterface PaginationIconConfig {\n shape: string;\n direction: 'up' | 'right' | 'down' | 'left';\n}\n\n// Mirrors getPaginationIconConfig() in @hermes-ui/core's pagination/utils.ts.\nconst ICON_CONFIG: Record<HermesPaginationAction, PaginationIconConfig> = {\n first: { shape: 'step-forward-2', direction: 'down' },\n prev: { shape: 'angle', direction: 'left' },\n next: { shape: 'angle', direction: 'right' },\n last: { shape: 'step-forward-2', direction: 'up' },\n};\n\n/**\n * @beta Mirrors the `@beta` status of `hermes-pagination-button` in `@hermes-ui/core`.\n *\n * An icon-only action button meant to sit inside `<hermes-pagination>`. Always set `ariaLabel`\n * (e.g. \"First page\", \"Previous page\") since the button carries no visible text.\n */\n@Component({\n selector: 'hermes-pagination-button',\n template: `\n <button type=\"button\" class=\"private-host\" [disabled]=\"disabled\" [attr.aria-label]=\"ariaLabel\">\n <hermes-icon [shape]=\"icon.shape\" [direction]=\"icon.direction\"></hermes-icon>\n </button>\n `,\n styleUrls: ['./pagination-button.component.scss'],\n encapsulation: ViewEncapsulation.ExperimentalIsolatedShadowDom,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [HermesIcon],\n})\nexport class HermesPaginationButton {\n @Input() action: HermesPaginationAction = 'next';\n @Input() disabled = false;\n @Input() ariaLabel: string;\n\n get icon(): PaginationIconConfig {\n return ICON_CONFIG[this.action] ?? { shape: 'ellipsis-vertical', direction: 'up' };\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 { NgModule } from '@angular/core';\n\nimport { HermesPaginationButton } from './pagination-button';\nimport { HermesPagination } from './pagination';\n\n@NgModule({\n imports: [HermesPagination, HermesPaginationButton],\n exports: [HermesPagination, HermesPaginationButton],\n})\nexport class HermesPaginationModule {}\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 './pagination';\nexport * from './pagination-button';\nexport * from './pagination.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -4,8 +4,12 @@ import { HermesAccordionModule } from '@hermes-ui/angular/accordion';
4
4
  export * from '@hermes-ui/angular/accordion';
5
5
  import { HermesButtonModule } from '@hermes-ui/angular/button';
6
6
  export * from '@hermes-ui/angular/button';
7
+ import { HermesCard } from '@hermes-ui/angular/card';
8
+ export * from '@hermes-ui/angular/card';
7
9
  import { HermesDataModule } from '@hermes-ui/angular/data';
8
10
  export * from '@hermes-ui/angular/data';
11
+ import { HermesDivider } from '@hermes-ui/angular/divider';
12
+ export * from '@hermes-ui/angular/divider';
9
13
  import { HermesEmphasisModule } from '@hermes-ui/angular/emphasis';
10
14
  export * from '@hermes-ui/angular/emphasis';
11
15
  import { HermesFormsModule } from '@hermes-ui/angular/forms';
@@ -16,6 +20,8 @@ import { HermesLayoutModule } from '@hermes-ui/angular/layout';
16
20
  export * from '@hermes-ui/angular/layout';
17
21
  import { HermesModalModule, HermesSidePanelModule } from '@hermes-ui/angular/modal';
18
22
  export * from '@hermes-ui/angular/modal';
23
+ import { HermesPaginationModule } from '@hermes-ui/angular/pagination';
24
+ export * from '@hermes-ui/angular/pagination';
19
25
  import { HermesPopoverModule } from '@hermes-ui/angular/popover';
20
26
  export * from '@hermes-ui/angular/popover';
21
27
  import { HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';
@@ -43,11 +49,14 @@ export * from '@hermes-ui/angular/collapsible-panel';
43
49
  */
44
50
  class HermesModule {
45
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
46
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesModule, imports: [HermesIcon], exports: [HermesEmphasisModule,
52
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesModule, imports: [HermesIcon, HermesDivider, HermesCard], exports: [HermesEmphasisModule,
47
53
  HermesDataModule,
54
+ HermesCard,
55
+ HermesDivider,
48
56
  HermesIcon,
49
57
  HermesIconModule,
50
58
  HermesModalModule,
59
+ HermesPaginationModule,
51
60
  HermesLoadingModule,
52
61
  HermesConditionalModule,
53
62
  HermesFocusOnViewInitModule,
@@ -64,10 +73,11 @@ class HermesModule {
64
73
  HermesPopoverModuleNext,
65
74
  HermesTimelineModule,
66
75
  HermesToastModule] }); }
67
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesModule, imports: [HermesIcon, HermesEmphasisModule,
76
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesModule, imports: [HermesIcon, HermesDivider, HermesCard, HermesEmphasisModule,
68
77
  HermesDataModule,
69
78
  HermesIconModule,
70
79
  HermesModalModule,
80
+ HermesPaginationModule,
71
81
  HermesLoadingModule,
72
82
  HermesConditionalModule,
73
83
  HermesFocusOnViewInitModule,
@@ -88,13 +98,16 @@ class HermesModule {
88
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesModule, decorators: [{
89
99
  type: NgModule,
90
100
  args: [{
91
- imports: [HermesIcon],
101
+ imports: [HermesIcon, HermesDivider, HermesCard],
92
102
  exports: [
93
103
  HermesEmphasisModule,
94
104
  HermesDataModule,
105
+ HermesCard,
106
+ HermesDivider,
95
107
  HermesIcon,
96
108
  HermesIconModule,
97
109
  HermesModalModule,
110
+ HermesPaginationModule,
98
111
  HermesLoadingModule,
99
112
  HermesConditionalModule,
100
113
  HermesFocusOnViewInitModule,
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-ui-angular.mjs","sources":["../../../hermes-angular.module.ts","../../../index.ts","../../../hermes-ui-angular.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 { HermesAccordionModule } from '@hermes-ui/angular/accordion';\nimport { HermesButtonModule } from '@hermes-ui/angular/button';\nimport { HermesDataModule } from '@hermes-ui/angular/data';\nimport { HermesEmphasisModule } from '@hermes-ui/angular/emphasis';\nimport { HermesFormsModule } from '@hermes-ui/angular/forms';\nimport { HermesIcon, HermesIconModule } from '@hermes-ui/angular/icon';\nimport { HermesLayoutModule } from '@hermes-ui/angular/layout';\nimport { HermesModalModule, HermesSidePanelModule } from '@hermes-ui/angular/modal';\nimport { HermesPopoverModule } from '@hermes-ui/angular/popover';\nimport { HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';\nimport { HermesProgressBarModule } from '@hermes-ui/angular/progress/progress-bars';\nimport { HermesSpinnerModule } from '@hermes-ui/angular/progress/spinner';\nimport { HermesStepperModule } from '@hermes-ui/angular/stepper';\nimport { HermesTimelineModule } from '@hermes-ui/angular/timeline';\nimport { HermesToastModule } from '@hermes-ui/angular/toast';\nimport { HermesConditionalModule, HermesFocusOnViewInitModule, HermesLoadingModule } from '@hermes-ui/angular/utils';\nimport { HermesWizardModule } from '@hermes-ui/angular/wizard';\n\n@NgModule({\n imports: [HermesIcon],\n exports: [\n HermesEmphasisModule,\n HermesDataModule,\n HermesIcon,\n HermesIconModule,\n HermesModalModule,\n HermesLoadingModule,\n HermesConditionalModule,\n HermesFocusOnViewInitModule,\n HermesButtonModule,\n HermesFormsModule,\n HermesLayoutModule,\n HermesPopoverModule,\n HermesWizardModule,\n HermesSidePanelModule,\n HermesAccordionModule,\n HermesStepperModule,\n HermesSpinnerModule,\n HermesProgressBarModule,\n HermesPopoverModuleNext,\n HermesTimelineModule,\n HermesToastModule,\n ],\n})\nexport class HermesModule {}\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 './hermes-angular.module';\n\nexport * from '@hermes-ui/angular/button';\nexport * from '@hermes-ui/angular/data';\nexport * from '@hermes-ui/angular/emphasis';\nexport * from '@hermes-ui/angular/forms';\nexport * from '@hermes-ui/angular/icon';\nexport * from '@hermes-ui/angular/layout';\nexport * from '@hermes-ui/angular/modal';\nexport * from '@hermes-ui/angular/popover';\nexport * from '@hermes-ui/angular/utils';\nexport * from '@hermes-ui/angular/wizard';\nexport * from '@hermes-ui/angular/collapsible-panel';\nexport * from '@hermes-ui/angular/accordion';\nexport * from '@hermes-ui/angular/stepper';\nexport * from '@hermes-ui/angular/progress/spinner';\nexport * from '@hermes-ui/angular/progress/progress-bars';\nexport * from '@hermes-ui/angular/timeline';\nexport * from '@hermes-ui/angular/toast';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;MA+CU,YAAY,CAAA;+GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAZ,YAAY,EAAA,OAAA,EAAA,CAzBb,UAAU,CAAA,EAAA,OAAA,EAAA,CAElB,oBAAoB;YACpB,gBAAgB;YAChB,UAAU;YACV,gBAAgB;YAChB,iBAAiB;YACjB,mBAAmB;YACnB,uBAAuB;YACvB,2BAA2B;YAC3B,kBAAkB;YAClB,iBAAiB;YACjB,kBAAkB;YAClB,mBAAmB;YACnB,kBAAkB;YAClB,qBAAqB;YACrB,qBAAqB;YACrB,mBAAmB;YACnB,mBAAmB;YACnB,uBAAuB;YACvB,uBAAuB;YACvB,oBAAoB;YACpB,iBAAiB,CAAA,EAAA,CAAA,CAAA;gHAGR,YAAY,EAAA,OAAA,EAAA,CAzBb,UAAU,EAElB,oBAAoB;YACpB,gBAAgB;YAEhB,gBAAgB;YAChB,iBAAiB;YACjB,mBAAmB;YACnB,uBAAuB;YACvB,2BAA2B;YAC3B,kBAAkB;YAClB,iBAAiB;YACjB,kBAAkB;YAClB,mBAAmB;YACnB,kBAAkB;YAClB,qBAAqB;YACrB,qBAAqB;YACrB,mBAAmB;YACnB,mBAAmB;YACnB,uBAAuB;YACvB,uBAAuB;YACvB,oBAAoB;YACpB,iBAAiB,CAAA,EAAA,CAAA,CAAA;;4FAGR,YAAY,EAAA,UAAA,EAAA,CAAA;kBA1BxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,UAAU,CAAC;AACrB,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,gBAAgB;wBAChB,UAAU;wBACV,gBAAgB;wBAChB,iBAAiB;wBACjB,mBAAmB;wBACnB,uBAAuB;wBACvB,2BAA2B;wBAC3B,kBAAkB;wBAClB,iBAAiB;wBACjB,kBAAkB;wBAClB,mBAAmB;wBACnB,kBAAkB;wBAClB,qBAAqB;wBACrB,qBAAqB;wBACrB,mBAAmB;wBACnB,mBAAmB;wBACnB,uBAAuB;wBACvB,uBAAuB;wBACvB,oBAAoB;wBACpB,iBAAiB;AAClB,qBAAA;AACF,iBAAA;;;ACnDD;;;;;AAKG;;ACLH;;AAEG;;"}
1
+ {"version":3,"file":"hermes-ui-angular.mjs","sources":["../../../hermes-angular.module.ts","../../../index.ts","../../../hermes-ui-angular.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 { HermesAccordionModule } from '@hermes-ui/angular/accordion';\nimport { HermesButtonModule } from '@hermes-ui/angular/button';\nimport { HermesCard } from '@hermes-ui/angular/card';\nimport { HermesDataModule } from '@hermes-ui/angular/data';\nimport { HermesDivider } from '@hermes-ui/angular/divider';\nimport { HermesEmphasisModule } from '@hermes-ui/angular/emphasis';\nimport { HermesFormsModule } from '@hermes-ui/angular/forms';\nimport { HermesIcon, HermesIconModule } from '@hermes-ui/angular/icon';\nimport { HermesLayoutModule } from '@hermes-ui/angular/layout';\nimport { HermesModalModule, HermesSidePanelModule } from '@hermes-ui/angular/modal';\nimport { HermesPaginationModule } from '@hermes-ui/angular/pagination';\nimport { HermesPopoverModule } from '@hermes-ui/angular/popover';\nimport { HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';\nimport { HermesProgressBarModule } from '@hermes-ui/angular/progress/progress-bars';\nimport { HermesSpinnerModule } from '@hermes-ui/angular/progress/spinner';\nimport { HermesStepperModule } from '@hermes-ui/angular/stepper';\nimport { HermesTimelineModule } from '@hermes-ui/angular/timeline';\nimport { HermesToastModule } from '@hermes-ui/angular/toast';\nimport { HermesConditionalModule, HermesFocusOnViewInitModule, HermesLoadingModule } from '@hermes-ui/angular/utils';\nimport { HermesWizardModule } from '@hermes-ui/angular/wizard';\n\n@NgModule({\n imports: [HermesIcon, HermesDivider, HermesCard],\n exports: [\n HermesEmphasisModule,\n HermesDataModule,\n HermesCard,\n HermesDivider,\n HermesIcon,\n HermesIconModule,\n HermesModalModule,\n HermesPaginationModule,\n HermesLoadingModule,\n HermesConditionalModule,\n HermesFocusOnViewInitModule,\n HermesButtonModule,\n HermesFormsModule,\n HermesLayoutModule,\n HermesPopoverModule,\n HermesWizardModule,\n HermesSidePanelModule,\n HermesAccordionModule,\n HermesStepperModule,\n HermesSpinnerModule,\n HermesProgressBarModule,\n HermesPopoverModuleNext,\n HermesTimelineModule,\n HermesToastModule,\n ],\n})\nexport class HermesModule {}\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 './hermes-angular.module';\n\nexport * from '@hermes-ui/angular/button';\nexport * from '@hermes-ui/angular/card';\nexport * from '@hermes-ui/angular/data';\nexport * from '@hermes-ui/angular/divider';\nexport * from '@hermes-ui/angular/emphasis';\nexport * from '@hermes-ui/angular/forms';\nexport * from '@hermes-ui/angular/icon';\nexport * from '@hermes-ui/angular/layout';\nexport * from '@hermes-ui/angular/modal';\nexport * from '@hermes-ui/angular/pagination';\nexport * from '@hermes-ui/angular/popover';\nexport * from '@hermes-ui/angular/utils';\nexport * from '@hermes-ui/angular/wizard';\nexport * from '@hermes-ui/angular/collapsible-panel';\nexport * from '@hermes-ui/angular/accordion';\nexport * from '@hermes-ui/angular/stepper';\nexport * from '@hermes-ui/angular/progress/spinner';\nexport * from '@hermes-ui/angular/progress/progress-bars';\nexport * from '@hermes-ui/angular/timeline';\nexport * from '@hermes-ui/angular/toast';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;MAqDU,YAAY,CAAA;+GAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YA5Bb,UAAU,EAAE,aAAa,EAAE,UAAU,aAE7C,oBAAoB;YACpB,gBAAgB;YAChB,UAAU;YACV,aAAa;YACb,UAAU;YACV,gBAAgB;YAChB,iBAAiB;YACjB,sBAAsB;YACtB,mBAAmB;YACnB,uBAAuB;YACvB,2BAA2B;YAC3B,kBAAkB;YAClB,iBAAiB;YACjB,kBAAkB;YAClB,mBAAmB;YACnB,kBAAkB;YAClB,qBAAqB;YACrB,qBAAqB;YACrB,mBAAmB;YACnB,mBAAmB;YACnB,uBAAuB;YACvB,uBAAuB;YACvB,oBAAoB;YACpB,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAGR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YA5Bb,UAAU,EAAE,aAAa,EAAE,UAAU,EAE7C,oBAAoB;YACpB,gBAAgB;YAIhB,gBAAgB;YAChB,iBAAiB;YACjB,sBAAsB;YACtB,mBAAmB;YACnB,uBAAuB;YACvB,2BAA2B;YAC3B,kBAAkB;YAClB,iBAAiB;YACjB,kBAAkB;YAClB,mBAAmB;YACnB,kBAAkB;YAClB,qBAAqB;YACrB,qBAAqB;YACrB,mBAAmB;YACnB,mBAAmB;YACnB,uBAAuB;YACvB,uBAAuB;YACvB,oBAAoB;YACpB,iBAAiB,CAAA,EAAA,CAAA,CAAA;;4FAGR,YAAY,EAAA,UAAA,EAAA,CAAA;kBA7BxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC;AAChD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,gBAAgB;wBAChB,UAAU;wBACV,aAAa;wBACb,UAAU;wBACV,gBAAgB;wBAChB,iBAAiB;wBACjB,sBAAsB;wBACtB,mBAAmB;wBACnB,uBAAuB;wBACvB,2BAA2B;wBAC3B,kBAAkB;wBAClB,iBAAiB;wBACjB,kBAAkB;wBAClB,mBAAmB;wBACnB,kBAAkB;wBAClB,qBAAqB;wBACrB,qBAAqB;wBACrB,mBAAmB;wBACnB,mBAAmB;wBACnB,uBAAuB;wBACvB,uBAAuB;wBACvB,oBAAoB;wBACpB,iBAAiB;AAClB,qBAAA;AACF,iBAAA;;;ACzDD;;;;;AAKG;;ACLH;;AAEG;;"}
@@ -7,7 +7,6 @@
7
7
 
8
8
  @use '../../styles/core/tokens/variables.tokens' as tokens;
9
9
  @use 'variables.vertical-nav' as vertical-nav-variables;
10
- @use '../tabs/mixins.tabs' as tabs-mixins;
11
10
 
12
11
  @mixin vertical-nav-divider($position: 'border-top') {
13
12
  #{$position}: vertical-nav-variables.$hermes-vertical-nav-trigger-divider-border-width solid
@@ -15,17 +14,14 @@
15
14
  }
16
15
  @mixin vertical-nav-link-colors() {
17
16
  color: vertical-nav-variables.$hermes-vertical-nav-item-color;
18
-
19
- @include tabs-mixins.nav-link-border-appearance('left', true);
17
+ // shadcn sidebar: item ativo/hover é um "pill" de fundo arredondado, sem a
18
+ // barra de borda à esquerda que o Clarity usava (nav-link-border-appearance).
19
+ border-radius: vertical-nav-variables.$hermes-vertical-nav-item-border-radius;
20
20
 
21
21
  &.active {
22
22
  color: vertical-nav-variables.$hermes-vertical-nav-item-active-color;
23
23
  background-color: vertical-nav-variables.$hermes-vertical-nav-selected-bg-color;
24
24
 
25
- &::before {
26
- border-color: tokens.$hermes-alias-object-interaction-background-highlight;
27
- }
28
-
29
25
  .nav-icon {
30
26
  fill: vertical-nav-variables.$hermes-vertical-nav-icon-active-color;
31
27
  }
@@ -17,6 +17,11 @@
17
17
  --hermes-vertical-nav-item-top-level-font-weight: #{tokens.$hermes-alias-typography-font-weight-semibold};
18
18
  --hermes-vertical-nav-header-font-weight: #{tokens.$hermes-alias-typography-font-weight-semibold};
19
19
  --hermes-vertical-nav-trigger-divider-border-width: #{tokens.$hermes-global-space-1};
20
+ // shadcn sidebar: item ativo/hover vira um pill arredondado (rounded-md),
21
+ // e a lista de itens ganha um respiro (inset) da borda do container em
22
+ // vez de ir de ponta a ponta.
23
+ --hermes-vertical-nav-item-border-radius: #{mixins.baselinePx(6)};
24
+ --hermes-vertical-nav-content-inset: #{mixins.baselinePx(8)};
20
25
 
21
26
  &,
22
27
  & [hermes-density] {
@@ -28,12 +33,12 @@
28
33
  // Vertical Nav - Align
29
34
  --hermes-vertical-nav-item-padding: #{density.$hermes-base-vertical-offset-m} #{density.$hermes-base-horizontal-offset-m}
30
35
  #{density.$hermes-base-vertical-offset-m} #{density.$hermes-base-horizontal-offset-xl};
36
+ // Antes compensava a ausência de ícone com um padding-left gigante
37
+ // (calc com o tamanho do ícone) pra alinhar o texto. Agora quem faz
38
+ // esse trabalho é o indent + linha vertical de .nav-group-children
39
+ // (ver _vertical-nav.clarity.scss) — aqui só o padding normal do item.
31
40
  --hermes-vertical-nav-item-child-padding: #{density.$hermes-base-vertical-offset-m}
32
- #{density.$hermes-base-horizontal-offset-m} #{density.$hermes-base-vertical-offset-m}
33
- calc(
34
- #{vertical-nav-variables.$hermes-vertical-nav-icon-size} + #{density.$hermes-base-horizontal-offset-xl} +
35
- #{density.$hermes-base-gap-xs}
36
- );
41
+ #{density.$hermes-base-horizontal-offset-m};
37
42
  --hermes-vertical-nav-item-height: #{density.$hermes-base-row-height-m};
38
43
  --hermes-vertical-nav-min-width: #{density.$hermes-base-layout-space-3xl};
39
44
  --hermes-vertical-nav-toggle-button-size: #{density.$hermes-base-row-height-m};
@@ -25,6 +25,8 @@ $hermes-vertical-nav-item-child-padding: var(--hermes-vertical-nav-item-child-pa
25
25
  $hermes-vertical-nav-item-height: var(--hermes-vertical-nav-item-height) !default;
26
26
  $hermes-vertical-nav-min-width: var(--hermes-vertical-nav-min-width) !default;
27
27
  $hermes-vertical-nav-item-active-font-weight: var(--hermes-vertical-nav-item-active-font-weight) !default;
28
+ $hermes-vertical-nav-item-border-radius: var(--hermes-vertical-nav-item-border-radius) !default;
29
+ $hermes-vertical-nav-content-inset: var(--hermes-vertical-nav-content-inset) !default;
28
30
 
29
31
  $hermes-vertical-nav-selected-bg-color: var(--hermes-vertical-nav-selected-bg-color) !default;
30
32
  $hermes-vertical-nav-selected-hover-bg-color: var(
@@ -43,6 +43,13 @@
43
43
  overflow: hidden auto;
44
44
  }
45
45
 
46
+ // shadcn sidebar: os itens ficam "flutuando" com um respiro da borda do
47
+ // container, não de ponta a ponta -- só quando expandida, pra não mexer
48
+ // no cálculo (já bem specific) dos ícones no modo colapsado/rail.
49
+ &:not(.is-collapsed) .nav-content {
50
+ padding: vertical-nav-variables.$hermes-vertical-nav-content-inset;
51
+ }
52
+
46
53
  .nav-group {
47
54
  //Display
48
55
  display: block;
@@ -100,6 +107,13 @@
100
107
 
101
108
  .nav-group-children {
102
109
  overflow-y: hidden;
110
+
111
+ // shadcn sidebar: linha vertical marcando o subnível — os itens ficam
112
+ // indentados depois dela, e o pill de hover/active de cada um fica
113
+ // mais estreito (começa depois da linha), não do tamanho do item pai.
114
+ margin-left: #{mixins.baselinePx(20)};
115
+ padding-left: #{mixins.baselinePx(10)};
116
+ border-left: #{tokens.$hermes-alias-object-border-width-100} solid vertical-nav-variables.$hermes-vertical-nav-divider-color;
103
117
  }
104
118
 
105
119
  .nav-trigger,