@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
@@ -5,7 +5,7 @@ import * as i1 from '@hermes-ui/angular/utils';
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, errorStandardIcon, infoStandardIcon, successStandardIcon, warningStandardIcon, windowCloseIcon, HermesIcon } from '@hermes-ui/angular/icon';
8
+ import { HermesIcons, errorStandardIcon, infoStandardIcon, successStandardIcon, warningStandardIcon, windowCloseIcon, HermesIcon } from '@hermes-ui/angular/icon';
9
9
  import * as i4 from '@hermes-ui/angular/progress/spinner';
10
10
  import { HermesSpinnerModule } from '@hermes-ui/angular/progress/spinner';
11
11
  import { trigger, transition, style, animate } from '@angular/animations';
@@ -201,11 +201,11 @@ class HermesToastItem {
201
201
  this.resizeObserver?.disconnect();
202
202
  }
203
203
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesToastItem, deps: [{ token: i0.ElementRef }, { token: i1.HermesCommonStringsService }], target: i0.ɵɵFactoryTarget.Component }); }
204
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesToastItem, isStandalone: false, selector: "hermes-toast-item", inputs: { toast: "toast", index: "index" }, outputs: { dismissed: "hermesDismissed" }, host: { properties: { "style.--hermes-toast-index": "this.index", "class.toast-item": "this.hostClass", "attr.role": "this.role", "attr.aria-live": "this.ariaLive" } }, ngImport: i0, template: "<!--\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<div class=\"toast\" [ngClass]=\"icon?.cssClass\">\n @if (isLoading) {\n <hermes-spinner class=\"toast-icon\" hermesInline hermesSmall></hermes-spinner>\n } @else if (icon) {\n <hermes-icon class=\"toast-icon\" [shape]=\"icon.shape\" size=\"16\" role=\"img\" aria-hidden=\"true\"></hermes-icon>\n }\n\n <div class=\"toast-content\">\n @if (toast.title) {\n <div class=\"toast-title\">{{ toast.title }}</div>\n } @if (toast.description) {\n <div class=\"toast-description\">{{ toast.description }}</div>\n }\n </div>\n\n @if (toast.action) {\n <button type=\"button\" class=\"btn btn-sm btn-link toast-action\" (click)=\"actionClick()\">\n {{ toast.action.label }}\n </button>\n } @if (toast.closable) {\n <button type=\"button\" class=\"close toast-close\" (click)=\"dismiss()\" [attr.aria-label]=\"commonStrings.keys.close\">\n <hermes-icon shape=\"times\" size=\"14\"></hermes-icon>\n </button>\n }\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "component", type: i4.HermesSpinner, selector: "hermes-spinner", inputs: ["hermesInline", "hermesInverse", "hermesSmall", "hermesMedium"] }] }); }
204
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesToastItem, isStandalone: false, selector: "hermes-toast-item", inputs: { toast: "toast", index: "index" }, outputs: { dismissed: "hermesDismissed" }, host: { properties: { "style.--hermes-toast-index": "this.index", "class.toast-item": "this.hostClass", "attr.role": "this.role", "attr.aria-live": "this.ariaLive" } }, ngImport: i0, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n<div class=\"toast\" [ngClass]=\"icon?.cssClass\">\r\n @if (isLoading) {\r\n <hermes-spinner class=\"toast-icon\" hermesInline hermesSmall></hermes-spinner>\r\n } @else if (icon) {\r\n <hermes-icon class=\"toast-icon\" [shape]=\"icon.shape\" size=\"16\" role=\"img\" aria-hidden=\"true\"></hermes-icon>\r\n }\r\n\r\n <div class=\"toast-content\">\r\n @if (toast.title) {\r\n <div class=\"toast-title\">{{ toast.title }}</div>\r\n } @if (toast.description) {\r\n <div class=\"toast-description\">{{ toast.description }}</div>\r\n }\r\n </div>\r\n\r\n @if (toast.action) {\r\n <button type=\"button\" class=\"btn btn-sm btn-link toast-action\" (click)=\"actionClick()\">\r\n {{ toast.action.label }}\r\n </button>\r\n } @if (toast.closable) {\r\n <button type=\"button\" class=\"close toast-close\" (click)=\"dismiss()\" [attr.aria-label]=\"commonStrings.keys.close\">\r\n <hermes-icon shape=\"times\" size=\"14\"></hermes-icon>\r\n </button>\r\n }\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "component", type: i4.HermesSpinner, selector: "hermes-spinner", inputs: ["hermesInline", "hermesInverse", "hermesSmall", "hermesMedium"] }] }); }
205
205
  }
