@hermes-ui/angular 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -52
- package/button/_properties.buttons.scss +387 -387
- package/fesm2022/hermes-ui-angular-accordion.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-a11y.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-card-container.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-datagrid.mjs +28 -28
- package/fesm2022/hermes-ui-angular-addons-datagrid.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-dialog.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-menu.mjs +8 -8
- package/fesm2022/hermes-ui-angular-addons-menu.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-property-view.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-stepper.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-tabs.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-testing.mjs +78 -78
- package/fesm2022/hermes-ui-angular-addons-testing.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-var.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-wizard.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-workflow.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-button.mjs +74 -74
- package/fesm2022/hermes-ui-angular-button.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-card.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-collapsible-panel.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data-datagrid.mjs +926 -926
- package/fesm2022/hermes-ui-angular-data-datagrid.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data-stack-view.mjs +114 -114
- package/fesm2022/hermes-ui-angular-data-stack-view.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data-tree-view.mjs +12 -12
- package/fesm2022/hermes-ui-angular-data-tree-view.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-divider.mjs +2 -2
- package/fesm2022/hermes-ui-angular-divider.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-emphasis-alert.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-emphasis-badge.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-emphasis-label.mjs +16 -16
- package/fesm2022/hermes-ui-angular-emphasis-label.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-emphasis.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-checkbox.mjs +50 -50
- package/fesm2022/hermes-ui-angular-forms-checkbox.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-combobox.mjs +126 -126
- package/fesm2022/hermes-ui-angular-forms-combobox.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-common.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-datalist.mjs +46 -46
- package/fesm2022/hermes-ui-angular-forms-datalist.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs +374 -374
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-file-input.mjs +190 -190
- package/fesm2022/hermes-ui-angular-forms-file-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-input.mjs +52 -52
- package/fesm2022/hermes-ui-angular-forms-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-native-select.mjs +38 -38
- package/fesm2022/hermes-ui-angular-forms-native-select.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-number-input.mjs +80 -80
- package/fesm2022/hermes-ui-angular-forms-number-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-password.mjs +58 -58
- package/fesm2022/hermes-ui-angular-forms-password.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-radio.mjs +50 -50
- package/fesm2022/hermes-ui-angular-forms-radio.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-range.mjs +44 -44
- package/fesm2022/hermes-ui-angular-forms-range.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-select.mjs +8 -8
- package/fesm2022/hermes-ui-angular-forms-select.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-textarea.mjs +38 -38
- package/fesm2022/hermes-ui-angular-forms-textarea.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-icon.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-breadcrumbs.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-main-container.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-nav.mjs +46 -46
- package/fesm2022/hermes-ui-angular-layout-nav.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-tabs.mjs +146 -146
- package/fesm2022/hermes-ui-angular-layout-tabs.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-modal.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-pagination.mjs +8 -8
- package/fesm2022/hermes-ui-angular-pagination.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-popover-common.mjs +26 -3
- package/fesm2022/hermes-ui-angular-popover-common.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-popover-dropdown.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-popover-signpost.mjs +66 -66
- package/fesm2022/hermes-ui-angular-popover-signpost.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-popover-tooltip.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-popover.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-progress-progress-bars.mjs +10 -10
- package/fesm2022/hermes-ui-angular-progress-progress-bars.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-progress-spinner.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-stepper.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-timeline.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-toast.mjs +4 -4
- package/fesm2022/hermes-ui-angular-toast.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-utils-conditional.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-utils.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-wizard.mjs +56 -56
- package/fesm2022/hermes-ui-angular-wizard.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular.mjs.map +1 -1
- package/hermes-ui.scss +7 -7
- package/package.json +1 -1
- package/toast/README.md +65 -65
- package/toast/_properties.toast.scss +56 -56
- package/toast/_toast.clarity.scss +190 -190
- package/toast/_variables.toast.scss +33 -33
- package/types/hermes-ui-angular-data-datagrid.d.ts.map +1 -1
- package/types/hermes-ui-angular-popover-common.d.ts +4 -3
- package/types/hermes-ui-angular-popover-common.d.ts.map +1 -1
- package/types/hermes-ui-angular-wizard.d.ts.map +1 -1
|
@@ -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 // 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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"}
|
|
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","/*\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 { animate, AnimationEvent, state, style, transition, trigger } from '@angular/animations';\r\nimport { AfterContentInit, Component, EventEmitter, HostBinding, Input, OnDestroy, Output } from '@angular/core';\r\nimport { HermesCommonStringsService, IfExpandService } from '@hermes-ui/angular/utils';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { VerticalNavGroupRegistrationService } from './providers/vertical-nav-group-registration.service';\r\nimport { VerticalNavGroupService } from './providers/vertical-nav-group.service';\r\nimport { VerticalNavService } from './providers/vertical-nav.service';\r\n\r\nconst EXPANDED_STATE = 'expanded';\r\nconst COLLAPSED_STATE = 'collapsed';\r\n\r\n@Component({\r\n selector: 'hermes-vertical-nav-group',\r\n templateUrl: './vertical-nav-group.html',\r\n providers: [IfExpandService, VerticalNavGroupService],\r\n animations: [\r\n trigger('hermesExpand', [\r\n state(EXPANDED_STATE, style({ height: '*' })),\r\n state(COLLAPSED_STATE, style({ height: 0, visibility: 'hidden' })),\r\n transition(`${EXPANDED_STATE} <=> ${COLLAPSED_STATE}`, animate('0.2s ease-in-out')),\r\n ]),\r\n ],\r\n host: { class: 'nav-group' },\r\n standalone: false,\r\n})\r\nexport class HermesVerticalNavGroup implements AfterContentInit, OnDestroy {\r\n @Output('hermesVerticalNavGroupExpandedChange') expandedChange = new EventEmitter<boolean>(true);\r\n\r\n private wasExpanded = false;\r\n private _subscriptions: Subscription[] = [];\r\n private _expandAnimationState: string = COLLAPSED_STATE;\r\n\r\n constructor(\r\n private _itemExpand: IfExpandService,\r\n private _navGroupRegistrationService: VerticalNavGroupRegistrationService,\r\n navGroupService: VerticalNavGroupService,\r\n private _navService: VerticalNavService,\r\n public commonStrings: HermesCommonStringsService\r\n ) {\r\n _navGroupRegistrationService.registerNavGroup();\r\n\r\n // FIXME: This subscription handles a corner case\r\n // Vertical Nav collapse requires the animation to run first and then\r\n // remove the nodes from the DOM. If the user directly sets the input\r\n // on the hermesIfExpanded directive, we have no chance to run the animation\r\n // and wait for it to complete. This subscription makes sure that the\r\n // animation states are correct for that edge case.\r\n this._subscriptions.push(\r\n _itemExpand.expandChange.subscribe(value => {\r\n if (value && this.expandAnimationState === COLLAPSED_STATE) {\r\n if (_navService.collapsed) {\r\n _navService.collapsed = false;\r\n }\r\n this.expandAnimationState = EXPANDED_STATE;\r\n } else if (!value && this.expandAnimationState === EXPANDED_STATE) {\r\n this.expandAnimationState = COLLAPSED_STATE;\r\n }\r\n })\r\n );\r\n\r\n // 1. If the nav is collapsing, close the open nav group + save its state\r\n // 2. If the nav is expanding, expand the nav group if the previous state was expanded\r\n this._subscriptions.push(\r\n _navService.animateOnCollapsed.subscribe((goingToCollapse: boolean) => {\r\n if (goingToCollapse && this.expanded) {\r\n this.wasExpanded = true;\r\n this.expandAnimationState = COLLAPSED_STATE;\r\n } else if (!goingToCollapse && this.wasExpanded) {\r\n this.expandGroup();\r\n this.wasExpanded = false;\r\n }\r\n })\r\n );\r\n\r\n // If a link is clicked, expand the nav group\r\n this._subscriptions.push(\r\n navGroupService.expandChange.subscribe((expand: boolean) => {\r\n if (expand && !this.expanded) {\r\n this.expandGroup();\r\n }\r\n })\r\n );\r\n }\r\n\r\n @HostBinding('class.is-expanded')\r\n get expanded(): boolean {\r\n return this._itemExpand.expanded;\r\n }\r\n set expanded(value: boolean) {\r\n if (this._itemExpand.expanded !== value) {\r\n this._itemExpand.expanded = value;\r\n this.expandedChange.emit(value);\r\n }\r\n }\r\n\r\n @Input('hermesVerticalNavGroupExpanded')\r\n set userExpandedInput(value: boolean | string) {\r\n value = !!value;\r\n if (this.expanded !== value) {\r\n // We have to call toggleExpand because some cases require animations to occur first\r\n // Directly setting the Expand service value skips the animation and can result in\r\n // nodes in the DOM but the nav group still being collapsed\r\n this.toggleExpand();\r\n }\r\n }\r\n\r\n get expandAnimationState(): string {\r\n return this._expandAnimationState;\r\n }\r\n set expandAnimationState(value: string) {\r\n if (value !== this._expandAnimationState) {\r\n this._expandAnimationState = value;\r\n }\r\n }\r\n\r\n ngAfterContentInit() {\r\n // This makes sure that if someone marks a nav group expanded in a collapsed nav\r\n // the expanded property is switched back to collapsed state.\r\n if (this._navService.collapsed && this.expanded) {\r\n this.wasExpanded = true;\r\n this.expandAnimationState = COLLAPSED_STATE;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subscriptions.forEach((sub: Subscription) => sub.unsubscribe());\r\n this._navGroupRegistrationService.unregisterNavGroup();\r\n }\r\n\r\n expandGroup(): void {\r\n this.expanded = true;\r\n // Expanded animation occurs after Expand.expand is set to true\r\n this.expandAnimationState = EXPANDED_STATE;\r\n }\r\n\r\n collapseGroup(): void {\r\n // If a Vertical Nav Group toggle button is clicked while the Vertical Nav is in Collapsed state,\r\n // the Vertical Nav should be expanded first.\r\n this.expandAnimationState = COLLAPSED_STATE;\r\n }\r\n\r\n // closes a group after the collapse animation\r\n expandAnimationDone($event: AnimationEvent) {\r\n if ($event.toState === COLLAPSED_STATE) {\r\n this.expanded = false;\r\n }\r\n }\r\n\r\n toggleExpand(): void {\r\n if (this.expanded) {\r\n this.collapseGroup();\r\n } else {\r\n // If nav is collasped, first open the nav\r\n if (this._navService.collapsed) {\r\n this._navService.collapsed = false;\r\n }\r\n // then expand the nav group\r\n this.expandGroup();\r\n }\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\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","/*\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, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\r\nimport { HermesCommonStringsService, uniqueIdFactory } from '@hermes-ui/angular/utils';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { VerticalNavGroupRegistrationService } from './providers/vertical-nav-group-registration.service';\r\nimport { VerticalNavIconService } from './providers/vertical-nav-icon.service';\r\nimport { VerticalNavService } from './providers/vertical-nav.service';\r\n\r\n@Component({\r\n selector: 'hermes-vertical-nav',\r\n templateUrl: './vertical-nav.html',\r\n providers: [VerticalNavService, VerticalNavIconService, VerticalNavGroupRegistrationService],\r\n host: {\r\n class: 'hermes-vertical-nav',\r\n // Suprimido durante o peek: reaproveita 100% do CSS já existente pro\r\n // estado expandido (inclusive empurrar o conteúdo ao lado, via flex\r\n // normal) em vez de tentar \"desfazer\" as regras de .is-collapsed via\r\n // :hover (o `collapsed` real, usado por toggleByButton()/ariaExpanded/\r\n // o output, não muda — só a classe aplicada).\r\n '[class.is-collapsed]': 'collapsed && !peeking',\r\n '[class.is-peeking]': 'peeking',\r\n '[class.has-nav-groups]': 'hasNavGroups',\r\n '[class.has-icons]': 'hasIcons',\r\n '[class.is-pinnable]': 'pinnable',\r\n '(mouseenter)': 'onPeekEnter()',\r\n '(mouseleave)': 'onPeekLeave()',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesVerticalNav implements OnDestroy {\r\n @Input('hermesVerticalNavToggleLabel') toggleLabel: string;\r\n /** Quando true, o toggle vira semanticamente um \"fixar aberta/fechada\" (ícones\r\n * pin/unpin em vez do chevron duplo genérico) e habilita o hover-peek: passar\r\n * o mouse enquanto colapsada e não fixada expande temporariamente (ver\r\n * onPeekEnter/onPeekLeave abaixo), sem persistir nem emitir o output. */\r\n @Input('hermesVerticalNavPinnable') pinnable = false;\r\n contentId = uniqueIdFactory();\r\n\r\n /** true só enquanto o mouse está sobre uma nav colapsada e \"pinnable\" —\r\n * não persiste, não afeta `collapsed`/o output, é puramente visual. */\r\n peeking = false;\r\n\r\n onPeekEnter(): void {\r\n if (this.pinnable && this.collapsed) {\r\n this.peeking = true;\r\n }\r\n }\r\n\r\n onPeekLeave(): void {\r\n this.peeking = false;\r\n }\r\n\r\n @Output('hermesVerticalNavCollapsedChange') private _collapsedChanged = new EventEmitter<boolean>(true);\r\n\r\n private _sub: Subscription;\r\n\r\n constructor(\r\n private _navService: VerticalNavService,\r\n private _navIconService: VerticalNavIconService,\r\n private _navGroupRegistrationService: VerticalNavGroupRegistrationService,\r\n public commonStrings: HermesCommonStringsService\r\n ) {\r\n this._sub = _navService.collapsedChanged.subscribe(value => {\r\n this._collapsedChanged.emit(value);\r\n });\r\n }\r\n\r\n @Input('hermesVerticalNavCollapsible')\r\n get collapsible(): boolean | string {\r\n return this._navService.collapsible;\r\n }\r\n set collapsible(value: boolean | string) {\r\n this._navService.collapsible = value as boolean;\r\n }\r\n\r\n @Input('hermesVerticalNavCollapsed')\r\n get collapsed(): boolean | string {\r\n return this._navService.collapsed;\r\n }\r\n set collapsed(value: boolean | string) {\r\n this._navService.collapsed = value as boolean;\r\n }\r\n\r\n get hasNavGroups(): boolean {\r\n return this._navGroupRegistrationService.navGroupCount > 0;\r\n }\r\n\r\n get hasIcons(): boolean {\r\n return this._navIconService.hasIcons;\r\n }\r\n\r\n get ariaExpanded(): string {\r\n if (!this.collapsible) {\r\n return null;\r\n }\r\n return !this.collapsed ? 'true' : 'false';\r\n }\r\n\r\n ngOnDestroy() {\r\n this._sub.unsubscribe();\r\n }\r\n\r\n toggleByButton() {\r\n this.collapsed = !this.collapsed;\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\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","/*\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 { CommonModule } from '@angular/common';\r\nimport { NgModule, Type } from '@angular/core';\r\nimport { angleDoubleIcon, angleIcon, ClarityIcons, HermesIcon } from '@hermes-ui/angular/icon';\r\nimport { HermesConditionalModule, HermesFocusOnViewInitModule } from '@hermes-ui/angular/utils';\r\n\r\nimport { HermesVerticalNav } from './vertical-nav';\r\nimport { HermesVerticalNavGroup } from './vertical-nav-group';\r\nimport { HermesVerticalNavGroupChildren } from './vertical-nav-group-children';\r\nimport { HermesVerticalNavIcon } from './vertical-nav-icon';\r\nimport { HermesVerticalNavLink } from './vertical-nav-link';\r\n\r\nexport const HERMES_VERTICAL_NAV_DIRECTIVES: Type<any>[] = [\r\n HermesVerticalNav,\r\n HermesVerticalNavLink,\r\n HermesVerticalNavGroup,\r\n HermesVerticalNavGroupChildren,\r\n HermesVerticalNavIcon,\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule, HermesIcon, HermesConditionalModule, HermesFocusOnViewInitModule],\r\n declarations: [HERMES_VERTICAL_NAV_DIRECTIVES],\r\n exports: [HERMES_VERTICAL_NAV_DIRECTIVES, HermesConditionalModule, HermesIcon, HermesFocusOnViewInitModule],\r\n})\r\nexport class HermesVerticalNavModule {\r\n constructor() {\r\n ClarityIcons.addIcons(angleIcon, angleDoubleIcon);\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\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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-ui-angular-layout.mjs","sources":["../../../layout/layout.module.ts","../../../layout/index.ts","../../../layout/hermes-ui-angular-layout.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { NgModule } from '@angular/core';\nimport { HermesBreadcrumbsModule } from '@hermes-ui/angular/layout/breadcrumbs';\nimport { HermesMainContainerModule } from '@hermes-ui/angular/layout/main-container';\nimport { HermesNavigationModule } from '@hermes-ui/angular/layout/nav';\nimport { HermesTabsModule } from '@hermes-ui/angular/layout/tabs';\nimport { HermesVerticalNavModule } from '@hermes-ui/angular/layout/vertical-nav';\n\n@NgModule({\n exports: [HermesMainContainerModule, HermesNavigationModule, HermesTabsModule, HermesVerticalNavModule, HermesBreadcrumbsModule],\n})\nexport class HermesLayoutModule {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './layout.module';\nexport * from '@hermes-ui/angular/layout/main-container';\nexport * from '@hermes-ui/angular/layout/nav';\nexport * from '@hermes-ui/angular/layout/tabs';\nexport * from '@hermes-ui/angular/layout/vertical-nav';\nexport * from '@hermes-ui/angular/layout/breadcrumbs';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;;AAKG;MAYU,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAlB,kBAAkB,EAAA,OAAA,EAAA,CAFnB,yBAAyB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA;gHAEpH,kBAAkB,EAAA,OAAA,EAAA,CAFnB,yBAAyB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA;;4FAEpH,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,yBAAyB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,uBAAuB,CAAC;AACjI,iBAAA;;;AChBD;;;;;AAKG;;ACLH;;AAEG;;"}
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-layout.mjs","sources":["../../../layout/layout.module.ts","../../../layout/index.ts","../../../layout/hermes-ui-angular-layout.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 { NgModule } from '@angular/core';\r\nimport { HermesBreadcrumbsModule } from '@hermes-ui/angular/layout/breadcrumbs';\r\nimport { HermesMainContainerModule } from '@hermes-ui/angular/layout/main-container';\r\nimport { HermesNavigationModule } from '@hermes-ui/angular/layout/nav';\r\nimport { HermesTabsModule } from '@hermes-ui/angular/layout/tabs';\r\nimport { HermesVerticalNavModule } from '@hermes-ui/angular/layout/vertical-nav';\r\n\r\n@NgModule({\r\n exports: [HermesMainContainerModule, HermesNavigationModule, HermesTabsModule, HermesVerticalNavModule, HermesBreadcrumbsModule],\r\n})\r\nexport class HermesLayoutModule {}\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\nexport * from './layout.module';\r\nexport * from '@hermes-ui/angular/layout/main-container';\r\nexport * from '@hermes-ui/angular/layout/nav';\r\nexport * from '@hermes-ui/angular/layout/tabs';\r\nexport * from '@hermes-ui/angular/layout/vertical-nav';\r\nexport * from '@hermes-ui/angular/layout/breadcrumbs';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;;AAKG;MAYU,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAlB,kBAAkB,EAAA,OAAA,EAAA,CAFnB,yBAAyB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA;gHAEpH,kBAAkB,EAAA,OAAA,EAAA,CAFnB,yBAAyB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA;;4FAEpH,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,yBAAyB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,uBAAuB,CAAC;AACjI,iBAAA;;;AChBD;;;;;AAKG;;ACLH;;AAEG;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-ui-angular-modal.mjs","sources":["../../../modal/modal-stack.service.ts","../../../modal/modal-configuration.service.ts","../../../modal/modal.ts","../../../modal/modal.html","../../../modal/modal-body.ts","../../../modal/modal-host.component.ts","../../../modal/modal.module.ts","../../../modal/side-panel.ts","../../../modal/side-panel.html","../../../modal/side-panel.module.ts","../../../modal/index.ts","../../../modal/hermes-ui-angular-modal.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { isPlatformBrowser } from '@angular/common';\nimport { Inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { Keys } from '@hermes-ui/angular/utils';\n\nexport interface Closable {\n close(): void;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ModalStackService {\n private readonly modalStack: Closable[] = [];\n private readonly keyUpEventListener = this.onKeyUp.bind(this);\n\n constructor(@Inject(PLATFORM_ID) private readonly platformId: unknown) {}\n\n trackModalOpen(openedModal: Closable) {\n if (this.modalStack.includes(openedModal) === false) {\n this.modalStack.unshift(openedModal);\n }\n\n if (isPlatformBrowser(this.platformId)) {\n document.body.addEventListener('keyup', this.keyUpEventListener);\n }\n }\n\n trackModalClose(closedModal: Closable) {\n const closedModalIndex = this.modalStack.indexOf(closedModal);\n\n if (closedModalIndex > -1) {\n this.modalStack.splice(closedModalIndex, 1);\n }\n\n if (this.modalStack.length === 0 && isPlatformBrowser(this.platformId)) {\n document.body.removeEventListener('keyup', this.keyUpEventListener);\n }\n }\n\n private onKeyUp(event: KeyboardEvent) {\n if (this.modalStack.length && event.key === Keys.Escape) {\n // We blur the active element because escaping with an input element in focus could cause\n // an ExpressionChangedAfterItHasBeenCheckedError for the touched state. (CDE-1662)\n (document.activeElement as HTMLElement).blur();\n\n this.modalStack[0].close();\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\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HermesModalConfigurationService {\r\n fadeMove = 'fadeDown';\r\n backdrop = true;\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, style, transition, trigger } from '@angular/animations';\nimport {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChange,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { HermesCommonStringsService, ScrollingService, uniqueIdFactory } from '@hermes-ui/angular/utils';\n\nimport { HermesModalConfigurationService } from './modal-configuration.service';\nimport { ModalStackService } from './modal-stack.service';\n\n@Component({\n selector: 'hermes-modal',\n viewProviders: [ScrollingService],\n templateUrl: './modal.html',\n styles: [\n `\n :host {\n display: none;\n }\n :host.open {\n display: inline;\n }\n `,\n ],\n animations: [\n trigger('fadeMove', [\n transition('* => fadeDown', [\n style({ opacity: 0, transform: 'translate(0, -25%)' }),\n animate('0.2s ease-in-out'),\n ]),\n transition('fadeDown => *', [\n animate('0.2s ease-in-out', style({ opacity: 0, transform: 'translate(0, -25%)' })),\n ]),\n transition('* => fadeLeft', [style({ opacity: 0, transform: 'translate(25%, 0)' }), animate('0.2s ease-in-out')]),\n transition('fadeLeft => *', [animate('0.2s ease-in-out', style({ opacity: 0, transform: 'translate(25%, 0)' }))]),\n transition('* => fadeUp', [style({ opacity: 0, transform: 'translate(0, 50%)' }), animate('0.2s ease-in-out')]),\n transition('fadeUp => *', [animate('0.2s ease-in-out', style({ opacity: 0, transform: 'translate(0, 50%)' }))]),\n ]),\n trigger('fade', [\n transition('void => *', [style({ opacity: 0 }), animate('0.2s ease-in-out', style({ opacity: 0.85 }))]),\n transition('* => void', [animate('0.2s ease-in-out', style({ opacity: 0 }))]),\n ]),\n ],\n standalone: false,\n})\nexport class HermesModal implements OnChanges, OnDestroy {\n modalId = uniqueIdFactory();\n @ViewChild('title') title: ElementRef<HTMLElement>;\n\n @Input('hermesModalOpen') @HostBinding('class.open') _open = false;\n @Output('hermesModalOpenChange') _openChanged = new EventEmitter<boolean>(false);\n\n @Input('hermesModalClosable') closable = true;\n @Input('hermesModalCloseButtonAriaLabel') closeButtonAriaLabel = this.commonStrings.keys.close;\n @Input('hermesModalSize') size = 'md';\n @Input('hermesModalStaticBackdrop') staticBackdrop = true;\n @Input('hermesModalSkipAnimation') skipAnimation = false;\n\n @Input('hermesModalPreventClose') stopClose = false;\n @Output('hermesModalAlternateClose') altClose = new EventEmitter<boolean>(false);\n\n @Input('hermesModalLabelledById') labelledBy: string;\n\n // presently this is only used by inline wizards\n @Input('hermesModalOverrideScrollService') bypassScrollService = false;\n\n // Provide raw modal content. This is used by the wizard so that the same template can be rendered with and without a modal.\n @ContentChild('hermesInternalModalContentTemplate') protected readonly modalContentTemplate: TemplateRef<any>;\n\n @ViewChild('body') private readonly bodyElementRef: ElementRef<HTMLElement>;\n\n constructor(\n private _scrollingService: ScrollingService,\n public commonStrings: HermesCommonStringsService,\n private modalStackService: ModalStackService,\n private configuration: HermesModalConfigurationService\n ) {}\n\n get fadeMove(): string {\n return this.skipAnimation ? '' : this.configuration.fadeMove;\n }\n set fadeMove(move: string) {\n this.configuration.fadeMove = move;\n }\n\n get backdrop(): boolean {\n return this.configuration.backdrop;\n }\n\n // Detect when _open is set to true and set no-scrolling to true\n ngOnChanges(changes: { [propName: string]: SimpleChange }): void {\n if (!this.bypassScrollService && changes && Object.prototype.hasOwnProperty.call(changes, '_open')) {\n if (changes._open.currentValue) {\n this._scrollingService.stopScrolling();\n this.modalStackService.trackModalOpen(this);\n } else {\n this._scrollingService.resumeScrolling();\n }\n }\n }\n\n ngOnDestroy(): void {\n this._scrollingService.resumeScrolling();\n }\n\n open(): void {\n if (this._open) {\n return;\n }\n this._open = true;\n this._openChanged.emit(true);\n this.modalStackService.trackModalOpen(this);\n }\n\n backdropClick(): void {\n if (this.staticBackdrop) {\n return;\n }\n\n this.close();\n }\n\n close(): void {\n if (this.stopClose) {\n this.altClose.emit(false);\n return;\n }\n if (!this.closable || !this._open) {\n return;\n }\n this._open = false;\n }\n\n fadeDone(e: AnimationEvent) {\n if (e.toState === 'void') {\n // TODO: Investigate if we can decouple from animation events\n this._openChanged.emit(false);\n this.modalStackService.trackModalClose(this);\n }\n }\n\n scrollTop() {\n this.bodyElementRef.nativeElement.scrollTo(0, 0);\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 (_open) {\r\n<div class=\"modal\" [class.modal-full-screen]=\"size == 'full-screen'\">\r\n <!--fixme: revisit when ngClass works with exit animation-->\r\n <div\r\n cdkTrapFocus\r\n [cdkTrapFocusAutoCapture]=\"true\"\r\n [@fadeMove]=\"fadeMove\"\r\n (@fadeMove.done)=\"fadeDone($event)\"\r\n class=\"modal-dialog\"\r\n [class.modal-sm]=\"size == 'sm'\"\r\n [class.modal-lg]=\"size == 'lg'\"\r\n [class.modal-xl]=\"size == 'xl'\"\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n [attr.aria-hidden]=\"!_open\"\r\n [attr.aria-labelledby]=\"labelledBy || modalId\"\r\n >\r\n <div class=\"hermes-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\r\n <!-- This wizard is tightly coupled to the modal styles, so changes here could require changes in the wizard. -->\r\n @if (!modalContentTemplate) {\r\n <div class=\"modal-content-wrapper\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header--accessible\">\r\n <ng-content select=\".leading-button\"></ng-content>\r\n <div class=\"modal-title-wrapper\" #title [id]=\"modalId\" cdkFocusInitial tabindex=\"-1\">\r\n <ng-content select=\".modal-title\"></ng-content>\r\n </div>\r\n @if (closable) {\r\n <button\r\n type=\"button\"\r\n [attr.aria-label]=\"closeButtonAriaLabel || commonStrings.keys.close\"\r\n class=\"close\"\r\n (click)=\"close()\"\r\n >\r\n <hermes-icon shape=\"window-close\"></hermes-icon>\r\n </button>\r\n }\r\n </div>\r\n <div #body class=\"modal-body-wrapper\">\r\n <ng-content select=\".modal-body\"></ng-content>\r\n </div>\r\n <ng-content select=\".modal-footer\"></ng-content>\r\n </div>\r\n </div>\r\n } @else {\r\n <ng-template [ngTemplateOutlet]=\"modalContentTemplate\"></ng-template>\r\n }\r\n </div>\r\n <div class=\"hermes-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\r\n @if (backdrop) {\r\n <div\r\n [@fade]\r\n class=\"modal-backdrop\"\r\n [class.static]=\"staticBackdrop\"\r\n aria-hidden=\"true\"\r\n (click)=\"backdropClick()\"\r\n ></div>\r\n }\r\n</div>\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, ElementRef, NgZone, OnDestroy, Renderer2 } from '@angular/core';\r\n\r\n/**\r\n * Allows modal overflow area to be scrollable via keyboard.\r\n * The modal body will focus with keyboard navigation only.\r\n * This allows inner focusable items to be focused without\r\n * the overflow scroll being focused.\r\n */\r\n@Directive({\r\n selector: '.modal-body',\r\n standalone: false,\r\n})\r\nexport class HermesModalBody implements OnDestroy {\r\n private tabindex = '0';\r\n private unlisteners: VoidFunction[] = [];\r\n private observer: ResizeObserver;\r\n\r\n constructor(\r\n private readonly renderer: Renderer2,\r\n private readonly host: ElementRef<HTMLElement>,\r\n ngZone: NgZone\r\n ) {\r\n ngZone.runOutsideAngular(() => {\r\n this.observer = new ResizeObserver(() => this.addOrRemoveTabIndex());\r\n this.observer.observe(host.nativeElement);\r\n\r\n this.unlisteners.push(\r\n renderer.listen(host.nativeElement, 'mouseup', () => {\r\n // set the tabindex binding back when click is completed with mouseup\r\n this.addOrRemoveTabIndex();\r\n }),\r\n renderer.listen(host.nativeElement, 'mousedown', () => {\r\n // tabindex = 0 binding should be removed\r\n // so it won't be focused when click starts with mousedown\r\n this.removeTabIndex();\r\n })\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n while (this.unlisteners.length) {\r\n this.unlisteners.pop()();\r\n }\r\n\r\n this.observer.disconnect();\r\n this.observer = null;\r\n }\r\n\r\n private addTabIndex() {\r\n this.renderer.setAttribute(this.host.nativeElement, 'tabindex', this.tabindex);\r\n }\r\n\r\n private removeTabIndex() {\r\n this.renderer.removeAttribute(this.host.nativeElement, 'tabindex');\r\n }\r\n\r\n private addOrRemoveTabIndex() {\r\n const modalBody = this.host.nativeElement.parentElement;\r\n\r\n if (modalBody && modalBody.clientHeight < modalBody.scrollHeight) {\r\n this.addTabIndex();\r\n } else {\r\n this.removeTabIndex();\r\n }\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 { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: '[hermesModalHost]',\r\n host: { '[class.hermes-modal-host]': 'true' },\r\n template: `\r\n <div class=\"hermes-modal-host-scrollable\">\r\n <ng-content></ng-content>\r\n </div>\r\n `,\r\n standalone: false,\r\n})\r\nexport class HermesModalHostComponent {}\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 { ClarityIcons, HermesIcon, windowCloseIcon } from '@hermes-ui/angular/icon';\nimport { CdkTrapFocusModule } from '@hermes-ui/angular/utils';\n\nimport { HermesModal } from './modal';\nimport { HermesModalBody } from './modal-body';\nimport { HermesModalHostComponent } from './modal-host.component';\n\nexport const HERMES_MODAL_DIRECTIVES: Type<any>[] = [HermesModal, HermesModalBody, HermesModalHostComponent];\n\n@NgModule({\n imports: [CommonModule, CdkTrapFocusModule, HermesIcon],\n declarations: [HERMES_MODAL_DIRECTIVES],\n exports: [HERMES_MODAL_DIRECTIVES, HermesIcon],\n})\nexport class HermesModalModule {\n constructor() {\n ClarityIcons.addIcons(windowCloseIcon);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { HermesCommonStringsService } from '@hermes-ui/angular/utils';\n\nimport { HermesModal } from './modal';\nimport { HermesModalConfigurationService } from './modal-configuration.service';\n\n@Component({\n selector: 'hermes-side-panel',\n templateUrl: 'side-panel.html',\n host: {\n '[class.side-panel]': 'true',\n },\n standalone: false,\n})\nexport class HermesSidePanel implements OnInit, OnDestroy {\n @Output('hermesSidePanelOpenChange') openChange = new EventEmitter<boolean>(false);\n @Input('hermesSidePanelCloseButtonAriaLabel') closeButtonAriaLabel: string | undefined;\n @Input('hermesSidePanelSkipAnimation') skipAnimation = false;\n @Input('hermesSidePanelLabelledById') labelledById: string;\n @Input('hermesSidePanelStaticBackdrop') staticBackdrop = false;\n @Input('hermesSidePanelClosable') closable = true;\n @Input('hermesSidePanelPreventClose') preventClose = false;\n @Output('hermesSidePanelAlternateClose') altClose = new EventEmitter<boolean>(false);\n\n private _pinnable = false;\n private _pinned = false;\n private originalStopClose: boolean;\n private _position = 'right';\n private _modal: HermesModal;\n private __open = false;\n\n private _size = 'md';\n\n constructor(\n private element: ElementRef<HTMLElement>,\n private configuration: HermesModalConfigurationService,\n public commonStrings: HermesCommonStringsService\n ) {}\n\n @Input('hermesSidePanelOpen')\n get _open(): boolean {\n return this.__open;\n }\n set _open(open: boolean) {\n if (open !== this.__open) {\n this.__open = open;\n if (this.pinned) {\n this.updateModalState();\n }\n }\n }\n\n @Input('hermesSidePanelSize')\n get size(): string {\n return this._size;\n }\n\n set size(value: string) {\n if (!value) {\n value = 'md';\n }\n if (this._size !== value) {\n this._size = value;\n if (this.pinned) {\n this.updateModalState();\n }\n }\n }\n\n @Input('hermesSidePanelPosition')\n get position(): string {\n return this._position;\n }\n\n set position(position: string) {\n if (position && position !== this._position) {\n this._position = position;\n if (this._position === 'right') {\n this.configuration.fadeMove = 'fadeLeft';\n } else if (this._position === 'bottom') {\n this.configuration.fadeMove = 'fadeUp';\n }\n }\n }\n\n @Input('hermesSidePanelPinned')\n get pinned(): boolean {\n return this._pinned;\n }\n\n set pinned(pinned: boolean) {\n this._pinned = pinned;\n if (this.modal) {\n this.updateModalState();\n }\n }\n\n @Input()\n get hermesSidePanelBackdrop(): boolean {\n return this.configuration.backdrop;\n }\n\n set hermesSidePanelBackdrop(backdrop: boolean) {\n if (backdrop !== undefined) {\n this.configuration.backdrop = backdrop;\n }\n }\n\n @Input()\n get hermesSidePanelPinnable(): boolean {\n return this._pinnable;\n }\n\n set hermesSidePanelPinnable(pinnable: boolean) {\n this._pinnable = pinnable;\n }\n\n @ViewChild(HermesModal)\n private get modal(): HermesModal {\n return this._modal;\n }\n\n private set modal(modal: HermesModal) {\n this._modal = modal;\n this.originalStopClose = this.modal.stopClose;\n this.updateModalState();\n }\n\n private get hostElement(): HTMLElement {\n return (this.element.nativeElement as HTMLElement).closest('.hermes-modal-host') || document.body;\n }\n\n @HostBinding('class.side-panel-bottom')\n private get bottomPositionCssClass() {\n return this.position === 'bottom';\n }\n\n ngOnInit(): void {\n this.configuration.fadeMove = 'fadeLeft';\n if (this.position === 'bottom') {\n this.configuration.fadeMove = 'fadeUp';\n }\n }\n\n ngOnDestroy(): void {\n this.cleanupPinnedClasses();\n }\n\n handleModalOpen(open: boolean) {\n if (open) {\n this.updateModalState();\n } else {\n this.cleanupPinnedClasses();\n }\n this.openChange.emit(open);\n }\n\n open() {\n this.modal.open();\n }\n\n close() {\n this.modal.close();\n }\n\n togglePinned() {\n this.pinned = !this.pinned;\n }\n\n @HostListener('document:pointerup', ['$event'])\n private documentClick(event: Event) {\n if (\n !this.element.nativeElement.contains(event.target as Node) &&\n this.modal._open &&\n !this.configuration.backdrop\n ) {\n this.modal.close();\n }\n }\n\n private updateModalState() {\n if (!this.modal) {\n return;\n }\n if (this.pinned) {\n this.modal.stopClose = true;\n if (this.__open) {\n this.updatePinnedClasses();\n }\n } else {\n this.modal.stopClose = this.originalStopClose;\n this.cleanupPinnedClasses();\n }\n }\n\n private cleanupPinnedClasses() {\n [this.hostElement, document.body].forEach(host => {\n host.classList.forEach(className => {\n if (className.startsWith('hermes-side-panel-pinned-')) {\n host.classList.remove(className);\n }\n });\n });\n }\n\n private updatePinnedClasses() {\n this.cleanupPinnedClasses();\n this.hostElement.classList.add(`hermes-side-panel-pinned-${this.position}-${this.size}`);\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<hermes-modal\r\n [hermesModalOpen]=\"_open\"\r\n (hermesModalOpenChange)=\"handleModalOpen($event)\"\r\n [hermesModalCloseButtonAriaLabel]=\"closeButtonAriaLabel\"\r\n [hermesModalSize]=\"size\"\r\n [hermesModalSkipAnimation]=\"skipAnimation\"\r\n [hermesModalStaticBackdrop]=\"staticBackdrop\"\r\n [hermesModalLabelledById]=\"labelledById\"\r\n [hermesModalPreventClose]=\"preventClose\"\r\n [hermesModalClosable]=\"closable\"\r\n (hermesModalAlternateClose)=\"altClose.emit($event)\"\r\n [hermesModalOverrideScrollService]=\"true\"\r\n>\r\n @if (hermesSidePanelPinnable) {\r\n <button\r\n type=\"button\"\r\n [attr.aria-label]=\"commonStrings.keys.sidePanelPin\"\r\n class=\"leading-button pinnable\"\r\n (click)=\"togglePinned()\"\r\n >\r\n <hermes-icon [shape]=\"pinned ? 'unpin' : 'pin'\"></hermes-icon>\r\n </button>\r\n }\r\n <div class=\"modal-title\"><ng-content select=\".side-panel-title\"></ng-content></div>\r\n <div class=\"modal-body\"><ng-content select=\".side-panel-body\"></ng-content></div>\r\n <div class=\"modal-footer\"><ng-content select=\".side-panel-footer\"></ng-content></div>\r\n</hermes-modal>\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 { HermesIcon } from '@hermes-ui/angular/icon';\nimport { CdkTrapFocusModule } from '@hermes-ui/angular/utils';\n\nimport { HermesModalModule } from './modal.module';\nimport { HermesSidePanel } from './side-panel';\n\nexport const HERMES_SIDEPANEL_DIRECTIVES: Type<any>[] = [HermesSidePanel];\n\n@NgModule({\n imports: [CommonModule, CdkTrapFocusModule, HermesIcon, HermesModalModule],\n declarations: [HERMES_SIDEPANEL_DIRECTIVES],\n exports: [HERMES_SIDEPANEL_DIRECTIVES, HermesModalModule, HermesIcon],\n})\nexport class HermesSidePanelModule {}\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 './modal';\r\nexport * from './modal.module';\r\nexport * from './modal-configuration.service';\r\nexport * from './modal-host.component';\r\nexport * from './side-panel.module';\r\nexport * from './modal-body';\r\nexport * from './side-panel';\r\nexport * from './modal-stack.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.ModalStackService","i3.HermesModalConfigurationService","i1.HermesModalConfigurationService","i2","i3","i4.HermesModal","i5.HermesModalBody"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-modal.mjs","sources":["../../../modal/modal-stack.service.ts","../../../modal/modal-configuration.service.ts","../../../modal/modal.ts","../../../modal/modal.html","../../../modal/modal-body.ts","../../../modal/modal-host.component.ts","../../../modal/modal.module.ts","../../../modal/side-panel.ts","../../../modal/side-panel.html","../../../modal/side-panel.module.ts","../../../modal/index.ts","../../../modal/hermes-ui-angular-modal.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 { isPlatformBrowser } from '@angular/common';\r\nimport { Inject, Injectable, PLATFORM_ID } from '@angular/core';\r\nimport { Keys } from '@hermes-ui/angular/utils';\r\n\r\nexport interface Closable {\r\n close(): void;\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ModalStackService {\r\n private readonly modalStack: Closable[] = [];\r\n private readonly keyUpEventListener = this.onKeyUp.bind(this);\r\n\r\n constructor(@Inject(PLATFORM_ID) private readonly platformId: unknown) {}\r\n\r\n trackModalOpen(openedModal: Closable) {\r\n if (this.modalStack.includes(openedModal) === false) {\r\n this.modalStack.unshift(openedModal);\r\n }\r\n\r\n if (isPlatformBrowser(this.platformId)) {\r\n document.body.addEventListener('keyup', this.keyUpEventListener);\r\n }\r\n }\r\n\r\n trackModalClose(closedModal: Closable) {\r\n const closedModalIndex = this.modalStack.indexOf(closedModal);\r\n\r\n if (closedModalIndex > -1) {\r\n this.modalStack.splice(closedModalIndex, 1);\r\n }\r\n\r\n if (this.modalStack.length === 0 && isPlatformBrowser(this.platformId)) {\r\n document.body.removeEventListener('keyup', this.keyUpEventListener);\r\n }\r\n }\r\n\r\n private onKeyUp(event: KeyboardEvent) {\r\n if (this.modalStack.length && event.key === Keys.Escape) {\r\n // We blur the active element because escaping with an input element in focus could cause\r\n // an ExpressionChangedAfterItHasBeenCheckedError for the touched state. (CDE-1662)\r\n (document.activeElement as HTMLElement).blur();\r\n\r\n this.modalStack[0].close();\r\n }\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({ providedIn: 'root' })\r\nexport class HermesModalConfigurationService {\r\n fadeMove = 'fadeDown';\r\n backdrop = true;\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 { animate, AnimationEvent, style, transition, trigger } from '@angular/animations';\r\nimport {\r\n Component,\r\n ContentChild,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Output,\r\n SimpleChange,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { HermesCommonStringsService, ScrollingService, uniqueIdFactory } from '@hermes-ui/angular/utils';\r\n\r\nimport { HermesModalConfigurationService } from './modal-configuration.service';\r\nimport { ModalStackService } from './modal-stack.service';\r\n\r\n@Component({\r\n selector: 'hermes-modal',\r\n viewProviders: [ScrollingService],\r\n templateUrl: './modal.html',\r\n styles: [\r\n `\r\n :host {\r\n display: none;\r\n }\r\n :host.open {\r\n display: inline;\r\n }\r\n `,\r\n ],\r\n animations: [\r\n trigger('fadeMove', [\r\n transition('* => fadeDown', [\r\n style({ opacity: 0, transform: 'translate(0, -25%)' }),\r\n animate('0.2s ease-in-out'),\r\n ]),\r\n transition('fadeDown => *', [\r\n animate('0.2s ease-in-out', style({ opacity: 0, transform: 'translate(0, -25%)' })),\r\n ]),\r\n transition('* => fadeLeft', [style({ opacity: 0, transform: 'translate(25%, 0)' }), animate('0.2s ease-in-out')]),\r\n transition('fadeLeft => *', [animate('0.2s ease-in-out', style({ opacity: 0, transform: 'translate(25%, 0)' }))]),\r\n transition('* => fadeUp', [style({ opacity: 0, transform: 'translate(0, 50%)' }), animate('0.2s ease-in-out')]),\r\n transition('fadeUp => *', [animate('0.2s ease-in-out', style({ opacity: 0, transform: 'translate(0, 50%)' }))]),\r\n ]),\r\n trigger('fade', [\r\n transition('void => *', [style({ opacity: 0 }), animate('0.2s ease-in-out', style({ opacity: 0.85 }))]),\r\n transition('* => void', [animate('0.2s ease-in-out', style({ opacity: 0 }))]),\r\n ]),\r\n ],\r\n standalone: false,\r\n})\r\nexport class HermesModal implements OnChanges, OnDestroy {\r\n modalId = uniqueIdFactory();\r\n @ViewChild('title') title: ElementRef<HTMLElement>;\r\n\r\n @Input('hermesModalOpen') @HostBinding('class.open') _open = false;\r\n @Output('hermesModalOpenChange') _openChanged = new EventEmitter<boolean>(false);\r\n\r\n @Input('hermesModalClosable') closable = true;\r\n @Input('hermesModalCloseButtonAriaLabel') closeButtonAriaLabel = this.commonStrings.keys.close;\r\n @Input('hermesModalSize') size = 'md';\r\n @Input('hermesModalStaticBackdrop') staticBackdrop = true;\r\n @Input('hermesModalSkipAnimation') skipAnimation = false;\r\n\r\n @Input('hermesModalPreventClose') stopClose = false;\r\n @Output('hermesModalAlternateClose') altClose = new EventEmitter<boolean>(false);\r\n\r\n @Input('hermesModalLabelledById') labelledBy: string;\r\n\r\n // presently this is only used by inline wizards\r\n @Input('hermesModalOverrideScrollService') bypassScrollService = false;\r\n\r\n // Provide raw modal content. This is used by the wizard so that the same template can be rendered with and without a modal.\r\n @ContentChild('hermesInternalModalContentTemplate') protected readonly modalContentTemplate: TemplateRef<any>;\r\n\r\n @ViewChild('body') private readonly bodyElementRef: ElementRef<HTMLElement>;\r\n\r\n constructor(\r\n private _scrollingService: ScrollingService,\r\n public commonStrings: HermesCommonStringsService,\r\n private modalStackService: ModalStackService,\r\n private configuration: HermesModalConfigurationService\r\n ) {}\r\n\r\n get fadeMove(): string {\r\n return this.skipAnimation ? '' : this.configuration.fadeMove;\r\n }\r\n set fadeMove(move: string) {\r\n this.configuration.fadeMove = move;\r\n }\r\n\r\n get backdrop(): boolean {\r\n return this.configuration.backdrop;\r\n }\r\n\r\n // Detect when _open is set to true and set no-scrolling to true\r\n ngOnChanges(changes: { [propName: string]: SimpleChange }): void {\r\n if (!this.bypassScrollService && changes && Object.prototype.hasOwnProperty.call(changes, '_open')) {\r\n if (changes._open.currentValue) {\r\n this._scrollingService.stopScrolling();\r\n this.modalStackService.trackModalOpen(this);\r\n } else {\r\n this._scrollingService.resumeScrolling();\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._scrollingService.resumeScrolling();\r\n }\r\n\r\n open(): void {\r\n if (this._open) {\r\n return;\r\n }\r\n this._open = true;\r\n this._openChanged.emit(true);\r\n this.modalStackService.trackModalOpen(this);\r\n }\r\n\r\n backdropClick(): void {\r\n if (this.staticBackdrop) {\r\n return;\r\n }\r\n\r\n this.close();\r\n }\r\n\r\n close(): void {\r\n if (this.stopClose) {\r\n this.altClose.emit(false);\r\n return;\r\n }\r\n if (!this.closable || !this._open) {\r\n return;\r\n }\r\n this._open = false;\r\n }\r\n\r\n fadeDone(e: AnimationEvent) {\r\n if (e.toState === 'void') {\r\n // TODO: Investigate if we can decouple from animation events\r\n this._openChanged.emit(false);\r\n this.modalStackService.trackModalClose(this);\r\n }\r\n }\r\n\r\n scrollTop() {\r\n this.bodyElementRef.nativeElement.scrollTo(0, 0);\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\n@if (_open) {\r\n<div class=\"modal\" [class.modal-full-screen]=\"size == 'full-screen'\">\r\n <!--fixme: revisit when ngClass works with exit animation-->\r\n <div\r\n cdkTrapFocus\r\n [cdkTrapFocusAutoCapture]=\"true\"\r\n [@fadeMove]=\"fadeMove\"\r\n (@fadeMove.done)=\"fadeDone($event)\"\r\n class=\"modal-dialog\"\r\n [class.modal-sm]=\"size == 'sm'\"\r\n [class.modal-lg]=\"size == 'lg'\"\r\n [class.modal-xl]=\"size == 'xl'\"\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n [attr.aria-hidden]=\"!_open\"\r\n [attr.aria-labelledby]=\"labelledBy || modalId\"\r\n >\r\n <div class=\"hermes-sr-only\">{{commonStrings.keys.modalContentStart}}</div>\r\n <!-- This wizard is tightly coupled to the modal styles, so changes here could require changes in the wizard. -->\r\n @if (!modalContentTemplate) {\r\n <div class=\"modal-content-wrapper\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header--accessible\">\r\n <ng-content select=\".leading-button\"></ng-content>\r\n <div class=\"modal-title-wrapper\" #title [id]=\"modalId\" cdkFocusInitial tabindex=\"-1\">\r\n <ng-content select=\".modal-title\"></ng-content>\r\n </div>\r\n @if (closable) {\r\n <button\r\n type=\"button\"\r\n [attr.aria-label]=\"closeButtonAriaLabel || commonStrings.keys.close\"\r\n class=\"close\"\r\n (click)=\"close()\"\r\n >\r\n <hermes-icon shape=\"window-close\"></hermes-icon>\r\n </button>\r\n }\r\n </div>\r\n <div #body class=\"modal-body-wrapper\">\r\n <ng-content select=\".modal-body\"></ng-content>\r\n </div>\r\n <ng-content select=\".modal-footer\"></ng-content>\r\n </div>\r\n </div>\r\n } @else {\r\n <ng-template [ngTemplateOutlet]=\"modalContentTemplate\"></ng-template>\r\n }\r\n </div>\r\n <div class=\"hermes-sr-only\">{{commonStrings.keys.modalContentEnd}}</div>\r\n @if (backdrop) {\r\n <div\r\n [@fade]\r\n class=\"modal-backdrop\"\r\n [class.static]=\"staticBackdrop\"\r\n aria-hidden=\"true\"\r\n (click)=\"backdropClick()\"\r\n ></div>\r\n }\r\n</div>\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, ElementRef, NgZone, OnDestroy, Renderer2 } from '@angular/core';\r\n\r\n/**\r\n * Allows modal overflow area to be scrollable via keyboard.\r\n * The modal body will focus with keyboard navigation only.\r\n * This allows inner focusable items to be focused without\r\n * the overflow scroll being focused.\r\n */\r\n@Directive({\r\n selector: '.modal-body',\r\n standalone: false,\r\n})\r\nexport class HermesModalBody implements OnDestroy {\r\n private tabindex = '0';\r\n private unlisteners: VoidFunction[] = [];\r\n private observer: ResizeObserver;\r\n\r\n constructor(\r\n private readonly renderer: Renderer2,\r\n private readonly host: ElementRef<HTMLElement>,\r\n ngZone: NgZone\r\n ) {\r\n ngZone.runOutsideAngular(() => {\r\n this.observer = new ResizeObserver(() => this.addOrRemoveTabIndex());\r\n this.observer.observe(host.nativeElement);\r\n\r\n this.unlisteners.push(\r\n renderer.listen(host.nativeElement, 'mouseup', () => {\r\n // set the tabindex binding back when click is completed with mouseup\r\n this.addOrRemoveTabIndex();\r\n }),\r\n renderer.listen(host.nativeElement, 'mousedown', () => {\r\n // tabindex = 0 binding should be removed\r\n // so it won't be focused when click starts with mousedown\r\n this.removeTabIndex();\r\n })\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n while (this.unlisteners.length) {\r\n this.unlisteners.pop()();\r\n }\r\n\r\n this.observer.disconnect();\r\n this.observer = null;\r\n }\r\n\r\n private addTabIndex() {\r\n this.renderer.setAttribute(this.host.nativeElement, 'tabindex', this.tabindex);\r\n }\r\n\r\n private removeTabIndex() {\r\n this.renderer.removeAttribute(this.host.nativeElement, 'tabindex');\r\n }\r\n\r\n private addOrRemoveTabIndex() {\r\n const modalBody = this.host.nativeElement.parentElement;\r\n\r\n if (modalBody && modalBody.clientHeight < modalBody.scrollHeight) {\r\n this.addTabIndex();\r\n } else {\r\n this.removeTabIndex();\r\n }\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 { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: '[hermesModalHost]',\r\n host: { '[class.hermes-modal-host]': 'true' },\r\n template: `\r\n <div class=\"hermes-modal-host-scrollable\">\r\n <ng-content></ng-content>\r\n </div>\r\n `,\r\n standalone: false,\r\n})\r\nexport class HermesModalHostComponent {}\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 { CommonModule } from '@angular/common';\r\nimport { NgModule, Type } from '@angular/core';\r\nimport { ClarityIcons, HermesIcon, windowCloseIcon } from '@hermes-ui/angular/icon';\r\nimport { CdkTrapFocusModule } from '@hermes-ui/angular/utils';\r\n\r\nimport { HermesModal } from './modal';\r\nimport { HermesModalBody } from './modal-body';\r\nimport { HermesModalHostComponent } from './modal-host.component';\r\n\r\nexport const HERMES_MODAL_DIRECTIVES: Type<any>[] = [HermesModal, HermesModalBody, HermesModalHostComponent];\r\n\r\n@NgModule({\r\n imports: [CommonModule, CdkTrapFocusModule, HermesIcon],\r\n declarations: [HERMES_MODAL_DIRECTIVES],\r\n exports: [HERMES_MODAL_DIRECTIVES, HermesIcon],\r\n})\r\nexport class HermesModalModule {\r\n constructor() {\r\n ClarityIcons.addIcons(windowCloseIcon);\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 {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { HermesCommonStringsService } from '@hermes-ui/angular/utils';\r\n\r\nimport { HermesModal } from './modal';\r\nimport { HermesModalConfigurationService } from './modal-configuration.service';\r\n\r\n@Component({\r\n selector: 'hermes-side-panel',\r\n templateUrl: 'side-panel.html',\r\n host: {\r\n '[class.side-panel]': 'true',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesSidePanel implements OnInit, OnDestroy {\r\n @Output('hermesSidePanelOpenChange') openChange = new EventEmitter<boolean>(false);\r\n @Input('hermesSidePanelCloseButtonAriaLabel') closeButtonAriaLabel: string | undefined;\r\n @Input('hermesSidePanelSkipAnimation') skipAnimation = false;\r\n @Input('hermesSidePanelLabelledById') labelledById: string;\r\n @Input('hermesSidePanelStaticBackdrop') staticBackdrop = false;\r\n @Input('hermesSidePanelClosable') closable = true;\r\n @Input('hermesSidePanelPreventClose') preventClose = false;\r\n @Output('hermesSidePanelAlternateClose') altClose = new EventEmitter<boolean>(false);\r\n\r\n private _pinnable = false;\r\n private _pinned = false;\r\n private originalStopClose: boolean;\r\n private _position = 'right';\r\n private _modal: HermesModal;\r\n private __open = false;\r\n\r\n private _size = 'md';\r\n\r\n constructor(\r\n private element: ElementRef<HTMLElement>,\r\n private configuration: HermesModalConfigurationService,\r\n public commonStrings: HermesCommonStringsService\r\n ) {}\r\n\r\n @Input('hermesSidePanelOpen')\r\n get _open(): boolean {\r\n return this.__open;\r\n }\r\n set _open(open: boolean) {\r\n if (open !== this.__open) {\r\n this.__open = open;\r\n if (this.pinned) {\r\n this.updateModalState();\r\n }\r\n }\r\n }\r\n\r\n @Input('hermesSidePanelSize')\r\n get size(): string {\r\n return this._size;\r\n }\r\n\r\n set size(value: string) {\r\n if (!value) {\r\n value = 'md';\r\n }\r\n if (this._size !== value) {\r\n this._size = value;\r\n if (this.pinned) {\r\n this.updateModalState();\r\n }\r\n }\r\n }\r\n\r\n @Input('hermesSidePanelPosition')\r\n get position(): string {\r\n return this._position;\r\n }\r\n\r\n set position(position: string) {\r\n if (position && position !== this._position) {\r\n this._position = position;\r\n if (this._position === 'right') {\r\n this.configuration.fadeMove = 'fadeLeft';\r\n } else if (this._position === 'bottom') {\r\n this.configuration.fadeMove = 'fadeUp';\r\n }\r\n }\r\n }\r\n\r\n @Input('hermesSidePanelPinned')\r\n get pinned(): boolean {\r\n return this._pinned;\r\n }\r\n\r\n set pinned(pinned: boolean) {\r\n this._pinned = pinned;\r\n if (this.modal) {\r\n this.updateModalState();\r\n }\r\n }\r\n\r\n @Input()\r\n get hermesSidePanelBackdrop(): boolean {\r\n return this.configuration.backdrop;\r\n }\r\n\r\n set hermesSidePanelBackdrop(backdrop: boolean) {\r\n if (backdrop !== undefined) {\r\n this.configuration.backdrop = backdrop;\r\n }\r\n }\r\n\r\n @Input()\r\n get hermesSidePanelPinnable(): boolean {\r\n return this._pinnable;\r\n }\r\n\r\n set hermesSidePanelPinnable(pinnable: boolean) {\r\n this._pinnable = pinnable;\r\n }\r\n\r\n @ViewChild(HermesModal)\r\n private get modal(): HermesModal {\r\n return this._modal;\r\n }\r\n\r\n private set modal(modal: HermesModal) {\r\n this._modal = modal;\r\n this.originalStopClose = this.modal.stopClose;\r\n this.updateModalState();\r\n }\r\n\r\n private get hostElement(): HTMLElement {\r\n return (this.element.nativeElement as HTMLElement).closest('.hermes-modal-host') || document.body;\r\n }\r\n\r\n @HostBinding('class.side-panel-bottom')\r\n private get bottomPositionCssClass() {\r\n return this.position === 'bottom';\r\n }\r\n\r\n ngOnInit(): void {\r\n this.configuration.fadeMove = 'fadeLeft';\r\n if (this.position === 'bottom') {\r\n this.configuration.fadeMove = 'fadeUp';\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.cleanupPinnedClasses();\r\n }\r\n\r\n handleModalOpen(open: boolean) {\r\n if (open) {\r\n this.updateModalState();\r\n } else {\r\n this.cleanupPinnedClasses();\r\n }\r\n this.openChange.emit(open);\r\n }\r\n\r\n open() {\r\n this.modal.open();\r\n }\r\n\r\n close() {\r\n this.modal.close();\r\n }\r\n\r\n togglePinned() {\r\n this.pinned = !this.pinned;\r\n }\r\n\r\n @HostListener('document:pointerup', ['$event'])\r\n private documentClick(event: Event) {\r\n if (\r\n !this.element.nativeElement.contains(event.target as Node) &&\r\n this.modal._open &&\r\n !this.configuration.backdrop\r\n ) {\r\n this.modal.close();\r\n }\r\n }\r\n\r\n private updateModalState() {\r\n if (!this.modal) {\r\n return;\r\n }\r\n if (this.pinned) {\r\n this.modal.stopClose = true;\r\n if (this.__open) {\r\n this.updatePinnedClasses();\r\n }\r\n } else {\r\n this.modal.stopClose = this.originalStopClose;\r\n this.cleanupPinnedClasses();\r\n }\r\n }\r\n\r\n private cleanupPinnedClasses() {\r\n [this.hostElement, document.body].forEach(host => {\r\n host.classList.forEach(className => {\r\n if (className.startsWith('hermes-side-panel-pinned-')) {\r\n host.classList.remove(className);\r\n }\r\n });\r\n });\r\n }\r\n\r\n private updatePinnedClasses() {\r\n this.cleanupPinnedClasses();\r\n this.hostElement.classList.add(`hermes-side-panel-pinned-${this.position}-${this.size}`);\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<hermes-modal\r\n [hermesModalOpen]=\"_open\"\r\n (hermesModalOpenChange)=\"handleModalOpen($event)\"\r\n [hermesModalCloseButtonAriaLabel]=\"closeButtonAriaLabel\"\r\n [hermesModalSize]=\"size\"\r\n [hermesModalSkipAnimation]=\"skipAnimation\"\r\n [hermesModalStaticBackdrop]=\"staticBackdrop\"\r\n [hermesModalLabelledById]=\"labelledById\"\r\n [hermesModalPreventClose]=\"preventClose\"\r\n [hermesModalClosable]=\"closable\"\r\n (hermesModalAlternateClose)=\"altClose.emit($event)\"\r\n [hermesModalOverrideScrollService]=\"true\"\r\n>\r\n @if (hermesSidePanelPinnable) {\r\n <button\r\n type=\"button\"\r\n [attr.aria-label]=\"commonStrings.keys.sidePanelPin\"\r\n class=\"leading-button pinnable\"\r\n (click)=\"togglePinned()\"\r\n >\r\n <hermes-icon [shape]=\"pinned ? 'unpin' : 'pin'\"></hermes-icon>\r\n </button>\r\n }\r\n <div class=\"modal-title\"><ng-content select=\".side-panel-title\"></ng-content></div>\r\n <div class=\"modal-body\"><ng-content select=\".side-panel-body\"></ng-content></div>\r\n <div class=\"modal-footer\"><ng-content select=\".side-panel-footer\"></ng-content></div>\r\n</hermes-modal>\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 { CommonModule } from '@angular/common';\r\nimport { NgModule, Type } from '@angular/core';\r\nimport { HermesIcon } from '@hermes-ui/angular/icon';\r\nimport { CdkTrapFocusModule } from '@hermes-ui/angular/utils';\r\n\r\nimport { HermesModalModule } from './modal.module';\r\nimport { HermesSidePanel } from './side-panel';\r\n\r\nexport const HERMES_SIDEPANEL_DIRECTIVES: Type<any>[] = [HermesSidePanel];\r\n\r\n@NgModule({\r\n imports: [CommonModule, CdkTrapFocusModule, HermesIcon, HermesModalModule],\r\n declarations: [HERMES_SIDEPANEL_DIRECTIVES],\r\n exports: [HERMES_SIDEPANEL_DIRECTIVES, HermesModalModule, HermesIcon],\r\n})\r\nexport class HermesSidePanelModule {}\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\nexport * from './modal';\r\nexport * from './modal.module';\r\nexport * from './modal-configuration.service';\r\nexport * from './modal-host.component';\r\nexport * from './side-panel.module';\r\nexport * from './modal-body';\r\nexport * from './side-panel';\r\nexport * from './modal-stack.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.ModalStackService","i3.HermesModalConfigurationService","i1.HermesModalConfigurationService","i2","i3","i4.HermesModal","i5.HermesModalBody"],"mappings":"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"}
|
|
@@ -61,18 +61,18 @@ class HermesPaginationButton {
|
|
|
61
61
|
return ICON_CONFIG[this.action] ?? { shape: 'ellipsis-vertical', direction: 'up' };
|
|
62
62
|
}
|
|
63
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>
|
|
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
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
69
|
}
|
|
70
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPaginationButton, decorators: [{
|
|
71
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>
|
|
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
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
77
|
}], propDecorators: { action: [{
|
|
78
78
|
type: Input
|
|
@@ -1 +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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"}
|
|
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":["/*\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 { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n/**\r\n * @beta This mirrors the `@beta` status of `hermes-pagination` in `@hermes-ui/core` - the API may still change.\r\n *\r\n * Lays out pagination controls (`<hermes-pagination-button>`, a page indicator, an optional\r\n * jump-to-page `hermesInput`) in a row. Always provide an `aria-label` describing what is being paginated.\r\n *\r\n * ```html\r\n * <hermes-pagination aria-label=\"Pagination\">\r\n * <hermes-pagination-button action=\"first\" ariaLabel=\"First page\" [disabled]=\"page === 1\"></hermes-pagination-button>\r\n * <hermes-pagination-button action=\"prev\" ariaLabel=\"Previous page\" [disabled]=\"page === 1\"></hermes-pagination-button>\r\n * <span aria-label=\"current page\">{{ page }} / {{ totalPages }}</span>\r\n * <hermes-pagination-button action=\"next\" ariaLabel=\"Next page\" [disabled]=\"page === totalPages\"></hermes-pagination-button>\r\n * <hermes-pagination-button action=\"last\" ariaLabel=\"Last page\" [disabled]=\"page === totalPages\"></hermes-pagination-button>\r\n * </hermes-pagination>\r\n * ```\r\n */\r\n@Component({\r\n selector: 'hermes-pagination',\r\n template: `<ng-content></ng-content>`,\r\n styleUrls: ['./pagination.component.scss'],\r\n encapsulation: ViewEncapsulation.ExperimentalIsolatedShadowDom,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class HermesPagination {}\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 { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { HermesIcon } from '@hermes-ui/angular/icon';\r\n\r\nexport type HermesPaginationAction = 'first' | 'prev' | 'next' | 'last';\r\n\r\ninterface PaginationIconConfig {\r\n shape: string;\r\n direction: 'up' | 'right' | 'down' | 'left';\r\n}\r\n\r\n// Mirrors getPaginationIconConfig() in @hermes-ui/core's pagination/utils.ts.\r\nconst ICON_CONFIG: Record<HermesPaginationAction, PaginationIconConfig> = {\r\n first: { shape: 'step-forward-2', direction: 'down' },\r\n prev: { shape: 'angle', direction: 'left' },\r\n next: { shape: 'angle', direction: 'right' },\r\n last: { shape: 'step-forward-2', direction: 'up' },\r\n};\r\n\r\n/**\r\n * @beta Mirrors the `@beta` status of `hermes-pagination-button` in `@hermes-ui/core`.\r\n *\r\n * An icon-only action button meant to sit inside `<hermes-pagination>`. Always set `ariaLabel`\r\n * (e.g. \"First page\", \"Previous page\") since the button carries no visible text.\r\n */\r\n@Component({\r\n selector: 'hermes-pagination-button',\r\n template: `\r\n <button type=\"button\" class=\"private-host\" [disabled]=\"disabled\" [attr.aria-label]=\"ariaLabel\">\r\n <hermes-icon [shape]=\"icon.shape\" [direction]=\"icon.direction\"></hermes-icon>\r\n </button>\r\n `,\r\n styleUrls: ['./pagination-button.component.scss'],\r\n encapsulation: ViewEncapsulation.ExperimentalIsolatedShadowDom,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [HermesIcon],\r\n})\r\nexport class HermesPaginationButton {\r\n @Input() action: HermesPaginationAction = 'next';\r\n @Input() disabled = false;\r\n @Input() ariaLabel: string;\r\n\r\n get icon(): PaginationIconConfig {\r\n return ICON_CONFIG[this.action] ?? { shape: 'ellipsis-vertical', direction: 'up' };\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 { NgModule } from '@angular/core';\r\n\r\nimport { HermesPaginationButton } from './pagination-button';\r\nimport { HermesPagination } from './pagination';\r\n\r\n@NgModule({\r\n imports: [HermesPagination, HermesPaginationButton],\r\n exports: [HermesPagination, HermesPaginationButton],\r\n})\r\nexport class HermesPaginationModule {}\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\nexport * from './pagination';\r\nexport * from './pagination-button';\r\nexport * from './pagination.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -577,7 +577,10 @@ function getContentPosition(key) {
|
|
|
577
577
|
*/
|
|
578
578
|
/** @dynamic */
|
|
579
579
|
class HermesPopoverContent {
|
|
580
|
-
constructor(element, container, template, overlayContainer, parent, overlay, popoverService, zone, platformId
|
|
580
|
+
constructor(element, container, template, overlayContainer, parent, overlay, popoverService, zone, platformId,
|
|
581
|
+
// Host directive, so this resolves to the SAME change detector as whatever
|
|
582
|
+
// component hosts it (HermesSelectContent, HermesDropdownMenu, etc).
|
|
583
|
+
changeDetectorRef) {
|
|
581
584
|
this.container = container;
|
|
582
585
|
this.template = template;
|
|
583
586
|
this.parent = parent;
|
|
@@ -585,6 +588,7 @@ class HermesPopoverContent {
|
|
|
585
588
|
this.popoverService = popoverService;
|
|
586
589
|
this.zone = zone;
|
|
587
590
|
this.platformId = platformId;
|
|
591
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
588
592
|
this._outsideClickClose = true;
|
|
589
593
|
this._scrollToClose = false;
|
|
590
594
|
this.popoverType = HermesPopoverType.DEFAULT;
|
|
@@ -687,6 +691,18 @@ class HermesPopoverContent {
|
|
|
687
691
|
else {
|
|
688
692
|
this.closePopover();
|
|
689
693
|
}
|
|
694
|
+
// `isOffScreen`/`is-off-screen`-style host bindings on the component hosting this
|
|
695
|
+
// directive (HermesSelectContent, HermesDropdownMenu, HermesSignpostContent) read
|
|
696
|
+
// `popoverService.open` directly, not through a signal or an Input - Angular has no
|
|
697
|
+
// way to know that value changed on its own. The event that flips it is usually a
|
|
698
|
+
// raw CDK-registered document listener (OverlayOutsideClickDispatcher), not a
|
|
699
|
+
// compiled Angular template event binding, so it never marks this component (or its
|
|
700
|
+
// OnPush ancestors) dirty by itself. Without this, closing/reopening a popover whose
|
|
701
|
+
// OnPush ancestor chain isn't independently marked dirty by something else in the
|
|
702
|
+
// same tick (e.g. a sibling value change) leaves the just-closed panel's host
|
|
703
|
+
// bindings stale: still `position: static` in its original spot instead of the
|
|
704
|
+
// off-screen-fixed placement `isOffScreen` is supposed to apply once closed.
|
|
705
|
+
this.changeDetectorRef.markForCheck();
|
|
690
706
|
});
|
|
691
707
|
}
|
|
692
708
|
ngOnDestroy() {
|
|
@@ -901,6 +917,13 @@ class HermesPopoverContent {
|
|
|
901
917
|
block: 'nearest',
|
|
902
918
|
inline: 'nearest',
|
|
903
919
|
});
|
|
920
|
+
// scrollIntoView() can itself move the page (e.g. the origin was partially hidden
|
|
921
|
+
// after a prior scroll), which happens after the overlay was already attached and
|
|
922
|
+
// positioned above. The scroll listeners that would normally catch this and
|
|
923
|
+
// reposition are only registered in the setTimeout below - too late for this
|
|
924
|
+
// specific scroll - so without this the panel is left floating at the pre-scroll
|
|
925
|
+
// coordinates instead of anchored to the origin's now-current position.
|
|
926
|
+
this.overlayRef.updatePosition();
|
|
904
927
|
this.setupIntersectionObserver();
|
|
905
928
|
}
|
|
906
929
|
setTimeout(() => {
|
|
@@ -1024,7 +1047,7 @@ class HermesPopoverContent {
|
|
|
1024
1047
|
}
|
|
1025
1048
|
return popover;
|
|
1026
1049
|
}
|
|
1027
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPopoverContent, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef, optional: true }, { token: i1.OverlayContainer }, { token: HermesPopoverContent, optional: true, skipSelf: true }, { token: i1.Overlay }, { token: HermesPopoverService }, { token: i0.NgZone }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1050
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPopoverContent, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef, optional: true }, { token: i1.OverlayContainer }, { token: HermesPopoverContent, optional: true, skipSelf: true }, { token: i1.Overlay }, { token: HermesPopoverService }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1028
1051
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: HermesPopoverContent, isStandalone: true, selector: "[hermesPopoverContent]", inputs: { open: ["hermesPopoverContent", "open"], contentAt: ["hermesPopoverContentAt", "contentAt"], availablePositions: ["hermesPopoverContentAvailablePositions", "availablePositions"], contentType: ["hermesPopoverContentType", "contentType"], outsideClickClose: ["hermesPopoverContentOutsideClickToClose", "outsideClickClose"], scrollToClose: ["hermesPopoverContentScrollToClose", "scrollToClose"], contentOrigin: ["hermesPopoverContentOrigin", "contentOrigin"] }, ngImport: i0 }); }
|
|
1029
1052
|
}
|
|
1030
1053
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPopoverContent, decorators: [{
|
|
@@ -1044,7 +1067,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
|
|
|
1044
1067
|
}] }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
1045
1068
|
type: Inject,
|
|
1046
1069
|
args: [PLATFORM_ID]
|
|
1047
|
-
}] }], propDecorators: { open: [{
|
|
1070
|
+
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { open: [{
|
|
1048
1071
|
type: Input,
|
|
1049
1072
|
args: ['hermesPopoverContent']
|
|
1050
1073
|
}], contentAt: [{
|