@hermes-ui/angular 0.1.6 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -52
- package/button/_buttons.clarity.scss +80 -2
- package/button/_mixins.buttons.scss +44 -2
- package/button/_properties.buttons.scss +349 -387
- package/button/_variables.buttons.scss +22 -0
- package/fesm2022/hermes-ui-angular-accordion.mjs +2 -2
- 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 +3 -3
- package/fesm2022/hermes-ui-angular-addons-card-container.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs +2 -2
- package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs +2 -2
- package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-datagrid.mjs +30 -30
- 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 +2 -2
- 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 +66 -66
- package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-var.mjs +2 -2
- package/fesm2022/hermes-ui-angular-addons-var.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-addons-wizard.mjs +2 -2
- 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 +76 -76
- 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 +928 -928
- package/fesm2022/hermes-ui-angular-data-datagrid.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data-stack-view.mjs +116 -116
- package/fesm2022/hermes-ui-angular-data-stack-view.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data-tree-view.mjs +14 -14
- 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 +2 -2
- 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 +52 -52
- package/fesm2022/hermes-ui-angular-forms-checkbox.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-combobox.mjs +128 -128
- package/fesm2022/hermes-ui-angular-forms-combobox.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-common.mjs +2 -2
- package/fesm2022/hermes-ui-angular-forms-common.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-datalist.mjs +48 -48
- package/fesm2022/hermes-ui-angular-forms-datalist.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs +377 -377
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-file-input.mjs +192 -192
- package/fesm2022/hermes-ui-angular-forms-file-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-input.mjs +54 -54
- package/fesm2022/hermes-ui-angular-forms-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-native-select.mjs +40 -40
- package/fesm2022/hermes-ui-angular-forms-native-select.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-number-input.mjs +82 -82
- package/fesm2022/hermes-ui-angular-forms-number-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-password.mjs +60 -60
- package/fesm2022/hermes-ui-angular-forms-password.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-radio.mjs +52 -52
- package/fesm2022/hermes-ui-angular-forms-radio.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-range.mjs +46 -46
- package/fesm2022/hermes-ui-angular-forms-range.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-select.mjs +10 -10
- package/fesm2022/hermes-ui-angular-forms-select.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-textarea.mjs +40 -40
- 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 +29 -29
- 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 +48 -48
- package/fesm2022/hermes-ui-angular-layout-nav.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-tabs.mjs +148 -148
- package/fesm2022/hermes-ui-angular-layout-tabs.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs +382 -28
- 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 +2 -2
- 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 +68 -68
- 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 +2 -2
- package/fesm2022/hermes-ui-angular-stepper.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-timeline.mjs +2 -2
- package/fesm2022/hermes-ui-angular-timeline.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-toast.mjs +6 -6
- 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 +6 -0
- package/fesm2022/hermes-ui-angular-utils.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-wizard.mjs +58 -58
- package/fesm2022/hermes-ui-angular-wizard.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular.mjs.map +1 -1
- package/forms/combobox/_combobox.clarity.scss +18 -4
- package/forms/combobox/_properties.combobox.scss +5 -5
- package/forms/styles/_input-group.clarity.scss +7 -0
- package/forms/styles/_mixins.forms.scss +12 -10
- package/forms/styles/_native-select.clarity.scss +17 -5
- package/forms/styles/_properties.forms.scss +29 -18
- package/forms/styles/_textarea.clarity.scss +4 -4
- package/forms/styles/_variables.forms.scss +6 -0
- package/hermes-ui.scss +7 -7
- package/layout/main-container/_properties.header.scss +44 -6
- package/layout/main-container/_variables.header.scss +11 -0
- package/layout/nav/_header.clarity.scss +14 -0
- package/layout/nav/_mixins.header.scss +55 -40
- package/layout/nav/_responsive-nav.clarity.scss +21 -10
- package/layout/vertical-nav/_properties.vertical-nav.scss +77 -27
- package/layout/vertical-nav/_variables.vertical-nav.scss +23 -0
- package/layout/vertical-nav/_vertical-nav.clarity.scss +418 -277
- 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-addons-theme-builder.d.ts +2 -2
- package/types/hermes-ui-angular-addons-theme-builder.d.ts.map +1 -1
- package/types/hermes-ui-angular-data-datagrid.d.ts.map +1 -1
- package/types/hermes-ui-angular-icon.d.ts +3 -3
- package/types/hermes-ui-angular-icon.d.ts.map +1 -1
- package/types/hermes-ui-angular-layout-vertical-nav.d.ts +134 -10
- package/types/hermes-ui-angular-layout-vertical-nav.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-utils.d.ts +12 -0
- package/types/hermes-ui-angular-utils.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-popover-dropdown.mjs","sources":["../../../popover/dropdown/providers/dropdown-focus-handler.service.ts","../../../popover/dropdown/providers/dropdown.service.ts","../../../popover/dropdown/dropdown.ts","../../../popover/dropdown/dropdown-menu.ts","../../../popover/dropdown/dropdown-trigger.ts","../../../popover/dropdown/dropdown-item.ts","../../../popover/dropdown/menu-positions.ts","../../../popover/dropdown/dropdown.module.ts","../../../popover/dropdown/index.ts","../../../popover/dropdown/hermes-ui-angular-popover-dropdown.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, OnDestroy, Optional, PLATFORM_ID, Renderer2, SkipSelf } from '@angular/core';\nimport { HermesPopoverService } from '@hermes-ui/angular/popover/common';\nimport {\n ArrowKeyDirection,\n customFocusableItemProvider,\n FocusableItem,\n FocusService,\n Linkers,\n uniqueIdFactory,\n wrapObservable,\n} from '@hermes-ui/angular/utils';\nimport { Observable, of, ReplaySubject } from 'rxjs';\nimport { map } from 'rxjs/operators';\n@Injectable()\nexport class DropdownFocusHandler implements OnDestroy, FocusableItem {\n id = uniqueIdFactory();\n\n right?: Observable<FocusableItem>;\n down?: Observable<FocusableItem>;\n up?: Observable<FocusableItem>;\n\n private _trigger: HTMLElement;\n private _container: HTMLElement;\n private children: ReplaySubject<FocusableItem[]>;\n private _unlistenFuncs: (() => void)[] = [];\n\n constructor(\n private renderer: Renderer2,\n @SkipSelf()\n @Optional()\n private parent: DropdownFocusHandler,\n private popoverService: HermesPopoverService,\n private focusService: FocusService,\n @Inject(PLATFORM_ID) private platformId: any\n ) {\n this.resetChildren();\n this.moveToFirstItemWhenOpen();\n }\n\n get trigger() {\n return this._trigger;\n }\n set trigger(el: HTMLElement) {\n this._trigger = el;\n\n if (this.parent) {\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.arrowright', event => this.popoverService.toggleWithEvent(event))\n );\n } else {\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.arrowup', event => this.popoverService.toggleWithEvent(event))\n );\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.arrowdown', event => this.popoverService.toggleWithEvent(event))\n );\n }\n }\n\n get container() {\n return this._container;\n }\n\n set container(el: HTMLElement) {\n this._container = el;\n\n // whether root container or not, tab key should always toggle (i.e. close) the container\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.tab', event => this.popoverService.toggleWithEvent(event)),\n this.renderer.listen(el, 'keydown.shift.tab', event => this.popoverService.toggleWithEvent(event))\n );\n\n // All containers are registered to the focus service.\n this.focusService.registerContainer(el);\n\n if (this.parent) {\n // if it's a nested container, pressing escape has the same effect as pressing left key, which closes the current\n // popup and moves up to its parent. Here, we stop propagation so that the parent container\n // doesn't receive the escape keydown\n this._unlistenFuncs.push(\n this.renderer.listen(el, 'keydown.escape', event => {\n this.focusService.move(ArrowKeyDirection.LEFT);\n event.stopPropagation();\n })\n );\n }\n }\n\n ngOnDestroy() {\n this._unlistenFuncs.forEach((unlisten: () => void) => unlisten());\n\n this.focusService.detachListeners(this.container);\n }\n\n /**\n * If the dropdown was opened by clicking on the trigger, we automatically move to the first item\n */\n moveToFirstItemWhenOpen() {\n const subscription = this.popoverService.openChange.subscribe(open => {\n if (open && this.popoverService.openEvent) {\n // Even if we properly waited for ngAfterViewInit, the container still wouldn't be attached to the DOM.\n // So setTimeout is the only way to wait for the container to be ready to move focus to first item.\n setTimeout(() => {\n this.focusService.moveTo(this);\n if (this.parent) {\n this.focusService.move(ArrowKeyDirection.RIGHT);\n } else {\n this.focusService.move(ArrowKeyDirection.DOWN);\n }\n });\n }\n });\n\n this._unlistenFuncs.push(() => subscription.unsubscribe());\n }\n\n focus() {\n if (this.trigger && isPlatformBrowser(this.platformId)) {\n this.trigger.focus();\n }\n }\n\n blur() {\n if (this.trigger && isPlatformBrowser(this.platformId)) {\n this.trigger.blur();\n }\n }\n\n activate() {\n if (isPlatformBrowser(this.platformId)) {\n this.trigger.click();\n }\n }\n\n resetChildren() {\n this.children = new ReplaySubject<FocusableItem[]>(1);\n if (this.parent) {\n this.right = this.openAndGetChildren().pipe(map(all => all[0]));\n } else {\n this.down = this.openAndGetChildren().pipe(map(all => all[0]));\n this.up = this.openAndGetChildren().pipe(map(all => all[all.length - 1]));\n }\n }\n\n addChildren(children: FocusableItem[]) {\n Linkers.linkVertical(children);\n if (this.parent) {\n Linkers.linkParent(children, this.closeAndGetThis(), ArrowKeyDirection.LEFT);\n }\n this.children.next(children);\n }\n\n private openAndGetChildren() {\n return wrapObservable(this.children, () => (this.popoverService.open = true));\n }\n\n private closeAndGetThis() {\n return wrapObservable(of(this), () => (this.popoverService.open = false));\n }\n}\n\nexport const DROPDOWN_FOCUS_HANDLER_PROVIDER = customFocusableItemProvider(DropdownFocusHandler);\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, Optional, SkipSelf } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class RootDropdownService {\r\n private _changes = new Subject<boolean>();\r\n\r\n get changes(): Observable<boolean> {\r\n return this._changes.asObservable();\r\n }\r\n\r\n closeMenus(): void {\r\n this._changes.next(false);\r\n }\r\n}\r\n\r\nexport function hermesRootDropdownFactory(existing: RootDropdownService) {\r\n return existing || new RootDropdownService();\r\n}\r\n\r\nexport const ROOT_DROPDOWN_PROVIDER = {\r\n provide: RootDropdownService,\r\n useFactory: hermesRootDropdownFactory,\r\n deps: [[new Optional(), new SkipSelf(), RootDropdownService]],\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 { ChangeDetectorRef, Component, Input, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { HermesPopoverHostDirective, HermesPopoverPoint, HermesPopoverService } from '@hermes-ui/angular/popover/common';\nimport { FOCUS_SERVICE_PROVIDER } from '@hermes-ui/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { DROPDOWN_FOCUS_HANDLER_PROVIDER, DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\nimport { ROOT_DROPDOWN_PROVIDER, RootDropdownService } from './providers/dropdown.service';\n@Component({\n selector: 'hermes-dropdown',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.dropdown]': 'true',\n '[class.open]': 'popoverService.open',\n },\n providers: [ROOT_DROPDOWN_PROVIDER, FOCUS_SERVICE_PROVIDER, DROPDOWN_FOCUS_HANDLER_PROVIDER],\n hostDirectives: [HermesPopoverHostDirective],\n standalone: false,\n})\nexport class HermesDropdown implements OnDestroy {\n @Input('hermesCloseMenuOnItemClick') isMenuClosable = true;\n\n private subscriptions: Subscription[] = [];\n\n constructor(\n @SkipSelf()\n @Optional()\n public parent: HermesDropdown,\n public popoverService: HermesPopoverService,\n public focusHandler: DropdownFocusHandler,\n cdr: ChangeDetectorRef,\n dropdownService: RootDropdownService\n ) {\n this.subscriptions.push(dropdownService.changes.subscribe(value => (popoverService.open = value)));\n this.subscriptions.push(popoverService.openChange.subscribe(() => cdr.markForCheck()));\n }\n\n openAtPoint(point: HermesPopoverPoint, targetElement?: HTMLElement) {\n this.popoverService.openAtPoint(point, targetElement);\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(sub => sub.unsubscribe());\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n SkipSelf,\n} from '@angular/core';\nimport {\n HermesPopoverContent,\n HermesPopoverPosition,\n HermesPopoverService,\n HermesPopoverType,\n DROPDOWN_POSITIONS,\n POPOVER_HOST_ORIGIN,\n} from '@hermes-ui/angular/popover/common';\nimport { FocusableItem } from '@hermes-ui/angular/utils';\n\nimport { DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\n\n@Component({\n selector: 'hermes-dropdown-menu',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.dropdown-menu]': 'true',\n '[attr.role]': '\"menu\"',\n },\n standalone: false,\n hostDirectives: [HermesPopoverContent],\n})\nexport class HermesDropdownMenu implements AfterContentInit, OnDestroy {\n @ContentChildren(FocusableItem) items: QueryList<FocusableItem>;\n\n constructor(\n @Optional()\n @Inject(POPOVER_HOST_ORIGIN)\n parentHost: ElementRef<HTMLElement>,\n @Optional()\n @SkipSelf()\n nested: HermesDropdownMenu,\n private focusHandler: DropdownFocusHandler,\n private elementRef: ElementRef,\n private popoverService: HermesPopoverService,\n private popoverContent: HermesPopoverContent\n ) {\n if (!parentHost) {\n throw new Error('hermes-dropdown-menu should only be used inside of a hermes-dropdown');\n }\n\n popoverContent.scrollToClose = true;\n\n popoverContent.contentType = HermesPopoverType.DROPDOWN;\n\n popoverContent.contentAt = nested ? HermesPopoverPosition.RIGHT_TOP : HermesPopoverPosition.BOTTOM_LEFT;\n\n popoverService.panelClass.push('hermes-dropdown-container');\n }\n\n /*\n * Fallback to hide when *hermesIfOpen is not being used\n */\n @HostBinding('class.is-off-screen')\n get isOffScreen() {\n return !this.popoverService.open;\n }\n\n @Input('hermesPosition')\n set position(position: string | HermesPopoverPosition) {\n if (!position) {\n return;\n }\n\n const posIndex = DROPDOWN_POSITIONS.indexOf(position as HermesPopoverPosition);\n\n if (posIndex === -1) {\n return;\n }\n\n // set the popover values based on menu position\n this.popoverContent.contentAt = DROPDOWN_POSITIONS[posIndex];\n }\n\n ngAfterContentInit() {\n this.focusHandler.container = this.elementRef.nativeElement;\n this.items.changes.subscribe(() => this.focusHandler.addChildren(this.items.toArray()));\n // I saw this on GitHub as a solution to avoid code duplication because of missed QueryList changes\n this.items.notifyOnChanges();\n }\n\n ngOnDestroy() {\n this.focusHandler.resetChildren();\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, ElementRef, HostListener } from '@angular/core';\nimport { HermesPopoverService } from '@hermes-ui/angular/popover/common';\n\nimport { HermesDropdown } from './dropdown';\nimport { DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\n\n@Directive({\n // We support both selectors for legacy reasons\n selector: '[hermesDropdownTrigger],[hermesDropdownToggle]',\n host: {\n '[class.dropdown-toggle]': 'isRootLevelToggle',\n '[class.dropdown-item]': '!isRootLevelToggle',\n '[class.expandable]': '!isRootLevelToggle',\n '[class.active]': 'active',\n '[attr.aria-haspopup]': '\"menu\"',\n '[attr.aria-expanded]': 'active',\n },\n standalone: false,\n})\nexport class HermesDropdownTrigger {\n isRootLevelToggle = true;\n\n constructor(\n dropdown: HermesDropdown,\n private popoverService: HermesPopoverService,\n el: ElementRef<HTMLElement>,\n focusHandler: DropdownFocusHandler\n ) {\n // if the containing dropdown has a parent, then this is not the root level one\n if (dropdown.parent) {\n this.isRootLevelToggle = false;\n }\n focusHandler.trigger = el.nativeElement;\n popoverService.origin = el;\n }\n\n get active(): boolean {\n return this.popoverService.open;\n }\n\n @HostListener('click', ['$event'])\n onDropdownTriggerClick(event: any): void {\n this.popoverService.toggleWithEvent(event);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';\nimport { BASIC_FOCUSABLE_ITEM_PROVIDER, FocusableItem } from '@hermes-ui/angular/utils';\n\nimport { HermesDropdown } from './dropdown';\nimport { RootDropdownService } from './providers/dropdown.service';\n\n@Directive({\n selector: '[hermesDropdownItem]',\n host: {\n '[class.disabled]': 'disabled',\n '[class.dropdown-item]': 'true',\n '[attr.role]': '\"menuitem\"',\n '[attr.aria-disabled]': 'disabled',\n '[attr.id]': 'dropdownItemId',\n },\n providers: [BASIC_FOCUSABLE_ITEM_PROVIDER],\n standalone: false,\n})\nexport class HermesDropdownItem {\n constructor(\n private dropdown: HermesDropdown,\n private _dropdownService: RootDropdownService,\n private focusableItem: FocusableItem,\n private el: ElementRef,\n private renderer: Renderer2\n ) {}\n\n @Input('hermesDisabled')\n get disabled() {\n return this.focusableItem.disabled;\n }\n set disabled(value: boolean | string) {\n // Empty string attribute evaluates to false but should disable the item, so we need to add a special case for it.\n this.focusableItem.disabled = !!value || value === '';\n }\n\n /**\n * Let you overwrite the focusable auto increment id.\n */\n @Input('id')\n get dropdownItemId() {\n return this.focusableItem.id;\n }\n set dropdownItemId(value: string) {\n this.focusableItem.id = value;\n }\n\n @HostListener('click')\n private onDropdownItemClick(): void {\n // Move focus back to the root dropdown trigger.\n // This is done BEFORE the dropdown is closed so that focus gets moved properly if a modal is opened.\n if (this.dropdown.isMenuClosable && !this.disabled && this.dropdown.popoverService.open) {\n const rootDropdown = this.findRootDropdown();\n\n rootDropdown.focusHandler.focus();\n }\n\n // Ensure that the dropdown is closed after custom dropdown item click event handlers have run.\n setTimeout(() => {\n if (this.dropdown.isMenuClosable && !this.disabled) {\n this._dropdownService.closeMenus();\n }\n });\n }\n\n @HostListener('keydown.space', ['$event'])\n private onSpaceKeydown($event: KeyboardEvent) {\n this.stopImmediatePropagationIfDisabled($event);\n }\n\n @HostListener('keydown.enter', ['$event'])\n private onEnterKeydown($event: KeyboardEvent) {\n this.stopImmediatePropagationIfDisabled($event);\n }\n\n private stopImmediatePropagationIfDisabled($event: Event) {\n if (this.disabled) {\n $event.preventDefault(); // prevent click event\n $event.stopImmediatePropagation();\n }\n }\n\n private findRootDropdown() {\n let rootDropdown = this.dropdown;\n\n while (rootDropdown.parent) {\n rootDropdown = rootDropdown.parent;\n }\n\n return rootDropdown;\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 const HERMES_MENU_POSITIONS: string[] = [\r\n 'bottom-left',\r\n 'bottom-right',\r\n 'left-bottom',\r\n 'left-top',\r\n 'right-bottom',\r\n 'right-top',\r\n 'top-left',\r\n 'top-right',\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 { HermesIcon } from '@hermes-ui/angular/icon';\nimport { HermesIfOpen } from '@hermes-ui/angular/popover/common';\n\nimport { HermesDropdown } from './dropdown';\nimport { HermesDropdownItem } from './dropdown-item';\nimport { HermesDropdownMenu } from './dropdown-menu';\nimport { HermesDropdownTrigger } from './dropdown-trigger';\n\nexport const HERMES_DROPDOWN_DIRECTIVES: Type<any>[] = [HermesDropdown, HermesDropdownMenu, HermesDropdownTrigger, HermesDropdownItem];\n\n@NgModule({\n imports: [CommonModule, HermesIcon, HermesIfOpen],\n declarations: [HERMES_DROPDOWN_DIRECTIVES],\n exports: [HERMES_DROPDOWN_DIRECTIVES, HermesIfOpen, HermesIcon],\n})\nexport class HermesDropdownModule {}\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 './dropdown';\r\nexport * from './dropdown-menu';\r\nexport * from './dropdown-trigger';\r\nexport * from './dropdown-item';\r\nexport * from './menu-positions';\r\nexport * from './dropdown.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.DropdownFocusHandler","i3.RootDropdownService","i1.DropdownFocusHandler","i1.HermesDropdown","i3.DropdownFocusHandler","i2.RootDropdownService","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-popover-dropdown.mjs","sources":["../../../popover/dropdown/providers/dropdown-focus-handler.service.ts","../../../popover/dropdown/providers/dropdown.service.ts","../../../popover/dropdown/dropdown.ts","../../../popover/dropdown/dropdown-menu.ts","../../../popover/dropdown/dropdown-trigger.ts","../../../popover/dropdown/dropdown-item.ts","../../../popover/dropdown/menu-positions.ts","../../../popover/dropdown/dropdown.module.ts","../../../popover/dropdown/index.ts","../../../popover/dropdown/hermes-ui-angular-popover-dropdown.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, OnDestroy, Optional, PLATFORM_ID, Renderer2, SkipSelf } from '@angular/core';\r\nimport { HermesPopoverService } from '@hermes-ui/angular/popover/common';\r\nimport {\r\n ArrowKeyDirection,\r\n customFocusableItemProvider,\r\n FocusableItem,\r\n FocusService,\r\n Linkers,\r\n uniqueIdFactory,\r\n wrapObservable,\r\n} from '@hermes-ui/angular/utils';\r\nimport { Observable, of, ReplaySubject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n@Injectable()\r\nexport class DropdownFocusHandler implements OnDestroy, FocusableItem {\r\n id = uniqueIdFactory();\r\n\r\n right?: Observable<FocusableItem>;\r\n down?: Observable<FocusableItem>;\r\n up?: Observable<FocusableItem>;\r\n\r\n private _trigger: HTMLElement;\r\n private _container: HTMLElement;\r\n private children: ReplaySubject<FocusableItem[]>;\r\n private _unlistenFuncs: (() => void)[] = [];\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n @SkipSelf()\r\n @Optional()\r\n private parent: DropdownFocusHandler,\r\n private popoverService: HermesPopoverService,\r\n private focusService: FocusService,\r\n @Inject(PLATFORM_ID) private platformId: any\r\n ) {\r\n this.resetChildren();\r\n this.moveToFirstItemWhenOpen();\r\n }\r\n\r\n get trigger() {\r\n return this._trigger;\r\n }\r\n set trigger(el: HTMLElement) {\r\n this._trigger = el;\r\n\r\n if (this.parent) {\r\n this._unlistenFuncs.push(\r\n this.renderer.listen(el, 'keydown.arrowright', event => this.popoverService.toggleWithEvent(event))\r\n );\r\n } else {\r\n this._unlistenFuncs.push(\r\n this.renderer.listen(el, 'keydown.arrowup', event => this.popoverService.toggleWithEvent(event))\r\n );\r\n this._unlistenFuncs.push(\r\n this.renderer.listen(el, 'keydown.arrowdown', event => this.popoverService.toggleWithEvent(event))\r\n );\r\n }\r\n }\r\n\r\n get container() {\r\n return this._container;\r\n }\r\n\r\n set container(el: HTMLElement) {\r\n this._container = el;\r\n\r\n // whether root container or not, tab key should always toggle (i.e. close) the container\r\n this._unlistenFuncs.push(\r\n this.renderer.listen(el, 'keydown.tab', event => this.popoverService.toggleWithEvent(event)),\r\n this.renderer.listen(el, 'keydown.shift.tab', event => this.popoverService.toggleWithEvent(event))\r\n );\r\n\r\n // All containers are registered to the focus service.\r\n this.focusService.registerContainer(el);\r\n\r\n if (this.parent) {\r\n // if it's a nested container, pressing escape has the same effect as pressing left key, which closes the current\r\n // popup and moves up to its parent. Here, we stop propagation so that the parent container\r\n // doesn't receive the escape keydown\r\n this._unlistenFuncs.push(\r\n this.renderer.listen(el, 'keydown.escape', event => {\r\n this.focusService.move(ArrowKeyDirection.LEFT);\r\n event.stopPropagation();\r\n })\r\n );\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unlistenFuncs.forEach((unlisten: () => void) => unlisten());\r\n\r\n this.focusService.detachListeners(this.container);\r\n }\r\n\r\n /**\r\n * If the dropdown was opened by clicking on the trigger, we automatically move to the first item\r\n */\r\n moveToFirstItemWhenOpen() {\r\n const subscription = this.popoverService.openChange.subscribe(open => {\r\n if (open && this.popoverService.openEvent) {\r\n // Even if we properly waited for ngAfterViewInit, the container still wouldn't be attached to the DOM.\r\n // So setTimeout is the only way to wait for the container to be ready to move focus to first item.\r\n setTimeout(() => {\r\n this.focusService.moveTo(this);\r\n if (this.parent) {\r\n this.focusService.move(ArrowKeyDirection.RIGHT);\r\n } else {\r\n this.focusService.move(ArrowKeyDirection.DOWN);\r\n }\r\n });\r\n }\r\n });\r\n\r\n this._unlistenFuncs.push(() => subscription.unsubscribe());\r\n }\r\n\r\n focus() {\r\n if (this.trigger && isPlatformBrowser(this.platformId)) {\r\n this.trigger.focus();\r\n }\r\n }\r\n\r\n blur() {\r\n if (this.trigger && isPlatformBrowser(this.platformId)) {\r\n this.trigger.blur();\r\n }\r\n }\r\n\r\n activate() {\r\n if (isPlatformBrowser(this.platformId)) {\r\n this.trigger.click();\r\n }\r\n }\r\n\r\n resetChildren() {\r\n this.children = new ReplaySubject<FocusableItem[]>(1);\r\n if (this.parent) {\r\n this.right = this.openAndGetChildren().pipe(map(all => all[0]));\r\n } else {\r\n this.down = this.openAndGetChildren().pipe(map(all => all[0]));\r\n this.up = this.openAndGetChildren().pipe(map(all => all[all.length - 1]));\r\n }\r\n }\r\n\r\n addChildren(children: FocusableItem[]) {\r\n Linkers.linkVertical(children);\r\n if (this.parent) {\r\n Linkers.linkParent(children, this.closeAndGetThis(), ArrowKeyDirection.LEFT);\r\n }\r\n this.children.next(children);\r\n }\r\n\r\n private openAndGetChildren() {\r\n return wrapObservable(this.children, () => (this.popoverService.open = true));\r\n }\r\n\r\n private closeAndGetThis() {\r\n return wrapObservable(of(this), () => (this.popoverService.open = false));\r\n }\r\n}\r\n\r\nexport const DROPDOWN_FOCUS_HANDLER_PROVIDER = customFocusableItemProvider(DropdownFocusHandler);\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, Optional, SkipSelf } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class RootDropdownService {\r\n private _changes = new Subject<boolean>();\r\n\r\n get changes(): Observable<boolean> {\r\n return this._changes.asObservable();\r\n }\r\n\r\n closeMenus(): void {\r\n this._changes.next(false);\r\n }\r\n}\r\n\r\nexport function hermesRootDropdownFactory(existing: RootDropdownService) {\r\n return existing || new RootDropdownService();\r\n}\r\n\r\nexport const ROOT_DROPDOWN_PROVIDER = {\r\n provide: RootDropdownService,\r\n useFactory: hermesRootDropdownFactory,\r\n deps: [[new Optional(), new SkipSelf(), RootDropdownService]],\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 { ChangeDetectorRef, Component, Input, OnDestroy, Optional, SkipSelf } from '@angular/core';\r\nimport { HermesPopoverHostDirective, HermesPopoverPoint, HermesPopoverService } from '@hermes-ui/angular/popover/common';\r\nimport { FOCUS_SERVICE_PROVIDER } from '@hermes-ui/angular/utils';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { DROPDOWN_FOCUS_HANDLER_PROVIDER, DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\r\nimport { ROOT_DROPDOWN_PROVIDER, RootDropdownService } from './providers/dropdown.service';\r\n@Component({\r\n selector: 'hermes-dropdown',\r\n template: `<ng-content></ng-content>`,\r\n host: {\r\n '[class.dropdown]': 'true',\r\n '[class.open]': 'popoverService.open',\r\n },\r\n providers: [ROOT_DROPDOWN_PROVIDER, FOCUS_SERVICE_PROVIDER, DROPDOWN_FOCUS_HANDLER_PROVIDER],\r\n hostDirectives: [HermesPopoverHostDirective],\r\n standalone: false,\r\n})\r\nexport class HermesDropdown implements OnDestroy {\r\n @Input('hermesCloseMenuOnItemClick') isMenuClosable = true;\r\n\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n @SkipSelf()\r\n @Optional()\r\n public parent: HermesDropdown,\r\n public popoverService: HermesPopoverService,\r\n public focusHandler: DropdownFocusHandler,\r\n cdr: ChangeDetectorRef,\r\n dropdownService: RootDropdownService\r\n ) {\r\n this.subscriptions.push(dropdownService.changes.subscribe(value => (popoverService.open = value)));\r\n this.subscriptions.push(popoverService.openChange.subscribe(() => cdr.markForCheck()));\r\n }\r\n\r\n openAtPoint(point: HermesPopoverPoint, targetElement?: HTMLElement) {\r\n this.popoverService.openAtPoint(point, targetElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(sub => sub.unsubscribe());\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 AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n HostBinding,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n Optional,\r\n QueryList,\r\n SkipSelf,\r\n} from '@angular/core';\r\nimport {\r\n HermesPopoverContent,\r\n HermesPopoverPosition,\r\n HermesPopoverService,\r\n HermesPopoverType,\r\n DROPDOWN_POSITIONS,\r\n POPOVER_HOST_ORIGIN,\r\n} from '@hermes-ui/angular/popover/common';\r\nimport { FocusableItem } from '@hermes-ui/angular/utils';\r\n\r\nimport { DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\r\n\r\n@Component({\r\n selector: 'hermes-dropdown-menu',\r\n template: `<ng-content></ng-content>`,\r\n host: {\r\n '[class.dropdown-menu]': 'true',\r\n '[attr.role]': '\"menu\"',\r\n },\r\n standalone: false,\r\n hostDirectives: [HermesPopoverContent],\r\n})\r\nexport class HermesDropdownMenu implements AfterContentInit, OnDestroy {\r\n @ContentChildren(FocusableItem) items: QueryList<FocusableItem>;\r\n\r\n constructor(\r\n @Optional()\r\n @Inject(POPOVER_HOST_ORIGIN)\r\n parentHost: ElementRef<HTMLElement>,\r\n @Optional()\r\n @SkipSelf()\r\n nested: HermesDropdownMenu,\r\n private focusHandler: DropdownFocusHandler,\r\n private elementRef: ElementRef,\r\n private popoverService: HermesPopoverService,\r\n private popoverContent: HermesPopoverContent\r\n ) {\r\n if (!parentHost) {\r\n throw new Error('hermes-dropdown-menu should only be used inside of a hermes-dropdown');\r\n }\r\n\r\n popoverContent.scrollToClose = true;\r\n\r\n popoverContent.contentType = HermesPopoverType.DROPDOWN;\r\n\r\n popoverContent.contentAt = nested ? HermesPopoverPosition.RIGHT_TOP : HermesPopoverPosition.BOTTOM_LEFT;\r\n\r\n popoverService.panelClass.push('hermes-dropdown-container');\r\n }\r\n\r\n /*\r\n * Fallback to hide when *hermesIfOpen is not being used\r\n */\r\n @HostBinding('class.is-off-screen')\r\n get isOffScreen() {\r\n return !this.popoverService.open;\r\n }\r\n\r\n @Input('hermesPosition')\r\n set position(position: string | HermesPopoverPosition) {\r\n if (!position) {\r\n return;\r\n }\r\n\r\n const posIndex = DROPDOWN_POSITIONS.indexOf(position as HermesPopoverPosition);\r\n\r\n if (posIndex === -1) {\r\n return;\r\n }\r\n\r\n // set the popover values based on menu position\r\n this.popoverContent.contentAt = DROPDOWN_POSITIONS[posIndex];\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.focusHandler.container = this.elementRef.nativeElement;\r\n this.items.changes.subscribe(() => this.focusHandler.addChildren(this.items.toArray()));\r\n // I saw this on GitHub as a solution to avoid code duplication because of missed QueryList changes\r\n this.items.notifyOnChanges();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.focusHandler.resetChildren();\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, ElementRef, HostListener } from '@angular/core';\r\nimport { HermesPopoverService } from '@hermes-ui/angular/popover/common';\r\n\r\nimport { HermesDropdown } from './dropdown';\r\nimport { DropdownFocusHandler } from './providers/dropdown-focus-handler.service';\r\n\r\n@Directive({\r\n // We support both selectors for legacy reasons\r\n selector: '[hermesDropdownTrigger],[hermesDropdownToggle]',\r\n host: {\r\n '[class.dropdown-toggle]': 'isRootLevelToggle',\r\n '[class.dropdown-item]': '!isRootLevelToggle',\r\n '[class.expandable]': '!isRootLevelToggle',\r\n '[class.active]': 'active',\r\n '[attr.aria-haspopup]': '\"menu\"',\r\n '[attr.aria-expanded]': 'active',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesDropdownTrigger {\r\n isRootLevelToggle = true;\r\n\r\n constructor(\r\n dropdown: HermesDropdown,\r\n private popoverService: HermesPopoverService,\r\n el: ElementRef<HTMLElement>,\r\n focusHandler: DropdownFocusHandler\r\n ) {\r\n // if the containing dropdown has a parent, then this is not the root level one\r\n if (dropdown.parent) {\r\n this.isRootLevelToggle = false;\r\n }\r\n focusHandler.trigger = el.nativeElement;\r\n popoverService.origin = el;\r\n }\r\n\r\n get active(): boolean {\r\n return this.popoverService.open;\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onDropdownTriggerClick(event: any): void {\r\n this.popoverService.toggleWithEvent(event);\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, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';\r\nimport { BASIC_FOCUSABLE_ITEM_PROVIDER, FocusableItem } from '@hermes-ui/angular/utils';\r\n\r\nimport { HermesDropdown } from './dropdown';\r\nimport { RootDropdownService } from './providers/dropdown.service';\r\n\r\n@Directive({\r\n selector: '[hermesDropdownItem]',\r\n host: {\r\n '[class.disabled]': 'disabled',\r\n '[class.dropdown-item]': 'true',\r\n '[attr.role]': '\"menuitem\"',\r\n '[attr.aria-disabled]': 'disabled',\r\n '[attr.id]': 'dropdownItemId',\r\n },\r\n providers: [BASIC_FOCUSABLE_ITEM_PROVIDER],\r\n standalone: false,\r\n})\r\nexport class HermesDropdownItem {\r\n constructor(\r\n private dropdown: HermesDropdown,\r\n private _dropdownService: RootDropdownService,\r\n private focusableItem: FocusableItem,\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n @Input('hermesDisabled')\r\n get disabled() {\r\n return this.focusableItem.disabled;\r\n }\r\n set disabled(value: boolean | string) {\r\n // Empty string attribute evaluates to false but should disable the item, so we need to add a special case for it.\r\n this.focusableItem.disabled = !!value || value === '';\r\n }\r\n\r\n /**\r\n * Let you overwrite the focusable auto increment id.\r\n */\r\n @Input('id')\r\n get dropdownItemId() {\r\n return this.focusableItem.id;\r\n }\r\n set dropdownItemId(value: string) {\r\n this.focusableItem.id = value;\r\n }\r\n\r\n @HostListener('click')\r\n private onDropdownItemClick(): void {\r\n // Move focus back to the root dropdown trigger.\r\n // This is done BEFORE the dropdown is closed so that focus gets moved properly if a modal is opened.\r\n if (this.dropdown.isMenuClosable && !this.disabled && this.dropdown.popoverService.open) {\r\n const rootDropdown = this.findRootDropdown();\r\n\r\n rootDropdown.focusHandler.focus();\r\n }\r\n\r\n // Ensure that the dropdown is closed after custom dropdown item click event handlers have run.\r\n setTimeout(() => {\r\n if (this.dropdown.isMenuClosable && !this.disabled) {\r\n this._dropdownService.closeMenus();\r\n }\r\n });\r\n }\r\n\r\n @HostListener('keydown.space', ['$event'])\r\n private onSpaceKeydown($event: KeyboardEvent) {\r\n this.stopImmediatePropagationIfDisabled($event);\r\n }\r\n\r\n @HostListener('keydown.enter', ['$event'])\r\n private onEnterKeydown($event: KeyboardEvent) {\r\n this.stopImmediatePropagationIfDisabled($event);\r\n }\r\n\r\n private stopImmediatePropagationIfDisabled($event: Event) {\r\n if (this.disabled) {\r\n $event.preventDefault(); // prevent click event\r\n $event.stopImmediatePropagation();\r\n }\r\n }\r\n\r\n private findRootDropdown() {\r\n let rootDropdown = this.dropdown;\r\n\r\n while (rootDropdown.parent) {\r\n rootDropdown = rootDropdown.parent;\r\n }\r\n\r\n return rootDropdown;\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 const HERMES_MENU_POSITIONS: string[] = [\r\n 'bottom-left',\r\n 'bottom-right',\r\n 'left-bottom',\r\n 'left-top',\r\n 'right-bottom',\r\n 'right-top',\r\n 'top-left',\r\n 'top-right',\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 { HermesIcon } from '@hermes-ui/angular/icon';\r\nimport { HermesIfOpen } from '@hermes-ui/angular/popover/common';\r\n\r\nimport { HermesDropdown } from './dropdown';\r\nimport { HermesDropdownItem } from './dropdown-item';\r\nimport { HermesDropdownMenu } from './dropdown-menu';\r\nimport { HermesDropdownTrigger } from './dropdown-trigger';\r\n\r\nexport const HERMES_DROPDOWN_DIRECTIVES: Type<any>[] = [HermesDropdown, HermesDropdownMenu, HermesDropdownTrigger, HermesDropdownItem];\r\n\r\n@NgModule({\r\n imports: [CommonModule, HermesIcon, HermesIfOpen],\r\n declarations: [HERMES_DROPDOWN_DIRECTIVES],\r\n exports: [HERMES_DROPDOWN_DIRECTIVES, HermesIfOpen, HermesIcon],\r\n})\r\nexport class HermesDropdownModule {}\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 './dropdown';\r\nexport * from './dropdown-menu';\r\nexport * from './dropdown-trigger';\r\nexport * from './dropdown-item';\r\nexport * from './menu-positions';\r\nexport * from './dropdown.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.DropdownFocusHandler","i3.RootDropdownService","i1.DropdownFocusHandler","i1.HermesDropdown","i3.DropdownFocusHandler","i2.RootDropdownService","i3"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { isPlatformBrowser, CommonModule } from '@angular/common';
|
|
|
7
7
|
import * as i1 from '@hermes-ui/angular/utils';
|
|
8
8
|
import { uniqueIdFactory, HermesFocusOnViewInitModule } from '@hermes-ui/angular/utils';
|
|
9
9
|
import * as i3 from '@hermes-ui/angular/icon';
|
|
10
|
-
import {
|
|
10
|
+
import { HermesIcons, windowCloseIcon, infoCircleIcon, HermesIcon } from '@hermes-ui/angular/icon';
|
|
11
11
|
|
|
12
12
|
/*
|
|
13
13
|
* Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
|
|
@@ -190,38 +190,38 @@ class HermesSignpost {
|
|
|
190
190
|
this.popoverService.openAtPoint(point, targetElement);
|
|
191
191
|
}
|
|
192
192
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSignpost, deps: [{ token: i1.HermesCommonStringsService }, { token: i4.HermesPopoverService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
193
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesSignpost, isStandalone: false, selector: "hermes-signpost", inputs: { signpostTriggerAriaLabel: ["hermesSignpostTriggerAriaLabel", "signpostTriggerAriaLabel"], hideTrigger: ["hermesSignpostHideTrigger", "hideTrigger"] }, host: { properties: { "class.signpost": "true" } }, providers: [SignpostFocusManager, SignpostIdService], queries: [{ propertyName: "customTrigger", first: true, predicate: HermesSignpostTrigger, descendants: true }], hostDirectives: [{ directive: i4.HermesPopoverHostDirective }], ngImport: i0, template: `
|
|
194
|
-
@if (showDefaultTrigger) {
|
|
195
|
-
<button
|
|
196
|
-
type="button"
|
|
197
|
-
class="signpost-action btn btn-sm btn-icon btn-link"
|
|
198
|
-
hermesSignpostTrigger
|
|
199
|
-
[attr.aria-label]="signpostTriggerAriaLabel || commonStrings.keys.signpostToggle"
|
|
200
|
-
>
|
|
201
|
-
<hermes-icon shape="info-circle" [attr.title]="commonStrings.keys.info"></hermes-icon>
|
|
202
|
-
</button>
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
<ng-content></ng-content>
|
|
193
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesSignpost, isStandalone: false, selector: "hermes-signpost", inputs: { signpostTriggerAriaLabel: ["hermesSignpostTriggerAriaLabel", "signpostTriggerAriaLabel"], hideTrigger: ["hermesSignpostHideTrigger", "hideTrigger"] }, host: { properties: { "class.signpost": "true" } }, providers: [SignpostFocusManager, SignpostIdService], queries: [{ propertyName: "customTrigger", first: true, predicate: HermesSignpostTrigger, descendants: true }], hostDirectives: [{ directive: i4.HermesPopoverHostDirective }], ngImport: i0, template: `
|
|
194
|
+
@if (showDefaultTrigger) {
|
|
195
|
+
<button
|
|
196
|
+
type="button"
|
|
197
|
+
class="signpost-action btn btn-sm btn-icon btn-link"
|
|
198
|
+
hermesSignpostTrigger
|
|
199
|
+
[attr.aria-label]="signpostTriggerAriaLabel || commonStrings.keys.signpostToggle"
|
|
200
|
+
>
|
|
201
|
+
<hermes-icon shape="info-circle" [attr.title]="commonStrings.keys.info"></hermes-icon>
|
|
202
|
+
</button>
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
<ng-content></ng-content>
|
|
206
206
|
`, isInline: true, dependencies: [{ kind: "component", type: i3.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "directive", type: HermesSignpostTrigger, selector: "[hermesSignpostTrigger]" }] }); }
|
|
207
207
|
}
|
|
208
208
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSignpost, decorators: [{
|
|
209
209
|
type: Component,
|
|
210
210
|
args: [{
|
|
211
211
|
selector: 'hermes-signpost',
|
|
212
|
-
template: `
|
|
213
|
-
@if (showDefaultTrigger) {
|
|
214
|
-
<button
|
|
215
|
-
type="button"
|
|
216
|
-
class="signpost-action btn btn-sm btn-icon btn-link"
|
|
217
|
-
hermesSignpostTrigger
|
|
218
|
-
[attr.aria-label]="signpostTriggerAriaLabel || commonStrings.keys.signpostToggle"
|
|
219
|
-
>
|
|
220
|
-
<hermes-icon shape="info-circle" [attr.title]="commonStrings.keys.info"></hermes-icon>
|
|
221
|
-
</button>
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
<ng-content></ng-content>
|
|
212
|
+
template: `
|
|
213
|
+
@if (showDefaultTrigger) {
|
|
214
|
+
<button
|
|
215
|
+
type="button"
|
|
216
|
+
class="signpost-action btn btn-sm btn-icon btn-link"
|
|
217
|
+
hermesSignpostTrigger
|
|
218
|
+
[attr.aria-label]="signpostTriggerAriaLabel || commonStrings.keys.signpostToggle"
|
|
219
|
+
>
|
|
220
|
+
<hermes-icon shape="info-circle" [attr.title]="commonStrings.keys.info"></hermes-icon>
|
|
221
|
+
</button>
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
<ng-content></ng-content>
|
|
225
225
|
`,
|
|
226
226
|
host: { '[class.signpost]': 'true' },
|
|
227
227
|
providers: [SignpostFocusManager, SignpostIdService],
|
|
@@ -341,52 +341,52 @@ class HermesSignpostContent {
|
|
|
341
341
|
return Array.from(element.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'));
|
|
342
342
|
}
|
|
343
343
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSignpostContent, deps: [{ token: POPOVER_HOST_ORIGIN, optional: true }, { token: i0.ElementRef }, { token: i1.HermesCommonStringsService }, { token: SignpostIdService }, { token: SignpostFocusManager }, { token: PLATFORM_ID }, { token: DOCUMENT }, { token: i4.HermesPopoverService }, { token: i4.HermesPopoverContent }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
344
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesSignpostContent, isStandalone: false, selector: "hermes-signpost-content", inputs: { signpostCloseAriaLabel: ["hermesSignpostCloseAriaLabel", "signpostCloseAriaLabel"], position: ["hermesPosition", "position"] }, host: { attributes: { "role": "dialog" }, listeners: { "keydown": "onKeyDown($event)" }, properties: { "class.signpost-content": "true", "id": "signpostContentId", "class.is-off-screen": "this.isOffScreen" } }, viewQueries: [{ propertyName: "closeButton", first: true, predicate: ["closeButton"], descendants: true, read: ElementRef }], hostDirectives: [{ directive: i4.HermesPopoverContent }], ngImport: i0, template: `
|
|
345
|
-
<div class="signpost-wrap">
|
|
346
|
-
<div class="popover-pointer"></div>
|
|
347
|
-
<div class="signpost-content-header">
|
|
348
|
-
<ng-content select="hermes-signpost-title"></ng-content>
|
|
349
|
-
<button
|
|
350
|
-
#closeButton
|
|
351
|
-
type="button"
|
|
352
|
-
[attr.aria-label]="signpostCloseAriaLabel || commonStrings.keys.signpostClose"
|
|
353
|
-
class="signpost-action close"
|
|
354
|
-
(click)="close()"
|
|
355
|
-
[attr.aria-controls]="signpostContentId"
|
|
356
|
-
>
|
|
357
|
-
<hermes-icon shape="window-close" [attr.title]="commonStrings.keys.close"></hermes-icon>
|
|
358
|
-
</button>
|
|
359
|
-
</div>
|
|
360
|
-
<div class="signpost-content-body" tabindex="0">
|
|
361
|
-
<ng-content></ng-content>
|
|
362
|
-
</div>
|
|
363
|
-
</div>
|
|
344
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesSignpostContent, isStandalone: false, selector: "hermes-signpost-content", inputs: { signpostCloseAriaLabel: ["hermesSignpostCloseAriaLabel", "signpostCloseAriaLabel"], position: ["hermesPosition", "position"] }, host: { attributes: { "role": "dialog" }, listeners: { "keydown": "onKeyDown($event)" }, properties: { "class.signpost-content": "true", "id": "signpostContentId", "class.is-off-screen": "this.isOffScreen" } }, viewQueries: [{ propertyName: "closeButton", first: true, predicate: ["closeButton"], descendants: true, read: ElementRef }], hostDirectives: [{ directive: i4.HermesPopoverContent }], ngImport: i0, template: `
|
|
345
|
+
<div class="signpost-wrap">
|
|
346
|
+
<div class="popover-pointer"></div>
|
|
347
|
+
<div class="signpost-content-header">
|
|
348
|
+
<ng-content select="hermes-signpost-title"></ng-content>
|
|
349
|
+
<button
|
|
350
|
+
#closeButton
|
|
351
|
+
type="button"
|
|
352
|
+
[attr.aria-label]="signpostCloseAriaLabel || commonStrings.keys.signpostClose"
|
|
353
|
+
class="signpost-action close"
|
|
354
|
+
(click)="close()"
|
|
355
|
+
[attr.aria-controls]="signpostContentId"
|
|
356
|
+
>
|
|
357
|
+
<hermes-icon shape="window-close" [attr.title]="commonStrings.keys.close"></hermes-icon>
|
|
358
|
+
</button>
|
|
359
|
+
</div>
|
|
360
|
+
<div class="signpost-content-body" tabindex="0">
|
|
361
|
+
<ng-content></ng-content>
|
|
362
|
+
</div>
|
|
363
|
+
</div>
|
|
364
364
|
`, isInline: true, dependencies: [{ kind: "component", type: i3.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }] }); }
|
|
365
365
|
}
|
|
366
366
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSignpostContent, decorators: [{
|
|
367
367
|
type: Component,
|
|
368
368
|
args: [{
|
|
369
369
|
selector: 'hermes-signpost-content',
|
|
370
|
-
template: `
|
|
371
|
-
<div class="signpost-wrap">
|
|
372
|
-
<div class="popover-pointer"></div>
|
|
373
|
-
<div class="signpost-content-header">
|
|
374
|
-
<ng-content select="hermes-signpost-title"></ng-content>
|
|
375
|
-
<button
|
|
376
|
-
#closeButton
|
|
377
|
-
type="button"
|
|
378
|
-
[attr.aria-label]="signpostCloseAriaLabel || commonStrings.keys.signpostClose"
|
|
379
|
-
class="signpost-action close"
|
|
380
|
-
(click)="close()"
|
|
381
|
-
[attr.aria-controls]="signpostContentId"
|
|
382
|
-
>
|
|
383
|
-
<hermes-icon shape="window-close" [attr.title]="commonStrings.keys.close"></hermes-icon>
|
|
384
|
-
</button>
|
|
385
|
-
</div>
|
|
386
|
-
<div class="signpost-content-body" tabindex="0">
|
|
387
|
-
<ng-content></ng-content>
|
|
388
|
-
</div>
|
|
389
|
-
</div>
|
|
370
|
+
template: `
|
|
371
|
+
<div class="signpost-wrap">
|
|
372
|
+
<div class="popover-pointer"></div>
|
|
373
|
+
<div class="signpost-content-header">
|
|
374
|
+
<ng-content select="hermes-signpost-title"></ng-content>
|
|
375
|
+
<button
|
|
376
|
+
#closeButton
|
|
377
|
+
type="button"
|
|
378
|
+
[attr.aria-label]="signpostCloseAriaLabel || commonStrings.keys.signpostClose"
|
|
379
|
+
class="signpost-action close"
|
|
380
|
+
(click)="close()"
|
|
381
|
+
[attr.aria-controls]="signpostContentId"
|
|
382
|
+
>
|
|
383
|
+
<hermes-icon shape="window-close" [attr.title]="commonStrings.keys.close"></hermes-icon>
|
|
384
|
+
</button>
|
|
385
|
+
</div>
|
|
386
|
+
<div class="signpost-content-body" tabindex="0">
|
|
387
|
+
<ng-content></ng-content>
|
|
388
|
+
</div>
|
|
389
|
+
</div>
|
|
390
390
|
`,
|
|
391
391
|
host: {
|
|
392
392
|
'[class.signpost-content]': 'true',
|
|
@@ -458,7 +458,7 @@ const HERMES_SIGNPOST_DIRECTIVES = [
|
|
|
458
458
|
];
|
|
459
459
|
class HermesSignpostModule {
|
|
460
460
|
constructor() {
|
|
461
|
-
|
|
461
|
+
HermesIcons.addIcons(windowCloseIcon, infoCircleIcon);
|
|
462
462
|
}
|
|
463
463
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSignpostModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
464
464
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesSignpostModule, declarations: [HermesSignpost,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-ui-angular-popover-signpost.mjs","sources":["../../../popover/signpost/providers/signpost-focus-manager.service.ts","../../../popover/signpost/providers/signpost-id.service.ts","../../../popover/signpost/signpost-trigger.ts","../../../popover/signpost/signpost.ts","../../../popover/signpost/signpost-content.ts","../../../popover/signpost/signpost-title.ts","../../../popover/signpost/signpost.module.ts","../../../popover/signpost/index.ts","../../../popover/signpost/hermes-ui-angular-popover-signpost.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 { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class SignpostFocusManager {\r\n private _triggerEl: HTMLElement;\r\n\r\n set triggerEl(value: HTMLElement) {\r\n this._triggerEl = value;\r\n }\r\n\r\n focusTrigger() {\r\n if (this._triggerEl) {\r\n this._triggerEl.focus();\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\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SignpostIdService {\r\n private _id = new Subject<string>();\r\n\r\n get id(): Observable<string> {\r\n return this._id.asObservable();\r\n }\r\n\r\n setId(id: string) {\r\n this._id.next(id);\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 { isPlatformBrowser } from '@angular/common';\nimport { Directive, DOCUMENT, ElementRef, HostListener, Inject, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { HermesPopoverService } from '@hermes-ui/angular/popover/common';\nimport { Subscription } from 'rxjs';\n\nimport { SignpostFocusManager } from './providers/signpost-focus-manager.service';\nimport { SignpostIdService } from './providers/signpost-id.service';\n\n@Directive({\n selector: '[hermesSignpostTrigger]',\n host: {\n class: 'signpost-trigger',\n '[attr.aria-expanded]': 'ariaExpanded',\n '[attr.aria-controls]': 'ariaControl',\n '[class.active]': 'isOpen',\n },\n standalone: false,\n})\n\n/*********\n *\n * @description\n * A Directive added to the HermesSignpost Trigger button that will call the HermesSignpost.toggle() function to hide/show the\n * HermesSignpostContent.\n *\n */\nexport class HermesSignpostTrigger implements OnDestroy {\n ariaExpanded = false;\n ariaControl: string;\n isOpen: boolean;\n\n private document: Document;\n private subscriptions: Subscription[] = [];\n\n constructor(\n private popoverService: HermesPopoverService,\n private el: ElementRef<HTMLElement>,\n private signpostIdService: SignpostIdService,\n private signpostFocusManager: SignpostFocusManager,\n @Inject(DOCUMENT) document: any,\n @Inject(PLATFORM_ID) private platformId: any\n ) {\n this.document = document;\n }\n\n ngOnInit() {\n this.popoverService.origin = this.el;\n this.signpostFocusManager.triggerEl = this.el.nativeElement;\n this.subscriptions.push(\n this.popoverService.openChange.subscribe((isOpen: boolean) => {\n this.ariaExpanded = isOpen;\n\n const prevIsOpen = this.isOpen;\n this.isOpen = isOpen;\n\n // openChange fires false on initialization because signpost starts as closed by default\n // but we shouldn't focus on that initial false value\n // we should focus back only if it's closed after being opened\n if (!this.isOpen && prevIsOpen) {\n this.focusOnClose();\n }\n }),\n this.signpostIdService.id.subscribe(idChange => (this.ariaControl = idChange))\n );\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach((sub: Subscription) => sub.unsubscribe());\n }\n\n /**********\n *\n * @description\n * click handler for the HermesSignpost trigger button used to hide/show HermesSignpostContent.\n */\n @HostListener('click', ['$event'])\n onSignpostTriggerClick(event: Event): void {\n this.popoverService.toggleWithEvent(event);\n }\n\n private focusOnClose() {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n // we have to set the focus back on the trigger only if the focus is reset back to the body element\n // if the focus is on another element, we are not allowed to move that focus back to this trigger again.\n if (!this.isOpen && this.document.activeElement === this.document.body) {\n this.signpostFocusManager.focusTrigger();\n }\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ContentChild, Input } from '@angular/core';\nimport { HermesPopoverHostDirective, HermesPopoverPoint, HermesPopoverService } from '@hermes-ui/angular/popover/common';\nimport { HermesCommonStringsService } from '@hermes-ui/angular/utils';\n\nimport { SignpostFocusManager } from './providers/signpost-focus-manager.service';\nimport { SignpostIdService } from './providers/signpost-id.service';\nimport { HermesSignpostTrigger } from './signpost-trigger';\n\n@Component({\n selector: 'hermes-signpost',\n template: `\n @if (showDefaultTrigger) {\n <button\n type=\"button\"\n class=\"signpost-action btn btn-sm btn-icon btn-link\"\n hermesSignpostTrigger\n [attr.aria-label]=\"signpostTriggerAriaLabel || commonStrings.keys.signpostToggle\"\n >\n <hermes-icon shape=\"info-circle\" [attr.title]=\"commonStrings.keys.info\"></hermes-icon>\n </button>\n }\n\n <ng-content></ng-content>\n `,\n host: { '[class.signpost]': 'true' },\n providers: [SignpostFocusManager, SignpostIdService],\n hostDirectives: [HermesPopoverHostDirective],\n standalone: false,\n})\n\n/*********\n *\n * @class HermesSignpost\n *\n * @description\n * Class used to configure and control the state of a HermesSignpost and its associated HermesSignpostContent.\n * It supports the hermesPosition with a 'right-middle' default.\n *\n */\nexport class HermesSignpost {\n /**********\n * @property useCustomTrigger\n *\n * @description\n * Flag used to determine if we need to use the default trigger or a user supplied trigger element.\n *\n */\n useCustomTrigger = false;\n\n @Input('hermesSignpostTriggerAriaLabel') signpostTriggerAriaLabel: string;\n /**\n * Hides the default trigger button. Use when the signpost is opened\n * programmatically via `openAtPoint()` and no trigger icon is needed.\n */\n @Input('hermesSignpostHideTrigger') hideTrigger = false;\n\n constructor(\n public commonStrings: HermesCommonStringsService,\n private popoverService: HermesPopoverService\n ) {}\n /**********\n * @property signPostTrigger\n *\n * @description\n * Uses ContentChild to check for a user supplied element with the HermesSignpostTrigger on it.\n *\n */\n @ContentChild(HermesSignpostTrigger)\n set customTrigger(trigger: HermesSignpostTrigger) {\n this.useCustomTrigger = !!trigger;\n }\n\n get showDefaultTrigger(): boolean {\n return !this.useCustomTrigger && !this.hideTrigger;\n }\n\n openAtPoint(point: HermesPopoverPoint, targetElement?: HTMLElement) {\n this.popoverService.openAtPoint(point, targetElement);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n DOCUMENT,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n PLATFORM_ID,\n ViewChild,\n} from '@angular/core';\nimport {\n HermesPopoverContent,\n HermesPopoverPosition,\n HermesPopoverService,\n HermesPopoverType,\n POPOVER_HOST_ORIGIN,\n SIGNPOST_POSITIONS,\n} from '@hermes-ui/angular/popover/common';\nimport { HermesCommonStringsService, uniqueIdFactory } from '@hermes-ui/angular/utils';\n\nimport { SignpostFocusManager } from './providers/signpost-focus-manager.service';\nimport { SignpostIdService } from './providers/signpost-id.service';\n\n@Component({\n selector: 'hermes-signpost-content',\n template: `\n <div class=\"signpost-wrap\">\n <div class=\"popover-pointer\"></div>\n <div class=\"signpost-content-header\">\n <ng-content select=\"hermes-signpost-title\"></ng-content>\n <button\n #closeButton\n type=\"button\"\n [attr.aria-label]=\"signpostCloseAriaLabel || commonStrings.keys.signpostClose\"\n class=\"signpost-action close\"\n (click)=\"close()\"\n [attr.aria-controls]=\"signpostContentId\"\n >\n <hermes-icon shape=\"window-close\" [attr.title]=\"commonStrings.keys.close\"></hermes-icon>\n </button>\n </div>\n <div class=\"signpost-content-body\" tabindex=\"0\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n host: {\n '[class.signpost-content]': 'true',\n '[id]': 'signpostContentId',\n role: 'dialog',\n },\n standalone: false,\n hostDirectives: [HermesPopoverContent],\n})\nexport class HermesSignpostContent implements OnDestroy, AfterViewInit {\n @Input('hermesSignpostCloseAriaLabel') signpostCloseAriaLabel: string;\n @ViewChild('closeButton', { read: ElementRef }) closeButton: ElementRef<HTMLButtonElement>;\n\n signpostContentId = uniqueIdFactory();\n\n private _position = HermesPopoverPosition.RIGHT_MIDDLE;\n\n constructor(\n @Optional()\n @Inject(POPOVER_HOST_ORIGIN)\n parentHost: ElementRef<HTMLElement>,\n private element: ElementRef,\n public commonStrings: HermesCommonStringsService,\n signpostIdService: SignpostIdService,\n private signpostFocusManager: SignpostFocusManager,\n @Inject(PLATFORM_ID) private platformId: any,\n @Inject(DOCUMENT) private document: Document,\n private popoverService: HermesPopoverService,\n private popoverContent: HermesPopoverContent\n ) {\n if (!parentHost) {\n throw new Error('hermes-signpost-content should only be used inside of a hermes-signpost');\n }\n // Defaults\n signpostIdService.setId(this.signpostContentId);\n\n popoverService.panelClass.push('hermes-signpost-container');\n popoverContent.contentType = HermesPopoverType.SIGNPOST;\n popoverContent.contentAt = this._position;\n }\n\n /*********\n *\n * @description\n * A setter for the position of the HermesSignpostContent popover. This is a combination of the following:\n * - originPoint - where on the trigger to position the content\n * - popoverPoint - where on the content container to align with the origin\n * - offsetY - where on the Y axis to align the HermesSignpostContent so it meets specs\n * - offsetX - where on the X axis to align the HermesSignpostContent so it meets specs\n * There are 12 possible positions to place a HermesSignpostContent container:\n * - top-left\n * - top-middle\n * - top-right\n * - right-top\n * - right-middle\n * - right-bottom\n * - bottom-right\n * - bottom-middle\n * - bottom-left\n * - left-bottom\n * - left-middle\n * - left-top\n *\n * I think of it as follows for 'top-left' -> CONTAINER_SIDE-SIDE_POSITION. In this case CONTAINER_SIDE is 'top'\n * meaning the top of the trigger icon (above the icon that hides/shows) the HermesSignpostContent. And, SIDE_POSITION\n * is 'left' meaning two things: 1) the HermesSignpostContent container extends to the left and 2) the 'arrow/pointer'\n * linking the SignpostContent to the trigger points down at the horizontal center of the trigger icon.\n *\n * @param newPosition\n */\n @Input('hermesPosition')\n get position() {\n return this._position;\n }\n set position(position: string | HermesPopoverPosition) {\n const posIndex = SIGNPOST_POSITIONS.indexOf(position as HermesPopoverPosition);\n this._position = position && posIndex > -1 ? SIGNPOST_POSITIONS[posIndex] : HermesPopoverPosition.RIGHT_MIDDLE;\n\n this.popoverContent.contentAt = this._position;\n }\n\n /*\n * Fallback to hide when *hermesIfOpen is not being used\n */\n @HostBinding('class.is-off-screen')\n get isOffScreen() {\n return !this.popoverService.open;\n }\n\n /**********\n *\n * @description\n * Close function that uses the signpost instance to toggle the state of the content popover.\n *\n */\n close() {\n this.popoverService.open = false;\n }\n\n ngAfterViewInit(): void {\n this.popoverService.closeButtonRef = this.closeButton;\n this.closeButton.nativeElement.focus();\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Tab') {\n const focusableElements = this.getFocusableElements(this.element.nativeElement);\n\n // take the first element when SHIFT+TAB or last when only TAB\n const focusableElementIndex = event.shiftKey ? 0 : focusableElements.length - 1;\n\n if (document.activeElement === focusableElements[focusableElementIndex]) {\n event.preventDefault();\n this.popoverService.open = false;\n }\n }\n }\n\n ngOnDestroy() {\n if (isPlatformBrowser(this.platformId) && this.element.nativeElement.contains(this.document.activeElement)) {\n this.signpostFocusManager.focusTrigger();\n }\n }\n\n private getFocusableElements(element: HTMLElement): HTMLElement[] {\n return Array.from(\n element.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n ) as HTMLElement[];\n }\n}\n","/*\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-signpost-title',\r\n template: `<ng-content></ng-content>`,\r\n host: { '[class.signpost-title]': 'true' },\r\n standalone: false,\r\n})\r\nexport class HermesSignpostTitle {}\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, infoCircleIcon, windowCloseIcon } from '@hermes-ui/angular/icon';\nimport { HermesIfOpen, HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';\nimport { HermesFocusOnViewInitModule } from '@hermes-ui/angular/utils';\n\nimport { HermesSignpost } from './signpost';\nimport { HermesSignpostContent } from './signpost-content';\nimport { HermesSignpostTitle } from './signpost-title';\nimport { HermesSignpostTrigger } from './signpost-trigger';\n\nexport const HERMES_SIGNPOST_DIRECTIVES: Type<any>[] = [\n HermesSignpost,\n HermesSignpostContent,\n HermesSignpostTrigger,\n HermesSignpostTitle,\n];\n\n@NgModule({\n imports: [CommonModule, HermesIcon, HermesFocusOnViewInitModule, HermesPopoverModuleNext, HermesIfOpen],\n declarations: [HERMES_SIGNPOST_DIRECTIVES],\n exports: [HERMES_SIGNPOST_DIRECTIVES, HermesIfOpen],\n})\nexport class HermesSignpostModule {\n constructor() {\n ClarityIcons.addIcons(windowCloseIcon, infoCircleIcon);\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 './signpost';\r\nexport * from './signpost-content';\r\nexport * from './signpost-title';\r\nexport * from './signpost-trigger';\r\nexport * from './signpost.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.SignpostIdService","i3.SignpostFocusManager","i2","i4.HermesSignpostTrigger","i5"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-popover-signpost.mjs","sources":["../../../popover/signpost/providers/signpost-focus-manager.service.ts","../../../popover/signpost/providers/signpost-id.service.ts","../../../popover/signpost/signpost-trigger.ts","../../../popover/signpost/signpost.ts","../../../popover/signpost/signpost-content.ts","../../../popover/signpost/signpost-title.ts","../../../popover/signpost/signpost.module.ts","../../../popover/signpost/index.ts","../../../popover/signpost/hermes-ui-angular-popover-signpost.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 { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class SignpostFocusManager {\r\n private _triggerEl: HTMLElement;\r\n\r\n set triggerEl(value: HTMLElement) {\r\n this._triggerEl = value;\r\n }\r\n\r\n focusTrigger() {\r\n if (this._triggerEl) {\r\n this._triggerEl.focus();\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\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SignpostIdService {\r\n private _id = new Subject<string>();\r\n\r\n get id(): Observable<string> {\r\n return this._id.asObservable();\r\n }\r\n\r\n setId(id: string) {\r\n this._id.next(id);\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 { isPlatformBrowser } from '@angular/common';\r\nimport { Directive, DOCUMENT, ElementRef, HostListener, Inject, OnDestroy, PLATFORM_ID } from '@angular/core';\r\nimport { HermesPopoverService } from '@hermes-ui/angular/popover/common';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { SignpostFocusManager } from './providers/signpost-focus-manager.service';\r\nimport { SignpostIdService } from './providers/signpost-id.service';\r\n\r\n@Directive({\r\n selector: '[hermesSignpostTrigger]',\r\n host: {\r\n class: 'signpost-trigger',\r\n '[attr.aria-expanded]': 'ariaExpanded',\r\n '[attr.aria-controls]': 'ariaControl',\r\n '[class.active]': 'isOpen',\r\n },\r\n standalone: false,\r\n})\r\n\r\n/*********\r\n *\r\n * @description\r\n * A Directive added to the HermesSignpost Trigger button that will call the HermesSignpost.toggle() function to hide/show the\r\n * HermesSignpostContent.\r\n *\r\n */\r\nexport class HermesSignpostTrigger implements OnDestroy {\r\n ariaExpanded = false;\r\n ariaControl: string;\r\n isOpen: boolean;\r\n\r\n private document: Document;\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n private popoverService: HermesPopoverService,\r\n private el: ElementRef<HTMLElement>,\r\n private signpostIdService: SignpostIdService,\r\n private signpostFocusManager: SignpostFocusManager,\r\n @Inject(DOCUMENT) document: any,\r\n @Inject(PLATFORM_ID) private platformId: any\r\n ) {\r\n this.document = document;\r\n }\r\n\r\n ngOnInit() {\r\n this.popoverService.origin = this.el;\r\n this.signpostFocusManager.triggerEl = this.el.nativeElement;\r\n this.subscriptions.push(\r\n this.popoverService.openChange.subscribe((isOpen: boolean) => {\r\n this.ariaExpanded = isOpen;\r\n\r\n const prevIsOpen = this.isOpen;\r\n this.isOpen = isOpen;\r\n\r\n // openChange fires false on initialization because signpost starts as closed by default\r\n // but we shouldn't focus on that initial false value\r\n // we should focus back only if it's closed after being opened\r\n if (!this.isOpen && prevIsOpen) {\r\n this.focusOnClose();\r\n }\r\n }),\r\n this.signpostIdService.id.subscribe(idChange => (this.ariaControl = idChange))\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach((sub: Subscription) => sub.unsubscribe());\r\n }\r\n\r\n /**********\r\n *\r\n * @description\r\n * click handler for the HermesSignpost trigger button used to hide/show HermesSignpostContent.\r\n */\r\n @HostListener('click', ['$event'])\r\n onSignpostTriggerClick(event: Event): void {\r\n this.popoverService.toggleWithEvent(event);\r\n }\r\n\r\n private focusOnClose() {\r\n if (!isPlatformBrowser(this.platformId)) {\r\n return;\r\n }\r\n // we have to set the focus back on the trigger only if the focus is reset back to the body element\r\n // if the focus is on another element, we are not allowed to move that focus back to this trigger again.\r\n if (!this.isOpen && this.document.activeElement === this.document.body) {\r\n this.signpostFocusManager.focusTrigger();\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, ContentChild, Input } from '@angular/core';\r\nimport { HermesPopoverHostDirective, HermesPopoverPoint, HermesPopoverService } from '@hermes-ui/angular/popover/common';\r\nimport { HermesCommonStringsService } from '@hermes-ui/angular/utils';\r\n\r\nimport { SignpostFocusManager } from './providers/signpost-focus-manager.service';\r\nimport { SignpostIdService } from './providers/signpost-id.service';\r\nimport { HermesSignpostTrigger } from './signpost-trigger';\r\n\r\n@Component({\r\n selector: 'hermes-signpost',\r\n template: `\r\n @if (showDefaultTrigger) {\r\n <button\r\n type=\"button\"\r\n class=\"signpost-action btn btn-sm btn-icon btn-link\"\r\n hermesSignpostTrigger\r\n [attr.aria-label]=\"signpostTriggerAriaLabel || commonStrings.keys.signpostToggle\"\r\n >\r\n <hermes-icon shape=\"info-circle\" [attr.title]=\"commonStrings.keys.info\"></hermes-icon>\r\n </button>\r\n }\r\n\r\n <ng-content></ng-content>\r\n `,\r\n host: { '[class.signpost]': 'true' },\r\n providers: [SignpostFocusManager, SignpostIdService],\r\n hostDirectives: [HermesPopoverHostDirective],\r\n standalone: false,\r\n})\r\n\r\n/*********\r\n *\r\n * @class HermesSignpost\r\n *\r\n * @description\r\n * Class used to configure and control the state of a HermesSignpost and its associated HermesSignpostContent.\r\n * It supports the hermesPosition with a 'right-middle' default.\r\n *\r\n */\r\nexport class HermesSignpost {\r\n /**********\r\n * @property useCustomTrigger\r\n *\r\n * @description\r\n * Flag used to determine if we need to use the default trigger or a user supplied trigger element.\r\n *\r\n */\r\n useCustomTrigger = false;\r\n\r\n @Input('hermesSignpostTriggerAriaLabel') signpostTriggerAriaLabel: string;\r\n /**\r\n * Hides the default trigger button. Use when the signpost is opened\r\n * programmatically via `openAtPoint()` and no trigger icon is needed.\r\n */\r\n @Input('hermesSignpostHideTrigger') hideTrigger = false;\r\n\r\n constructor(\r\n public commonStrings: HermesCommonStringsService,\r\n private popoverService: HermesPopoverService\r\n ) {}\r\n /**********\r\n * @property signPostTrigger\r\n *\r\n * @description\r\n * Uses ContentChild to check for a user supplied element with the HermesSignpostTrigger on it.\r\n *\r\n */\r\n @ContentChild(HermesSignpostTrigger)\r\n set customTrigger(trigger: HermesSignpostTrigger) {\r\n this.useCustomTrigger = !!trigger;\r\n }\r\n\r\n get showDefaultTrigger(): boolean {\r\n return !this.useCustomTrigger && !this.hideTrigger;\r\n }\r\n\r\n openAtPoint(point: HermesPopoverPoint, targetElement?: HTMLElement) {\r\n this.popoverService.openAtPoint(point, targetElement);\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 { isPlatformBrowser } from '@angular/common';\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n DOCUMENT,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n Optional,\r\n PLATFORM_ID,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n HermesPopoverContent,\r\n HermesPopoverPosition,\r\n HermesPopoverService,\r\n HermesPopoverType,\r\n POPOVER_HOST_ORIGIN,\r\n SIGNPOST_POSITIONS,\r\n} from '@hermes-ui/angular/popover/common';\r\nimport { HermesCommonStringsService, uniqueIdFactory } from '@hermes-ui/angular/utils';\r\n\r\nimport { SignpostFocusManager } from './providers/signpost-focus-manager.service';\r\nimport { SignpostIdService } from './providers/signpost-id.service';\r\n\r\n@Component({\r\n selector: 'hermes-signpost-content',\r\n template: `\r\n <div class=\"signpost-wrap\">\r\n <div class=\"popover-pointer\"></div>\r\n <div class=\"signpost-content-header\">\r\n <ng-content select=\"hermes-signpost-title\"></ng-content>\r\n <button\r\n #closeButton\r\n type=\"button\"\r\n [attr.aria-label]=\"signpostCloseAriaLabel || commonStrings.keys.signpostClose\"\r\n class=\"signpost-action close\"\r\n (click)=\"close()\"\r\n [attr.aria-controls]=\"signpostContentId\"\r\n >\r\n <hermes-icon shape=\"window-close\" [attr.title]=\"commonStrings.keys.close\"></hermes-icon>\r\n </button>\r\n </div>\r\n <div class=\"signpost-content-body\" tabindex=\"0\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n host: {\r\n '[class.signpost-content]': 'true',\r\n '[id]': 'signpostContentId',\r\n role: 'dialog',\r\n },\r\n standalone: false,\r\n hostDirectives: [HermesPopoverContent],\r\n})\r\nexport class HermesSignpostContent implements OnDestroy, AfterViewInit {\r\n @Input('hermesSignpostCloseAriaLabel') signpostCloseAriaLabel: string;\r\n @ViewChild('closeButton', { read: ElementRef }) closeButton: ElementRef<HTMLButtonElement>;\r\n\r\n signpostContentId = uniqueIdFactory();\r\n\r\n private _position = HermesPopoverPosition.RIGHT_MIDDLE;\r\n\r\n constructor(\r\n @Optional()\r\n @Inject(POPOVER_HOST_ORIGIN)\r\n parentHost: ElementRef<HTMLElement>,\r\n private element: ElementRef,\r\n public commonStrings: HermesCommonStringsService,\r\n signpostIdService: SignpostIdService,\r\n private signpostFocusManager: SignpostFocusManager,\r\n @Inject(PLATFORM_ID) private platformId: any,\r\n @Inject(DOCUMENT) private document: Document,\r\n private popoverService: HermesPopoverService,\r\n private popoverContent: HermesPopoverContent\r\n ) {\r\n if (!parentHost) {\r\n throw new Error('hermes-signpost-content should only be used inside of a hermes-signpost');\r\n }\r\n // Defaults\r\n signpostIdService.setId(this.signpostContentId);\r\n\r\n popoverService.panelClass.push('hermes-signpost-container');\r\n popoverContent.contentType = HermesPopoverType.SIGNPOST;\r\n popoverContent.contentAt = this._position;\r\n }\r\n\r\n /*********\r\n *\r\n * @description\r\n * A setter for the position of the HermesSignpostContent popover. This is a combination of the following:\r\n * - originPoint - where on the trigger to position the content\r\n * - popoverPoint - where on the content container to align with the origin\r\n * - offsetY - where on the Y axis to align the HermesSignpostContent so it meets specs\r\n * - offsetX - where on the X axis to align the HermesSignpostContent so it meets specs\r\n * There are 12 possible positions to place a HermesSignpostContent container:\r\n * - top-left\r\n * - top-middle\r\n * - top-right\r\n * - right-top\r\n * - right-middle\r\n * - right-bottom\r\n * - bottom-right\r\n * - bottom-middle\r\n * - bottom-left\r\n * - left-bottom\r\n * - left-middle\r\n * - left-top\r\n *\r\n * I think of it as follows for 'top-left' -> CONTAINER_SIDE-SIDE_POSITION. In this case CONTAINER_SIDE is 'top'\r\n * meaning the top of the trigger icon (above the icon that hides/shows) the HermesSignpostContent. And, SIDE_POSITION\r\n * is 'left' meaning two things: 1) the HermesSignpostContent container extends to the left and 2) the 'arrow/pointer'\r\n * linking the SignpostContent to the trigger points down at the horizontal center of the trigger icon.\r\n *\r\n * @param newPosition\r\n */\r\n @Input('hermesPosition')\r\n get position() {\r\n return this._position;\r\n }\r\n set position(position: string | HermesPopoverPosition) {\r\n const posIndex = SIGNPOST_POSITIONS.indexOf(position as HermesPopoverPosition);\r\n this._position = position && posIndex > -1 ? SIGNPOST_POSITIONS[posIndex] : HermesPopoverPosition.RIGHT_MIDDLE;\r\n\r\n this.popoverContent.contentAt = this._position;\r\n }\r\n\r\n /*\r\n * Fallback to hide when *hermesIfOpen is not being used\r\n */\r\n @HostBinding('class.is-off-screen')\r\n get isOffScreen() {\r\n return !this.popoverService.open;\r\n }\r\n\r\n /**********\r\n *\r\n * @description\r\n * Close function that uses the signpost instance to toggle the state of the content popover.\r\n *\r\n */\r\n close() {\r\n this.popoverService.open = false;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.popoverService.closeButtonRef = this.closeButton;\r\n this.closeButton.nativeElement.focus();\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n if (event.key === 'Tab') {\r\n const focusableElements = this.getFocusableElements(this.element.nativeElement);\r\n\r\n // take the first element when SHIFT+TAB or last when only TAB\r\n const focusableElementIndex = event.shiftKey ? 0 : focusableElements.length - 1;\r\n\r\n if (document.activeElement === focusableElements[focusableElementIndex]) {\r\n event.preventDefault();\r\n this.popoverService.open = false;\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (isPlatformBrowser(this.platformId) && this.element.nativeElement.contains(this.document.activeElement)) {\r\n this.signpostFocusManager.focusTrigger();\r\n }\r\n }\r\n\r\n private getFocusableElements(element: HTMLElement): HTMLElement[] {\r\n return Array.from(\r\n element.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\r\n ) as HTMLElement[];\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: 'hermes-signpost-title',\r\n template: `<ng-content></ng-content>`,\r\n host: { '[class.signpost-title]': 'true' },\r\n standalone: false,\r\n})\r\nexport class HermesSignpostTitle {}\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 { HermesIcons, HermesIcon, infoCircleIcon, windowCloseIcon } from '@hermes-ui/angular/icon';\nimport { HermesIfOpen, HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';\nimport { HermesFocusOnViewInitModule } from '@hermes-ui/angular/utils';\n\nimport { HermesSignpost } from './signpost';\nimport { HermesSignpostContent } from './signpost-content';\nimport { HermesSignpostTitle } from './signpost-title';\nimport { HermesSignpostTrigger } from './signpost-trigger';\n\nexport const HERMES_SIGNPOST_DIRECTIVES: Type<any>[] = [\n HermesSignpost,\n HermesSignpostContent,\n HermesSignpostTrigger,\n HermesSignpostTitle,\n];\n\n@NgModule({\n imports: [CommonModule, HermesIcon, HermesFocusOnViewInitModule, HermesPopoverModuleNext, HermesIfOpen],\n declarations: [HERMES_SIGNPOST_DIRECTIVES],\n exports: [HERMES_SIGNPOST_DIRECTIVES, HermesIfOpen],\n})\nexport class HermesSignpostModule {\n constructor() {\n HermesIcons.addIcons(windowCloseIcon, infoCircleIcon);\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 './signpost';\r\nexport * from './signpost-content';\r\nexport * from './signpost-title';\r\nexport * from './signpost-trigger';\r\nexport * from './signpost.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.SignpostIdService","i3.SignpostFocusManager","i2","i4.HermesSignpostTrigger","i5"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-ui-angular-popover-tooltip.mjs","sources":["../../../popover/tooltip/providers/tooltip-id.service.ts","../../../popover/tooltip/providers/tooltip-mouse.service.ts","../../../popover/tooltip/tooltip.ts","../../../popover/tooltip/tooltip-trigger.ts","../../../popover/tooltip/tooltip-content.ts","../../../popover/tooltip/tooltip.module.ts","../../../popover/tooltip/index.ts","../../../popover/tooltip/hermes-ui-angular-popover-tooltip.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 { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TooltipIdService {\r\n private _id = new Subject<string>();\r\n\r\n get id(): Observable<string> {\r\n return this._id.asObservable();\r\n }\r\n\r\n updateId(id: string) {\r\n this._id.next(id);\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 { Injectable } from '@angular/core';\nimport { HermesPopoverService } from '@hermes-ui/angular/popover/common';\n\n@Injectable()\nexport class TooltipMouseService {\n private mouseOutDelay = 100;\n private mouseOverTrigger: boolean;\n private mouseOverContent: boolean;\n\n constructor(private readonly popoverService: HermesPopoverService) {}\n\n onMouseEnterTrigger() {\n this.mouseOverTrigger = true;\n this.popoverService.open = true;\n }\n\n onMouseLeaveTrigger() {\n this.mouseOverTrigger = false;\n this.hideIfMouseOut();\n }\n\n onMouseEnterContent() {\n this.mouseOverContent = true;\n }\n\n onMouseLeaveContent() {\n this.mouseOverContent = false;\n this.hideIfMouseOut();\n }\n\n private hideIfMouseOut() {\n // A zero timeout is used so that the code has a chance to update\n // the `mouseOverContent` property after the user moves the mouse from the trigger to the content.\n setTimeout(() => {\n if (!this.mouseOverTrigger && !this.mouseOverContent) {\n this.popoverService.open = false;\n }\n }, this.mouseOutDelay);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\nimport { HermesPopoverHostDirective } from '@hermes-ui/angular/popover/common';\n\nimport { TooltipIdService } from './providers/tooltip-id.service';\nimport { TooltipMouseService } from './providers/tooltip-mouse.service';\n\n@Component({\n selector: 'hermes-tooltip',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.hermes-tooltip-container]': 'true',\n },\n providers: [TooltipIdService, TooltipMouseService],\n hostDirectives: [HermesPopoverHostDirective],\n standalone: false,\n})\nexport class HermesTooltip {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, ElementRef, HostListener } from '@angular/core';\nimport { HermesPopoverService } from '@hermes-ui/angular/popover/common';\nimport { Subscription } from 'rxjs';\n\nimport { TooltipIdService } from './providers/tooltip-id.service';\nimport { TooltipMouseService } from './providers/tooltip-mouse.service';\n\n@Directive({\n selector: '[hermesTooltipTrigger]',\n host: {\n tabindex: '0',\n '[class.tooltip-trigger]': 'true',\n '[attr.aria-describedby]': 'ariaDescribedBy',\n '[attr.role]': '\"button\"',\n },\n standalone: false,\n})\nexport class HermesTooltipTrigger {\n ariaDescribedBy: string;\n private subs: Subscription[] = [];\n\n constructor(\n private popoverService: HermesPopoverService,\n tooltipIdService: TooltipIdService,\n private tooltipMouseService: TooltipMouseService,\n element: ElementRef\n ) {\n // The aria-described by comes from the id of content. It\n this.subs.push(tooltipIdService.id.subscribe(tooltipId => (this.ariaDescribedBy = tooltipId)));\n popoverService.origin = element;\n }\n\n ngOnDestroy() {\n this.subs.forEach(sub => sub.unsubscribe());\n }\n\n @HostListener('focus')\n showTooltip(): void {\n this.popoverService.open = true;\n }\n\n @HostListener('blur')\n hideTooltip(): void {\n this.popoverService.open = false;\n }\n\n @HostListener('mouseenter')\n private onMouseEnter() {\n this.tooltipMouseService.onMouseEnterTrigger();\n }\n\n @HostListener('mouseleave')\n private onMouseLeave() {\n this.tooltipMouseService.onMouseLeaveTrigger();\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ElementRef, HostListener, Inject, Input, OnInit, Optional, Renderer2 } from '@angular/core';\nimport {\n HermesPopoverContent,\n HermesPopoverPosition,\n HermesPopoverService,\n HermesPopoverType,\n POPOVER_HOST_ORIGIN,\n TOOLTIP_POSITIONS,\n} from '@hermes-ui/angular/popover/common';\nimport { uniqueIdFactory } from '@hermes-ui/angular/utils';\n\nimport { TooltipIdService } from './providers/tooltip-id.service';\nimport { TooltipMouseService } from './providers/tooltip-mouse.service';\n\nconst SIZES = ['xs', 'sm', 'md', 'lg'];\n\nconst defaultPosition = HermesPopoverPosition.RIGHT;\nconst defaultSize = 'sm';\n\n@Component({\n selector: 'hermes-tooltip-content',\n template: `<ng-content></ng-content>`,\n host: {\n '[class.tooltip-content]': 'true',\n '[style.opacity]': '1',\n '[attr.role]': '\"tooltip\"',\n '[id]': 'id',\n },\n standalone: false,\n hostDirectives: [HermesPopoverContent],\n})\nexport class HermesTooltipContent implements OnInit {\n private _id: string;\n private _position: HermesPopoverPosition;\n private _size: string;\n\n constructor(\n @Optional()\n @Inject(POPOVER_HOST_ORIGIN)\n parentHost: ElementRef<HTMLElement>,\n private tooltipIdService: TooltipIdService,\n public el: ElementRef,\n private renderer: Renderer2,\n popoverService: HermesPopoverService,\n private tooltipMouseService: TooltipMouseService,\n private popoverContent: HermesPopoverContent\n ) {\n popoverService.panelClass.push('hermes-tooltip-container');\n popoverContent.contentType = HermesPopoverType.TOOLTIP;\n\n popoverContent.scrollToClose = true;\n\n if (!parentHost) {\n throw new Error('hermes-tooltip-content should only be used inside of a hermes-tooltip');\n }\n\n // Set the default id in case consumer does not supply a custom id.\n this.id = uniqueIdFactory();\n }\n\n @Input()\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n const id = value || '';\n\n this._id = id;\n this.tooltipIdService.updateId(id);\n }\n\n @Input('hermesPosition')\n get position() {\n return this._position;\n }\n set position(value: string | HermesPopoverPosition) {\n const posIndex = TOOLTIP_POSITIONS.indexOf(value as HermesPopoverPosition);\n\n this._position = value && posIndex > -1 ? TOOLTIP_POSITIONS[posIndex] : defaultPosition;\n\n this.popoverContent.contentAt = this._position;\n }\n\n @Input('hermesSize')\n get size() {\n return this._size;\n }\n set size(value: string) {\n const oldSize = this._size;\n const newSize = SIZES.includes(value) ? value : defaultSize;\n\n this._size = newSize;\n this.updateCssClass({ oldClass: `tooltip-${oldSize}`, newClass: `tooltip-${newSize}` });\n }\n\n ngOnInit() {\n this.size = this.size || defaultSize;\n this.position = this.position || defaultPosition;\n }\n\n @HostListener('mouseenter')\n private onMouseEnter() {\n this.tooltipMouseService.onMouseEnterContent();\n }\n\n @HostListener('mouseleave')\n private onMouseLeave() {\n this.tooltipMouseService.onMouseLeaveContent();\n }\n\n private updateCssClass({ oldClass, newClass }: { oldClass: string; newClass: string }) {\n this.renderer.removeClass(this.el.nativeElement, oldClass);\n this.renderer.addClass(this.el.nativeElement, newClass);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { HermesIcon } from '@hermes-ui/angular/icon';\nimport { HermesIfOpen, HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';\n\nimport { HermesTooltip } from './tooltip';\nimport { HermesTooltipContent } from './tooltip-content';\nimport { HermesTooltipTrigger } from './tooltip-trigger';\n\nexport const HERMES_TOOLTIP_DIRECTIVES: Type<any>[] = [HermesTooltip, HermesTooltipTrigger, HermesTooltipContent];\n\n@NgModule({\n imports: [CommonModule, HermesIcon, HermesPopoverModuleNext],\n declarations: [HERMES_TOOLTIP_DIRECTIVES],\n exports: [HERMES_TOOLTIP_DIRECTIVES, HermesIfOpen, HermesIcon],\n})\nexport class HermesTooltipModule {}\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 './tooltip';\r\nexport * from './tooltip-trigger';\r\nexport * from './tooltip-content';\r\nexport * from './tooltip.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.TooltipIdService","i3.TooltipMouseService","i1.TooltipIdService","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-popover-tooltip.mjs","sources":["../../../popover/tooltip/providers/tooltip-id.service.ts","../../../popover/tooltip/providers/tooltip-mouse.service.ts","../../../popover/tooltip/tooltip.ts","../../../popover/tooltip/tooltip-trigger.ts","../../../popover/tooltip/tooltip-content.ts","../../../popover/tooltip/tooltip.module.ts","../../../popover/tooltip/index.ts","../../../popover/tooltip/hermes-ui-angular-popover-tooltip.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 { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TooltipIdService {\r\n private _id = new Subject<string>();\r\n\r\n get id(): Observable<string> {\r\n return this._id.asObservable();\r\n }\r\n\r\n updateId(id: string) {\r\n this._id.next(id);\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 { HermesPopoverService } from '@hermes-ui/angular/popover/common';\r\n\r\n@Injectable()\r\nexport class TooltipMouseService {\r\n private mouseOutDelay = 100;\r\n private mouseOverTrigger: boolean;\r\n private mouseOverContent: boolean;\r\n\r\n constructor(private readonly popoverService: HermesPopoverService) {}\r\n\r\n onMouseEnterTrigger() {\r\n this.mouseOverTrigger = true;\r\n this.popoverService.open = true;\r\n }\r\n\r\n onMouseLeaveTrigger() {\r\n this.mouseOverTrigger = false;\r\n this.hideIfMouseOut();\r\n }\r\n\r\n onMouseEnterContent() {\r\n this.mouseOverContent = true;\r\n }\r\n\r\n onMouseLeaveContent() {\r\n this.mouseOverContent = false;\r\n this.hideIfMouseOut();\r\n }\r\n\r\n private hideIfMouseOut() {\r\n // A zero timeout is used so that the code has a chance to update\r\n // the `mouseOverContent` property after the user moves the mouse from the trigger to the content.\r\n setTimeout(() => {\r\n if (!this.mouseOverTrigger && !this.mouseOverContent) {\r\n this.popoverService.open = false;\r\n }\r\n }, this.mouseOutDelay);\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\nimport { HermesPopoverHostDirective } from '@hermes-ui/angular/popover/common';\r\n\r\nimport { TooltipIdService } from './providers/tooltip-id.service';\r\nimport { TooltipMouseService } from './providers/tooltip-mouse.service';\r\n\r\n@Component({\r\n selector: 'hermes-tooltip',\r\n template: `<ng-content></ng-content>`,\r\n host: {\r\n '[class.hermes-tooltip-container]': 'true',\r\n },\r\n providers: [TooltipIdService, TooltipMouseService],\r\n hostDirectives: [HermesPopoverHostDirective],\r\n standalone: false,\r\n})\r\nexport class HermesTooltip {}\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, HostListener } from '@angular/core';\r\nimport { HermesPopoverService } from '@hermes-ui/angular/popover/common';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { TooltipIdService } from './providers/tooltip-id.service';\r\nimport { TooltipMouseService } from './providers/tooltip-mouse.service';\r\n\r\n@Directive({\r\n selector: '[hermesTooltipTrigger]',\r\n host: {\r\n tabindex: '0',\r\n '[class.tooltip-trigger]': 'true',\r\n '[attr.aria-describedby]': 'ariaDescribedBy',\r\n '[attr.role]': '\"button\"',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesTooltipTrigger {\r\n ariaDescribedBy: string;\r\n private subs: Subscription[] = [];\r\n\r\n constructor(\r\n private popoverService: HermesPopoverService,\r\n tooltipIdService: TooltipIdService,\r\n private tooltipMouseService: TooltipMouseService,\r\n element: ElementRef\r\n ) {\r\n // The aria-described by comes from the id of content. It\r\n this.subs.push(tooltipIdService.id.subscribe(tooltipId => (this.ariaDescribedBy = tooltipId)));\r\n popoverService.origin = element;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach(sub => sub.unsubscribe());\r\n }\r\n\r\n @HostListener('focus')\r\n showTooltip(): void {\r\n this.popoverService.open = true;\r\n }\r\n\r\n @HostListener('blur')\r\n hideTooltip(): void {\r\n this.popoverService.open = false;\r\n }\r\n\r\n @HostListener('mouseenter')\r\n private onMouseEnter() {\r\n this.tooltipMouseService.onMouseEnterTrigger();\r\n }\r\n\r\n @HostListener('mouseleave')\r\n private onMouseLeave() {\r\n this.tooltipMouseService.onMouseLeaveTrigger();\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, ElementRef, HostListener, Inject, Input, OnInit, Optional, Renderer2 } from '@angular/core';\r\nimport {\r\n HermesPopoverContent,\r\n HermesPopoverPosition,\r\n HermesPopoverService,\r\n HermesPopoverType,\r\n POPOVER_HOST_ORIGIN,\r\n TOOLTIP_POSITIONS,\r\n} from '@hermes-ui/angular/popover/common';\r\nimport { uniqueIdFactory } from '@hermes-ui/angular/utils';\r\n\r\nimport { TooltipIdService } from './providers/tooltip-id.service';\r\nimport { TooltipMouseService } from './providers/tooltip-mouse.service';\r\n\r\nconst SIZES = ['xs', 'sm', 'md', 'lg'];\r\n\r\nconst defaultPosition = HermesPopoverPosition.RIGHT;\r\nconst defaultSize = 'sm';\r\n\r\n@Component({\r\n selector: 'hermes-tooltip-content',\r\n template: `<ng-content></ng-content>`,\r\n host: {\r\n '[class.tooltip-content]': 'true',\r\n '[style.opacity]': '1',\r\n '[attr.role]': '\"tooltip\"',\r\n '[id]': 'id',\r\n },\r\n standalone: false,\r\n hostDirectives: [HermesPopoverContent],\r\n})\r\nexport class HermesTooltipContent implements OnInit {\r\n private _id: string;\r\n private _position: HermesPopoverPosition;\r\n private _size: string;\r\n\r\n constructor(\r\n @Optional()\r\n @Inject(POPOVER_HOST_ORIGIN)\r\n parentHost: ElementRef<HTMLElement>,\r\n private tooltipIdService: TooltipIdService,\r\n public el: ElementRef,\r\n private renderer: Renderer2,\r\n popoverService: HermesPopoverService,\r\n private tooltipMouseService: TooltipMouseService,\r\n private popoverContent: HermesPopoverContent\r\n ) {\r\n popoverService.panelClass.push('hermes-tooltip-container');\r\n popoverContent.contentType = HermesPopoverType.TOOLTIP;\r\n\r\n popoverContent.scrollToClose = true;\r\n\r\n if (!parentHost) {\r\n throw new Error('hermes-tooltip-content should only be used inside of a hermes-tooltip');\r\n }\r\n\r\n // Set the default id in case consumer does not supply a custom id.\r\n this.id = uniqueIdFactory();\r\n }\r\n\r\n @Input()\r\n get id(): string {\r\n return this._id;\r\n }\r\n set id(value: string) {\r\n const id = value || '';\r\n\r\n this._id = id;\r\n this.tooltipIdService.updateId(id);\r\n }\r\n\r\n @Input('hermesPosition')\r\n get position() {\r\n return this._position;\r\n }\r\n set position(value: string | HermesPopoverPosition) {\r\n const posIndex = TOOLTIP_POSITIONS.indexOf(value as HermesPopoverPosition);\r\n\r\n this._position = value && posIndex > -1 ? TOOLTIP_POSITIONS[posIndex] : defaultPosition;\r\n\r\n this.popoverContent.contentAt = this._position;\r\n }\r\n\r\n @Input('hermesSize')\r\n get size() {\r\n return this._size;\r\n }\r\n set size(value: string) {\r\n const oldSize = this._size;\r\n const newSize = SIZES.includes(value) ? value : defaultSize;\r\n\r\n this._size = newSize;\r\n this.updateCssClass({ oldClass: `tooltip-${oldSize}`, newClass: `tooltip-${newSize}` });\r\n }\r\n\r\n ngOnInit() {\r\n this.size = this.size || defaultSize;\r\n this.position = this.position || defaultPosition;\r\n }\r\n\r\n @HostListener('mouseenter')\r\n private onMouseEnter() {\r\n this.tooltipMouseService.onMouseEnterContent();\r\n }\r\n\r\n @HostListener('mouseleave')\r\n private onMouseLeave() {\r\n this.tooltipMouseService.onMouseLeaveContent();\r\n }\r\n\r\n private updateCssClass({ oldClass, newClass }: { oldClass: string; newClass: string }) {\r\n this.renderer.removeClass(this.el.nativeElement, oldClass);\r\n this.renderer.addClass(this.el.nativeElement, newClass);\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 { HermesIcon } from '@hermes-ui/angular/icon';\r\nimport { HermesIfOpen, HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';\r\n\r\nimport { HermesTooltip } from './tooltip';\r\nimport { HermesTooltipContent } from './tooltip-content';\r\nimport { HermesTooltipTrigger } from './tooltip-trigger';\r\n\r\nexport const HERMES_TOOLTIP_DIRECTIVES: Type<any>[] = [HermesTooltip, HermesTooltipTrigger, HermesTooltipContent];\r\n\r\n@NgModule({\r\n imports: [CommonModule, HermesIcon, HermesPopoverModuleNext],\r\n declarations: [HERMES_TOOLTIP_DIRECTIVES],\r\n exports: [HERMES_TOOLTIP_DIRECTIVES, HermesIfOpen, HermesIcon],\r\n})\r\nexport class HermesTooltipModule {}\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 './tooltip';\r\nexport * from './tooltip-trigger';\r\nexport * from './tooltip-content';\r\nexport * from './tooltip.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.TooltipIdService","i3.TooltipMouseService","i1.TooltipIdService","i2"],"mappings":"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"}
|