206
206
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesToastItem, decorators: [{
207
207
  type: Component,
208
- args: [{ selector: 'hermes-toast-item', standalone: false, template: "<!--\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<div class=\"toast\" [ngClass]=\"icon?.cssClass\">\n @if (isLoading) {\n <hermes-spinner class=\"toast-icon\" hermesInline hermesSmall></hermes-spinner>\n } @else if (icon) {\n <hermes-icon class=\"toast-icon\" [shape]=\"icon.shape\" size=\"16\" role=\"img\" aria-hidden=\"true\"></hermes-icon>\n }\n\n <div class=\"toast-content\">\n @if (toast.title) {\n <div class=\"toast-title\">{{ toast.title }}</div>\n } @if (toast.description) {\n <div class=\"toast-description\">{{ toast.description }}</div>\n }\n </div>\n\n @if (toast.action) {\n <button type=\"button\" class=\"btn btn-sm btn-link toast-action\" (click)=\"actionClick()\">\n {{ toast.action.label }}\n </button>\n } @if (toast.closable) {\n <button type=\"button\" class=\"close toast-close\" (click)=\"dismiss()\" [attr.aria-label]=\"commonStrings.keys.close\">\n <hermes-icon shape=\"times\" size=\"14\"></hermes-icon>\n </button>\n }\n</div>\n" }]
208
+ args: [{ selector: 'hermes-toast-item', standalone: false, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n<div class=\"toast\" [ngClass]=\"icon?.cssClass\">\r\n @if (isLoading) {\r\n <hermes-spinner class=\"toast-icon\" hermesInline hermesSmall></hermes-spinner>\r\n } @else if (icon) {\r\n <hermes-icon class=\"toast-icon\" [shape]=\"icon.shape\" size=\"16\" role=\"img\" aria-hidden=\"true\"></hermes-icon>\r\n }\r\n\r\n <div class=\"toast-content\">\r\n @if (toast.title) {\r\n <div class=\"toast-title\">{{ toast.title }}</div>\r\n } @if (toast.description) {\r\n <div class=\"toast-description\">{{ toast.description }}</div>\r\n }\r\n </div>\r\n\r\n @if (toast.action) {\r\n <button type=\"button\" class=\"btn btn-sm btn-link toast-action\" (click)=\"actionClick()\">\r\n {{ toast.action.label }}\r\n </button>\r\n } @if (toast.closable) {\r\n <button type=\"button\" class=\"close toast-close\" (click)=\"dismiss()\" [attr.aria-label]=\"commonStrings.keys.close\">\r\n <hermes-icon shape=\"times\" size=\"14\"></hermes-icon>\r\n </button>\r\n }\r\n</div>\r\n" }]
209
209
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.HermesCommonStringsService }], propDecorators: { toast: [{
210
210
  type: Input
211
211
  }], index: [{
@@ -277,7 +277,7 @@ class HermesToaster {
277
277
  this.toastService.dismiss(id);
278
278
  }
279
279
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesToaster, deps: [{ token: HermesToastService }], target: i0.ɵɵFactoryTarget.Component }); }
280
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesToaster, isStandalone: false, selector: "hermes-toaster", inputs: { position: ["hermesToasterPosition", "position"], maxVisible: ["hermesToasterMaxVisible", "maxVisible"] }, host: { listeners: { "pointerenter": "onEnter()", "focusin": "onEnter()", "pointerleave": "onLeave()", "focusout": "onLeave()", "document:keydown.escape": "onEscape()" }, properties: { "attr.data-position": "this.position", "class.hermes-toaster": "this.hostClass", "class.expanded": "this.expanded" } }, ngImport: i0, template: "<!--\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@for (toast of (toasts$ | async); track toast.id; let index = $index) {\n<hermes-toast-item\n [@toastMove]\n [toast]=\"toast\"\n [index]=\"index\"\n [class.limited]=\"isLimited(index)\"\n (hermesDismissed)=\"dismiss($event)\"\n></hermes-toast-item>\n}\n", dependencies: [{ kind: "component", type: HermesToastItem, selector: "hermes-toast-item", inputs: ["toast", "index"], outputs: ["hermesDismissed"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [
280
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesToaster, isStandalone: false, selector: "hermes-toaster", inputs: { position: ["hermesToasterPosition", "position"], maxVisible: ["hermesToasterMaxVisible", "maxVisible"] }, host: { listeners: { "pointerenter": "onEnter()", "focusin": "onEnter()", "pointerleave": "onLeave()", "focusout": "onLeave()", "document:keydown.escape": "onEscape()" }, properties: { "attr.data-position": "this.position", "class.hermes-toaster": "this.hostClass", "class.expanded": "this.expanded" } }, ngImport: i0, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@for (toast of (toasts$ | async); track toast.id; let index = $index) {\r\n<hermes-toast-item\r\n [@toastMove]\r\n [toast]=\"toast\"\r\n [index]=\"index\"\r\n [class.limited]=\"isLimited(index)\"\r\n (hermesDismissed)=\"dismiss($event)\"\r\n></hermes-toast-item>\r\n}\r\n", dependencies: [{ kind: "component", type: HermesToastItem, selector: "hermes-toast-item", inputs: ["toast", "index"], outputs: ["hermesDismissed"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [
281
281
  trigger('toastMove', [
282
282
  transition(':enter', [
283
283
  style({ transform: 'translateY(150%)' }),
@@ -301,7 +301,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
301
301
  animate(`${TOAST_TRANSITION_DURATION} ${TOAST_TRANSITION_EASING}`, style({ transform: 'translateY(150%)' })),
302
302
  ]),
303
303
  ]),
304
- ], standalone: false, template: "<!--\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@for (toast of (toasts$ | async); track toast.id; let index = $index) {\n<hermes-toast-item\n [@toastMove]\n [toast]=\"toast\"\n [index]=\"index\"\n [class.limited]=\"isLimited(index)\"\n (hermesDismissed)=\"dismiss($event)\"\n></hermes-toast-item>\n}\n" }]
304
+ ], standalone: false, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@for (toast of (toasts$ | async); track toast.id; let index = $index) {\r\n<hermes-toast-item\r\n [@toastMove]\r\n [toast]=\"toast\"\r\n [index]=\"index\"\r\n [class.limited]=\"isLimited(index)\"\r\n (hermesDismissed)=\"dismiss($event)\"\r\n></hermes-toast-item>\r\n}\r\n" }]
305
305
  }], ctorParameters: () => [{ type: HermesToastService }], propDecorators: { position: [{
306
306
  type: Input,
307
307
  args: ['hermesToasterPosition']
@@ -343,7 +343,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImpo
343
343
  const HERMES_TOAST_DIRECTIVES = [HermesToaster, HermesToastItem];
344
344
  class HermesToastModule {
345
345
  constructor() {
346
- ClarityIcons.addIcons(errorStandardIcon, infoStandardIcon, successStandardIcon, warningStandardIcon, windowCloseIcon);
346
+ HermesIcons.addIcons(errorStandardIcon, infoStandardIcon, successStandardIcon, warningStandardIcon, windowCloseIcon);
347
347
  }
348
348
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
349
349
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesToastModule, declarations: [HermesToaster, HermesToastItem], imports: [CommonModule, HermesIcon, HermesSpinnerModule], exports: [HermesToaster, HermesToastItem] }); }
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-ui-angular-toast.mjs","sources":["../../../toast/toast.interfaces.ts","../../../toast/toast.service.ts","../../../toast/toast-item.ts","../../../toast/toast-item.html","../../../toast/toaster.ts","../../../toast/toaster.html","../../../toast/toast.module.ts","../../../toast/index.ts","../../../toast/hermes-ui-angular-toast.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\nexport type HermesToastType = 'default' | 'info' | 'success' | 'warning' | 'danger' | 'loading';\n\nexport interface HermesToastAction {\n label: string;\n onClick: (toast: HermesToastRef) => void;\n}\n\nexport interface HermesToastConfig {\n id?: string;\n title?: string;\n description?: string;\n type?: HermesToastType;\n /** Milliseconds before auto-dismiss. 0 or Infinity disables auto-dismiss. */\n duration?: number;\n closable?: boolean;\n action?: HermesToastAction;\n}\n\nexport interface HermesToastRef extends HermesToastConfig {\n id: string;\n type: HermesToastType;\n duration: number;\n closable: boolean;\n createdAt: number;\n}\n\nexport interface HermesToastPromiseMessages<T> {\n loading?: string | HermesToastConfig;\n success: string | HermesToastConfig | ((value: T) => string | HermesToastConfig);\n error: string | HermesToastConfig | ((error: unknown) => string | HermesToastConfig);\n}\n\nexport type HermesToasterPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { HermesToastConfig, HermesToastPromiseMessages, HermesToastRef, HermesToastType } from './toast.interfaces';\n\nconst DEFAULT_DURATION = 5000;\n\ninterface ToastTimer {\n timeoutId: ReturnType<typeof setTimeout>;\n startedAt: number;\n remaining: number;\n}\n\nlet uniqueId = 0;\n\n/**\n * Global, imperative toast queue. A single `hermes-toaster` placed once in the app\n * (typically next to the root component) renders whatever this service holds - call\n * `show`/`success`/`error`/etc. from anywhere, no injected view reference needed.\n */\n@Injectable({ providedIn: 'root' })\nexport class HermesToastService {\n private readonly _toasts = new BehaviorSubject<HermesToastRef[]>([]);\n private readonly timers = new Map<string, ToastTimer>();\n\n get toasts$(): Observable<HermesToastRef[]> {\n return this._toasts.asObservable();\n }\n\n get snapshot(): HermesToastRef[] {\n return this._toasts.value;\n }\n\n show(config: HermesToastConfig): string {\n const id = config.id ?? `hermes-toast-${++uniqueId}`;\n const duration = config.duration ?? (config.type === 'loading' ? 0 : DEFAULT_DURATION);\n\n const toast: HermesToastRef = {\n ...config,\n id,\n type: config.type ?? 'default',\n duration,\n closable: config.closable ?? true,\n createdAt: Date.now(),\n };\n\n const existingIndex = this._toasts.value.findIndex(t => t.id === id);\n if (existingIndex > -1) {\n const next = this._toasts.value.slice();\n next[existingIndex] = toast;\n this._toasts.next(next);\n } else {\n this._toasts.next([toast, ...this._toasts.value]);\n }\n\n this.restartTimer(toast);\n\n return id;\n }\n\n private shorthand(type: HermesToastType) {\n return (message: string, config: Omit<HermesToastConfig, 'type'> = {}): string =>\n this.show({ ...config, type, title: config.title ?? message });\n }\n\n default = this.shorthand('default');\n info = this.shorthand('info');\n success = this.shorthand('success');\n warning = this.shorthand('warning');\n danger = this.shorthand('danger');\n\n loading(message: string, config: Omit<HermesToastConfig, 'type'> = {}): string {\n return this.show({ ...config, type: 'loading', title: config.title ?? message, duration: config.duration ?? 0, closable: config.closable ?? false });\n }\n\n update(id: string, config: Partial<HermesToastConfig>): void {\n const current = this._toasts.value.find(t => t.id === id);\n if (!current) {\n return;\n }\n this.show({ ...current, ...config, id });\n }\n\n dismiss(id: string): void {\n this.clearTimer(id);\n this._toasts.next(this._toasts.value.filter(t => t.id !== id));\n }\n\n dismissAll(): void {\n this.timers.forEach((_, id) => this.clearTimer(id));\n this._toasts.next([]);\n }\n\n /** Pauses every running auto-dismiss timer, e.g. while the pointer is over the toaster. */\n pauseAll(): void {\n const now = Date.now();\n this.timers.forEach(timer => {\n clearTimeout(timer.timeoutId);\n timer.remaining -= now - timer.startedAt;\n });\n }\n\n /** Resumes every paused auto-dismiss timer with its remaining time. */\n resumeAll(): void {\n this.timers.forEach((timer, id) => {\n const toast = this._toasts.value.find(t => t.id === id);\n if (!toast || timer.remaining <= 0) {\n return;\n }\n timer.startedAt = Date.now();\n timer.timeoutId = setTimeout(() => this.dismiss(id), timer.remaining);\n });\n }\n\n /** Ties a toast to a promise: shows a loading toast, then resolves it into success/error. */\n promise<T>(promise: Promise<T>, messages: HermesToastPromiseMessages<T>): Promise<T> {\n const id = this.loading(this.resolveMessageText(messages.loading) ?? '', this.resolveMessageConfig(messages.loading));\n\n return promise.then(\n value => {\n const resolved = typeof messages.success === 'function' ? messages.success(value) : messages.success;\n this.show({ ...this.resolveMessageConfig(resolved), id, type: 'success', title: this.resolveMessageText(resolved) });\n return value;\n },\n error => {\n const resolved = typeof messages.error === 'function' ? messages.error(error) : messages.error;\n this.show({ ...this.resolveMessageConfig(resolved), id, type: 'danger', title: this.resolveMessageText(resolved) });\n throw error;\n }\n );\n }\n\n private resolveMessageText(message: string | HermesToastConfig | undefined): string | undefined {\n if (!message) {\n return undefined;\n }\n return typeof message === 'string' ? message : message.title;\n }\n\n private resolveMessageConfig(message: string | HermesToastConfig | undefined): HermesToastConfig {\n return typeof message === 'string' || !message ? {} : message;\n }\n\n private restartTimer(toast: HermesToastRef): void {\n this.clearTimer(toast.id);\n\n if (!toast.duration || !isFinite(toast.duration)) {\n return;\n }\n\n this.timers.set(toast.id, {\n startedAt: Date.now(),\n remaining: toast.duration,\n timeoutId: setTimeout(() => this.dismiss(toast.id), toast.duration),\n });\n }\n\n private clearTimer(id: string): void {\n const timer = this.timers.get(id);\n if (timer) {\n clearTimeout(timer.timeoutId);\n this.timers.delete(id);\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\nimport { Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, Output } from '@angular/core';\nimport { HermesCommonStringsService } from '@hermes-ui/angular/utils';\n\nimport { HermesToastRef, HermesToastType } from './toast.interfaces';\n\ninterface ToastIconInfo {\n shape: string;\n cssClass: string;\n}\n\nconst TOAST_ICONS: Partial<Record<HermesToastType, ToastIconInfo>> = {\n info: { shape: 'info-standard', cssClass: 'toast-info' },\n success: { shape: 'success-standard', cssClass: 'toast-success' },\n warning: { shape: 'warning-standard', cssClass: 'toast-warning' },\n danger: { shape: 'error-standard', cssClass: 'toast-danger' },\n};\n\n@Component({\n selector: 'hermes-toast-item',\n templateUrl: './toast-item.html',\n standalone: false,\n})\nexport class HermesToastItem implements OnDestroy {\n @Input() toast: HermesToastRef;\n\n @Input()\n @HostBinding('style.--hermes-toast-index')\n index = 0;\n\n @Output('hermesDismissed') dismissed = new EventEmitter<string>();\n\n @HostBinding('class.toast-item') readonly hostClass = true;\n @HostBinding('attr.role') readonly role = 'status';\n @HostBinding('attr.aria-live') readonly ariaLive = 'polite';\n\n private resizeObserver?: ResizeObserver;\n\n constructor(private hostElement: ElementRef<HTMLElement>, public commonStrings: HermesCommonStringsService) {\n if (typeof ResizeObserver !== 'undefined') {\n this.resizeObserver = new ResizeObserver(([entry]) => {\n this.hostElement.nativeElement.style.setProperty('--hermes-toast-height', `${entry.contentRect.height}px`);\n });\n this.resizeObserver.observe(this.hostElement.nativeElement);\n }\n }\n\n get icon(): ToastIconInfo | undefined {\n return TOAST_ICONS[this.toast.type];\n }\n\n get isLoading(): boolean {\n return this.toast.type === 'loading';\n }\n\n dismiss(): void {\n this.dismissed.emit(this.toast.id);\n }\n\n actionClick(): void {\n this.toast.action?.onClick(this.toast);\n }\n\n ngOnDestroy(): void {\n this.resizeObserver?.disconnect();\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<div class=\"toast\" [ngClass]=\"icon?.cssClass\">\n @if (isLoading) {\n <hermes-spinner class=\"toast-icon\" hermesInline hermesSmall></hermes-spinner>\n } @else if (icon) {\n <hermes-icon class=\"toast-icon\" [shape]=\"icon.shape\" size=\"16\" role=\"img\" aria-hidden=\"true\"></hermes-icon>\n }\n\n <div class=\"toast-content\">\n @if (toast.title) {\n <div class=\"toast-title\">{{ toast.title }}</div>\n } @if (toast.description) {\n <div class=\"toast-description\">{{ toast.description }}</div>\n }\n </div>\n\n @if (toast.action) {\n <button type=\"button\" class=\"btn btn-sm btn-link toast-action\" (click)=\"actionClick()\">\n {{ toast.action.label }}\n </button>\n } @if (toast.closable) {\n <button type=\"button\" class=\"close toast-close\" (click)=\"dismiss()\" [attr.aria-label]=\"commonStrings.keys.close\">\n <hermes-icon shape=\"times\" size=\"14\"></hermes-icon>\n </button>\n }\n</div>\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { animate, style, transition, trigger } from '@angular/animations';\nimport { Component, HostBinding, HostListener, Input } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { HermesToastRef, HermesToasterPosition } from './toast.interfaces';\nimport { HermesToastService } from './toast.service';\n\nconst TOAST_TRANSITION_DURATION = '500ms';\n// Mirrors shadcn's toast primitive slide-in curve. Not pulled from\n// $hermes-global-animation-easing-secondary because that shared token is a bouncier\n// overshoot curve and doesn't match this specific ease-out feel.\nconst TOAST_TRANSITION_EASING = 'cubic-bezier(0.22, 1, 0.36, 1)';\n\n/**\n * Renders the queue kept by `HermesToastService` as a stack of toasts anchored to a\n * corner of the viewport. Place a single `<hermes-toaster>` once near the app root -\n * every `HermesToastService.show()`/`success()`/`error()` call anywhere in the app will\n * render into it.\n */\n@Component({\n selector: 'hermes-toaster',\n templateUrl: './toaster.html',\n animations: [\n trigger('toastMove', [\n transition(':enter', [\n style({ transform: 'translateY(150%)' }),\n animate(`${TOAST_TRANSITION_DURATION} ${TOAST_TRANSITION_EASING}`),\n ]),\n transition(':leave', [\n animate(`${TOAST_TRANSITION_DURATION} ${TOAST_TRANSITION_EASING}`, style({ transform: 'translateY(150%)' })),\n ]),\n ]),\n ],\n standalone: false,\n})\nexport class HermesToaster {\n @Input('hermesToasterPosition')\n @HostBinding('attr.data-position')\n position: HermesToasterPosition = 'bottom-right';\n\n @Input('hermesToasterMaxVisible') maxVisible = 3;\n\n @HostBinding('class.hermes-toaster') readonly hostClass = true;\n @HostBinding('class.expanded') expanded = false;\n\n readonly toasts$: Observable<HermesToastRef[]> = this.toastService.toasts$;\n\n constructor(private toastService: HermesToastService) {}\n\n trackById(_index: number, toast: HermesToastRef): string {\n return toast.id;\n }\n\n isLimited(index: number): boolean {\n return index >= this.maxVisible;\n }\n\n @HostListener('pointerenter')\n @HostListener('focusin')\n onEnter(): void {\n this.expanded = true;\n this.toastService.pauseAll();\n }\n\n @HostListener('pointerleave')\n @HostListener('focusout')\n onLeave(): void {\n this.expanded = false;\n this.toastService.resumeAll();\n }\n\n @HostListener('document:keydown.escape')\n onEscape(): void {\n const [frontmost] = this.toastService.snapshot;\n if (frontmost) {\n this.toastService.dismiss(frontmost.id);\n }\n }\n\n dismiss(id: string): void {\n this.toastService.dismiss(id);\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@for (toast of (toasts$ | async); track toast.id; let index = $index) {\n<hermes-toast-item\n [@toastMove]\n [toast]=\"toast\"\n [index]=\"index\"\n [class.limited]=\"isLimited(index)\"\n (hermesDismissed)=\"dismiss($event)\"\n></hermes-toast-item>\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, Type } from '@angular/core';\nimport {\n ClarityIcons,\n errorStandardIcon,\n HermesIcon,\n infoStandardIcon,\n successStandardIcon,\n warningStandardIcon,\n windowCloseIcon,\n} from '@hermes-ui/angular/icon';\nimport { HermesSpinnerModule } from '@hermes-ui/angular/progress/spinner';\n\nimport { HermesToastItem } from './toast-item';\nimport { HermesToaster } from './toaster';\n\nexport const HERMES_TOAST_DIRECTIVES: Type<any>[] = [HermesToaster, HermesToastItem];\n\n@NgModule({\n imports: [CommonModule, HermesIcon, HermesSpinnerModule],\n declarations: [HERMES_TOAST_DIRECTIVES],\n exports: [HERMES_TOAST_DIRECTIVES],\n})\nexport class HermesToastModule {\n constructor() {\n ClarityIcons.addIcons(errorStandardIcon, infoStandardIcon, successStandardIcon, warningStandardIcon, windowCloseIcon);\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 './toast.interfaces';\nexport * from './toast.service';\nexport * from './toast-item';\nexport * from './toaster';\nexport * from './toast.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.HermesToastService","i2.HermesToastItem","i3"],"mappings":"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"}
1
+ {"version":3,"file":"hermes-ui-angular-toast.mjs","sources":["../../../toast/toast.interfaces.ts","../../../toast/toast.service.ts","../../../toast/toast-item.ts","../../../toast/toast-item.html","../../../toast/toaster.ts","../../../toast/toaster.html","../../../toast/toast.module.ts","../../../toast/index.ts","../../../toast/hermes-ui-angular-toast.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 type HermesToastType = 'default' | 'info' | 'success' | 'warning' | 'danger' | 'loading';\r\n\r\nexport interface HermesToastAction {\r\n label: string;\r\n onClick: (toast: HermesToastRef) => void;\r\n}\r\n\r\nexport interface HermesToastConfig {\r\n id?: string;\r\n title?: string;\r\n description?: string;\r\n type?: HermesToastType;\r\n /** Milliseconds before auto-dismiss. 0 or Infinity disables auto-dismiss. */\r\n duration?: number;\r\n closable?: boolean;\r\n action?: HermesToastAction;\r\n}\r\n\r\nexport interface HermesToastRef extends HermesToastConfig {\r\n id: string;\r\n type: HermesToastType;\r\n duration: number;\r\n closable: boolean;\r\n createdAt: number;\r\n}\r\n\r\nexport interface HermesToastPromiseMessages<T> {\r\n loading?: string | HermesToastConfig;\r\n success: string | HermesToastConfig | ((value: T) => string | HermesToastConfig);\r\n error: string | HermesToastConfig | ((error: unknown) => string | HermesToastConfig);\r\n}\r\n\r\nexport type HermesToasterPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\nimport { HermesToastConfig, HermesToastPromiseMessages, HermesToastRef, HermesToastType } from './toast.interfaces';\r\n\r\nconst DEFAULT_DURATION = 5000;\r\n\r\ninterface ToastTimer {\r\n timeoutId: ReturnType<typeof setTimeout>;\r\n startedAt: number;\r\n remaining: number;\r\n}\r\n\r\nlet uniqueId = 0;\r\n\r\n/**\r\n * Global, imperative toast queue. A single `hermes-toaster` placed once in the app\r\n * (typically next to the root component) renders whatever this service holds - call\r\n * `show`/`success`/`error`/etc. from anywhere, no injected view reference needed.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class HermesToastService {\r\n private readonly _toasts = new BehaviorSubject<HermesToastRef[]>([]);\r\n private readonly timers = new Map<string, ToastTimer>();\r\n\r\n get toasts$(): Observable<HermesToastRef[]> {\r\n return this._toasts.asObservable();\r\n }\r\n\r\n get snapshot(): HermesToastRef[] {\r\n return this._toasts.value;\r\n }\r\n\r\n show(config: HermesToastConfig): string {\r\n const id = config.id ?? `hermes-toast-${++uniqueId}`;\r\n const duration = config.duration ?? (config.type === 'loading' ? 0 : DEFAULT_DURATION);\r\n\r\n const toast: HermesToastRef = {\r\n ...config,\r\n id,\r\n type: config.type ?? 'default',\r\n duration,\r\n closable: config.closable ?? true,\r\n createdAt: Date.now(),\r\n };\r\n\r\n const existingIndex = this._toasts.value.findIndex(t => t.id === id);\r\n if (existingIndex > -1) {\r\n const next = this._toasts.value.slice();\r\n next[existingIndex] = toast;\r\n this._toasts.next(next);\r\n } else {\r\n this._toasts.next([toast, ...this._toasts.value]);\r\n }\r\n\r\n this.restartTimer(toast);\r\n\r\n return id;\r\n }\r\n\r\n private shorthand(type: HermesToastType) {\r\n return (message: string, config: Omit<HermesToastConfig, 'type'> = {}): string =>\r\n this.show({ ...config, type, title: config.title ?? message });\r\n }\r\n\r\n default = this.shorthand('default');\r\n info = this.shorthand('info');\r\n success = this.shorthand('success');\r\n warning = this.shorthand('warning');\r\n danger = this.shorthand('danger');\r\n\r\n loading(message: string, config: Omit<HermesToastConfig, 'type'> = {}): string {\r\n return this.show({ ...config, type: 'loading', title: config.title ?? message, duration: config.duration ?? 0, closable: config.closable ?? false });\r\n }\r\n\r\n update(id: string, config: Partial<HermesToastConfig>): void {\r\n const current = this._toasts.value.find(t => t.id === id);\r\n if (!current) {\r\n return;\r\n }\r\n this.show({ ...current, ...config, id });\r\n }\r\n\r\n dismiss(id: string): void {\r\n this.clearTimer(id);\r\n this._toasts.next(this._toasts.value.filter(t => t.id !== id));\r\n }\r\n\r\n dismissAll(): void {\r\n this.timers.forEach((_, id) => this.clearTimer(id));\r\n this._toasts.next([]);\r\n }\r\n\r\n /** Pauses every running auto-dismiss timer, e.g. while the pointer is over the toaster. */\r\n pauseAll(): void {\r\n const now = Date.now();\r\n this.timers.forEach(timer => {\r\n clearTimeout(timer.timeoutId);\r\n timer.remaining -= now - timer.startedAt;\r\n });\r\n }\r\n\r\n /** Resumes every paused auto-dismiss timer with its remaining time. */\r\n resumeAll(): void {\r\n this.timers.forEach((timer, id) => {\r\n const toast = this._toasts.value.find(t => t.id === id);\r\n if (!toast || timer.remaining <= 0) {\r\n return;\r\n }\r\n timer.startedAt = Date.now();\r\n timer.timeoutId = setTimeout(() => this.dismiss(id), timer.remaining);\r\n });\r\n }\r\n\r\n /** Ties a toast to a promise: shows a loading toast, then resolves it into success/error. */\r\n promise<T>(promise: Promise<T>, messages: HermesToastPromiseMessages<T>): Promise<T> {\r\n const id = this.loading(this.resolveMessageText(messages.loading) ?? '', this.resolveMessageConfig(messages.loading));\r\n\r\n return promise.then(\r\n value => {\r\n const resolved = typeof messages.success === 'function' ? messages.success(value) : messages.success;\r\n this.show({ ...this.resolveMessageConfig(resolved), id, type: 'success', title: this.resolveMessageText(resolved) });\r\n return value;\r\n },\r\n error => {\r\n const resolved = typeof messages.error === 'function' ? messages.error(error) : messages.error;\r\n this.show({ ...this.resolveMessageConfig(resolved), id, type: 'danger', title: this.resolveMessageText(resolved) });\r\n throw error;\r\n }\r\n );\r\n }\r\n\r\n private resolveMessageText(message: string | HermesToastConfig | undefined): string | undefined {\r\n if (!message) {\r\n return undefined;\r\n }\r\n return typeof message === 'string' ? message : message.title;\r\n }\r\n\r\n private resolveMessageConfig(message: string | HermesToastConfig | undefined): HermesToastConfig {\r\n return typeof message === 'string' || !message ? {} : message;\r\n }\r\n\r\n private restartTimer(toast: HermesToastRef): void {\r\n this.clearTimer(toast.id);\r\n\r\n if (!toast.duration || !isFinite(toast.duration)) {\r\n return;\r\n }\r\n\r\n this.timers.set(toast.id, {\r\n startedAt: Date.now(),\r\n remaining: toast.duration,\r\n timeoutId: setTimeout(() => this.dismiss(toast.id), toast.duration),\r\n });\r\n }\r\n\r\n private clearTimer(id: string): void {\r\n const timer = this.timers.get(id);\r\n if (timer) {\r\n clearTimeout(timer.timeoutId);\r\n this.timers.delete(id);\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 { Component, ElementRef, EventEmitter, HostBinding, Input, OnDestroy, Output } from '@angular/core';\r\nimport { HermesCommonStringsService } from '@hermes-ui/angular/utils';\r\n\r\nimport { HermesToastRef, HermesToastType } from './toast.interfaces';\r\n\r\ninterface ToastIconInfo {\r\n shape: string;\r\n cssClass: string;\r\n}\r\n\r\nconst TOAST_ICONS: Partial<Record<HermesToastType, ToastIconInfo>> = {\r\n info: { shape: 'info-standard', cssClass: 'toast-info' },\r\n success: { shape: 'success-standard', cssClass: 'toast-success' },\r\n warning: { shape: 'warning-standard', cssClass: 'toast-warning' },\r\n danger: { shape: 'error-standard', cssClass: 'toast-danger' },\r\n};\r\n\r\n@Component({\r\n selector: 'hermes-toast-item',\r\n templateUrl: './toast-item.html',\r\n standalone: false,\r\n})\r\nexport class HermesToastItem implements OnDestroy {\r\n @Input() toast: HermesToastRef;\r\n\r\n @Input()\r\n @HostBinding('style.--hermes-toast-index')\r\n index = 0;\r\n\r\n @Output('hermesDismissed') dismissed = new EventEmitter<string>();\r\n\r\n @HostBinding('class.toast-item') readonly hostClass = true;\r\n @HostBinding('attr.role') readonly role = 'status';\r\n @HostBinding('attr.aria-live') readonly ariaLive = 'polite';\r\n\r\n private resizeObserver?: ResizeObserver;\r\n\r\n constructor(private hostElement: ElementRef<HTMLElement>, public commonStrings: HermesCommonStringsService) {\r\n if (typeof ResizeObserver !== 'undefined') {\r\n this.resizeObserver = new ResizeObserver(([entry]) => {\r\n this.hostElement.nativeElement.style.setProperty('--hermes-toast-height', `${entry.contentRect.height}px`);\r\n });\r\n this.resizeObserver.observe(this.hostElement.nativeElement);\r\n }\r\n }\r\n\r\n get icon(): ToastIconInfo | undefined {\r\n return TOAST_ICONS[this.toast.type];\r\n }\r\n\r\n get isLoading(): boolean {\r\n return this.toast.type === 'loading';\r\n }\r\n\r\n dismiss(): void {\r\n this.dismissed.emit(this.toast.id);\r\n }\r\n\r\n actionClick(): void {\r\n this.toast.action?.onClick(this.toast);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.resizeObserver?.disconnect();\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<div class=\"toast\" [ngClass]=\"icon?.cssClass\">\r\n @if (isLoading) {\r\n <hermes-spinner class=\"toast-icon\" hermesInline hermesSmall></hermes-spinner>\r\n } @else if (icon) {\r\n <hermes-icon class=\"toast-icon\" [shape]=\"icon.shape\" size=\"16\" role=\"img\" aria-hidden=\"true\"></hermes-icon>\r\n }\r\n\r\n <div class=\"toast-content\">\r\n @if (toast.title) {\r\n <div class=\"toast-title\">{{ toast.title }}</div>\r\n } @if (toast.description) {\r\n <div class=\"toast-description\">{{ toast.description }}</div>\r\n }\r\n </div>\r\n\r\n @if (toast.action) {\r\n <button type=\"button\" class=\"btn btn-sm btn-link toast-action\" (click)=\"actionClick()\">\r\n {{ toast.action.label }}\r\n </button>\r\n } @if (toast.closable) {\r\n <button type=\"button\" class=\"close toast-close\" (click)=\"dismiss()\" [attr.aria-label]=\"commonStrings.keys.close\">\r\n <hermes-icon shape=\"times\" size=\"14\"></hermes-icon>\r\n </button>\r\n }\r\n</div>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { animate, style, transition, trigger } from '@angular/animations';\r\nimport { Component, HostBinding, HostListener, Input } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { HermesToastRef, HermesToasterPosition } from './toast.interfaces';\r\nimport { HermesToastService } from './toast.service';\r\n\r\nconst TOAST_TRANSITION_DURATION = '500ms';\r\n// Mirrors shadcn's toast primitive slide-in curve. Not pulled from\r\n// $hermes-global-animation-easing-secondary because that shared token is a bouncier\r\n// overshoot curve and doesn't match this specific ease-out feel.\r\nconst TOAST_TRANSITION_EASING = 'cubic-bezier(0.22, 1, 0.36, 1)';\r\n\r\n/**\r\n * Renders the queue kept by `HermesToastService` as a stack of toasts anchored to a\r\n * corner of the viewport. Place a single `<hermes-toaster>` once near the app root -\r\n * every `HermesToastService.show()`/`success()`/`error()` call anywhere in the app will\r\n * render into it.\r\n */\r\n@Component({\r\n selector: 'hermes-toaster',\r\n templateUrl: './toaster.html',\r\n animations: [\r\n trigger('toastMove', [\r\n transition(':enter', [\r\n style({ transform: 'translateY(150%)' }),\r\n animate(`${TOAST_TRANSITION_DURATION} ${TOAST_TRANSITION_EASING}`),\r\n ]),\r\n transition(':leave', [\r\n animate(`${TOAST_TRANSITION_DURATION} ${TOAST_TRANSITION_EASING}`, style({ transform: 'translateY(150%)' })),\r\n ]),\r\n ]),\r\n ],\r\n standalone: false,\r\n})\r\nexport class HermesToaster {\r\n @Input('hermesToasterPosition')\r\n @HostBinding('attr.data-position')\r\n position: HermesToasterPosition = 'bottom-right';\r\n\r\n @Input('hermesToasterMaxVisible') maxVisible = 3;\r\n\r\n @HostBinding('class.hermes-toaster') readonly hostClass = true;\r\n @HostBinding('class.expanded') expanded = false;\r\n\r\n readonly toasts$: Observable<HermesToastRef[]> = this.toastService.toasts$;\r\n\r\n constructor(private toastService: HermesToastService) {}\r\n\r\n trackById(_index: number, toast: HermesToastRef): string {\r\n return toast.id;\r\n }\r\n\r\n isLimited(index: number): boolean {\r\n return index >= this.maxVisible;\r\n }\r\n\r\n @HostListener('pointerenter')\r\n @HostListener('focusin')\r\n onEnter(): void {\r\n this.expanded = true;\r\n this.toastService.pauseAll();\r\n }\r\n\r\n @HostListener('pointerleave')\r\n @HostListener('focusout')\r\n onLeave(): void {\r\n this.expanded = false;\r\n this.toastService.resumeAll();\r\n }\r\n\r\n @HostListener('document:keydown.escape')\r\n onEscape(): void {\r\n const [frontmost] = this.toastService.snapshot;\r\n if (frontmost) {\r\n this.toastService.dismiss(frontmost.id);\r\n }\r\n }\r\n\r\n dismiss(id: string): void {\r\n this.toastService.dismiss(id);\r\n }\r\n}\r\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n\r\n@for (toast of (toasts$ | async); track toast.id; let index = $index) {\r\n<hermes-toast-item\r\n [@toastMove]\r\n [toast]=\"toast\"\r\n [index]=\"index\"\r\n [class.limited]=\"isLimited(index)\"\r\n (hermesDismissed)=\"dismiss($event)\"\r\n></hermes-toast-item>\r\n}\r\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport {\n HermesIcons,\n errorStandardIcon,\n HermesIcon,\n infoStandardIcon,\n successStandardIcon,\n warningStandardIcon,\n windowCloseIcon,\n} from '@hermes-ui/angular/icon';\nimport { HermesSpinnerModule } from '@hermes-ui/angular/progress/spinner';\n\nimport { HermesToastItem } from './toast-item';\nimport { HermesToaster } from './toaster';\n\nexport const HERMES_TOAST_DIRECTIVES: Type<any>[] = [HermesToaster, HermesToastItem];\n\n@NgModule({\n imports: [CommonModule, HermesIcon, HermesSpinnerModule],\n declarations: [HERMES_TOAST_DIRECTIVES],\n exports: [HERMES_TOAST_DIRECTIVES],\n})\nexport class HermesToastModule {\n constructor() {\n HermesIcons.addIcons(errorStandardIcon, infoStandardIcon, successStandardIcon, warningStandardIcon, windowCloseIcon);\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 './toast.interfaces';\r\nexport * from './toast.service';\r\nexport * from './toast-item';\r\nexport * from './toaster';\r\nexport * from './toast.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.HermesToastService","i2.HermesToastItem","i3"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hermes-ui-angular-utils-conditional.mjs","sources":["../../../utils/conditional/if-active.service.ts","../../../utils/conditional/if-active.directive.ts","../../../utils/conditional/if-expanded.service.ts","../../../utils/conditional/if-expanded.directive.ts","../../../utils/conditional/conditional.module.ts","../../../utils/conditional/index.ts","../../../utils/conditional/hermes-ui-angular-utils-conditional.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, InjectionToken } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nlet activeCounter = 0;\r\n\r\nexport const IF_ACTIVE_ID = new InjectionToken<number>('IF_ACTIVE_ID');\r\n\r\nexport function tokenFactory() {\r\n return ++activeCounter;\r\n}\r\n\r\nexport const IF_ACTIVE_ID_PROVIDER = {\r\n provide: IF_ACTIVE_ID,\r\n useFactory: tokenFactory,\r\n};\r\n\r\n@Injectable()\r\n\r\n/*********\r\n * @class IfActiveService\r\n *\r\n * @description\r\n * An injectable service used by IfActive structural directives and the components that implement IfActive in their\r\n * templates. It holds the value of the current state and provides an Observable that both the directive and the\r\n * implementing component can subscribe to in order to take action on current value changes.\r\n *\r\n */\r\nexport class IfActiveService {\r\n /********\r\n * @property _currentChange\r\n *\r\n * @description\r\n * A RXJS Subject that updates and provides subscriptions to for the current current state of a component template\r\n * implemting the IfActive structural directive.\r\n *\r\n */\r\n private _currentChange = new Subject<number>();\r\n\r\n /*********\r\n * @property _current\r\n *\r\n * @description\r\n * A property holding the current value for current/closed state of an IfActive structural directive.\r\n */\r\n private _current: number;\r\n\r\n /*********\r\n *\r\n * @description\r\n * A getter function that provides an observable for the _current Subject.\r\n *\r\n */\r\n get currentChange(): Observable<number> {\r\n return this._currentChange.asObservable();\r\n }\r\n\r\n /*********\r\n *\r\n * @description\r\n * A property that gets/sets the current state of _current for this instance of IfActive structural directive.\r\n * And, broadcasts the new value to all subscribers.\r\n *\r\n */\r\n get current(): number {\r\n return this._current;\r\n }\r\n set current(value: number) {\r\n if (this._current !== value) {\r\n this._current = value;\r\n this._currentChange.next(value);\r\n }\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport {\r\n Directive,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { IF_ACTIVE_ID, IfActiveService } from './if-active.service';\r\n\r\n@Directive({\r\n selector: '[hermesIfActive]',\r\n})\r\n\r\n/**********\r\n *\r\n * @class HermesIfActive\r\n *\r\n * @description\r\n * A structural directive that controls whether or not the associated TemplateRef is instantiated or not.\r\n * It makes use of a Component instance level service: IfActiveService to maintain state between itself and\r\n * the component using it in the component template.\r\n *\r\n */\r\nexport class HermesIfActive implements OnDestroy {\r\n /**********\r\n * @property activeChange\r\n *\r\n * @description\r\n * An event emitter that emits when the active property is set to allow for 2way binding when the directive is\r\n * used with de-structured / de-sugared syntax.\r\n *\r\n */\r\n @Output('hermesIfActiveChange') activeChange = new EventEmitter<boolean>(false);\r\n\r\n private subscription: Subscription;\r\n private wasActive = false;\r\n\r\n constructor(\r\n private ifActiveService: IfActiveService,\r\n @Inject(IF_ACTIVE_ID) private id: number,\r\n private template: TemplateRef<any>,\r\n private container: ViewContainerRef\r\n ) {\r\n this.checkAndUpdateView(ifActiveService.current);\r\n\r\n this.subscription = ifActiveService.currentChange.subscribe(newCurrentId => {\r\n this.checkAndUpdateView(newCurrentId);\r\n });\r\n }\r\n\r\n /**\r\n * @description\r\n * A property that gets/sets IfActiveService.active with value.\r\n *\r\n */\r\n @Input('hermesIfActive')\r\n get active() {\r\n return this.ifActiveService.current === this.id;\r\n }\r\n set active(value: boolean | string) {\r\n if (value) {\r\n this.ifActiveService.current = this.id;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n /**\r\n * @description\r\n * Function that takes a any value and either created an embedded view for the associated ViewContainerRef or,\r\n * Clears all views from the ViewContainerRef\r\n */\r\n updateView(value: boolean) {\r\n if (value) {\r\n this.container.createEmbeddedView(this.template);\r\n } else {\r\n this.container.clear();\r\n }\r\n }\r\n\r\n private checkAndUpdateView(currentId: number) {\r\n const isNowActive = currentId === this.id;\r\n // only emit if the new active state is changed since last time.\r\n if (isNowActive !== this.wasActive) {\r\n this.updateView(isNowActive);\r\n this.activeChange.emit(isNowActive);\r\n this.wasActive = isNowActive;\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 { Injectable } from '@angular/core';\nimport { HermesLoadingState, LoadingListener } from '@hermes-ui/angular/utils/loading';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class IfExpandService implements LoadingListener {\n expandable = 0;\n hasExpandTemplate = false;\n\n protected _loading = false;\n protected _expanded = false;\n protected _expandChange = new Subject<boolean>();\n\n get loading(): boolean {\n return this._loading;\n }\n set loading(value: boolean) {\n value = !!value;\n if (value !== this._loading) {\n this._loading = value;\n }\n }\n\n get expanded(): boolean {\n return this._expanded;\n }\n set expanded(value: boolean) {\n value = !!value;\n if (value !== this._expanded) {\n this._expanded = value;\n this._expandChange.next(value);\n }\n }\n\n get expandChange(): Observable<boolean> {\n return this._expandChange.asObservable();\n }\n\n toggle() {\n this.expanded = !this._expanded;\n }\n\n loadingStateChange(state: HermesLoadingState): void {\n switch (state) {\n case HermesLoadingState.LOADING:\n this.loading = true;\n break;\n default:\n this.loading = false;\n break;\n }\n }\n}\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport {\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n Renderer2,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { IfExpandService } from './if-expanded.service';\r\n\r\n@Directive({\r\n selector: '[hermesIfExpanded]',\r\n})\r\nexport class HermesIfExpanded implements OnInit, OnDestroy {\r\n @Output('hermesIfExpandedChange') expandedChange = new EventEmitter<boolean>(true);\r\n\r\n private _expanded = false;\r\n\r\n /**\r\n * Subscriptions to all the services and queries changes\r\n */\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n @Optional() private template: TemplateRef<any>,\r\n private container: ViewContainerRef,\r\n private el: ElementRef<HTMLElement>,\r\n private renderer: Renderer2,\r\n private expand: IfExpandService\r\n ) {\r\n this._subscriptions.push(\r\n expand.expandChange.subscribe(() => {\r\n this.updateView();\r\n this.expandedChange.emit(expand.expanded);\r\n })\r\n );\r\n\r\n expand.hasExpandTemplate = !!template;\r\n }\r\n\r\n @Input('hermesIfExpanded')\r\n get expanded(): boolean | string {\r\n return this._expanded;\r\n }\r\n set expanded(value: boolean | string) {\r\n if (typeof value === 'boolean') {\r\n this.expand.expanded = value;\r\n this._expanded = value;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.expand.expandable++;\r\n this.updateView();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.expand.expandable--;\r\n this._subscriptions.forEach((sub: Subscription) => sub.unsubscribe());\r\n }\r\n\r\n private updateView() {\r\n if (this.expand.expanded && this.container.length !== 0) {\r\n return;\r\n }\r\n if (this.template) {\r\n if (this.expand.expanded) {\r\n // Should we pass a context? I don't see anything useful to pass right now,\r\n // but we can come back to it in the future as a solution for additional features.\r\n this.container.createEmbeddedView(this.template);\r\n } else {\r\n // TODO: Move when we move the animation logic to Datagrid Row Expand\r\n // We clear before the animation is over. Not ideal, but doing better would involve a much heavier\r\n // process for very little gain. Once Angular animations are dynamic enough, we should be able to\r\n // get the optimal behavior.\r\n this.container.clear();\r\n }\r\n } else {\r\n try {\r\n // If we don't have a template ref, we fallback to a crude display: none for now.\r\n if (this.expand.expanded) {\r\n this.renderer.setStyle(this.el.nativeElement, 'display', null);\r\n } else {\r\n this.renderer.setStyle(this.el.nativeElement, 'display', 'none');\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n } catch (e) {\r\n // We catch the case where hermesIfExpanded was put on a non-DOM element, and we just do nothing\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, Type } from '@angular/core';\r\n\r\nimport { HermesIfActive } from './if-active.directive';\r\nimport { HermesIfExpanded } from './if-expanded.directive';\r\n\r\nexport const CONDITIONAL_DIRECTIVES: Type<any>[] = [HermesIfActive, HermesIfExpanded];\r\n\r\n@NgModule({\r\n imports: [CommonModule, CONDITIONAL_DIRECTIVES],\r\n exports: [CONDITIONAL_DIRECTIVES],\r\n})\r\nexport class HermesConditionalModule {}\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 './if-active.directive';\r\nexport * from './if-active.service';\r\nexport * from './if-expanded.directive';\r\nexport * from './if-expanded.service';\r\nexport * from './conditional.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.IfExpandService"],"mappings":";;;;;;AAAA;;;;;AAKG;AAKH,IAAI,aAAa,GAAG,CAAC;MAER,YAAY,GAAG,IAAI,cAAc,CAAS,cAAc;SAErD,YAAY,GAAA;IAC1B,OAAO,EAAE,aAAa;AACxB;AAEO,MAAM,qBAAqB,GAAG;AACnC,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,UAAU,EAAE,YAAY;;AAK1B;;;;;;;;AAQG;MACU,eAAe,CAAA;AAX5B,IAAA,WAAA,GAAA;AAYE;;;;;;;AAOG;AACK,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAU;AAoC/C,IAAA;AA1BC;;;;;AAKG;AACH,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;IAC3C;AAEA;;;;;;AAMG;AACH,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IACA,IAAI,OAAO,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QACjC;IACF;+GA5CW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAf,eAAe,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAX3B;;;ACvBD;;;;;AAKG;AAoBH;;;;;;;;;AASG;MACU,cAAc,CAAA;AAczB,IAAA,WAAA,CACU,eAAgC,EACV,EAAU,EAChC,QAA0B,EAC1B,SAA2B,EAAA;QAH3B,IAAA,CAAA,eAAe,GAAf,eAAe;QACO,IAAA,CAAA,EAAE,GAAF,EAAE;QACxB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,SAAS,GAAT,SAAS;AAjBnB;;;;;;;AAOG;AAC6B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,CAAU,KAAK,CAAC;QAGvE,IAAA,CAAA,SAAS,GAAG,KAAK;AAQvB,QAAA,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,OAAO,CAAC;QAEhD,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,IAAG;AACzE,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;AACvC,QAAA,CAAC,CAAC;IACJ;AAEA;;;;AAIG;AACH,IAAA,IACI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE;IACjD;IACA,IAAI,MAAM,CAAC,KAAuB,EAAA;QAChC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE;QACxC;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;IACjC;AAEA;;;;AAIG;AACH,IAAA,UAAU,CAAC,KAAc,EAAA;QACvB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAClD;aAAO;AACL,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;QACxB;IACF;AAEQ,IAAA,kBAAkB,CAAC,SAAiB,EAAA;AAC1C,QAAA,MAAM,WAAW,GAAG,SAAS,KAAK,IAAI,CAAC,EAAE;;AAEzC,QAAA,IAAI,WAAW,KAAK,IAAI,CAAC,SAAS,EAAE;AAClC,YAAA,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AAC5B,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,YAAA,IAAI,CAAC,SAAS,GAAG,WAAW;QAC9B;IACF;AAnEW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,8CAgBf,YAAY,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAhBX,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAd1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC7B,iBAAA;;0BA4BI,MAAM;2BAAC,YAAY;;sBAPrB,MAAM;uBAAC,sBAAsB;;sBAuB7B,KAAK;uBAAC,gBAAgB;;;ACnEzB;;;;;AAKG;MAOU,eAAe,CAAA;AAD5B,IAAA,WAAA,GAAA;QAEE,IAAA,CAAA,UAAU,GAAG,CAAC;QACd,IAAA,CAAA,iBAAiB,GAAG,KAAK;QAEf,IAAA,CAAA,QAAQ,GAAG,KAAK;QAChB,IAAA,CAAA,SAAS,GAAG,KAAK;AACjB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAW;AAyCjD,IAAA;AAvCC,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ;IACtB;IACA,IAAI,OAAO,CAAC,KAAc,EAAA;AACxB,QAAA,KAAK,GAAG,CAAC,CAAC,KAAK;AACf,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE;AAC3B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;QACvB;IACF;AAEA,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;IACvB;IACA,IAAI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,KAAK,GAAG,CAAC,CAAC,KAAK;AACf,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;AAC5B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QAChC;IACF;AAEA,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;IAC1C;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,SAAS;IACjC;AAEA,IAAA,kBAAkB,CAAC,KAAyB,EAAA;QAC1C,QAAQ,KAAK;YACX,KAAK,kBAAkB,CAAC,OAAO;AAC7B,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI;gBACnB;AACF,YAAA;AACE,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK;gBACpB;;IAEN;+GA9CW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAf,eAAe,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B;;;ACXD;;;;;AAKG;MAsBU,gBAAgB,CAAA;IAU3B,WAAA,CACsB,QAA0B,EACtC,SAA2B,EAC3B,EAA2B,EAC3B,QAAmB,EACnB,MAAuB,EAAA;QAJX,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACpB,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,MAAM,GAAN,MAAM;AAdkB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,CAAU,IAAI,CAAC;QAE1E,IAAA,CAAA,SAAS,GAAG,KAAK;AAEzB;;AAEG;QACK,IAAA,CAAA,cAAc,GAAmB,EAAE;AASzC,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,MAAK;YACjC,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC3C,CAAC,CAAC,CACH;AAED,QAAA,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC,QAAQ;IACvC;AAEA,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS;IACvB;IACA,IAAI,QAAQ,CAAC,KAAuB,EAAA;AAClC,QAAA,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;AAC9B,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK;AAC5B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;QACxB;IACF;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;QACxB,IAAI,CAAC,UAAU,EAAE;IACnB;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;AACxB,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAiB,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;IACvE;IAEQ,UAAU,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACvD;QACF;AACA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;;;gBAGxB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClD;iBAAO;;;;;AAKL,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACxB;QACF;aAAO;AACL,YAAA,IAAI;;AAEF,gBAAA,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AACxB,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC;gBAChE;qBAAO;AACL,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC;gBAClE;;YAEF;YAAE,OAAO,CAAC,EAAE;;YAEZ;QACF;IACF;+GA7EW,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,wBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA;;0BAYI;;sBAVF,MAAM;uBAAC,wBAAwB;;sBA0B/B,KAAK;uBAAC,kBAAkB;;;ACtD3B;;;;;AAKG;MAQU,sBAAsB,GAAgB,CAAC,cAAc,EAAE,gBAAgB;MAMvE,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAvB,uBAAuB,EAAA,OAAA,EAAA,CAHxB,YAAY,EAH4B,cAAc,EAAE,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAAhC,cAAc,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAMvE,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,uBAAuB,YAHxB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGX,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,sBAAsB,CAAC;oBAC/C,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,iBAAA;;;AClBD;;;;;AAKG;;ACLH;;AAEG;;"}
1
+ {"version":3,"file":"hermes-ui-angular-utils-conditional.mjs","sources":["../../../utils/conditional/if-active.service.ts","../../../utils/conditional/if-active.directive.ts","../../../utils/conditional/if-expanded.service.ts","../../../utils/conditional/if-expanded.directive.ts","../../../utils/conditional/conditional.module.ts","../../../utils/conditional/index.ts","../../../utils/conditional/hermes-ui-angular-utils-conditional.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, InjectionToken } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nlet activeCounter = 0;\r\n\r\nexport const IF_ACTIVE_ID = new InjectionToken<number>('IF_ACTIVE_ID');\r\n\r\nexport function tokenFactory() {\r\n return ++activeCounter;\r\n}\r\n\r\nexport const IF_ACTIVE_ID_PROVIDER = {\r\n provide: IF_ACTIVE_ID,\r\n useFactory: tokenFactory,\r\n};\r\n\r\n@Injectable()\r\n\r\n/*********\r\n * @class IfActiveService\r\n *\r\n * @description\r\n * An injectable service used by IfActive structural directives and the components that implement IfActive in their\r\n * templates. It holds the value of the current state and provides an Observable that both the directive and the\r\n * implementing component can subscribe to in order to take action on current value changes.\r\n *\r\n */\r\nexport class IfActiveService {\r\n /********\r\n * @property _currentChange\r\n *\r\n * @description\r\n * A RXJS Subject that updates and provides subscriptions to for the current current state of a component template\r\n * implemting the IfActive structural directive.\r\n *\r\n */\r\n private _currentChange = new Subject<number>();\r\n\r\n /*********\r\n * @property _current\r\n *\r\n * @description\r\n * A property holding the current value for current/closed state of an IfActive structural directive.\r\n */\r\n private _current: number;\r\n\r\n /*********\r\n *\r\n * @description\r\n * A getter function that provides an observable for the _current Subject.\r\n *\r\n */\r\n get currentChange(): Observable<number> {\r\n return this._currentChange.asObservable();\r\n }\r\n\r\n /*********\r\n *\r\n * @description\r\n * A property that gets/sets the current state of _current for this instance of IfActive structural directive.\r\n * And, broadcasts the new value to all subscribers.\r\n *\r\n */\r\n get current(): number {\r\n return this._current;\r\n }\r\n set current(value: number) {\r\n if (this._current !== value) {\r\n this._current = value;\r\n this._currentChange.next(value);\r\n }\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport {\r\n Directive,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { IF_ACTIVE_ID, IfActiveService } from './if-active.service';\r\n\r\n@Directive({\r\n selector: '[hermesIfActive]',\r\n})\r\n\r\n/**********\r\n *\r\n * @class HermesIfActive\r\n *\r\n * @description\r\n * A structural directive that controls whether or not the associated TemplateRef is instantiated or not.\r\n * It makes use of a Component instance level service: IfActiveService to maintain state between itself and\r\n * the component using it in the component template.\r\n *\r\n */\r\nexport class HermesIfActive implements OnDestroy {\r\n /**********\r\n * @property activeChange\r\n *\r\n * @description\r\n * An event emitter that emits when the active property is set to allow for 2way binding when the directive is\r\n * used with de-structured / de-sugared syntax.\r\n *\r\n */\r\n @Output('hermesIfActiveChange') activeChange = new EventEmitter<boolean>(false);\r\n\r\n private subscription: Subscription;\r\n private wasActive = false;\r\n\r\n constructor(\r\n private ifActiveService: IfActiveService,\r\n @Inject(IF_ACTIVE_ID) private id: number,\r\n private template: TemplateRef<any>,\r\n private container: ViewContainerRef\r\n ) {\r\n this.checkAndUpdateView(ifActiveService.current);\r\n\r\n this.subscription = ifActiveService.currentChange.subscribe(newCurrentId => {\r\n this.checkAndUpdateView(newCurrentId);\r\n });\r\n }\r\n\r\n /**\r\n * @description\r\n * A property that gets/sets IfActiveService.active with value.\r\n *\r\n */\r\n @Input('hermesIfActive')\r\n get active() {\r\n return this.ifActiveService.current === this.id;\r\n }\r\n set active(value: boolean | string) {\r\n if (value) {\r\n this.ifActiveService.current = this.id;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n /**\r\n * @description\r\n * Function that takes a any value and either created an embedded view for the associated ViewContainerRef or,\r\n * Clears all views from the ViewContainerRef\r\n */\r\n updateView(value: boolean) {\r\n if (value) {\r\n this.container.createEmbeddedView(this.template);\r\n } else {\r\n this.container.clear();\r\n }\r\n }\r\n\r\n private checkAndUpdateView(currentId: number) {\r\n const isNowActive = currentId === this.id;\r\n // only emit if the new active state is changed since last time.\r\n if (isNowActive !== this.wasActive) {\r\n this.updateView(isNowActive);\r\n this.activeChange.emit(isNowActive);\r\n this.wasActive = isNowActive;\r\n }\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HermesLoadingState, LoadingListener } from '@hermes-ui/angular/utils/loading';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class IfExpandService implements LoadingListener {\r\n expandable = 0;\r\n hasExpandTemplate = false;\r\n\r\n protected _loading = false;\r\n protected _expanded = false;\r\n protected _expandChange = new Subject<boolean>();\r\n\r\n get loading(): boolean {\r\n return this._loading;\r\n }\r\n set loading(value: boolean) {\r\n value = !!value;\r\n if (value !== this._loading) {\r\n this._loading = value;\r\n }\r\n }\r\n\r\n get expanded(): boolean {\r\n return this._expanded;\r\n }\r\n set expanded(value: boolean) {\r\n value = !!value;\r\n if (value !== this._expanded) {\r\n this._expanded = value;\r\n this._expandChange.next(value);\r\n }\r\n }\r\n\r\n get expandChange(): Observable<boolean> {\r\n return this._expandChange.asObservable();\r\n }\r\n\r\n toggle() {\r\n this.expanded = !this._expanded;\r\n }\r\n\r\n loadingStateChange(state: HermesLoadingState): void {\r\n switch (state) {\r\n case HermesLoadingState.LOADING:\r\n this.loading = true;\r\n break;\r\n default:\r\n this.loading = false;\r\n break;\r\n }\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport {\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n Renderer2,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { IfExpandService } from './if-expanded.service';\r\n\r\n@Directive({\r\n selector: '[hermesIfExpanded]',\r\n})\r\nexport class HermesIfExpanded implements OnInit, OnDestroy {\r\n @Output('hermesIfExpandedChange') expandedChange = new EventEmitter<boolean>(true);\r\n\r\n private _expanded = false;\r\n\r\n /**\r\n * Subscriptions to all the services and queries changes\r\n */\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n @Optional() private template: TemplateRef<any>,\r\n private container: ViewContainerRef,\r\n private el: ElementRef<HTMLElement>,\r\n private renderer: Renderer2,\r\n private expand: IfExpandService\r\n ) {\r\n this._subscriptions.push(\r\n expand.expandChange.subscribe(() => {\r\n this.updateView();\r\n this.expandedChange.emit(expand.expanded);\r\n })\r\n );\r\n\r\n expand.hasExpandTemplate = !!template;\r\n }\r\n\r\n @Input('hermesIfExpanded')\r\n get expanded(): boolean | string {\r\n return this._expanded;\r\n }\r\n set expanded(value: boolean | string) {\r\n if (typeof value === 'boolean') {\r\n this.expand.expanded = value;\r\n this._expanded = value;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.expand.expandable++;\r\n this.updateView();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.expand.expandable--;\r\n this._subscriptions.forEach((sub: Subscription) => sub.unsubscribe());\r\n }\r\n\r\n private updateView() {\r\n if (this.expand.expanded && this.container.length !== 0) {\r\n return;\r\n }\r\n if (this.template) {\r\n if (this.expand.expanded) {\r\n // Should we pass a context? I don't see anything useful to pass right now,\r\n // but we can come back to it in the future as a solution for additional features.\r\n this.container.createEmbeddedView(this.template);\r\n } else {\r\n // TODO: Move when we move the animation logic to Datagrid Row Expand\r\n // We clear before the animation is over. Not ideal, but doing better would involve a much heavier\r\n // process for very little gain. Once Angular animations are dynamic enough, we should be able to\r\n // get the optimal behavior.\r\n this.container.clear();\r\n }\r\n } else {\r\n try {\r\n // If we don't have a template ref, we fallback to a crude display: none for now.\r\n if (this.expand.expanded) {\r\n this.renderer.setStyle(this.el.nativeElement, 'display', null);\r\n } else {\r\n this.renderer.setStyle(this.el.nativeElement, 'display', 'none');\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n } catch (e) {\r\n // We catch the case where hermesIfExpanded was put on a non-DOM element, and we just do nothing\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, Type } from '@angular/core';\r\n\r\nimport { HermesIfActive } from './if-active.directive';\r\nimport { HermesIfExpanded } from './if-expanded.directive';\r\n\r\nexport const CONDITIONAL_DIRECTIVES: Type<any>[] = [HermesIfActive, HermesIfExpanded];\r\n\r\n@NgModule({\r\n imports: [CommonModule, CONDITIONAL_DIRECTIVES],\r\n exports: [CONDITIONAL_DIRECTIVES],\r\n})\r\nexport class HermesConditionalModule {}\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 './if-active.directive';\r\nexport * from './if-active.service';\r\nexport * from './if-expanded.directive';\r\nexport * from './if-expanded.service';\r\nexport * from './conditional.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.IfExpandService"],"mappings":"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"}
@@ -793,6 +793,12 @@ const commonStringsDefault = {
793
793
  responsiveNavOverflowClose: 'Close navigation overflow menu',
794
794
  //Vertical Nav
795
795
  verticalNavToggle: 'Toggle vertical navigation',
796
+ verticalNavBehavior: 'Navigation behavior',
797
+ verticalNavModeAuto: 'Open on hover',
798
+ verticalNavModeFixed: 'Keep open',
799
+ verticalNavModeCompact: 'Keep compact',
800
+ verticalNavExpandAll: 'Expand all',
801
+ verticalNavCollapseAll: 'Collapse all',
796
802
  // Timeline steps
797
803
  timelineStepNotStarted: 'Not started',
798
804
  timelineStepCurrent: 'Current',