@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-addons-dialog.mjs","sources":["../../../addons/dialog/multi-page-dialog.component.ts","../../../addons/dialog/multi-page-dialog.component.html","../../../addons/dialog/multi-page-dialog-header.component.ts","../../../addons/dialog/toggle-component/toggle.component.ts","../../../addons/dialog/toggle-component/toggle.component.html","../../../addons/dialog/multi-page-dialog.module.ts","../../../addons/dialog/index.ts","../../../addons/dialog/hermes-ui-angular-addons-dialog.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 {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { ZoomLevel, ZoomLevelService } from '@hermes-ui/angular/addons/a11y';\nimport { Tabs } from '@hermes-ui/angular/addons/tabs';\nimport {\n CloseHandler,\n formatError,\n modalServiceToken,\n ModelChange,\n Step,\n StepValidationState,\n TabLayout,\n WorkflowConfigurationService,\n WorkflowModel,\n WorkflowModelMonitor,\n} from '@hermes-ui/angular/addons/var';\nimport { WorkflowStrings } from '@hermes-ui/angular/addons/workflow/strings';\nimport { isObservable, Observable, of, Subscription } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nimport { DefaultButton, ModalSize } from './multi-page-dialog.model';\n\n/**\n * A multi page dialog implemented as a single modal dialog with clarity tabs where\n * each step(page) is in a separate tab.\n * A custom component can be added in the dialog header (appfx-dialog-header) if it is\n * needed. See the example below:\n *\n * @example\n * <appfx-dialog\n * [loading]=\"loading\"\n * [steps]=\"steps\"\n * [model]=\"dialogModel\"\n * [title]=\"options.title\"\n * [subTitle]=\"subTitle\"\n * [defaultButton]=\"submit\"\n * [okButtonLabel]=\"okButtonLabel\"\n * [disableTabsContent]=\"!toggleStateEnabled\"\n * [closeHandler]=\"closeHandler\">\n * <appfx-dialog-header>\n * <appfx-toggle\n * [label]=\"label\"\n * [toggleId]=\"'myToggleControlId'\"\n * [(toggleState)]=\"toggleStateEnabled\">\n * </appfx-toggle>\n * </appfx-dialog-header>\n * </appfx-dialog>\n */\n@Component({\n selector: 'appfx-dialog',\n standalone: false,\n templateUrl: 'multi-page-dialog.component.html',\n styleUrls: ['multi-page-dialog.component.scss', 'multi-page-dialog.a11y.scss'],\n})\nexport class DialogComponent implements OnInit, OnDestroy {\n /** The title of the dialog. */\n @Input() title: string;\n\n /** Dialog's clarity size (\"xl\" | \"lg\" | \"md\" | \"sm\" | \"full-screen\"). */\n @Input() size: ModalSize;\n\n /** Specifies the height of the dialog. */\n @Input() height: string;\n\n /** Set default button - submit or close. The default value is close if it is not specified. */\n @Input() defaultButton: DefaultButton;\n\n /** The cancel button label. */\n @Input() cancelButtonLabel: string;\n\n /** The ok button label. */\n @Input() okButtonLabel: string;\n\n /** The tabs layout. The default value is horizontal if it is not specified. */\n @Input() tabLayout: TabLayout = TabLayout.horizontal;\n\n /** Disable the content of the tabs. */\n @Input() disableTabsContent: boolean;\n\n /** Display loading indicator. */\n @Input() loading = false;\n\n @Input() steps: Step[];\n\n /**\n * You can supply here any structure you like. As long as it has the\n * needed properties to inject to the step models and eject back from\n * the step models.\n *\n * If not specified, the steps will simply stay disconnected from each other,\n * so you would need other means of communication between them.\n */\n @Input() model: WorkflowModel;\n\n /**\n * Object containing callback methods that will be invoked when the Dialog is Submitted or Cancelled.\n * onSubmit is invoked when the user clicks Ok button.\n * onCancel is invoked when the user clicks Cancel button.\n * You can perform the actions you want there (i.e modify something).\n * Dialog will wait for the result and then will close.\n * If there is an error, it will be displayed in the dialog that will remain open.\n */\n @Input() closeHandler: CloseHandler;\n\n /**\n * Show Tab Links (true by default)\n * Set this to false if you want to hide the tab links.\n * You can set this to false if you have only one step.\n */\n @Input() showTabLinks = true;\n\n /** Dispatches when any of the workflow state's variables changes. */\n @Output() readonly onModelChange: EventEmitter<ModelChange[]> = new EventEmitter<ModelChange[]>();\n\n /**\n * Dispatched when the dialog is closed (in all three cases: via the close button\n * (on the top right corner) or the OK/Cancel buttons).\n */\n @Output() onClose: EventEmitter<void> = new EventEmitter<void>();\n\n /** Emits when opened input is changed. */\n @Output() openedChange = new EventEmitter<boolean>();\n\n @ViewChild(Tabs, { static: true }) tabs: Tabs;\n\n errorIconVisibleList: boolean[] = [];\n closeHandlerValidationState = new StepValidationState();\n currentZoomLevel = ZoomLevel.none;\n ZoomLevel = ZoomLevel;\n tabLinksOpened = false;\n\n @ViewChild(WorkflowModelMonitor, { static: false }) private debugPopup: WorkflowModelMonitor;\n\n private subscriptions = new Subscription();\n private readonly defaultMinHeight = '545px';\n\n #opened = true;\n #subTitle$: Observable<string>;\n\n constructor(\n private cdr: ChangeDetectorRef,\n readonly workflowStrings: WorkflowStrings,\n readonly configService: WorkflowConfigurationService,\n /**\n * openModalComponent = undefined - Dialog used without ModalService\n * openModalComponent = true - opened using ModalService.openModalComponent API\n * openModalComponent = false - opened using ModalService.openModal API\n */\n @Inject(modalServiceToken) @Optional() openModalComponent?: boolean,\n @Optional() private zoomLevelService?: ZoomLevelService\n ) {\n if (openModalComponent === false) {\n throw new Error('AppFx Dialog must be opened using ModalService.openModalComponent method.');\n }\n this.cancelButtonLabel = workflowStrings.defaultCancelButtonLabel ?? '';\n this.okButtonLabel = workflowStrings.defaultOkButtonLabel ?? '';\n }\n\n /**\n * The sub title of the dialog.\n */\n @Input()\n set subTitle(subTitle: string | Observable<string>) {\n if (typeof subTitle === 'string') {\n this.#subTitle$ = of(subTitle);\n } else if (isObservable(subTitle)) {\n this.#subTitle$ = subTitle;\n }\n }\n\n /** Controls dialog open/close state. */\n @Input()\n get opened(): boolean {\n return this.#opened;\n }\n\n set opened(value: boolean) {\n this.#opened = value;\n this.openedChange.emit(value);\n if (!value) {\n this.onClose.emit();\n }\n }\n\n get subTitle$(): Observable<string> {\n return this.#subTitle$;\n }\n\n get isVerticalLayout(): boolean {\n return this.tabLayout === TabLayout.vertical;\n }\n\n get showAppfxTabLinks(): boolean {\n return this.showTabLinks && this.isVerticalLayout && this.currentZoomLevel !== ZoomLevel.none;\n }\n\n get showTabLinksInAppfxTabs(): boolean {\n return this.showAppfxTabLinks ? this.tabLinksOpened : this.showTabLinks;\n }\n\n get heightStyle(): any {\n if (this.currentZoomLevel !== ZoomLevel.none) {\n return {};\n }\n if (this.height) {\n return { height: `${this.height}` };\n }\n return { 'min-height': `${this.defaultMinHeight}` };\n }\n\n get isLoading(): boolean {\n return this.loading || this.tabs.isLoading;\n }\n\n get isOkButtonDisabled(): boolean {\n return this.isLoading || !this.tabs.isReady;\n }\n\n get isSignPostOpen(): boolean {\n return !!(this.debugPopup && this.debugPopup.isOpen);\n }\n\n ngOnInit(): void {\n if (this.zoomLevelService) {\n this.subscriptions.add(\n this.zoomLevelService.onChange.subscribe((level: ZoomLevel) => {\n this.currentZoomLevel = level;\n this.cdr.detectChanges();\n })\n );\n }\n }\n\n ngOnDestroy() {\n this.subscriptions.unsubscribe();\n }\n\n onOkButtonClick(): void {\n this.tabs\n .validate$()\n .pipe(\n take(1),\n filter(isValid => isValid)\n )\n .subscribe(() => this.submitDialog());\n }\n\n onCancelButtonClick(): void {\n const close$ = this.closeHandler && this.closeHandler.onCancel ? this.closeHandler.onCancel() : of(false);\n this.subscribeForCloseHandler(close$);\n }\n\n onModalOpenChange(opened: boolean) {\n if (opened) {\n this.opened = true;\n } else {\n this.onCancelButtonClick();\n }\n }\n\n private submitDialog() {\n const close$ = this.closeHandler && this.closeHandler.onSubmit ? this.closeHandler.onSubmit() : of(true);\n this.subscribeForCloseHandler(close$);\n }\n\n private subscribeForCloseHandler(close$: Observable<any>) {\n this.loading = true;\n close$.pipe(take(1)).subscribe({\n error: (error: unknown) => {\n this.loading = false;\n if (error !== notDisplayedError) {\n this.closeHandlerValidationState.errors = [\n formatError(error).data.message || this.workflowStrings.defaultDialogSubmitError,\n ];\n }\n },\n complete: () => {\n this.loading = false;\n this.closeHandlerValidationState.errors = [];\n this.closeModal();\n },\n });\n }\n\n private closeModal(): void {\n this.opened = false;\n }\n}\n\nexport const notDisplayedError = new Object();\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n<hermes-modal\r\n [hermesModalStaticBackdrop]=\"true\"\r\n [hermesModalOpen]=\"opened\"\r\n (hermesModalOpenChange)=\"onModalOpenChange($event)\"\r\n [hermesModalSize]=\"size || ''\"\r\n class=\"appfx-dialog\"\r\n [ngClass]=\"tabLayout\"\r\n [class.debug-popup]=\"isSignPostOpen\"\r\n [class.zoom2x]=\"currentZoomLevel === ZoomLevel.x2\"\r\n [class.zoom4x]=\"currentZoomLevel === ZoomLevel.x4\"\r\n [class.tab-links-opened]=\"tabLinksOpened\"\r\n [class.show-tab-content]=\"!tabLinksOpened\"\r\n>\r\n <div class=\"modal-title\">\r\n <appfx-model-popup *ngIf=\"configService.debug\" [modelMgr]=\"appfxTabs.modelMgr\"> </appfx-model-popup>\r\n <appfx-tab-links *ngIf=\"showAppfxTabLinks\" [(opened)]=\"tabLinksOpened\" [title]=\"appfxTabs.activeTabStep.title\">\r\n </appfx-tab-links>\r\n <ng-container *ngIf=\"subTitle$ | async as st; else noSubTitle\">\r\n <h1 class=\"modal-title p-0 primaryTitle\" [textContent]=\"title\"></h1>\r\n <div class=\"separator\"></div>\r\n <h2 class=\"secondaryTitle\" [textContent]=\"st\"></h2>\r\n </ng-container>\r\n <ng-template #noSubTitle>\r\n <h1 class=\"modal-title p-0 primaryTitle secondaryTitleIsEmpty\" [textContent]=\"title\"></h1>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"modal-body\" [ngStyle]=\"heightStyle\">\r\n <appfx-spinner *ngIf=\"isLoading\" [message]=\"workflowStrings.loading\"></appfx-spinner>\r\n <appfx-validation-banner [state]=\"closeHandlerValidationState\"> </appfx-validation-banner>\r\n\r\n <ng-content select=\"appfx-dialog-header\"></ng-content>\r\n\r\n <appfx-tabs\r\n #appfxTabs\r\n [tabs]=\"steps\"\r\n [model]=\"model\"\r\n [disableTabsContent]=\"disableTabsContent\"\r\n [tabLayout]=\"tabLayout\"\r\n [showTabLinks]=\"showTabLinksInAppfxTabs\"\r\n [showLoadingIndicator]=\"false\"\r\n [autoCollapseTabLinks]=\"false\"\r\n (onModelChange)=\"onModelChange.emit($event)\"\r\n (tabLinksOpenedChange)=\"tabLinksOpened = $event\"\r\n >\r\n </appfx-tabs>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button\r\n type=\"button\"\r\n data-test-id=\"cancelBtn\"\r\n class=\"btn\"\r\n [class.btn-primary]=\"defaultButton === 'close'\"\r\n [class.btn-outline]=\"defaultButton !== 'close'\"\r\n (click)=\"onCancelButtonClick()\"\r\n >\r\n {{ cancelButtonLabel }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n data-test-id=\"submitBtn\"\r\n [disabled]=\"isOkButtonDisabled\"\r\n class=\"btn\"\r\n [class.btn-primary]=\"defaultButton === 'submit'\"\r\n [class.btn-outline]=\"defaultButton !== 'submit'\"\r\n (click)=\"onOkButtonClick()\"\r\n >\r\n {{ okButtonLabel }}\r\n </button>\r\n </div>\r\n</hermes-modal>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'appfx-dialog-header',\r\n standalone: false,\r\n template: `<ng-content></ng-content>`,\r\n})\r\n/**\r\n * A multi page dialog's header component.\r\n * It can be used for adding custom components (for example: a toggle button or alerts).\r\n */\r\nexport class DialogHeaderComponent {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n/**\r\n * A toggle with a label control that can be used in the\r\n * multi page dialog's header section.\r\n */\r\n@Component({\r\n selector: 'appfx-toggle',\r\n standalone: false,\r\n templateUrl: 'toggle.component.html',\r\n styleUrls: ['toggle.component.scss'],\r\n})\r\nexport class ToggleComponent {\r\n private static instanceCount = 0;\r\n\r\n /** Dispatched when the toggle enabled state is changed. */\r\n @Output() toggleStateChange = new EventEmitter<boolean>();\r\n\r\n /** The enabled toggle state - true or false. */\r\n @Input() toggleState = false;\r\n\r\n /**\r\n * The toggle control ID. If it is not specified,\r\n * an autogenerated ID will be set.\r\n */\r\n @Input() toggleId: string;\r\n\r\n /** The label/description of the toggle. */\r\n @Input() label: string;\r\n\r\n @Input() disabled: boolean;\r\n\r\n constructor() {\r\n ToggleComponent.instanceCount++;\r\n this.toggleId = 'toggle_' + ToggleComponent.instanceCount;\r\n }\r\n\r\n /**\r\n * Triggered when the toggle state has changed.\r\n * @param state The current state\r\n */\r\n onToggleStateChanged(state: boolean): void {\r\n this.toggleStateChange.emit(state);\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<div class=\"hermes-row toggle-header\">\r\n <label class=\"toggle-label\" for=\"{{ toggleId }}\">{{ label }}</label>\r\n <hermes-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n hermesToggle\r\n id=\"{{ toggleId }}\"\r\n [(ngModel)]=\"toggleState\"\r\n (ngModelChange)=\"onToggleStateChanged(toggleState)\"\r\n [attr.disabled]=\"disabled\"\r\n />\r\n </hermes-checkbox-wrapper>\r\n</div>\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 } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AppfxTabsModule } from '@hermes-ui/angular/addons/tabs';\nimport { AppfxWorkflowCoreModule } from '@hermes-ui/angular/addons/var';\nimport { HermesCheckboxModule } from '@hermes-ui/angular/forms/checkbox';\nimport { HermesModalModule } from '@hermes-ui/angular/modal';\n\nimport { DialogHeaderComponent } from './multi-page-dialog-header.component';\nimport { DialogComponent } from './multi-page-dialog.component';\nimport { ToggleComponent } from './toggle-component/toggle.component';\n\nconst components = [DialogComponent, DialogHeaderComponent, ToggleComponent];\n\n@NgModule({\n imports: [\n AppfxTabsModule,\n AppfxWorkflowCoreModule,\n HermesCheckboxModule,\n HermesModalModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n declarations: [...components],\n exports: [...components],\n})\nexport class AppfxMultiPageDialogModule {}\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 { DialogComponent, notDisplayedError } from './multi-page-dialog.component';\r\nexport {\r\n /**\r\n * @deprecated Use DialogComponent import instead.\r\n */\r\n DialogComponent as Dialog,\r\n} from './multi-page-dialog.component';\r\nexport { DialogHeaderComponent } from './multi-page-dialog-header.component';\r\nexport {\r\n /**\r\n * @deprecated Use DialogHeaderComponent import instead.\r\n */\r\n DialogHeaderComponent as DialogHeader,\r\n} from './multi-page-dialog-header.component';\r\nexport { DefaultButton, DialogOptions, ModalSize } from './multi-page-dialog.model';\r\nexport { AppfxMultiPageDialogModule } from './multi-page-dialog.module';\r\nexport { ToggleComponent } from './toggle-component/toggle.component';\r\nexport {\r\n /**\r\n * @deprecated Use ToggleComponent import instead.\r\n */\r\n ToggleComponent as Toggle,\r\n} from './toggle-component/toggle.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-addons-dialog.mjs","sources":["../../../addons/dialog/multi-page-dialog.component.ts","../../../addons/dialog/multi-page-dialog.component.html","../../../addons/dialog/multi-page-dialog-header.component.ts","../../../addons/dialog/toggle-component/toggle.component.ts","../../../addons/dialog/toggle-component/toggle.component.html","../../../addons/dialog/multi-page-dialog.module.ts","../../../addons/dialog/index.ts","../../../addons/dialog/hermes-ui-angular-addons-dialog.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 {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { ZoomLevel, ZoomLevelService } from '@hermes-ui/angular/addons/a11y';\r\nimport { Tabs } from '@hermes-ui/angular/addons/tabs';\r\nimport {\r\n CloseHandler,\r\n formatError,\r\n modalServiceToken,\r\n ModelChange,\r\n Step,\r\n StepValidationState,\r\n TabLayout,\r\n WorkflowConfigurationService,\r\n WorkflowModel,\r\n WorkflowModelMonitor,\r\n} from '@hermes-ui/angular/addons/var';\r\nimport { WorkflowStrings } from '@hermes-ui/angular/addons/workflow/strings';\r\nimport { isObservable, Observable, of, Subscription } from 'rxjs';\r\nimport { filter, take } from 'rxjs/operators';\r\n\r\nimport { DefaultButton, ModalSize } from './multi-page-dialog.model';\r\n\r\n/**\r\n * A multi page dialog implemented as a single modal dialog with clarity tabs where\r\n * each step(page) is in a separate tab.\r\n * A custom component can be added in the dialog header (appfx-dialog-header) if it is\r\n * needed. See the example below:\r\n *\r\n * @example\r\n * <appfx-dialog\r\n * [loading]=\"loading\"\r\n * [steps]=\"steps\"\r\n * [model]=\"dialogModel\"\r\n * [title]=\"options.title\"\r\n * [subTitle]=\"subTitle\"\r\n * [defaultButton]=\"submit\"\r\n * [okButtonLabel]=\"okButtonLabel\"\r\n * [disableTabsContent]=\"!toggleStateEnabled\"\r\n * [closeHandler]=\"closeHandler\">\r\n * <appfx-dialog-header>\r\n * <appfx-toggle\r\n * [label]=\"label\"\r\n * [toggleId]=\"'myToggleControlId'\"\r\n * [(toggleState)]=\"toggleStateEnabled\">\r\n * </appfx-toggle>\r\n * </appfx-dialog-header>\r\n * </appfx-dialog>\r\n */\r\n@Component({\r\n selector: 'appfx-dialog',\r\n standalone: false,\r\n templateUrl: 'multi-page-dialog.component.html',\r\n styleUrls: ['multi-page-dialog.component.scss', 'multi-page-dialog.a11y.scss'],\r\n})\r\nexport class DialogComponent implements OnInit, OnDestroy {\r\n /** The title of the dialog. */\r\n @Input() title: string;\r\n\r\n /** Dialog's clarity size (\"xl\" | \"lg\" | \"md\" | \"sm\" | \"full-screen\"). */\r\n @Input() size: ModalSize;\r\n\r\n /** Specifies the height of the dialog. */\r\n @Input() height: string;\r\n\r\n /** Set default button - submit or close. The default value is close if it is not specified. */\r\n @Input() defaultButton: DefaultButton;\r\n\r\n /** The cancel button label. */\r\n @Input() cancelButtonLabel: string;\r\n\r\n /** The ok button label. */\r\n @Input() okButtonLabel: string;\r\n\r\n /** The tabs layout. The default value is horizontal if it is not specified. */\r\n @Input() tabLayout: TabLayout = TabLayout.horizontal;\r\n\r\n /** Disable the content of the tabs. */\r\n @Input() disableTabsContent: boolean;\r\n\r\n /** Display loading indicator. */\r\n @Input() loading = false;\r\n\r\n @Input() steps: Step[];\r\n\r\n /**\r\n * You can supply here any structure you like. As long as it has the\r\n * needed properties to inject to the step models and eject back from\r\n * the step models.\r\n *\r\n * If not specified, the steps will simply stay disconnected from each other,\r\n * so you would need other means of communication between them.\r\n */\r\n @Input() model: WorkflowModel;\r\n\r\n /**\r\n * Object containing callback methods that will be invoked when the Dialog is Submitted or Cancelled.\r\n * onSubmit is invoked when the user clicks Ok button.\r\n * onCancel is invoked when the user clicks Cancel button.\r\n * You can perform the actions you want there (i.e modify something).\r\n * Dialog will wait for the result and then will close.\r\n * If there is an error, it will be displayed in the dialog that will remain open.\r\n */\r\n @Input() closeHandler: CloseHandler;\r\n\r\n /**\r\n * Show Tab Links (true by default)\r\n * Set this to false if you want to hide the tab links.\r\n * You can set this to false if you have only one step.\r\n */\r\n @Input() showTabLinks = true;\r\n\r\n /** Dispatches when any of the workflow state's variables changes. */\r\n @Output() readonly onModelChange: EventEmitter<ModelChange[]> = new EventEmitter<ModelChange[]>();\r\n\r\n /**\r\n * Dispatched when the dialog is closed (in all three cases: via the close button\r\n * (on the top right corner) or the OK/Cancel buttons).\r\n */\r\n @Output() onClose: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n /** Emits when opened input is changed. */\r\n @Output() openedChange = new EventEmitter<boolean>();\r\n\r\n @ViewChild(Tabs, { static: true }) tabs: Tabs;\r\n\r\n errorIconVisibleList: boolean[] = [];\r\n closeHandlerValidationState = new StepValidationState();\r\n currentZoomLevel = ZoomLevel.none;\r\n ZoomLevel = ZoomLevel;\r\n tabLinksOpened = false;\r\n\r\n @ViewChild(WorkflowModelMonitor, { static: false }) private debugPopup: WorkflowModelMonitor;\r\n\r\n private subscriptions = new Subscription();\r\n private readonly defaultMinHeight = '545px';\r\n\r\n #opened = true;\r\n #subTitle$: Observable<string>;\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n readonly workflowStrings: WorkflowStrings,\r\n readonly configService: WorkflowConfigurationService,\r\n /**\r\n * openModalComponent = undefined - Dialog used without ModalService\r\n * openModalComponent = true - opened using ModalService.openModalComponent API\r\n * openModalComponent = false - opened using ModalService.openModal API\r\n */\r\n @Inject(modalServiceToken) @Optional() openModalComponent?: boolean,\r\n @Optional() private zoomLevelService?: ZoomLevelService\r\n ) {\r\n if (openModalComponent === false) {\r\n throw new Error('AppFx Dialog must be opened using ModalService.openModalComponent method.');\r\n }\r\n this.cancelButtonLabel = workflowStrings.defaultCancelButtonLabel ?? '';\r\n this.okButtonLabel = workflowStrings.defaultOkButtonLabel ?? '';\r\n }\r\n\r\n /**\r\n * The sub title of the dialog.\r\n */\r\n @Input()\r\n set subTitle(subTitle: string | Observable<string>) {\r\n if (typeof subTitle === 'string') {\r\n this.#subTitle$ = of(subTitle);\r\n } else if (isObservable(subTitle)) {\r\n this.#subTitle$ = subTitle;\r\n }\r\n }\r\n\r\n /** Controls dialog open/close state. */\r\n @Input()\r\n get opened(): boolean {\r\n return this.#opened;\r\n }\r\n\r\n set opened(value: boolean) {\r\n this.#opened = value;\r\n this.openedChange.emit(value);\r\n if (!value) {\r\n this.onClose.emit();\r\n }\r\n }\r\n\r\n get subTitle$(): Observable<string> {\r\n return this.#subTitle$;\r\n }\r\n\r\n get isVerticalLayout(): boolean {\r\n return this.tabLayout === TabLayout.vertical;\r\n }\r\n\r\n get showAppfxTabLinks(): boolean {\r\n return this.showTabLinks && this.isVerticalLayout && this.currentZoomLevel !== ZoomLevel.none;\r\n }\r\n\r\n get showTabLinksInAppfxTabs(): boolean {\r\n return this.showAppfxTabLinks ? this.tabLinksOpened : this.showTabLinks;\r\n }\r\n\r\n get heightStyle(): any {\r\n if (this.currentZoomLevel !== ZoomLevel.none) {\r\n return {};\r\n }\r\n if (this.height) {\r\n return { height: `${this.height}` };\r\n }\r\n return { 'min-height': `${this.defaultMinHeight}` };\r\n }\r\n\r\n get isLoading(): boolean {\r\n return this.loading || this.tabs.isLoading;\r\n }\r\n\r\n get isOkButtonDisabled(): boolean {\r\n return this.isLoading || !this.tabs.isReady;\r\n }\r\n\r\n get isSignPostOpen(): boolean {\r\n return !!(this.debugPopup && this.debugPopup.isOpen);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.zoomLevelService) {\r\n this.subscriptions.add(\r\n this.zoomLevelService.onChange.subscribe((level: ZoomLevel) => {\r\n this.currentZoomLevel = level;\r\n this.cdr.detectChanges();\r\n })\r\n );\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n onOkButtonClick(): void {\r\n this.tabs\r\n .validate$()\r\n .pipe(\r\n take(1),\r\n filter(isValid => isValid)\r\n )\r\n .subscribe(() => this.submitDialog());\r\n }\r\n\r\n onCancelButtonClick(): void {\r\n const close$ = this.closeHandler && this.closeHandler.onCancel ? this.closeHandler.onCancel() : of(false);\r\n this.subscribeForCloseHandler(close$);\r\n }\r\n\r\n onModalOpenChange(opened: boolean) {\r\n if (opened) {\r\n this.opened = true;\r\n } else {\r\n this.onCancelButtonClick();\r\n }\r\n }\r\n\r\n private submitDialog() {\r\n const close$ = this.closeHandler && this.closeHandler.onSubmit ? this.closeHandler.onSubmit() : of(true);\r\n this.subscribeForCloseHandler(close$);\r\n }\r\n\r\n private subscribeForCloseHandler(close$: Observable<any>) {\r\n this.loading = true;\r\n close$.pipe(take(1)).subscribe({\r\n error: (error: unknown) => {\r\n this.loading = false;\r\n if (error !== notDisplayedError) {\r\n this.closeHandlerValidationState.errors = [\r\n formatError(error).data.message || this.workflowStrings.defaultDialogSubmitError,\r\n ];\r\n }\r\n },\r\n complete: () => {\r\n this.loading = false;\r\n this.closeHandlerValidationState.errors = [];\r\n this.closeModal();\r\n },\r\n });\r\n }\r\n\r\n private closeModal(): void {\r\n this.opened = false;\r\n }\r\n}\r\n\r\nexport const notDisplayedError = new Object();\r\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n<hermes-modal\r\n [hermesModalStaticBackdrop]=\"true\"\r\n [hermesModalOpen]=\"opened\"\r\n (hermesModalOpenChange)=\"onModalOpenChange($event)\"\r\n [hermesModalSize]=\"size || ''\"\r\n class=\"appfx-dialog\"\r\n [ngClass]=\"tabLayout\"\r\n [class.debug-popup]=\"isSignPostOpen\"\r\n [class.zoom2x]=\"currentZoomLevel === ZoomLevel.x2\"\r\n [class.zoom4x]=\"currentZoomLevel === ZoomLevel.x4\"\r\n [class.tab-links-opened]=\"tabLinksOpened\"\r\n [class.show-tab-content]=\"!tabLinksOpened\"\r\n>\r\n <div class=\"modal-title\">\r\n <appfx-model-popup *ngIf=\"configService.debug\" [modelMgr]=\"appfxTabs.modelMgr\"> </appfx-model-popup>\r\n <appfx-tab-links *ngIf=\"showAppfxTabLinks\" [(opened)]=\"tabLinksOpened\" [title]=\"appfxTabs.activeTabStep.title\">\r\n </appfx-tab-links>\r\n <ng-container *ngIf=\"subTitle$ | async as st; else noSubTitle\">\r\n <h1 class=\"modal-title p-0 primaryTitle\" [textContent]=\"title\"></h1>\r\n <div class=\"separator\"></div>\r\n <h2 class=\"secondaryTitle\" [textContent]=\"st\"></h2>\r\n </ng-container>\r\n <ng-template #noSubTitle>\r\n <h1 class=\"modal-title p-0 primaryTitle secondaryTitleIsEmpty\" [textContent]=\"title\"></h1>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"modal-body\" [ngStyle]=\"heightStyle\">\r\n <appfx-spinner *ngIf=\"isLoading\" [message]=\"workflowStrings.loading\"></appfx-spinner>\r\n <appfx-validation-banner [state]=\"closeHandlerValidationState\"> </appfx-validation-banner>\r\n\r\n <ng-content select=\"appfx-dialog-header\"></ng-content>\r\n\r\n <appfx-tabs\r\n #appfxTabs\r\n [tabs]=\"steps\"\r\n [model]=\"model\"\r\n [disableTabsContent]=\"disableTabsContent\"\r\n [tabLayout]=\"tabLayout\"\r\n [showTabLinks]=\"showTabLinksInAppfxTabs\"\r\n [showLoadingIndicator]=\"false\"\r\n [autoCollapseTabLinks]=\"false\"\r\n (onModelChange)=\"onModelChange.emit($event)\"\r\n (tabLinksOpenedChange)=\"tabLinksOpened = $event\"\r\n >\r\n </appfx-tabs>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button\r\n type=\"button\"\r\n data-test-id=\"cancelBtn\"\r\n class=\"btn\"\r\n [class.btn-primary]=\"defaultButton === 'close'\"\r\n [class.btn-outline]=\"defaultButton !== 'close'\"\r\n (click)=\"onCancelButtonClick()\"\r\n >\r\n {{ cancelButtonLabel }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n data-test-id=\"submitBtn\"\r\n [disabled]=\"isOkButtonDisabled\"\r\n class=\"btn\"\r\n [class.btn-primary]=\"defaultButton === 'submit'\"\r\n [class.btn-outline]=\"defaultButton !== 'submit'\"\r\n (click)=\"onOkButtonClick()\"\r\n >\r\n {{ okButtonLabel }}\r\n </button>\r\n </div>\r\n</hermes-modal>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'appfx-dialog-header',\r\n standalone: false,\r\n template: `<ng-content></ng-content>`,\r\n})\r\n/**\r\n * A multi page dialog's header component.\r\n * It can be used for adding custom components (for example: a toggle button or alerts).\r\n */\r\nexport class DialogHeaderComponent {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n/**\r\n * A toggle with a label control that can be used in the\r\n * multi page dialog's header section.\r\n */\r\n@Component({\r\n selector: 'appfx-toggle',\r\n standalone: false,\r\n templateUrl: 'toggle.component.html',\r\n styleUrls: ['toggle.component.scss'],\r\n})\r\nexport class ToggleComponent {\r\n private static instanceCount = 0;\r\n\r\n /** Dispatched when the toggle enabled state is changed. */\r\n @Output() toggleStateChange = new EventEmitter<boolean>();\r\n\r\n /** The enabled toggle state - true or false. */\r\n @Input() toggleState = false;\r\n\r\n /**\r\n * The toggle control ID. If it is not specified,\r\n * an autogenerated ID will be set.\r\n */\r\n @Input() toggleId: string;\r\n\r\n /** The label/description of the toggle. */\r\n @Input() label: string;\r\n\r\n @Input() disabled: boolean;\r\n\r\n constructor() {\r\n ToggleComponent.instanceCount++;\r\n this.toggleId = 'toggle_' + ToggleComponent.instanceCount;\r\n }\r\n\r\n /**\r\n * Triggered when the toggle state has changed.\r\n * @param state The current state\r\n */\r\n onToggleStateChanged(state: boolean): void {\r\n this.toggleStateChange.emit(state);\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<div class=\"hermes-row toggle-header\">\r\n <label class=\"toggle-label\" for=\"{{ toggleId }}\">{{ label }}</label>\r\n <hermes-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n hermesToggle\r\n id=\"{{ toggleId }}\"\r\n [(ngModel)]=\"toggleState\"\r\n (ngModelChange)=\"onToggleStateChanged(toggleState)\"\r\n [attr.disabled]=\"disabled\"\r\n />\r\n </hermes-checkbox-wrapper>\r\n</div>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { AppfxTabsModule } from '@hermes-ui/angular/addons/tabs';\r\nimport { AppfxWorkflowCoreModule } from '@hermes-ui/angular/addons/var';\r\nimport { HermesCheckboxModule } from '@hermes-ui/angular/forms/checkbox';\r\nimport { HermesModalModule } from '@hermes-ui/angular/modal';\r\n\r\nimport { DialogHeaderComponent } from './multi-page-dialog-header.component';\r\nimport { DialogComponent } from './multi-page-dialog.component';\r\nimport { ToggleComponent } from './toggle-component/toggle.component';\r\n\r\nconst components = [DialogComponent, DialogHeaderComponent, ToggleComponent];\r\n\r\n@NgModule({\r\n imports: [\r\n AppfxTabsModule,\r\n AppfxWorkflowCoreModule,\r\n HermesCheckboxModule,\r\n HermesModalModule,\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ],\r\n declarations: [...components],\r\n exports: [...components],\r\n})\r\nexport class AppfxMultiPageDialogModule {}\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 { DialogComponent, notDisplayedError } from './multi-page-dialog.component';\r\nexport {\r\n /**\r\n * @deprecated Use DialogComponent import instead.\r\n */\r\n DialogComponent as Dialog,\r\n} from './multi-page-dialog.component';\r\nexport { DialogHeaderComponent } from './multi-page-dialog-header.component';\r\nexport {\r\n /**\r\n * @deprecated Use DialogHeaderComponent import instead.\r\n */\r\n DialogHeaderComponent as DialogHeader,\r\n} from './multi-page-dialog-header.component';\r\nexport { DefaultButton, DialogOptions, ModalSize } from './multi-page-dialog.model';\r\nexport { AppfxMultiPageDialogModule } from './multi-page-dialog.module';\r\nexport { ToggleComponent } from './toggle-component/toggle.component';\r\nexport {\r\n /**\r\n * @deprecated Use ToggleComponent import instead.\r\n */\r\n ToggleComponent as Toggle,\r\n} from './toggle-component/toggle.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
|
@@ -292,14 +292,14 @@ class MenuComponent extends NestedMenu {
|
|
|
292
292
|
}
|
|
293
293
|
ngAfterContentInit() {
|
|
294
294
|
this.menuItems.changes.subscribe(() => {
|
|
295
|
-
throw new Error(`Dear developer.
|
|
296
|
-
|
|
297
|
-
You see this error because the set of menu items has changed.
|
|
298
|
-
|
|
299
|
-
Usually, adding or removing an item is causing the menu to shrink or expand suddenly, which is considered a bad UX.
|
|
300
|
-
|
|
301
|
-
Please don't try to avoid the error by delaying the opening of the menu. It's going to degrade the performance.
|
|
302
|
-
|
|
295
|
+
throw new Error(`Dear developer.
|
|
296
|
+
|
|
297
|
+
You see this error because the set of menu items has changed.
|
|
298
|
+
|
|
299
|
+
Usually, adding or removing an item is causing the menu to shrink or expand suddenly, which is considered a bad UX.
|
|
300
|
+
|
|
301
|
+
Please don't try to avoid the error by delaying the opening of the menu. It's going to degrade the performance.
|
|
302
|
+
|
|
303
303
|
Instead, show all items and disable those, which are unavailable asynchronously.`);
|
|
304
304
|
});
|
|
305
305
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-ui-angular-addons-menu.mjs","sources":["../../../addons/menu/a11y/focusable-item-provider.ts","../../../addons/menu/a11y/focusable-dropdown-item.directive.ts","../../../addons/menu/a11y/focusable-item-collector.component.ts","../../../addons/menu/a11y/focusable-menu.directive.ts","../../../addons/menu/menu-outlet/menu-outlet.service.ts","../../../addons/menu/menu-outlet/menu-outlet.component.ts","../../../addons/menu/model/menu-item.token.ts","../../../addons/menu/model/nested-menu.ts","../../../addons/menu/menu.component.ts","../../../addons/menu/menu.component.html","../../../addons/menu/model/menu-action.component.ts","../../../addons/menu/model/menu-header.component.ts","../../../addons/menu/model/menu-separator.component.ts","../../../addons/menu/appfx-menu.module.ts","../../../addons/menu/index.ts","../../../addons/menu/hermes-ui-angular-addons-menu.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\n/**\r\n * Used as token for querying a list of heterogeneous implementations.\r\n */\r\nexport abstract class FocusableItemProvider {\r\n abstract getFocusableItem(): any;\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 { Directive } from '@angular/core';\nimport { HermesDropdownItem } from '@hermes-ui/angular/popover/dropdown';\n\nimport { HermesDropdownItemPrivate } from './clarity-private/dropdown-item';\nimport { FocusableItemProvider } from './focusable-item-provider';\n\n@Directive({\n selector: '[hermesDropdownItem][appfxFocusableDropdownItem]',\n standalone: false,\n providers: [{ provide: FocusableItemProvider, useExisting: FocusableDropdownItemDirective }],\n})\n/**\n * Pulls out the FocusableItem instance associated with a hermesDropdownItem.\n */\nexport class FocusableDropdownItemDirective implements FocusableItemProvider {\n constructor(private menu: HermesDropdownItem) {}\n\n getFocusableItem(): any {\n return (this.menu as unknown as HermesDropdownItemPrivate).focusableItem;\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 { AfterContentInit, Component, ContentChildren, Input, QueryList } from '@angular/core';\nimport { HermesDropdownMenu } from '@hermes-ui/angular/popover/dropdown';\n\nimport { HermesDropdownMenuPrivate } from './clarity-private/dropdown-menu';\nimport { FocusableItemProvider } from './focusable-item-provider';\n\n@Component({\n selector: 'focusable-item-collector',\n standalone: false,\n template: '<ng-content></ng-content>',\n})\n/**\n * Does the job of the parent HermesDropdownMenu which isn't able to collect the child FocusableItems\n * because they are not in the content but in a nested template. see menu.component.html\n */\nexport class FocusableItemCollectorComponent implements AfterContentInit {\n @Input() parentMenu: HermesDropdownMenu;\n\n @ContentChildren(FocusableItemProvider, { descendants: true }) items: QueryList<FocusableItemProvider>;\n\n ngAfterContentInit(): void {\n const focusHandler = (this.parentMenu as unknown as HermesDropdownMenuPrivate).focusHandler;\n const originalAddChildren = focusHandler.addChildren;\n\n //overrides the addChildren as it's called with empty array and overrides the value we pass.\n focusHandler.addChildren = () => {};\n //the code here is the same as in HermesDropdownMenu.ngAfterContentInit\n this.items.changes.subscribe(() =>\n originalAddChildren.call(\n focusHandler,\n this.items.map(item => item.getFocusableItem())\n )\n );\n this.items.notifyOnChanges();\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, inject } from '@angular/core';\nimport { HermesDropdownMenu } from '@hermes-ui/angular/popover/dropdown';\n\nimport { HermesDropdownMenuPrivate } from './clarity-private/dropdown-menu';\nimport { FocusableItemProvider } from './focusable-item-provider';\n\n@Directive({\n selector: 'hermes-dropdown-menu[appfxFocusableMenu]',\n standalone: false,\n providers: [{ provide: FocusableItemProvider, useExisting: FocusableMenuDirective }],\n})\n/**\n * Pulls out the FocusableItem instance associated with a hermes-dropdown-menu.\n */\nexport class FocusableMenuDirective implements FocusableItemProvider {\n private menu: HermesDropdownMenu = inject(HermesDropdownMenu);\n\n getFocusableItem(): any {\n return (this.menu as unknown as HermesDropdownMenuPrivate).focusHandler;\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 { ComponentRef, Injectable } from '@angular/core';\r\n\r\nimport { Menu } from '../menu.interface';\r\nimport { MenuOutlet } from './menu-outlet';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n/**\r\n * Exposes an imperative way to display a menu.\r\n */\r\nexport class MenuOutletService {\r\n menuOutlet: MenuOutlet;\r\n\r\n /**\r\n * Shows and attaches the menu component.\r\n */\r\n showMenu(menuComponentRef: ComponentRef<Menu>, e: Event, x: number, y: number, trigger?: HTMLElement): void {\r\n this.menuOutlet.attachMenu(menuComponentRef);\r\n menuComponentRef.instance.show(e, x, y, trigger);\r\n menuComponentRef.instance.closed.subscribe(() => this.closeMenu());\r\n }\r\n\r\n /**\r\n * Closes and detaches the menu component\r\n */\r\n closeMenu(): void {\r\n this.menuOutlet.detachMenu();\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, ComponentRef, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\n\r\nimport { MenuOutlet } from './menu-outlet';\r\nimport { MenuOutletService } from './menu-outlet.service';\r\n\r\n@Component({\r\n selector: 'menu-outlet',\r\n standalone: false,\r\n template: ` <ng-container #vc></ng-container>`,\r\n})\r\n/**\r\n * Determines the location of a menu shown through instance of MenuOutletService.\r\n */\r\nexport class MenuOutletComponent implements MenuOutlet, OnInit {\r\n @ViewChild('vc', { read: ViewContainerRef }) vc: ViewContainerRef;\r\n\r\n constructor(private menuOutletService: MenuOutletService) {}\r\n\r\n ngOnInit(): void {\r\n this.menuOutletService.menuOutlet = this;\r\n }\r\n\r\n /**\r\n * Adds the menu component to the component's container.\r\n */\r\n attachMenu(menuComponentRef: ComponentRef<any>): void {\r\n this.vc.clear();\r\n this.vc.insert(menuComponentRef.hostView);\r\n menuComponentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n /**\r\n * Removes to menu component from the component's container.\r\n */\r\n detachMenu(): void {\r\n this.vc.clear();\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\n/**\r\n * Base class for all items that can be shown as children of a menu.\r\n * Used as type injection token used to query heterogeneous list of menu items.\r\n */\r\nexport abstract class MenuItem {\r\n /**\r\n * Optional ID of the menu item.\r\n */\r\n id?: string;\r\n hidden: boolean = false;\r\n type: MenuItemType;\r\n}\r\n\r\nexport enum MenuItemType {\r\n action,\r\n separator,\r\n header,\r\n menu,\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 { MenuItem, MenuItemType } from './menu-item.token';\r\n\r\n/**\r\n * A MenuItem where multiple menuItems can be nested.\r\n */\r\nexport class NestedMenu extends MenuItem {\r\n override type = MenuItemType.menu;\r\n\r\n text?: string;\r\n\r\n iconClass?: string;\r\n\r\n menuItems: Iterable<MenuItem>;\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\n/* eslint-disable @typescript-eslint/member-ordering */\n\nimport {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport { ZoomLevel, ZoomLevelService } from '@hermes-ui/angular/addons/a11y';\nimport type { HermesPopoverPoint } from '@hermes-ui/angular/popover/common';\nimport { HermesDropdown } from '@hermes-ui/angular/popover/dropdown';\nimport { Subscription } from 'rxjs';\nimport { first } from 'rxjs/operators';\n\nimport { Menu } from './menu.interface';\nimport { MenuActionComponent } from './model/menu-action.component';\nimport { MenuItem, MenuItemType } from './model/menu-item.token';\nimport { NestedMenu } from './model/nested-menu';\n\n@Component({\n selector: 'appfx-menu',\n standalone: false,\n templateUrl: 'menu.component.html',\n styleUrls: ['menu.component.scss'],\n providers: [\n {\n provide: MenuItem,\n useExisting: forwardRef(() => MenuComponent),\n },\n ],\n})\n/**\n * A contextual menu based on `hermes-dropdown`\n *\n * The notable features added on top of the generic `hermes-dropdown` and describe in further details below are:\n * + positioning based on anchor point instead of anchor button\n * + positioning and scrolling taking into account an encompassing container which in the primary use-case is the viewport\n * + domain specific declarative interface instead of custom HTML markup\n */\nexport class MenuComponent extends NestedMenu implements Menu, OnInit, OnDestroy, AfterContentInit {\n private trigger?: HTMLElement;\n\n private openingEvent: Event;\n\n itemTypes = MenuItemType;\n\n anchorPoint: HermesPopoverPoint = { x: 0, y: 0 };\n\n /**\n * The text that will be displayed as label of a nested menu\n */\n @Input() declare text: string;\n\n @Output() opened: EventEmitter<void> = new EventEmitter<void>();\n\n @Output() closed: EventEmitter<void> = new EventEmitter<void>();\n\n @ViewChild(HermesDropdown) dropdown: HermesDropdown;\n\n @ViewChild(HermesDropdown, { read: ElementRef }) dropdownElRef: ElementRef<HTMLElement>;\n\n @ContentChildren(MenuItem) declare menuItems: QueryList<MenuItem>;\n\n currentZoomLevel: ZoomLevel;\n ZoomLevel = ZoomLevel;\n\n private subscriptions = new Subscription();\n\n constructor(\n private cdr: ChangeDetectorRef,\n @Optional() private zoomLevelService?: ZoomLevelService\n ) {\n super();\n }\n\n ngOnInit(): void {\n if (!this.zoomLevelService) {\n return;\n }\n this.subscriptions.add(\n this.zoomLevelService.onChange.subscribe((zoomLevel: ZoomLevel) => {\n const prevZoomLevel = this.currentZoomLevel;\n this.currentZoomLevel = zoomLevel;\n\n // Close the action menu if zoom happens.\n // The user will need to reopen it in which case the menu calculations\n // will be done and it will be displayed correctly.\n if (prevZoomLevel !== undefined && prevZoomLevel !== this.currentZoomLevel) {\n this.closed.emit();\n }\n this.cdr.detectChanges();\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subscriptions.unsubscribe();\n }\n\n show(e: Event, x: number, y: number, trigger?: HTMLElement): void {\n this.trigger = trigger;\n this.anchorPoint = { x, y };\n this.dropdown.popoverService.openChange.pipe(first(open => !open)).subscribe(() => {\n this.trigger?.focus();\n this.closed.emit();\n });\n this.dropdown.popoverService.openChange.pipe(first(open => open)).subscribe(() => this.opened.emit());\n this.dropdown.openAtPoint(this.anchorPoint, trigger);\n this.dropdown.popoverService.openEvent = e;\n this.openingEvent = e;\n }\n\n ngAfterContentInit(): void {\n this.menuItems.changes.subscribe(() => {\n throw new Error(\n `Dear developer.\n\n You see this error because the set of menu items has changed.\n\n Usually, adding or removing an item is causing the menu to shrink or expand suddenly, which is considered a bad UX.\n\n Please don't try to avoid the error by delaying the opening of the menu. It's going to degrade the performance.\n\n Instead, show all items and disable those, which are unavailable asynchronously.`\n );\n });\n }\n\n close(e: Event): void {\n if (this.dropdown.popoverService.open) {\n this.dropdown.popoverService.toggleWithEvent(e);\n }\n }\n\n handleAction(actionItem: MenuActionComponent): void {\n if (actionItem.enabled) {\n if (this.trigger) {\n this.trigger.focus();\n }\n actionItem.handle.next();\n }\n }\n\n @HostListener('document:contextmenu', ['$event'])\n documentContextMenu(event: Event): void {\n if (this.dropdownElRef.nativeElement.contains(event.target as Node) || event === this.openingEvent) {\n //if the contextmenu event is within the menu or\n //the event is the one opening the menu\n //then do nothing\n event.preventDefault();\n } else {\n //if the contextmenu is outside close the menu to prevent showing multiple menus\n this.close(event);\n }\n }\n\n protected menuHasIcons(menuItems: Iterable<MenuItem>): boolean {\n for (const item of menuItems) {\n if ((item as any).iconClass) {\n return true;\n }\n }\n\n return false;\n }\n\n protected getIconClass(iconClass: string, menuHasIcons: boolean): string {\n if (iconClass) {\n return iconClass;\n }\n\n if (menuHasIcons) {\n return 'no-icon-item';\n }\n\n return '';\n }\n}\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n<hermes-dropdown class=\"app-menu\" [class.zoom4x]=\"currentZoomLevel === ZoomLevel.x4\">\r\n <!-- hidden hermesDropdownTrigger so the DropdownFocusHandler is instantiated before HermesDropdownMenu-->\r\n <!-- otherwise DropdownFocusHandler will miss the openChange emission and won't move the focus to the first item -->\r\n <button class=\"appfx-menu-trigger\" hermesDropdownTrigger></button>\r\n <hermes-dropdown-menu #rootDropdownMenu *hermesIfOpen [class.fullscreen]=\"currentZoomLevel === ZoomLevel.x4\">\r\n <ng-template\r\n #menuTemplate\r\n let-items\r\n let-hasIcons=\"hasIcons\"\r\n let-parentMenu=\"parentMenu\"\r\n let-parentDropdown=\"parentDropdown\"\r\n let-parentText=\"parentText\"\r\n >\r\n <div class=\"scrollable-content\">\r\n <focusable-item-collector [parentMenu]=\"parentMenu\">\r\n <ng-container *ngIf=\"parentMenu !== rootDropdownMenu && currentZoomLevel === ZoomLevel.x4\">\r\n <div class=\"dropdown-header\" aria-hidden=\"true\">\r\n <button class=\"btn-close-submenu\" (click)=\"parentDropdown.popoverService.toggleWithEvent($event)\">\r\n <hermes-icon size=\"18\" shape=\"angle\" direction=\"left\"></hermes-icon>\r\n </button>\r\n <span class=\"submenu-header-text\">{{ parentText }}</span>\r\n <button type=\"button\" class=\"close\" (click)=\"this.close($event)\">\r\n <hermes-icon class=\"btn-close-menu\" shape=\"window-close\"></hermes-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let menuItem of $any(items)\" [ngSwitch]=\"menuItem.type\">\r\n <ng-container *ngIf=\"!menuItem.hidden\">\r\n <!-- header item template -->\r\n <div *ngSwitchCase=\"itemTypes.header\" class=\"dropdown-header\" aria-hidden=\"true\">\r\n <span class=\"menu-item-icon\" [ngClass]=\"menuItem.iconClass\"></span>\r\n <span class=\"title-text\">{{ menuItem.text }}</span>\r\n <button\r\n *ngIf=\"currentZoomLevel === ZoomLevel.x4\"\r\n type=\"button\"\r\n class=\"close\"\r\n (click)=\"this.close($event)\"\r\n >\r\n <hermes-icon class=\"btn-close-menu\" shape=\"window-close\"></hermes-icon>\r\n </button>\r\n </div>\r\n\r\n <!-- action item template -->\r\n <button\r\n *ngSwitchCase=\"itemTypes.action\"\r\n hermesDropdownItem\r\n appfxFocusableDropdownItem\r\n [hermesDisabled]=\"!menuItem.enabled\"\r\n (click)=\"handleAction(menuItem)\"\r\n class=\"menu-item-action\"\r\n [attr.data-test-id]=\"menuItem.text\"\r\n >\r\n <span class=\"menu-item-icon\" [ngClass]=\"getIconClass(menuItem.iconClass, hasIcons)\"></span>\r\n <span class=\"menu-item-text\">{{ menuItem.text }}</span>\r\n <span class=\"menu-item-shortcut\">{{ menuItem.shortcut }}</span>\r\n </button>\r\n\r\n <!-- separator item template -->\r\n <div\r\n *ngSwitchCase=\"itemTypes.separator\"\r\n class=\"dropdown-divider\"\r\n role=\"separator\"\r\n aria-hidden=\"true\"\r\n ></div>\r\n\r\n <!-- nested menu item template -->\r\n <ng-container *ngSwitchCase=\"itemTypes.menu\">\r\n <hermes-dropdown #nestedDropdown>\r\n <button hermesDropdownTrigger>\r\n <span class=\"menu-item-icon\" [ngClass]=\"getIconClass(menuItem.iconClass, hasIcons)\"></span\r\n >{{ menuItem.text }}\r\n </button>\r\n <hermes-dropdown-menu\r\n #nestedDropdownMenu\r\n appfxFocusableMenu\r\n [class.fullscreen]=\"currentZoomLevel === ZoomLevel.x4\"\r\n >\r\n <ng-template\r\n [ngTemplateOutlet]=\"menuTemplate\"\r\n [ngTemplateOutletContext]=\"{\r\n $implicit: menuItem.menuItems,\r\n hasIcons: menuHasIcons(menuItem.menuItems),\r\n parentMenu: nestedDropdownMenu,\r\n parentDropdown: nestedDropdown,\r\n parentText: menuItem.text,\r\n }\"\r\n >\r\n </ng-template>\r\n </hermes-dropdown-menu>\r\n </hermes-dropdown>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </focusable-item-collector>\r\n </div>\r\n </ng-template>\r\n <ng-container\r\n [ngTemplateOutlet]=\"menuTemplate\"\r\n [ngTemplateOutletContext]=\"{\r\n $implicit: menuItems,\r\n hasIcons: menuHasIcons(menuItems),\r\n parentMenu: rootDropdownMenu,\r\n parentDropdown: dropdown,\r\n parentText: text,\r\n }\"\r\n >\r\n </ng-container>\r\n </hermes-dropdown-menu>\r\n</hermes-dropdown>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\r\n\r\nimport { MenuItem, MenuItemType } from './menu-item.token';\r\n\r\n@Component({\r\n selector: 'appfx-menu-action',\r\n standalone: false,\r\n template: '',\r\n providers: [\r\n {\r\n provide: MenuItem,\r\n useExisting: forwardRef(() => MenuActionComponent),\r\n },\r\n ],\r\n})\r\nexport class MenuActionComponent extends MenuItem {\r\n override type = MenuItemType.action;\r\n\r\n @Input() iconClass?: string;\r\n\r\n @Input() text?: string;\r\n\r\n @Input() shortcut?: string;\r\n\r\n @Input() enabled?: boolean = true;\r\n\r\n @Output() handle: EventEmitter<void> = new EventEmitter<void>(true);\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, forwardRef, Input } from '@angular/core';\r\n\r\nimport { MenuItem, MenuItemType } from './menu-item.token';\r\n\r\n@Component({\r\n selector: 'appfx-menu-header',\r\n standalone: false,\r\n template: '',\r\n providers: [\r\n {\r\n provide: MenuItem,\r\n useExisting: forwardRef(() => MenuHeaderComponent),\r\n },\r\n ],\r\n})\r\nexport class MenuHeaderComponent extends MenuItem {\r\n override type = MenuItemType.header;\r\n\r\n @Input() iconClass: string;\r\n\r\n @Input() text: string;\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, forwardRef } from '@angular/core';\r\n\r\nimport { MenuItem, MenuItemType } from './menu-item.token';\r\n\r\n@Component({\r\n selector: 'appfx-menu-separator',\r\n standalone: false,\r\n template: '',\r\n providers: [\r\n {\r\n provide: MenuItem,\r\n useExisting: forwardRef(() => MenuSeparatorComponent),\r\n },\r\n ],\r\n})\r\nexport class MenuSeparatorComponent extends MenuItem {\r\n override type = MenuItemType.separator;\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 } from '@angular/core';\nimport { ZoomLevelService } from '@hermes-ui/angular/addons/a11y';\nimport { HermesDropdownModule } from '@hermes-ui/angular/popover/dropdown';\n\nimport { FocusableDropdownItemDirective } from './a11y/focusable-dropdown-item.directive';\nimport { FocusableItemCollectorComponent } from './a11y/focusable-item-collector.component';\nimport { FocusableMenuDirective } from './a11y/focusable-menu.directive';\nimport { MenuOutletComponent } from './menu-outlet/menu-outlet.component';\nimport { MenuComponent } from './menu.component';\nimport { MenuActionComponent } from './model/menu-action.component';\nimport { MenuHeaderComponent } from './model/menu-header.component';\nimport { MenuSeparatorComponent } from './model/menu-separator.component';\n\n@NgModule({\n imports: [HermesDropdownModule, CommonModule],\n declarations: [\n FocusableDropdownItemDirective,\n FocusableItemCollectorComponent,\n FocusableMenuDirective,\n MenuActionComponent,\n MenuComponent,\n MenuHeaderComponent,\n MenuOutletComponent,\n MenuSeparatorComponent,\n ],\n providers: [\n // Enable 200% and 400% zoom support\n ZoomLevelService,\n ],\n exports: [MenuActionComponent, MenuComponent, MenuHeaderComponent, MenuOutletComponent, MenuSeparatorComponent],\n})\nexport class AppfxMenuModule {}\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 { AppfxMenuModule } from './appfx-menu.module';\r\nexport { MenuComponent } from './menu.component';\r\nexport { Menu } from './menu.interface';\r\nexport { MenuOutletComponent } from './menu-outlet/menu-outlet.component';\r\nexport { MenuOutletService } from './menu-outlet/menu-outlet.service';\r\nexport { MenuActionComponent } from './model/menu-action.component';\r\nexport { MenuHeaderComponent } from './model/menu-header.component';\r\nexport { MenuItem, MenuItemType } from './model/menu-item.token';\r\nexport { MenuSeparatorComponent } from './model/menu-separator.component';\r\nexport { NestedMenu } from './model/nested-menu';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.MenuOutletService","i6.FocusableDropdownItemDirective","i7.FocusableItemCollectorComponent","i8.FocusableMenuDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-addons-menu.mjs","sources":["../../../addons/menu/a11y/focusable-item-provider.ts","../../../addons/menu/a11y/focusable-dropdown-item.directive.ts","../../../addons/menu/a11y/focusable-item-collector.component.ts","../../../addons/menu/a11y/focusable-menu.directive.ts","../../../addons/menu/menu-outlet/menu-outlet.service.ts","../../../addons/menu/menu-outlet/menu-outlet.component.ts","../../../addons/menu/model/menu-item.token.ts","../../../addons/menu/model/nested-menu.ts","../../../addons/menu/menu.component.ts","../../../addons/menu/menu.component.html","../../../addons/menu/model/menu-action.component.ts","../../../addons/menu/model/menu-header.component.ts","../../../addons/menu/model/menu-separator.component.ts","../../../addons/menu/appfx-menu.module.ts","../../../addons/menu/index.ts","../../../addons/menu/hermes-ui-angular-addons-menu.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\n/**\r\n * Used as token for querying a list of heterogeneous implementations.\r\n */\r\nexport abstract class FocusableItemProvider {\r\n abstract getFocusableItem(): any;\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 } from '@angular/core';\r\nimport { HermesDropdownItem } from '@hermes-ui/angular/popover/dropdown';\r\n\r\nimport { HermesDropdownItemPrivate } from './clarity-private/dropdown-item';\r\nimport { FocusableItemProvider } from './focusable-item-provider';\r\n\r\n@Directive({\r\n selector: '[hermesDropdownItem][appfxFocusableDropdownItem]',\r\n standalone: false,\r\n providers: [{ provide: FocusableItemProvider, useExisting: FocusableDropdownItemDirective }],\r\n})\r\n/**\r\n * Pulls out the FocusableItem instance associated with a hermesDropdownItem.\r\n */\r\nexport class FocusableDropdownItemDirective implements FocusableItemProvider {\r\n constructor(private menu: HermesDropdownItem) {}\r\n\r\n getFocusableItem(): any {\r\n return (this.menu as unknown as HermesDropdownItemPrivate).focusableItem;\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 { AfterContentInit, Component, ContentChildren, Input, QueryList } from '@angular/core';\r\nimport { HermesDropdownMenu } from '@hermes-ui/angular/popover/dropdown';\r\n\r\nimport { HermesDropdownMenuPrivate } from './clarity-private/dropdown-menu';\r\nimport { FocusableItemProvider } from './focusable-item-provider';\r\n\r\n@Component({\r\n selector: 'focusable-item-collector',\r\n standalone: false,\r\n template: '<ng-content></ng-content>',\r\n})\r\n/**\r\n * Does the job of the parent HermesDropdownMenu which isn't able to collect the child FocusableItems\r\n * because they are not in the content but in a nested template. see menu.component.html\r\n */\r\nexport class FocusableItemCollectorComponent implements AfterContentInit {\r\n @Input() parentMenu: HermesDropdownMenu;\r\n\r\n @ContentChildren(FocusableItemProvider, { descendants: true }) items: QueryList<FocusableItemProvider>;\r\n\r\n ngAfterContentInit(): void {\r\n const focusHandler = (this.parentMenu as unknown as HermesDropdownMenuPrivate).focusHandler;\r\n const originalAddChildren = focusHandler.addChildren;\r\n\r\n //overrides the addChildren as it's called with empty array and overrides the value we pass.\r\n focusHandler.addChildren = () => {};\r\n //the code here is the same as in HermesDropdownMenu.ngAfterContentInit\r\n this.items.changes.subscribe(() =>\r\n originalAddChildren.call(\r\n focusHandler,\r\n this.items.map(item => item.getFocusableItem())\r\n )\r\n );\r\n this.items.notifyOnChanges();\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, inject } from '@angular/core';\r\nimport { HermesDropdownMenu } from '@hermes-ui/angular/popover/dropdown';\r\n\r\nimport { HermesDropdownMenuPrivate } from './clarity-private/dropdown-menu';\r\nimport { FocusableItemProvider } from './focusable-item-provider';\r\n\r\n@Directive({\r\n selector: 'hermes-dropdown-menu[appfxFocusableMenu]',\r\n standalone: false,\r\n providers: [{ provide: FocusableItemProvider, useExisting: FocusableMenuDirective }],\r\n})\r\n/**\r\n * Pulls out the FocusableItem instance associated with a hermes-dropdown-menu.\r\n */\r\nexport class FocusableMenuDirective implements FocusableItemProvider {\r\n private menu: HermesDropdownMenu = inject(HermesDropdownMenu);\r\n\r\n getFocusableItem(): any {\r\n return (this.menu as unknown as HermesDropdownMenuPrivate).focusHandler;\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 { ComponentRef, Injectable } from '@angular/core';\r\n\r\nimport { Menu } from '../menu.interface';\r\nimport { MenuOutlet } from './menu-outlet';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n/**\r\n * Exposes an imperative way to display a menu.\r\n */\r\nexport class MenuOutletService {\r\n menuOutlet: MenuOutlet;\r\n\r\n /**\r\n * Shows and attaches the menu component.\r\n */\r\n showMenu(menuComponentRef: ComponentRef<Menu>, e: Event, x: number, y: number, trigger?: HTMLElement): void {\r\n this.menuOutlet.attachMenu(menuComponentRef);\r\n menuComponentRef.instance.show(e, x, y, trigger);\r\n menuComponentRef.instance.closed.subscribe(() => this.closeMenu());\r\n }\r\n\r\n /**\r\n * Closes and detaches the menu component\r\n */\r\n closeMenu(): void {\r\n this.menuOutlet.detachMenu();\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, ComponentRef, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\r\n\r\nimport { MenuOutlet } from './menu-outlet';\r\nimport { MenuOutletService } from './menu-outlet.service';\r\n\r\n@Component({\r\n selector: 'menu-outlet',\r\n standalone: false,\r\n template: ` <ng-container #vc></ng-container>`,\r\n})\r\n/**\r\n * Determines the location of a menu shown through instance of MenuOutletService.\r\n */\r\nexport class MenuOutletComponent implements MenuOutlet, OnInit {\r\n @ViewChild('vc', { read: ViewContainerRef }) vc: ViewContainerRef;\r\n\r\n constructor(private menuOutletService: MenuOutletService) {}\r\n\r\n ngOnInit(): void {\r\n this.menuOutletService.menuOutlet = this;\r\n }\r\n\r\n /**\r\n * Adds the menu component to the component's container.\r\n */\r\n attachMenu(menuComponentRef: ComponentRef<any>): void {\r\n this.vc.clear();\r\n this.vc.insert(menuComponentRef.hostView);\r\n menuComponentRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n /**\r\n * Removes to menu component from the component's container.\r\n */\r\n detachMenu(): void {\r\n this.vc.clear();\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\n/**\r\n * Base class for all items that can be shown as children of a menu.\r\n * Used as type injection token used to query heterogeneous list of menu items.\r\n */\r\nexport abstract class MenuItem {\r\n /**\r\n * Optional ID of the menu item.\r\n */\r\n id?: string;\r\n hidden: boolean = false;\r\n type: MenuItemType;\r\n}\r\n\r\nexport enum MenuItemType {\r\n action,\r\n separator,\r\n header,\r\n menu,\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 { MenuItem, MenuItemType } from './menu-item.token';\r\n\r\n/**\r\n * A MenuItem where multiple menuItems can be nested.\r\n */\r\nexport class NestedMenu extends MenuItem {\r\n override type = MenuItemType.menu;\r\n\r\n text?: string;\r\n\r\n iconClass?: string;\r\n\r\n menuItems: Iterable<MenuItem>;\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\n/* eslint-disable @typescript-eslint/member-ordering */\r\n\r\nimport {\r\n AfterContentInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n QueryList,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { ZoomLevel, ZoomLevelService } from '@hermes-ui/angular/addons/a11y';\r\nimport type { HermesPopoverPoint } from '@hermes-ui/angular/popover/common';\r\nimport { HermesDropdown } from '@hermes-ui/angular/popover/dropdown';\r\nimport { Subscription } from 'rxjs';\r\nimport { first } from 'rxjs/operators';\r\n\r\nimport { Menu } from './menu.interface';\r\nimport { MenuActionComponent } from './model/menu-action.component';\r\nimport { MenuItem, MenuItemType } from './model/menu-item.token';\r\nimport { NestedMenu } from './model/nested-menu';\r\n\r\n@Component({\r\n selector: 'appfx-menu',\r\n standalone: false,\r\n templateUrl: 'menu.component.html',\r\n styleUrls: ['menu.component.scss'],\r\n providers: [\r\n {\r\n provide: MenuItem,\r\n useExisting: forwardRef(() => MenuComponent),\r\n },\r\n ],\r\n})\r\n/**\r\n * A contextual menu based on `hermes-dropdown`\r\n *\r\n * The notable features added on top of the generic `hermes-dropdown` and describe in further details below are:\r\n * + positioning based on anchor point instead of anchor button\r\n * + positioning and scrolling taking into account an encompassing container which in the primary use-case is the viewport\r\n * + domain specific declarative interface instead of custom HTML markup\r\n */\r\nexport class MenuComponent extends NestedMenu implements Menu, OnInit, OnDestroy, AfterContentInit {\r\n private trigger?: HTMLElement;\r\n\r\n private openingEvent: Event;\r\n\r\n itemTypes = MenuItemType;\r\n\r\n anchorPoint: HermesPopoverPoint = { x: 0, y: 0 };\r\n\r\n /**\r\n * The text that will be displayed as label of a nested menu\r\n */\r\n @Input() declare text: string;\r\n\r\n @Output() opened: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output() closed: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @ViewChild(HermesDropdown) dropdown: HermesDropdown;\r\n\r\n @ViewChild(HermesDropdown, { read: ElementRef }) dropdownElRef: ElementRef<HTMLElement>;\r\n\r\n @ContentChildren(MenuItem) declare menuItems: QueryList<MenuItem>;\r\n\r\n currentZoomLevel: ZoomLevel;\r\n ZoomLevel = ZoomLevel;\r\n\r\n private subscriptions = new Subscription();\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n @Optional() private zoomLevelService?: ZoomLevelService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.zoomLevelService) {\r\n return;\r\n }\r\n this.subscriptions.add(\r\n this.zoomLevelService.onChange.subscribe((zoomLevel: ZoomLevel) => {\r\n const prevZoomLevel = this.currentZoomLevel;\r\n this.currentZoomLevel = zoomLevel;\r\n\r\n // Close the action menu if zoom happens.\r\n // The user will need to reopen it in which case the menu calculations\r\n // will be done and it will be displayed correctly.\r\n if (prevZoomLevel !== undefined && prevZoomLevel !== this.currentZoomLevel) {\r\n this.closed.emit();\r\n }\r\n this.cdr.detectChanges();\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n show(e: Event, x: number, y: number, trigger?: HTMLElement): void {\r\n this.trigger = trigger;\r\n this.anchorPoint = { x, y };\r\n this.dropdown.popoverService.openChange.pipe(first(open => !open)).subscribe(() => {\r\n this.trigger?.focus();\r\n this.closed.emit();\r\n });\r\n this.dropdown.popoverService.openChange.pipe(first(open => open)).subscribe(() => this.opened.emit());\r\n this.dropdown.openAtPoint(this.anchorPoint, trigger);\r\n this.dropdown.popoverService.openEvent = e;\r\n this.openingEvent = e;\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.menuItems.changes.subscribe(() => {\r\n throw new Error(\r\n `Dear developer.\r\n\r\n You see this error because the set of menu items has changed.\r\n\r\n Usually, adding or removing an item is causing the menu to shrink or expand suddenly, which is considered a bad UX.\r\n\r\n Please don't try to avoid the error by delaying the opening of the menu. It's going to degrade the performance.\r\n\r\n Instead, show all items and disable those, which are unavailable asynchronously.`\r\n );\r\n });\r\n }\r\n\r\n close(e: Event): void {\r\n if (this.dropdown.popoverService.open) {\r\n this.dropdown.popoverService.toggleWithEvent(e);\r\n }\r\n }\r\n\r\n handleAction(actionItem: MenuActionComponent): void {\r\n if (actionItem.enabled) {\r\n if (this.trigger) {\r\n this.trigger.focus();\r\n }\r\n actionItem.handle.next();\r\n }\r\n }\r\n\r\n @HostListener('document:contextmenu', ['$event'])\r\n documentContextMenu(event: Event): void {\r\n if (this.dropdownElRef.nativeElement.contains(event.target as Node) || event === this.openingEvent) {\r\n //if the contextmenu event is within the menu or\r\n //the event is the one opening the menu\r\n //then do nothing\r\n event.preventDefault();\r\n } else {\r\n //if the contextmenu is outside close the menu to prevent showing multiple menus\r\n this.close(event);\r\n }\r\n }\r\n\r\n protected menuHasIcons(menuItems: Iterable<MenuItem>): boolean {\r\n for (const item of menuItems) {\r\n if ((item as any).iconClass) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n protected getIconClass(iconClass: string, menuHasIcons: boolean): string {\r\n if (iconClass) {\r\n return iconClass;\r\n }\r\n\r\n if (menuHasIcons) {\r\n return 'no-icon-item';\r\n }\r\n\r\n return '';\r\n }\r\n}\r\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n<hermes-dropdown class=\"app-menu\" [class.zoom4x]=\"currentZoomLevel === ZoomLevel.x4\">\r\n <!-- hidden hermesDropdownTrigger so the DropdownFocusHandler is instantiated before HermesDropdownMenu-->\r\n <!-- otherwise DropdownFocusHandler will miss the openChange emission and won't move the focus to the first item -->\r\n <button class=\"appfx-menu-trigger\" hermesDropdownTrigger></button>\r\n <hermes-dropdown-menu #rootDropdownMenu *hermesIfOpen [class.fullscreen]=\"currentZoomLevel === ZoomLevel.x4\">\r\n <ng-template\r\n #menuTemplate\r\n let-items\r\n let-hasIcons=\"hasIcons\"\r\n let-parentMenu=\"parentMenu\"\r\n let-parentDropdown=\"parentDropdown\"\r\n let-parentText=\"parentText\"\r\n >\r\n <div class=\"scrollable-content\">\r\n <focusable-item-collector [parentMenu]=\"parentMenu\">\r\n <ng-container *ngIf=\"parentMenu !== rootDropdownMenu && currentZoomLevel === ZoomLevel.x4\">\r\n <div class=\"dropdown-header\" aria-hidden=\"true\">\r\n <button class=\"btn-close-submenu\" (click)=\"parentDropdown.popoverService.toggleWithEvent($event)\">\r\n <hermes-icon size=\"18\" shape=\"angle\" direction=\"left\"></hermes-icon>\r\n </button>\r\n <span class=\"submenu-header-text\">{{ parentText }}</span>\r\n <button type=\"button\" class=\"close\" (click)=\"this.close($event)\">\r\n <hermes-icon class=\"btn-close-menu\" shape=\"window-close\"></hermes-icon>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngFor=\"let menuItem of $any(items)\" [ngSwitch]=\"menuItem.type\">\r\n <ng-container *ngIf=\"!menuItem.hidden\">\r\n <!-- header item template -->\r\n <div *ngSwitchCase=\"itemTypes.header\" class=\"dropdown-header\" aria-hidden=\"true\">\r\n <span class=\"menu-item-icon\" [ngClass]=\"menuItem.iconClass\"></span>\r\n <span class=\"title-text\">{{ menuItem.text }}</span>\r\n <button\r\n *ngIf=\"currentZoomLevel === ZoomLevel.x4\"\r\n type=\"button\"\r\n class=\"close\"\r\n (click)=\"this.close($event)\"\r\n >\r\n <hermes-icon class=\"btn-close-menu\" shape=\"window-close\"></hermes-icon>\r\n </button>\r\n </div>\r\n\r\n <!-- action item template -->\r\n <button\r\n *ngSwitchCase=\"itemTypes.action\"\r\n hermesDropdownItem\r\n appfxFocusableDropdownItem\r\n [hermesDisabled]=\"!menuItem.enabled\"\r\n (click)=\"handleAction(menuItem)\"\r\n class=\"menu-item-action\"\r\n [attr.data-test-id]=\"menuItem.text\"\r\n >\r\n <span class=\"menu-item-icon\" [ngClass]=\"getIconClass(menuItem.iconClass, hasIcons)\"></span>\r\n <span class=\"menu-item-text\">{{ menuItem.text }}</span>\r\n <span class=\"menu-item-shortcut\">{{ menuItem.shortcut }}</span>\r\n </button>\r\n\r\n <!-- separator item template -->\r\n <div\r\n *ngSwitchCase=\"itemTypes.separator\"\r\n class=\"dropdown-divider\"\r\n role=\"separator\"\r\n aria-hidden=\"true\"\r\n ></div>\r\n\r\n <!-- nested menu item template -->\r\n <ng-container *ngSwitchCase=\"itemTypes.menu\">\r\n <hermes-dropdown #nestedDropdown>\r\n <button hermesDropdownTrigger>\r\n <span class=\"menu-item-icon\" [ngClass]=\"getIconClass(menuItem.iconClass, hasIcons)\"></span\r\n >{{ menuItem.text }}\r\n </button>\r\n <hermes-dropdown-menu\r\n #nestedDropdownMenu\r\n appfxFocusableMenu\r\n [class.fullscreen]=\"currentZoomLevel === ZoomLevel.x4\"\r\n >\r\n <ng-template\r\n [ngTemplateOutlet]=\"menuTemplate\"\r\n [ngTemplateOutletContext]=\"{\r\n $implicit: menuItem.menuItems,\r\n hasIcons: menuHasIcons(menuItem.menuItems),\r\n parentMenu: nestedDropdownMenu,\r\n parentDropdown: nestedDropdown,\r\n parentText: menuItem.text,\r\n }\"\r\n >\r\n </ng-template>\r\n </hermes-dropdown-menu>\r\n </hermes-dropdown>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </focusable-item-collector>\r\n </div>\r\n </ng-template>\r\n <ng-container\r\n [ngTemplateOutlet]=\"menuTemplate\"\r\n [ngTemplateOutletContext]=\"{\r\n $implicit: menuItems,\r\n hasIcons: menuHasIcons(menuItems),\r\n parentMenu: rootDropdownMenu,\r\n parentDropdown: dropdown,\r\n parentText: text,\r\n }\"\r\n >\r\n </ng-container>\r\n </hermes-dropdown-menu>\r\n</hermes-dropdown>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\r\n\r\nimport { MenuItem, MenuItemType } from './menu-item.token';\r\n\r\n@Component({\r\n selector: 'appfx-menu-action',\r\n standalone: false,\r\n template: '',\r\n providers: [\r\n {\r\n provide: MenuItem,\r\n useExisting: forwardRef(() => MenuActionComponent),\r\n },\r\n ],\r\n})\r\nexport class MenuActionComponent extends MenuItem {\r\n override type = MenuItemType.action;\r\n\r\n @Input() iconClass?: string;\r\n\r\n @Input() text?: string;\r\n\r\n @Input() shortcut?: string;\r\n\r\n @Input() enabled?: boolean = true;\r\n\r\n @Output() handle: EventEmitter<void> = new EventEmitter<void>(true);\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, forwardRef, Input } from '@angular/core';\r\n\r\nimport { MenuItem, MenuItemType } from './menu-item.token';\r\n\r\n@Component({\r\n selector: 'appfx-menu-header',\r\n standalone: false,\r\n template: '',\r\n providers: [\r\n {\r\n provide: MenuItem,\r\n useExisting: forwardRef(() => MenuHeaderComponent),\r\n },\r\n ],\r\n})\r\nexport class MenuHeaderComponent extends MenuItem {\r\n override type = MenuItemType.header;\r\n\r\n @Input() iconClass: string;\r\n\r\n @Input() text: string;\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, forwardRef } from '@angular/core';\r\n\r\nimport { MenuItem, MenuItemType } from './menu-item.token';\r\n\r\n@Component({\r\n selector: 'appfx-menu-separator',\r\n standalone: false,\r\n template: '',\r\n providers: [\r\n {\r\n provide: MenuItem,\r\n useExisting: forwardRef(() => MenuSeparatorComponent),\r\n },\r\n ],\r\n})\r\nexport class MenuSeparatorComponent extends MenuItem {\r\n override type = MenuItemType.separator;\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 } from '@angular/core';\r\nimport { ZoomLevelService } from '@hermes-ui/angular/addons/a11y';\r\nimport { HermesDropdownModule } from '@hermes-ui/angular/popover/dropdown';\r\n\r\nimport { FocusableDropdownItemDirective } from './a11y/focusable-dropdown-item.directive';\r\nimport { FocusableItemCollectorComponent } from './a11y/focusable-item-collector.component';\r\nimport { FocusableMenuDirective } from './a11y/focusable-menu.directive';\r\nimport { MenuOutletComponent } from './menu-outlet/menu-outlet.component';\r\nimport { MenuComponent } from './menu.component';\r\nimport { MenuActionComponent } from './model/menu-action.component';\r\nimport { MenuHeaderComponent } from './model/menu-header.component';\r\nimport { MenuSeparatorComponent } from './model/menu-separator.component';\r\n\r\n@NgModule({\r\n imports: [HermesDropdownModule, CommonModule],\r\n declarations: [\r\n FocusableDropdownItemDirective,\r\n FocusableItemCollectorComponent,\r\n FocusableMenuDirective,\r\n MenuActionComponent,\r\n MenuComponent,\r\n MenuHeaderComponent,\r\n MenuOutletComponent,\r\n MenuSeparatorComponent,\r\n ],\r\n providers: [\r\n // Enable 200% and 400% zoom support\r\n ZoomLevelService,\r\n ],\r\n exports: [MenuActionComponent, MenuComponent, MenuHeaderComponent, MenuOutletComponent, MenuSeparatorComponent],\r\n})\r\nexport class AppfxMenuModule {}\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 { AppfxMenuModule } from './appfx-menu.module';\r\nexport { MenuComponent } from './menu.component';\r\nexport { Menu } from './menu.interface';\r\nexport { MenuOutletComponent } from './menu-outlet/menu-outlet.component';\r\nexport { MenuOutletService } from './menu-outlet/menu-outlet.service';\r\nexport { MenuActionComponent } from './model/menu-action.component';\r\nexport { MenuHeaderComponent } from './model/menu-header.component';\r\nexport { MenuItem, MenuItemType } from './model/menu-item.token';\r\nexport { MenuSeparatorComponent } from './model/menu-separator.component';\r\nexport { NestedMenu } from './model/nested-menu';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.MenuOutletService","i6.FocusableDropdownItemDirective","i7.FocusableItemCollectorComponent","i8.FocusableMenuDirective"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import * as i2$1 from '@hermes-ui/angular/popover/dropdown';
|
|
|
7
7
|
import { HermesDropdownModule } from '@hermes-ui/angular/popover/dropdown';
|
|
8
8
|
import * as i3$1 from '@hermes-ui/angular/popover/common';
|
|
9
9
|
import * as i4 from '@hermes-ui/angular/icon';
|
|
10
|
-
import {
|
|
10
|
+
import { HermesIcons, angleIcon } from '@hermes-ui/angular/icon';
|
|
11
11
|
import * as i2 from '@hermes-ui/angular/addons/a11y';
|
|
12
12
|
import { ZoomLevel } from '@hermes-ui/angular/addons/a11y';
|
|
13
13
|
|
|
@@ -1083,7 +1083,7 @@ function pvStringsServiceFactory(existing) {
|
|
|
1083
1083
|
}
|
|
1084
1084
|
class AppfxPropertyViewModule {
|
|
1085
1085
|
constructor() {
|
|
1086
|
-
|
|
1086
|
+
HermesIcons.addIcons(angleIcon);
|
|
1087
1087
|
}
|
|
1088
1088
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AppfxPropertyViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1089
1089
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: AppfxPropertyViewModule, declarations: [PropertyViewCategoryComponent,
|