@hermes-ui/angular 0.1.7 → 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 +6 -6
- package/button/_buttons.clarity.scss +80 -2
- package/button/_mixins.buttons.scss +44 -2
- package/button/_properties.buttons.scss +209 -247
- 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-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 +2 -2
- package/fesm2022/hermes-ui-angular-addons-datagrid.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-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-button.mjs +2 -2
- package/fesm2022/hermes-ui-angular-button.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data-datagrid.mjs +2 -2
- package/fesm2022/hermes-ui-angular-data-datagrid.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data-stack-view.mjs +2 -2
- package/fesm2022/hermes-ui-angular-data-stack-view.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-data-tree-view.mjs +2 -2
- package/fesm2022/hermes-ui-angular-data-tree-view.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-forms-checkbox.mjs +2 -2
- package/fesm2022/hermes-ui-angular-forms-checkbox.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-combobox.mjs +2 -2
- 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 +2 -2
- package/fesm2022/hermes-ui-angular-forms-datalist.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs +3 -3
- package/fesm2022/hermes-ui-angular-forms-datepicker.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-file-input.mjs +2 -2
- package/fesm2022/hermes-ui-angular-forms-file-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-input.mjs +2 -2
- package/fesm2022/hermes-ui-angular-forms-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-native-select.mjs +2 -2
- package/fesm2022/hermes-ui-angular-forms-native-select.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-number-input.mjs +2 -2
- package/fesm2022/hermes-ui-angular-forms-number-input.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-password.mjs +2 -2
- package/fesm2022/hermes-ui-angular-forms-password.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-radio.mjs +2 -2
- package/fesm2022/hermes-ui-angular-forms-radio.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-range.mjs +2 -2
- package/fesm2022/hermes-ui-angular-forms-range.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-select.mjs +2 -2
- package/fesm2022/hermes-ui-angular-forms-select.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-forms-textarea.mjs +2 -2
- package/fesm2022/hermes-ui-angular-forms-textarea.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-nav.mjs +2 -2
- package/fesm2022/hermes-ui-angular-layout-nav.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-layout-tabs.mjs +2 -2
- 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-modal.mjs +2 -2
- package/fesm2022/hermes-ui-angular-modal.mjs.map +1 -1
- package/fesm2022/hermes-ui-angular-popover-signpost.mjs +2 -2
- package/fesm2022/hermes-ui-angular-popover-signpost.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 +2 -2
- package/fesm2022/hermes-ui-angular-toast.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 +2 -2
- package/fesm2022/hermes-ui-angular-wizard.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/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/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-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-utils.d.ts +12 -0
- package/types/hermes-ui-angular-utils.d.ts.map +1 -1
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Injectable, Optional, Directive, Component, ElementRef, HostListener, ContentChild, Input, HostBinding, KeyValueDiffers, Self, ContentChildren, NgModule } from '@angular/core';
|
|
3
3
|
import { BehaviorSubject, Subject, tap, merge, of } from 'rxjs';
|
|
4
4
|
import * as i3 from '@hermes-ui/angular/icon';
|
|
5
|
-
import {
|
|
5
|
+
import { HermesIcons, successStandardIcon, errorStandardIcon, HermesIcon } from '@hermes-ui/angular/icon';
|
|
6
6
|
import { HermesSignpost } from '@hermes-ui/angular/popover/signpost';
|
|
7
7
|
import * as i1 from '@angular/common';
|
|
8
8
|
import { CommonModule } from '@angular/common';
|
|
@@ -1156,7 +1156,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
|
|
|
1156
1156
|
*/
|
|
1157
1157
|
class HermesCommonFormsModule {
|
|
1158
1158
|
constructor() {
|
|
1159
|
-
|
|
1159
|
+
HermesIcons.addIcons(successStandardIcon, errorStandardIcon);
|
|
1160
1160
|
}
|
|
1161
1161
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesCommonFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1162
1162
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesCommonFormsModule, declarations: [HermesControlLabel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-ui-angular-forms-common.mjs","sources":["../../../forms/common/providers/control-id.service.ts","../../../forms/common/providers/container-id.service.ts","../../../forms/common/abstract-control.ts","../../../forms/common/control-subtexts/error.ts","../../../forms/common/control-subtexts/helper.ts","../../../forms/common/control-subtexts/success.ts","../../../forms/common/if-control-state/control-state.enum.ts","../../../forms/common/providers/layout.service.ts","../../../forms/common/providers/ng-control.service.ts","../../../forms/common/label.ts","../../../forms/common/providers/control-class.service.ts","../../../forms/common/abstract-container.ts","../../../forms/common/control-container.ts","../../../forms/common/providers/mark-control.service.ts","../../../forms/common/wrapped-control.ts","../../../forms/common/control.ts","../../../forms/common/form.ts","../../../forms/common/if-control-state/abstract-if-state.ts","../../../forms/common/if-control-state/if-error.ts","../../../forms/common/if-control-state/if-success.ts","../../../forms/common/layout.ts","../../../forms/common/common.module.ts","../../../forms/common/providers/focus.service.ts","../../../forms/common/index.ts","../../../forms/common/hermes-ui-angular-forms-common.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 { BehaviorSubject, Observable } from 'rxjs';\r\n\r\nlet counter = 0;\r\n\r\n@Injectable()\r\nexport class ControlIdService {\r\n private _id = 'hermes-form-control-' + ++counter;\r\n private _idChange = new BehaviorSubject(this._id);\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 this._idChange.next(value);\r\n }\r\n\r\n get idChange(): Observable<string> {\r\n return this._idChange.asObservable();\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\n\r\nlet counter = 0;\r\n\r\n/**\r\n * @TODO No idea why I need to use provideIn .. without I'm getting error that\r\n * ContainerIdService is not defined - But this must be optional service!?\r\n *\r\n * There is something wrong - will come back to investigate it when I have more time\r\n *\r\n */\r\n@Injectable()\r\nexport class ContainerIdService {\r\n private _id = `hermes-form-container-${++counter}`;\r\n private _idChange = new BehaviorSubject(this._id);\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 this._idChange.next(value);\r\n }\r\n\r\n get idChange(): Observable<string> {\r\n return this._idChange.asObservable();\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, Optional } from '@angular/core';\r\n\r\nimport { ContainerIdService } from './providers/container-id.service';\r\nimport { ControlIdService } from './providers/control-id.service';\r\n\r\nexport const CONTROL_SUFFIX: { [key: string]: string | null } = {\r\n HELPER: 'helper',\r\n ERROR: 'error',\r\n SUCCESS: 'success',\r\n NONE: null,\r\n};\r\n\r\n@Directive()\r\nexport abstract class HermesAbstractControl {\r\n /**\r\n * Hold the suffix for the ID\r\n */\r\n controlIdSuffix = 'abstract';\r\n\r\n protected constructor(\r\n @Optional() protected controlIdService: ControlIdService,\r\n @Optional() protected containerIdService: ContainerIdService\r\n ) {}\r\n\r\n get id(): string {\r\n /**\r\n * The order of witch the id will be pick is:\r\n * - Container ID (Wrapper arround multiple Controls like, Checkbox, Radio, ...)\r\n * - Control ID (Single Control wrapper like Input, Textarea, Password, ...)\r\n * - None\r\n */\r\n if (this.containerIdService) {\r\n return `${this.containerIdService.id}-${this.controlIdSuffix}`;\r\n }\r\n\r\n if (this.controlIdService) {\r\n return `${this.controlIdService.id}-${this.controlIdSuffix}`;\r\n }\r\n\r\n return null;\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, Optional } from '@angular/core';\r\n\r\nimport { HermesAbstractControl, CONTROL_SUFFIX } from '../abstract-control';\r\nimport { ContainerIdService } from '../providers/container-id.service';\r\nimport { ControlIdService } from '../providers/control-id.service';\r\n\r\n@Component({\r\n selector: 'hermes-control-error',\r\n template: `\r\n <hermes-icon class=\"hermes-validate-icon\" shape=\"error-standard\" status=\"danger\" aria-hidden=\"true\"></hermes-icon>\r\n <span class=\"hermes-subtext\">\r\n <ng-content></ng-content>\r\n </span>\r\n `,\r\n host: {\r\n '[class.hermes-subtext-wrapper]': 'true',\r\n '[class.error]': 'true',\r\n '[attr.id]': 'id',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesControlError extends HermesAbstractControl {\r\n override controlIdSuffix = CONTROL_SUFFIX.ERROR;\r\n\r\n constructor(\r\n @Optional() protected override controlIdService: ControlIdService,\r\n @Optional() protected override containerIdService: ContainerIdService\r\n ) {\r\n super(controlIdService, containerIdService);\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, Optional } from '@angular/core';\r\n\r\nimport { HermesAbstractControl, CONTROL_SUFFIX } from '../abstract-control';\r\nimport { ContainerIdService } from '../providers/container-id.service';\r\nimport { ControlIdService } from '../providers/control-id.service';\r\n\r\n@Component({\r\n selector: 'hermes-control-helper',\r\n template: `<ng-content></ng-content>`,\r\n host: {\r\n '[class.hermes-subtext]': 'true',\r\n '[attr.id]': 'id',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesControlHelper extends HermesAbstractControl {\r\n override controlIdSuffix = CONTROL_SUFFIX.HELPER;\r\n\r\n constructor(\r\n @Optional() protected override controlIdService: ControlIdService,\r\n @Optional() protected override containerIdService: ContainerIdService\r\n ) {\r\n super(controlIdService, containerIdService);\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, Optional } from '@angular/core';\r\n\r\nimport { HermesAbstractControl, CONTROL_SUFFIX } from '../abstract-control';\r\nimport { ContainerIdService } from '../providers/container-id.service';\r\nimport { ControlIdService } from '../providers/control-id.service';\r\n\r\n@Component({\r\n selector: 'hermes-control-success',\r\n template: `\r\n <hermes-icon class=\"hermes-validate-icon\" shape=\"success-standard\" status=\"success\" aria-hidden=\"true\"></hermes-icon>\r\n <span class=\"hermes-subtext\">\r\n <ng-content></ng-content>\r\n </span>\r\n `,\r\n host: {\r\n '[class.hermes-subtext-wrapper]': 'true',\r\n '[class.success]': 'true',\r\n '[attr.id]': 'id',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesControlSuccess extends HermesAbstractControl {\r\n override controlIdSuffix = CONTROL_SUFFIX.SUCCESS;\r\n\r\n constructor(\r\n @Optional() protected override controlIdService: ControlIdService,\r\n @Optional() protected override containerIdService: ContainerIdService\r\n ) {\r\n super(controlIdService, containerIdService);\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 CONTROL_STATE {\r\n VALID = 'VALID',\r\n INVALID = 'INVALID',\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\nexport enum HermesFormLayout {\r\n VERTICAL = 'vertical',\r\n HORIZONTAL = 'horizontal',\r\n COMPACT = 'compact',\r\n}\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n readonly minLabelSize = 1;\r\n readonly maxLabelSize = 12;\r\n\r\n layout: HermesFormLayout | string = HermesFormLayout.HORIZONTAL;\r\n\r\n private layoutValues: string[] = Object.values(HermesFormLayout);\r\n private _labelSize = 2;\r\n\r\n get labelSize(): number {\r\n return this._labelSize;\r\n }\r\n set labelSize(size: number) {\r\n if (this.labelSizeIsValid(size)) {\r\n this._labelSize = size;\r\n }\r\n }\r\n\r\n get layoutClass(): string {\r\n return `hermes-form-${this.layout}`;\r\n }\r\n\r\n isVertical(): boolean {\r\n return this.layout === HermesFormLayout.VERTICAL;\r\n }\r\n\r\n isHorizontal(): boolean {\r\n return this.layout === HermesFormLayout.HORIZONTAL;\r\n }\r\n\r\n isCompact(): boolean {\r\n return this.layout === HermesFormLayout.COMPACT;\r\n }\r\n\r\n isValid(layout: string): boolean {\r\n return this.layoutValues.indexOf(layout) > -1;\r\n }\r\n\r\n labelSizeIsValid(labelSize: number): boolean {\r\n return Number.isInteger(labelSize) && labelSize >= this.minLabelSize && labelSize <= this.maxLabelSize;\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 { NgControl } from '@angular/forms';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { HermesAbstractContainer } from '../abstract-container';\r\n\r\nexport interface Helpers {\r\n show?: boolean;\r\n showInvalid?: boolean;\r\n showValid?: boolean;\r\n showHelper?: boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class NgControlService {\r\n container: HermesAbstractContainer;\r\n private _controls: NgControl[] = [];\r\n\r\n // Observable to subscribe to the control, since its not available immediately for projected content\r\n private _controlsChanges = new Subject<NgControl[]>();\r\n\r\n get controls() {\r\n return this._controls;\r\n }\r\n\r\n get controlsChanges(): Observable<NgControl[]> {\r\n return this._controlsChanges.asObservable();\r\n }\r\n\r\n get hasMultipleControls() {\r\n return this._controls?.length > 1;\r\n }\r\n\r\n addControl(control: NgControl) {\r\n this._controls.push(control);\r\n\r\n this.emitControlsChange(this._controls);\r\n }\r\n\r\n emitControlsChange(controls: NgControl[]) {\r\n this._controlsChanges.next(controls);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport {\r\n ContentChild,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport { HermesSignpost } from '@hermes-ui/angular/popover/signpost';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { ControlIdService } from './providers/control-id.service';\r\nimport { LayoutService } from './providers/layout.service';\r\nimport { NgControlService } from './providers/ng-control.service';\r\n\r\n@Directive({\r\n selector: 'label',\r\n standalone: false,\r\n})\r\nexport class HermesControlLabel implements OnInit, OnDestroy {\r\n @Input('id') idInput: string;\r\n @HostBinding('attr.id') idAttr: string;\r\n\r\n @Input('for') @HostBinding('attr.for') forAttr: string;\r\n\r\n @ContentChild(HermesSignpost, { read: ElementRef }) private signpost: ElementRef;\r\n private enableGrid = true;\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n @Optional() private controlIdService: ControlIdService,\r\n @Optional() private layoutService: LayoutService,\r\n @Optional() private ngControlService: NgControlService,\r\n private renderer: Renderer2,\r\n private el: ElementRef<HTMLLabelElement>\r\n ) {}\r\n\r\n get labelText(): string {\r\n return this.el.nativeElement && this.el.nativeElement.textContent;\r\n }\r\n\r\n ngOnInit() {\r\n // Prevent id attributes from being removed by the `undefined` host binding.\r\n // This happens when a `label` is used outside of a control container and other use cases.\r\n this.idAttr = this.idInput;\r\n\r\n // Only add the hermes-control-label if it is inside a control container\r\n if (this.controlIdService || this.ngControlService) {\r\n this.renderer.addClass(this.el.nativeElement, 'hermes-control-label');\r\n }\r\n // Only set the grid column classes if we are in the right context and if they aren't already set\r\n if (\r\n this.enableGrid &&\r\n this.layoutService &&\r\n !this.layoutService.isVertical() &&\r\n this.el.nativeElement &&\r\n this.el.nativeElement.className.indexOf('hermes-col') < 0\r\n ) {\r\n this.renderer.addClass(this.el.nativeElement, 'hermes-col-12');\r\n this.renderer.addClass(this.el.nativeElement, `hermes-col-md-${this.layoutService.labelSize}`);\r\n }\r\n if (this.controlIdService && !this.forAttr) {\r\n this.subscriptions.push(\r\n this.controlIdService.idChange.subscribe(id => {\r\n this.forAttr = id;\r\n this.idAttr = this.idInput || `${id}-label`;\r\n })\r\n );\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(sub => sub.unsubscribe());\r\n }\r\n\r\n disableGrid() {\r\n this.enableGrid = false;\r\n }\r\n\r\n /**\r\n * Allowing signposts inside labels to work without disabling default behavior. <label> is spreading a click event to its children so signposts get\r\n * automatically closed once clicked inside a <label>.\r\n * @param event\r\n */\r\n @HostListener('click', ['$event'])\r\n private onClick(event) {\r\n this.preventDefaultOnSignpostTarget(event);\r\n }\r\n\r\n private preventDefaultOnSignpostTarget(event) {\r\n if (this.signpost && this.signpost.nativeElement && this.signpost.nativeElement.contains(event.target)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable, Optional, Renderer2 } from '@angular/core';\r\n\r\nimport { LayoutService } from './layout.service';\r\nimport { CONTROL_STATE } from '../if-control-state/control-state.enum';\r\n\r\nconst CLASS_ERROR = 'hermes-error';\r\nconst CLASS_SUCCESS = 'hermes-success';\r\n\r\n@Injectable()\r\nexport class ControlClassService {\r\n className = '';\r\n\r\n constructor(@Optional() private layoutService: LayoutService) {}\r\n\r\n controlClass(state: string, grid = false, additional = '') {\r\n const controlClasses = [this.className, additional];\r\n\r\n switch (state) {\r\n case CONTROL_STATE.VALID:\r\n controlClasses.push(CLASS_SUCCESS);\r\n break;\r\n case CONTROL_STATE.INVALID:\r\n controlClasses.push(CLASS_ERROR);\r\n break;\r\n }\r\n\r\n if (grid && this.layoutService && this.className.indexOf('hermes-col') === -1) {\r\n controlClasses.push(`hermes-col-md-${this.layoutService.maxLabelSize - this.layoutService.labelSize} hermes-col-12`);\r\n }\r\n return controlClasses.join(' ').trim();\r\n }\r\n\r\n // We want to remove the column classes from the input up to the container\r\n initControlClass(renderer: Renderer2, element: HTMLElement) {\r\n if (element && element.className) {\r\n const klasses = element.className.split(' ');\r\n const controlKlasses = [];\r\n\r\n klasses.forEach(klass => {\r\n if (klass.startsWith('hermes-')) {\r\n controlKlasses.push(klass);\r\n }\r\n\r\n if (klass.startsWith('hermes-col')) {\r\n renderer.removeClass(element, klass);\r\n }\r\n });\r\n\r\n this.className = controlKlasses.join(' ').trim();\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 { ContentChild, Directive, OnDestroy, Optional } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { HermesControlError } from './control-subtexts/error';\r\nimport { HermesControlHelper } from './control-subtexts/helper';\r\nimport { HermesControlSuccess } from './control-subtexts/success';\r\nimport { CONTROL_STATE } from './if-control-state/control-state.enum';\r\nimport { HermesControlLabel } from './label';\r\nimport { ControlClassService } from './providers/control-class.service';\r\nimport { LayoutService } from './providers/layout.service';\r\nimport { NgControlService } from './providers/ng-control.service';\r\n\r\n@Directive()\r\nexport abstract class HermesAbstractContainer implements OnDestroy {\r\n @ContentChild(HermesControlLabel, { static: false }) label: HermesControlLabel;\r\n @ContentChild(HermesControlSuccess) controlSuccessComponent: HermesControlSuccess;\r\n @ContentChild(HermesControlError) controlErrorComponent: HermesControlError;\r\n @ContentChild(HermesControlHelper) controlHelperComponent: HermesControlHelper;\r\n\r\n controls: NgControl[] = [];\r\n\r\n protected subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n @Optional() protected layoutService: LayoutService,\r\n protected controlClassService: ControlClassService,\r\n protected ngControlService: NgControlService\r\n ) {\r\n this.subscriptions.push(\r\n ngControlService.controlsChanges.subscribe(controls => {\r\n this.controls = controls;\r\n })\r\n );\r\n\r\n ngControlService.container = this;\r\n }\r\n\r\n get control() {\r\n return this.controls[0];\r\n }\r\n\r\n /**\r\n * @NOTE\r\n * Helper control is a bit different than the others, it must be always visible:\r\n * - Labels and instructions must always accompany forms and are persistent.\r\n * - The recommendation here is to always have helper text or anything instructions visible.\r\n * - The expectation is to have error text + helper text in the errored state. this way all users will have the helper text information always available.\r\n */\r\n get showHelper(): boolean {\r\n /**\r\n * @NOTE\r\n * Saving the previous version in case something is changed. We'll return always true so we can be flexible\r\n * and keep the condition per components.\r\n *\r\n * return (\r\n * Helper Component exist and the state of the form is NONE (not touched)\r\n * (!!this.controlHelperComponent && (!this.touched || this.state === CONTROL_STATE.NONE)) ||\r\n * or there is no success component but the state of the form is VALID - show helper information\r\n * (!!this.controlSuccessComponent === false && this.state === CONTROL_STATE.VALID) ||\r\n * or there is no error component but the state of the form is INVALID - show helper information\r\n * (!!this.controlErrorComponent === false && this.state === CONTROL_STATE.INVALID)\r\n * );\r\n */\r\n return Boolean(this.controlHelperComponent);\r\n }\r\n\r\n /**\r\n * We gonna set the helper control state, after all or most of the components\r\n * are ready - also this will trigger some initial flows into wrappers and controls,\r\n * like locating IDs and setting attributes.\r\n */\r\n get helpers() {\r\n return {\r\n show: this.showInvalid || this.showHelper || this.showValid,\r\n showInvalid: this.showInvalid,\r\n showHelper: this.showHelper,\r\n showValid: this.showValid,\r\n };\r\n }\r\n\r\n get showValid(): boolean {\r\n return this.touched && this.state === CONTROL_STATE.VALID && this.successMessagePresent;\r\n }\r\n\r\n get showInvalid(): boolean {\r\n return this.touched && this.state === CONTROL_STATE.INVALID && this.errorMessagePresent;\r\n }\r\n\r\n protected get successMessagePresent() {\r\n return !!this.controlSuccessComponent;\r\n }\r\n\r\n protected get errorMessagePresent() {\r\n return !!this.controlErrorComponent;\r\n }\r\n\r\n private get touched() {\r\n return !!this.controls?.some(control => control.touched);\r\n }\r\n\r\n private get state() {\r\n const controlStatuses = this.controls.map((control: NgControl) => {\r\n return control.status;\r\n });\r\n\r\n // These status values are mutually exclusive, so a control\r\n // cannot be both valid AND invalid or invalid AND disabled.\r\n // if else order is important!\r\n if (controlStatuses.includes(CONTROL_STATE.INVALID)) {\r\n return CONTROL_STATE.INVALID;\r\n } else if (controlStatuses.includes(CONTROL_STATE.VALID)) {\r\n return CONTROL_STATE.VALID;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n\r\n controlClass() {\r\n /**\r\n * Decide what subtext to display:\r\n * - container is valid but no success component is implemented - use helper class\r\n * - container is valid and success component is implemented - use success class\r\n * - Pass form control state and return string of classes to be applied to the container.\r\n */\r\n const currentState = this.touched ? this.state : null;\r\n\r\n return this.controlClassService.controlClass(currentState, this.addGrid());\r\n }\r\n\r\n addGrid() {\r\n return this.layoutService && !this.layoutService.isVertical();\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { HermesAbstractContainer } from './abstract-container';\r\nimport { ControlClassService } from './providers/control-class.service';\r\nimport { ControlIdService } from './providers/control-id.service';\r\nimport { NgControlService } from './providers/ng-control.service';\r\n\r\n@Component({\r\n selector: 'hermes-control-container',\r\n template: `\r\n <ng-content select=\"label\"></ng-content>\r\n @if (!label && addGrid()) {\r\n <label></label>\r\n }\r\n <div class=\"hermes-control-container\" [ngClass]=\"controlClass()\">\r\n <div class=\"hermes-input-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n @if (showHelper) {\r\n <ng-content select=\"hermes-control-helper\"></ng-content>\r\n }\r\n @if (showInvalid) {\r\n <ng-content select=\"hermes-control-error\"></ng-content>\r\n }\r\n @if (showValid) {\r\n <ng-content select=\"hermes-control-success\"></ng-content>\r\n }\r\n </div>\r\n `,\r\n host: {\r\n '[class.hermes-form-control]': 'true',\r\n '[class.hermes-form-control-disabled]': 'control?.disabled',\r\n '[class.hermes-row]': 'addGrid()',\r\n },\r\n providers: [NgControlService, ControlIdService, ControlClassService],\r\n standalone: false,\r\n})\r\nexport class HermesControlContainer extends HermesAbstractContainer {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MarkControlService {\r\n private _touched = new Subject<void>();\r\n\r\n get touchedChange(): Observable<void> {\r\n return this._touched.asObservable();\r\n }\r\n\r\n markAsTouched() {\r\n this._touched.next();\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport {\r\n Directive,\r\n DoCheck,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n InjectionToken,\r\n Injector,\r\n Input,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnDestroy,\r\n OnInit,\r\n Renderer2,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { HostWrapper } from '@hermes-ui/angular/utils';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { CONTROL_SUFFIX } from './abstract-control';\r\nimport { ContainerIdService } from './providers/container-id.service';\r\nimport { ControlClassService } from './providers/control-class.service';\r\nimport { ControlIdService } from './providers/control-id.service';\r\nimport { MarkControlService } from './providers/mark-control.service';\r\nimport { NgControlService } from './providers/ng-control.service';\r\n\r\nexport enum CHANGE_KEYS {\r\n FORM = 'form',\r\n MODEL = 'model',\r\n}\r\n\r\n@Directive()\r\nexport class WrappedFormControl<W> implements OnInit, DoCheck, OnDestroy {\r\n _id: string;\r\n\r\n protected controlIdService: ControlIdService;\r\n protected ngControlService: NgControlService;\r\n protected index = 0;\r\n protected subscriptions: Subscription[] = [];\r\n\r\n private controlClassService: ControlClassService;\r\n private markControlService: MarkControlService;\r\n private containerIdService: ContainerIdService;\r\n private _containerInjector: Injector;\r\n private differs: KeyValueDiffers;\r\n private differ: KeyValueDiffer<any, any>;\r\n\r\n // I lost way too much time trying to make this work without injecting the ViewContainerRef and the Injector,\r\n // I'm giving up. So we have to inject these two manually for now.\r\n constructor(\r\n protected vcr: ViewContainerRef,\r\n protected wrapperType: Type<W>,\r\n injector: Injector,\r\n private ngControl: NgControl | null,\r\n protected renderer: Renderer2,\r\n protected el: ElementRef<HTMLElement>\r\n ) {\r\n if (injector) {\r\n this.ngControlService = injector.get(NgControlService, null);\r\n this.markControlService = injector.get(MarkControlService, null);\r\n this.differs = injector.get(KeyValueDiffers, null);\r\n }\r\n\r\n if (this.markControlService) {\r\n this.subscriptions.push(\r\n this.markControlService.touchedChange.subscribe(() => {\r\n this.markAsTouched();\r\n })\r\n );\r\n }\r\n }\r\n\r\n @Input()\r\n @HostBinding()\r\n get id() {\r\n return this._id;\r\n }\r\n set id(value: string) {\r\n this._id = value;\r\n if (this.controlIdService) {\r\n this.controlIdService.id = value;\r\n }\r\n }\r\n\r\n @HostBinding('attr.aria-describedby')\r\n private get ariaDescribedById(): string | null {\r\n const helpers = this.ngControlService?.container?.helpers;\r\n\r\n if (!helpers?.show) {\r\n return null;\r\n }\r\n\r\n const elementId = this.containerIdService?.id || this.controlIdService?.id;\r\n /**\r\n * If ContainerIdService or ControlIdService are missing don't try to guess\r\n * Don't set anything.\r\n */\r\n if (!elementId) {\r\n return null;\r\n }\r\n\r\n /**\r\n * As the helper text is now always visible. If we have error/success then we should use both ids.\r\n */\r\n const describedByIds = [`${elementId}-${CONTROL_SUFFIX.HELPER}`];\r\n if (helpers.showInvalid) {\r\n describedByIds.push(`${elementId}-${CONTROL_SUFFIX.ERROR}`);\r\n } else if (helpers.showValid) {\r\n describedByIds.push(`${elementId}-${CONTROL_SUFFIX.SUCCESS}`);\r\n }\r\n\r\n return describedByIds.join(' ');\r\n }\r\n\r\n ngOnInit() {\r\n this._containerInjector = new HostWrapper(this.wrapperType, this.vcr, this.index);\r\n this.controlIdService = this._containerInjector.get(ControlIdService);\r\n\r\n this.injectControlClassService(this._containerInjector);\r\n\r\n /**\r\n * not all containers will provide `ContainerIdService`\r\n */\r\n this.containerIdService = this._containerInjector.get(ContainerIdService, null);\r\n\r\n if (this._id) {\r\n this.controlIdService.id = this._id;\r\n } else {\r\n this._id = this.controlIdService.id;\r\n }\r\n\r\n // 4 possible variations\r\n // 1. NO ngControlService and NO ngControl\r\n // 2. NO ngControlService and YES ngControl\r\n // 3. YES ngControlService and NO ngControl\r\n // 4. YES ngControlService and YES ngControl\r\n\r\n if (this.ngControl) {\r\n this.differ = this.differs.find(this.ngControl).create();\r\n }\r\n\r\n if (this.ngControlService && this.ngControl) {\r\n this.ngControlService.addControl(this.ngControl);\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n if (this.ngControl) {\r\n this.triggerDoCheck(this.differ, this.ngControl);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(sub => sub?.unsubscribe());\r\n }\r\n\r\n // blur HostListener decorator MUST be 1 and on the parent.\r\n // overrides MUST NOT have HostListener decorator.\r\n @HostListener('blur')\r\n triggerValidation() {\r\n if (this.ngControl?.control?.markAsTouched) {\r\n this.ngControl.control.markAsTouched();\r\n }\r\n }\r\n\r\n // @TODO This method has a try/catch due to an unknown issue that came when building the hermesToggle feature\r\n // We need to figure out why this fails for the HermesToggle scenario but works for Date picker...\r\n // To see the error, remove the try/catch here and run the HermesToggle suite to see issues getting the container\r\n // injector in time, and this ONLY HAPPENS in tests and not in dev/prod mode.\r\n protected getProviderFromContainer<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T {\r\n try {\r\n return this._containerInjector.get(token, notFoundValue);\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n } catch (e) {\r\n return notFoundValue;\r\n }\r\n }\r\n\r\n private injectControlClassService(injector: Injector) {\r\n if (!this.controlClassService) {\r\n this.controlClassService = injector.get(ControlClassService, null);\r\n if (this.controlClassService) {\r\n this.controlClassService.initControlClass(this.renderer, this.el.nativeElement);\r\n }\r\n }\r\n }\r\n\r\n private triggerDoCheck(differ: KeyValueDiffer<any, any>, ngControl: NgControl) {\r\n if (differ) {\r\n const changes = differ.diff(ngControl);\r\n if (changes) {\r\n changes.forEachChangedItem(change => {\r\n if (\r\n (change.key === CHANGE_KEYS.FORM || change.key === CHANGE_KEYS.MODEL) &&\r\n change.currentValue !== change.previousValue\r\n ) {\r\n if (this.ngControlService) {\r\n this.ngControlService.emitControlsChange(this.ngControlService.controls);\r\n }\r\n\r\n this.triggerValidation();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n private markAsTouched(): void {\r\n if (this.ngControlService && this.ngControlService.hasMultipleControls) {\r\n this.ngControlService.controls.forEach((ngControl: NgControl) => {\r\n ngControl.control.markAsTouched();\r\n ngControl.control.updateValueAndValidity();\r\n });\r\n\r\n return;\r\n }\r\n\r\n if (this.ngControl) {\r\n this.ngControl.control.markAsTouched();\r\n this.ngControl.control.updateValueAndValidity();\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 { Directive, ElementRef, Injector, Optional, Renderer2, Self, ViewContainerRef } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\nimport { HermesControlContainer } from './control-container';\r\nimport { WrappedFormControl } from './wrapped-control';\r\n\r\n@Directive({\r\n selector: '[hermesControl]',\r\n host: { '[class.hermes-input]': 'true' },\r\n standalone: false,\r\n})\r\nexport class HermesControl extends WrappedFormControl<HermesControlContainer> {\r\n protected override index = 1;\r\n\r\n constructor(\r\n vcr: ViewContainerRef,\r\n injector: Injector,\r\n @Self()\r\n @Optional()\r\n control: NgControl,\r\n renderer: Renderer2,\r\n el: ElementRef<HTMLElement>\r\n ) {\r\n super(vcr, HermesControlContainer, injector, control, renderer, el);\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 { ContentChildren, Directive, HostListener, Input, QueryList } from '@angular/core';\r\n\r\nimport { HermesControlLabel } from './label';\r\nimport { LayoutService } from './providers/layout.service';\r\nimport { MarkControlService } from './providers/mark-control.service';\r\n\r\n@Directive({\r\n selector: '[hermesForm]',\r\n providers: [LayoutService, MarkControlService],\r\n host: {\r\n '[class.hermes-form]': 'true',\r\n '[class.hermes-form-horizontal]': 'layoutService.isHorizontal()',\r\n '[class.hermes-form-compact]': 'layoutService.isCompact()',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesForm {\r\n @ContentChildren(HermesControlLabel, { descendants: true }) labels: QueryList<HermesControlLabel>;\r\n\r\n constructor(\r\n public layoutService: LayoutService,\r\n private markControlService: MarkControlService\r\n ) {}\r\n\r\n @Input('hermesLabelSize')\r\n set labelSize(size: number | string) {\r\n const sizeNumber = parseInt(size as string, 10) || 2;\r\n this.layoutService.labelSize = sizeNumber;\r\n }\r\n\r\n @HostListener('submit')\r\n onFormSubmit() {\r\n this.markAsTouched();\r\n }\r\n\r\n // Trying to avoid adding an input and keep this backwards compatible at the same time\r\n markAsTouched() {\r\n this.markControlService.markAsTouched();\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, Optional } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { NgControl } from '@angular/forms';\r\nimport { merge, of, tap } from 'rxjs';\r\nimport { startWith, switchMap } from 'rxjs/operators';\r\n\r\nimport { CONTROL_STATE } from './control-state.enum';\r\nimport { NgControlService } from '../providers/ng-control.service';\r\n\r\n@Directive()\r\nexport abstract class AbstractIfState {\r\n protected state: CONTROL_STATE;\r\n protected displayedContent = false;\r\n protected controls: NgControl[];\r\n\r\n protected constructor(@Optional() protected ngControlService: NgControlService) {\r\n if (ngControlService) {\r\n ngControlService.controlsChanges\r\n .pipe(\r\n tap(controls => {\r\n this.controls = controls;\r\n }),\r\n switchMap(controls => {\r\n if (!controls || controls.length === 0) {\r\n return [];\r\n }\r\n\r\n const statusStreams = controls.map(c => this.getControlStatusChangesObservable(c));\r\n\r\n return merge(...statusStreams);\r\n }),\r\n takeUntilDestroyed()\r\n )\r\n .subscribe(status => {\r\n this.state = status;\r\n this.handleState(status);\r\n });\r\n }\r\n }\r\n\r\n protected handleState(_state: any): void {\r\n /* overwrite in implementation to handle status change */\r\n }\r\n\r\n private getControlStatusChangesObservable(control: NgControl) {\r\n if (!control.statusChanges) {\r\n return of(null);\r\n }\r\n\r\n return control.statusChanges.pipe(startWith(control.status));\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, EmbeddedViewRef, Input, Optional, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\nimport { AbstractIfState } from './abstract-if-state';\r\nimport { CONTROL_STATE } from './control-state.enum';\r\nimport { NgControlService } from '../providers/ng-control.service';\r\n\r\n@Directive({\r\n selector: '[hermesIfError]',\r\n standalone: false,\r\n})\r\nexport class HermesIfError extends AbstractIfState {\r\n private _error: string;\r\n private embeddedViewRef: EmbeddedViewRef<any>;\r\n\r\n constructor(\r\n @Optional() ngControlService: NgControlService,\r\n private template: TemplateRef<any>,\r\n private container: ViewContainerRef\r\n ) {\r\n super(ngControlService);\r\n\r\n if (!ngControlService) {\r\n throw new Error('hermesIfError can only be used within a form control container element like hermes-input-container');\r\n }\r\n }\r\n\r\n @Input('hermesIfError')\r\n get error() {\r\n return this._error;\r\n }\r\n set error(value: string) {\r\n this._error = value;\r\n\r\n this.handleState(this.state);\r\n }\r\n\r\n /**\r\n * @param state CONTROL_STATE\r\n */\r\n protected override handleState(state: CONTROL_STATE) {\r\n if (!this.controls?.length) {\r\n return;\r\n }\r\n\r\n if (this.error) {\r\n const invalidControl = this.controls?.filter(control => control.hasError(this.error))[0];\r\n this.displayError(!!invalidControl, invalidControl);\r\n } else {\r\n this.displayError(CONTROL_STATE.INVALID === state, this.controls[0]);\r\n }\r\n }\r\n\r\n private displayError(invalid: boolean, control: NgControl) {\r\n /* if no container do nothing */\r\n if (!this.container) {\r\n return;\r\n }\r\n if (invalid) {\r\n if (this.displayedContent === false) {\r\n this.embeddedViewRef = this.container.createEmbeddedView(this.template, {\r\n error: control.getError(this.error),\r\n });\r\n this.displayedContent = true;\r\n } else if (this.embeddedViewRef && this.embeddedViewRef.context) {\r\n // if view is already rendered, update the error object to keep it in sync\r\n this.embeddedViewRef.context.error = control.getError(this.error);\r\n }\r\n } else {\r\n this.container.clear();\r\n this.displayedContent = false;\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 { Directive, Optional, TemplateRef, ViewContainerRef } from '@angular/core';\r\n\r\nimport { AbstractIfState } from './abstract-if-state';\r\nimport { CONTROL_STATE } from './control-state.enum';\r\nimport { NgControlService } from '../providers/ng-control.service';\r\n\r\n@Directive({\r\n selector: '[hermesIfSuccess]',\r\n standalone: false,\r\n})\r\nexport class HermesIfSuccess extends AbstractIfState {\r\n constructor(\r\n @Optional() ngControlService: NgControlService,\r\n private template: TemplateRef<any>,\r\n private container: ViewContainerRef\r\n ) {\r\n super(ngControlService);\r\n\r\n if (!ngControlService) {\r\n throw new Error('HermesIfSuccess can only be used within a form control container element like hermes-input-container');\r\n }\r\n }\r\n\r\n /**\r\n * @param state CONTROL_STATE\r\n */\r\n protected override handleState(state: CONTROL_STATE) {\r\n const isValid = CONTROL_STATE.VALID === state;\r\n\r\n if (isValid && !this.displayedContent) {\r\n this.container.createEmbeddedView(this.template);\r\n } else if (!isValid && this.container) {\r\n this.container.clear();\r\n }\r\n this.displayedContent = isValid;\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, Input, OnInit } from '@angular/core';\r\n\r\nimport { HermesFormLayout, LayoutService } from './providers/layout.service';\r\n\r\n@Directive({\r\n selector: '[hermesForm][hermesLayout]',\r\n standalone: false,\r\n})\r\nexport class HermesLayout implements OnInit {\r\n @Input('hermesLayout') layout: HermesFormLayout | string;\r\n\r\n constructor(public layoutService: LayoutService) {}\r\n\r\n ngOnInit() {\r\n // Only set the layout if it is a valid option\r\n if (this.layout && this.layoutService.isValid(this.layout)) {\r\n this.layoutService.layout = this.layout;\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 } from '@angular/core';\r\nimport { ClarityIcons, HermesIcon, errorStandardIcon, successStandardIcon } from '@hermes-ui/angular/icon';\r\n\r\nimport { HermesControl } from './control';\r\nimport { HermesControlContainer } from './control-container';\r\nimport { HermesControlError } from './control-subtexts/error';\r\nimport { HermesControlHelper } from './control-subtexts/helper';\r\nimport { HermesControlSuccess } from './control-subtexts/success';\r\nimport { HermesForm } from './form';\r\nimport { HermesIfError } from './if-control-state/if-error';\r\nimport { HermesIfSuccess } from './if-control-state/if-success';\r\nimport { HermesControlLabel } from './label';\r\nimport { HermesLayout } from './layout';\r\n\r\n@NgModule({\r\n imports: [CommonModule, HermesIcon],\r\n declarations: [\r\n HermesControlLabel,\r\n HermesControlError,\r\n HermesControlSuccess,\r\n HermesControlHelper,\r\n HermesIfError,\r\n HermesIfSuccess,\r\n HermesForm,\r\n HermesLayout,\r\n HermesControlContainer,\r\n HermesControl,\r\n ],\r\n exports: [\r\n HermesControlLabel,\r\n HermesControlError,\r\n HermesControlSuccess,\r\n HermesControlHelper,\r\n HermesIfError,\r\n HermesIfSuccess,\r\n HermesForm,\r\n HermesLayout,\r\n HermesControlContainer,\r\n HermesControl,\r\n HermesIcon,\r\n ],\r\n})\r\nexport class HermesCommonFormsModule {\r\n constructor() {\r\n ClarityIcons.addIcons(successStandardIcon, errorStandardIcon);\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\n\r\n@Injectable()\r\nexport class FormsFocusService {\r\n private _focused = new BehaviorSubject(false);\r\n get focusChange(): Observable<boolean> {\r\n return this._focused.asObservable();\r\n }\r\n set focused(state: boolean) {\r\n this._focused.next(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\r\nexport * from './abstract-container';\r\nexport * from './common.module';\r\nexport * from './control';\r\nexport * from './control-container';\r\nexport * from './control-subtexts/helper';\r\nexport * from './control-subtexts/error';\r\nexport * from './control-subtexts/success';\r\nexport * from './form';\r\nexport * from './if-control-state/if-error';\r\nexport * from './if-control-state/if-success';\r\nexport * from './if-control-state/abstract-if-state';\r\nexport * from './label';\r\nexport * from './layout';\r\nexport * from './providers/container-id.service';\r\nexport * from './providers/control-class.service';\r\nexport * from './providers/control-id.service';\r\nexport * from './providers/focus.service';\r\nexport * from './providers/layout.service';\r\nexport * from './providers/mark-control.service';\r\nexport * from './providers/ng-control.service';\r\nexport * from './wrapped-control';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["counter","i1.ControlIdService","i2.ContainerIdService","i2.LayoutService","i3.NgControlService","i1.LayoutService","i2.ControlClassService","i2.HermesControlLabel","i1","i2.MarkControlService","i1.NgControlService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-forms-common.mjs","sources":["../../../forms/common/providers/control-id.service.ts","../../../forms/common/providers/container-id.service.ts","../../../forms/common/abstract-control.ts","../../../forms/common/control-subtexts/error.ts","../../../forms/common/control-subtexts/helper.ts","../../../forms/common/control-subtexts/success.ts","../../../forms/common/if-control-state/control-state.enum.ts","../../../forms/common/providers/layout.service.ts","../../../forms/common/providers/ng-control.service.ts","../../../forms/common/label.ts","../../../forms/common/providers/control-class.service.ts","../../../forms/common/abstract-container.ts","../../../forms/common/control-container.ts","../../../forms/common/providers/mark-control.service.ts","../../../forms/common/wrapped-control.ts","../../../forms/common/control.ts","../../../forms/common/form.ts","../../../forms/common/if-control-state/abstract-if-state.ts","../../../forms/common/if-control-state/if-error.ts","../../../forms/common/if-control-state/if-success.ts","../../../forms/common/layout.ts","../../../forms/common/common.module.ts","../../../forms/common/providers/focus.service.ts","../../../forms/common/index.ts","../../../forms/common/hermes-ui-angular-forms-common.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 { BehaviorSubject, Observable } from 'rxjs';\r\n\r\nlet counter = 0;\r\n\r\n@Injectable()\r\nexport class ControlIdService {\r\n private _id = 'hermes-form-control-' + ++counter;\r\n private _idChange = new BehaviorSubject(this._id);\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 this._idChange.next(value);\r\n }\r\n\r\n get idChange(): Observable<string> {\r\n return this._idChange.asObservable();\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\n\r\nlet counter = 0;\r\n\r\n/**\r\n * @TODO No idea why I need to use provideIn .. without I'm getting error that\r\n * ContainerIdService is not defined - But this must be optional service!?\r\n *\r\n * There is something wrong - will come back to investigate it when I have more time\r\n *\r\n */\r\n@Injectable()\r\nexport class ContainerIdService {\r\n private _id = `hermes-form-container-${++counter}`;\r\n private _idChange = new BehaviorSubject(this._id);\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 this._idChange.next(value);\r\n }\r\n\r\n get idChange(): Observable<string> {\r\n return this._idChange.asObservable();\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, Optional } from '@angular/core';\r\n\r\nimport { ContainerIdService } from './providers/container-id.service';\r\nimport { ControlIdService } from './providers/control-id.service';\r\n\r\nexport const CONTROL_SUFFIX: { [key: string]: string | null } = {\r\n HELPER: 'helper',\r\n ERROR: 'error',\r\n SUCCESS: 'success',\r\n NONE: null,\r\n};\r\n\r\n@Directive()\r\nexport abstract class HermesAbstractControl {\r\n /**\r\n * Hold the suffix for the ID\r\n */\r\n controlIdSuffix = 'abstract';\r\n\r\n protected constructor(\r\n @Optional() protected controlIdService: ControlIdService,\r\n @Optional() protected containerIdService: ContainerIdService\r\n ) {}\r\n\r\n get id(): string {\r\n /**\r\n * The order of witch the id will be pick is:\r\n * - Container ID (Wrapper arround multiple Controls like, Checkbox, Radio, ...)\r\n * - Control ID (Single Control wrapper like Input, Textarea, Password, ...)\r\n * - None\r\n */\r\n if (this.containerIdService) {\r\n return `${this.containerIdService.id}-${this.controlIdSuffix}`;\r\n }\r\n\r\n if (this.controlIdService) {\r\n return `${this.controlIdService.id}-${this.controlIdSuffix}`;\r\n }\r\n\r\n return null;\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, Optional } from '@angular/core';\r\n\r\nimport { HermesAbstractControl, CONTROL_SUFFIX } from '../abstract-control';\r\nimport { ContainerIdService } from '../providers/container-id.service';\r\nimport { ControlIdService } from '../providers/control-id.service';\r\n\r\n@Component({\r\n selector: 'hermes-control-error',\r\n template: `\r\n <hermes-icon class=\"hermes-validate-icon\" shape=\"error-standard\" status=\"danger\" aria-hidden=\"true\"></hermes-icon>\r\n <span class=\"hermes-subtext\">\r\n <ng-content></ng-content>\r\n </span>\r\n `,\r\n host: {\r\n '[class.hermes-subtext-wrapper]': 'true',\r\n '[class.error]': 'true',\r\n '[attr.id]': 'id',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesControlError extends HermesAbstractControl {\r\n override controlIdSuffix = CONTROL_SUFFIX.ERROR;\r\n\r\n constructor(\r\n @Optional() protected override controlIdService: ControlIdService,\r\n @Optional() protected override containerIdService: ContainerIdService\r\n ) {\r\n super(controlIdService, containerIdService);\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, Optional } from '@angular/core';\r\n\r\nimport { HermesAbstractControl, CONTROL_SUFFIX } from '../abstract-control';\r\nimport { ContainerIdService } from '../providers/container-id.service';\r\nimport { ControlIdService } from '../providers/control-id.service';\r\n\r\n@Component({\r\n selector: 'hermes-control-helper',\r\n template: `<ng-content></ng-content>`,\r\n host: {\r\n '[class.hermes-subtext]': 'true',\r\n '[attr.id]': 'id',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesControlHelper extends HermesAbstractControl {\r\n override controlIdSuffix = CONTROL_SUFFIX.HELPER;\r\n\r\n constructor(\r\n @Optional() protected override controlIdService: ControlIdService,\r\n @Optional() protected override containerIdService: ContainerIdService\r\n ) {\r\n super(controlIdService, containerIdService);\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, Optional } from '@angular/core';\r\n\r\nimport { HermesAbstractControl, CONTROL_SUFFIX } from '../abstract-control';\r\nimport { ContainerIdService } from '../providers/container-id.service';\r\nimport { ControlIdService } from '../providers/control-id.service';\r\n\r\n@Component({\r\n selector: 'hermes-control-success',\r\n template: `\r\n <hermes-icon class=\"hermes-validate-icon\" shape=\"success-standard\" status=\"success\" aria-hidden=\"true\"></hermes-icon>\r\n <span class=\"hermes-subtext\">\r\n <ng-content></ng-content>\r\n </span>\r\n `,\r\n host: {\r\n '[class.hermes-subtext-wrapper]': 'true',\r\n '[class.success]': 'true',\r\n '[attr.id]': 'id',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesControlSuccess extends HermesAbstractControl {\r\n override controlIdSuffix = CONTROL_SUFFIX.SUCCESS;\r\n\r\n constructor(\r\n @Optional() protected override controlIdService: ControlIdService,\r\n @Optional() protected override containerIdService: ContainerIdService\r\n ) {\r\n super(controlIdService, containerIdService);\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 CONTROL_STATE {\r\n VALID = 'VALID',\r\n INVALID = 'INVALID',\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\nexport enum HermesFormLayout {\r\n VERTICAL = 'vertical',\r\n HORIZONTAL = 'horizontal',\r\n COMPACT = 'compact',\r\n}\r\n\r\n@Injectable()\r\nexport class LayoutService {\r\n readonly minLabelSize = 1;\r\n readonly maxLabelSize = 12;\r\n\r\n layout: HermesFormLayout | string = HermesFormLayout.HORIZONTAL;\r\n\r\n private layoutValues: string[] = Object.values(HermesFormLayout);\r\n private _labelSize = 2;\r\n\r\n get labelSize(): number {\r\n return this._labelSize;\r\n }\r\n set labelSize(size: number) {\r\n if (this.labelSizeIsValid(size)) {\r\n this._labelSize = size;\r\n }\r\n }\r\n\r\n get layoutClass(): string {\r\n return `hermes-form-${this.layout}`;\r\n }\r\n\r\n isVertical(): boolean {\r\n return this.layout === HermesFormLayout.VERTICAL;\r\n }\r\n\r\n isHorizontal(): boolean {\r\n return this.layout === HermesFormLayout.HORIZONTAL;\r\n }\r\n\r\n isCompact(): boolean {\r\n return this.layout === HermesFormLayout.COMPACT;\r\n }\r\n\r\n isValid(layout: string): boolean {\r\n return this.layoutValues.indexOf(layout) > -1;\r\n }\r\n\r\n labelSizeIsValid(labelSize: number): boolean {\r\n return Number.isInteger(labelSize) && labelSize >= this.minLabelSize && labelSize <= this.maxLabelSize;\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 { NgControl } from '@angular/forms';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { HermesAbstractContainer } from '../abstract-container';\r\n\r\nexport interface Helpers {\r\n show?: boolean;\r\n showInvalid?: boolean;\r\n showValid?: boolean;\r\n showHelper?: boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class NgControlService {\r\n container: HermesAbstractContainer;\r\n private _controls: NgControl[] = [];\r\n\r\n // Observable to subscribe to the control, since its not available immediately for projected content\r\n private _controlsChanges = new Subject<NgControl[]>();\r\n\r\n get controls() {\r\n return this._controls;\r\n }\r\n\r\n get controlsChanges(): Observable<NgControl[]> {\r\n return this._controlsChanges.asObservable();\r\n }\r\n\r\n get hasMultipleControls() {\r\n return this._controls?.length > 1;\r\n }\r\n\r\n addControl(control: NgControl) {\r\n this._controls.push(control);\r\n\r\n this.emitControlsChange(this._controls);\r\n }\r\n\r\n emitControlsChange(controls: NgControl[]) {\r\n this._controlsChanges.next(controls);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport {\r\n ContentChild,\r\n Directive,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport { HermesSignpost } from '@hermes-ui/angular/popover/signpost';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { ControlIdService } from './providers/control-id.service';\r\nimport { LayoutService } from './providers/layout.service';\r\nimport { NgControlService } from './providers/ng-control.service';\r\n\r\n@Directive({\r\n selector: 'label',\r\n standalone: false,\r\n})\r\nexport class HermesControlLabel implements OnInit, OnDestroy {\r\n @Input('id') idInput: string;\r\n @HostBinding('attr.id') idAttr: string;\r\n\r\n @Input('for') @HostBinding('attr.for') forAttr: string;\r\n\r\n @ContentChild(HermesSignpost, { read: ElementRef }) private signpost: ElementRef;\r\n private enableGrid = true;\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n @Optional() private controlIdService: ControlIdService,\r\n @Optional() private layoutService: LayoutService,\r\n @Optional() private ngControlService: NgControlService,\r\n private renderer: Renderer2,\r\n private el: ElementRef<HTMLLabelElement>\r\n ) {}\r\n\r\n get labelText(): string {\r\n return this.el.nativeElement && this.el.nativeElement.textContent;\r\n }\r\n\r\n ngOnInit() {\r\n // Prevent id attributes from being removed by the `undefined` host binding.\r\n // This happens when a `label` is used outside of a control container and other use cases.\r\n this.idAttr = this.idInput;\r\n\r\n // Only add the hermes-control-label if it is inside a control container\r\n if (this.controlIdService || this.ngControlService) {\r\n this.renderer.addClass(this.el.nativeElement, 'hermes-control-label');\r\n }\r\n // Only set the grid column classes if we are in the right context and if they aren't already set\r\n if (\r\n this.enableGrid &&\r\n this.layoutService &&\r\n !this.layoutService.isVertical() &&\r\n this.el.nativeElement &&\r\n this.el.nativeElement.className.indexOf('hermes-col') < 0\r\n ) {\r\n this.renderer.addClass(this.el.nativeElement, 'hermes-col-12');\r\n this.renderer.addClass(this.el.nativeElement, `hermes-col-md-${this.layoutService.labelSize}`);\r\n }\r\n if (this.controlIdService && !this.forAttr) {\r\n this.subscriptions.push(\r\n this.controlIdService.idChange.subscribe(id => {\r\n this.forAttr = id;\r\n this.idAttr = this.idInput || `${id}-label`;\r\n })\r\n );\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(sub => sub.unsubscribe());\r\n }\r\n\r\n disableGrid() {\r\n this.enableGrid = false;\r\n }\r\n\r\n /**\r\n * Allowing signposts inside labels to work without disabling default behavior. <label> is spreading a click event to its children so signposts get\r\n * automatically closed once clicked inside a <label>.\r\n * @param event\r\n */\r\n @HostListener('click', ['$event'])\r\n private onClick(event) {\r\n this.preventDefaultOnSignpostTarget(event);\r\n }\r\n\r\n private preventDefaultOnSignpostTarget(event) {\r\n if (this.signpost && this.signpost.nativeElement && this.signpost.nativeElement.contains(event.target)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable, Optional, Renderer2 } from '@angular/core';\r\n\r\nimport { LayoutService } from './layout.service';\r\nimport { CONTROL_STATE } from '../if-control-state/control-state.enum';\r\n\r\nconst CLASS_ERROR = 'hermes-error';\r\nconst CLASS_SUCCESS = 'hermes-success';\r\n\r\n@Injectable()\r\nexport class ControlClassService {\r\n className = '';\r\n\r\n constructor(@Optional() private layoutService: LayoutService) {}\r\n\r\n controlClass(state: string, grid = false, additional = '') {\r\n const controlClasses = [this.className, additional];\r\n\r\n switch (state) {\r\n case CONTROL_STATE.VALID:\r\n controlClasses.push(CLASS_SUCCESS);\r\n break;\r\n case CONTROL_STATE.INVALID:\r\n controlClasses.push(CLASS_ERROR);\r\n break;\r\n }\r\n\r\n if (grid && this.layoutService && this.className.indexOf('hermes-col') === -1) {\r\n controlClasses.push(`hermes-col-md-${this.layoutService.maxLabelSize - this.layoutService.labelSize} hermes-col-12`);\r\n }\r\n return controlClasses.join(' ').trim();\r\n }\r\n\r\n // We want to remove the column classes from the input up to the container\r\n initControlClass(renderer: Renderer2, element: HTMLElement) {\r\n if (element && element.className) {\r\n const klasses = element.className.split(' ');\r\n const controlKlasses = [];\r\n\r\n klasses.forEach(klass => {\r\n if (klass.startsWith('hermes-')) {\r\n controlKlasses.push(klass);\r\n }\r\n\r\n if (klass.startsWith('hermes-col')) {\r\n renderer.removeClass(element, klass);\r\n }\r\n });\r\n\r\n this.className = controlKlasses.join(' ').trim();\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 { ContentChild, Directive, OnDestroy, Optional } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { HermesControlError } from './control-subtexts/error';\r\nimport { HermesControlHelper } from './control-subtexts/helper';\r\nimport { HermesControlSuccess } from './control-subtexts/success';\r\nimport { CONTROL_STATE } from './if-control-state/control-state.enum';\r\nimport { HermesControlLabel } from './label';\r\nimport { ControlClassService } from './providers/control-class.service';\r\nimport { LayoutService } from './providers/layout.service';\r\nimport { NgControlService } from './providers/ng-control.service';\r\n\r\n@Directive()\r\nexport abstract class HermesAbstractContainer implements OnDestroy {\r\n @ContentChild(HermesControlLabel, { static: false }) label: HermesControlLabel;\r\n @ContentChild(HermesControlSuccess) controlSuccessComponent: HermesControlSuccess;\r\n @ContentChild(HermesControlError) controlErrorComponent: HermesControlError;\r\n @ContentChild(HermesControlHelper) controlHelperComponent: HermesControlHelper;\r\n\r\n controls: NgControl[] = [];\r\n\r\n protected subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n @Optional() protected layoutService: LayoutService,\r\n protected controlClassService: ControlClassService,\r\n protected ngControlService: NgControlService\r\n ) {\r\n this.subscriptions.push(\r\n ngControlService.controlsChanges.subscribe(controls => {\r\n this.controls = controls;\r\n })\r\n );\r\n\r\n ngControlService.container = this;\r\n }\r\n\r\n get control() {\r\n return this.controls[0];\r\n }\r\n\r\n /**\r\n * @NOTE\r\n * Helper control is a bit different than the others, it must be always visible:\r\n * - Labels and instructions must always accompany forms and are persistent.\r\n * - The recommendation here is to always have helper text or anything instructions visible.\r\n * - The expectation is to have error text + helper text in the errored state. this way all users will have the helper text information always available.\r\n */\r\n get showHelper(): boolean {\r\n /**\r\n * @NOTE\r\n * Saving the previous version in case something is changed. We'll return always true so we can be flexible\r\n * and keep the condition per components.\r\n *\r\n * return (\r\n * Helper Component exist and the state of the form is NONE (not touched)\r\n * (!!this.controlHelperComponent && (!this.touched || this.state === CONTROL_STATE.NONE)) ||\r\n * or there is no success component but the state of the form is VALID - show helper information\r\n * (!!this.controlSuccessComponent === false && this.state === CONTROL_STATE.VALID) ||\r\n * or there is no error component but the state of the form is INVALID - show helper information\r\n * (!!this.controlErrorComponent === false && this.state === CONTROL_STATE.INVALID)\r\n * );\r\n */\r\n return Boolean(this.controlHelperComponent);\r\n }\r\n\r\n /**\r\n * We gonna set the helper control state, after all or most of the components\r\n * are ready - also this will trigger some initial flows into wrappers and controls,\r\n * like locating IDs and setting attributes.\r\n */\r\n get helpers() {\r\n return {\r\n show: this.showInvalid || this.showHelper || this.showValid,\r\n showInvalid: this.showInvalid,\r\n showHelper: this.showHelper,\r\n showValid: this.showValid,\r\n };\r\n }\r\n\r\n get showValid(): boolean {\r\n return this.touched && this.state === CONTROL_STATE.VALID && this.successMessagePresent;\r\n }\r\n\r\n get showInvalid(): boolean {\r\n return this.touched && this.state === CONTROL_STATE.INVALID && this.errorMessagePresent;\r\n }\r\n\r\n protected get successMessagePresent() {\r\n return !!this.controlSuccessComponent;\r\n }\r\n\r\n protected get errorMessagePresent() {\r\n return !!this.controlErrorComponent;\r\n }\r\n\r\n private get touched() {\r\n return !!this.controls?.some(control => control.touched);\r\n }\r\n\r\n private get state() {\r\n const controlStatuses = this.controls.map((control: NgControl) => {\r\n return control.status;\r\n });\r\n\r\n // These status values are mutually exclusive, so a control\r\n // cannot be both valid AND invalid or invalid AND disabled.\r\n // if else order is important!\r\n if (controlStatuses.includes(CONTROL_STATE.INVALID)) {\r\n return CONTROL_STATE.INVALID;\r\n } else if (controlStatuses.includes(CONTROL_STATE.VALID)) {\r\n return CONTROL_STATE.VALID;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n\r\n controlClass() {\r\n /**\r\n * Decide what subtext to display:\r\n * - container is valid but no success component is implemented - use helper class\r\n * - container is valid and success component is implemented - use success class\r\n * - Pass form control state and return string of classes to be applied to the container.\r\n */\r\n const currentState = this.touched ? this.state : null;\r\n\r\n return this.controlClassService.controlClass(currentState, this.addGrid());\r\n }\r\n\r\n addGrid() {\r\n return this.layoutService && !this.layoutService.isVertical();\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { HermesAbstractContainer } from './abstract-container';\r\nimport { ControlClassService } from './providers/control-class.service';\r\nimport { ControlIdService } from './providers/control-id.service';\r\nimport { NgControlService } from './providers/ng-control.service';\r\n\r\n@Component({\r\n selector: 'hermes-control-container',\r\n template: `\r\n <ng-content select=\"label\"></ng-content>\r\n @if (!label && addGrid()) {\r\n <label></label>\r\n }\r\n <div class=\"hermes-control-container\" [ngClass]=\"controlClass()\">\r\n <div class=\"hermes-input-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n @if (showHelper) {\r\n <ng-content select=\"hermes-control-helper\"></ng-content>\r\n }\r\n @if (showInvalid) {\r\n <ng-content select=\"hermes-control-error\"></ng-content>\r\n }\r\n @if (showValid) {\r\n <ng-content select=\"hermes-control-success\"></ng-content>\r\n }\r\n </div>\r\n `,\r\n host: {\r\n '[class.hermes-form-control]': 'true',\r\n '[class.hermes-form-control-disabled]': 'control?.disabled',\r\n '[class.hermes-row]': 'addGrid()',\r\n },\r\n providers: [NgControlService, ControlIdService, ControlClassService],\r\n standalone: false,\r\n})\r\nexport class HermesControlContainer extends HermesAbstractContainer {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class MarkControlService {\r\n private _touched = new Subject<void>();\r\n\r\n get touchedChange(): Observable<void> {\r\n return this._touched.asObservable();\r\n }\r\n\r\n markAsTouched() {\r\n this._touched.next();\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport {\r\n Directive,\r\n DoCheck,\r\n ElementRef,\r\n HostBinding,\r\n HostListener,\r\n InjectionToken,\r\n Injector,\r\n Input,\r\n KeyValueDiffer,\r\n KeyValueDiffers,\r\n OnDestroy,\r\n OnInit,\r\n Renderer2,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { HostWrapper } from '@hermes-ui/angular/utils';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { CONTROL_SUFFIX } from './abstract-control';\r\nimport { ContainerIdService } from './providers/container-id.service';\r\nimport { ControlClassService } from './providers/control-class.service';\r\nimport { ControlIdService } from './providers/control-id.service';\r\nimport { MarkControlService } from './providers/mark-control.service';\r\nimport { NgControlService } from './providers/ng-control.service';\r\n\r\nexport enum CHANGE_KEYS {\r\n FORM = 'form',\r\n MODEL = 'model',\r\n}\r\n\r\n@Directive()\r\nexport class WrappedFormControl<W> implements OnInit, DoCheck, OnDestroy {\r\n _id: string;\r\n\r\n protected controlIdService: ControlIdService;\r\n protected ngControlService: NgControlService;\r\n protected index = 0;\r\n protected subscriptions: Subscription[] = [];\r\n\r\n private controlClassService: ControlClassService;\r\n private markControlService: MarkControlService;\r\n private containerIdService: ContainerIdService;\r\n private _containerInjector: Injector;\r\n private differs: KeyValueDiffers;\r\n private differ: KeyValueDiffer<any, any>;\r\n\r\n // I lost way too much time trying to make this work without injecting the ViewContainerRef and the Injector,\r\n // I'm giving up. So we have to inject these two manually for now.\r\n constructor(\r\n protected vcr: ViewContainerRef,\r\n protected wrapperType: Type<W>,\r\n injector: Injector,\r\n private ngControl: NgControl | null,\r\n protected renderer: Renderer2,\r\n protected el: ElementRef<HTMLElement>\r\n ) {\r\n if (injector) {\r\n this.ngControlService = injector.get(NgControlService, null);\r\n this.markControlService = injector.get(MarkControlService, null);\r\n this.differs = injector.get(KeyValueDiffers, null);\r\n }\r\n\r\n if (this.markControlService) {\r\n this.subscriptions.push(\r\n this.markControlService.touchedChange.subscribe(() => {\r\n this.markAsTouched();\r\n })\r\n );\r\n }\r\n }\r\n\r\n @Input()\r\n @HostBinding()\r\n get id() {\r\n return this._id;\r\n }\r\n set id(value: string) {\r\n this._id = value;\r\n if (this.controlIdService) {\r\n this.controlIdService.id = value;\r\n }\r\n }\r\n\r\n @HostBinding('attr.aria-describedby')\r\n private get ariaDescribedById(): string | null {\r\n const helpers = this.ngControlService?.container?.helpers;\r\n\r\n if (!helpers?.show) {\r\n return null;\r\n }\r\n\r\n const elementId = this.containerIdService?.id || this.controlIdService?.id;\r\n /**\r\n * If ContainerIdService or ControlIdService are missing don't try to guess\r\n * Don't set anything.\r\n */\r\n if (!elementId) {\r\n return null;\r\n }\r\n\r\n /**\r\n * As the helper text is now always visible. If we have error/success then we should use both ids.\r\n */\r\n const describedByIds = [`${elementId}-${CONTROL_SUFFIX.HELPER}`];\r\n if (helpers.showInvalid) {\r\n describedByIds.push(`${elementId}-${CONTROL_SUFFIX.ERROR}`);\r\n } else if (helpers.showValid) {\r\n describedByIds.push(`${elementId}-${CONTROL_SUFFIX.SUCCESS}`);\r\n }\r\n\r\n return describedByIds.join(' ');\r\n }\r\n\r\n ngOnInit() {\r\n this._containerInjector = new HostWrapper(this.wrapperType, this.vcr, this.index);\r\n this.controlIdService = this._containerInjector.get(ControlIdService);\r\n\r\n this.injectControlClassService(this._containerInjector);\r\n\r\n /**\r\n * not all containers will provide `ContainerIdService`\r\n */\r\n this.containerIdService = this._containerInjector.get(ContainerIdService, null);\r\n\r\n if (this._id) {\r\n this.controlIdService.id = this._id;\r\n } else {\r\n this._id = this.controlIdService.id;\r\n }\r\n\r\n // 4 possible variations\r\n // 1. NO ngControlService and NO ngControl\r\n // 2. NO ngControlService and YES ngControl\r\n // 3. YES ngControlService and NO ngControl\r\n // 4. YES ngControlService and YES ngControl\r\n\r\n if (this.ngControl) {\r\n this.differ = this.differs.find(this.ngControl).create();\r\n }\r\n\r\n if (this.ngControlService && this.ngControl) {\r\n this.ngControlService.addControl(this.ngControl);\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n if (this.ngControl) {\r\n this.triggerDoCheck(this.differ, this.ngControl);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(sub => sub?.unsubscribe());\r\n }\r\n\r\n // blur HostListener decorator MUST be 1 and on the parent.\r\n // overrides MUST NOT have HostListener decorator.\r\n @HostListener('blur')\r\n triggerValidation() {\r\n if (this.ngControl?.control?.markAsTouched) {\r\n this.ngControl.control.markAsTouched();\r\n }\r\n }\r\n\r\n // @TODO This method has a try/catch due to an unknown issue that came when building the hermesToggle feature\r\n // We need to figure out why this fails for the HermesToggle scenario but works for Date picker...\r\n // To see the error, remove the try/catch here and run the HermesToggle suite to see issues getting the container\r\n // injector in time, and this ONLY HAPPENS in tests and not in dev/prod mode.\r\n protected getProviderFromContainer<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T {\r\n try {\r\n return this._containerInjector.get(token, notFoundValue);\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n } catch (e) {\r\n return notFoundValue;\r\n }\r\n }\r\n\r\n private injectControlClassService(injector: Injector) {\r\n if (!this.controlClassService) {\r\n this.controlClassService = injector.get(ControlClassService, null);\r\n if (this.controlClassService) {\r\n this.controlClassService.initControlClass(this.renderer, this.el.nativeElement);\r\n }\r\n }\r\n }\r\n\r\n private triggerDoCheck(differ: KeyValueDiffer<any, any>, ngControl: NgControl) {\r\n if (differ) {\r\n const changes = differ.diff(ngControl);\r\n if (changes) {\r\n changes.forEachChangedItem(change => {\r\n if (\r\n (change.key === CHANGE_KEYS.FORM || change.key === CHANGE_KEYS.MODEL) &&\r\n change.currentValue !== change.previousValue\r\n ) {\r\n if (this.ngControlService) {\r\n this.ngControlService.emitControlsChange(this.ngControlService.controls);\r\n }\r\n\r\n this.triggerValidation();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n private markAsTouched(): void {\r\n if (this.ngControlService && this.ngControlService.hasMultipleControls) {\r\n this.ngControlService.controls.forEach((ngControl: NgControl) => {\r\n ngControl.control.markAsTouched();\r\n ngControl.control.updateValueAndValidity();\r\n });\r\n\r\n return;\r\n }\r\n\r\n if (this.ngControl) {\r\n this.ngControl.control.markAsTouched();\r\n this.ngControl.control.updateValueAndValidity();\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 { Directive, ElementRef, Injector, Optional, Renderer2, Self, ViewContainerRef } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\nimport { HermesControlContainer } from './control-container';\r\nimport { WrappedFormControl } from './wrapped-control';\r\n\r\n@Directive({\r\n selector: '[hermesControl]',\r\n host: { '[class.hermes-input]': 'true' },\r\n standalone: false,\r\n})\r\nexport class HermesControl extends WrappedFormControl<HermesControlContainer> {\r\n protected override index = 1;\r\n\r\n constructor(\r\n vcr: ViewContainerRef,\r\n injector: Injector,\r\n @Self()\r\n @Optional()\r\n control: NgControl,\r\n renderer: Renderer2,\r\n el: ElementRef<HTMLElement>\r\n ) {\r\n super(vcr, HermesControlContainer, injector, control, renderer, el);\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 { ContentChildren, Directive, HostListener, Input, QueryList } from '@angular/core';\r\n\r\nimport { HermesControlLabel } from './label';\r\nimport { LayoutService } from './providers/layout.service';\r\nimport { MarkControlService } from './providers/mark-control.service';\r\n\r\n@Directive({\r\n selector: '[hermesForm]',\r\n providers: [LayoutService, MarkControlService],\r\n host: {\r\n '[class.hermes-form]': 'true',\r\n '[class.hermes-form-horizontal]': 'layoutService.isHorizontal()',\r\n '[class.hermes-form-compact]': 'layoutService.isCompact()',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesForm {\r\n @ContentChildren(HermesControlLabel, { descendants: true }) labels: QueryList<HermesControlLabel>;\r\n\r\n constructor(\r\n public layoutService: LayoutService,\r\n private markControlService: MarkControlService\r\n ) {}\r\n\r\n @Input('hermesLabelSize')\r\n set labelSize(size: number | string) {\r\n const sizeNumber = parseInt(size as string, 10) || 2;\r\n this.layoutService.labelSize = sizeNumber;\r\n }\r\n\r\n @HostListener('submit')\r\n onFormSubmit() {\r\n this.markAsTouched();\r\n }\r\n\r\n // Trying to avoid adding an input and keep this backwards compatible at the same time\r\n markAsTouched() {\r\n this.markControlService.markAsTouched();\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, Optional } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { NgControl } from '@angular/forms';\r\nimport { merge, of, tap } from 'rxjs';\r\nimport { startWith, switchMap } from 'rxjs/operators';\r\n\r\nimport { CONTROL_STATE } from './control-state.enum';\r\nimport { NgControlService } from '../providers/ng-control.service';\r\n\r\n@Directive()\r\nexport abstract class AbstractIfState {\r\n protected state: CONTROL_STATE;\r\n protected displayedContent = false;\r\n protected controls: NgControl[];\r\n\r\n protected constructor(@Optional() protected ngControlService: NgControlService) {\r\n if (ngControlService) {\r\n ngControlService.controlsChanges\r\n .pipe(\r\n tap(controls => {\r\n this.controls = controls;\r\n }),\r\n switchMap(controls => {\r\n if (!controls || controls.length === 0) {\r\n return [];\r\n }\r\n\r\n const statusStreams = controls.map(c => this.getControlStatusChangesObservable(c));\r\n\r\n return merge(...statusStreams);\r\n }),\r\n takeUntilDestroyed()\r\n )\r\n .subscribe(status => {\r\n this.state = status;\r\n this.handleState(status);\r\n });\r\n }\r\n }\r\n\r\n protected handleState(_state: any): void {\r\n /* overwrite in implementation to handle status change */\r\n }\r\n\r\n private getControlStatusChangesObservable(control: NgControl) {\r\n if (!control.statusChanges) {\r\n return of(null);\r\n }\r\n\r\n return control.statusChanges.pipe(startWith(control.status));\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, EmbeddedViewRef, Input, Optional, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\nimport { AbstractIfState } from './abstract-if-state';\r\nimport { CONTROL_STATE } from './control-state.enum';\r\nimport { NgControlService } from '../providers/ng-control.service';\r\n\r\n@Directive({\r\n selector: '[hermesIfError]',\r\n standalone: false,\r\n})\r\nexport class HermesIfError extends AbstractIfState {\r\n private _error: string;\r\n private embeddedViewRef: EmbeddedViewRef<any>;\r\n\r\n constructor(\r\n @Optional() ngControlService: NgControlService,\r\n private template: TemplateRef<any>,\r\n private container: ViewContainerRef\r\n ) {\r\n super(ngControlService);\r\n\r\n if (!ngControlService) {\r\n throw new Error('hermesIfError can only be used within a form control container element like hermes-input-container');\r\n }\r\n }\r\n\r\n @Input('hermesIfError')\r\n get error() {\r\n return this._error;\r\n }\r\n set error(value: string) {\r\n this._error = value;\r\n\r\n this.handleState(this.state);\r\n }\r\n\r\n /**\r\n * @param state CONTROL_STATE\r\n */\r\n protected override handleState(state: CONTROL_STATE) {\r\n if (!this.controls?.length) {\r\n return;\r\n }\r\n\r\n if (this.error) {\r\n const invalidControl = this.controls?.filter(control => control.hasError(this.error))[0];\r\n this.displayError(!!invalidControl, invalidControl);\r\n } else {\r\n this.displayError(CONTROL_STATE.INVALID === state, this.controls[0]);\r\n }\r\n }\r\n\r\n private displayError(invalid: boolean, control: NgControl) {\r\n /* if no container do nothing */\r\n if (!this.container) {\r\n return;\r\n }\r\n if (invalid) {\r\n if (this.displayedContent === false) {\r\n this.embeddedViewRef = this.container.createEmbeddedView(this.template, {\r\n error: control.getError(this.error),\r\n });\r\n this.displayedContent = true;\r\n } else if (this.embeddedViewRef && this.embeddedViewRef.context) {\r\n // if view is already rendered, update the error object to keep it in sync\r\n this.embeddedViewRef.context.error = control.getError(this.error);\r\n }\r\n } else {\r\n this.container.clear();\r\n this.displayedContent = false;\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 { Directive, Optional, TemplateRef, ViewContainerRef } from '@angular/core';\r\n\r\nimport { AbstractIfState } from './abstract-if-state';\r\nimport { CONTROL_STATE } from './control-state.enum';\r\nimport { NgControlService } from '../providers/ng-control.service';\r\n\r\n@Directive({\r\n selector: '[hermesIfSuccess]',\r\n standalone: false,\r\n})\r\nexport class HermesIfSuccess extends AbstractIfState {\r\n constructor(\r\n @Optional() ngControlService: NgControlService,\r\n private template: TemplateRef<any>,\r\n private container: ViewContainerRef\r\n ) {\r\n super(ngControlService);\r\n\r\n if (!ngControlService) {\r\n throw new Error('HermesIfSuccess can only be used within a form control container element like hermes-input-container');\r\n }\r\n }\r\n\r\n /**\r\n * @param state CONTROL_STATE\r\n */\r\n protected override handleState(state: CONTROL_STATE) {\r\n const isValid = CONTROL_STATE.VALID === state;\r\n\r\n if (isValid && !this.displayedContent) {\r\n this.container.createEmbeddedView(this.template);\r\n } else if (!isValid && this.container) {\r\n this.container.clear();\r\n }\r\n this.displayedContent = isValid;\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, Input, OnInit } from '@angular/core';\r\n\r\nimport { HermesFormLayout, LayoutService } from './providers/layout.service';\r\n\r\n@Directive({\r\n selector: '[hermesForm][hermesLayout]',\r\n standalone: false,\r\n})\r\nexport class HermesLayout implements OnInit {\r\n @Input('hermesLayout') layout: HermesFormLayout | string;\r\n\r\n constructor(public layoutService: LayoutService) {}\r\n\r\n ngOnInit() {\r\n // Only set the layout if it is a valid option\r\n if (this.layout && this.layoutService.isValid(this.layout)) {\r\n this.layoutService.layout = this.layout;\r\n }\r\n }\r\n}\r\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { HermesIcons, HermesIcon, errorStandardIcon, successStandardIcon } from '@hermes-ui/angular/icon';\n\nimport { HermesControl } from './control';\nimport { HermesControlContainer } from './control-container';\nimport { HermesControlError } from './control-subtexts/error';\nimport { HermesControlHelper } from './control-subtexts/helper';\nimport { HermesControlSuccess } from './control-subtexts/success';\nimport { HermesForm } from './form';\nimport { HermesIfError } from './if-control-state/if-error';\nimport { HermesIfSuccess } from './if-control-state/if-success';\nimport { HermesControlLabel } from './label';\nimport { HermesLayout } from './layout';\n\n@NgModule({\n imports: [CommonModule, HermesIcon],\n declarations: [\n HermesControlLabel,\n HermesControlError,\n HermesControlSuccess,\n HermesControlHelper,\n HermesIfError,\n HermesIfSuccess,\n HermesForm,\n HermesLayout,\n HermesControlContainer,\n HermesControl,\n ],\n exports: [\n HermesControlLabel,\n HermesControlError,\n HermesControlSuccess,\n HermesControlHelper,\n HermesIfError,\n HermesIfSuccess,\n HermesForm,\n HermesLayout,\n HermesControlContainer,\n HermesControl,\n HermesIcon,\n ],\n})\nexport class HermesCommonFormsModule {\n constructor() {\n HermesIcons.addIcons(successStandardIcon, errorStandardIcon);\n }\n}\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class FormsFocusService {\r\n private _focused = new BehaviorSubject(false);\r\n get focusChange(): Observable<boolean> {\r\n return this._focused.asObservable();\r\n }\r\n set focused(state: boolean) {\r\n this._focused.next(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\r\nexport * from './abstract-container';\r\nexport * from './common.module';\r\nexport * from './control';\r\nexport * from './control-container';\r\nexport * from './control-subtexts/helper';\r\nexport * from './control-subtexts/error';\r\nexport * from './control-subtexts/success';\r\nexport * from './form';\r\nexport * from './if-control-state/if-error';\r\nexport * from './if-control-state/if-success';\r\nexport * from './if-control-state/abstract-if-state';\r\nexport * from './label';\r\nexport * from './layout';\r\nexport * from './providers/container-id.service';\r\nexport * from './providers/control-class.service';\r\nexport * from './providers/control-id.service';\r\nexport * from './providers/focus.service';\r\nexport * from './providers/layout.service';\r\nexport * from './providers/mark-control.service';\r\nexport * from './providers/ng-control.service';\r\nexport * from './wrapped-control';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["counter","i1.ControlIdService","i2.ContainerIdService","i2.LayoutService","i3.NgControlService","i1.LayoutService","i2.ControlClassService","i2.HermesControlLabel","i1","i2.MarkControlService","i1.NgControlService"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { HermesAbstractContainer, ControlClassService, ControlIdService, FormsFo
|
|
|
6
6
|
import * as i2 from '@angular/common';
|
|
7
7
|
import { CommonModule } from '@angular/common';
|
|
8
8
|
import * as i3 from '@hermes-ui/angular/icon';
|
|
9
|
-
import {
|
|
9
|
+
import { HermesIcons, successStandardIcon, errorStandardIcon, HermesIcon } from '@hermes-ui/angular/icon';
|
|
10
10
|
import * as i2$1 from '@angular/forms';
|
|
11
11
|
import { HermesInputModule } from '@hermes-ui/angular/forms/input';
|
|
12
12
|
|
|
@@ -233,7 +233,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
|
|
|
233
233
|
*/
|
|
234
234
|
class HermesDatalistModule {
|
|
235
235
|
constructor() {
|
|
236
|
-
|
|
236
|
+
HermesIcons.addIcons(successStandardIcon, errorStandardIcon);
|
|
237
237
|
}
|
|
238
238
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesDatalistModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
239
239
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesDatalistModule, declarations: [HermesDatalist, HermesDatalistInput, HermesDatalistContainer], imports: [CommonModule, HermesInputModule, HermesIcon], exports: [HermesDatalist, HermesDatalistInput, HermesDatalistContainer] }); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-ui-angular-forms-datalist.mjs","sources":["../../../forms/datalist/providers/datalist-id.service.ts","../../../forms/datalist/datalist.ts","../../../forms/datalist/datalist-container.ts","../../../forms/datalist/datalist-input.ts","../../../forms/datalist/datalist.module.ts","../../../forms/datalist/index.ts","../../../forms/datalist/hermes-ui-angular-forms-datalist.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 { BehaviorSubject, Observable } from 'rxjs';\r\n\r\nlet counter = 0;\r\n\r\n@Injectable()\r\nexport class DatalistIdService {\r\n private _id = 'hermes-datalist-' + ++counter;\r\n private _idChange = new BehaviorSubject(this._id);\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 this._idChange.next(value);\r\n }\r\n\r\n get idChange(): Observable<string> {\r\n return this._idChange.asObservable();\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, Directive, Input, Optional } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { DatalistIdService } from './providers/datalist-id.service';\r\n\r\n@Directive({\r\n selector: 'datalist',\r\n host: {\r\n '[id]': 'datalistId',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesDatalist implements AfterContentInit {\r\n datalistId: string;\r\n\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(@Optional() private datalistIdService: DatalistIdService) {}\r\n\r\n @Input()\r\n set id(idValue: string) {\r\n if (!!idValue && this.datalistIdService) {\r\n this.datalistId = idValue;\r\n this.datalistIdService.id = idValue;\r\n } else if (idValue) {\r\n this.datalistId = idValue;\r\n }\r\n }\r\n\r\n ngAfterContentInit() {\r\n if (!this.datalistIdService) {\r\n return;\r\n }\r\n this.subscriptions.push(this.datalistIdService.idChange.subscribe(id => (this.datalistId = id)));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(sub => sub.unsubscribe());\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, Optional } from '@angular/core';\r\nimport {\r\n HermesAbstractContainer,\r\n ControlClassService,\r\n ControlIdService,\r\n FormsFocusService,\r\n LayoutService,\r\n NgControlService,\r\n} from '@hermes-ui/angular/forms/common';\r\n\r\nimport { DatalistIdService } from './providers/datalist-id.service';\r\n\r\n@Component({\r\n selector: 'hermes-datalist-container',\r\n template: `\r\n <ng-content select=\"label\"></ng-content>\r\n @if (!label && addGrid()) {\r\n <label></label>\r\n }\r\n <div class=\"hermes-control-container\" [ngClass]=\"controlClass()\">\r\n <div class=\"hermes-input-wrapper\">\r\n <div class=\"hermes-input-group\" [class.hermes-focus]=\"focus\" #datalist>\r\n <ng-content select=\"[hermesDatalistInput]\"></ng-content>\r\n <ng-content select=\"datalist\"></ng-content>\r\n <hermes-icon shape=\"angle\" class=\"hermes-datalist-caret\" direction=\"down\" (click)=\"showPicker(datalist)\"></hermes-icon>\r\n </div>\r\n </div>\r\n @if (showHelper) {\r\n <ng-content select=\"hermes-control-helper\"></ng-content>\r\n }\r\n @if (showInvalid) {\r\n <ng-content select=\"hermes-control-error\"></ng-content>\r\n }\r\n @if (showValid) {\r\n <ng-content select=\"hermes-control-success\"></ng-content>\r\n }\r\n </div>\r\n `,\r\n host: {\r\n '[class.hermes-form-control]': 'true',\r\n '[class.hermes-form-control-disabled]': 'control?.disabled',\r\n '[class.hermes-row]': 'addGrid()',\r\n },\r\n providers: [ControlClassService, ControlIdService, FormsFocusService, NgControlService, DatalistIdService],\r\n standalone: false,\r\n})\r\nexport class HermesDatalistContainer extends HermesAbstractContainer {\r\n focus = false;\r\n\r\n constructor(\r\n controlClassService: ControlClassService,\r\n @Optional() layoutService: LayoutService,\r\n ngControlService: NgControlService,\r\n focusService: FormsFocusService\r\n ) {\r\n super(layoutService, controlClassService, ngControlService);\r\n\r\n this.subscriptions.push(focusService.focusChange.subscribe(state => (this.focus = state)));\r\n }\r\n\r\n showPicker(datalist: HTMLElement) {\r\n const datalistInput = datalist.querySelector('input[hermesDatalistInput]') as HTMLInputElement;\r\n if (datalistInput) {\r\n datalistInput.focus();\r\n datalistInput.showPicker();\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 {\r\n AfterContentInit,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Injector,\r\n Optional,\r\n Renderer2,\r\n Self,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { FormsFocusService, WrappedFormControl } from '@hermes-ui/angular/forms/common';\r\n\r\nimport { HermesDatalistContainer } from './datalist-container';\r\nimport { DatalistIdService } from './providers/datalist-id.service';\r\n\r\n@Directive({\r\n selector: '[hermesDatalistInput]',\r\n host: {\r\n '[class.hermes-input]': 'true',\r\n '[attr.list]': 'listValue',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesDatalistInput extends WrappedFormControl<HermesDatalistContainer> implements AfterContentInit {\r\n listValue: string;\r\n\r\n constructor(\r\n @Optional() private focusService: FormsFocusService,\r\n vcr: ViewContainerRef,\r\n injector: Injector,\r\n @Self()\r\n @Optional()\r\n control: NgControl,\r\n renderer: Renderer2,\r\n el: ElementRef<HTMLInputElement>,\r\n private datalistIdService: DatalistIdService\r\n ) {\r\n super(vcr, HermesDatalistContainer, injector, control, renderer, el);\r\n\r\n if (!focusService) {\r\n throw new Error('hermesDatalist requires being wrapped in <hermes-datalist-container>');\r\n }\r\n }\r\n\r\n ngAfterContentInit() {\r\n // Subscriptions is inherited from WrappedFormControl, unsubscribe is handled there\r\n this.subscriptions.push(this.datalistIdService.idChange.subscribe(id => (this.listValue = id)));\r\n }\r\n\r\n @HostListener('focus')\r\n triggerFocus() {\r\n if (this.focusService) {\r\n this.focusService.focused = true;\r\n }\r\n }\r\n\r\n override triggerValidation() {\r\n super.triggerValidation();\r\n if (this.focusService) {\r\n this.focusService.focused = false;\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 } from '@angular/core';\r\nimport { HermesInputModule } from '@hermes-ui/angular/forms/input';\r\nimport { ClarityIcons, HermesIcon, errorStandardIcon, successStandardIcon } from '@hermes-ui/angular/icon';\r\n\r\nimport { HermesDatalist } from './datalist';\r\nimport { HermesDatalistContainer } from './datalist-container';\r\nimport { HermesDatalistInput } from './datalist-input';\r\n\r\n@NgModule({\r\n imports: [CommonModule, HermesInputModule, HermesIcon],\r\n declarations: [HermesDatalist, HermesDatalistInput, HermesDatalistContainer],\r\n exports: [HermesDatalist, HermesDatalistInput, HermesDatalistContainer],\r\n})\r\nexport class HermesDatalistModule {\r\n constructor() {\r\n ClarityIcons.addIcons(successStandardIcon, errorStandardIcon);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport * from './datalist';\r\nexport * from './datalist-input';\r\nexport * from './datalist-container';\r\nexport * from './datalist.module';\r\nexport * from './providers/datalist-id.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DatalistIdService","i2","i3.DatalistIdService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hermes-ui-angular-forms-datalist.mjs","sources":["../../../forms/datalist/providers/datalist-id.service.ts","../../../forms/datalist/datalist.ts","../../../forms/datalist/datalist-container.ts","../../../forms/datalist/datalist-input.ts","../../../forms/datalist/datalist.module.ts","../../../forms/datalist/index.ts","../../../forms/datalist/hermes-ui-angular-forms-datalist.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 { BehaviorSubject, Observable } from 'rxjs';\r\n\r\nlet counter = 0;\r\n\r\n@Injectable()\r\nexport class DatalistIdService {\r\n private _id = 'hermes-datalist-' + ++counter;\r\n private _idChange = new BehaviorSubject(this._id);\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 this._idChange.next(value);\r\n }\r\n\r\n get idChange(): Observable<string> {\r\n return this._idChange.asObservable();\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, Directive, Input, Optional } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { DatalistIdService } from './providers/datalist-id.service';\r\n\r\n@Directive({\r\n selector: 'datalist',\r\n host: {\r\n '[id]': 'datalistId',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesDatalist implements AfterContentInit {\r\n datalistId: string;\r\n\r\n private subscriptions: Subscription[] = [];\r\n\r\n constructor(@Optional() private datalistIdService: DatalistIdService) {}\r\n\r\n @Input()\r\n set id(idValue: string) {\r\n if (!!idValue && this.datalistIdService) {\r\n this.datalistId = idValue;\r\n this.datalistIdService.id = idValue;\r\n } else if (idValue) {\r\n this.datalistId = idValue;\r\n }\r\n }\r\n\r\n ngAfterContentInit() {\r\n if (!this.datalistIdService) {\r\n return;\r\n }\r\n this.subscriptions.push(this.datalistIdService.idChange.subscribe(id => (this.datalistId = id)));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(sub => sub.unsubscribe());\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, Optional } from '@angular/core';\r\nimport {\r\n HermesAbstractContainer,\r\n ControlClassService,\r\n ControlIdService,\r\n FormsFocusService,\r\n LayoutService,\r\n NgControlService,\r\n} from '@hermes-ui/angular/forms/common';\r\n\r\nimport { DatalistIdService } from './providers/datalist-id.service';\r\n\r\n@Component({\r\n selector: 'hermes-datalist-container',\r\n template: `\r\n <ng-content select=\"label\"></ng-content>\r\n @if (!label && addGrid()) {\r\n <label></label>\r\n }\r\n <div class=\"hermes-control-container\" [ngClass]=\"controlClass()\">\r\n <div class=\"hermes-input-wrapper\">\r\n <div class=\"hermes-input-group\" [class.hermes-focus]=\"focus\" #datalist>\r\n <ng-content select=\"[hermesDatalistInput]\"></ng-content>\r\n <ng-content select=\"datalist\"></ng-content>\r\n <hermes-icon shape=\"angle\" class=\"hermes-datalist-caret\" direction=\"down\" (click)=\"showPicker(datalist)\"></hermes-icon>\r\n </div>\r\n </div>\r\n @if (showHelper) {\r\n <ng-content select=\"hermes-control-helper\"></ng-content>\r\n }\r\n @if (showInvalid) {\r\n <ng-content select=\"hermes-control-error\"></ng-content>\r\n }\r\n @if (showValid) {\r\n <ng-content select=\"hermes-control-success\"></ng-content>\r\n }\r\n </div>\r\n `,\r\n host: {\r\n '[class.hermes-form-control]': 'true',\r\n '[class.hermes-form-control-disabled]': 'control?.disabled',\r\n '[class.hermes-row]': 'addGrid()',\r\n },\r\n providers: [ControlClassService, ControlIdService, FormsFocusService, NgControlService, DatalistIdService],\r\n standalone: false,\r\n})\r\nexport class HermesDatalistContainer extends HermesAbstractContainer {\r\n focus = false;\r\n\r\n constructor(\r\n controlClassService: ControlClassService,\r\n @Optional() layoutService: LayoutService,\r\n ngControlService: NgControlService,\r\n focusService: FormsFocusService\r\n ) {\r\n super(layoutService, controlClassService, ngControlService);\r\n\r\n this.subscriptions.push(focusService.focusChange.subscribe(state => (this.focus = state)));\r\n }\r\n\r\n showPicker(datalist: HTMLElement) {\r\n const datalistInput = datalist.querySelector('input[hermesDatalistInput]') as HTMLInputElement;\r\n if (datalistInput) {\r\n datalistInput.focus();\r\n datalistInput.showPicker();\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 {\r\n AfterContentInit,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Injector,\r\n Optional,\r\n Renderer2,\r\n Self,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { FormsFocusService, WrappedFormControl } from '@hermes-ui/angular/forms/common';\r\n\r\nimport { HermesDatalistContainer } from './datalist-container';\r\nimport { DatalistIdService } from './providers/datalist-id.service';\r\n\r\n@Directive({\r\n selector: '[hermesDatalistInput]',\r\n host: {\r\n '[class.hermes-input]': 'true',\r\n '[attr.list]': 'listValue',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesDatalistInput extends WrappedFormControl<HermesDatalistContainer> implements AfterContentInit {\r\n listValue: string;\r\n\r\n constructor(\r\n @Optional() private focusService: FormsFocusService,\r\n vcr: ViewContainerRef,\r\n injector: Injector,\r\n @Self()\r\n @Optional()\r\n control: NgControl,\r\n renderer: Renderer2,\r\n el: ElementRef<HTMLInputElement>,\r\n private datalistIdService: DatalistIdService\r\n ) {\r\n super(vcr, HermesDatalistContainer, injector, control, renderer, el);\r\n\r\n if (!focusService) {\r\n throw new Error('hermesDatalist requires being wrapped in <hermes-datalist-container>');\r\n }\r\n }\r\n\r\n ngAfterContentInit() {\r\n // Subscriptions is inherited from WrappedFormControl, unsubscribe is handled there\r\n this.subscriptions.push(this.datalistIdService.idChange.subscribe(id => (this.listValue = id)));\r\n }\r\n\r\n @HostListener('focus')\r\n triggerFocus() {\r\n if (this.focusService) {\r\n this.focusService.focused = true;\r\n }\r\n }\r\n\r\n override triggerValidation() {\r\n super.triggerValidation();\r\n if (this.focusService) {\r\n this.focusService.focused = false;\r\n }\r\n }\r\n}\r\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { HermesInputModule } from '@hermes-ui/angular/forms/input';\nimport { HermesIcons, HermesIcon, errorStandardIcon, successStandardIcon } from '@hermes-ui/angular/icon';\n\nimport { HermesDatalist } from './datalist';\nimport { HermesDatalistContainer } from './datalist-container';\nimport { HermesDatalistInput } from './datalist-input';\n\n@NgModule({\n imports: [CommonModule, HermesInputModule, HermesIcon],\n declarations: [HermesDatalist, HermesDatalistInput, HermesDatalistContainer],\n exports: [HermesDatalist, HermesDatalistInput, HermesDatalistContainer],\n})\nexport class HermesDatalistModule {\n constructor() {\n HermesIcons.addIcons(successStandardIcon, errorStandardIcon);\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 './datalist';\r\nexport * from './datalist-input';\r\nexport * from './datalist-container';\r\nexport * from './datalist.module';\r\nexport * from './providers/datalist-id.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DatalistIdService","i2","i3.DatalistIdService"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import * as i1 from '@hermes-ui/angular/popover/common';
|
|
|
11
11
|
import { HermesPopoverPosition, HermesPopoverType, DROPDOWN_POSITIONS, HermesPopoverHostDirective, HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';
|
|
12
12
|
import { Subject, tap } from 'rxjs';
|
|
13
13
|
import * as i5 from '@hermes-ui/angular/icon';
|
|
14
|
-
import {
|
|
14
|
+
import { HermesIcons, successStandardIcon, errorStandardIcon, angleIcon, eventIcon, calendarIcon, HermesIcon } from '@hermes-ui/angular/icon';
|
|
15
15
|
import * as i6 from '@hermes-ui/angular/layout/vertical-nav';
|
|
16
16
|
import { HermesVerticalNavModule } from '@hermes-ui/angular/layout/vertical-nav';
|
|
17
17
|
import * as i1$1 from '@angular/forms';
|
|
@@ -2284,7 +2284,7 @@ class HermesDatepickerViewManager {
|
|
|
2284
2284
|
this.dateNavigationService.moveToSpecificMonth(startDate);
|
|
2285
2285
|
}
|
|
2286
2286
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesDatepickerViewManager, deps: [{ token: i4.HermesCommonStringsService }, { token: ViewManagerService }, { token: DateNavigationService }, { token: DateIOService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2287
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesDatepickerViewManager, isStandalone: false, selector: "hermes-datepicker-view-manager", host: { attributes: { "role": "dialog" }, properties: { "class.datepicker": "true", "class.has-range-option": "hasRangeOptions", "class.has-action-buttons": "hasActionButtons", "attr.aria-modal": "true", "attr.aria-label": "commonStrings.keys.datepickerDialogLabel" } }, providers: [DatepickerFocusService], ngImport: i0, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (hasRangeOptions) {\r\n<hermes-vertical-nav class=\"hermes-date-range-picker-nav\">\r\n @for (option of dateRangeOptions; track option) {\r\n <a\r\n hermesVerticalNavLink\r\n href=\"javascript:void(0)\"\r\n [attr.aria-label]=\"option?.label\"\r\n tabindex=\"0\"\r\n (keyup.enter)=\"onRangeOptionSelect(option)\"\r\n (click)=\"onRangeOptionSelect(option)\"\r\n >\r\n {{option.label}}\r\n </a>\r\n }\r\n</hermes-vertical-nav>\r\n<ng-container *ngTemplateOutlet=\"calendarView\"></ng-container>\r\n} @else {\r\n<div class=\"datepicker-view-manager\">\r\n @if (isMonthView) {\r\n <hermes-monthpicker></hermes-monthpicker>\r\n } @if (isYearView) {\r\n <hermes-yearpicker></hermes-yearpicker>\r\n } @if (isDayView) {\r\n <hermes-daypicker></hermes-daypicker>\r\n } @if (hasActionButtons) {\r\n <hermes-datepicker-actions></hermes-datepicker-actions>\r\n }\r\n</div>\r\n}\r\n\r\n<ng-template #calendarView>\r\n <div class=\"datepicker-view-manager\">\r\n @if (isMonthView) {\r\n <hermes-monthpicker></hermes-monthpicker>\r\n } @if (isYearView) {\r\n <hermes-yearpicker></hermes-yearpicker>\r\n } @if (isDayView) {\r\n <hermes-daypicker></hermes-daypicker>\r\n } @if (hasActionButtons) {\r\n <hermes-datepicker-actions></hermes-datepicker-actions>\r\n }\r\n </div>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i5$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.HermesVerticalNav, selector: "hermes-vertical-nav", inputs: ["hermesVerticalNavToggleLabel", "hermesVerticalNavPinnable", "hermesVerticalNavCollapsible", "hermesVerticalNavCollapsed"], outputs: ["hermesVerticalNavCollapsedChange"] }, { kind: "component", type: i6.HermesVerticalNavLink, selector: "[hermesVerticalNavLink]" }, { kind: "component", type: HermesMonthpicker, selector: "hermes-monthpicker" }, { kind: "component", type: HermesYearpicker, selector: "hermes-yearpicker" }, { kind: "component", type: HermesDaypicker, selector: "hermes-daypicker" }, { kind: "component", type: HermesDatepickerActions, selector: "hermes-datepicker-actions" }] }); }
|
|
2287
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesDatepickerViewManager, isStandalone: false, selector: "hermes-datepicker-view-manager", host: { attributes: { "role": "dialog" }, properties: { "class.datepicker": "true", "class.has-range-option": "hasRangeOptions", "class.has-action-buttons": "hasActionButtons", "attr.aria-modal": "true", "attr.aria-label": "commonStrings.keys.datepickerDialogLabel" } }, providers: [DatepickerFocusService], ngImport: i0, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (hasRangeOptions) {\r\n<hermes-vertical-nav class=\"hermes-date-range-picker-nav\">\r\n @for (option of dateRangeOptions; track option) {\r\n <a\r\n hermesVerticalNavLink\r\n href=\"javascript:void(0)\"\r\n [attr.aria-label]=\"option?.label\"\r\n tabindex=\"0\"\r\n (keyup.enter)=\"onRangeOptionSelect(option)\"\r\n (click)=\"onRangeOptionSelect(option)\"\r\n >\r\n {{option.label}}\r\n </a>\r\n }\r\n</hermes-vertical-nav>\r\n<ng-container *ngTemplateOutlet=\"calendarView\"></ng-container>\r\n} @else {\r\n<div class=\"datepicker-view-manager\">\r\n @if (isMonthView) {\r\n <hermes-monthpicker></hermes-monthpicker>\r\n } @if (isYearView) {\r\n <hermes-yearpicker></hermes-yearpicker>\r\n } @if (isDayView) {\r\n <hermes-daypicker></hermes-daypicker>\r\n } @if (hasActionButtons) {\r\n <hermes-datepicker-actions></hermes-datepicker-actions>\r\n }\r\n</div>\r\n}\r\n\r\n<ng-template #calendarView>\r\n <div class=\"datepicker-view-manager\">\r\n @if (isMonthView) {\r\n <hermes-monthpicker></hermes-monthpicker>\r\n } @if (isYearView) {\r\n <hermes-yearpicker></hermes-yearpicker>\r\n } @if (isDayView) {\r\n <hermes-daypicker></hermes-daypicker>\r\n } @if (hasActionButtons) {\r\n <hermes-datepicker-actions></hermes-datepicker-actions>\r\n }\r\n </div>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i5$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.HermesVerticalNav, selector: "hermes-vertical-nav", inputs: ["hermesVerticalNavToggleLabel", "hermesVerticalNavPinnable", "hermesVerticalNavLabel", "hermesVerticalNavMode", "hermesVerticalNavFooter", "hermesVerticalNavAutoWidth", "hermesVerticalNavFooterLabels", "hermesVerticalNavCollapsible", "hermesVerticalNavCollapsed"], outputs: ["hermesVerticalNavModeChange", "hermesVerticalNavCollapsedChange"] }, { kind: "component", type: i6.HermesVerticalNavLink, selector: "[hermesVerticalNavLink]" }, { kind: "component", type: HermesMonthpicker, selector: "hermes-monthpicker" }, { kind: "component", type: HermesYearpicker, selector: "hermes-yearpicker" }, { kind: "component", type: HermesDaypicker, selector: "hermes-daypicker" }, { kind: "component", type: HermesDatepickerActions, selector: "hermes-datepicker-actions" }] }); }
|
|
2288
2288
|
}
|
|
2289
2289
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesDatepickerViewManager, decorators: [{
|
|
2290
2290
|
type: Component,
|
|
@@ -3202,7 +3202,7 @@ const HERMES_DATEPICKER_DIRECTIVES = [
|
|
|
3202
3202
|
];
|
|
3203
3203
|
class HermesDatepickerModule {
|
|
3204
3204
|
constructor() {
|
|
3205
|
-
|
|
3205
|
+
HermesIcons.addIcons(successStandardIcon, errorStandardIcon, angleIcon, eventIcon, calendarIcon);
|
|
3206
3206
|
}
|
|
3207
3207
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
3208
3208
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesDatepickerModule, declarations: [HermesDateInput,
|