@hermes-ui/angular 0.1.6 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/README.md +52 -52
  2. package/button/_buttons.clarity.scss +80 -2
  3. package/button/_mixins.buttons.scss +44 -2
  4. package/button/_properties.buttons.scss +349 -387
  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-a11y.mjs.map +1 -1
  9. package/fesm2022/hermes-ui-angular-addons-card-container.mjs +3 -3
  10. package/fesm2022/hermes-ui-angular-addons-card-container.mjs.map +1 -1
  11. package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs +2 -2
  12. package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs.map +1 -1
  13. package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs +2 -2
  14. package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs.map +1 -1
  15. package/fesm2022/hermes-ui-angular-addons-datagrid.mjs +30 -30
  16. package/fesm2022/hermes-ui-angular-addons-datagrid.mjs.map +1 -1
  17. package/fesm2022/hermes-ui-angular-addons-dialog.mjs.map +1 -1
  18. package/fesm2022/hermes-ui-angular-addons-menu.mjs +8 -8
  19. package/fesm2022/hermes-ui-angular-addons-menu.mjs.map +1 -1
  20. package/fesm2022/hermes-ui-angular-addons-property-view.mjs +2 -2
  21. package/fesm2022/hermes-ui-angular-addons-property-view.mjs.map +1 -1
  22. package/fesm2022/hermes-ui-angular-addons-stepper.mjs.map +1 -1
  23. package/fesm2022/hermes-ui-angular-addons-tabs.mjs.map +1 -1
  24. package/fesm2022/hermes-ui-angular-addons-testing.mjs +78 -78
  25. package/fesm2022/hermes-ui-angular-addons-testing.mjs.map +1 -1
  26. package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs +66 -66
  27. package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs.map +1 -1
  28. package/fesm2022/hermes-ui-angular-addons-var.mjs +2 -2
  29. package/fesm2022/hermes-ui-angular-addons-var.mjs.map +1 -1
  30. package/fesm2022/hermes-ui-angular-addons-wizard.mjs +2 -2
  31. package/fesm2022/hermes-ui-angular-addons-wizard.mjs.map +1 -1
  32. package/fesm2022/hermes-ui-angular-addons-workflow.mjs.map +1 -1
  33. package/fesm2022/hermes-ui-angular-button.mjs +76 -76
  34. package/fesm2022/hermes-ui-angular-button.mjs.map +1 -1
  35. package/fesm2022/hermes-ui-angular-card.mjs.map +1 -1
  36. package/fesm2022/hermes-ui-angular-collapsible-panel.mjs.map +1 -1
  37. package/fesm2022/hermes-ui-angular-data-datagrid.mjs +928 -928
  38. package/fesm2022/hermes-ui-angular-data-datagrid.mjs.map +1 -1
  39. package/fesm2022/hermes-ui-angular-data-stack-view.mjs +116 -116
  40. package/fesm2022/hermes-ui-angular-data-stack-view.mjs.map +1 -1
  41. package/fesm2022/hermes-ui-angular-data-tree-view.mjs +14 -14
  42. package/fesm2022/hermes-ui-angular-data-tree-view.mjs.map +1 -1
  43. package/fesm2022/hermes-ui-angular-data.mjs.map +1 -1
  44. package/fesm2022/hermes-ui-angular-divider.mjs +2 -2
  45. package/fesm2022/hermes-ui-angular-divider.mjs.map +1 -1
  46. package/fesm2022/hermes-ui-angular-emphasis-alert.mjs +2 -2
  47. package/fesm2022/hermes-ui-angular-emphasis-alert.mjs.map +1 -1
  48. package/fesm2022/hermes-ui-angular-emphasis-badge.mjs.map +1 -1
  49. package/fesm2022/hermes-ui-angular-emphasis-label.mjs +16 -16
  50. package/fesm2022/hermes-ui-angular-emphasis-label.mjs.map +1 -1
  51. package/fesm2022/hermes-ui-angular-emphasis.mjs.map +1 -1
  52. package/fesm2022/hermes-ui-angular-forms-checkbox.mjs +52 -52
  53. package/fesm2022/hermes-ui-angular-forms-checkbox.mjs.map +1 -1
  54. package/fesm2022/hermes-ui-angular-forms-combobox.mjs +128 -128
  55. package/fesm2022/hermes-ui-angular-forms-combobox.mjs.map +1 -1
  56. package/fesm2022/hermes-ui-angular-forms-common.mjs +2 -2
  57. package/fesm2022/hermes-ui-angular-forms-common.mjs.map +1 -1
  58. package/fesm2022/hermes-ui-angular-forms-datalist.mjs +48 -48
  59. package/fesm2022/hermes-ui-angular-forms-datalist.mjs.map +1 -1
  60. package/fesm2022/hermes-ui-angular-forms-datepicker.mjs +377 -377
  61. package/fesm2022/hermes-ui-angular-forms-datepicker.mjs.map +1 -1
  62. package/fesm2022/hermes-ui-angular-forms-file-input.mjs +192 -192
  63. package/fesm2022/hermes-ui-angular-forms-file-input.mjs.map +1 -1
  64. package/fesm2022/hermes-ui-angular-forms-input.mjs +54 -54
  65. package/fesm2022/hermes-ui-angular-forms-input.mjs.map +1 -1
  66. package/fesm2022/hermes-ui-angular-forms-native-select.mjs +40 -40
  67. package/fesm2022/hermes-ui-angular-forms-native-select.mjs.map +1 -1
  68. package/fesm2022/hermes-ui-angular-forms-number-input.mjs +82 -82
  69. package/fesm2022/hermes-ui-angular-forms-number-input.mjs.map +1 -1
  70. package/fesm2022/hermes-ui-angular-forms-password.mjs +60 -60
  71. package/fesm2022/hermes-ui-angular-forms-password.mjs.map +1 -1
  72. package/fesm2022/hermes-ui-angular-forms-radio.mjs +52 -52
  73. package/fesm2022/hermes-ui-angular-forms-radio.mjs.map +1 -1
  74. package/fesm2022/hermes-ui-angular-forms-range.mjs +46 -46
  75. package/fesm2022/hermes-ui-angular-forms-range.mjs.map +1 -1
  76. package/fesm2022/hermes-ui-angular-forms-select.mjs +10 -10
  77. package/fesm2022/hermes-ui-angular-forms-select.mjs.map +1 -1
  78. package/fesm2022/hermes-ui-angular-forms-textarea.mjs +40 -40
  79. package/fesm2022/hermes-ui-angular-forms-textarea.mjs.map +1 -1
  80. package/fesm2022/hermes-ui-angular-forms.mjs.map +1 -1
  81. package/fesm2022/hermes-ui-angular-icon.mjs +29 -29
  82. package/fesm2022/hermes-ui-angular-icon.mjs.map +1 -1
  83. package/fesm2022/hermes-ui-angular-layout-breadcrumbs.mjs.map +1 -1
  84. package/fesm2022/hermes-ui-angular-layout-main-container.mjs.map +1 -1
  85. package/fesm2022/hermes-ui-angular-layout-nav.mjs +48 -48
  86. package/fesm2022/hermes-ui-angular-layout-nav.mjs.map +1 -1
  87. package/fesm2022/hermes-ui-angular-layout-tabs.mjs +148 -148
  88. package/fesm2022/hermes-ui-angular-layout-tabs.mjs.map +1 -1
  89. package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs +382 -28
  90. package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs.map +1 -1
  91. package/fesm2022/hermes-ui-angular-layout.mjs.map +1 -1
  92. package/fesm2022/hermes-ui-angular-modal.mjs +2 -2
  93. package/fesm2022/hermes-ui-angular-modal.mjs.map +1 -1
  94. package/fesm2022/hermes-ui-angular-pagination.mjs +8 -8
  95. package/fesm2022/hermes-ui-angular-pagination.mjs.map +1 -1
  96. package/fesm2022/hermes-ui-angular-popover-common.mjs +26 -3
  97. package/fesm2022/hermes-ui-angular-popover-common.mjs.map +1 -1
  98. package/fesm2022/hermes-ui-angular-popover-dropdown.mjs.map +1 -1
  99. package/fesm2022/hermes-ui-angular-popover-signpost.mjs +68 -68
  100. package/fesm2022/hermes-ui-angular-popover-signpost.mjs.map +1 -1
  101. package/fesm2022/hermes-ui-angular-popover-tooltip.mjs.map +1 -1
  102. package/fesm2022/hermes-ui-angular-popover.mjs.map +1 -1
  103. package/fesm2022/hermes-ui-angular-progress-progress-bars.mjs +10 -10
  104. package/fesm2022/hermes-ui-angular-progress-progress-bars.mjs.map +1 -1
  105. package/fesm2022/hermes-ui-angular-progress-spinner.mjs.map +1 -1
  106. package/fesm2022/hermes-ui-angular-stepper.mjs +2 -2
  107. package/fesm2022/hermes-ui-angular-stepper.mjs.map +1 -1
  108. package/fesm2022/hermes-ui-angular-timeline.mjs +2 -2
  109. package/fesm2022/hermes-ui-angular-timeline.mjs.map +1 -1
  110. package/fesm2022/hermes-ui-angular-toast.mjs +6 -6
  111. package/fesm2022/hermes-ui-angular-toast.mjs.map +1 -1
  112. package/fesm2022/hermes-ui-angular-utils-conditional.mjs.map +1 -1
  113. package/fesm2022/hermes-ui-angular-utils.mjs +6 -0
  114. package/fesm2022/hermes-ui-angular-utils.mjs.map +1 -1
  115. package/fesm2022/hermes-ui-angular-wizard.mjs +58 -58
  116. package/fesm2022/hermes-ui-angular-wizard.mjs.map +1 -1
  117. package/fesm2022/hermes-ui-angular.mjs.map +1 -1
  118. package/forms/combobox/_combobox.clarity.scss +18 -4
  119. package/forms/combobox/_properties.combobox.scss +5 -5
  120. package/forms/styles/_input-group.clarity.scss +7 -0
  121. package/forms/styles/_mixins.forms.scss +12 -10
  122. package/forms/styles/_native-select.clarity.scss +17 -5
  123. package/forms/styles/_properties.forms.scss +29 -18
  124. package/forms/styles/_textarea.clarity.scss +4 -4
  125. package/forms/styles/_variables.forms.scss +6 -0
  126. package/hermes-ui.scss +7 -7
  127. package/layout/main-container/_properties.header.scss +44 -6
  128. package/layout/main-container/_variables.header.scss +11 -0
  129. package/layout/nav/_header.clarity.scss +14 -0
  130. package/layout/nav/_mixins.header.scss +55 -40
  131. package/layout/nav/_responsive-nav.clarity.scss +21 -10
  132. package/layout/vertical-nav/_properties.vertical-nav.scss +77 -27
  133. package/layout/vertical-nav/_variables.vertical-nav.scss +23 -0
  134. package/layout/vertical-nav/_vertical-nav.clarity.scss +418 -277
  135. package/package.json +1 -1
  136. package/toast/README.md +65 -65
  137. package/toast/_properties.toast.scss +56 -56
  138. package/toast/_toast.clarity.scss +190 -190
  139. package/toast/_variables.toast.scss +33 -33
  140. package/types/hermes-ui-angular-addons-theme-builder.d.ts +2 -2
  141. package/types/hermes-ui-angular-addons-theme-builder.d.ts.map +1 -1
  142. package/types/hermes-ui-angular-data-datagrid.d.ts.map +1 -1
  143. package/types/hermes-ui-angular-icon.d.ts +3 -3
  144. package/types/hermes-ui-angular-icon.d.ts.map +1 -1
  145. package/types/hermes-ui-angular-layout-vertical-nav.d.ts +134 -10
  146. package/types/hermes-ui-angular-layout-vertical-nav.d.ts.map +1 -1
  147. package/types/hermes-ui-angular-popover-common.d.ts +4 -3
  148. package/types/hermes-ui-angular-popover-common.d.ts.map +1 -1
  149. package/types/hermes-ui-angular-utils.d.ts +12 -0
  150. package/types/hermes-ui-angular-utils.d.ts.map +1 -1
  151. package/types/hermes-ui-angular-wizard.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-ui-angular-forms-select.mjs","sources":["../../../forms/select/providers/select-state.service.ts","../../../forms/select/select.ts","../../../forms/select/select-trigger.ts","../../../forms/select/select-trigger.html","../../../forms/select/select-value.ts","../../../forms/select/select-value.html","../../../forms/select/select-item.ts","../../../forms/select/select-item.html","../../../forms/select/select-content.ts","../../../forms/select/select-content.html","../../../forms/select/select-group.ts","../../../forms/select/select-label.ts","../../../forms/select/select-separator.ts","../../../forms/select/select.module.ts","../../../forms/select/index.ts","../../../forms/select/hermes-ui-angular-forms-select.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { uniqueIdFactory } from '@hermes-ui/angular/utils';\nimport { Subject } from 'rxjs';\n\n/**\n * Minimal shape HermesSelectItem exposes to the shared state - kept as an interface (rather\n * than importing HermesSelectItem directly) to avoid a service <-> component circular import.\n *\n * getLabelHtml() returns a snapshot of the item's rendered markup (innerHTML), rather than\n * exposing its content as a re-usable TemplateRef: <ng-content> projects a single, real set of\n * DOM nodes, so instantiating that same template a second time (e.g. from hermes-select-value)\n * would move those nodes there instead of cloning them, leaving the item's own row empty the\n * moment it becomes selected.\n */\nexport interface HermesSelectItemRef {\n value: unknown;\n disabled: boolean;\n nativeElement: HTMLElement;\n getLabelHtml(): string;\n focus(): void;\n}\n\n/**\n * Shared state for a single hermes-select instance, provided at the HermesSelect component\n * level so the trigger, value, content, and every item can all read/mutate the same value\n * and item registry without prop-drilling through content projection.\n */\n@Injectable()\nexport class HermesSelectStateService {\n disabled = false;\n placeholder = '';\n items: HermesSelectItemRef[] = [];\n readonly listboxId = uniqueIdFactory();\n\n /** Set by HermesSelectTrigger; read by HermesSelectContent to item-align the popup. */\n triggerElement?: HTMLElement;\n\n readonly valueChange = new Subject<unknown>();\n\n onChange: (value: unknown) => void = () => {};\n onTouched: () => void = () => {};\n\n private _value: unknown;\n\n get value(): unknown {\n return this._value;\n }\n set value(value: unknown) {\n this._value = value;\n }\n\n get selectedItem(): HermesSelectItemRef | undefined {\n return this.items.find(item => this.isSelected(item.value));\n }\n\n isSelected(value: unknown): boolean {\n return this._value !== undefined && this._value !== null && this._value === value;\n }\n\n registerItem(item: HermesSelectItemRef): void {\n this.items.push(item);\n }\n\n unregisterItem(item: HermesSelectItemRef): void {\n const index = this.items.indexOf(item);\n if (index > -1) {\n this.items.splice(index, 1);\n }\n }\n\n selectValue(value: unknown): void {\n if (this.disabled || this._value === value) {\n return;\n }\n this._value = value;\n this.onChange(value);\n this.valueChange.next(value);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, forwardRef, Input, OnDestroy, OnInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { HermesPopoverHostDirective, HermesPopoverService } from '@hermes-ui/angular/popover/common';\nimport { Subscription } from 'rxjs';\n\nimport { HermesSelectStateService } from './providers/select-state.service';\n\n/**\n * Root of a hermes-select. Renders nothing itself besides its projected content\n * (typically a HermesSelectTrigger and a HermesSelectContent) and provides the\n * HermesSelectStateService every descendant reads/writes through.\n */\n@Component({\n selector: 'hermes-select',\n template: '<ng-content></ng-content>',\n providers: [\n HermesSelectStateService,\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => HermesSelect), multi: true },\n ],\n hostDirectives: [HermesPopoverHostDirective],\n host: {\n '[class.hermes-select]': 'true',\n '[attr.data-disabled]': 'disabled || null',\n },\n standalone: false,\n})\nexport class HermesSelect implements ControlValueAccessor, OnInit, OnDestroy {\n private subscription: Subscription;\n\n constructor(\n public state: HermesSelectStateService,\n private popoverService: HermesPopoverService\n ) {}\n\n get disabled(): boolean {\n return this.state.disabled;\n }\n\n @Input()\n get placeholder(): string {\n return this.state.placeholder;\n }\n set placeholder(value: string) {\n this.state.placeholder = value ?? '';\n }\n\n ngOnInit() {\n // A close (regardless of whether it happened through a selection, Escape, or an\n // outside click) is the closest thing a listbox-style control has to a \"blur\".\n this.subscription = this.popoverService.openChange.subscribe(open => {\n if (!open) {\n this.state.onTouched();\n }\n });\n }\n\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n }\n\n writeValue(value: unknown): void {\n this.state.value = value;\n }\n\n registerOnChange(fn: (value: unknown) => void): void {\n this.state.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.state.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.state.disabled = isDisabled;\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { AfterViewInit, Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { HermesPopoverService } from '@hermes-ui/angular/popover/common';\n\nimport { HermesSelectStateService } from './providers/select-state.service';\n\n/**\n * The button that opens the listbox. A real <button> so Enter/Space activation and tab\n * order come from the browser for free; only ArrowUp/ArrowDown need their own handling\n * here, matching how a native <select> also opens on either arrow key.\n */\n@Component({\n selector: 'hermes-select-trigger',\n templateUrl: './select-trigger.html',\n host: {\n '[class.hermes-select-trigger]': 'true',\n '[attr.data-size]': 'size',\n },\n standalone: false,\n})\nexport class HermesSelectTrigger implements AfterViewInit {\n @Input() size: 'default' | 'sm' = 'default';\n\n @ViewChild('triggerButton', { static: true }) private buttonRef: ElementRef<HTMLButtonElement>;\n\n constructor(\n public state: HermesSelectStateService,\n public popoverService: HermesPopoverService\n ) {}\n\n ngAfterViewInit() {\n this.state.triggerElement = this.buttonRef.nativeElement;\n }\n\n openOnArrowKey(event: Event): void {\n if (this.state.disabled) {\n return;\n }\n event.preventDefault();\n if (!this.popoverService.open) {\n this.popoverService.open = true;\n }\n }\n}\n","<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<button\n #triggerButton\n type=\"button\"\n class=\"hermes-select-trigger-button\"\n role=\"combobox\"\n hermesPopoverOrigin\n hermesPopoverOpenCloseButton\n [disabled]=\"state.disabled\"\n [attr.aria-expanded]=\"popoverService.open\"\n [attr.aria-controls]=\"state.listboxId\"\n aria-haspopup=\"listbox\"\n (keydown.ArrowDown)=\"openOnArrowKey($event)\"\n (keydown.ArrowUp)=\"openOnArrowKey($event)\"\n>\n <ng-content></ng-content>\n <hermes-icon shape=\"angle\" direction=\"down\" size=\"16\" class=\"hermes-select-trigger-icon\"></hermes-icon>\n</button>\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, Input } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\nimport { HermesSelectStateService } from './providers/select-state.service';\n\n/**\n * Displays a snapshot of the selected item's rendered markup inside the trigger, or the\n * placeholder text when nothing is selected yet - mirrors shadcn's <SelectValue>.\n *\n * Reads HermesSelectItem.getLabelHtml() (an innerHTML snapshot) rather than re-rendering the\n * item's projected content through a shared TemplateRef: <ng-content> hands out one real set\n * of DOM nodes, and instantiating that same template a second time here would move them out\n * of the item's own row instead of cloning them.\n */\n@Component({\n selector: 'hermes-select-value',\n templateUrl: './select-value.html',\n host: {\n '[class.hermes-select-value]': 'true',\n '[class.hermes-select-placeholder]': '!state.selectedItem',\n },\n standalone: false,\n})\nexport class HermesSelectValue {\n @Input() placeholder: string;\n\n constructor(\n public state: HermesSelectStateService,\n private sanitizer: DomSanitizer\n ) {}\n\n get resolvedPlaceholder(): string {\n return this.placeholder ?? this.state.placeholder;\n }\n\n get valueHtml(): SafeHtml | null {\n const item = this.state.selectedItem;\n // Trusted: this is a snapshot of markup this same app already rendered from its own\n // hermes-select-item templates, not third-party or user-supplied HTML.\n return item ? this.sanitizer.bypassSecurityTrustHtml(item.getLabelHtml()) : null;\n }\n}\n","<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n@if (state.selectedItem) {\n <span [innerHTML]=\"valueHtml\"></span>\n} @else {\n {{ resolvedPlaceholder }}\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component, ElementRef, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\n\nimport { HermesSelectStateService } from './providers/select-state.service';\n\n@Component({\n selector: 'hermes-select-item',\n templateUrl: './select-item.html',\n host: {\n role: 'option',\n '[attr.aria-selected]': 'selected',\n '[attr.aria-disabled]': 'disabled || null',\n '[attr.tabindex]': '-1',\n '[class.hermes-select-item]': 'true',\n '[class.selected]': 'selected',\n '[class.disabled]': 'disabled',\n '(click)': 'onSelect()',\n '(keydown.enter)': 'onKeydownSelect($event)',\n '(keydown.space)': 'onKeydownSelect($event)',\n },\n standalone: false,\n})\nexport class HermesSelectItem implements OnInit, OnDestroy {\n @Input() value: unknown;\n\n @ViewChild('text', { static: true }) private textEl: ElementRef<HTMLElement>;\n\n private _disabled = false;\n\n constructor(\n public state: HermesSelectStateService,\n private elementRef: ElementRef<HTMLElement>\n ) {}\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean | string) {\n this._disabled = !!value || value === '';\n }\n\n get selected(): boolean {\n return this.state.isSelected(this.value);\n }\n\n get nativeElement(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n getLabelHtml(): string {\n return this.textEl?.nativeElement.innerHTML ?? '';\n }\n\n ngOnInit() {\n this.state.registerItem(this);\n }\n\n ngOnDestroy() {\n this.state.unregisterItem(this);\n }\n\n onSelect(): void {\n if (this.disabled) {\n return;\n }\n this.state.selectValue(this.value);\n }\n\n onKeydownSelect(event: KeyboardEvent): void {\n // Space normally scrolls the page; both keys should only ever select.\n event.preventDefault();\n this.onSelect();\n }\n}\n","<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<span #text class=\"hermes-select-item-text\">\n <ng-content></ng-content>\n</span>\n<span class=\"hermes-select-item-indicator\">\n @if (selected) {\n <hermes-icon shape=\"check\" size=\"16\"></hermes-icon>\n }\n</span>\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 { ConnectedPosition } from '@angular/cdk/overlay';\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n ElementRef,\n HostBinding,\n OnDestroy,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport {\n HermesPopoverContent,\n HermesPopoverPosition,\n HermesPopoverService,\n HermesPopoverType,\n mapPopoverKeyToPosition,\n} from '@hermes-ui/angular/popover/common';\nimport { Keys } from '@hermes-ui/angular/utils';\nimport { Subscription } from 'rxjs';\n\nimport { HermesSelectItem } from './select-item';\nimport { HermesSelectStateService } from './providers/select-state.service';\n\nconst TYPEAHEAD_RESET_MS = 500;\n\n/**\n * The listbox popup. Hosts HermesPopoverContent for positioning/overlay/outside-click/escape\n * handling (the same primitive hermes-dropdown-menu uses) and owns arrow-key navigation,\n * Home/End, and single-character typeahead across its projected hermes-select-item children.\n */\n@Component({\n selector: 'hermes-select-content',\n templateUrl: './select-content.html',\n hostDirectives: [HermesPopoverContent],\n host: {\n role: 'listbox',\n '[attr.id]': 'state.listboxId',\n '[class.hermes-select-content]': 'true',\n '(keydown)': 'onKeydown($event)',\n },\n standalone: false,\n})\nexport class HermesSelectContent implements AfterContentInit, OnDestroy {\n @ContentChildren(HermesSelectItem, { descendants: true }) items: QueryList<HermesSelectItem>;\n\n @ViewChild('viewport', { static: true }) viewport: ElementRef<HTMLElement>;\n\n canScrollUp = false;\n canScrollDown = false;\n\n private subscriptions: Subscription[] = [];\n private typeaheadBuffer = '';\n private typeaheadTimeout: ReturnType<typeof setTimeout>;\n\n constructor(\n public state: HermesSelectStateService,\n private popoverService: HermesPopoverService,\n private popoverContent: HermesPopoverContent,\n private elementRef: ElementRef<HTMLElement>\n ) {\n popoverContent.contentType = HermesPopoverType.DROPDOWN;\n popoverContent.contentAt = HermesPopoverPosition.BOTTOM_LEFT;\n popoverService.panelClass.push('hermes-select-content-panel');\n }\n\n /**\n * Fallback to hide when the overlay hasn't attached (or has just detached) this\n * element's DOM node yet - mirrors hermes-dropdown-menu's own off-screen fallback.\n */\n @HostBinding('class.is-off-screen')\n get isOffScreen() {\n return !this.popoverService.open;\n }\n\n ngAfterContentInit() {\n this.subscriptions.push(\n this.popoverService.popoverVisible.subscribe(visible => {\n if (visible) {\n this.focusInitialItem();\n // Wait for layout so scrollHeight reflects the now-visible content.\n setTimeout(() => this.updateScrollButtonsVisibility());\n }\n }),\n this.state.valueChange.subscribe(() => this.updateItemAlignedPosition()),\n this.items.changes.subscribe(() => this.updateItemAlignedPosition())\n );\n\n // Deferred one tick: HermesSelectTrigger sets state.triggerElement in its own\n // ngAfterViewInit, which may not have run yet by the time this fires.\n setTimeout(() => this.updateItemAlignedPosition());\n }\n\n onViewportScroll(): void {\n this.updateScrollButtonsVisibility();\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\n clearTimeout(this.typeaheadTimeout);\n }\n\n scrollBy(delta: number): void {\n this.viewport?.nativeElement.scrollBy({ top: delta });\n }\n\n /**\n * Mirrors the \"item-aligned\" positioning a native <select> (and shadcn/Radix's Select)\n * uses: instead of always dropping the popup below the trigger, it opens with the\n * currently selected item lined up against the trigger, so the control feels like it\n * expands in place rather than sliding a menu out from under itself. Falls back to a\n * plain below-the-trigger dropdown position when there's no selection yet.\n */\n private updateItemAlignedPosition(): void {\n const base = mapPopoverKeyToPosition(HermesPopoverPosition.BOTTOM_LEFT, HermesPopoverType.DROPDOWN);\n const trigger = this.state.triggerElement;\n const selected = this.state.selectedItem;\n\n if (!trigger || !selected) {\n this.popoverContent.contentAt = base;\n return;\n }\n\n const itemOffsetTop = this.offsetTopWithin(selected.nativeElement, this.elementRef.nativeElement);\n const triggerHeight = trigger.getBoundingClientRect().height;\n const itemHeight = selected.nativeElement.getBoundingClientRect().height;\n\n this.popoverContent.contentAt = {\n ...base,\n originY: 'top',\n overlayY: 'top',\n // Centers the selected item's row against the trigger's own height, then cancels out\n // how far that item already sits from the top of the (still off-screen) popup.\n offsetY: (triggerHeight - itemHeight) / 2 - itemOffsetTop,\n } as ConnectedPosition;\n }\n\n /**\n * Walks the offsetParent chain rather than comparing getBoundingClientRect()s: while\n * closed this element is `position: fixed` off-screen (see isOffScreen), so absolute\n * screen coordinates aren't meaningful yet, but relative offsetTop distances still are.\n */\n private offsetTopWithin(element: HTMLElement, ancestor: HTMLElement): number {\n let top = 0;\n let node: HTMLElement | null = element;\n while (node && node !== ancestor) {\n top += node.offsetTop;\n node = node.offsetParent as HTMLElement | null;\n }\n return top;\n }\n\n private updateScrollButtonsVisibility(): void {\n const el = this.viewport?.nativeElement;\n if (!el) {\n return;\n }\n this.canScrollUp = el.scrollTop > 0;\n this.canScrollDown = Math.ceil(el.scrollTop + el.clientHeight) < el.scrollHeight;\n }\n\n onKeydown(event: KeyboardEvent): void {\n const items = this.enabledItems();\n if (!items.length) {\n return;\n }\n\n const currentIndex = items.findIndex(item => item.nativeElement === document.activeElement);\n\n switch (event.key) {\n case Keys.ArrowDown:\n event.preventDefault();\n this.focusAt(items, currentIndex + 1 < items.length ? currentIndex + 1 : 0);\n break;\n case Keys.ArrowUp:\n event.preventDefault();\n this.focusAt(items, currentIndex > 0 ? currentIndex - 1 : items.length - 1);\n break;\n case Keys.Home:\n event.preventDefault();\n this.focusAt(items, 0);\n break;\n case Keys.End:\n event.preventDefault();\n this.focusAt(items, items.length - 1);\n break;\n default:\n this.handleTypeahead(event, items);\n }\n }\n\n private enabledItems(): HermesSelectItem[] {\n return this.items?.filter(item => !item.disabled) ?? [];\n }\n\n private focusAt(items: HermesSelectItem[], index: number): void {\n items[index]?.focus();\n }\n\n private focusInitialItem(): void {\n // The overlay's own content isn't attached/focusable synchronously with this emission.\n setTimeout(() => {\n const items = this.enabledItems();\n if (!items.length) {\n return;\n }\n (items.find(item => item.selected) ?? items[0]).focus();\n });\n }\n\n private handleTypeahead(event: KeyboardEvent, items: HermesSelectItem[]): void {\n if (event.key.length !== 1 || event.metaKey || event.ctrlKey || event.altKey) {\n return;\n }\n\n event.preventDefault();\n clearTimeout(this.typeaheadTimeout);\n this.typeaheadBuffer += event.key.toLowerCase();\n this.typeaheadTimeout = setTimeout(() => (this.typeaheadBuffer = ''), TYPEAHEAD_RESET_MS);\n\n const match = items.find(item => item.nativeElement.textContent?.trim().toLowerCase().startsWith(this.typeaheadBuffer));\n match?.focus();\n }\n}\n","<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n@if (canScrollUp) {\n <button type=\"button\" class=\"hermes-select-scroll-button\" aria-hidden=\"true\" tabindex=\"-1\" (click)=\"scrollBy(-40)\">\n <hermes-icon shape=\"angle\" direction=\"up\" size=\"16\"></hermes-icon>\n </button>\n}\n<div #viewport class=\"hermes-select-viewport\" (scroll)=\"onViewportScroll()\">\n <ng-content></ng-content>\n</div>\n@if (canScrollDown) {\n <button type=\"button\" class=\"hermes-select-scroll-button\" aria-hidden=\"true\" tabindex=\"-1\" (click)=\"scrollBy(40)\">\n <hermes-icon shape=\"angle\" direction=\"down\" size=\"16\"></hermes-icon>\n </button>\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'hermes-select-group',\n template: '<ng-content></ng-content>',\n host: {\n role: 'group',\n '[class.hermes-select-group]': 'true',\n },\n standalone: false,\n})\nexport class HermesSelectGroup {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'hermes-select-label',\n template: '<ng-content></ng-content>',\n host: {\n '[class.hermes-select-label]': 'true',\n },\n standalone: false,\n})\nexport class HermesSelectLabel {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'hermes-select-separator',\n template: '',\n host: {\n role: 'separator',\n '[class.hermes-select-separator]': 'true',\n },\n standalone: false,\n})\nexport class HermesSelectSeparator {}\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 { angleIcon, checkIcon, ClarityIcons, HermesIcon } from '@hermes-ui/angular/icon';\nimport { HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';\n\nimport { HermesSelect } from './select';\nimport { HermesSelectContent } from './select-content';\nimport { HermesSelectGroup } from './select-group';\nimport { HermesSelectItem } from './select-item';\nimport { HermesSelectLabel } from './select-label';\nimport { HermesSelectSeparator } from './select-separator';\nimport { HermesSelectTrigger } from './select-trigger';\nimport { HermesSelectValue } from './select-value';\n\nconst HERMES_SELECT_DIRECTIVES = [\n HermesSelect,\n HermesSelectTrigger,\n HermesSelectValue,\n HermesSelectContent,\n HermesSelectItem,\n HermesSelectGroup,\n HermesSelectLabel,\n HermesSelectSeparator,\n];\n\n@NgModule({\n imports: [CommonModule, HermesIcon, HermesPopoverModuleNext],\n declarations: [HERMES_SELECT_DIRECTIVES],\n exports: [HERMES_SELECT_DIRECTIVES],\n})\nexport class HermesSelectModule {\n constructor() {\n ClarityIcons.addIcons(angleIcon, checkIcon);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from './select';\nexport * from './select-trigger';\nexport * from './select-value';\nexport * from './select-content';\nexport * from './select-item';\nexport * from './select-group';\nexport * from './select-label';\nexport * from './select-separator';\nexport * from './select.module';\nexport * from './providers/select-state.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.HermesSelectStateService","i2"],"mappings":"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"}
1
+ {"version":3,"file":"hermes-ui-angular-forms-select.mjs","sources":["../../../forms/select/providers/select-state.service.ts","../../../forms/select/select.ts","../../../forms/select/select-trigger.ts","../../../forms/select/select-trigger.html","../../../forms/select/select-value.ts","../../../forms/select/select-value.html","../../../forms/select/select-item.ts","../../../forms/select/select-item.html","../../../forms/select/select-content.ts","../../../forms/select/select-content.html","../../../forms/select/select-group.ts","../../../forms/select/select-label.ts","../../../forms/select/select-separator.ts","../../../forms/select/select.module.ts","../../../forms/select/index.ts","../../../forms/select/hermes-ui-angular-forms-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 { Injectable } from '@angular/core';\r\nimport { uniqueIdFactory } from '@hermes-ui/angular/utils';\r\nimport { Subject } from 'rxjs';\r\n\r\n/**\r\n * Minimal shape HermesSelectItem exposes to the shared state - kept as an interface (rather\r\n * than importing HermesSelectItem directly) to avoid a service <-> component circular import.\r\n *\r\n * getLabelHtml() returns a snapshot of the item's rendered markup (innerHTML), rather than\r\n * exposing its content as a re-usable TemplateRef: <ng-content> projects a single, real set of\r\n * DOM nodes, so instantiating that same template a second time (e.g. from hermes-select-value)\r\n * would move those nodes there instead of cloning them, leaving the item's own row empty the\r\n * moment it becomes selected.\r\n */\r\nexport interface HermesSelectItemRef {\r\n value: unknown;\r\n disabled: boolean;\r\n nativeElement: HTMLElement;\r\n getLabelHtml(): string;\r\n focus(): void;\r\n}\r\n\r\n/**\r\n * Shared state for a single hermes-select instance, provided at the HermesSelect component\r\n * level so the trigger, value, content, and every item can all read/mutate the same value\r\n * and item registry without prop-drilling through content projection.\r\n */\r\n@Injectable()\r\nexport class HermesSelectStateService {\r\n disabled = false;\r\n placeholder = '';\r\n items: HermesSelectItemRef[] = [];\r\n readonly listboxId = uniqueIdFactory();\r\n\r\n /** Set by HermesSelectTrigger; read by HermesSelectContent to item-align the popup. */\r\n triggerElement?: HTMLElement;\r\n\r\n readonly valueChange = new Subject<unknown>();\r\n\r\n onChange: (value: unknown) => void = () => {};\r\n onTouched: () => void = () => {};\r\n\r\n private _value: unknown;\r\n\r\n get value(): unknown {\r\n return this._value;\r\n }\r\n set value(value: unknown) {\r\n this._value = value;\r\n }\r\n\r\n get selectedItem(): HermesSelectItemRef | undefined {\r\n return this.items.find(item => this.isSelected(item.value));\r\n }\r\n\r\n isSelected(value: unknown): boolean {\r\n return this._value !== undefined && this._value !== null && this._value === value;\r\n }\r\n\r\n registerItem(item: HermesSelectItemRef): void {\r\n this.items.push(item);\r\n }\r\n\r\n unregisterItem(item: HermesSelectItemRef): void {\r\n const index = this.items.indexOf(item);\r\n if (index > -1) {\r\n this.items.splice(index, 1);\r\n }\r\n }\r\n\r\n selectValue(value: unknown): void {\r\n if (this.disabled || this._value === value) {\r\n return;\r\n }\r\n this._value = value;\r\n this.onChange(value);\r\n this.valueChange.next(value);\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, forwardRef, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { HermesPopoverHostDirective, HermesPopoverService } from '@hermes-ui/angular/popover/common';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { HermesSelectStateService } from './providers/select-state.service';\r\n\r\n/**\r\n * Root of a hermes-select. Renders nothing itself besides its projected content\r\n * (typically a HermesSelectTrigger and a HermesSelectContent) and provides the\r\n * HermesSelectStateService every descendant reads/writes through.\r\n */\r\n@Component({\r\n selector: 'hermes-select',\r\n template: '<ng-content></ng-content>',\r\n providers: [\r\n HermesSelectStateService,\r\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => HermesSelect), multi: true },\r\n ],\r\n hostDirectives: [HermesPopoverHostDirective],\r\n host: {\r\n '[class.hermes-select]': 'true',\r\n '[attr.data-disabled]': 'disabled || null',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesSelect implements ControlValueAccessor, OnInit, OnDestroy {\r\n private subscription: Subscription;\r\n\r\n constructor(\r\n public state: HermesSelectStateService,\r\n private popoverService: HermesPopoverService\r\n ) {}\r\n\r\n get disabled(): boolean {\r\n return this.state.disabled;\r\n }\r\n\r\n @Input()\r\n get placeholder(): string {\r\n return this.state.placeholder;\r\n }\r\n set placeholder(value: string) {\r\n this.state.placeholder = value ?? '';\r\n }\r\n\r\n ngOnInit() {\r\n // A close (regardless of whether it happened through a selection, Escape, or an\r\n // outside click) is the closest thing a listbox-style control has to a \"blur\".\r\n this.subscription = this.popoverService.openChange.subscribe(open => {\r\n if (!open) {\r\n this.state.onTouched();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription?.unsubscribe();\r\n }\r\n\r\n writeValue(value: unknown): void {\r\n this.state.value = value;\r\n }\r\n\r\n registerOnChange(fn: (value: unknown) => void): void {\r\n this.state.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.state.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.state.disabled = isDisabled;\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 { AfterViewInit, Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { HermesPopoverService } from '@hermes-ui/angular/popover/common';\r\n\r\nimport { HermesSelectStateService } from './providers/select-state.service';\r\n\r\n/**\r\n * The button that opens the listbox. A real <button> so Enter/Space activation and tab\r\n * order come from the browser for free; only ArrowUp/ArrowDown need their own handling\r\n * here, matching how a native <select> also opens on either arrow key.\r\n */\r\n@Component({\r\n selector: 'hermes-select-trigger',\r\n templateUrl: './select-trigger.html',\r\n host: {\r\n '[class.hermes-select-trigger]': 'true',\r\n '[attr.data-size]': 'size',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesSelectTrigger implements AfterViewInit {\r\n @Input() size: 'default' | 'sm' = 'default';\r\n\r\n @ViewChild('triggerButton', { static: true }) private buttonRef: ElementRef<HTMLButtonElement>;\r\n\r\n constructor(\r\n public state: HermesSelectStateService,\r\n public popoverService: HermesPopoverService\r\n ) {}\r\n\r\n ngAfterViewInit() {\r\n this.state.triggerElement = this.buttonRef.nativeElement;\r\n }\r\n\r\n openOnArrowKey(event: Event): void {\r\n if (this.state.disabled) {\r\n return;\r\n }\r\n event.preventDefault();\r\n if (!this.popoverService.open) {\r\n this.popoverService.open = true;\r\n }\r\n }\r\n}\r\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n<button\r\n #triggerButton\r\n type=\"button\"\r\n class=\"hermes-select-trigger-button\"\r\n role=\"combobox\"\r\n hermesPopoverOrigin\r\n hermesPopoverOpenCloseButton\r\n [disabled]=\"state.disabled\"\r\n [attr.aria-expanded]=\"popoverService.open\"\r\n [attr.aria-controls]=\"state.listboxId\"\r\n aria-haspopup=\"listbox\"\r\n (keydown.ArrowDown)=\"openOnArrowKey($event)\"\r\n (keydown.ArrowUp)=\"openOnArrowKey($event)\"\r\n>\r\n <ng-content></ng-content>\r\n <hermes-icon shape=\"angle\" direction=\"down\" size=\"16\" class=\"hermes-select-trigger-icon\"></hermes-icon>\r\n</button>\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, Input } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\nimport { HermesSelectStateService } from './providers/select-state.service';\r\n\r\n/**\r\n * Displays a snapshot of the selected item's rendered markup inside the trigger, or the\r\n * placeholder text when nothing is selected yet - mirrors shadcn's <SelectValue>.\r\n *\r\n * Reads HermesSelectItem.getLabelHtml() (an innerHTML snapshot) rather than re-rendering the\r\n * item's projected content through a shared TemplateRef: <ng-content> hands out one real set\r\n * of DOM nodes, and instantiating that same template a second time here would move them out\r\n * of the item's own row instead of cloning them.\r\n */\r\n@Component({\r\n selector: 'hermes-select-value',\r\n templateUrl: './select-value.html',\r\n host: {\r\n '[class.hermes-select-value]': 'true',\r\n '[class.hermes-select-placeholder]': '!state.selectedItem',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesSelectValue {\r\n @Input() placeholder: string;\r\n\r\n constructor(\r\n public state: HermesSelectStateService,\r\n private sanitizer: DomSanitizer\r\n ) {}\r\n\r\n get resolvedPlaceholder(): string {\r\n return this.placeholder ?? this.state.placeholder;\r\n }\r\n\r\n get valueHtml(): SafeHtml | null {\r\n const item = this.state.selectedItem;\r\n // Trusted: this is a snapshot of markup this same app already rendered from its own\r\n // hermes-select-item templates, not third-party or user-supplied HTML.\r\n return item ? this.sanitizer.bypassSecurityTrustHtml(item.getLabelHtml()) : null;\r\n }\r\n}\r\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (state.selectedItem) {\r\n <span [innerHTML]=\"valueHtml\"></span>\r\n} @else {\r\n {{ resolvedPlaceholder }}\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, ElementRef, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\n\r\nimport { HermesSelectStateService } from './providers/select-state.service';\r\n\r\n@Component({\r\n selector: 'hermes-select-item',\r\n templateUrl: './select-item.html',\r\n host: {\r\n role: 'option',\r\n '[attr.aria-selected]': 'selected',\r\n '[attr.aria-disabled]': 'disabled || null',\r\n '[attr.tabindex]': '-1',\r\n '[class.hermes-select-item]': 'true',\r\n '[class.selected]': 'selected',\r\n '[class.disabled]': 'disabled',\r\n '(click)': 'onSelect()',\r\n '(keydown.enter)': 'onKeydownSelect($event)',\r\n '(keydown.space)': 'onKeydownSelect($event)',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesSelectItem implements OnInit, OnDestroy {\r\n @Input() value: unknown;\r\n\r\n @ViewChild('text', { static: true }) private textEl: ElementRef<HTMLElement>;\r\n\r\n private _disabled = false;\r\n\r\n constructor(\r\n public state: HermesSelectStateService,\r\n private elementRef: ElementRef<HTMLElement>\r\n ) {}\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(value: boolean | string) {\r\n this._disabled = !!value || value === '';\r\n }\r\n\r\n get selected(): boolean {\r\n return this.state.isSelected(this.value);\r\n }\r\n\r\n get nativeElement(): HTMLElement {\r\n return this.elementRef.nativeElement;\r\n }\r\n\r\n focus(): void {\r\n this.elementRef.nativeElement.focus();\r\n }\r\n\r\n getLabelHtml(): string {\r\n return this.textEl?.nativeElement.innerHTML ?? '';\r\n }\r\n\r\n ngOnInit() {\r\n this.state.registerItem(this);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.state.unregisterItem(this);\r\n }\r\n\r\n onSelect(): void {\r\n if (this.disabled) {\r\n return;\r\n }\r\n this.state.selectValue(this.value);\r\n }\r\n\r\n onKeydownSelect(event: KeyboardEvent): void {\r\n // Space normally scrolls the page; both keys should only ever select.\r\n event.preventDefault();\r\n this.onSelect();\r\n }\r\n}\r\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n<span #text class=\"hermes-select-item-text\">\r\n <ng-content></ng-content>\r\n</span>\r\n<span class=\"hermes-select-item-indicator\">\r\n @if (selected) {\r\n <hermes-icon shape=\"check\" size=\"16\"></hermes-icon>\r\n }\r\n</span>\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 { ConnectedPosition } from '@angular/cdk/overlay';\r\nimport {\r\n AfterContentInit,\r\n Component,\r\n ContentChildren,\r\n ElementRef,\r\n HostBinding,\r\n OnDestroy,\r\n QueryList,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport {\r\n HermesPopoverContent,\r\n HermesPopoverPosition,\r\n HermesPopoverService,\r\n HermesPopoverType,\r\n mapPopoverKeyToPosition,\r\n} from '@hermes-ui/angular/popover/common';\r\nimport { Keys } from '@hermes-ui/angular/utils';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { HermesSelectItem } from './select-item';\r\nimport { HermesSelectStateService } from './providers/select-state.service';\r\n\r\nconst TYPEAHEAD_RESET_MS = 500;\r\n\r\n/**\r\n * The listbox popup. Hosts HermesPopoverContent for positioning/overlay/outside-click/escape\r\n * handling (the same primitive hermes-dropdown-menu uses) and owns arrow-key navigation,\r\n * Home/End, and single-character typeahead across its projected hermes-select-item children.\r\n */\r\n@Component({\r\n selector: 'hermes-select-content',\r\n templateUrl: './select-content.html',\r\n hostDirectives: [HermesPopoverContent],\r\n host: {\r\n role: 'listbox',\r\n '[attr.id]': 'state.listboxId',\r\n '[class.hermes-select-content]': 'true',\r\n '(keydown)': 'onKeydown($event)',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesSelectContent implements AfterContentInit, OnDestroy {\r\n @ContentChildren(HermesSelectItem, { descendants: true }) items: QueryList<HermesSelectItem>;\r\n\r\n @ViewChild('viewport', { static: true }) viewport: ElementRef<HTMLElement>;\r\n\r\n canScrollUp = false;\r\n canScrollDown = false;\r\n\r\n private subscriptions: Subscription[] = [];\r\n private typeaheadBuffer = '';\r\n private typeaheadTimeout: ReturnType<typeof setTimeout>;\r\n\r\n constructor(\r\n public state: HermesSelectStateService,\r\n private popoverService: HermesPopoverService,\r\n private popoverContent: HermesPopoverContent,\r\n private elementRef: ElementRef<HTMLElement>\r\n ) {\r\n popoverContent.contentType = HermesPopoverType.DROPDOWN;\r\n popoverContent.contentAt = HermesPopoverPosition.BOTTOM_LEFT;\r\n popoverService.panelClass.push('hermes-select-content-panel');\r\n }\r\n\r\n /**\r\n * Fallback to hide when the overlay hasn't attached (or has just detached) this\r\n * element's DOM node yet - mirrors hermes-dropdown-menu's own off-screen fallback.\r\n */\r\n @HostBinding('class.is-off-screen')\r\n get isOffScreen() {\r\n return !this.popoverService.open;\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.subscriptions.push(\r\n this.popoverService.popoverVisible.subscribe(visible => {\r\n if (visible) {\r\n this.focusInitialItem();\r\n // Wait for layout so scrollHeight reflects the now-visible content.\r\n setTimeout(() => this.updateScrollButtonsVisibility());\r\n }\r\n }),\r\n this.state.valueChange.subscribe(() => this.updateItemAlignedPosition()),\r\n this.items.changes.subscribe(() => this.updateItemAlignedPosition())\r\n );\r\n\r\n // Deferred one tick: HermesSelectTrigger sets state.triggerElement in its own\r\n // ngAfterViewInit, which may not have run yet by the time this fires.\r\n setTimeout(() => this.updateItemAlignedPosition());\r\n }\r\n\r\n onViewportScroll(): void {\r\n this.updateScrollButtonsVisibility();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n clearTimeout(this.typeaheadTimeout);\r\n }\r\n\r\n scrollBy(delta: number): void {\r\n this.viewport?.nativeElement.scrollBy({ top: delta });\r\n }\r\n\r\n /**\r\n * Mirrors the \"item-aligned\" positioning a native <select> (and shadcn/Radix's Select)\r\n * uses: instead of always dropping the popup below the trigger, it opens with the\r\n * currently selected item lined up against the trigger, so the control feels like it\r\n * expands in place rather than sliding a menu out from under itself. Falls back to a\r\n * plain below-the-trigger dropdown position when there's no selection yet.\r\n */\r\n private updateItemAlignedPosition(): void {\r\n const base = mapPopoverKeyToPosition(HermesPopoverPosition.BOTTOM_LEFT, HermesPopoverType.DROPDOWN);\r\n const trigger = this.state.triggerElement;\r\n const selected = this.state.selectedItem;\r\n\r\n if (!trigger || !selected) {\r\n this.popoverContent.contentAt = base;\r\n return;\r\n }\r\n\r\n const itemOffsetTop = this.offsetTopWithin(selected.nativeElement, this.elementRef.nativeElement);\r\n const triggerHeight = trigger.getBoundingClientRect().height;\r\n const itemHeight = selected.nativeElement.getBoundingClientRect().height;\r\n\r\n this.popoverContent.contentAt = {\r\n ...base,\r\n originY: 'top',\r\n overlayY: 'top',\r\n // Centers the selected item's row against the trigger's own height, then cancels out\r\n // how far that item already sits from the top of the (still off-screen) popup.\r\n offsetY: (triggerHeight - itemHeight) / 2 - itemOffsetTop,\r\n } as ConnectedPosition;\r\n }\r\n\r\n /**\r\n * Walks the offsetParent chain rather than comparing getBoundingClientRect()s: while\r\n * closed this element is `position: fixed` off-screen (see isOffScreen), so absolute\r\n * screen coordinates aren't meaningful yet, but relative offsetTop distances still are.\r\n */\r\n private offsetTopWithin(element: HTMLElement, ancestor: HTMLElement): number {\r\n let top = 0;\r\n let node: HTMLElement | null = element;\r\n while (node && node !== ancestor) {\r\n top += node.offsetTop;\r\n node = node.offsetParent as HTMLElement | null;\r\n }\r\n return top;\r\n }\r\n\r\n private updateScrollButtonsVisibility(): void {\r\n const el = this.viewport?.nativeElement;\r\n if (!el) {\r\n return;\r\n }\r\n this.canScrollUp = el.scrollTop > 0;\r\n this.canScrollDown = Math.ceil(el.scrollTop + el.clientHeight) < el.scrollHeight;\r\n }\r\n\r\n onKeydown(event: KeyboardEvent): void {\r\n const items = this.enabledItems();\r\n if (!items.length) {\r\n return;\r\n }\r\n\r\n const currentIndex = items.findIndex(item => item.nativeElement === document.activeElement);\r\n\r\n switch (event.key) {\r\n case Keys.ArrowDown:\r\n event.preventDefault();\r\n this.focusAt(items, currentIndex + 1 < items.length ? currentIndex + 1 : 0);\r\n break;\r\n case Keys.ArrowUp:\r\n event.preventDefault();\r\n this.focusAt(items, currentIndex > 0 ? currentIndex - 1 : items.length - 1);\r\n break;\r\n case Keys.Home:\r\n event.preventDefault();\r\n this.focusAt(items, 0);\r\n break;\r\n case Keys.End:\r\n event.preventDefault();\r\n this.focusAt(items, items.length - 1);\r\n break;\r\n default:\r\n this.handleTypeahead(event, items);\r\n }\r\n }\r\n\r\n private enabledItems(): HermesSelectItem[] {\r\n return this.items?.filter(item => !item.disabled) ?? [];\r\n }\r\n\r\n private focusAt(items: HermesSelectItem[], index: number): void {\r\n items[index]?.focus();\r\n }\r\n\r\n private focusInitialItem(): void {\r\n // The overlay's own content isn't attached/focusable synchronously with this emission.\r\n setTimeout(() => {\r\n const items = this.enabledItems();\r\n if (!items.length) {\r\n return;\r\n }\r\n (items.find(item => item.selected) ?? items[0]).focus();\r\n });\r\n }\r\n\r\n private handleTypeahead(event: KeyboardEvent, items: HermesSelectItem[]): void {\r\n if (event.key.length !== 1 || event.metaKey || event.ctrlKey || event.altKey) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n clearTimeout(this.typeaheadTimeout);\r\n this.typeaheadBuffer += event.key.toLowerCase();\r\n this.typeaheadTimeout = setTimeout(() => (this.typeaheadBuffer = ''), TYPEAHEAD_RESET_MS);\r\n\r\n const match = items.find(item => item.nativeElement.textContent?.trim().toLowerCase().startsWith(this.typeaheadBuffer));\r\n match?.focus();\r\n }\r\n}\r\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@if (canScrollUp) {\r\n <button type=\"button\" class=\"hermes-select-scroll-button\" aria-hidden=\"true\" tabindex=\"-1\" (click)=\"scrollBy(-40)\">\r\n <hermes-icon shape=\"angle\" direction=\"up\" size=\"16\"></hermes-icon>\r\n </button>\r\n}\r\n<div #viewport class=\"hermes-select-viewport\" (scroll)=\"onViewportScroll()\">\r\n <ng-content></ng-content>\r\n</div>\r\n@if (canScrollDown) {\r\n <button type=\"button\" class=\"hermes-select-scroll-button\" aria-hidden=\"true\" tabindex=\"-1\" (click)=\"scrollBy(40)\">\r\n <hermes-icon shape=\"angle\" direction=\"down\" size=\"16\"></hermes-icon>\r\n </button>\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'hermes-select-group',\r\n template: '<ng-content></ng-content>',\r\n host: {\r\n role: 'group',\r\n '[class.hermes-select-group]': 'true',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesSelectGroup {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'hermes-select-label',\r\n template: '<ng-content></ng-content>',\r\n host: {\r\n '[class.hermes-select-label]': 'true',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesSelectLabel {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'hermes-select-separator',\r\n template: '',\r\n host: {\r\n role: 'separator',\r\n '[class.hermes-select-separator]': 'true',\r\n },\r\n standalone: false,\r\n})\r\nexport class HermesSelectSeparator {}\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 { angleIcon, checkIcon, HermesIcons, HermesIcon } from '@hermes-ui/angular/icon';\nimport { HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';\n\nimport { HermesSelect } from './select';\nimport { HermesSelectContent } from './select-content';\nimport { HermesSelectGroup } from './select-group';\nimport { HermesSelectItem } from './select-item';\nimport { HermesSelectLabel } from './select-label';\nimport { HermesSelectSeparator } from './select-separator';\nimport { HermesSelectTrigger } from './select-trigger';\nimport { HermesSelectValue } from './select-value';\n\nconst HERMES_SELECT_DIRECTIVES = [\n HermesSelect,\n HermesSelectTrigger,\n HermesSelectValue,\n HermesSelectContent,\n HermesSelectItem,\n HermesSelectGroup,\n HermesSelectLabel,\n HermesSelectSeparator,\n];\n\n@NgModule({\n imports: [CommonModule, HermesIcon, HermesPopoverModuleNext],\n declarations: [HERMES_SELECT_DIRECTIVES],\n exports: [HERMES_SELECT_DIRECTIVES],\n})\nexport class HermesSelectModule {\n constructor() {\n HermesIcons.addIcons(angleIcon, checkIcon);\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 './select';\r\nexport * from './select-trigger';\r\nexport * from './select-value';\r\nexport * from './select-content';\r\nexport * from './select-item';\r\nexport * from './select-group';\r\nexport * from './select-label';\r\nexport * from './select-separator';\r\nexport * from './select.module';\r\nexport * from './providers/select-state.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.HermesSelectStateService","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.
@@ -16,50 +16,50 @@ import { ClarityIcons, successStandardIcon, errorStandardIcon, HermesIcon } from
16
16
  */
17
17
  class HermesTextareaContainer extends HermesAbstractContainer {
18
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesTextareaContainer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesTextareaContainer, isStandalone: false, selector: "hermes-textarea-container", host: { properties: { "class.hermes-form-control": "true", "class.hermes-form-control-disabled": "control?.disabled", "class.hermes-row": "addGrid()" } }, providers: [NgControlService, ControlIdService, ControlClassService], usesInheritance: true, ngImport: i0, template: `
20
- <ng-content select="label"></ng-content>
21
- @if (!label && addGrid()) {
22
- <label></label>
23
- }
24
- <div class="hermes-control-container" [ngClass]="controlClass()">
25
- <div class="hermes-textarea-wrapper">
26
- <ng-content select="[hermesTextarea]"></ng-content>
27
- </div>
28
- @if (showHelper) {
29
- <ng-content select="hermes-control-helper"></ng-content>
30
- }
31
- @if (showInvalid) {
32
- <ng-content select="hermes-control-error"></ng-content>
33
- }
34
- @if (showValid) {
35
- <ng-content select="hermes-control-success"></ng-content>
36
- }
37
- </div>
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesTextareaContainer, isStandalone: false, selector: "hermes-textarea-container", host: { properties: { "class.hermes-form-control": "true", "class.hermes-form-control-disabled": "control?.disabled", "class.hermes-row": "addGrid()" } }, providers: [NgControlService, ControlIdService, ControlClassService], usesInheritance: true, ngImport: i0, template: `
20
+ <ng-content select="label"></ng-content>
21
+ @if (!label && addGrid()) {
22
+ <label></label>
23
+ }
24
+ <div class="hermes-control-container" [ngClass]="controlClass()">
25
+ <div class="hermes-textarea-wrapper">
26
+ <ng-content select="[hermesTextarea]"></ng-content>
27
+ </div>
28
+ @if (showHelper) {
29
+ <ng-content select="hermes-control-helper"></ng-content>
30
+ }
31
+ @if (showInvalid) {
32
+ <ng-content select="hermes-control-error"></ng-content>
33
+ }
34
+ @if (showValid) {
35
+ <ng-content select="hermes-control-success"></ng-content>
36
+ }
37
+ </div>
38
38
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.HermesControlLabel, selector: "label", inputs: ["id", "for"] }] }); }
39
39
  }
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesTextareaContainer, decorators: [{
41
41
  type: Component,
42
42
  args: [{
43
43
  selector: 'hermes-textarea-container',
44
- template: `
45
- <ng-content select="label"></ng-content>
46
- @if (!label && addGrid()) {
47
- <label></label>
48
- }
49
- <div class="hermes-control-container" [ngClass]="controlClass()">
50
- <div class="hermes-textarea-wrapper">
51
- <ng-content select="[hermesTextarea]"></ng-content>
52
- </div>
53
- @if (showHelper) {
54
- <ng-content select="hermes-control-helper"></ng-content>
55
- }
56
- @if (showInvalid) {
57
- <ng-content select="hermes-control-error"></ng-content>
58
- }
59
- @if (showValid) {
60
- <ng-content select="hermes-control-success"></ng-content>
61
- }
62
- </div>
44
+ template: `
45
+ <ng-content select="label"></ng-content>
46
+ @if (!label && addGrid()) {
47
+ <label></label>
48
+ }
49
+ <div class="hermes-control-container" [ngClass]="controlClass()">
50
+ <div class="hermes-textarea-wrapper">
51
+ <ng-content select="[hermesTextarea]"></ng-content>
52
+ </div>
53
+ @if (showHelper) {
54
+ <ng-content select="hermes-control-helper"></ng-content>
55
+ }
56
+ @if (showInvalid) {
57
+ <ng-content select="hermes-control-error"></ng-content>
58
+ }
59
+ @if (showValid) {
60
+ <ng-content select="hermes-control-success"></ng-content>
61
+ }
62
+ </div>
63
63
  `,
64
64
  host: {
65
65
  '[class.hermes-form-control]': 'true',
@@ -106,7 +106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
106
106
  */
107
107
  class HermesTextareaModule {
108
108
  constructor() {
109
- ClarityIcons.addIcons(successStandardIcon, errorStandardIcon);
109
+ HermesIcons.addIcons(successStandardIcon, errorStandardIcon);
110
110
  }
111
111
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
112
112
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesTextareaModule, declarations: [HermesTextarea, HermesTextareaContainer], imports: [CommonModule, FormsModule, HermesIcon, HermesCommonFormsModule], exports: [HermesCommonFormsModule, HermesTextarea, HermesTextareaContainer] }); }
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-ui-angular-forms-textarea.mjs","sources":["../../../forms/textarea/textarea-container.ts","../../../forms/textarea/textarea.ts","../../../forms/textarea/textarea.module.ts","../../../forms/textarea/index.ts","../../../forms/textarea/hermes-ui-angular-forms-textarea.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Component } from '@angular/core';\nimport {\n HermesAbstractContainer,\n ControlClassService,\n ControlIdService,\n NgControlService,\n} from '@hermes-ui/angular/forms/common';\n\n@Component({\n selector: 'hermes-textarea-container',\n template: `\n <ng-content select=\"label\"></ng-content>\n @if (!label && addGrid()) {\n <label></label>\n }\n <div class=\"hermes-control-container\" [ngClass]=\"controlClass()\">\n <div class=\"hermes-textarea-wrapper\">\n <ng-content select=\"[hermesTextarea]\"></ng-content>\n </div>\n @if (showHelper) {\n <ng-content select=\"hermes-control-helper\"></ng-content>\n }\n @if (showInvalid) {\n <ng-content select=\"hermes-control-error\"></ng-content>\n }\n @if (showValid) {\n <ng-content select=\"hermes-control-success\"></ng-content>\n }\n </div>\n `,\n host: {\n '[class.hermes-form-control]': 'true',\n '[class.hermes-form-control-disabled]': 'control?.disabled',\n '[class.hermes-row]': 'addGrid()',\n },\n providers: [NgControlService, ControlIdService, ControlClassService],\n standalone: false,\n})\nexport class HermesTextareaContainer extends HermesAbstractContainer {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Directive, ElementRef, Injector, Optional, Renderer2, Self, ViewContainerRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { WrappedFormControl } from '@hermes-ui/angular/forms/common';\n\nimport { HermesTextareaContainer } from './textarea-container';\n\n@Directive({\n selector: '[hermesTextarea]',\n host: { '[class.hermes-textarea]': 'true' },\n standalone: false,\n})\nexport class HermesTextarea extends WrappedFormControl<HermesTextareaContainer> {\n protected override index = 1;\n\n constructor(\n vcr: ViewContainerRef,\n injector: Injector,\n @Self()\n @Optional()\n control: NgControl,\n renderer: Renderer2,\n el: ElementRef<HTMLTextAreaElement>\n ) {\n super(vcr, HermesTextareaContainer, injector, control, renderer, el);\n }\n}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { HermesCommonFormsModule } from '@hermes-ui/angular/forms/common';\nimport { ClarityIcons, HermesIcon, errorStandardIcon, successStandardIcon } from '@hermes-ui/angular/icon';\n\nimport { HermesTextarea } from './textarea';\nimport { HermesTextareaContainer } from './textarea-container';\n\n@NgModule({\n imports: [CommonModule, FormsModule, HermesIcon, HermesCommonFormsModule],\n declarations: [HermesTextarea, HermesTextareaContainer],\n exports: [HermesCommonFormsModule, HermesTextarea, HermesTextareaContainer],\n})\nexport class HermesTextareaModule {\n constructor() {\n ClarityIcons.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 './textarea';\r\nexport * from './textarea-container';\r\nexport * from './textarea.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;AAAA;;;;;AAKG;AAwCG,MAAO,uBAAwB,SAAQ,uBAAuB,CAAA;+GAAvD,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAvB,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,oCAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAHvB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAzB1D;;;;;;;;;;;;;;;;;;;AAmBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FASU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBA9BnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;AAmBT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,6BAA6B,EAAE,MAAM;AACrC,wBAAA,sCAAsC,EAAE,mBAAmB;AAC3D,wBAAA,oBAAoB,EAAE,WAAW;AAClC,qBAAA;AACD,oBAAA,SAAS,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC;AACpE,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;AC5CD;;;;;AAKG;AAaG,MAAO,cAAe,SAAQ,kBAA2C,CAAA;IAG7E,WAAA,CACE,GAAqB,EACrB,QAAkB,EAGlB,OAAkB,EAClB,QAAmB,EACnB,EAAmC,EAAA;AAEnC,QAAA,KAAK,CAAC,GAAG,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC;QAXnD,IAAA,CAAA,KAAK,GAAG,CAAC;IAY5B;+GAbW,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAd,cAAc,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE,EAAE,yBAAyB,EAAE,MAAM,EAAE;AAC3C,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;0BAOI;;0BACA;;;ACzBL;;;;;AAKG;MAgBU,oBAAoB,CAAA;AAC/B,IAAA,WAAA,GAAA;AACE,QAAA,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;IAC/D;+GAHW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iBAHhB,cAAc,EAAE,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAD5C,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAE9D,uBAAuB,EAAE,cAAc,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA;gHAE/D,oBAAoB,EAAA,OAAA,EAAA,CAJrB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,uBAAuB,EAE9D,uBAAuB,CAAA,EAAA,CAAA,CAAA;;4FAEtB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,uBAAuB,CAAC;AACzE,oBAAA,YAAY,EAAE,CAAC,cAAc,EAAE,uBAAuB,CAAC;AACvD,oBAAA,OAAO,EAAE,CAAC,uBAAuB,EAAE,cAAc,EAAE,uBAAuB,CAAC;AAC5E,iBAAA;;;ACpBD;;;;;AAKG;;ACLH;;AAEG;;"}
1
+ {"version":3,"file":"hermes-ui-angular-forms-textarea.mjs","sources":["../../../forms/textarea/textarea-container.ts","../../../forms/textarea/textarea.ts","../../../forms/textarea/textarea.module.ts","../../../forms/textarea/index.ts","../../../forms/textarea/hermes-ui-angular-forms-textarea.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-textarea-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-textarea-wrapper\">\r\n <ng-content select=\"[hermesTextarea]\"></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 HermesTextareaContainer 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 { HermesTextareaContainer } from './textarea-container';\r\n\r\n@Directive({\r\n selector: '[hermesTextarea]',\r\n host: { '[class.hermes-textarea]': 'true' },\r\n standalone: false,\r\n})\r\nexport class HermesTextarea extends WrappedFormControl<HermesTextareaContainer> {\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<HTMLTextAreaElement>\r\n ) {\r\n super(vcr, HermesTextareaContainer, 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 { HermesTextarea } from './textarea';\nimport { HermesTextareaContainer } from './textarea-container';\n\n@NgModule({\n imports: [CommonModule, FormsModule, HermesIcon, HermesCommonFormsModule],\n declarations: [HermesTextarea, HermesTextareaContainer],\n exports: [HermesCommonFormsModule, HermesTextarea, HermesTextareaContainer],\n})\nexport class HermesTextareaModule {\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 './textarea';\r\nexport * from './textarea-container';\r\nexport * from './textarea.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-ui-angular-forms.mjs","sources":["../../../forms/forms.module.ts","../../../forms/index.ts","../../../forms/hermes-ui-angular-forms.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { HermesCheckboxModule } from '@hermes-ui/angular/forms/checkbox';\nimport { HermesComboboxModule } from '@hermes-ui/angular/forms/combobox';\nimport { HermesCommonFormsModule } from '@hermes-ui/angular/forms/common';\nimport { HermesDatalistModule } from '@hermes-ui/angular/forms/datalist';\nimport { HermesDatepickerModule } from '@hermes-ui/angular/forms/datepicker';\nimport { HermesFileInputModule } from '@hermes-ui/angular/forms/file-input';\nimport { HermesInputModule } from '@hermes-ui/angular/forms/input';\nimport { HermesNumberInputModule } from '@hermes-ui/angular/forms/number-input';\nimport { HermesPasswordModule } from '@hermes-ui/angular/forms/password';\nimport { HermesRadioModule } from '@hermes-ui/angular/forms/radio';\nimport { HermesRangeModule } from '@hermes-ui/angular/forms/range';\nimport { HermesNativeSelectModule } from '@hermes-ui/angular/forms/native-select';\nimport { HermesSelectModule } from '@hermes-ui/angular/forms/select';\nimport { HermesTextareaModule } from '@hermes-ui/angular/forms/textarea';\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n HermesCommonFormsModule,\n HermesCheckboxModule,\n HermesComboboxModule,\n HermesDatepickerModule,\n HermesFileInputModule,\n HermesInputModule,\n HermesPasswordModule,\n HermesRadioModule,\n HermesNativeSelectModule,\n HermesSelectModule,\n HermesTextareaModule,\n HermesRangeModule,\n HermesDatalistModule,\n HermesNumberInputModule,\n ],\n})\nexport class HermesFormsModule {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nexport * from '@hermes-ui/angular/forms/common';\nexport * from '@hermes-ui/angular/forms/checkbox';\nexport * from '@hermes-ui/angular/forms/combobox';\nexport * from '@hermes-ui/angular/forms/datalist';\nexport * from '@hermes-ui/angular/forms/datepicker';\nexport * from '@hermes-ui/angular/forms/file-input';\nexport * from '@hermes-ui/angular/forms/input';\nexport * from '@hermes-ui/angular/forms/number-input';\nexport * from '@hermes-ui/angular/forms/password';\nexport * from '@hermes-ui/angular/forms/radio';\nexport * from '@hermes-ui/angular/forms/native-select';\nexport * from '@hermes-ui/angular/forms/select';\nexport * from '@hermes-ui/angular/forms/textarea';\nexport * from '@hermes-ui/angular/forms/range';\nexport * from './forms.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;MAsCU,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAjB,iBAAiB,EAAA,OAAA,EAAA,CAlBlB,YAAY,CAAA,EAAA,OAAA,EAAA,CAEpB,uBAAuB;YACvB,oBAAoB;YACpB,oBAAoB;YACpB,sBAAsB;YACtB,qBAAqB;YACrB,iBAAiB;YACjB,oBAAoB;YACpB,iBAAiB;YACjB,wBAAwB;YACxB,kBAAkB;YAClB,oBAAoB;YACpB,iBAAiB;YACjB,oBAAoB;YACpB,uBAAuB,CAAA,EAAA,CAAA,CAAA;gHAGd,iBAAiB,EAAA,OAAA,EAAA,CAlBlB,YAAY,EAEpB,uBAAuB;YACvB,oBAAoB;YACpB,oBAAoB;YACpB,sBAAsB;YACtB,qBAAqB;YACrB,iBAAiB;YACjB,oBAAoB;YACpB,iBAAiB;YACjB,wBAAwB;YACxB,kBAAkB;YAClB,oBAAoB;YACpB,iBAAiB;YACjB,oBAAoB;YACpB,uBAAuB,CAAA,EAAA,CAAA,CAAA;;4FAGd,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAnB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE;wBACP,uBAAuB;wBACvB,oBAAoB;wBACpB,oBAAoB;wBACpB,sBAAsB;wBACtB,qBAAqB;wBACrB,iBAAiB;wBACjB,oBAAoB;wBACpB,iBAAiB;wBACjB,wBAAwB;wBACxB,kBAAkB;wBAClB,oBAAoB;wBACpB,iBAAiB;wBACjB,oBAAoB;wBACpB,uBAAuB;AACxB,qBAAA;AACF,iBAAA;;;AC1CD;;;;;AAKG;;ACLH;;AAEG;;"}
1
+ {"version":3,"file":"hermes-ui-angular-forms.mjs","sources":["../../../forms/forms.module.ts","../../../forms/index.ts","../../../forms/hermes-ui-angular-forms.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 { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { HermesCheckboxModule } from '@hermes-ui/angular/forms/checkbox';\r\nimport { HermesComboboxModule } from '@hermes-ui/angular/forms/combobox';\r\nimport { HermesCommonFormsModule } from '@hermes-ui/angular/forms/common';\r\nimport { HermesDatalistModule } from '@hermes-ui/angular/forms/datalist';\r\nimport { HermesDatepickerModule } from '@hermes-ui/angular/forms/datepicker';\r\nimport { HermesFileInputModule } from '@hermes-ui/angular/forms/file-input';\r\nimport { HermesInputModule } from '@hermes-ui/angular/forms/input';\r\nimport { HermesNumberInputModule } from '@hermes-ui/angular/forms/number-input';\r\nimport { HermesPasswordModule } from '@hermes-ui/angular/forms/password';\r\nimport { HermesRadioModule } from '@hermes-ui/angular/forms/radio';\r\nimport { HermesRangeModule } from '@hermes-ui/angular/forms/range';\r\nimport { HermesNativeSelectModule } from '@hermes-ui/angular/forms/native-select';\r\nimport { HermesSelectModule } from '@hermes-ui/angular/forms/select';\r\nimport { HermesTextareaModule } from '@hermes-ui/angular/forms/textarea';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n exports: [\r\n HermesCommonFormsModule,\r\n HermesCheckboxModule,\r\n HermesComboboxModule,\r\n HermesDatepickerModule,\r\n HermesFileInputModule,\r\n HermesInputModule,\r\n HermesPasswordModule,\r\n HermesRadioModule,\r\n HermesNativeSelectModule,\r\n HermesSelectModule,\r\n HermesTextareaModule,\r\n HermesRangeModule,\r\n HermesDatalistModule,\r\n HermesNumberInputModule,\r\n ],\r\n})\r\nexport class HermesFormsModule {}\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 '@hermes-ui/angular/forms/common';\r\nexport * from '@hermes-ui/angular/forms/checkbox';\r\nexport * from '@hermes-ui/angular/forms/combobox';\r\nexport * from '@hermes-ui/angular/forms/datalist';\r\nexport * from '@hermes-ui/angular/forms/datepicker';\r\nexport * from '@hermes-ui/angular/forms/file-input';\r\nexport * from '@hermes-ui/angular/forms/input';\r\nexport * from '@hermes-ui/angular/forms/number-input';\r\nexport * from '@hermes-ui/angular/forms/password';\r\nexport * from '@hermes-ui/angular/forms/radio';\r\nexport * from '@hermes-ui/angular/forms/native-select';\r\nexport * from '@hermes-ui/angular/forms/select';\r\nexport * from '@hermes-ui/angular/forms/textarea';\r\nexport * from '@hermes-ui/angular/forms/range';\r\nexport * from './forms.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAKG;MAsCU,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAjB,iBAAiB,EAAA,OAAA,EAAA,CAlBlB,YAAY,CAAA,EAAA,OAAA,EAAA,CAEpB,uBAAuB;YACvB,oBAAoB;YACpB,oBAAoB;YACpB,sBAAsB;YACtB,qBAAqB;YACrB,iBAAiB;YACjB,oBAAoB;YACpB,iBAAiB;YACjB,wBAAwB;YACxB,kBAAkB;YAClB,oBAAoB;YACpB,iBAAiB;YACjB,oBAAoB;YACpB,uBAAuB,CAAA,EAAA,CAAA,CAAA;gHAGd,iBAAiB,EAAA,OAAA,EAAA,CAlBlB,YAAY,EAEpB,uBAAuB;YACvB,oBAAoB;YACpB,oBAAoB;YACpB,sBAAsB;YACtB,qBAAqB;YACrB,iBAAiB;YACjB,oBAAoB;YACpB,iBAAiB;YACjB,wBAAwB;YACxB,kBAAkB;YAClB,oBAAoB;YACpB,iBAAiB;YACjB,oBAAoB;YACpB,uBAAuB,CAAA,EAAA,CAAA,CAAA;;4FAGd,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAnB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE;wBACP,uBAAuB;wBACvB,oBAAoB;wBACpB,oBAAoB;wBACpB,sBAAsB;wBACtB,qBAAqB;wBACrB,iBAAiB;wBACjB,oBAAoB;wBACpB,iBAAiB;wBACjB,wBAAwB;wBACxB,kBAAkB;wBAClB,oBAAoB;wBACpB,iBAAiB;wBACjB,oBAAoB;wBACpB,uBAAuB;AACxB,qBAAA;AACF,iBAAA;;;AC1CD;;;;;AAKG;;ACLH;;AAEG;;"}