@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.
Files changed (108) hide show
  1. package/README.md +6 -6
  2. package/button/_buttons.clarity.scss +80 -2
  3. package/button/_mixins.buttons.scss +44 -2
  4. package/button/_properties.buttons.scss +209 -247
  5. package/button/_variables.buttons.scss +22 -0
  6. package/fesm2022/hermes-ui-angular-accordion.mjs +2 -2
  7. package/fesm2022/hermes-ui-angular-accordion.mjs.map +1 -1
  8. package/fesm2022/hermes-ui-angular-addons-card-container.mjs +3 -3
  9. package/fesm2022/hermes-ui-angular-addons-card-container.mjs.map +1 -1
  10. package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs +2 -2
  11. package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs.map +1 -1
  12. package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs +2 -2
  13. package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs.map +1 -1
  14. package/fesm2022/hermes-ui-angular-addons-datagrid.mjs +2 -2
  15. package/fesm2022/hermes-ui-angular-addons-datagrid.mjs.map +1 -1
  16. package/fesm2022/hermes-ui-angular-addons-property-view.mjs +2 -2
  17. package/fesm2022/hermes-ui-angular-addons-property-view.mjs.map +1 -1
  18. package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs +66 -66
  19. package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs.map +1 -1
  20. package/fesm2022/hermes-ui-angular-addons-var.mjs +2 -2
  21. package/fesm2022/hermes-ui-angular-addons-var.mjs.map +1 -1
  22. package/fesm2022/hermes-ui-angular-addons-wizard.mjs +2 -2
  23. package/fesm2022/hermes-ui-angular-addons-wizard.mjs.map +1 -1
  24. package/fesm2022/hermes-ui-angular-button.mjs +2 -2
  25. package/fesm2022/hermes-ui-angular-button.mjs.map +1 -1
  26. package/fesm2022/hermes-ui-angular-data-datagrid.mjs +2 -2
  27. package/fesm2022/hermes-ui-angular-data-datagrid.mjs.map +1 -1
  28. package/fesm2022/hermes-ui-angular-data-stack-view.mjs +2 -2
  29. package/fesm2022/hermes-ui-angular-data-stack-view.mjs.map +1 -1
  30. package/fesm2022/hermes-ui-angular-data-tree-view.mjs +2 -2
  31. package/fesm2022/hermes-ui-angular-data-tree-view.mjs.map +1 -1
  32. package/fesm2022/hermes-ui-angular-emphasis-alert.mjs +2 -2
  33. package/fesm2022/hermes-ui-angular-emphasis-alert.mjs.map +1 -1
  34. package/fesm2022/hermes-ui-angular-forms-checkbox.mjs +2 -2
  35. package/fesm2022/hermes-ui-angular-forms-checkbox.mjs.map +1 -1
  36. package/fesm2022/hermes-ui-angular-forms-combobox.mjs +2 -2
  37. package/fesm2022/hermes-ui-angular-forms-combobox.mjs.map +1 -1
  38. package/fesm2022/hermes-ui-angular-forms-common.mjs +2 -2
  39. package/fesm2022/hermes-ui-angular-forms-common.mjs.map +1 -1
  40. package/fesm2022/hermes-ui-angular-forms-datalist.mjs +2 -2
  41. package/fesm2022/hermes-ui-angular-forms-datalist.mjs.map +1 -1
  42. package/fesm2022/hermes-ui-angular-forms-datepicker.mjs +3 -3
  43. package/fesm2022/hermes-ui-angular-forms-datepicker.mjs.map +1 -1
  44. package/fesm2022/hermes-ui-angular-forms-file-input.mjs +2 -2
  45. package/fesm2022/hermes-ui-angular-forms-file-input.mjs.map +1 -1
  46. package/fesm2022/hermes-ui-angular-forms-input.mjs +2 -2
  47. package/fesm2022/hermes-ui-angular-forms-input.mjs.map +1 -1
  48. package/fesm2022/hermes-ui-angular-forms-native-select.mjs +2 -2
  49. package/fesm2022/hermes-ui-angular-forms-native-select.mjs.map +1 -1
  50. package/fesm2022/hermes-ui-angular-forms-number-input.mjs +2 -2
  51. package/fesm2022/hermes-ui-angular-forms-number-input.mjs.map +1 -1
  52. package/fesm2022/hermes-ui-angular-forms-password.mjs +2 -2
  53. package/fesm2022/hermes-ui-angular-forms-password.mjs.map +1 -1
  54. package/fesm2022/hermes-ui-angular-forms-radio.mjs +2 -2
  55. package/fesm2022/hermes-ui-angular-forms-radio.mjs.map +1 -1
  56. package/fesm2022/hermes-ui-angular-forms-range.mjs +2 -2
  57. package/fesm2022/hermes-ui-angular-forms-range.mjs.map +1 -1
  58. package/fesm2022/hermes-ui-angular-forms-select.mjs +2 -2
  59. package/fesm2022/hermes-ui-angular-forms-select.mjs.map +1 -1
  60. package/fesm2022/hermes-ui-angular-forms-textarea.mjs +2 -2
  61. package/fesm2022/hermes-ui-angular-forms-textarea.mjs.map +1 -1
  62. package/fesm2022/hermes-ui-angular-icon.mjs +29 -29
  63. package/fesm2022/hermes-ui-angular-icon.mjs.map +1 -1
  64. package/fesm2022/hermes-ui-angular-layout-nav.mjs +2 -2
  65. package/fesm2022/hermes-ui-angular-layout-nav.mjs.map +1 -1
  66. package/fesm2022/hermes-ui-angular-layout-tabs.mjs +2 -2
  67. package/fesm2022/hermes-ui-angular-layout-tabs.mjs.map +1 -1
  68. package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs +382 -28
  69. package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs.map +1 -1
  70. package/fesm2022/hermes-ui-angular-modal.mjs +2 -2
  71. package/fesm2022/hermes-ui-angular-modal.mjs.map +1 -1
  72. package/fesm2022/hermes-ui-angular-popover-signpost.mjs +2 -2
  73. package/fesm2022/hermes-ui-angular-popover-signpost.mjs.map +1 -1
  74. package/fesm2022/hermes-ui-angular-stepper.mjs +2 -2
  75. package/fesm2022/hermes-ui-angular-stepper.mjs.map +1 -1
  76. package/fesm2022/hermes-ui-angular-timeline.mjs +2 -2
  77. package/fesm2022/hermes-ui-angular-timeline.mjs.map +1 -1
  78. package/fesm2022/hermes-ui-angular-toast.mjs +2 -2
  79. package/fesm2022/hermes-ui-angular-toast.mjs.map +1 -1
  80. package/fesm2022/hermes-ui-angular-utils.mjs +6 -0
  81. package/fesm2022/hermes-ui-angular-utils.mjs.map +1 -1
  82. package/fesm2022/hermes-ui-angular-wizard.mjs +2 -2
  83. package/fesm2022/hermes-ui-angular-wizard.mjs.map +1 -1
  84. package/forms/combobox/_combobox.clarity.scss +18 -4
  85. package/forms/combobox/_properties.combobox.scss +5 -5
  86. package/forms/styles/_input-group.clarity.scss +7 -0
  87. package/forms/styles/_mixins.forms.scss +12 -10
  88. package/forms/styles/_native-select.clarity.scss +17 -5
  89. package/forms/styles/_properties.forms.scss +29 -18
  90. package/forms/styles/_textarea.clarity.scss +4 -4
  91. package/forms/styles/_variables.forms.scss +6 -0
  92. package/layout/main-container/_properties.header.scss +44 -6
  93. package/layout/main-container/_variables.header.scss +11 -0
  94. package/layout/nav/_header.clarity.scss +14 -0
  95. package/layout/nav/_mixins.header.scss +55 -40
  96. package/layout/nav/_responsive-nav.clarity.scss +21 -10
  97. package/layout/vertical-nav/_properties.vertical-nav.scss +77 -27
  98. package/layout/vertical-nav/_variables.vertical-nav.scss +23 -0
  99. package/layout/vertical-nav/_vertical-nav.clarity.scss +418 -277
  100. package/package.json +1 -1
  101. package/types/hermes-ui-angular-addons-theme-builder.d.ts +2 -2
  102. package/types/hermes-ui-angular-addons-theme-builder.d.ts.map +1 -1
  103. package/types/hermes-ui-angular-icon.d.ts +3 -3
  104. package/types/hermes-ui-angular-icon.d.ts.map +1 -1
  105. package/types/hermes-ui-angular-layout-vertical-nav.d.ts +134 -10
  106. package/types/hermes-ui-angular-layout-vertical-nav.d.ts.map +1 -1
  107. package/types/hermes-ui-angular-utils.d.ts +12 -0
  108. package/types/hermes-ui-angular-utils.d.ts.map +1 -1
