@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-button.mjs","sources":["../../../button/providers/button-in-group.service.ts","../../../button/button-group/button.ts","../../../button/providers/button-group-focus.enum.ts","../../../button/providers/button-group-focus-handler.service.ts","../../../button/button-group/button-group.ts","../../../button/button-group/button-group.html","../../../button/button-group/button-group.module.ts","../../../button/button-loading/loading-button.ts","../../../button/button-loading/loading-button.module.ts","../../../button/button.module.ts","../../../button/button-group/index.ts","../../../button/button-loading/index.ts","../../../button/index.ts","../../../button/hermes-ui-angular-button.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { HermesButton } from '../button-group/button';\r\n\r\n@Injectable()\r\nexport class ButtonInGroupService {\r\n private _changes = new Subject<HermesButton>();\r\n\r\n get changes(): Observable<HermesButton> {\r\n return this._changes.asObservable();\r\n }\r\n\r\n updateButtonGroup(button: HermesButton): void {\r\n this._changes.next(button);\r\n }\r\n}\r\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, EventEmitter, Input, Optional, Output, SkipSelf, TemplateRef, ViewChild } from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { HermesLoadingState, LoadingListener, uniqueIdFactory } from '@hermes-ui/angular/utils';\n\nimport { ButtonInGroupService } from '../providers/button-in-group.service';\n\n@Component({\n selector: 'hermes-button',\n template: `\n <ng-template #buttonProjectedRef>\n <button\n [class]=\"classNames\"\n (click)=\"emitClick()\"\n [attr.type]=\"type\"\n [attr.name]=\"name\"\n [attr.disabled]=\"disabled\"\n [attr.role]=\"role\"\n [attr.id]=\"id\"\n >\n @if (loading) {\n <span class=\"spinner spinner-inline\"></span>\n }\n <ng-content></ng-content>\n </button>\n </ng-template>\n `,\n providers: [{ provide: LoadingListener, useExisting: HermesButton }],\n standalone: false,\n})\nexport class HermesButton implements LoadingListener {\n @Output('click') _click = new EventEmitter<boolean>(false);\n @Input('routerLinkActive') routerLinkActiveClasses: string;\n\n @ViewChild('buttonProjectedRef', { static: true }) templateRef: TemplateRef<HermesButton>;\n\n loading: boolean;\n\n private _inMenu = false;\n private _enableService = false;\n private _classNames = 'btn';\n private _name: string = null;\n private _type: string = null;\n private _disabled: any = null;\n private _id: string = uniqueIdFactory();\n\n constructor(\n @Optional() private readonly routerLinkActive: RouterLinkActive,\n @SkipSelf() @Optional() public buttonInGroupService: ButtonInGroupService\n ) {}\n\n @Input('hermesInMenu')\n get inMenu(): boolean {\n return this._inMenu;\n }\n set inMenu(value: boolean) {\n value = !!value;\n if (this._inMenu !== value) {\n this._inMenu = value;\n // We check if the service flag is enabled\n // and if the service exists because the service is optional\n if (this._enableService && this.buttonInGroupService) {\n this.buttonInGroupService.updateButtonGroup(this);\n }\n }\n }\n\n @Input('class')\n get classNames(): string {\n return this.routerLinkActive?.isActive ? `${this._classNames} ${this.routerLinkActiveClasses}` : this._classNames;\n }\n set classNames(value: string) {\n if (typeof value === 'string') {\n const classNames: string[] = value.split(' ');\n if (classNames.indexOf('btn') === -1) {\n classNames.push('btn');\n }\n this._classNames = classNames.join(' ');\n }\n }\n\n @Input('name')\n get name(): string {\n return this._name;\n }\n set name(value: string) {\n if (typeof value === 'string') {\n this._name = value;\n }\n }\n\n @Input('type')\n get type(): string {\n return this._type;\n }\n set type(value: string) {\n if (typeof value === 'string') {\n this._type = value;\n }\n }\n\n @Input('id')\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n if (typeof value === 'string') {\n this._id = value;\n }\n }\n\n @Input('disabled')\n get disabled(): any {\n return this._disabled;\n }\n set disabled(value: any) {\n if (value !== null && value !== false) {\n this._disabled = '';\n } else {\n this._disabled = null;\n }\n }\n\n get role(): string {\n return this.inMenu ? 'menuitem' : null;\n }\n\n ngAfterViewInit() {\n this._enableService = true;\n }\n\n loadingStateChange(state: HermesLoadingState): void {\n this.loading = state === HermesLoadingState.LOADING;\n }\n\n emitClick(): void {\n this._click.emit(true);\n }\n}\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport enum InitialFocus {\r\n FIRST_ITEM = 'first',\r\n LAST_ITEM = 'last',\r\n}\r\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable, Renderer2 } from '@angular/core';\nimport { HermesPopoverService } from '@hermes-ui/angular/popover/common';\nimport { FocusableItem, FocusService, Linkers } from '@hermes-ui/angular/utils';\n\nimport { InitialFocus } from './button-group-focus.enum';\n@Injectable()\nexport class ButtonGroupFocusHandler {\n initialFocus: InitialFocus = InitialFocus.FIRST_ITEM;\n\n private menu: HTMLElement;\n private menuToggle: HTMLElement;\n private buttons: FocusableItem[];\n private _unlistenFuncs: (() => void)[] = [];\n\n constructor(\n private focusService: FocusService,\n private popoverService: HermesPopoverService,\n private renderer: Renderer2\n ) {}\n\n ngOnDestroy() {\n this._unlistenFuncs.forEach((unlisten: () => void) => unlisten());\n this.focusService.detachListeners(this.menu);\n }\n\n initialize({ menu, menuToggle }: { menu: HTMLElement; menuToggle: HTMLElement }) {\n this.menu = menu;\n this.menuToggle = menuToggle;\n\n this.focusService.registerContainer(this.menu);\n this.listenToKeys();\n this.linkButtons();\n\n switch (this.initialFocus) {\n case InitialFocus.LAST_ITEM:\n this.focusLastItem();\n break;\n default:\n this.focusFirstItem();\n break;\n }\n }\n\n private resetButtonsFocus() {\n this.buttons.forEach(button => {\n button.blur();\n });\n }\n\n private listenToKeys() {\n this._unlistenFuncs.push(\n this.renderer.listen(this.menu, 'keydown.shift.tab', event => this.closeMenu(event, false))\n );\n this._unlistenFuncs.push(this.renderer.listen(this.menu, 'keydown.tab', event => this.closeMenu(event, true)));\n }\n\n private closeMenu(event: KeyboardEvent, focusBackOnToggle: boolean) {\n this.popoverService.toggleWithEvent(event);\n if (focusBackOnToggle) {\n this.menuToggle.focus();\n }\n this.resetButtonsFocus();\n }\n\n private linkButtons() {\n const buttonElements = Array.from(this.menu.children) as HTMLElement[];\n this.buttons = buttonElements.map<FocusableItem>(buttonElement => {\n this._unlistenFuncs.push(this.renderer.listen(buttonElement, 'click', event => this.closeMenu(event, true)));\n return {\n id: buttonElement.id,\n value: buttonElement,\n focus: () => {\n buttonElement.setAttribute('tabindex', '0');\n buttonElement.focus();\n },\n blur: () => {\n buttonElement.setAttribute('tabindex', '-1');\n buttonElement.blur();\n },\n };\n });\n this.resetButtonsFocus();\n Linkers.linkVertical(this.buttons);\n }\n\n private focusFirstItem(): void {\n if (this.buttons.length) {\n this.focusService.moveTo(this.buttons[0]);\n }\n this.initialFocus = InitialFocus.FIRST_ITEM;\n }\n\n private focusLastItem(): void {\n if (this.buttons.length) {\n this.focusService.moveTo(this.buttons[this.buttons.length - 1]);\n }\n this.initialFocus = InitialFocus.FIRST_ITEM;\n }\n}\n\nexport const BUTTON_GROUP_FOCUS_HANDLER_PROVIDER = {\n provide: ButtonGroupFocusHandler,\n};\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n AfterContentInit,\n AfterViewInit,\n Component,\n ContentChildren,\n ElementRef,\n Input,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport {\n HermesPopoverHostDirective,\n HermesPopoverPosition,\n HermesPopoverService,\n HermesPopoverType,\n DROPDOWN_POSITIONS,\n} from '@hermes-ui/angular/popover/common';\nimport {\n HermesCommonStringsService,\n HermesDestroyService,\n FOCUS_SERVICE_PROVIDER,\n uniqueIdFactory,\n} from '@hermes-ui/angular/utils';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { HermesButton } from './button';\nimport {\n BUTTON_GROUP_FOCUS_HANDLER_PROVIDER,\n ButtonGroupFocusHandler,\n} from '../providers/button-group-focus-handler.service';\nimport { InitialFocus } from '../providers/button-group-focus.enum';\nimport { ButtonInGroupService } from '../providers/button-in-group.service';\n\n@Component({\n selector: 'hermes-button-group',\n templateUrl: 'button-group.html',\n providers: [ButtonInGroupService, HermesDestroyService, BUTTON_GROUP_FOCUS_HANDLER_PROVIDER, FOCUS_SERVICE_PROVIDER],\n hostDirectives: [HermesPopoverHostDirective],\n host: { '[class.btn-group]': 'true' },\n standalone: false,\n})\nexport class HermesButtonGroup implements AfterContentInit, AfterViewInit {\n @Input('hermesToggleButtonAriaLabel') hermesToggleButtonAriaLabel: string = this.commonStrings.keys.rowActions;\n\n @ViewChild('menuToggle') menuToggle: ElementRef<HTMLElement>;\n @ViewChild('menu') menu: ElementRef<HTMLElement>;\n\n @ContentChildren(HermesButton) buttons: QueryList<HermesButton>;\n\n popoverId = uniqueIdFactory();\n InitialFocus = InitialFocus;\n\n inlineButtons: HermesButton[] = [];\n menuButtons: HermesButton[] = [];\n protected popoverType = HermesPopoverType.DROPDOWN;\n private _menuPosition = HermesPopoverPosition.BOTTOM_LEFT;\n\n constructor(\n public buttonGroupNewService: ButtonInGroupService,\n private popoverService: HermesPopoverService,\n public commonStrings: HermesCommonStringsService,\n private destroy$: HermesDestroyService,\n private focusHandler: ButtonGroupFocusHandler\n ) {}\n\n @Input('hermesMenuPosition')\n get menuPosition(): HermesPopoverPosition {\n return this._menuPosition;\n }\n set menuPosition(pos: HermesPopoverPosition | string) {\n if (!pos) {\n return;\n }\n\n const posIndex = DROPDOWN_POSITIONS.indexOf(pos as HermesPopoverPosition);\n\n if (posIndex === -1) {\n return;\n }\n\n this._menuPosition = DROPDOWN_POSITIONS[posIndex];\n }\n\n get open() {\n return this.popoverService.open;\n }\n\n /**\n * 1. Initializes the initial Button Group View\n * 2. Subscribes to changes on the ContentChildren\n * in case the user content projection changes\n */\n ngAfterContentInit() {\n this.initializeButtons();\n this.buttonGroupNewService.changes.pipe(takeUntil(this.destroy$)).subscribe(button => this.rearrangeButton(button));\n this.buttons.changes.subscribe(() => {\n this.initializeButtons();\n });\n }\n\n ngAfterViewInit() {\n this.handleFocusOnMenuOpen();\n }\n\n /**\n * Moves the button into the other ViewContainer\n * when an update is received.\n *\n * @param button\n */\n rearrangeButton(button: HermesButton): void {\n let fromView: HermesButton[];\n let toView: HermesButton[];\n if (button.inMenu) {\n fromView = this.inlineButtons;\n toView = this.menuButtons;\n } else {\n fromView = this.menuButtons;\n toView = this.inlineButtons;\n }\n const index: number = fromView.indexOf(button);\n if (index > -1) {\n fromView.splice(index, 1);\n const moveIndex = this.getMoveIndex(button);\n if (moveIndex <= toView.length) {\n toView.splice(moveIndex, 0, button);\n }\n }\n }\n\n openMenu(event: Event, initialFocus: InitialFocus) {\n this.focusHandler.initialFocus = initialFocus;\n if (!this.popoverService.open) {\n this.popoverService.toggleWithEvent(event);\n }\n }\n\n /**\n * Author: Eudes\n *\n * Finds the order of a button w.r.t other buttons\n *\n * @param buttonToMove\n * @returns\n */\n getMoveIndex(buttonToMove: HermesButton): number {\n const tempArr: HermesButton[] = this.buttons.filter(button => button.inMenu === buttonToMove.inMenu);\n return tempArr.indexOf(buttonToMove);\n }\n\n initializeButtons(): void {\n const tempInlineButtons: HermesButton[] = [];\n const tempInMenuButtons: HermesButton[] = [];\n this.buttons.forEach(button => {\n if (button.inMenu) {\n tempInMenuButtons.push(button);\n } else {\n tempInlineButtons.push(button);\n }\n });\n this.inlineButtons = tempInlineButtons;\n this.menuButtons = tempInMenuButtons;\n }\n\n private handleFocusOnMenuOpen() {\n this.popoverService.popoverVisible.pipe(takeUntil(this.destroy$)).subscribe(visible => {\n // `menu` sits on the element carrying *hermesPopoverContent, so the query only\n // resolves once that embedded view has been created and change detection has\n // refreshed it. popoverVisible fires from a setTimeout inside showOverlay(), which\n // is normally late enough - but not guaranteed to be, so dereferencing either\n // ElementRef unguarded can throw and abort this handler.\n if (!visible || !this.menu || !this.menuToggle) {\n return;\n }\n\n this.focusHandler.initialize({\n menu: this.menu.nativeElement,\n menuToggle: this.menuToggle.nativeElement,\n });\n });\n }\n}\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@for (inlineButton of inlineButtons; track inlineButton) {\r\n<ng-template [ngTemplateOutlet]=\"inlineButton.templateRef\"></ng-template>\r\n} @if (menuButtons.length > 0) {\r\n<div class=\"btn-group-overflow open\" [ngClass]=\"menuPosition\">\r\n <button\r\n #menuToggle\r\n class=\"btn dropdown-toggle\"\r\n hermesPopoverOrigin\r\n hermesPopoverOpenCloseButton\r\n (keydown.arrowup)=\"openMenu($event, InitialFocus.LAST_ITEM)\"\r\n (keydown.arrowdown)=\"openMenu($event, InitialFocus.FIRST_ITEM)\"\r\n [attr.aria-controls]=\"popoverId\"\r\n [attr.aria-expanded]=\"open\"\r\n [attr.aria-label]=\"hermesToggleButtonAriaLabel\"\r\n >\r\n <hermes-icon shape=\"ellipsis-horizontal\" [attr.title]=\"commonStrings.keys.more\"></hermes-icon>\r\n </button>\r\n <div\r\n #menu\r\n role=\"menu\"\r\n class=\"dropdown-menu hermes-button-group-menu\"\r\n [id]=\"popoverId\"\r\n [attr.id]=\"popoverId\"\r\n [attr.aria-hidden]=\"!open\"\r\n *hermesPopoverContent=\"open; at menuPosition; type: popoverType; outsideClickToClose: true; scrollToClose: true\"\r\n >\r\n @for (menuButton of menuButtons; track menuButton) {\r\n <ng-template [ngTemplateOutlet]=\"menuButton.templateRef\"></ng-template>\r\n }\r\n </div>\r\n</div>\r\n}\r\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { HermesIcon } from '@hermes-ui/angular/icon';\nimport { HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';\n\nimport { HermesButton } from './button';\nimport { HermesButtonGroup } from './button-group';\n\nexport const HERMES_BUTTON_GROUP_DIRECTIVES: Type<any>[] = [HermesButton, HermesButtonGroup];\n\n@NgModule({\n imports: [CommonModule, HermesIcon, HermesPopoverModuleNext],\n declarations: [HERMES_BUTTON_GROUP_DIRECTIVES],\n exports: [HERMES_BUTTON_GROUP_DIRECTIVES],\n})\nexport class HermesButtonGroupModule {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { animate, keyframes, style, transition, trigger } from '@angular/animations';\nimport { Component, ElementRef, EventEmitter, Input, Output, Renderer2 } from '@angular/core';\nimport { HermesLoadingState, LoadingListener } from '@hermes-ui/angular/utils';\n\n// minimum width to fit loading spinner\nconst MIN_BUTTON_WIDTH = 42;\n\n@Component({\n selector: 'button[hermesLoading]',\n template: `\n <span @parent>\n @switch (state) {\n @case (buttonState.LOADING) {\n <span @spinner class=\"spinner spinner-inline\"></span>\n }\n @case (buttonState.SUCCESS) {\n <span\n @validated\n (@validated.done)=\"this.loadingStateChange(this.buttonState.DEFAULT)\"\n class=\"spinner spinner-inline spinner-check\"\n ></span>\n }\n @case (buttonState.DEFAULT) {\n <span @defaultButton class=\"hermes-loading-btn-content\">\n <ng-content></ng-content>\n </span>\n }\n }\n </span>\n `,\n providers: [{ provide: LoadingListener, useExisting: HermesLoadingButton }],\n animations: [\n trigger('parent', [\n // Skip :enter animation on first render.\n // The button text/content should only be faded when transitioning to or from a non-default state.\n transition(':enter', []),\n ]),\n trigger('defaultButton', [\n transition(':enter', [style({ opacity: 0 }), animate('200ms 100ms ease-in', style({ opacity: 1 }))]),\n // TODO: see if we can get leave animation to work before spinner's enter animation\n transition(':leave', [style({ opacity: 0 })]),\n ]),\n trigger('spinner', [\n transition(':enter', [style({ opacity: 0 }), animate('200ms 100ms ease-in', style({ opacity: 1 }))]),\n transition(':leave', [style({ opacity: 1 }), animate('100ms ease-out', style({ opacity: 0 }))]),\n ]),\n trigger('validated', [\n transition(':enter', [\n animate(\n '600ms',\n keyframes([\n style({ transform: 'scale(0,0)', offset: 0 }),\n style({ opacity: 1, offset: 0.2 }),\n style({ transform: 'scale(1.2,1.2)', offset: 0.4 }),\n style({ transform: 'scale(.9,.9)', offset: 0.6 }),\n style({ transform: 'scale(1,1)', offset: 1 }),\n ])\n ),\n ]),\n transition(':leave', [style({ opacity: 1 }), animate('100ms ease-out', style({ opacity: 0 }))]),\n ]),\n ],\n host: { '[attr.disabled]': \"disabled? '' : null\" },\n standalone: false,\n})\nexport class HermesLoadingButton implements LoadingListener {\n @Input('disabled') disabled: boolean;\n\n @Output('hermesLoadingChange') hermesLoadingChange = new EventEmitter<HermesLoadingState>(false);\n\n buttonState = HermesLoadingState;\n state: HermesLoadingState = HermesLoadingState.DEFAULT;\n\n constructor(\n public el: ElementRef<HTMLButtonElement>,\n private renderer: Renderer2\n ) {}\n\n loadingStateChange(state: HermesLoadingState): void {\n if (state === this.state) {\n return;\n }\n this.state = state;\n\n switch (state) {\n case HermesLoadingState.DEFAULT:\n this.renderer.removeStyle(this.el.nativeElement, 'width');\n this.renderer.removeStyle(this.el.nativeElement, 'transform'); // for chromium render bug see issue https://github.com/vmware/clarity/issues/2700\n if (!this.disabled) {\n this.renderer.removeAttribute(this.el.nativeElement, 'disabled');\n }\n break;\n case HermesLoadingState.LOADING:\n this.setExplicitButtonWidth();\n this.renderer.setStyle(this.el.nativeElement, 'transform', 'translatez(0)'); // for chromium render bug see issue https://github.com/vmware/clarity/issues/2700\n this.renderer.setAttribute(this.el.nativeElement, 'disabled', '');\n break;\n case HermesLoadingState.SUCCESS:\n this.setExplicitButtonWidth();\n break;\n case HermesLoadingState.ERROR:\n this.loadingStateChange(HermesLoadingState.DEFAULT);\n break;\n default:\n break;\n }\n this.hermesLoadingChange.emit(state);\n }\n\n private setExplicitButtonWidth() {\n if (this.el.nativeElement && this.el.nativeElement.getBoundingClientRect) {\n const boundingClientRect = this.el.nativeElement.getBoundingClientRect();\n const width = Math.max(MIN_BUTTON_WIDTH, boundingClientRect.width);\n this.renderer.setStyle(this.el.nativeElement, 'width', `${width}px`);\n }\n }\n}\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule, Type } from '@angular/core';\r\n\r\nimport { HermesLoadingButton } from './loading-button';\r\n\r\nexport const HERMES_LOADING_BUTTON_DIRECTIVES: Type<any>[] = [HermesLoadingButton];\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [HERMES_LOADING_BUTTON_DIRECTIVES],\r\n exports: [HERMES_LOADING_BUTTON_DIRECTIVES],\r\n})\r\nexport class HermesLoadingButtonModule {}\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 { NgModule } from '@angular/core';\nimport { ClarityIcons, ellipsisHorizontalIcon } from '@hermes-ui/angular/icon';\n\nimport { HermesButtonGroupModule } from './button-group/button-group.module';\nimport { HermesLoadingButtonModule } from './button-loading/loading-button.module';\n\n@NgModule({\n exports: [HermesLoadingButtonModule, HermesButtonGroupModule],\n})\nexport class HermesButtonModule {\n constructor() {\n ClarityIcons.addIcons(ellipsisHorizontalIcon);\n }\n}\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport * from './button';\r\nexport * from './button-group';\r\nexport * from './button-group.module';\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport * from './loading-button';\r\nexport * from './loading-button.module';\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport * from './button.module';\r\nexport * from './button-group/index';\r\nexport * from './button-loading/index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.ButtonInGroupService","i1","i1.ButtonInGroupService","i4.ButtonGroupFocusHandler"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-button.mjs","sources":["../../../button/providers/button-in-group.service.ts","../../../button/button-group/button.ts","../../../button/providers/button-group-focus.enum.ts","../../../button/providers/button-group-focus-handler.service.ts","../../../button/button-group/button-group.ts","../../../button/button-group/button-group.html","../../../button/button-group/button-group.module.ts","../../../button/button-loading/loading-button.ts","../../../button/button-loading/loading-button.module.ts","../../../button/button.module.ts","../../../button/button-group/index.ts","../../../button/button-loading/index.ts","../../../button/index.ts","../../../button/hermes-ui-angular-button.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { HermesButton } from '../button-group/button';\r\n\r\n@Injectable()\r\nexport class ButtonInGroupService {\r\n private _changes = new Subject<HermesButton>();\r\n\r\n get changes(): Observable<HermesButton> {\r\n return this._changes.asObservable();\r\n }\r\n\r\n updateButtonGroup(button: HermesButton): void {\r\n this._changes.next(button);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, EventEmitter, Input, Optional, Output, SkipSelf, TemplateRef, ViewChild } from '@angular/core';\r\nimport { RouterLinkActive } from '@angular/router';\r\nimport { HermesLoadingState, LoadingListener, uniqueIdFactory } from '@hermes-ui/angular/utils';\r\n\r\nimport { ButtonInGroupService } from '../providers/button-in-group.service';\r\n\r\n@Component({\r\n selector: 'hermes-button',\r\n template: `\r\n <ng-template #buttonProjectedRef>\r\n <button\r\n [class]=\"classNames\"\r\n (click)=\"emitClick()\"\r\n [attr.type]=\"type\"\r\n [attr.name]=\"name\"\r\n [attr.disabled]=\"disabled\"\r\n [attr.role]=\"role\"\r\n [attr.id]=\"id\"\r\n >\r\n @if (loading) {\r\n <span class=\"spinner spinner-inline\"></span>\r\n }\r\n <ng-content></ng-content>\r\n </button>\r\n </ng-template>\r\n `,\r\n providers: [{ provide: LoadingListener, useExisting: HermesButton }],\r\n standalone: false,\r\n})\r\nexport class HermesButton implements LoadingListener {\r\n @Output('click') _click = new EventEmitter<boolean>(false);\r\n @Input('routerLinkActive') routerLinkActiveClasses: string;\r\n\r\n @ViewChild('buttonProjectedRef', { static: true }) templateRef: TemplateRef<HermesButton>;\r\n\r\n loading: boolean;\r\n\r\n private _inMenu = false;\r\n private _enableService = false;\r\n private _classNames = 'btn';\r\n private _name: string = null;\r\n private _type: string = null;\r\n private _disabled: any = null;\r\n private _id: string = uniqueIdFactory();\r\n\r\n constructor(\r\n @Optional() private readonly routerLinkActive: RouterLinkActive,\r\n @SkipSelf() @Optional() public buttonInGroupService: ButtonInGroupService\r\n ) {}\r\n\r\n @Input('hermesInMenu')\r\n get inMenu(): boolean {\r\n return this._inMenu;\r\n }\r\n set inMenu(value: boolean) {\r\n value = !!value;\r\n if (this._inMenu !== value) {\r\n this._inMenu = value;\r\n // We check if the service flag is enabled\r\n // and if the service exists because the service is optional\r\n if (this._enableService && this.buttonInGroupService) {\r\n this.buttonInGroupService.updateButtonGroup(this);\r\n }\r\n }\r\n }\r\n\r\n @Input('class')\r\n get classNames(): string {\r\n return this.routerLinkActive?.isActive ? `${this._classNames} ${this.routerLinkActiveClasses}` : this._classNames;\r\n }\r\n set classNames(value: string) {\r\n if (typeof value === 'string') {\r\n const classNames: string[] = value.split(' ');\r\n if (classNames.indexOf('btn') === -1) {\r\n classNames.push('btn');\r\n }\r\n this._classNames = classNames.join(' ');\r\n }\r\n }\r\n\r\n @Input('name')\r\n get name(): string {\r\n return this._name;\r\n }\r\n set name(value: string) {\r\n if (typeof value === 'string') {\r\n this._name = value;\r\n }\r\n }\r\n\r\n @Input('type')\r\n get type(): string {\r\n return this._type;\r\n }\r\n set type(value: string) {\r\n if (typeof value === 'string') {\r\n this._type = value;\r\n }\r\n }\r\n\r\n @Input('id')\r\n get id(): string {\r\n return this._id;\r\n }\r\n set id(value: string) {\r\n if (typeof value === 'string') {\r\n this._id = value;\r\n }\r\n }\r\n\r\n @Input('disabled')\r\n get disabled(): any {\r\n return this._disabled;\r\n }\r\n set disabled(value: any) {\r\n if (value !== null && value !== false) {\r\n this._disabled = '';\r\n } else {\r\n this._disabled = null;\r\n }\r\n }\r\n\r\n get role(): string {\r\n return this.inMenu ? 'menuitem' : null;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._enableService = true;\r\n }\r\n\r\n loadingStateChange(state: HermesLoadingState): void {\r\n this.loading = state === HermesLoadingState.LOADING;\r\n }\r\n\r\n emitClick(): void {\r\n this._click.emit(true);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport enum InitialFocus {\r\n FIRST_ITEM = 'first',\r\n LAST_ITEM = 'last',\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable, Renderer2 } from '@angular/core';\r\nimport { HermesPopoverService } from '@hermes-ui/angular/popover/common';\r\nimport { FocusableItem, FocusService, Linkers } from '@hermes-ui/angular/utils';\r\n\r\nimport { InitialFocus } from './button-group-focus.enum';\r\n@Injectable()\r\nexport class ButtonGroupFocusHandler {\r\n initialFocus: InitialFocus = InitialFocus.FIRST_ITEM;\r\n\r\n private menu: HTMLElement;\r\n private menuToggle: HTMLElement;\r\n private buttons: FocusableItem[];\r\n private _unlistenFuncs: (() => void)[] = [];\r\n\r\n constructor(\r\n private focusService: FocusService,\r\n private popoverService: HermesPopoverService,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnDestroy() {\r\n this._unlistenFuncs.forEach((unlisten: () => void) => unlisten());\r\n this.focusService.detachListeners(this.menu);\r\n }\r\n\r\n initialize({ menu, menuToggle }: { menu: HTMLElement; menuToggle: HTMLElement }) {\r\n this.menu = menu;\r\n this.menuToggle = menuToggle;\r\n\r\n this.focusService.registerContainer(this.menu);\r\n this.listenToKeys();\r\n this.linkButtons();\r\n\r\n switch (this.initialFocus) {\r\n case InitialFocus.LAST_ITEM:\r\n this.focusLastItem();\r\n break;\r\n default:\r\n this.focusFirstItem();\r\n break;\r\n }\r\n }\r\n\r\n private resetButtonsFocus() {\r\n this.buttons.forEach(button => {\r\n button.blur();\r\n });\r\n }\r\n\r\n private listenToKeys() {\r\n this._unlistenFuncs.push(\r\n this.renderer.listen(this.menu, 'keydown.shift.tab', event => this.closeMenu(event, false))\r\n );\r\n this._unlistenFuncs.push(this.renderer.listen(this.menu, 'keydown.tab', event => this.closeMenu(event, true)));\r\n }\r\n\r\n private closeMenu(event: KeyboardEvent, focusBackOnToggle: boolean) {\r\n this.popoverService.toggleWithEvent(event);\r\n if (focusBackOnToggle) {\r\n this.menuToggle.focus();\r\n }\r\n this.resetButtonsFocus();\r\n }\r\n\r\n private linkButtons() {\r\n const buttonElements = Array.from(this.menu.children) as HTMLElement[];\r\n this.buttons = buttonElements.map<FocusableItem>(buttonElement => {\r\n this._unlistenFuncs.push(this.renderer.listen(buttonElement, 'click', event => this.closeMenu(event, true)));\r\n return {\r\n id: buttonElement.id,\r\n value: buttonElement,\r\n focus: () => {\r\n buttonElement.setAttribute('tabindex', '0');\r\n buttonElement.focus();\r\n },\r\n blur: () => {\r\n buttonElement.setAttribute('tabindex', '-1');\r\n buttonElement.blur();\r\n },\r\n };\r\n });\r\n this.resetButtonsFocus();\r\n Linkers.linkVertical(this.buttons);\r\n }\r\n\r\n private focusFirstItem(): void {\r\n if (this.buttons.length) {\r\n this.focusService.moveTo(this.buttons[0]);\r\n }\r\n this.initialFocus = InitialFocus.FIRST_ITEM;\r\n }\r\n\r\n private focusLastItem(): void {\r\n if (this.buttons.length) {\r\n this.focusService.moveTo(this.buttons[this.buttons.length - 1]);\r\n }\r\n this.initialFocus = InitialFocus.FIRST_ITEM;\r\n }\r\n}\r\n\r\nexport const BUTTON_GROUP_FOCUS_HANDLER_PROVIDER = {\r\n provide: ButtonGroupFocusHandler,\r\n};\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport {\r\n AfterContentInit,\r\n AfterViewInit,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n Input,\r\n QueryList,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n HermesPopoverHostDirective,\r\n HermesPopoverPosition,\r\n HermesPopoverService,\r\n HermesPopoverType,\r\n DROPDOWN_POSITIONS,\r\n} from '@hermes-ui/angular/popover/common';\r\nimport {\r\n HermesCommonStringsService,\r\n HermesDestroyService,\r\n FOCUS_SERVICE_PROVIDER,\r\n uniqueIdFactory,\r\n} from '@hermes-ui/angular/utils';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\nimport { HermesButton } from './button';\r\nimport {\r\n BUTTON_GROUP_FOCUS_HANDLER_PROVIDER,\r\n ButtonGroupFocusHandler,\r\n} from '../providers/button-group-focus-handler.service';\r\nimport { InitialFocus } from '../providers/button-group-focus.enum';\r\nimport { ButtonInGroupService } from '../providers/button-in-group.service';\r\n\r\n@Component({\r\n selector: 'hermes-button-group',\r\n templateUrl: 'button-group.html',\r\n providers: [ButtonInGroupService, HermesDestroyService, BUTTON_GROUP_FOCUS_HANDLER_PROVIDER, FOCUS_SERVICE_PROVIDER],\r\n hostDirectives: [HermesPopoverHostDirective],\r\n host: { '[class.btn-group]': 'true' },\r\n standalone: false,\r\n})\r\nexport class HermesButtonGroup implements AfterContentInit, AfterViewInit {\r\n @Input('hermesToggleButtonAriaLabel') hermesToggleButtonAriaLabel: string = this.commonStrings.keys.rowActions;\r\n\r\n @ViewChild('menuToggle') menuToggle: ElementRef<HTMLElement>;\r\n @ViewChild('menu') menu: ElementRef<HTMLElement>;\r\n\r\n @ContentChildren(HermesButton) buttons: QueryList<HermesButton>;\r\n\r\n popoverId = uniqueIdFactory();\r\n InitialFocus = InitialFocus;\r\n\r\n inlineButtons: HermesButton[] = [];\r\n menuButtons: HermesButton[] = [];\r\n protected popoverType = HermesPopoverType.DROPDOWN;\r\n private _menuPosition = HermesPopoverPosition.BOTTOM_LEFT;\r\n\r\n constructor(\r\n public buttonGroupNewService: ButtonInGroupService,\r\n private popoverService: HermesPopoverService,\r\n public commonStrings: HermesCommonStringsService,\r\n private destroy$: HermesDestroyService,\r\n private focusHandler: ButtonGroupFocusHandler\r\n ) {}\r\n\r\n @Input('hermesMenuPosition')\r\n get menuPosition(): HermesPopoverPosition {\r\n return this._menuPosition;\r\n }\r\n set menuPosition(pos: HermesPopoverPosition | string) {\r\n if (!pos) {\r\n return;\r\n }\r\n\r\n const posIndex = DROPDOWN_POSITIONS.indexOf(pos as HermesPopoverPosition);\r\n\r\n if (posIndex === -1) {\r\n return;\r\n }\r\n\r\n this._menuPosition = DROPDOWN_POSITIONS[posIndex];\r\n }\r\n\r\n get open() {\r\n return this.popoverService.open;\r\n }\r\n\r\n /**\r\n * 1. Initializes the initial Button Group View\r\n * 2. Subscribes to changes on the ContentChildren\r\n * in case the user content projection changes\r\n */\r\n ngAfterContentInit() {\r\n this.initializeButtons();\r\n this.buttonGroupNewService.changes.pipe(takeUntil(this.destroy$)).subscribe(button => this.rearrangeButton(button));\r\n this.buttons.changes.subscribe(() => {\r\n this.initializeButtons();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.handleFocusOnMenuOpen();\r\n }\r\n\r\n /**\r\n * Moves the button into the other ViewContainer\r\n * when an update is received.\r\n *\r\n * @param button\r\n */\r\n rearrangeButton(button: HermesButton): void {\r\n let fromView: HermesButton[];\r\n let toView: HermesButton[];\r\n if (button.inMenu) {\r\n fromView = this.inlineButtons;\r\n toView = this.menuButtons;\r\n } else {\r\n fromView = this.menuButtons;\r\n toView = this.inlineButtons;\r\n }\r\n const index: number = fromView.indexOf(button);\r\n if (index > -1) {\r\n fromView.splice(index, 1);\r\n const moveIndex = this.getMoveIndex(button);\r\n if (moveIndex <= toView.length) {\r\n toView.splice(moveIndex, 0, button);\r\n }\r\n }\r\n }\r\n\r\n openMenu(event: Event, initialFocus: InitialFocus) {\r\n this.focusHandler.initialFocus = initialFocus;\r\n if (!this.popoverService.open) {\r\n this.popoverService.toggleWithEvent(event);\r\n }\r\n }\r\n\r\n /**\r\n * Author: Eudes\r\n *\r\n * Finds the order of a button w.r.t other buttons\r\n *\r\n * @param buttonToMove\r\n * @returns\r\n */\r\n getMoveIndex(buttonToMove: HermesButton): number {\r\n const tempArr: HermesButton[] = this.buttons.filter(button => button.inMenu === buttonToMove.inMenu);\r\n return tempArr.indexOf(buttonToMove);\r\n }\r\n\r\n initializeButtons(): void {\r\n const tempInlineButtons: HermesButton[] = [];\r\n const tempInMenuButtons: HermesButton[] = [];\r\n this.buttons.forEach(button => {\r\n if (button.inMenu) {\r\n tempInMenuButtons.push(button);\r\n } else {\r\n tempInlineButtons.push(button);\r\n }\r\n });\r\n this.inlineButtons = tempInlineButtons;\r\n this.menuButtons = tempInMenuButtons;\r\n }\r\n\r\n private handleFocusOnMenuOpen() {\r\n this.popoverService.popoverVisible.pipe(takeUntil(this.destroy$)).subscribe(visible => {\r\n // `menu` sits on the element carrying *hermesPopoverContent, so the query only\r\n // resolves once that embedded view has been created and change detection has\r\n // refreshed it. popoverVisible fires from a setTimeout inside showOverlay(), which\r\n // is normally late enough - but not guaranteed to be, so dereferencing either\r\n // ElementRef unguarded can throw and abort this handler.\r\n if (!visible || !this.menu || !this.menuToggle) {\r\n return;\r\n }\r\n\r\n this.focusHandler.initialize({\r\n menu: this.menu.nativeElement,\r\n menuToggle: this.menuToggle.nativeElement,\r\n });\r\n });\r\n }\r\n}\r\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@for (inlineButton of inlineButtons; track inlineButton) {\r\n<ng-template [ngTemplateOutlet]=\"inlineButton.templateRef\"></ng-template>\r\n} @if (menuButtons.length > 0) {\r\n<div class=\"btn-group-overflow open\" [ngClass]=\"menuPosition\">\r\n <button\r\n #menuToggle\r\n class=\"btn dropdown-toggle\"\r\n hermesPopoverOrigin\r\n hermesPopoverOpenCloseButton\r\n (keydown.arrowup)=\"openMenu($event, InitialFocus.LAST_ITEM)\"\r\n (keydown.arrowdown)=\"openMenu($event, InitialFocus.FIRST_ITEM)\"\r\n [attr.aria-controls]=\"popoverId\"\r\n [attr.aria-expanded]=\"open\"\r\n [attr.aria-label]=\"hermesToggleButtonAriaLabel\"\r\n >\r\n <hermes-icon shape=\"ellipsis-horizontal\" [attr.title]=\"commonStrings.keys.more\"></hermes-icon>\r\n </button>\r\n <div\r\n #menu\r\n role=\"menu\"\r\n class=\"dropdown-menu hermes-button-group-menu\"\r\n [id]=\"popoverId\"\r\n [attr.id]=\"popoverId\"\r\n [attr.aria-hidden]=\"!open\"\r\n *hermesPopoverContent=\"open; at menuPosition; type: popoverType; outsideClickToClose: true; scrollToClose: true\"\r\n >\r\n @for (menuButton of menuButtons; track menuButton) {\r\n <ng-template [ngTemplateOutlet]=\"menuButton.templateRef\"></ng-template>\r\n }\r\n </div>\r\n</div>\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule, Type } from '@angular/core';\r\nimport { HermesIcon } from '@hermes-ui/angular/icon';\r\nimport { HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';\r\n\r\nimport { HermesButton } from './button';\r\nimport { HermesButtonGroup } from './button-group';\r\n\r\nexport const HERMES_BUTTON_GROUP_DIRECTIVES: Type<any>[] = [HermesButton, HermesButtonGroup];\r\n\r\n@NgModule({\r\n imports: [CommonModule, HermesIcon, HermesPopoverModuleNext],\r\n declarations: [HERMES_BUTTON_GROUP_DIRECTIVES],\r\n exports: [HERMES_BUTTON_GROUP_DIRECTIVES],\r\n})\r\nexport class HermesButtonGroupModule {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { animate, keyframes, style, transition, trigger } from '@angular/animations';\r\nimport { Component, ElementRef, EventEmitter, Input, Output, Renderer2 } from '@angular/core';\r\nimport { HermesLoadingState, LoadingListener } from '@hermes-ui/angular/utils';\r\n\r\n// minimum width to fit loading spinner\r\nconst MIN_BUTTON_WIDTH = 42;\r\n\r\n@Component({\r\n selector: 'button[hermesLoading]',\r\n template: `\r\n <span @parent>\r\n @switch (state) {\r\n @case (buttonState.LOADING) {\r\n <span @spinner class=\"spinner spinner-inline\"></span>\r\n }\r\n @case (buttonState.SUCCESS) {\r\n <span\r\n @validated\r\n (@validated.done)=\"this.loadingStateChange(this.buttonState.DEFAULT)\"\r\n class=\"spinner spinner-inline spinner-check\"\r\n ></span>\r\n }\r\n @case (buttonState.DEFAULT) {\r\n <span @defaultButton class=\"hermes-loading-btn-content\">\r\n <ng-content></ng-content>\r\n </span>\r\n }\r\n }\r\n </span>\r\n `,\r\n providers: [{ provide: LoadingListener, useExisting: HermesLoadingButton }],\r\n animations: [\r\n trigger('parent', [\r\n // Skip :enter animation on first render.\r\n // The button text/content should only be faded when transitioning to or from a non-default state.\r\n transition(':enter', []),\r\n ]),\r\n trigger('defaultButton', [\r\n transition(':enter', [style({ opacity: 0 }), animate('200ms 100ms ease-in', style({ opacity: 1 }))]),\r\n // TODO: see if we can get leave animation to work before spinner's enter animation\r\n transition(':leave', [style({ opacity: 0 })]),\r\n ]),\r\n trigger('spinner', [\r\n transition(':enter', [style({ opacity: 0 }), animate('200ms 100ms ease-in', style({ opacity: 1 }))]),\r\n transition(':leave', [style({ opacity: 1 }), animate('100ms ease-out', style({ opacity: 0 }))]),\r\n ]),\r\n trigger('validated', [\r\n transition(':enter', [\r\n animate(\r\n '600ms',\r\n keyframes([\r\n style({ transform: 'scale(0,0)', offset: 0 }),\r\n style({ opacity: 1, offset: 0.2 }),\r\n style({ transform: 'scale(1.2,1.2)', offset: 0.4 }),\r\n style({ transform: 'scale(.9,.9)', offset: 0.6 }),\r\n style({ transform: 'scale(1,1)', offset: 1 }),\r\n ])\r\n ),\r\n ]),\r\n transition(':leave', [style({ opacity: 1 }), animate('100ms ease-out', style({ opacity: 0 }))]),\r\n ]),\r\n ],\r\n host: { '[attr.disabled]': \"disabled? '' : null\" },\r\n standalone: false,\r\n})\r\nexport class HermesLoadingButton implements LoadingListener {\r\n @Input('disabled') disabled: boolean;\r\n\r\n @Output('hermesLoadingChange') hermesLoadingChange = new EventEmitter<HermesLoadingState>(false);\r\n\r\n buttonState = HermesLoadingState;\r\n state: HermesLoadingState = HermesLoadingState.DEFAULT;\r\n\r\n constructor(\r\n public el: ElementRef<HTMLButtonElement>,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n loadingStateChange(state: HermesLoadingState): void {\r\n if (state === this.state) {\r\n return;\r\n }\r\n this.state = state;\r\n\r\n switch (state) {\r\n case HermesLoadingState.DEFAULT:\r\n this.renderer.removeStyle(this.el.nativeElement, 'width');\r\n this.renderer.removeStyle(this.el.nativeElement, 'transform'); // for chromium render bug see issue https://github.com/vmware/clarity/issues/2700\r\n if (!this.disabled) {\r\n this.renderer.removeAttribute(this.el.nativeElement, 'disabled');\r\n }\r\n break;\r\n case HermesLoadingState.LOADING:\r\n this.setExplicitButtonWidth();\r\n this.renderer.setStyle(this.el.nativeElement, 'transform', 'translatez(0)'); // for chromium render bug see issue https://github.com/vmware/clarity/issues/2700\r\n this.renderer.setAttribute(this.el.nativeElement, 'disabled', '');\r\n break;\r\n case HermesLoadingState.SUCCESS:\r\n this.setExplicitButtonWidth();\r\n break;\r\n case HermesLoadingState.ERROR:\r\n this.loadingStateChange(HermesLoadingState.DEFAULT);\r\n break;\r\n default:\r\n break;\r\n }\r\n this.hermesLoadingChange.emit(state);\r\n }\r\n\r\n private setExplicitButtonWidth() {\r\n if (this.el.nativeElement && this.el.nativeElement.getBoundingClientRect) {\r\n const boundingClientRect = this.el.nativeElement.getBoundingClientRect();\r\n const width = Math.max(MIN_BUTTON_WIDTH, boundingClientRect.width);\r\n this.renderer.setStyle(this.el.nativeElement, 'width', `${width}px`);\r\n }\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule, Type } from '@angular/core';\r\n\r\nimport { HermesLoadingButton } from './loading-button';\r\n\r\nexport const HERMES_LOADING_BUTTON_DIRECTIVES: Type<any>[] = [HermesLoadingButton];\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [HERMES_LOADING_BUTTON_DIRECTIVES],\r\n exports: [HERMES_LOADING_BUTTON_DIRECTIVES],\r\n})\r\nexport class HermesLoadingButtonModule {}\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 { NgModule } from '@angular/core';\nimport { HermesIcons, ellipsisHorizontalIcon } from '@hermes-ui/angular/icon';\n\nimport { HermesButtonGroupModule } from './button-group/button-group.module';\nimport { HermesLoadingButtonModule } from './button-loading/loading-button.module';\n\n@NgModule({\n exports: [HermesLoadingButtonModule, HermesButtonGroupModule],\n})\nexport class HermesButtonModule {\n constructor() {\n HermesIcons.addIcons(ellipsisHorizontalIcon);\n }\n}\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport * from './button';\r\nexport * from './button-group';\r\nexport * from './button-group.module';\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport * from './loading-button';\r\nexport * from './loading-button.module';\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport * from './button.module';\r\nexport * from './button-group/index';\r\nexport * from './button-loading/index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.ButtonInGroupService","i1","i1.ButtonInGroupService","i4.ButtonGroupFocusHandler"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-ui-angular-card.mjs","sources":["../../../card/card.ts","../../../card/index.ts","../../../card/hermes-ui-angular-card.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * A styled container for grouping related content. Compose the inside with\n * `hermes-layout`, `hermes-text` and `hermes-divider` (with the\n * `hermes-card-remove-margin` attribute to bleed a divider edge-to-edge).\n *\n * ```html\n * <hermes-card aria-labelledby=\"my-card-title\">\n * <div hermes-layout=\"vertical gap:md\">\n * <h2 id=\"my-card-title\" hermes-text=\"section\">Card title</h2>\n * <hermes-divider hermes-card-remove-margin></hermes-divider>\n * <div hermes-text=\"body light\">Card content</div>\n * </div>\n * </hermes-card>\n * ```\n */\n@Component({\n selector: 'hermes-card',\n template: `<div class=\"private-host\"><ng-content></ng-content></div>`,\n styleUrls: ['./card.component.scss'],\n encapsulation: ViewEncapsulation.ExperimentalIsolatedShadowDom,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'region',\n },\n})\nexport class HermesCard {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './card';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;;;;AAKG;AAIH;;;;;;;;;;;;;;AAcG;MAWU,UAAU,CAAA;+GAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,mHARX,CAAA,yDAAA,CAA2D,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6iCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,6BAAA,EAAA,CAAA,CAAA;;4FAQ1D,UAAU,EAAA,UAAA,EAAA,CAAA;kBAVtB,SAAS;+BACE,aAAa,EAAA,QAAA,EACb,CAAA,yDAAA,CAA2D,EAAA,aAAA,EAEtD,iBAAiB,CAAC,6BAA6B,EAAA,eAAA,EAC7C,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,IAAI,EAAE,QAAQ;AACf,qBAAA,EAAA,MAAA,EAAA,CAAA,6iCAAA,CAAA,EAAA;;;AChCH;;;;;AAKG;;ACLH;;AAEG;;"}
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-card.mjs","sources":["../../../card/card.ts","../../../card/index.ts","../../../card/hermes-ui-angular-card.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n/**\r\n * A styled container for grouping related content. Compose the inside with\r\n * `hermes-layout`, `hermes-text` and `hermes-divider` (with the\r\n * `hermes-card-remove-margin` attribute to bleed a divider edge-to-edge).\r\n *\r\n * ```html\r\n * <hermes-card aria-labelledby=\"my-card-title\">\r\n * <div hermes-layout=\"vertical gap:md\">\r\n * <h2 id=\"my-card-title\" hermes-text=\"section\">Card title</h2>\r\n * <hermes-divider hermes-card-remove-margin></hermes-divider>\r\n * <div hermes-text=\"body light\">Card content</div>\r\n * </div>\r\n * </hermes-card>\r\n * ```\r\n */\r\n@Component({\r\n selector: 'hermes-card',\r\n template: `<div class=\"private-host\"><ng-content></ng-content></div>`,\r\n styleUrls: ['./card.component.scss'],\r\n encapsulation: ViewEncapsulation.ExperimentalIsolatedShadowDom,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n role: 'region',\r\n },\r\n})\r\nexport class HermesCard {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport * from './card';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;;;;AAKG;AAIH;;;;;;;;;;;;;;AAcG;MAWU,UAAU,CAAA;+GAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,mHARX,CAAA,yDAAA,CAA2D,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6iCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,6BAAA,EAAA,CAAA,CAAA;;4FAQ1D,UAAU,EAAA,UAAA,EAAA,CAAA;kBAVtB,SAAS;+BACE,aAAa,EAAA,QAAA,EACb,CAAA,yDAAA,CAA2D,EAAA,aAAA,EAEtD,iBAAiB,CAAC,6BAA6B,EAAA,eAAA,EAC7C,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,IAAI,EAAE,QAAQ;AACf,qBAAA,EAAA,MAAA,EAAA,CAAA,6iCAAA,CAAA,EAAA;;;AChCH;;;;;AAKG;;ACLH;;AAEG;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-ui-angular-collapsible-panel.mjs","sources":["../../../collapsible-panel/models/collapsible-panel.model.ts","../../../collapsible-panel/providers/collapsible-panel.service.ts","../../../collapsible-panel/collapsible-panel.ts","../../../collapsible-panel/utils/animation.ts","../../../collapsible-panel/index.ts","../../../collapsible-panel/hermes-ui-angular-collapsible-panel.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\nlet panelGroupCount = 0;\r\n\r\nexport class CollapsiblePanelModel {\r\n index: number = null;\r\n disabled = false;\r\n open = false;\r\n templateId = `${this.id}-${this.groupId}`;\r\n constructor(\r\n public id: string,\r\n public groupId: number | string\r\n ) {}\r\n}\r\n\r\nexport class CollapsiblePanelGroupModel {\r\n protected panelGroupCount = panelGroupCount++;\r\n protected _panels: { [id: string]: CollapsiblePanelModel } = {};\r\n\r\n get panels(): CollapsiblePanelModel[] {\r\n return Object.keys(this._panels).map(id => this._panels[id]);\r\n }\r\n\r\n updatePanelOrder(ids: string[]) {\r\n ids.forEach((id, index) => {\r\n if (this._panels[id]) {\r\n this._panels[id].index = index;\r\n }\r\n });\r\n this.removeOldPanels(ids);\r\n }\r\n\r\n addPanel(id: string, open = false) {\r\n this._panels[id] = new CollapsiblePanelModel(id, this.panelGroupCount);\r\n this._panels[id].open = open;\r\n }\r\n\r\n togglePanel(panelId: string, open?: boolean) {\r\n if (!this._panels[panelId]) {\r\n return;\r\n }\r\n\r\n const panelIsOpen = this._panels[panelId].open;\r\n this._panels[panelId].open = open !== undefined ? open : !panelIsOpen;\r\n }\r\n\r\n disablePanel(panelId: string, disabled: boolean) {\r\n if (!this._panels[panelId]) {\r\n return;\r\n }\r\n\r\n this._panels[panelId].disabled = disabled;\r\n }\r\n\r\n private removeOldPanels(ids: string[]) {\r\n this.panels\r\n .filter(panel => ids.find(id => id === panel.id) === undefined)\r\n .forEach(panel => delete this._panels[panel.id]);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { CollapsiblePanelGroupModel, CollapsiblePanelModel } from '../models/collapsible-panel.model';\r\n\r\n@Injectable()\r\nexport class CollapsiblePanelService {\r\n protected panelGroup = new CollapsiblePanelGroupModel();\r\n protected readonly _panelsChanges = new BehaviorSubject(this.panelGroup.panels);\r\n\r\n getPanelChanges(panelId: string): Observable<CollapsiblePanelModel> {\r\n return this._panelsChanges.pipe(map(panels => panels.find(s => s.id === panelId)));\r\n }\r\n\r\n addPanel(panelId: string, open = false) {\r\n this.panelGroup.addPanel(panelId, open);\r\n this.emitUpdatedPanels();\r\n }\r\n\r\n togglePanel(panelId: string, open?: boolean) {\r\n this.panelGroup.togglePanel(panelId, open);\r\n this.emitUpdatedPanels();\r\n }\r\n\r\n disablePanel(panelId: string, disabled?: boolean) {\r\n this.panelGroup.disablePanel(panelId, disabled);\r\n this.emitUpdatedPanels();\r\n }\r\n\r\n updatePanelOrder(ids: string[]) {\r\n this.panelGroup.updatePanelOrder(ids);\r\n this.emitUpdatedPanels();\r\n }\r\n\r\n protected emitUpdatedPanels() {\r\n this._panelsChanges.next(this.panelGroup.panels);\r\n }\r\n}\r\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ChangeDetectorRef, Directive, EventEmitter, OnInit, SimpleChanges } from '@angular/core';\nimport { IfExpandService, uniqueIdFactory } from '@hermes-ui/angular/utils';\nimport { Observable } from 'rxjs';\nimport { filter, tap } from 'rxjs/operators';\n\nimport { CollapsiblePanelModel } from './models/collapsible-panel.model';\nimport { CollapsiblePanelService } from './providers/collapsible-panel.service';\n\n@Directive()\nexport abstract class CollapsiblePanel implements OnInit {\n panelOpen = false;\n panelOpenChange = new EventEmitter<boolean>();\n\n panel: Observable<CollapsiblePanelModel>;\n\n protected _panelIndex: number;\n private _id = uniqueIdFactory();\n\n constructor(\n protected panelService: CollapsiblePanelService,\n protected ifExpandService: IfExpandService,\n protected cdr: ChangeDetectorRef\n ) {}\n\n get id(): string {\n return this._id;\n }\n set id(value: string) {\n this._id = value;\n }\n\n abstract get disabled(): boolean;\n\n ngOnInit() {\n this.panelService.addPanel(this.id, this.panelOpen);\n this.panelService.disablePanel(this.id, this.disabled);\n this.panel = this.panelService.getPanelChanges(this.id).pipe(\n filter(panel => !!panel),\n tap(panel => this.emitPanelChange(panel))\n );\n }\n\n togglePanel() {\n this.panelService.togglePanel(this.id);\n }\n\n collapsePanelOnAnimationDone(panel: CollapsiblePanelModel) {\n if (!panel.open) {\n this.ifExpandService.expanded = false;\n }\n }\n\n protected handlePanelInputChanges(changes: SimpleChanges) {\n if (this.panel && changes.panelOpen && changes.panelOpen.currentValue !== changes.panelOpen.previousValue) {\n this.panelService.togglePanel(this.id, changes.panelOpen.currentValue);\n }\n\n if (this.panel && changes.disabled && changes.disabled.currentValue !== changes.disabled.previousValue) {\n this.panelService.disablePanel(this.id, changes.disabled.currentValue);\n }\n }\n\n private emitPanelChange(panel: CollapsiblePanelModel) {\n if (panel.index !== this._panelIndex) {\n this._panelIndex = panel.index;\n this.cdr.detectChanges();\n }\n\n if (panel.open !== this.panelOpen) {\n this.panelOpenChange.emit(panel.open);\n this.panelOpen = panel.open;\n }\n\n if (panel.open) {\n this.ifExpandService.expanded = true;\n }\n }\n\n abstract getPanelStateClasses(panel: CollapsiblePanelModel): string;\n abstract getContentId(id: string): string;\n abstract getHeaderId(id: string): string;\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { defaultAnimationTiming } from '@hermes-ui/angular/utils';\n\nexport const skipInitialRenderTrigger = trigger('skipInitialRender', [transition(':enter', [])]);\n\nexport const panelExpandTransition = transition('void => *', [\n style({ display: 'block', height: 0 }),\n animate(defaultAnimationTiming, style({ height: '*' })),\n]);\n\nexport const panelCollapseTransition = transition('* => void', [\n style({ display: 'block' }),\n animate(defaultAnimationTiming, style({ height: 0, display: 'none' })),\n]);\n\nexport const collapsiblePanelExpandAnimation = [skipInitialRenderTrigger, trigger('toggle', [panelExpandTransition])];\n\nexport const collapsiblePanelAnimation = [\n skipInitialRenderTrigger,\n trigger('toggle', [panelExpandTransition, panelCollapseTransition]),\n];\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport * from './collapsible-panel';\r\nexport * from './models/collapsible-panel.model';\r\nexport * from './providers/collapsible-panel.service';\r\nexport * from './utils/animation';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.CollapsiblePanelService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-collapsible-panel.mjs","sources":["../../../collapsible-panel/models/collapsible-panel.model.ts","../../../collapsible-panel/providers/collapsible-panel.service.ts","../../../collapsible-panel/collapsible-panel.ts","../../../collapsible-panel/utils/animation.ts","../../../collapsible-panel/index.ts","../../../collapsible-panel/hermes-ui-angular-collapsible-panel.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\nlet panelGroupCount = 0;\r\n\r\nexport class CollapsiblePanelModel {\r\n index: number = null;\r\n disabled = false;\r\n open = false;\r\n templateId = `${this.id}-${this.groupId}`;\r\n constructor(\r\n public id: string,\r\n public groupId: number | string\r\n ) {}\r\n}\r\n\r\nexport class CollapsiblePanelGroupModel {\r\n protected panelGroupCount = panelGroupCount++;\r\n protected _panels: { [id: string]: CollapsiblePanelModel } = {};\r\n\r\n get panels(): CollapsiblePanelModel[] {\r\n return Object.keys(this._panels).map(id => this._panels[id]);\r\n }\r\n\r\n updatePanelOrder(ids: string[]) {\r\n ids.forEach((id, index) => {\r\n if (this._panels[id]) {\r\n this._panels[id].index = index;\r\n }\r\n });\r\n this.removeOldPanels(ids);\r\n }\r\n\r\n addPanel(id: string, open = false) {\r\n this._panels[id] = new CollapsiblePanelModel(id, this.panelGroupCount);\r\n this._panels[id].open = open;\r\n }\r\n\r\n togglePanel(panelId: string, open?: boolean) {\r\n if (!this._panels[panelId]) {\r\n return;\r\n }\r\n\r\n const panelIsOpen = this._panels[panelId].open;\r\n this._panels[panelId].open = open !== undefined ? open : !panelIsOpen;\r\n }\r\n\r\n disablePanel(panelId: string, disabled: boolean) {\r\n if (!this._panels[panelId]) {\r\n return;\r\n }\r\n\r\n this._panels[panelId].disabled = disabled;\r\n }\r\n\r\n private removeOldPanels(ids: string[]) {\r\n this.panels\r\n .filter(panel => ids.find(id => id === panel.id) === undefined)\r\n .forEach(panel => delete this._panels[panel.id]);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { CollapsiblePanelGroupModel, CollapsiblePanelModel } from '../models/collapsible-panel.model';\r\n\r\n@Injectable()\r\nexport class CollapsiblePanelService {\r\n protected panelGroup = new CollapsiblePanelGroupModel();\r\n protected readonly _panelsChanges = new BehaviorSubject(this.panelGroup.panels);\r\n\r\n getPanelChanges(panelId: string): Observable<CollapsiblePanelModel> {\r\n return this._panelsChanges.pipe(map(panels => panels.find(s => s.id === panelId)));\r\n }\r\n\r\n addPanel(panelId: string, open = false) {\r\n this.panelGroup.addPanel(panelId, open);\r\n this.emitUpdatedPanels();\r\n }\r\n\r\n togglePanel(panelId: string, open?: boolean) {\r\n this.panelGroup.togglePanel(panelId, open);\r\n this.emitUpdatedPanels();\r\n }\r\n\r\n disablePanel(panelId: string, disabled?: boolean) {\r\n this.panelGroup.disablePanel(panelId, disabled);\r\n this.emitUpdatedPanels();\r\n }\r\n\r\n updatePanelOrder(ids: string[]) {\r\n this.panelGroup.updatePanelOrder(ids);\r\n this.emitUpdatedPanels();\r\n }\r\n\r\n protected emitUpdatedPanels() {\r\n this._panelsChanges.next(this.panelGroup.panels);\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 { ChangeDetectorRef, Directive, EventEmitter, OnInit, SimpleChanges } from '@angular/core';\r\nimport { IfExpandService, uniqueIdFactory } from '@hermes-ui/angular/utils';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, tap } from 'rxjs/operators';\r\n\r\nimport { CollapsiblePanelModel } from './models/collapsible-panel.model';\r\nimport { CollapsiblePanelService } from './providers/collapsible-panel.service';\r\n\r\n@Directive()\r\nexport abstract class CollapsiblePanel implements OnInit {\r\n panelOpen = false;\r\n panelOpenChange = new EventEmitter<boolean>();\r\n\r\n panel: Observable<CollapsiblePanelModel>;\r\n\r\n protected _panelIndex: number;\r\n private _id = uniqueIdFactory();\r\n\r\n constructor(\r\n protected panelService: CollapsiblePanelService,\r\n protected ifExpandService: IfExpandService,\r\n protected cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n get id(): string {\r\n return this._id;\r\n }\r\n set id(value: string) {\r\n this._id = value;\r\n }\r\n\r\n abstract get disabled(): boolean;\r\n\r\n ngOnInit() {\r\n this.panelService.addPanel(this.id, this.panelOpen);\r\n this.panelService.disablePanel(this.id, this.disabled);\r\n this.panel = this.panelService.getPanelChanges(this.id).pipe(\r\n filter(panel => !!panel),\r\n tap(panel => this.emitPanelChange(panel))\r\n );\r\n }\r\n\r\n togglePanel() {\r\n this.panelService.togglePanel(this.id);\r\n }\r\n\r\n collapsePanelOnAnimationDone(panel: CollapsiblePanelModel) {\r\n if (!panel.open) {\r\n this.ifExpandService.expanded = false;\r\n }\r\n }\r\n\r\n protected handlePanelInputChanges(changes: SimpleChanges) {\r\n if (this.panel && changes.panelOpen && changes.panelOpen.currentValue !== changes.panelOpen.previousValue) {\r\n this.panelService.togglePanel(this.id, changes.panelOpen.currentValue);\r\n }\r\n\r\n if (this.panel && changes.disabled && changes.disabled.currentValue !== changes.disabled.previousValue) {\r\n this.panelService.disablePanel(this.id, changes.disabled.currentValue);\r\n }\r\n }\r\n\r\n private emitPanelChange(panel: CollapsiblePanelModel) {\r\n if (panel.index !== this._panelIndex) {\r\n this._panelIndex = panel.index;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n if (panel.open !== this.panelOpen) {\r\n this.panelOpenChange.emit(panel.open);\r\n this.panelOpen = panel.open;\r\n }\r\n\r\n if (panel.open) {\r\n this.ifExpandService.expanded = true;\r\n }\r\n }\r\n\r\n abstract getPanelStateClasses(panel: CollapsiblePanelModel): string;\r\n abstract getContentId(id: string): string;\r\n abstract getHeaderId(id: string): 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 { animate, style, transition, trigger } from '@angular/animations';\r\nimport { defaultAnimationTiming } from '@hermes-ui/angular/utils';\r\n\r\nexport const skipInitialRenderTrigger = trigger('skipInitialRender', [transition(':enter', [])]);\r\n\r\nexport const panelExpandTransition = transition('void => *', [\r\n style({ display: 'block', height: 0 }),\r\n animate(defaultAnimationTiming, style({ height: '*' })),\r\n]);\r\n\r\nexport const panelCollapseTransition = transition('* => void', [\r\n style({ display: 'block' }),\r\n animate(defaultAnimationTiming, style({ height: 0, display: 'none' })),\r\n]);\r\n\r\nexport const collapsiblePanelExpandAnimation = [skipInitialRenderTrigger, trigger('toggle', [panelExpandTransition])];\r\n\r\nexport const collapsiblePanelAnimation = [\r\n skipInitialRenderTrigger,\r\n trigger('toggle', [panelExpandTransition, panelCollapseTransition]),\r\n];\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport * from './collapsible-panel';\r\nexport * from './models/collapsible-panel.model';\r\nexport * from './providers/collapsible-panel.service';\r\nexport * from './utils/animation';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.CollapsiblePanelService"],"mappings":"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"}
|