@@ -5,7 +5,7 @@ import { NgControlService, HermesAbstractContainer, ControlIdService, ControlCla
5
5
  import * as i2 from '@hermes-ui/angular/utils';
6
6
  import { HermesCommonStringsService } from '@hermes-ui/angular/utils';
7
7
  import * as i1 from '@hermes-ui/angular/icon';
8
- import { ClarityIcons, folderOpenIcon, successStandardIcon, errorStandardIcon, HermesIcon } from '@hermes-ui/angular/icon';
8
+ import { HermesIcons, folderOpenIcon, successStandardIcon, errorStandardIcon, HermesIcon } from '@hermes-ui/angular/icon';
9
9
  import * as i1$1 from '@angular/common';
10
10
  import { CommonModule } from '@angular/common';
11
11
  import * as i1$2 from '@angular/forms';
@@ -758,7 +758,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
758
758
  */
759
759
  class HermesFileInputModule {
760
760
  constructor() {
761
- ClarityIcons.addIcons(folderOpenIcon, successStandardIcon, errorStandardIcon);
761
+ HermesIcons.addIcons(folderOpenIcon, successStandardIcon, errorStandardIcon);
762
762
  }
763
763
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesFileInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
764
764
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesFileInputModule, declarations: [HermesFileInput,
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-ui-angular-forms-file-input.mjs","sources":["../../../forms/file-input/file-input.helpers.ts","../../../forms/file-input/file-messages.ts","../../../forms/file-input/file-messages-template.ts","../../../forms/file-input/file-list.ts","../../../forms/file-input/file-input-container.ts","../../../forms/file-input/file-input.ts","../../../forms/file-input/file-input-validator.ts","../../../forms/file-input/file-input-validator-errors.ts","../../../forms/file-input/file-input-value-accessor.ts","../../../forms/file-input/file-input.module.ts","../../../forms/file-input/index.ts","../../../forms/file-input/hermes-ui-angular-forms-file-input.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\nexport function buildFileList(files: File[]) {\r\n const dataTransfer = new DataTransfer();\r\n\r\n for (const file of files) {\r\n dataTransfer.items.add(file);\r\n }\r\n\r\n return dataTransfer.files;\r\n}\r\n\r\nexport function selectFiles(fileInputElement: HTMLInputElement, files: File[] | FileList) {\r\n fileInputElement.files = files instanceof FileList ? files : buildFileList(files);\r\n fileInputElement.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));\r\n}\r\n\r\nexport function clearFiles(fileInputElement: HTMLInputElement) {\r\n fileInputElement.value = '';\r\n fileInputElement.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, inject, InjectionToken } from '@angular/core';\r\n\r\nimport { HermesFileMessagesTemplateContext } from './file-messages-template';\r\n\r\nexport const HERMES_FILE_MESSAGES_TEMPLATE_CONTEXT = new InjectionToken<HermesFileMessagesTemplateContext>(\r\n 'HermesFileMessagesTemplateContext'\r\n);\r\n\r\n@Component({\r\n selector: 'hermes-file-info',\r\n template: `\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 },\r\n standalone: false,\r\n})\r\nexport class HermesFileInfo {}\r\n\r\n@Component({\r\n selector: 'hermes-file-success',\r\n // We check for success here so that consumers don't have to.\r\n template: `\r\n @if (context.success) {\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 `,\r\n host: {\r\n '[style.display]': 'context.success ? \"flex\" : \"none\"',\r\n '[class.hermes-subtext-wrapper]': 'true',\r\n '[class.success]': 'true',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesFileSuccess {\r\n protected readonly context: HermesFileMessagesTemplateContext = inject(HERMES_FILE_MESSAGES_TEMPLATE_CONTEXT);\r\n}\r\n\r\n@Component({\r\n selector: 'hermes-file-error',\r\n // The host should have an `*ngIf` or `@if` that checks for the relevant 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 },\r\n standalone: false,\r\n})\r\nexport class HermesFileError {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Directive, inject, TemplateRef } from '@angular/core';\r\n\r\nimport { HermesFileAcceptError, HermesFileMaxFileSizeError, HermesFileMinFileSizeError } from './file-input-validator-errors';\r\n\r\nexport interface HermesSingleFileValidationErrors {\r\n accept?: HermesFileAcceptError;\r\n minFileSize?: HermesFileMinFileSizeError;\r\n maxFileSize?: HermesFileMaxFileSizeError;\r\n}\r\n\r\nexport interface HermesFileMessagesTemplateContext {\r\n $implicit: File;\r\n success: boolean;\r\n errors: HermesSingleFileValidationErrors;\r\n}\r\n\r\n@Directive({\r\n selector: 'ng-template[hermes-file-messages]',\r\n standalone: false,\r\n})\r\nexport class HermesFileMessagesTemplate {\r\n readonly templateRef: TemplateRef<HermesFileMessagesTemplateContext> = inject(TemplateRef);\r\n\r\n static ngTemplateContextGuard(\r\n directive: HermesFileMessagesTemplate,\r\n context: unknown\r\n ): context is HermesFileMessagesTemplateContext {\r\n return true;\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, ContentChild, inject, Injector } from '@angular/core';\r\nimport { NgControlService } from '@hermes-ui/angular/forms/common';\r\nimport { HermesCommonStringsService } from '@hermes-ui/angular/utils';\r\n\r\nimport { HermesFileInputContainer } from './file-input-container';\r\nimport { HermesFileListValidationErrors } from './file-input-validator-errors';\r\nimport { selectFiles } from './file-input.helpers';\r\nimport { HERMES_FILE_MESSAGES_TEMPLATE_CONTEXT } from './file-messages';\r\nimport {\r\n HermesFileMessagesTemplate,\r\n HermesFileMessagesTemplateContext,\r\n HermesSingleFileValidationErrors,\r\n} from './file-messages-template';\r\n\r\n@Component({\r\n selector: 'hermes-file-list',\r\n template: `\r\n @for (file of files; track file) {\r\n @if (createFileMessagesTemplateContext(file); as fileMessagesTemplateContext) {\r\n <div\r\n role=\"listitem\"\r\n class=\"hermes-file-list-item\"\r\n [ngClass]=\"{\r\n 'hermes-error': !fileMessagesTemplateContext.success,\r\n 'hermes-success': fileMessagesTemplateContext.success,\r\n }\"\r\n >\r\n <div class=\"hermes-file-label-and-status-icon\">\r\n <span class=\"label hermes-file-label\">\r\n {{ file.name }}\r\n <button\r\n class=\"btn btn-sm btn-link-neutral btn-icon hermes-file-clear-button\"\r\n [attr.aria-label]=\"getClearFileLabel(file.name)\"\r\n (click)=\"clearFile(file)\"\r\n >\r\n <hermes-icon shape=\"times\"></hermes-icon>\r\n </button>\r\n </span>\r\n </div>\r\n @if (fileMessagesTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"fileMessagesTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"fileMessagesTemplateContext\"\r\n [ngTemplateOutletInjector]=\"injectorCache.get(file)\"\r\n ></ng-container>\r\n }\r\n </div>\r\n }\r\n }\r\n `,\r\n host: {\r\n '[attr.role]': '\"list\"',\r\n '[class.hermes-file-list]': 'true',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesFileList {\r\n @ContentChild(HermesFileMessagesTemplate) protected readonly fileMessagesTemplate: HermesFileMessagesTemplate;\r\n\r\n protected injectorCache = new Map<File, Injector>();\r\n private contextCache = new Map<File, HermesFileMessagesTemplateContext>();\r\n\r\n private readonly injector = inject(Injector);\r\n private readonly commonStrings = inject(HermesCommonStringsService);\r\n private readonly ngControlService = inject(NgControlService, { optional: true });\r\n private readonly fileInputContainer = inject(HermesFileInputContainer, { optional: true });\r\n\r\n constructor() {\r\n if (!this.ngControlService || !this.fileInputContainer) {\r\n throw new Error('The hermes-file-list component can only be used within a hermes-file-input-container.');\r\n }\r\n }\r\n\r\n protected get files() {\r\n if (!this.fileInputContainer.fileInput) {\r\n return [];\r\n }\r\n\r\n const fileInputElement = this.fileInputContainer.fileInput.elementRef.nativeElement;\r\n\r\n return Array.from(fileInputElement.files).sort((a, b) => a.name.localeCompare(b.name));\r\n }\r\n\r\n protected getClearFileLabel(filename: string) {\r\n return this.commonStrings.parse(this.commonStrings.keys.clearFile, {\r\n FILE: filename,\r\n });\r\n }\r\n\r\n protected clearFile(fileToRemove: File) {\r\n if (!this.fileInputContainer.fileInput) {\r\n return;\r\n }\r\n\r\n const fileInputElement = this.fileInputContainer.fileInput.elementRef.nativeElement;\r\n const files = Array.from(fileInputElement.files);\r\n const newFiles = files.filter(file => file !== fileToRemove);\r\n\r\n selectFiles(fileInputElement, newFiles);\r\n this.fileInputContainer.focusBrowseButton();\r\n }\r\n\r\n protected createFileMessagesTemplateContext(file: File): HermesFileMessagesTemplateContext {\r\n const fileInputErrors: HermesFileListValidationErrors = this.ngControlService.controls[0].errors || {};\r\n\r\n const errors: HermesSingleFileValidationErrors = {\r\n accept: fileInputErrors.accept?.find(error => error.name === file.name),\r\n minFileSize: fileInputErrors.minFileSize?.find(error => error.name === file.name),\r\n maxFileSize: fileInputErrors.maxFileSize?.find(error => error.name === file.name),\r\n };\r\n\r\n const success = Object.values(errors).every(error => !error);\r\n\r\n const cached = this.contextCache.get(file);\r\n if (cached && cached.success === success && this.errorsEqual(cached.errors, errors)) {\r\n return cached;\r\n }\r\n\r\n // new context is made and old reference replaced\r\n const context: HermesFileMessagesTemplateContext = { $implicit: file, success, errors };\r\n this.contextCache.set(file, context);\r\n\r\n // new injector is made and old reference replaced\r\n const injector = this.createFileMessagesTemplateInjector(context);\r\n this.injectorCache.set(file, injector);\r\n\r\n return context;\r\n }\r\n\r\n private createFileMessagesTemplateInjector(fileMessagesTemplateContext: HermesFileMessagesTemplateContext) {\r\n return Injector.create({\r\n parent: this.injector,\r\n providers: [{ provide: HERMES_FILE_MESSAGES_TEMPLATE_CONTEXT, useValue: fileMessagesTemplateContext }],\r\n });\r\n }\r\n\r\n private errorsEqual(a: HermesSingleFileValidationErrors, b: HermesSingleFileValidationErrors): boolean {\r\n return a.accept === b.accept && a.minFileSize === b.minFileSize && a.maxFileSize === b.maxFileSize;\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, ContentChild, ElementRef, forwardRef, inject, Input, ViewChild } from '@angular/core';\r\nimport {\r\n HermesAbstractContainer,\r\n ControlClassService,\r\n ControlIdService,\r\n NgControlService,\r\n} from '@hermes-ui/angular/forms/common';\r\nimport { HermesCommonStringsService } from '@hermes-ui/angular/utils';\r\n\r\nimport { HermesFileInput } from './file-input';\r\nimport { selectFiles } from './file-input.helpers';\r\nimport { HermesFileList } from './file-list';\r\nimport { HermesFileError, HermesFileSuccess } from './file-messages';\r\n\r\n@Component({\r\n selector: 'hermes-file-input-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-file-input-wrapper\">\r\n <ng-content select=\"[hermesFileInput]\"></ng-content>\r\n\r\n <!-- file input to handle adding new files to selection when file list is present (prevent replacing selected files on the main file input) -->\r\n @if (fileList) {\r\n <input\r\n #fileListFileInput\r\n type=\"file\"\r\n class=\"hermes-file-input\"\r\n tabindex=\"-1\"\r\n aria-hidden=\"true\"\r\n [accept]=\"accept\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n (change)=\"addFilesToSelection(fileListFileInput.files)\"\r\n />\r\n }\r\n\r\n <button\r\n #browseButton\r\n type=\"button\"\r\n class=\"btn btn-sm hermes-file-input-browse-button\"\r\n [attr.aria-describedby]=\"browseButtonDescribedBy\"\r\n [disabled]=\"disabled\"\r\n (click)=\"browse()\"\r\n >\r\n <hermes-icon shape=\"folder-open\"></hermes-icon>\r\n <span class=\"hermes-file-input-browse-button-text\">{{ browseButtonText }}</span>\r\n </button>\r\n @if (!fileList && fileInput?.selection?.fileCount) {\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-sm hermes-file-input-clear-button\"\r\n [attr.aria-label]=\"fileInput?.selection?.clearFilesButtonLabel\"\r\n (click)=\"clearSelectedFiles()\"\r\n >\r\n <hermes-icon shape=\"times\" status=\"neutral\"></hermes-icon>\r\n </button>\r\n }\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\r\n <!-- If this is present, this file input becomes an \"advanced\" file input. -->\r\n <ng-container>\r\n <div class=\"hermes-file-list-break\"></div>\r\n <ng-content select=\"hermes-file-list\"></ng-content>\r\n </ng-container>\r\n </div>\r\n `,\r\n host: {\r\n '[class.hermes-form-control]': 'true',\r\n '[class.hermes-form-control-disabled]': 'disabled',\r\n '[class.hermes-row]': 'addGrid()',\r\n },\r\n providers: [NgControlService, ControlIdService, ControlClassService],\r\n standalone: false,\r\n})\r\nexport class HermesFileInputContainer extends HermesAbstractContainer {\r\n @Input('hermesButtonLabel') customButtonLabel: string;\r\n\r\n @ContentChild(forwardRef(() => HermesFileInput)) readonly fileInput: HermesFileInput;\r\n @ContentChild(forwardRef(() => HermesFileList)) protected readonly fileList: HermesFileList;\r\n\r\n @ViewChild('browseButton') private browseButtonElementRef: ElementRef<HTMLButtonElement>;\r\n @ViewChild('fileListFileInput') private fileListFileInputElementRef: ElementRef<HTMLInputElement>;\r\n\r\n // These are for the \"message present\" override properties\r\n @ContentChild(HermesFileSuccess) private readonly fileSuccessComponent: HermesFileSuccess;\r\n @ContentChild(HermesFileError) private readonly fileErrorComponent: HermesFileError;\r\n\r\n private readonly commonStrings = inject(HermesCommonStringsService);\r\n\r\n protected get accept() {\r\n return this.fileInput.elementRef.nativeElement.accept;\r\n }\r\n\r\n protected get multiple() {\r\n return this.fileInput.elementRef.nativeElement.multiple;\r\n }\r\n\r\n protected get disabled() {\r\n return this.control ? this.control.disabled : this.fileInput.elementRef.nativeElement.disabled;\r\n }\r\n\r\n protected get browseButtonText() {\r\n const selectionButtonLabel = this.fileList ? undefined : this.fileInput?.selection?.buttonLabel;\r\n\r\n return selectionButtonLabel || this.customButtonLabel || this.commonStrings.keys.browse;\r\n }\r\n\r\n protected get browseButtonDescribedBy() {\r\n return `${this.label?.forAttr} ${this.fileInput.elementRef.nativeElement.getAttribute('aria-describedby')}`;\r\n }\r\n\r\n protected override get successMessagePresent() {\r\n return super.successMessagePresent || !!this.fileSuccessComponent;\r\n }\r\n\r\n protected override get errorMessagePresent() {\r\n return super.errorMessagePresent || !!this.fileErrorComponent;\r\n }\r\n\r\n focusBrowseButton() {\r\n this.browseButtonElementRef.nativeElement.focus();\r\n }\r\n\r\n protected browse() {\r\n const fileInputElementRef =\r\n this.fileList && this.multiple ? this.fileListFileInputElementRef : this.fileInput.elementRef;\r\n\r\n fileInputElementRef.nativeElement.click();\r\n }\r\n\r\n protected clearSelectedFiles() {\r\n this.fileInput.elementRef.nativeElement.value = '';\r\n this.fileInput.elementRef.nativeElement.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));\r\n\r\n this.focusBrowseButton();\r\n }\r\n\r\n protected addFilesToSelection(newFiles: FileList) {\r\n if (!newFiles.length) {\r\n return;\r\n }\r\n\r\n // start with new files\r\n const mergedFiles = [...newFiles];\r\n\r\n // add existing files if a new file doesn't have the same name\r\n for (const existingFile of this.fileInput.elementRef.nativeElement.files) {\r\n if (!mergedFiles.some(file => file.name === existingFile.name)) {\r\n mergedFiles.push(existingFile);\r\n }\r\n }\r\n\r\n // update file selection\r\n selectFiles(this.fileInput.elementRef.nativeElement, mergedFiles);\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 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 { WrappedFormControl } from '@hermes-ui/angular/forms/common';\r\nimport { HermesCommonStringsService } from '@hermes-ui/angular/utils';\r\n\r\nimport { HermesFileInputContainer } from './file-input-container';\r\n\r\nexport interface HermesFileInputSelection {\r\n fileCount: number;\r\n buttonLabel: string;\r\n clearFilesButtonLabel: string;\r\n}\r\n\r\n@Directive({\r\n selector: 'input[type=\"file\"][hermesFileInput]',\r\n host: {\r\n tabindex: '-1', // Remove the hidden file `input` element from the tab order because the browse `button` replaces it.\r\n 'aria-hidden': 'true', // Remove the hidden file `input` element from the accessibility tree because the browse `button` replaces it.\r\n '[class.hermes-file-input]': 'true',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesFileInput extends WrappedFormControl<HermesFileInputContainer> {\r\n selection: HermesFileInputSelection = undefined;\r\n\r\n constructor(\r\n injector: Injector,\r\n renderer: Renderer2,\r\n viewContainerRef: ViewContainerRef,\r\n readonly elementRef: ElementRef<HTMLInputElement>,\r\n @Self() @Optional() private readonly control: NgControl,\r\n private readonly commonStrings: HermesCommonStringsService\r\n ) {\r\n super(viewContainerRef, HermesFileInputContainer, injector, control, renderer, elementRef);\r\n }\r\n\r\n @HostListener('change')\r\n private handleChange() {\r\n this.updateSelection();\r\n }\r\n\r\n private updateSelection() {\r\n const files = this.elementRef.nativeElement.files;\r\n let selectionButtonLabel: string;\r\n let clearFilesButtonLabel: string;\r\n\r\n if (files?.length === 1) {\r\n const filename = files[0].name;\r\n\r\n selectionButtonLabel = filename;\r\n\r\n clearFilesButtonLabel = this.commonStrings.parse(this.commonStrings.keys.clearFile, {\r\n FILE: filename,\r\n });\r\n } else if (files?.length > 1) {\r\n const fileCount = files.length.toString();\r\n\r\n selectionButtonLabel = this.commonStrings.parse(this.commonStrings.keys.fileCount, {\r\n COUNT: fileCount,\r\n });\r\n\r\n clearFilesButtonLabel = this.commonStrings.parse(this.commonStrings.keys.clearFiles, {\r\n COUNT: fileCount,\r\n });\r\n }\r\n\r\n this.selection = {\r\n fileCount: files.length,\r\n buttonLabel: selectionButtonLabel,\r\n clearFilesButtonLabel,\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, Input } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\r\n\r\nimport { HermesFileListValidationErrors } from './file-input-validator-errors';\r\n\r\n@Directive({\r\n selector: 'input[type=\"file\"][hermesFileInput]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: HermesFileInputValidator, multi: true }],\r\n standalone: false,\r\n})\r\nexport class HermesFileInputValidator implements Validator {\r\n @Input('hermesMinFileSize') minFileSize: number;\r\n @Input('hermesMaxFileSize') maxFileSize: number;\r\n\r\n constructor(private readonly elementRef: ElementRef<HTMLInputElement>) {}\r\n\r\n validate(control: AbstractControl<FileList>): ValidationErrors {\r\n const files = control.value;\r\n const fileInputElement = this.elementRef.nativeElement;\r\n\r\n const errors: HermesFileListValidationErrors = {};\r\n\r\n // required validation (native attribute)\r\n if (fileInputElement.required && files?.length === 0) {\r\n errors.required = true;\r\n }\r\n\r\n const accept = fileInputElement.accept ? fileInputElement.accept.split(',').map(type => type.trim()) : null;\r\n\r\n if (files?.length > 0 && (accept || this.minFileSize || this.maxFileSize)) {\r\n for (let i = 0; i < files.length; i++) {\r\n const file = files.item(i);\r\n\r\n // accept validation (native attribute)\r\n if (accept && accept.length) {\r\n if (!this.validateAccept(file, accept)) {\r\n errors.accept = errors.accept || [];\r\n errors.accept.push({\r\n name: file.name,\r\n accept,\r\n type: file.type || '',\r\n extension: this.getSuffixByDepth(file.name, 2), // last up to 2 parts for reporting\r\n });\r\n }\r\n }\r\n\r\n // min file validation (custom input)\r\n if (this.minFileSize && file.size < this.minFileSize) {\r\n errors.minFileSize = errors.minFileSize || [];\r\n errors.minFileSize.push({ name: file.name, minFileSize: this.minFileSize, actualFileSize: file.size });\r\n }\r\n\r\n // max file validation (custom input)\r\n if (this.maxFileSize && file.size > this.maxFileSize) {\r\n errors.maxFileSize = errors.maxFileSize || [];\r\n errors.maxFileSize.push({ name: file.name, maxFileSize: this.maxFileSize, actualFileSize: file.size });\r\n }\r\n }\r\n }\r\n\r\n return Object.keys(errors).length ? errors : null;\r\n }\r\n\r\n private getSuffixByDepth(filename: string, depth: number): string {\r\n const match = filename.toLowerCase().match(new RegExp(`(\\\\.[^.]+){1,${depth}}$`, 'i'));\r\n return match ? match[0] : '';\r\n }\r\n\r\n private validateAccept(file: File, acceptList: string[]): boolean {\r\n const name = file.name.toLowerCase();\r\n const type = (file.type || '').toLowerCase();\r\n\r\n for (const entryRaw of acceptList) {\r\n const entry = entryRaw.trim().toLowerCase();\r\n if (!entry) {\r\n continue;\r\n }\r\n\r\n // Extension check\r\n if (entry.startsWith('.')) {\r\n const depth = (entry.match(/\\./g) || []).length;\r\n if (this.getSuffixByDepth(name, depth) === entry) {\r\n return true;\r\n }\r\n continue;\r\n }\r\n\r\n // MIME check\r\n if (entry.endsWith('/*')) {\r\n const prefix = entry.slice(0, entry.length - 1); // keep trailing slash\r\n if (type.startsWith(prefix)) {\r\n return true;\r\n }\r\n } else if (entry.includes('/') && type === entry) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\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 interface HermesFileListValidationErrors {\r\n required?: boolean;\r\n accept?: HermesFileAcceptError[];\r\n minFileSize?: HermesFileMinFileSizeError[];\r\n maxFileSize?: HermesFileMaxFileSizeError[];\r\n}\r\n\r\nexport interface HermesFileAcceptError {\r\n /**\r\n * The name of the selected file.\r\n */\r\n name: string;\r\n\r\n /**\r\n * The file types that are accepted by the file input.\r\n */\r\n accept: string[];\r\n\r\n /**\r\n * The actual MIME type of the selected file.\r\n */\r\n type: string;\r\n\r\n /**\r\n * The actual extension of the selected file.\r\n */\r\n extension: string;\r\n}\r\n\r\nexport interface HermesFileMinFileSizeError {\r\n /**\r\n * The name of the selected file.\r\n */\r\n name: string;\r\n\r\n /**\r\n * The minimum file size that is accepted by the file input.\r\n */\r\n minFileSize: number;\r\n\r\n /**\r\n * The actual size of the selected file.\r\n */\r\n actualFileSize: number;\r\n}\r\n\r\nexport interface HermesFileMaxFileSizeError {\r\n /**\r\n * The name of the selected file.\r\n */\r\n name: string;\r\n\r\n /**\r\n * The maximum file size that is accepted by the file input.\r\n */\r\n maxFileSize: number;\r\n\r\n /**\r\n * The actual size of the selected file.\r\n */\r\n actualFileSize: number;\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Directive, ElementRef, HostListener } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport { clearFiles, selectFiles } from './file-input.helpers';\r\n\r\n@Directive({\r\n selector: 'input[type=\"file\"][hermesFileInput]',\r\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: HermesFileInputValueAccessor, multi: true }],\r\n standalone: false,\r\n})\r\nexport class HermesFileInputValueAccessor implements ControlValueAccessor {\r\n constructor(private readonly elementRef: ElementRef<HTMLInputElement>) {}\r\n\r\n writeValue(value: FileList) {\r\n if (value !== undefined && value !== null && !(value instanceof FileList)) {\r\n throw new Error('The value of a file input control must be a FileList.');\r\n }\r\n\r\n if (value) {\r\n selectFiles(this.elementRef.nativeElement, value);\r\n } else if (this.elementRef.nativeElement.files.length) {\r\n clearFiles(this.elementRef.nativeElement);\r\n }\r\n }\r\n\r\n registerOnChange(fn: (value: FileList) => void) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void) {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.elementRef.nativeElement.disabled = isDisabled;\r\n }\r\n\r\n @HostListener('change')\r\n private handleChange() {\r\n this.onTouched();\r\n this.onChange(this.elementRef.nativeElement.files);\r\n }\r\n\r\n private onChange = (_value: FileList) => {};\r\n\r\n private onTouched = () => {};\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 { HermesCommonFormsModule } from '@hermes-ui/angular/forms/common';\r\nimport { ClarityIcons, HermesIcon, errorStandardIcon, folderOpenIcon, successStandardIcon } from '@hermes-ui/angular/icon';\r\n\r\nimport { HermesFileInput } from './file-input';\r\nimport { HermesFileInputContainer } from './file-input-container';\r\nimport { HermesFileInputValidator } from './file-input-validator';\r\nimport { HermesFileInputValueAccessor } from './file-input-value-accessor';\r\nimport { HermesFileList } from './file-list';\r\nimport { HermesFileError, HermesFileInfo, HermesFileSuccess } from './file-messages';\r\nimport { HermesFileMessagesTemplate } from './file-messages-template';\r\n\r\n@NgModule({\r\n imports: [CommonModule, HermesIcon, HermesCommonFormsModule],\r\n declarations: [\r\n HermesFileInput,\r\n HermesFileInputContainer,\r\n HermesFileInputValidator,\r\n HermesFileInputValueAccessor,\r\n HermesFileList,\r\n HermesFileMessagesTemplate,\r\n HermesFileInfo,\r\n HermesFileSuccess,\r\n HermesFileError,\r\n ],\r\n exports: [\r\n HermesCommonFormsModule,\r\n HermesFileInput,\r\n HermesFileInputContainer,\r\n HermesFileInputValidator,\r\n HermesFileInputValueAccessor,\r\n HermesFileList,\r\n HermesFileMessagesTemplate,\r\n HermesFileInfo,\r\n HermesFileSuccess,\r\n HermesFileError,\r\n ],\r\n})\r\nexport class HermesFileInputModule {\r\n constructor() {\r\n ClarityIcons.addIcons(folderOpenIcon, 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 './file-input';\r\nexport * from './file-input-validator';\r\nexport * from './file-input-validator-errors';\r\nexport * from './file-input-value-accessor';\r\nexport * from './file-input-container';\r\nexport * from './file-list';\r\nexport * from './file-messages-template';\r\nexport * from './file-messages';\r\nexport * from './file-input.module';\r\nexport * from './file-input.helpers';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"hermes-ui-angular-forms-file-input.mjs","sources":["../../../forms/file-input/file-input.helpers.ts","../../../forms/file-input/file-messages.ts","../../../forms/file-input/file-messages-template.ts","../../../forms/file-input/file-list.ts","../../../forms/file-input/file-input-container.ts","../../../forms/file-input/file-input.ts","../../../forms/file-input/file-input-validator.ts","../../../forms/file-input/file-input-validator-errors.ts","../../../forms/file-input/file-input-value-accessor.ts","../../../forms/file-input/file-input.module.ts","../../../forms/file-input/index.ts","../../../forms/file-input/hermes-ui-angular-forms-file-input.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\nexport function buildFileList(files: File[]) {\r\n const dataTransfer = new DataTransfer();\r\n\r\n for (const file of files) {\r\n dataTransfer.items.add(file);\r\n }\r\n\r\n return dataTransfer.files;\r\n}\r\n\r\nexport function selectFiles(fileInputElement: HTMLInputElement, files: File[] | FileList) {\r\n fileInputElement.files = files instanceof FileList ? files : buildFileList(files);\r\n fileInputElement.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));\r\n}\r\n\r\nexport function clearFiles(fileInputElement: HTMLInputElement) {\r\n fileInputElement.value = '';\r\n fileInputElement.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, inject, InjectionToken } from '@angular/core';\r\n\r\nimport { HermesFileMessagesTemplateContext } from './file-messages-template';\r\n\r\nexport const HERMES_FILE_MESSAGES_TEMPLATE_CONTEXT = new InjectionToken<HermesFileMessagesTemplateContext>(\r\n 'HermesFileMessagesTemplateContext'\r\n);\r\n\r\n@Component({\r\n selector: 'hermes-file-info',\r\n template: `\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 },\r\n standalone: false,\r\n})\r\nexport class HermesFileInfo {}\r\n\r\n@Component({\r\n selector: 'hermes-file-success',\r\n // We check for success here so that consumers don't have to.\r\n template: `\r\n @if (context.success) {\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 `,\r\n host: {\r\n '[style.display]': 'context.success ? \"flex\" : \"none\"',\r\n '[class.hermes-subtext-wrapper]': 'true',\r\n '[class.success]': 'true',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesFileSuccess {\r\n protected readonly context: HermesFileMessagesTemplateContext = inject(HERMES_FILE_MESSAGES_TEMPLATE_CONTEXT);\r\n}\r\n\r\n@Component({\r\n selector: 'hermes-file-error',\r\n // The host should have an `*ngIf` or `@if` that checks for the relevant 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 },\r\n standalone: false,\r\n})\r\nexport class HermesFileError {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Directive, inject, TemplateRef } from '@angular/core';\r\n\r\nimport { HermesFileAcceptError, HermesFileMaxFileSizeError, HermesFileMinFileSizeError } from './file-input-validator-errors';\r\n\r\nexport interface HermesSingleFileValidationErrors {\r\n accept?: HermesFileAcceptError;\r\n minFileSize?: HermesFileMinFileSizeError;\r\n maxFileSize?: HermesFileMaxFileSizeError;\r\n}\r\n\r\nexport interface HermesFileMessagesTemplateContext {\r\n $implicit: File;\r\n success: boolean;\r\n errors: HermesSingleFileValidationErrors;\r\n}\r\n\r\n@Directive({\r\n selector: 'ng-template[hermes-file-messages]',\r\n standalone: false,\r\n})\r\nexport class HermesFileMessagesTemplate {\r\n readonly templateRef: TemplateRef<HermesFileMessagesTemplateContext> = inject(TemplateRef);\r\n\r\n static ngTemplateContextGuard(\r\n directive: HermesFileMessagesTemplate,\r\n context: unknown\r\n ): context is HermesFileMessagesTemplateContext {\r\n return true;\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, ContentChild, inject, Injector } from '@angular/core';\r\nimport { NgControlService } from '@hermes-ui/angular/forms/common';\r\nimport { HermesCommonStringsService } from '@hermes-ui/angular/utils';\r\n\r\nimport { HermesFileInputContainer } from './file-input-container';\r\nimport { HermesFileListValidationErrors } from './file-input-validator-errors';\r\nimport { selectFiles } from './file-input.helpers';\r\nimport { HERMES_FILE_MESSAGES_TEMPLATE_CONTEXT } from './file-messages';\r\nimport {\r\n HermesFileMessagesTemplate,\r\n HermesFileMessagesTemplateContext,\r\n HermesSingleFileValidationErrors,\r\n} from './file-messages-template';\r\n\r\n@Component({\r\n selector: 'hermes-file-list',\r\n template: `\r\n @for (file of files; track file) {\r\n @if (createFileMessagesTemplateContext(file); as fileMessagesTemplateContext) {\r\n <div\r\n role=\"listitem\"\r\n class=\"hermes-file-list-item\"\r\n [ngClass]=\"{\r\n 'hermes-error': !fileMessagesTemplateContext.success,\r\n 'hermes-success': fileMessagesTemplateContext.success,\r\n }\"\r\n >\r\n <div class=\"hermes-file-label-and-status-icon\">\r\n <span class=\"label hermes-file-label\">\r\n {{ file.name }}\r\n <button\r\n class=\"btn btn-sm btn-link-neutral btn-icon hermes-file-clear-button\"\r\n [attr.aria-label]=\"getClearFileLabel(file.name)\"\r\n (click)=\"clearFile(file)\"\r\n >\r\n <hermes-icon shape=\"times\"></hermes-icon>\r\n </button>\r\n </span>\r\n </div>\r\n @if (fileMessagesTemplate) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"fileMessagesTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"fileMessagesTemplateContext\"\r\n [ngTemplateOutletInjector]=\"injectorCache.get(file)\"\r\n ></ng-container>\r\n }\r\n </div>\r\n }\r\n }\r\n `,\r\n host: {\r\n '[attr.role]': '\"list\"',\r\n '[class.hermes-file-list]': 'true',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesFileList {\r\n @ContentChild(HermesFileMessagesTemplate) protected readonly fileMessagesTemplate: HermesFileMessagesTemplate;\r\n\r\n protected injectorCache = new Map<File, Injector>();\r\n private contextCache = new Map<File, HermesFileMessagesTemplateContext>();\r\n\r\n private readonly injector = inject(Injector);\r\n private readonly commonStrings = inject(HermesCommonStringsService);\r\n private readonly ngControlService = inject(NgControlService, { optional: true });\r\n private readonly fileInputContainer = inject(HermesFileInputContainer, { optional: true });\r\n\r\n constructor() {\r\n if (!this.ngControlService || !this.fileInputContainer) {\r\n throw new Error('The hermes-file-list component can only be used within a hermes-file-input-container.');\r\n }\r\n }\r\n\r\n protected get files() {\r\n if (!this.fileInputContainer.fileInput) {\r\n return [];\r\n }\r\n\r\n const fileInputElement = this.fileInputContainer.fileInput.elementRef.nativeElement;\r\n\r\n return Array.from(fileInputElement.files).sort((a, b) => a.name.localeCompare(b.name));\r\n }\r\n\r\n protected getClearFileLabel(filename: string) {\r\n return this.commonStrings.parse(this.commonStrings.keys.clearFile, {\r\n FILE: filename,\r\n });\r\n }\r\n\r\n protected clearFile(fileToRemove: File) {\r\n if (!this.fileInputContainer.fileInput) {\r\n return;\r\n }\r\n\r\n const fileInputElement = this.fileInputContainer.fileInput.elementRef.nativeElement;\r\n const files = Array.from(fileInputElement.files);\r\n const newFiles = files.filter(file => file !== fileToRemove);\r\n\r\n selectFiles(fileInputElement, newFiles);\r\n this.fileInputContainer.focusBrowseButton();\r\n }\r\n\r\n protected createFileMessagesTemplateContext(file: File): HermesFileMessagesTemplateContext {\r\n const fileInputErrors: HermesFileListValidationErrors = this.ngControlService.controls[0].errors || {};\r\n\r\n const errors: HermesSingleFileValidationErrors = {\r\n accept: fileInputErrors.accept?.find(error => error.name === file.name),\r\n minFileSize: fileInputErrors.minFileSize?.find(error => error.name === file.name),\r\n maxFileSize: fileInputErrors.maxFileSize?.find(error => error.name === file.name),\r\n };\r\n\r\n const success = Object.values(errors).every(error => !error);\r\n\r\n const cached = this.contextCache.get(file);\r\n if (cached && cached.success === success && this.errorsEqual(cached.errors, errors)) {\r\n return cached;\r\n }\r\n\r\n // new context is made and old reference replaced\r\n const context: HermesFileMessagesTemplateContext = { $implicit: file, success, errors };\r\n this.contextCache.set(file, context);\r\n\r\n // new injector is made and old reference replaced\r\n const injector = this.createFileMessagesTemplateInjector(context);\r\n this.injectorCache.set(file, injector);\r\n\r\n return context;\r\n }\r\n\r\n private createFileMessagesTemplateInjector(fileMessagesTemplateContext: HermesFileMessagesTemplateContext) {\r\n return Injector.create({\r\n parent: this.injector,\r\n providers: [{ provide: HERMES_FILE_MESSAGES_TEMPLATE_CONTEXT, useValue: fileMessagesTemplateContext }],\r\n });\r\n }\r\n\r\n private errorsEqual(a: HermesSingleFileValidationErrors, b: HermesSingleFileValidationErrors): boolean {\r\n return a.accept === b.accept && a.minFileSize === b.minFileSize && a.maxFileSize === b.maxFileSize;\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, ContentChild, ElementRef, forwardRef, inject, Input, ViewChild } from '@angular/core';\r\nimport {\r\n HermesAbstractContainer,\r\n ControlClassService,\r\n ControlIdService,\r\n NgControlService,\r\n} from '@hermes-ui/angular/forms/common';\r\nimport { HermesCommonStringsService } from '@hermes-ui/angular/utils';\r\n\r\nimport { HermesFileInput } from './file-input';\r\nimport { selectFiles } from './file-input.helpers';\r\nimport { HermesFileList } from './file-list';\r\nimport { HermesFileError, HermesFileSuccess } from './file-messages';\r\n\r\n@Component({\r\n selector: 'hermes-file-input-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-file-input-wrapper\">\r\n <ng-content select=\"[hermesFileInput]\"></ng-content>\r\n\r\n <!-- file input to handle adding new files to selection when file list is present (prevent replacing selected files on the main file input) -->\r\n @if (fileList) {\r\n <input\r\n #fileListFileInput\r\n type=\"file\"\r\n class=\"hermes-file-input\"\r\n tabindex=\"-1\"\r\n aria-hidden=\"true\"\r\n [accept]=\"accept\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n (change)=\"addFilesToSelection(fileListFileInput.files)\"\r\n />\r\n }\r\n\r\n <button\r\n #browseButton\r\n type=\"button\"\r\n class=\"btn btn-sm hermes-file-input-browse-button\"\r\n [attr.aria-describedby]=\"browseButtonDescribedBy\"\r\n [disabled]=\"disabled\"\r\n (click)=\"browse()\"\r\n >\r\n <hermes-icon shape=\"folder-open\"></hermes-icon>\r\n <span class=\"hermes-file-input-browse-button-text\">{{ browseButtonText }}</span>\r\n </button>\r\n @if (!fileList && fileInput?.selection?.fileCount) {\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-sm hermes-file-input-clear-button\"\r\n [attr.aria-label]=\"fileInput?.selection?.clearFilesButtonLabel\"\r\n (click)=\"clearSelectedFiles()\"\r\n >\r\n <hermes-icon shape=\"times\" status=\"neutral\"></hermes-icon>\r\n </button>\r\n }\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\r\n <!-- If this is present, this file input becomes an \"advanced\" file input. -->\r\n <ng-container>\r\n <div class=\"hermes-file-list-break\"></div>\r\n <ng-content select=\"hermes-file-list\"></ng-content>\r\n </ng-container>\r\n </div>\r\n `,\r\n host: {\r\n '[class.hermes-form-control]': 'true',\r\n '[class.hermes-form-control-disabled]': 'disabled',\r\n '[class.hermes-row]': 'addGrid()',\r\n },\r\n providers: [NgControlService, ControlIdService, ControlClassService],\r\n standalone: false,\r\n})\r\nexport class HermesFileInputContainer extends HermesAbstractContainer {\r\n @Input('hermesButtonLabel') customButtonLabel: string;\r\n\r\n @ContentChild(forwardRef(() => HermesFileInput)) readonly fileInput: HermesFileInput;\r\n @ContentChild(forwardRef(() => HermesFileList)) protected readonly fileList: HermesFileList;\r\n\r\n @ViewChild('browseButton') private browseButtonElementRef: ElementRef<HTMLButtonElement>;\r\n @ViewChild('fileListFileInput') private fileListFileInputElementRef: ElementRef<HTMLInputElement>;\r\n\r\n // These are for the \"message present\" override properties\r\n @ContentChild(HermesFileSuccess) private readonly fileSuccessComponent: HermesFileSuccess;\r\n @ContentChild(HermesFileError) private readonly fileErrorComponent: HermesFileError;\r\n\r\n private readonly commonStrings = inject(HermesCommonStringsService);\r\n\r\n protected get accept() {\r\n return this.fileInput.elementRef.nativeElement.accept;\r\n }\r\n\r\n protected get multiple() {\r\n return this.fileInput.elementRef.nativeElement.multiple;\r\n }\r\n\r\n protected get disabled() {\r\n return this.control ? this.control.disabled : this.fileInput.elementRef.nativeElement.disabled;\r\n }\r\n\r\n protected get browseButtonText() {\r\n const selectionButtonLabel = this.fileList ? undefined : this.fileInput?.selection?.buttonLabel;\r\n\r\n return selectionButtonLabel || this.customButtonLabel || this.commonStrings.keys.browse;\r\n }\r\n\r\n protected get browseButtonDescribedBy() {\r\n return `${this.label?.forAttr} ${this.fileInput.elementRef.nativeElement.getAttribute('aria-describedby')}`;\r\n }\r\n\r\n protected override get successMessagePresent() {\r\n return super.successMessagePresent || !!this.fileSuccessComponent;\r\n }\r\n\r\n protected override get errorMessagePresent() {\r\n return super.errorMessagePresent || !!this.fileErrorComponent;\r\n }\r\n\r\n focusBrowseButton() {\r\n this.browseButtonElementRef.nativeElement.focus();\r\n }\r\n\r\n protected browse() {\r\n const fileInputElementRef =\r\n this.fileList && this.multiple ? this.fileListFileInputElementRef : this.fileInput.elementRef;\r\n\r\n fileInputElementRef.nativeElement.click();\r\n }\r\n\r\n protected clearSelectedFiles() {\r\n this.fileInput.elementRef.nativeElement.value = '';\r\n this.fileInput.elementRef.nativeElement.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));\r\n\r\n this.focusBrowseButton();\r\n }\r\n\r\n protected addFilesToSelection(newFiles: FileList) {\r\n if (!newFiles.length) {\r\n return;\r\n }\r\n\r\n // start with new files\r\n const mergedFiles = [...newFiles];\r\n\r\n // add existing files if a new file doesn't have the same name\r\n for (const existingFile of this.fileInput.elementRef.nativeElement.files) {\r\n if (!mergedFiles.some(file => file.name === existingFile.name)) {\r\n mergedFiles.push(existingFile);\r\n }\r\n }\r\n\r\n // update file selection\r\n selectFiles(this.fileInput.elementRef.nativeElement, mergedFiles);\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 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 { WrappedFormControl } from '@hermes-ui/angular/forms/common';\r\nimport { HermesCommonStringsService } from '@hermes-ui/angular/utils';\r\n\r\nimport { HermesFileInputContainer } from './file-input-container';\r\n\r\nexport interface HermesFileInputSelection {\r\n fileCount: number;\r\n buttonLabel: string;\r\n clearFilesButtonLabel: string;\r\n}\r\n\r\n@Directive({\r\n selector: 'input[type=\"file\"][hermesFileInput]',\r\n host: {\r\n tabindex: '-1', // Remove the hidden file `input` element from the tab order because the browse `button` replaces it.\r\n 'aria-hidden': 'true', // Remove the hidden file `input` element from the accessibility tree because the browse `button` replaces it.\r\n '[class.hermes-file-input]': 'true',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesFileInput extends WrappedFormControl<HermesFileInputContainer> {\r\n selection: HermesFileInputSelection = undefined;\r\n\r\n constructor(\r\n injector: Injector,\r\n renderer: Renderer2,\r\n viewContainerRef: ViewContainerRef,\r\n readonly elementRef: ElementRef<HTMLInputElement>,\r\n @Self() @Optional() private readonly control: NgControl,\r\n private readonly commonStrings: HermesCommonStringsService\r\n ) {\r\n super(viewContainerRef, HermesFileInputContainer, injector, control, renderer, elementRef);\r\n }\r\n\r\n @HostListener('change')\r\n private handleChange() {\r\n this.updateSelection();\r\n }\r\n\r\n private updateSelection() {\r\n const files = this.elementRef.nativeElement.files;\r\n let selectionButtonLabel: string;\r\n let clearFilesButtonLabel: string;\r\n\r\n if (files?.length === 1) {\r\n const filename = files[0].name;\r\n\r\n selectionButtonLabel = filename;\r\n\r\n clearFilesButtonLabel = this.commonStrings.parse(this.commonStrings.keys.clearFile, {\r\n FILE: filename,\r\n });\r\n } else if (files?.length > 1) {\r\n const fileCount = files.length.toString();\r\n\r\n selectionButtonLabel = this.commonStrings.parse(this.commonStrings.keys.fileCount, {\r\n COUNT: fileCount,\r\n });\r\n\r\n clearFilesButtonLabel = this.commonStrings.parse(this.commonStrings.keys.clearFiles, {\r\n COUNT: fileCount,\r\n });\r\n }\r\n\r\n this.selection = {\r\n fileCount: files.length,\r\n buttonLabel: selectionButtonLabel,\r\n clearFilesButtonLabel,\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, Input } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from '@angular/forms';\r\n\r\nimport { HermesFileListValidationErrors } from './file-input-validator-errors';\r\n\r\n@Directive({\r\n selector: 'input[type=\"file\"][hermesFileInput]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: HermesFileInputValidator, multi: true }],\r\n standalone: false,\r\n})\r\nexport class HermesFileInputValidator implements Validator {\r\n @Input('hermesMinFileSize') minFileSize: number;\r\n @Input('hermesMaxFileSize') maxFileSize: number;\r\n\r\n constructor(private readonly elementRef: ElementRef<HTMLInputElement>) {}\r\n\r\n validate(control: AbstractControl<FileList>): ValidationErrors {\r\n const files = control.value;\r\n const fileInputElement = this.elementRef.nativeElement;\r\n\r\n const errors: HermesFileListValidationErrors = {};\r\n\r\n // required validation (native attribute)\r\n if (fileInputElement.required && files?.length === 0) {\r\n errors.required = true;\r\n }\r\n\r\n const accept = fileInputElement.accept ? fileInputElement.accept.split(',').map(type => type.trim()) : null;\r\n\r\n if (files?.length > 0 && (accept || this.minFileSize || this.maxFileSize)) {\r\n for (let i = 0; i < files.length; i++) {\r\n const file = files.item(i);\r\n\r\n // accept validation (native attribute)\r\n if (accept && accept.length) {\r\n if (!this.validateAccept(file, accept)) {\r\n errors.accept = errors.accept || [];\r\n errors.accept.push({\r\n name: file.name,\r\n accept,\r\n type: file.type || '',\r\n extension: this.getSuffixByDepth(file.name, 2), // last up to 2 parts for reporting\r\n });\r\n }\r\n }\r\n\r\n // min file validation (custom input)\r\n if (this.minFileSize && file.size < this.minFileSize) {\r\n errors.minFileSize = errors.minFileSize || [];\r\n errors.minFileSize.push({ name: file.name, minFileSize: this.minFileSize, actualFileSize: file.size });\r\n }\r\n\r\n // max file validation (custom input)\r\n if (this.maxFileSize && file.size > this.maxFileSize) {\r\n errors.maxFileSize = errors.maxFileSize || [];\r\n errors.maxFileSize.push({ name: file.name, maxFileSize: this.maxFileSize, actualFileSize: file.size });\r\n }\r\n }\r\n }\r\n\r\n return Object.keys(errors).length ? errors : null;\r\n }\r\n\r\n private getSuffixByDepth(filename: string, depth: number): string {\r\n const match = filename.toLowerCase().match(new RegExp(`(\\\\.[^.]+){1,${depth}}$`, 'i'));\r\n return match ? match[0] : '';\r\n }\r\n\r\n private validateAccept(file: File, acceptList: string[]): boolean {\r\n const name = file.name.toLowerCase();\r\n const type = (file.type || '').toLowerCase();\r\n\r\n for (const entryRaw of acceptList) {\r\n const entry = entryRaw.trim().toLowerCase();\r\n if (!entry) {\r\n continue;\r\n }\r\n\r\n // Extension check\r\n if (entry.startsWith('.')) {\r\n const depth = (entry.match(/\\./g) || []).length;\r\n if (this.getSuffixByDepth(name, depth) === entry) {\r\n return true;\r\n }\r\n continue;\r\n }\r\n\r\n // MIME check\r\n if (entry.endsWith('/*')) {\r\n const prefix = entry.slice(0, entry.length - 1); // keep trailing slash\r\n if (type.startsWith(prefix)) {\r\n return true;\r\n }\r\n } else if (entry.includes('/') && type === entry) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\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 interface HermesFileListValidationErrors {\r\n required?: boolean;\r\n accept?: HermesFileAcceptError[];\r\n minFileSize?: HermesFileMinFileSizeError[];\r\n maxFileSize?: HermesFileMaxFileSizeError[];\r\n}\r\n\r\nexport interface HermesFileAcceptError {\r\n /**\r\n * The name of the selected file.\r\n */\r\n name: string;\r\n\r\n /**\r\n * The file types that are accepted by the file input.\r\n */\r\n accept: string[];\r\n\r\n /**\r\n * The actual MIME type of the selected file.\r\n */\r\n type: string;\r\n\r\n /**\r\n * The actual extension of the selected file.\r\n */\r\n extension: string;\r\n}\r\n\r\nexport interface HermesFileMinFileSizeError {\r\n /**\r\n * The name of the selected file.\r\n */\r\n name: string;\r\n\r\n /**\r\n * The minimum file size that is accepted by the file input.\r\n */\r\n minFileSize: number;\r\n\r\n /**\r\n * The actual size of the selected file.\r\n */\r\n actualFileSize: number;\r\n}\r\n\r\nexport interface HermesFileMaxFileSizeError {\r\n /**\r\n * The name of the selected file.\r\n */\r\n name: string;\r\n\r\n /**\r\n * The maximum file size that is accepted by the file input.\r\n */\r\n maxFileSize: number;\r\n\r\n /**\r\n * The actual size of the selected file.\r\n */\r\n actualFileSize: number;\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Directive, ElementRef, HostListener } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport { clearFiles, selectFiles } from './file-input.helpers';\r\n\r\n@Directive({\r\n selector: 'input[type=\"file\"][hermesFileInput]',\r\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: HermesFileInputValueAccessor, multi: true }],\r\n standalone: false,\r\n})\r\nexport class HermesFileInputValueAccessor implements ControlValueAccessor {\r\n constructor(private readonly elementRef: ElementRef<HTMLInputElement>) {}\r\n\r\n writeValue(value: FileList) {\r\n if (value !== undefined && value !== null && !(value instanceof FileList)) {\r\n throw new Error('The value of a file input control must be a FileList.');\r\n }\r\n\r\n if (value) {\r\n selectFiles(this.elementRef.nativeElement, value);\r\n } else if (this.elementRef.nativeElement.files.length) {\r\n clearFiles(this.elementRef.nativeElement);\r\n }\r\n }\r\n\r\n registerOnChange(fn: (value: FileList) => void) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void) {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.elementRef.nativeElement.disabled = isDisabled;\r\n }\r\n\r\n @HostListener('change')\r\n private handleChange() {\r\n this.onTouched();\r\n this.onChange(this.elementRef.nativeElement.files);\r\n }\r\n\r\n private onChange = (_value: FileList) => {};\r\n\r\n private onTouched = () => {};\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 { HermesCommonFormsModule } from '@hermes-ui/angular/forms/common';\nimport { HermesIcons, HermesIcon, errorStandardIcon, folderOpenIcon, successStandardIcon } from '@hermes-ui/angular/icon';\n\nimport { HermesFileInput } from './file-input';\nimport { HermesFileInputContainer } from './file-input-container';\nimport { HermesFileInputValidator } from './file-input-validator';\nimport { HermesFileInputValueAccessor } from './file-input-value-accessor';\nimport { HermesFileList } from './file-list';\nimport { HermesFileError, HermesFileInfo, HermesFileSuccess } from './file-messages';\nimport { HermesFileMessagesTemplate } from './file-messages-template';\n\n@NgModule({\n imports: [CommonModule, HermesIcon, HermesCommonFormsModule],\n declarations: [\n HermesFileInput,\n HermesFileInputContainer,\n HermesFileInputValidator,\n HermesFileInputValueAccessor,\n HermesFileList,\n HermesFileMessagesTemplate,\n HermesFileInfo,\n HermesFileSuccess,\n HermesFileError,\n ],\n exports: [\n HermesCommonFormsModule,\n HermesFileInput,\n HermesFileInputContainer,\n HermesFileInputValidator,\n HermesFileInputValueAccessor,\n HermesFileList,\n HermesFileMessagesTemplate,\n HermesFileInfo,\n HermesFileSuccess,\n HermesFileError,\n ],\n})\nexport class HermesFileInputModule {\n constructor() {\n HermesIcons.addIcons(folderOpenIcon, 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 './file-input';\r\nexport * from './file-input-validator';\r\nexport * from './file-input-validator-errors';\r\nexport * from './file-input-value-accessor';\r\nexport * from './file-input-container';\r\nexport * from './file-list';\r\nexport * from './file-messages-template';\r\nexport * from './file-messages';\r\nexport * from './file-input.module';\r\nexport * from './file-input.helpers';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
@@ -6,7 +6,7 @@ import * as i1 from '@angular/common';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import * as i1$1 from '@angular/forms';
8
8
  import { FormsModule } from '@angular/forms';
9
- import { ClarityIcons, successStandardIcon, errorStandardIcon, HermesIcon } from '@hermes-ui/angular/icon';
9
+ import { HermesIcons, successStandardIcon, errorStandardIcon, HermesIcon } from '@hermes-ui/angular/icon';
10
10
 
11
11
  /*
12
12
  * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
@@ -123,7 +123,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
123
123
  */
124
124
  class HermesInputModule {
125
125
  constructor() {
126
- ClarityIcons.addIcons(successStandardIcon, errorStandardIcon);
126
+ HermesIcons.addIcons(successStandardIcon, errorStandardIcon);
127
127
  }
128
128
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
129
129
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesInputModule, declarations: [HermesInput, HermesInputContainer], imports: [CommonModule, FormsModule, HermesIcon, HermesCommonFormsModule], exports: [HermesCommonFormsModule, HermesInput, HermesInputContainer] }); }
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-ui-angular-forms-input.mjs","sources":["../../../forms/input/input-container.ts","../../../forms/input/input.ts","../../../forms/input/input.module.ts","../../../forms/input/index.ts","../../../forms/input/hermes-ui-angular-forms-input.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\nimport {\r\n HermesAbstractContainer,\r\n ControlClassService,\r\n ControlIdService,\r\n NgControlService,\r\n} from '@hermes-ui/angular/forms/common';\r\n\r\n@Component({\r\n selector: 'hermes-input-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\">\r\n <ng-content select=\"[hermesInputPrefix]\"></ng-content>\r\n <ng-content select=\"[hermesInput]\"></ng-content>\r\n <ng-content select=\"[hermesInputSuffix]\"></ng-content>\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: [NgControlService, ControlIdService, ControlClassService],\r\n standalone: false,\r\n})\r\nexport class HermesInputContainer 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 { Directive, ElementRef, Injector, Optional, Renderer2, Self, ViewContainerRef } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { WrappedFormControl } from '@hermes-ui/angular/forms/common';\r\n\r\nimport { HermesInputContainer } from './input-container';\r\n\r\n@Directive({\r\n selector: '[hermesInput]',\r\n host: { '[class.hermes-input]': 'true' },\r\n standalone: false,\r\n})\r\nexport class HermesInput extends WrappedFormControl<HermesInputContainer> {\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<HTMLInputElement>\r\n ) {\r\n super(vcr, HermesInputContainer, injector, control, renderer, el);\r\n if (this.el.nativeElement.getAttribute('type') === 'number') {\r\n console.warn(`Warning: Inputs of type \"number\" should utilize the number-input component for proper handling.\\n\r\n Example usage:\r\n <hermes-number-input-container>\r\n <label>Number Input</label>\r\n <input hermesNumberInput type=\"number\"/>\r\n </hermes-number-input-container>\r\n `);\r\n }\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HermesCommonFormsModule } from '@hermes-ui/angular/forms/common';\r\nimport { ClarityIcons, HermesIcon, errorStandardIcon, successStandardIcon } from '@hermes-ui/angular/icon';\r\n\r\nimport { HermesInput } from './input';\r\nimport { HermesInputContainer } from './input-container';\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, HermesIcon, HermesCommonFormsModule],\r\n declarations: [HermesInput, HermesInputContainer],\r\n exports: [HermesCommonFormsModule, HermesInput, HermesInputContainer],\r\n})\r\nexport class HermesInputModule {\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 './input';\r\nexport * from './input-container';\r\nexport * from './input.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"hermes-ui-angular-forms-input.mjs","sources":["../../../forms/input/input-container.ts","../../../forms/input/input.ts","../../../forms/input/input.module.ts","../../../forms/input/index.ts","../../../forms/input/hermes-ui-angular-forms-input.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\nimport {\r\n HermesAbstractContainer,\r\n ControlClassService,\r\n ControlIdService,\r\n NgControlService,\r\n} from '@hermes-ui/angular/forms/common';\r\n\r\n@Component({\r\n selector: 'hermes-input-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\">\r\n <ng-content select=\"[hermesInputPrefix]\"></ng-content>\r\n <ng-content select=\"[hermesInput]\"></ng-content>\r\n <ng-content select=\"[hermesInputSuffix]\"></ng-content>\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: [NgControlService, ControlIdService, ControlClassService],\r\n standalone: false,\r\n})\r\nexport class HermesInputContainer 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 { Directive, ElementRef, Injector, Optional, Renderer2, Self, ViewContainerRef } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\nimport { WrappedFormControl } from '@hermes-ui/angular/forms/common';\r\n\r\nimport { HermesInputContainer } from './input-container';\r\n\r\n@Directive({\r\n selector: '[hermesInput]',\r\n host: { '[class.hermes-input]': 'true' },\r\n standalone: false,\r\n})\r\nexport class HermesInput extends WrappedFormControl<HermesInputContainer> {\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<HTMLInputElement>\r\n ) {\r\n super(vcr, HermesInputContainer, injector, control, renderer, el);\r\n if (this.el.nativeElement.getAttribute('type') === 'number') {\r\n console.warn(`Warning: Inputs of type \"number\" should utilize the number-input component for proper handling.\\n\r\n Example usage:\r\n <hermes-number-input-container>\r\n <label>Number Input</label>\r\n <input hermesNumberInput type=\"number\"/>\r\n </hermes-number-input-container>\r\n `);\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 { FormsModule } from '@angular/forms';\nimport { HermesCommonFormsModule } from '@hermes-ui/angular/forms/common';\nimport { HermesIcons, HermesIcon, errorStandardIcon, successStandardIcon } from '@hermes-ui/angular/icon';\n\nimport { HermesInput } from './input';\nimport { HermesInputContainer } from './input-container';\n\n@NgModule({\n imports: [CommonModule, FormsModule, HermesIcon, HermesCommonFormsModule],\n declarations: [HermesInput, HermesInputContainer],\n exports: [HermesCommonFormsModule, HermesInput, HermesInputContainer],\n})\nexport class HermesInputModule {\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 './input';\r\nexport * from './input-container';\r\nexport * from './input.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -6,7 +6,7 @@ import * as i1$1 from '@angular/forms';
6
6
  import { SelectMultipleControlValueAccessor, FormsModule } from '@angular/forms';
7
7
  import * as i2 from '@angular/common';
8
8
  import { CommonModule } from '@angular/common';
9
- import { ClarityIcons, successStandardIcon, errorStandardIcon, HermesIcon } from '@hermes-ui/angular/icon';
9
+ import { HermesIcons, successStandardIcon, errorStandardIcon, HermesIcon } from '@hermes-ui/angular/icon';
10
10
 
11
11
  /*
12
12
  * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
@@ -123,7 +123,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
123
123
  */
124
124
  class HermesNativeSelectModule {
125
125
  constructor() {
126
- ClarityIcons.addIcons(successStandardIcon, errorStandardIcon);
126
+ HermesIcons.addIcons(successStandardIcon, errorStandardIcon);
127
127
  }
128
128
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesNativeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
129
129
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesNativeSelectModule, declarations: [HermesNativeSelect, HermesNativeSelectContainer], imports: [CommonModule, FormsModule, HermesIcon, HermesCommonFormsModule], exports: [HermesCommonFormsModule, HermesNativeSelect, HermesNativeSelectContainer] }); }
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-ui-angular-forms-native-select.mjs","sources":["../../../forms/native-select/native-select-container.ts","../../../forms/native-select/native-select.ts","../../../forms/native-select/native-select.module.ts","../../../forms/native-select/index.ts","../../../forms/native-select/hermes-ui-angular-forms-native-select.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, ContentChild, Optional } from '@angular/core';\r\nimport { SelectMultipleControlValueAccessor } from '@angular/forms';\r\nimport {\r\n HermesAbstractContainer,\r\n ControlClassService,\r\n ControlIdService,\r\n LayoutService,\r\n NgControlService,\r\n} from '@hermes-ui/angular/forms/common';\r\n\r\n@Component({\r\n selector: 'hermes-native-select-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 [ngClass]=\"wrapperClass()\">\r\n <ng-content select=\"[hermesNativeSelect]\"></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 HermesNativeSelectContainer extends HermesAbstractContainer {\r\n @ContentChild(SelectMultipleControlValueAccessor, { static: false }) multiple: SelectMultipleControlValueAccessor;\r\n\r\n constructor(\r\n @Optional() protected override layoutService: LayoutService,\r\n protected override controlClassService: ControlClassService,\r\n protected override ngControlService: NgControlService\r\n ) {\r\n super(layoutService, controlClassService, ngControlService);\r\n }\r\n\r\n private get multi() {\r\n return this.control?.valueAccessor instanceof SelectMultipleControlValueAccessor;\r\n }\r\n\r\n wrapperClass() {\r\n return this.multi ? 'hermes-native-multiselect-wrapper' : 'hermes-native-select-wrapper';\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\nimport { WrappedFormControl } from '@hermes-ui/angular/forms/common';\r\n\r\nimport { HermesNativeSelectContainer } from './native-select-container';\r\n\r\n@Directive({\r\n selector: '[hermesNativeSelect]',\r\n host: { '[class.hermes-native-select]': 'true' },\r\n standalone: false,\r\n})\r\nexport class HermesNativeSelect extends WrappedFormControl<HermesNativeSelectContainer> {\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<HTMLSelectElement>\r\n ) {\r\n super(vcr, HermesNativeSelectContainer, 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 { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HermesCommonFormsModule } from '@hermes-ui/angular/forms/common';\r\nimport { ClarityIcons, HermesIcon, errorStandardIcon, successStandardIcon } from '@hermes-ui/angular/icon';\r\n\r\nimport { HermesNativeSelect } from './native-select';\r\nimport { HermesNativeSelectContainer } from './native-select-container';\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, HermesIcon, HermesCommonFormsModule],\r\n declarations: [HermesNativeSelect, HermesNativeSelectContainer],\r\n exports: [HermesCommonFormsModule, HermesNativeSelect, HermesNativeSelectContainer],\r\n})\r\nexport class HermesNativeSelectModule {\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 './native-select';\r\nexport * from './native-select-container';\r\nexport * from './native-select.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"hermes-ui-angular-forms-native-select.mjs","sources":["../../../forms/native-select/native-select-container.ts","../../../forms/native-select/native-select.ts","../../../forms/native-select/native-select.module.ts","../../../forms/native-select/index.ts","../../../forms/native-select/hermes-ui-angular-forms-native-select.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, ContentChild, Optional } from '@angular/core';\r\nimport { SelectMultipleControlValueAccessor } from '@angular/forms';\r\nimport {\r\n HermesAbstractContainer,\r\n ControlClassService,\r\n ControlIdService,\r\n LayoutService,\r\n NgControlService,\r\n} from '@hermes-ui/angular/forms/common';\r\n\r\n@Component({\r\n selector: 'hermes-native-select-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 [ngClass]=\"wrapperClass()\">\r\n <ng-content select=\"[hermesNativeSelect]\"></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 HermesNativeSelectContainer extends HermesAbstractContainer {\r\n @ContentChild(SelectMultipleControlValueAccessor, { static: false }) multiple: SelectMultipleControlValueAccessor;\r\n\r\n constructor(\r\n @Optional() protected override layoutService: LayoutService,\r\n protected override controlClassService: ControlClassService,\r\n protected override ngControlService: NgControlService\r\n ) {\r\n super(layoutService, controlClassService, ngControlService);\r\n }\r\n\r\n private get multi() {\r\n return this.control?.valueAccessor instanceof SelectMultipleControlValueAccessor;\r\n }\r\n\r\n wrapperClass() {\r\n return this.multi ? 'hermes-native-multiselect-wrapper' : 'hermes-native-select-wrapper';\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\nimport { WrappedFormControl } from '@hermes-ui/angular/forms/common';\r\n\r\nimport { HermesNativeSelectContainer } from './native-select-container';\r\n\r\n@Directive({\r\n selector: '[hermesNativeSelect]',\r\n host: { '[class.hermes-native-select]': 'true' },\r\n standalone: false,\r\n})\r\nexport class HermesNativeSelect extends WrappedFormControl<HermesNativeSelectContainer> {\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<HTMLSelectElement>\r\n ) {\r\n super(vcr, HermesNativeSelectContainer, injector, control, renderer, el);\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 { FormsModule } from '@angular/forms';\nimport { HermesCommonFormsModule } from '@hermes-ui/angular/forms/common';\nimport { HermesIcons, HermesIcon, errorStandardIcon, successStandardIcon } from '@hermes-ui/angular/icon';\n\nimport { HermesNativeSelect } from './native-select';\nimport { HermesNativeSelectContainer } from './native-select-container';\n\n@NgModule({\n imports: [CommonModule, FormsModule, HermesIcon, HermesCommonFormsModule],\n declarations: [HermesNativeSelect, HermesNativeSelectContainer],\n exports: [HermesCommonFormsModule, HermesNativeSelect, HermesNativeSelectContainer],\n})\nexport class HermesNativeSelectModule {\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 './native-select';\r\nexport * from './native-select-container';\r\nexport * from './native-select.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { HermesAbstractContainer, FormsFocusService, NgControlService, ControlId
5
5
  import * as i2 from '@angular/common';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import * as i3 from '@hermes-ui/angular/icon';
8
- import { ClarityIcons, successStandardIcon, errorStandardIcon, minusIcon, plusIcon, HermesIcon } from '@hermes-ui/angular/icon';
8
+ import { HermesIcons, successStandardIcon, errorStandardIcon, minusIcon, plusIcon, HermesIcon } from '@hermes-ui/angular/icon';
9
9
  import * as i2$1 from '@angular/forms';
10
10
  import { FormsModule } from '@angular/forms';
11
11
 
@@ -206,7 +206,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
206
206
  */
207
207
  class HermesNumberInputModule {
208
208
  constructor() {
209
- ClarityIcons.addIcons(successStandardIcon, errorStandardIcon, minusIcon, plusIcon);
209
+ HermesIcons.addIcons(successStandardIcon, errorStandardIcon, minusIcon, plusIcon);
210
210
  }
211
211
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesNumberInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
212
212
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesNumberInputModule, declarations: [HermesNumberInput, HermesNumberInputContainer], imports: [CommonModule, FormsModule, HermesIcon, HermesCommonFormsModule], exports: [HermesCommonFormsModule, HermesNumberInput, HermesNumberInputContainer] }); }
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-ui-angular-forms-number-input.mjs","sources":["../../../forms/number-input/number-input-container.ts","../../../forms/number-input/number-input.ts","../../../forms/number-input/number-input.module.ts","../../../forms/number-input/index.ts","../../../forms/number-input/hermes-ui-angular-forms-number-input.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, ContentChild, forwardRef, 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 { HermesNumberInput } from './number-input';\r\n\r\n@Component({\r\n selector: 'hermes-number-input-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-number-input-wrapper\">\r\n <div class=\"hermes-input-group\" [class.hermes-focus]=\"focus\">\r\n <ng-content select=\"[hermesNumberInput]\"></ng-content>\r\n <div class=\"hermes-input-group-actions\" (focusout)=\"focusOut()\">\r\n <button\r\n type=\"button\"\r\n class=\"hermes-input-group-icon-action\"\r\n (click)=\"input.stepDown()\"\r\n [disabled]=\"control?.disabled\"\r\n >\r\n <hermes-icon shape=\"minus\" size=\"sm\"></hermes-icon>\r\n </button>\r\n <div class=\"hermes-number-input-separator\"></div>\r\n <button\r\n type=\"button\"\r\n class=\"hermes-input-group-icon-action\"\r\n (click)=\"input.stepUp()\"\r\n [disabled]=\"control?.disabled\"\r\n >\r\n <hermes-icon shape=\"plus\" size=\"sm\"></hermes-icon>\r\n </button>\r\n </div>\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-form-control-readonly]': 'input?.readonly',\r\n '[class.hermes-row]': 'addGrid()',\r\n },\r\n providers: [FormsFocusService, NgControlService, ControlIdService, ControlClassService],\r\n standalone: false,\r\n})\r\nexport class HermesNumberInputContainer extends HermesAbstractContainer {\r\n focus = false;\r\n\r\n @ContentChild(forwardRef(() => HermesNumberInput)) protected readonly input: HermesNumberInput;\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 focusOut() {\r\n this.input.dispatchBlur();\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 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 { HermesNumberInputContainer } from './number-input-container';\r\n\r\n@Directive({\r\n selector: 'input[type=\"number\"][hermesNumberInput]',\r\n host: { '[class.hermes-input]': 'true', '[class.hermes-number-input]': 'true' },\r\n standalone: false,\r\n})\r\nexport class HermesNumberInput extends WrappedFormControl<HermesNumberInputContainer> {\r\n protected override index = 1;\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 private control: NgControl,\r\n renderer: Renderer2,\r\n protected override el: ElementRef<HTMLInputElement>\r\n ) {\r\n super(vcr, HermesNumberInputContainer, injector, control, renderer, el);\r\n\r\n if (!focusService) {\r\n throw new Error('hermesNumberInput requires being wrapped in <hermes-number-input-container>');\r\n }\r\n }\r\n\r\n get readonly() {\r\n return this.el.nativeElement.getAttribute('readonly') !== null;\r\n }\r\n\r\n @HostListener('focus')\r\n triggerFocus() {\r\n if (!this.readonly && this.focusService) {\r\n this.focusService.focused = true;\r\n }\r\n }\r\n\r\n override triggerValidation() {\r\n if (!this.readonly) {\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 stepUp(): void {\r\n this.el.nativeElement.stepUp();\r\n this.dispatchStepChangeEvents();\r\n }\r\n\r\n stepDown(): void {\r\n this.el.nativeElement.stepDown();\r\n this.dispatchStepChangeEvents();\r\n }\r\n\r\n dispatchBlur() {\r\n this.el.nativeElement.dispatchEvent(new Event('blur', { bubbles: true, cancelable: true }));\r\n }\r\n\r\n private dispatchStepChangeEvents() {\r\n this.el.nativeElement.dispatchEvent(new Event('input', { bubbles: true, cancelable: true }));\r\n this.el.nativeElement.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));\r\n\r\n this.triggerValidation();\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 { FormsModule } from '@angular/forms';\r\nimport { HermesCommonFormsModule } from '@hermes-ui/angular/forms/common';\r\nimport { ClarityIcons, HermesIcon, errorStandardIcon, minusIcon, plusIcon, successStandardIcon } from '@hermes-ui/angular/icon';\r\n\r\nimport { HermesNumberInput } from './number-input';\r\nimport { HermesNumberInputContainer } from './number-input-container';\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, HermesIcon, HermesCommonFormsModule],\r\n declarations: [HermesNumberInput, HermesNumberInputContainer],\r\n exports: [HermesCommonFormsModule, HermesNumberInput, HermesNumberInputContainer],\r\n})\r\nexport class HermesNumberInputModule {\r\n constructor() {\r\n ClarityIcons.addIcons(successStandardIcon, errorStandardIcon, minusIcon, plusIcon);\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 './number-input';\r\nexport * from './number-input-container';\r\nexport * from './number-input.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
1
+ {"version":3,"file":"hermes-ui-angular-forms-number-input.mjs","sources":["../../../forms/number-input/number-input-container.ts","../../../forms/number-input/number-input.ts","../../../forms/number-input/number-input.module.ts","../../../forms/number-input/index.ts","../../../forms/number-input/hermes-ui-angular-forms-number-input.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, ContentChild, forwardRef, 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 { HermesNumberInput } from './number-input';\r\n\r\n@Component({\r\n selector: 'hermes-number-input-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-number-input-wrapper\">\r\n <div class=\"hermes-input-group\" [class.hermes-focus]=\"focus\">\r\n <ng-content select=\"[hermesNumberInput]\"></ng-content>\r\n <div class=\"hermes-input-group-actions\" (focusout)=\"focusOut()\">\r\n <button\r\n type=\"button\"\r\n class=\"hermes-input-group-icon-action\"\r\n (click)=\"input.stepDown()\"\r\n [disabled]=\"control?.disabled\"\r\n >\r\n <hermes-icon shape=\"minus\" size=\"sm\"></hermes-icon>\r\n </button>\r\n <div class=\"hermes-number-input-separator\"></div>\r\n <button\r\n type=\"button\"\r\n class=\"hermes-input-group-icon-action\"\r\n (click)=\"input.stepUp()\"\r\n [disabled]=\"control?.disabled\"\r\n >\r\n <hermes-icon shape=\"plus\" size=\"sm\"></hermes-icon>\r\n </button>\r\n </div>\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-form-control-readonly]': 'input?.readonly',\r\n '[class.hermes-row]': 'addGrid()',\r\n },\r\n providers: [FormsFocusService, NgControlService, ControlIdService, ControlClassService],\r\n standalone: false,\r\n})\r\nexport class HermesNumberInputContainer extends HermesAbstractContainer {\r\n focus = false;\r\n\r\n @ContentChild(forwardRef(() => HermesNumberInput)) protected readonly input: HermesNumberInput;\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 focusOut() {\r\n this.input.dispatchBlur();\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 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 { HermesNumberInputContainer } from './number-input-container';\r\n\r\n@Directive({\r\n selector: 'input[type=\"number\"][hermesNumberInput]',\r\n host: { '[class.hermes-input]': 'true', '[class.hermes-number-input]': 'true' },\r\n standalone: false,\r\n})\r\nexport class HermesNumberInput extends WrappedFormControl<HermesNumberInputContainer> {\r\n protected override index = 1;\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 private control: NgControl,\r\n renderer: Renderer2,\r\n protected override el: ElementRef<HTMLInputElement>\r\n ) {\r\n super(vcr, HermesNumberInputContainer, injector, control, renderer, el);\r\n\r\n if (!focusService) {\r\n throw new Error('hermesNumberInput requires being wrapped in <hermes-number-input-container>');\r\n }\r\n }\r\n\r\n get readonly() {\r\n return this.el.nativeElement.getAttribute('readonly') !== null;\r\n }\r\n\r\n @HostListener('focus')\r\n triggerFocus() {\r\n if (!this.readonly && this.focusService) {\r\n this.focusService.focused = true;\r\n }\r\n }\r\n\r\n override triggerValidation() {\r\n if (!this.readonly) {\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 stepUp(): void {\r\n this.el.nativeElement.stepUp();\r\n this.dispatchStepChangeEvents();\r\n }\r\n\r\n stepDown(): void {\r\n this.el.nativeElement.stepDown();\r\n this.dispatchStepChangeEvents();\r\n }\r\n\r\n dispatchBlur() {\r\n this.el.nativeElement.dispatchEvent(new Event('blur', { bubbles: true, cancelable: true }));\r\n }\r\n\r\n private dispatchStepChangeEvents() {\r\n this.el.nativeElement.dispatchEvent(new Event('input', { bubbles: true, cancelable: true }));\r\n this.el.nativeElement.dispatchEvent(new Event('change', { bubbles: true, cancelable: true }));\r\n\r\n this.triggerValidation();\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 { FormsModule } from '@angular/forms';\nimport { HermesCommonFormsModule } from '@hermes-ui/angular/forms/common';\nimport { HermesIcons, HermesIcon, errorStandardIcon, minusIcon, plusIcon, successStandardIcon } from '@hermes-ui/angular/icon';\n\nimport { HermesNumberInput } from './number-input';\nimport { HermesNumberInputContainer } from './number-input-container';\n\n@NgModule({\n imports: [CommonModule, FormsModule, HermesIcon, HermesCommonFormsModule],\n declarations: [HermesNumberInput, HermesNumberInputContainer],\n exports: [HermesCommonFormsModule, HermesNumberInput, HermesNumberInputContainer],\n})\nexport class HermesNumberInputModule {\n constructor() {\n HermesIcons.addIcons(successStandardIcon, errorStandardIcon, minusIcon, plusIcon);\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 './number-input';\r\nexport * from './number-input-container';\r\nexport * from './number-input.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
@@ -8,7 +8,7 @@ import * as i2 from '@hermes-ui/angular/utils';
8
8
  import * as i3 from '@angular/common';
9
9
  import { CommonModule } from '@angular/common';
10
10
  import * as i4 from '@hermes-ui/angular/icon';
11
- import { ClarityIcons, eyeHideIcon, eyeIcon, successStandardIcon, errorStandardIcon, HermesIcon } from '@hermes-ui/angular/icon';
11
+ import { HermesIcons, eyeHideIcon, eyeIcon, successStandardIcon, errorStandardIcon, HermesIcon } from '@hermes-ui/angular/icon';
12
12
  import * as i1$1 from '@angular/forms';
13
13
  import { FormsModule } from '@angular/forms';
14
14
 
@@ -203,7 +203,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
203
203
  */
204
204
  class HermesPasswordModule {
205
205
  constructor() {
206
- ClarityIcons.addIcons(eyeHideIcon, eyeIcon, successStandardIcon, errorStandardIcon);
206
+ HermesIcons.addIcons(eyeHideIcon, eyeIcon, successStandardIcon, errorStandardIcon);
207
207
  }
208
208
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesPasswordModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
209
209
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesPasswordModule, declarations: [HermesPassword, HermesPasswordContainer], imports: [CommonModule, FormsModule, HermesIcon, HermesCommonFormsModule], exports: [HermesCommonFormsModule, HermesPassword, HermesPasswordContainer] }); }