@hermes-ui/angular 0.1.4

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 (539) hide show
  1. package/README.md +52 -0
  2. package/accordion/_accordion.clarity.scss +81 -0
  3. package/accordion/_properties.accordion.scss +45 -0
  4. package/accordion/_variables.accordion.scss +91 -0
  5. package/addons/a11y/README.md +157 -0
  6. package/addons/a11y/forms/required-field-legend.component.scss +17 -0
  7. package/addons/card-container/card/appfx-card.component.scss +137 -0
  8. package/addons/card-container/container/appfx-card-container.component.scss +17 -0
  9. package/addons/card-container/settings/appfx-card-container-settings.component.scss +62 -0
  10. package/addons/certificate-viewer/certificate-viewer/certificate-viewer.component.scss +69 -0
  11. package/addons/certificate-viewer/certificate-viewer-details/certificate-viewer-details.component.scss +49 -0
  12. package/addons/certificate-viewer/certificate-viewer-general/certificate-viewer-general.component.scss +38 -0
  13. package/addons/datagrid/README.md +289 -0
  14. package/addons/datagrid/addons/action-bar/datagrid-action-bar.component.scss +81 -0
  15. package/addons/datagrid/addons/column-toggle/datagrid-column-toggle.component.scss +99 -0
  16. package/addons/datagrid/addons/export/export-datagrid.component.scss +9 -0
  17. package/addons/datagrid/datagrid.component.scss +339 -0
  18. package/addons/datagrid-filters/README.md +223 -0
  19. package/addons/datagrid-filters/advanced-filters/date-time-filter.component.scss +10 -0
  20. package/addons/datagrid-filters/advanced-filters/enum-filter.component.scss +40 -0
  21. package/addons/datagrid-filters/advanced-filters/users-filter.component.scss +11 -0
  22. package/addons/datagrid-filters/common-styles.scss +98 -0
  23. package/addons/datagrid-filters/composite-filters.component.scss +26 -0
  24. package/addons/datagrid-filters/datagrid-filters.component.scss +22 -0
  25. package/addons/datagrid-filters/manage-filters/manage-filter.component.scss +42 -0
  26. package/addons/dialog/README.md +112 -0
  27. package/addons/dialog/multi-page-dialog.a11y.scss +203 -0
  28. package/addons/dialog/multi-page-dialog.component.scss +102 -0
  29. package/addons/dialog/toggle-component/toggle.component.scss +15 -0
  30. package/addons/drag-and-drop/README.md +48 -0
  31. package/addons/menu/menu.component.scss +120 -0
  32. package/addons/property-view/components/property-view-category.component.scss +38 -0
  33. package/addons/property-view/components/property-view-message.component.scss +48 -0
  34. package/addons/property-view/components/property-view-property.component.scss +122 -0
  35. package/addons/property-view/components/property-view-section.component.scss +59 -0
  36. package/addons/property-view/components/property-view.component.scss +23 -0
  37. package/addons/stepper/stepper.component.scss +53 -0
  38. package/addons/tabs/tab-links/tab-links.component.scss +61 -0
  39. package/addons/tabs/tabs.a11y.scss +26 -0
  40. package/addons/tabs/tabs.component.scss +95 -0
  41. package/addons/theme-builder/README.md +70 -0
  42. package/addons/theme-builder/theme-builder.component.scss +194 -0
  43. package/addons/translate/README.md +124 -0
  44. package/addons/var/debug/workflow-model-monitor.component.scss +50 -0
  45. package/addons/var/error/error.component.scss +38 -0
  46. package/addons/var/spinner/spinner.component.scss +33 -0
  47. package/addons/wizard/summary/summary.component.scss +22 -0
  48. package/addons/wizard/wizard.component.scss +251 -0
  49. package/button/_buttons.clarity.scss +388 -0
  50. package/button/_mixins.buttons.scss +241 -0
  51. package/button/_properties.buttons.scss +387 -0
  52. package/button/_properties.toggles.scss +35 -0
  53. package/button/_variables.buttons.scss +905 -0
  54. package/button/_variables.toggles.scss +41 -0
  55. package/button/button-group/_button-group.clarity.scss +202 -0
  56. package/collapsible-panel/_mixins.collapsible-panel.scss +189 -0
  57. package/collapsible-panel/_properties.collapsible-panel.scss +42 -0
  58. package/collapsible-panel/_variables.collapsible-panel.scss +40 -0
  59. package/data/_mixins.tables.scss +114 -0
  60. package/data/_properties.tables.scss +77 -0
  61. package/data/_tables.clarity.scss +120 -0
  62. package/data/_variables.tables.scss +42 -0
  63. package/data/datagrid/_datagrid.clarity.scss +1871 -0
  64. package/data/datagrid/_mixins.datagrid.scss +102 -0
  65. package/data/datagrid/_properties.datagrid.scss +98 -0
  66. package/data/datagrid/_variables.datagrid.scss +98 -0
  67. package/data/stack-view/_properties.stack-view.scss +50 -0
  68. package/data/stack-view/_stack-view.clarity.scss +267 -0
  69. package/data/stack-view/_variables.stack-view.scss +32 -0
  70. package/data/tree-view/_properties.tree-view.scss +41 -0
  71. package/data/tree-view/_tree-view.clarity.scss +281 -0
  72. package/data/tree-view/_variables.tree-view.scss +51 -0
  73. package/emphasis/alert/_alert.clarity.scss +467 -0
  74. package/emphasis/alert/_mixins.alert.scss +96 -0
  75. package/emphasis/alert/_properties.alert.scss +183 -0
  76. package/emphasis/alert/_variables.alert.scss +502 -0
  77. package/emphasis/badge/_badges.clarity.scss +61 -0
  78. package/emphasis/badge/_mixins.bades.scss +34 -0
  79. package/emphasis/badge/_properties.badges.scss +82 -0
  80. package/emphasis/badge/_variables.badges.scss +160 -0
  81. package/emphasis/label/_labels.clarity.scss +179 -0
  82. package/emphasis/label/_mixins.label.scss +77 -0
  83. package/emphasis/label/_properties.label.scss +105 -0
  84. package/emphasis/label/_variables.label.scss +181 -0
  85. package/fesm2022/hermes-ui-angular-accordion.mjs +355 -0
  86. package/fesm2022/hermes-ui-angular-accordion.mjs.map +1 -0
  87. package/fesm2022/hermes-ui-angular-addons-a11y.mjs +544 -0
  88. package/fesm2022/hermes-ui-angular-addons-a11y.mjs.map +1 -0
  89. package/fesm2022/hermes-ui-angular-addons-card-container.mjs +1082 -0
  90. package/fesm2022/hermes-ui-angular-addons-card-container.mjs.map +1 -0
  91. package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs +2520 -0
  92. package/fesm2022/hermes-ui-angular-addons-certificate-viewer.mjs.map +1 -0
  93. package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs +2818 -0
  94. package/fesm2022/hermes-ui-angular-addons-datagrid-filters.mjs.map +1 -0
  95. package/fesm2022/hermes-ui-angular-addons-datagrid.mjs +3131 -0
  96. package/fesm2022/hermes-ui-angular-addons-datagrid.mjs.map +1 -0
  97. package/fesm2022/hermes-ui-angular-addons-dialog.mjs +386 -0
  98. package/fesm2022/hermes-ui-angular-addons-dialog.mjs.map +1 -0
  99. package/fesm2022/hermes-ui-angular-addons-drag-and-drop.mjs +78 -0
  100. package/fesm2022/hermes-ui-angular-addons-drag-and-drop.mjs.map +1 -0
  101. package/fesm2022/hermes-ui-angular-addons-menu.mjs +559 -0
  102. package/fesm2022/hermes-ui-angular-addons-menu.mjs.map +1 -0
  103. package/fesm2022/hermes-ui-angular-addons-property-view.mjs +1142 -0
  104. package/fesm2022/hermes-ui-angular-addons-property-view.mjs.map +1 -0
  105. package/fesm2022/hermes-ui-angular-addons-stepper.mjs +716 -0
  106. package/fesm2022/hermes-ui-angular-addons-stepper.mjs.map +1 -0
  107. package/fesm2022/hermes-ui-angular-addons-tabs.mjs +539 -0
  108. package/fesm2022/hermes-ui-angular-addons-tabs.mjs.map +1 -0
  109. package/fesm2022/hermes-ui-angular-addons-testing.mjs +2010 -0
  110. package/fesm2022/hermes-ui-angular-addons-testing.mjs.map +1 -0
  111. package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs +922 -0
  112. package/fesm2022/hermes-ui-angular-addons-theme-builder.mjs.map +1 -0
  113. package/fesm2022/hermes-ui-angular-addons-translate.mjs +295 -0
  114. package/fesm2022/hermes-ui-angular-addons-translate.mjs.map +1 -0
  115. package/fesm2022/hermes-ui-angular-addons-var.mjs +2028 -0
  116. package/fesm2022/hermes-ui-angular-addons-var.mjs.map +1 -0
  117. package/fesm2022/hermes-ui-angular-addons-wizard.mjs +610 -0
  118. package/fesm2022/hermes-ui-angular-addons-wizard.mjs.map +1 -0
  119. package/fesm2022/hermes-ui-angular-addons-workflow-strings.mjs +121 -0
  120. package/fesm2022/hermes-ui-angular-addons-workflow-strings.mjs.map +1 -0
  121. package/fesm2022/hermes-ui-angular-addons-workflow.mjs +88 -0
  122. package/fesm2022/hermes-ui-angular-addons-workflow.mjs.map +1 -0
  123. package/fesm2022/hermes-ui-angular-button.mjs +719 -0
  124. package/fesm2022/hermes-ui-angular-button.mjs.map +1 -0
  125. package/fesm2022/hermes-ui-angular-collapsible-panel.mjs +201 -0
  126. package/fesm2022/hermes-ui-angular-collapsible-panel.mjs.map +1 -0
  127. package/fesm2022/hermes-ui-angular-data-datagrid.mjs +8045 -0
  128. package/fesm2022/hermes-ui-angular-data-datagrid.mjs.map +1 -0
  129. package/fesm2022/hermes-ui-angular-data-stack-view.mjs +442 -0
  130. package/fesm2022/hermes-ui-angular-data-stack-view.mjs.map +1 -0
  131. package/fesm2022/hermes-ui-angular-data-tree-view.mjs +1106 -0
  132. package/fesm2022/hermes-ui-angular-data-tree-view.mjs.map +1 -0
  133. package/fesm2022/hermes-ui-angular-data.mjs +40 -0
  134. package/fesm2022/hermes-ui-angular-data.mjs.map +1 -0
  135. package/fesm2022/hermes-ui-angular-emphasis-alert.mjs +624 -0
  136. package/fesm2022/hermes-ui-angular-emphasis-alert.mjs.map +1 -0
  137. package/fesm2022/hermes-ui-angular-emphasis-badge.mjs +69 -0
  138. package/fesm2022/hermes-ui-angular-emphasis-badge.mjs.map +1 -0
  139. package/fesm2022/hermes-ui-angular-emphasis-common.mjs +25 -0
  140. package/fesm2022/hermes-ui-angular-emphasis-common.mjs.map +1 -0
  141. package/fesm2022/hermes-ui-angular-emphasis-label.mjs +105 -0
  142. package/fesm2022/hermes-ui-angular-emphasis-label.mjs.map +1 -0
  143. package/fesm2022/hermes-ui-angular-emphasis.mjs +41 -0
  144. package/fesm2022/hermes-ui-angular-emphasis.mjs.map +1 -0
  145. package/fesm2022/hermes-ui-angular-forms-checkbox.mjs +279 -0
  146. package/fesm2022/hermes-ui-angular-forms-checkbox.mjs.map +1 -0
  147. package/fesm2022/hermes-ui-angular-forms-combobox.mjs +1775 -0
  148. package/fesm2022/hermes-ui-angular-forms-combobox.mjs.map +1 -0
  149. package/fesm2022/hermes-ui-angular-forms-common.mjs +1251 -0
  150. package/fesm2022/hermes-ui-angular-forms-common.mjs.map +1 -0
  151. package/fesm2022/hermes-ui-angular-forms-datalist.mjs +263 -0
  152. package/fesm2022/hermes-ui-angular-forms-datalist.mjs.map +1 -0
  153. package/fesm2022/hermes-ui-angular-forms-datepicker.mjs +3274 -0
  154. package/fesm2022/hermes-ui-angular-forms-datepicker.mjs.map +1 -0
  155. package/fesm2022/hermes-ui-angular-forms-file-input.mjs +826 -0
  156. package/fesm2022/hermes-ui-angular-forms-file-input.mjs.map +1 -0
  157. package/fesm2022/hermes-ui-angular-forms-input.mjs +153 -0
  158. package/fesm2022/hermes-ui-angular-forms-input.mjs.map +1 -0
  159. package/fesm2022/hermes-ui-angular-forms-native-select.mjs +153 -0
  160. package/fesm2022/hermes-ui-angular-forms-native-select.mjs.map +1 -0
  161. package/fesm2022/hermes-ui-angular-forms-number-input.mjs +236 -0
  162. package/fesm2022/hermes-ui-angular-forms-number-input.mjs.map +1 -0
  163. package/fesm2022/hermes-ui-angular-forms-password.mjs +233 -0
  164. package/fesm2022/hermes-ui-angular-forms-password.mjs.map +1 -0
  165. package/fesm2022/hermes-ui-angular-forms-radio.mjs +224 -0
  166. package/fesm2022/hermes-ui-angular-forms-radio.mjs.map +1 -0
  167. package/fesm2022/hermes-ui-angular-forms-range.mjs +186 -0
  168. package/fesm2022/hermes-ui-angular-forms-range.mjs.map +1 -0
  169. package/fesm2022/hermes-ui-angular-forms-select.mjs +606 -0
  170. package/fesm2022/hermes-ui-angular-forms-select.mjs.map +1 -0
  171. package/fesm2022/hermes-ui-angular-forms-textarea.mjs +136 -0
  172. package/fesm2022/hermes-ui-angular-forms-textarea.mjs.map +1 -0
  173. package/fesm2022/hermes-ui-angular-forms.mjs +105 -0
  174. package/fesm2022/hermes-ui-angular-forms.mjs.map +1 -0
  175. package/fesm2022/hermes-ui-angular-icon.mjs +7413 -0
  176. package/fesm2022/hermes-ui-angular-icon.mjs.map +1 -0
  177. package/fesm2022/hermes-ui-angular-layout-breadcrumbs.mjs +120 -0
  178. package/fesm2022/hermes-ui-angular-layout-breadcrumbs.mjs.map +1 -0
  179. package/fesm2022/hermes-ui-angular-layout-main-container.mjs +100 -0
  180. package/fesm2022/hermes-ui-angular-layout-main-container.mjs.map +1 -0
  181. package/fesm2022/hermes-ui-angular-layout-nav.mjs +582 -0
  182. package/fesm2022/hermes-ui-angular-layout-nav.mjs.map +1 -0
  183. package/fesm2022/hermes-ui-angular-layout-tabs.mjs +807 -0
  184. package/fesm2022/hermes-ui-angular-layout-tabs.mjs.map +1 -0
  185. package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs +507 -0
  186. package/fesm2022/hermes-ui-angular-layout-vertical-nav.mjs.map +1 -0
  187. package/fesm2022/hermes-ui-angular-layout.mjs +44 -0
  188. package/fesm2022/hermes-ui-angular-layout.mjs.map +1 -0
  189. package/fesm2022/hermes-ui-angular-modal.mjs +619 -0
  190. package/fesm2022/hermes-ui-angular-modal.mjs.map +1 -0
  191. package/fesm2022/hermes-ui-angular-popover-common.mjs +1371 -0
  192. package/fesm2022/hermes-ui-angular-popover-common.mjs.map +1 -0
  193. package/fesm2022/hermes-ui-angular-popover-dropdown.mjs +492 -0
  194. package/fesm2022/hermes-ui-angular-popover-dropdown.mjs.map +1 -0
  195. package/fesm2022/hermes-ui-angular-popover-signpost.mjs +494 -0
  196. package/fesm2022/hermes-ui-angular-popover-signpost.mjs.map +1 -0
  197. package/fesm2022/hermes-ui-angular-popover-tooltip.mjs +293 -0
  198. package/fesm2022/hermes-ui-angular-popover-tooltip.mjs.map +1 -0
  199. package/fesm2022/hermes-ui-angular-popover.mjs +41 -0
  200. package/fesm2022/hermes-ui-angular-popover.mjs.map +1 -0
  201. package/fesm2022/hermes-ui-angular-progress-progress-bars.mjs +217 -0
  202. package/fesm2022/hermes-ui-angular-progress-progress-bars.mjs.map +1 -0
  203. package/fesm2022/hermes-ui-angular-progress-spinner.mjs +132 -0
  204. package/fesm2022/hermes-ui-angular-progress-spinner.mjs.map +1 -0
  205. package/fesm2022/hermes-ui-angular-stepper.mjs +694 -0
  206. package/fesm2022/hermes-ui-angular-stepper.mjs.map +1 -0
  207. package/fesm2022/hermes-ui-angular-timeline.mjs +316 -0
  208. package/fesm2022/hermes-ui-angular-timeline.mjs.map +1 -0
  209. package/fesm2022/hermes-ui-angular-toast.mjs +373 -0
  210. package/fesm2022/hermes-ui-angular-toast.mjs.map +1 -0
  211. package/fesm2022/hermes-ui-angular-utils-conditional.mjs +351 -0
  212. package/fesm2022/hermes-ui-angular-utils-conditional.mjs.map +1 -0
  213. package/fesm2022/hermes-ui-angular-utils-loading.mjs +107 -0
  214. package/fesm2022/hermes-ui-angular-utils-loading.mjs.map +1 -0
  215. package/fesm2022/hermes-ui-angular-utils.mjs +2086 -0
  216. package/fesm2022/hermes-ui-angular-utils.mjs.map +1 -0
  217. package/fesm2022/hermes-ui-angular-wizard.mjs +3074 -0
  218. package/fesm2022/hermes-ui-angular-wizard.mjs.map +1 -0
  219. package/fesm2022/hermes-ui-angular.mjs +130 -0
  220. package/fesm2022/hermes-ui-angular.mjs.map +1 -0
  221. package/forms/combobox/_combobox.clarity.scss +330 -0
  222. package/forms/combobox/_properties.combobox.scss +46 -0
  223. package/forms/combobox/_variables.combobox.scss +32 -0
  224. package/forms/datepicker/_datepicker.clarity.scss +259 -0
  225. package/forms/datepicker/_mixins.datepicker.scss +89 -0
  226. package/forms/datepicker/_properties.datepicker.scss +46 -0
  227. package/forms/datepicker/_variables.datepicker.scss +74 -0
  228. package/forms/styles/_checkbox.clarity.scss +193 -0
  229. package/forms/styles/_containers.clarity.scss +230 -0
  230. package/forms/styles/_datalist.clarity.scss +47 -0
  231. package/forms/styles/_file-input.clarity.scss +134 -0
  232. package/forms/styles/_file.clarity.scss +52 -0
  233. package/forms/styles/_form.clarity.scss +87 -0
  234. package/forms/styles/_input-group.clarity.scss +126 -0
  235. package/forms/styles/_input.clarity.scss +83 -0
  236. package/forms/styles/_mixins.forms.scss +193 -0
  237. package/forms/styles/_native-select.clarity.scss +178 -0
  238. package/forms/styles/_number-input.clarity.scss +58 -0
  239. package/forms/styles/_password.clarity.scss +26 -0
  240. package/forms/styles/_properties.forms.scss +180 -0
  241. package/forms/styles/_radio.clarity.scss +120 -0
  242. package/forms/styles/_range.clarity.scss +124 -0
  243. package/forms/styles/_select.clarity.scss +158 -0
  244. package/forms/styles/_textarea.clarity.scss +71 -0
  245. package/forms/styles/_toggles.clarity.scss +209 -0
  246. package/forms/styles/_variables.forms.scss +156 -0
  247. package/hermes-ui.scss +7 -0
  248. package/icon/icon.component.scss +247 -0
  249. package/image/_icons.clarity.scss +101 -0
  250. package/image/_images.clarity.scss +42 -0
  251. package/image/_mixins.images.scss +11 -0
  252. package/layout/_card.clarity.scss +318 -0
  253. package/layout/_login.clarity.scss +240 -0
  254. package/layout/_properties.card.scss +39 -0
  255. package/layout/_properties.login.scss +32 -0
  256. package/layout/_variables.card.scss +24 -0
  257. package/layout/_variables.login.scss +22 -0
  258. package/layout/breadcrumbs/_breadcrumbs.clarity.scss +60 -0
  259. package/layout/breadcrumbs/_properties.breadcrumbs.scss +18 -0
  260. package/layout/breadcrumbs/_variables.breadcrumbs.scss +11 -0
  261. package/layout/grid/_grid.scss +23 -0
  262. package/layout/grid/grid/_grid.scss +39 -0
  263. package/layout/grid/mixins/_breakpoint.scss +83 -0
  264. package/layout/grid/mixins/_clearfix.scss +13 -0
  265. package/layout/grid/mixins/_grid-framework.scss +91 -0
  266. package/layout/grid/mixins/_grid.scss +39 -0
  267. package/layout/grid/utilities/_align.scss +30 -0
  268. package/layout/grid/utilities/_clearfix.scss +12 -0
  269. package/layout/grid/utilities/_display.scss +18 -0
  270. package/layout/grid/utilities/_flex.scss +222 -0
  271. package/layout/grid/utilities/_float.scss +26 -0
  272. package/layout/grid/utilities/_visibility.scss +60 -0
  273. package/layout/main-container/_layout.clarity.scss +87 -0
  274. package/layout/main-container/_properties.header.scss +55 -0
  275. package/layout/main-container/_variables.header.scss +32 -0
  276. package/layout/nav/_header.clarity.scss +40 -0
  277. package/layout/nav/_links.clarity.scss +84 -0
  278. package/layout/nav/_mixins.header.scss +332 -0
  279. package/layout/nav/_mixins.responsive-nav.scss +75 -0
  280. package/layout/nav/_nav.clarity.scss +100 -0
  281. package/layout/nav/_properties.nav.scss +27 -0
  282. package/layout/nav/_properties.responsive-nav.scss +23 -0
  283. package/layout/nav/_properties.subnav.scss +19 -0
  284. package/layout/nav/_responsive-nav.clarity.scss +490 -0
  285. package/layout/nav/_subnav.clarity.scss +48 -0
  286. package/layout/nav/_variables.nav.scss +13 -0
  287. package/layout/nav/_variables.responsive-nav.scss +28 -0
  288. package/layout/nav/_variables.subnav.scss +21 -0
  289. package/layout/tabs/_mixins.tabs.scss +41 -0
  290. package/layout/tabs/_properties.tabs.scss +25 -0
  291. package/layout/tabs/_tabs.clarity.scss +110 -0
  292. package/layout/tabs/_variables.tabs.scss +17 -0
  293. package/layout/vertical-nav/_mixins.vertical-nav.scss +52 -0
  294. package/layout/vertical-nav/_properties.vertical-nav.scss +73 -0
  295. package/layout/vertical-nav/_variables.vertical-nav.scss +52 -0
  296. package/layout/vertical-nav/_vertical-nav.clarity.scss +469 -0
  297. package/main.scss +14 -0
  298. package/modal/_modal.clarity.scss +379 -0
  299. package/modal/_properties.modal.scss +57 -0
  300. package/modal/_variables.modal.scss +41 -0
  301. package/package.json +325 -0
  302. package/popover/common/README.md +112 -0
  303. package/popover/common/_popover.clarity.scss +28 -0
  304. package/popover/dropdown/_dropdown.clarity.scss +326 -0
  305. package/popover/dropdown/_menu-mixins.clarity.scss +132 -0
  306. package/popover/dropdown/_properties.dropdown.scss +50 -0
  307. package/popover/dropdown/_variables.dropdown.scss +36 -0
  308. package/popover/signpost/_properties.signpost.scss +34 -0
  309. package/popover/signpost/_signposts.clarity.scss +414 -0
  310. package/popover/signpost/_variables.signpost.scss +21 -0
  311. package/popover/tooltip/_mixins.tooltip.scss +186 -0
  312. package/popover/tooltip/_properties.tooltip.scss +28 -0
  313. package/popover/tooltip/_tooltips.clarity.scss +122 -0
  314. package/popover/tooltip/_variables.tooltip.scss +20 -0
  315. package/progress/progress-bars/_progress-bars.clarity.scss +616 -0
  316. package/progress/progress-bars/_properties.progress-bars.scss +24 -0
  317. package/progress/progress-bars/_variables.progress-bars.scss +15 -0
  318. package/progress/progress-bars/utils/_mixins.clarity.scss +18 -0
  319. package/progress/spinner/_mixins.spinner.scss +30 -0
  320. package/progress/spinner/_properties.spinner.scss +37 -0
  321. package/progress/spinner/_spinner.clarity.scss +148 -0
  322. package/progress/spinner/_variables.spinner.scss +25 -0
  323. package/schematics/collection.json +14 -0
  324. package/stepper/_properties.stepper.scss +29 -0
  325. package/stepper/_stepper.clarity.scss +184 -0
  326. package/stepper/_variables.stepper.scss +13 -0
  327. package/styles/_a11y.scss +14 -0
  328. package/styles/_close.clarity.scss +60 -0
  329. package/styles/_components.clarity.scss +189 -0
  330. package/styles/_mixins.scss +460 -0
  331. package/styles/_normalize.scss +292 -0
  332. package/styles/_reboot.clarity.scss +374 -0
  333. package/styles/_variables.clarity.scss +139 -0
  334. package/styles/core/base/base.element.scss +97 -0
  335. package/styles/core/global.scss +12 -0
  336. package/styles/core/layout/_alignments.scss +18 -0
  337. package/styles/core/layout/_container.scss +29 -0
  338. package/styles/core/layout/_display.scss +58 -0
  339. package/styles/core/layout/_optimize.scss +60 -0
  340. package/styles/core/layout/_shadow-dom.scss +47 -0
  341. package/styles/core/layout/_spacing.scss +31 -0
  342. package/styles/core/layout/_type-grid.scss +66 -0
  343. package/styles/core/layout/_type-horizontal.scss +33 -0
  344. package/styles/core/layout/_type-vertical.scss +26 -0
  345. package/styles/core/layout/mixins/_mixins.alignment.scss +35 -0
  346. package/styles/core/layout/mixins/_mixins.display.scss +23 -0
  347. package/styles/core/layout/mixins/_mixins.grid.scss +105 -0
  348. package/styles/core/layout/mixins/_mixins.scss +106 -0
  349. package/styles/core/layout/mixins/_mixins.shadow-dom.scss +106 -0
  350. package/styles/core/layout/mixins/_mixins.type-horizontal.scss +113 -0
  351. package/styles/core/layout/mixins/_mixins.type-vertical.scss +108 -0
  352. package/styles/core/module.layout.scss +22 -0
  353. package/styles/core/module.reset.scss +48 -0
  354. package/styles/core/module.typography.scss +9 -0
  355. package/styles/core/theme.dark.scss +298 -0
  356. package/styles/core/theme.high-contrast.scss +42 -0
  357. package/styles/core/theme.low-motion.scss +20 -0
  358. package/styles/core/tokens/_alias-interaction.scss +74 -0
  359. package/styles/core/tokens/_alias-object-background.scss +29 -0
  360. package/styles/core/tokens/_alias-object-border.scss +21 -0
  361. package/styles/core/tokens/_alias-object-container.scss +20 -0
  362. package/styles/core/tokens/_alias-object-opacity.scss +15 -0
  363. package/styles/core/tokens/_alias-object-shadow.scss +17 -0
  364. package/styles/core/tokens/_alias-primary.scss +21 -0
  365. package/styles/core/tokens/_alias-status.scss +40 -0
  366. package/styles/core/tokens/_alias-typography.scss +107 -0
  367. package/styles/core/tokens/_alias-utility.scss +42 -0
  368. package/styles/core/tokens/_alias-viz-colors.scss +170 -0
  369. package/styles/core/tokens/_global-animation.scss +32 -0
  370. package/styles/core/tokens/_global-colors.scss +249 -0
  371. package/styles/core/tokens/_global-space.scss +52 -0
  372. package/styles/core/tokens/_internal-scale.scss +14 -0
  373. package/styles/core/tokens/_properties.tokens.scss +22 -0
  374. package/styles/core/tokens/_variables.tokens.scss +787 -0
  375. package/styles/core/typography/_legacy-typography.scss +328 -0
  376. package/styles/core/typography/_mixins.typography.scss +18 -0
  377. package/styles/core/typography/_typography.scss +328 -0
  378. package/styles/variables/_properties.density.scss +225 -0
  379. package/styles/variables/_properties.global.scss +51 -0
  380. package/styles/variables/_properties.layout.scss +21 -0
  381. package/styles/variables/_properties.scss +11 -0
  382. package/styles/variables/_properties.typography.scss +164 -0
  383. package/styles/variables/_variables.density.scss +116 -0
  384. package/styles/variables/_variables.global.scss +87 -0
  385. package/styles/variables/_variables.layout.scss +37 -0
  386. package/styles/variables/_variables.scss +11 -0
  387. package/styles/variables/_variables.typography.scss +156 -0
  388. package/timeline/_properties.timeline.scss +38 -0
  389. package/timeline/_timeline.clarity.scss +172 -0
  390. package/timeline/_variables.timeline.scss +29 -0
  391. package/toast/README.md +65 -0
  392. package/toast/_properties.toast.scss +56 -0
  393. package/toast/_toast.clarity.scss +190 -0
  394. package/toast/_variables.toast.scss +33 -0
  395. package/types/hermes-ui-angular-accordion.d.ts +101 -0
  396. package/types/hermes-ui-angular-accordion.d.ts.map +1 -0
  397. package/types/hermes-ui-angular-addons-a11y.d.ts +187 -0
  398. package/types/hermes-ui-angular-addons-a11y.d.ts.map +1 -0
  399. package/types/hermes-ui-angular-addons-card-container.d.ts +482 -0
  400. package/types/hermes-ui-angular-addons-card-container.d.ts.map +1 -0
  401. package/types/hermes-ui-angular-addons-certificate-viewer.d.ts +404 -0
  402. package/types/hermes-ui-angular-addons-certificate-viewer.d.ts.map +1 -0
  403. package/types/hermes-ui-angular-addons-datagrid-filters.d.ts +911 -0
  404. package/types/hermes-ui-angular-addons-datagrid-filters.d.ts.map +1 -0
  405. package/types/hermes-ui-angular-addons-datagrid.d.ts +1529 -0
  406. package/types/hermes-ui-angular-addons-datagrid.d.ts.map +1 -0
  407. package/types/hermes-ui-angular-addons-dialog.d.ts +233 -0
  408. package/types/hermes-ui-angular-addons-dialog.d.ts.map +1 -0
  409. package/types/hermes-ui-angular-addons-drag-and-drop.d.ts +35 -0
  410. package/types/hermes-ui-angular-addons-drag-and-drop.d.ts.map +1 -0
  411. package/types/hermes-ui-angular-addons-menu.d.ts +197 -0
  412. package/types/hermes-ui-angular-addons-menu.d.ts.map +1 -0
  413. package/types/hermes-ui-angular-addons-property-view.d.ts +387 -0
  414. package/types/hermes-ui-angular-addons-property-view.d.ts.map +1 -0
  415. package/types/hermes-ui-angular-addons-stepper.d.ts +298 -0
  416. package/types/hermes-ui-angular-addons-stepper.d.ts.map +1 -0
  417. package/types/hermes-ui-angular-addons-tabs.d.ts +173 -0
  418. package/types/hermes-ui-angular-addons-tabs.d.ts.map +1 -0
  419. package/types/hermes-ui-angular-addons-testing.d.ts +592 -0
  420. package/types/hermes-ui-angular-addons-testing.d.ts.map +1 -0
  421. package/types/hermes-ui-angular-addons-theme-builder.d.ts +200 -0
  422. package/types/hermes-ui-angular-addons-theme-builder.d.ts.map +1 -0
  423. package/types/hermes-ui-angular-addons-translate.d.ts +149 -0
  424. package/types/hermes-ui-angular-addons-translate.d.ts.map +1 -0
  425. package/types/hermes-ui-angular-addons-var.d.ts +923 -0
  426. package/types/hermes-ui-angular-addons-var.d.ts.map +1 -0
  427. package/types/hermes-ui-angular-addons-wizard.d.ts +241 -0
  428. package/types/hermes-ui-angular-addons-wizard.d.ts.map +1 -0
  429. package/types/hermes-ui-angular-addons-workflow-strings.d.ts +124 -0
  430. package/types/hermes-ui-angular-addons-workflow-strings.d.ts.map +1 -0
  431. package/types/hermes-ui-angular-addons-workflow.d.ts +15 -0
  432. package/types/hermes-ui-angular-addons-workflow.d.ts.map +1 -0
  433. package/types/hermes-ui-angular-button.d.ts +170 -0
  434. package/types/hermes-ui-angular-button.d.ts.map +1 -0
  435. package/types/hermes-ui-angular-collapsible-panel.d.ts +74 -0
  436. package/types/hermes-ui-angular-collapsible-panel.d.ts.map +1 -0
  437. package/types/hermes-ui-angular-data-datagrid.d.ts +1938 -0
  438. package/types/hermes-ui-angular-data-datagrid.d.ts.map +1 -0
  439. package/types/hermes-ui-angular-data-stack-view.d.ts +88 -0
  440. package/types/hermes-ui-angular-data-stack-view.d.ts.map +1 -0
  441. package/types/hermes-ui-angular-data-tree-view.d.ts +230 -0
  442. package/types/hermes-ui-angular-data-tree-view.d.ts.map +1 -0
  443. package/types/hermes-ui-angular-data.d.ts +16 -0
  444. package/types/hermes-ui-angular-data.d.ts.map +1 -0
  445. package/types/hermes-ui-angular-emphasis-alert.d.ts +176 -0
  446. package/types/hermes-ui-angular-emphasis-alert.d.ts.map +1 -0
  447. package/types/hermes-ui-angular-emphasis-badge.d.ts +26 -0
  448. package/types/hermes-ui-angular-emphasis-badge.d.ts.map +1 -0
  449. package/types/hermes-ui-angular-emphasis-common.d.ts +7 -0
  450. package/types/hermes-ui-angular-emphasis-common.d.ts.map +1 -0
  451. package/types/hermes-ui-angular-emphasis-label.d.ts +30 -0
  452. package/types/hermes-ui-angular-emphasis-label.d.ts.map +1 -0
  453. package/types/hermes-ui-angular-emphasis.d.ts +16 -0
  454. package/types/hermes-ui-angular-emphasis.d.ts.map +1 -0
  455. package/types/hermes-ui-angular-forms-checkbox.d.ts +73 -0
  456. package/types/hermes-ui-angular-forms-checkbox.d.ts.map +1 -0
  457. package/types/hermes-ui-angular-forms-combobox.d.ts +354 -0
  458. package/types/hermes-ui-angular-forms-combobox.d.ts.map +1 -0
  459. package/types/hermes-ui-angular-forms-common.d.ts +340 -0
  460. package/types/hermes-ui-angular-forms-common.d.ts.map +1 -0
  461. package/types/hermes-ui-angular-forms-datalist.d.ts +60 -0
  462. package/types/hermes-ui-angular-forms-datalist.d.ts.map +1 -0
  463. package/types/hermes-ui-angular-forms-datepicker.d.ts +987 -0
  464. package/types/hermes-ui-angular-forms-datepicker.d.ts.map +1 -0
  465. package/types/hermes-ui-angular-forms-file-input.d.ts +194 -0
  466. package/types/hermes-ui-angular-forms-file-input.d.ts.map +1 -0
  467. package/types/hermes-ui-angular-forms-input.d.ts +30 -0
  468. package/types/hermes-ui-angular-forms-input.d.ts.map +1 -0
  469. package/types/hermes-ui-angular-forms-native-select.d.ts +37 -0
  470. package/types/hermes-ui-angular-forms-native-select.d.ts.map +1 -0
  471. package/types/hermes-ui-angular-forms-number-input.d.ts +44 -0
  472. package/types/hermes-ui-angular-forms-number-input.d.ts.map +1 -0
  473. package/types/hermes-ui-angular-forms-password.d.ts +53 -0
  474. package/types/hermes-ui-angular-forms-password.d.ts.map +1 -0
  475. package/types/hermes-ui-angular-forms-radio.d.ts +50 -0
  476. package/types/hermes-ui-angular-forms-radio.d.ts.map +1 -0
  477. package/types/hermes-ui-angular-forms-range.d.ts +38 -0
  478. package/types/hermes-ui-angular-forms-range.d.ts.map +1 -0
  479. package/types/hermes-ui-angular-forms-select.d.ts +211 -0
  480. package/types/hermes-ui-angular-forms-select.d.ts.map +1 -0
  481. package/types/hermes-ui-angular-forms-textarea.d.ts +30 -0
  482. package/types/hermes-ui-angular-forms-textarea.d.ts.map +1 -0
  483. package/types/hermes-ui-angular-forms.d.ts +39 -0
  484. package/types/hermes-ui-angular-forms.d.ts.map +1 -0
  485. package/types/hermes-ui-angular-icon.d.ts +1504 -0
  486. package/types/hermes-ui-angular-icon.d.ts.map +1 -0
  487. package/types/hermes-ui-angular-layout-breadcrumbs.d.ts +46 -0
  488. package/types/hermes-ui-angular-layout-breadcrumbs.d.ts.map +1 -0
  489. package/types/hermes-ui-angular-layout-main-container.d.ts +29 -0
  490. package/types/hermes-ui-angular-layout-main-container.d.ts.map +1 -0
  491. package/types/hermes-ui-angular-layout-nav.d.ts +143 -0
  492. package/types/hermes-ui-angular-layout-nav.d.ts.map +1 -0
  493. package/types/hermes-ui-angular-layout-tabs.d.ts +159 -0
  494. package/types/hermes-ui-angular-layout-tabs.d.ts.map +1 -0
  495. package/types/hermes-ui-angular-layout-vertical-nav.d.ts +129 -0
  496. package/types/hermes-ui-angular-layout-vertical-nav.d.ts.map +1 -0
  497. package/types/hermes-ui-angular-layout.d.ts +20 -0
  498. package/types/hermes-ui-angular-layout.d.ts.map +1 -0
  499. package/types/hermes-ui-angular-modal.d.ts +161 -0
  500. package/types/hermes-ui-angular-modal.d.ts.map +1 -0
  501. package/types/hermes-ui-angular-popover-common.d.ts +317 -0
  502. package/types/hermes-ui-angular-popover-common.d.ts.map +1 -0
  503. package/types/hermes-ui-angular-popover-dropdown.d.ts +124 -0
  504. package/types/hermes-ui-angular-popover-dropdown.d.ts.map +1 -0
  505. package/types/hermes-ui-angular-popover-signpost.d.ts +158 -0
  506. package/types/hermes-ui-angular-popover-signpost.d.ts.map +1 -0
  507. package/types/hermes-ui-angular-popover-tooltip.d.ts +84 -0
  508. package/types/hermes-ui-angular-popover-tooltip.d.ts.map +1 -0
  509. package/types/hermes-ui-angular-popover.d.ts +17 -0
  510. package/types/hermes-ui-angular-popover.d.ts.map +1 -0
  511. package/types/hermes-ui-angular-progress-progress-bars.d.ts +58 -0
  512. package/types/hermes-ui-angular-progress-progress-bars.d.ts.map +1 -0
  513. package/types/hermes-ui-angular-progress-spinner.d.ts +45 -0
  514. package/types/hermes-ui-angular-progress-spinner.d.ts.map +1 -0
  515. package/types/hermes-ui-angular-stepper.d.ts +180 -0
  516. package/types/hermes-ui-angular-stepper.d.ts.map +1 -0
  517. package/types/hermes-ui-angular-timeline.d.ts +87 -0
  518. package/types/hermes-ui-angular-timeline.d.ts.map +1 -0
  519. package/types/hermes-ui-angular-toast.d.ts +131 -0
  520. package/types/hermes-ui-angular-toast.d.ts.map +1 -0
  521. package/types/hermes-ui-angular-utils-conditional.d.ts +133 -0
  522. package/types/hermes-ui-angular-utils-conditional.d.ts.map +1 -0
  523. package/types/hermes-ui-angular-utils-loading.d.ts +39 -0
  524. package/types/hermes-ui-angular-utils-loading.d.ts.map +1 -0
  525. package/types/hermes-ui-angular-utils.d.ts +914 -0
  526. package/types/hermes-ui-angular-utils.d.ts.map +1 -0
  527. package/types/hermes-ui-angular-wizard.d.ts +1509 -0
  528. package/types/hermes-ui-angular-wizard.d.ts.map +1 -0
  529. package/types/hermes-ui-angular.d.ts +44 -0
  530. package/types/hermes-ui-angular.d.ts.map +1 -0
  531. package/typography/_code.scss +36 -0
  532. package/typography/_font-metropolis.scss +45 -0
  533. package/typography/_lists.scss +81 -0
  534. package/typography/_typography.scss +322 -0
  535. package/utils/animations/_animations.clarity.scss +44 -0
  536. package/utils/animations/_mixins.animations.scss +33 -0
  537. package/wizard/_properties.wizard.scss +54 -0
  538. package/wizard/_variables.wizard.scss +59 -0
  539. package/wizard/_wizard.clarity.scss +692 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermes-ui-angular-accordion.mjs","sources":["../../../accordion/accordion-description.ts","../../../accordion/accordion-panel.ts","../../../accordion/accordion-panel.html","../../../accordion/enums/accordion-strategy.enum.ts","../../../accordion/models/accordion.model.ts","../../../accordion/providers/accordion.service.ts","../../../accordion/accordion.ts","../../../accordion/accordion-title.ts","../../../accordion/accordion-content.ts","../../../accordion/chocolate/accordion-willy-wonka.ts","../../../accordion/chocolate/accordion-oompa-loompa.ts","../../../accordion/accordion.module.ts","../../../accordion/index.ts","../../../accordion/hermes-ui-angular-accordion.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'hermes-accordion-description',\r\n template: `<ng-content></ng-content>`,\r\n host: { '[class.hermes-accordion-description]': 'true' },\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false,\r\n})\r\nexport class HermesAccordionDescription {}\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 {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n Output,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport {\n CollapsiblePanel,\n collapsiblePanelExpandAnimation,\n CollapsiblePanelModel,\n} from '@hermes-ui/angular/collapsible-panel';\nimport { HeadingLevel, IfExpandService } from '@hermes-ui/angular/utils';\n\nimport { HermesAccordionDescription } from './accordion-description';\n\n@Component({\n selector: 'hermes-accordion-panel',\n templateUrl: './accordion-panel.html',\n host: { '[class.hermes-accordion-panel]': 'true' },\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: collapsiblePanelExpandAnimation,\n providers: [IfExpandService],\n standalone: false,\n})\nexport class HermesAccordionPanel extends CollapsiblePanel implements OnChanges {\n @Input('hermesAccordionPanelDisabled') @HostBinding('class.hermes-accordion-panel-disabled') disabled = false;\n @Input('hermesAccordionPanelOpen') override panelOpen = false;\n @Output('hermesAccordionPanelOpenChange') override panelOpenChange = new EventEmitter<boolean>();\n\n /**\n * Level of the accordion heading from 1 to 6.\n */\n @Input('hermesAccordionPanelHeadingLevel') explicitHeadingLevel: HeadingLevel;\n\n @ContentChildren(HermesAccordionDescription) accordionDescription: QueryList<HermesAccordionDescription>;\n\n ngOnChanges(changes: SimpleChanges) {\n this.handlePanelInputChanges(changes);\n }\n\n getPanelStateClasses(panel: CollapsiblePanelModel) {\n return panel.open ? 'hermes-accordion-panel-open' : 'hermes-accordion-panel-closed';\n }\n\n getContentId(id: string) {\n return `hermes-accordion-content-${id}`;\n }\n\n getHeaderId(id: string) {\n return `hermes-accordion-header-${id}`;\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@if (panel | async; as panel) {\r\n<div [ngClass]=\"getPanelStateClasses(panel)\">\r\n <div\r\n class=\"hermes-accordion-header\"\r\n [attr.role]=\"explicitHeadingLevel ? 'heading' : null\"\r\n [attr.aria-level]=\"explicitHeadingLevel ? explicitHeadingLevel : null\"\r\n >\r\n <button\r\n type=\"button\"\r\n class=\"hermes-accordion-header-button\"\r\n (click)=\"togglePanel()\"\r\n [id]=\"getHeaderId(panel.templateId)\"\r\n [disabled]=\"panel.disabled\"\r\n [attr.aria-controls]=\"!panel.disabled && panel.open ? getContentId(panel.templateId) : null\"\r\n [attr.aria-expanded]=\"panel.open\"\r\n [class.hermes-accordion-header-has-description]=\"(accordionDescription.changes | async)?.length || accordionDescription.length\"\r\n #headerButton\r\n >\r\n <span class=\"hermes-accordion-status\">\r\n <hermes-icon shape=\"angle\" direction=\"right\" class=\"hermes-accordion-angle\"></hermes-icon>\r\n </span>\r\n <ng-content select=\"hermes-accordion-title\"></ng-content>\r\n <ng-content select=\"hermes-accordion-description\"></ng-content>\r\n </button>\r\n </div>\r\n <div\r\n @skipInitialRender\r\n role=\"region\"\r\n class=\"hermes-accordion-content-region\"\r\n [id]=\"getContentId(panel.templateId)\"\r\n [attr.aria-hidden]=\"!panel.open\"\r\n [attr.aria-labelledby]=\"getHeaderId(panel.templateId)\"\r\n >\r\n @if (panel.open) {\r\n <div @toggle (@toggle.done)=\"collapsePanelOnAnimationDone(panel)\" class=\"hermes-accordion-content\">\r\n <div class=\"hermes-accordion-inner-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\n/**\r\n * Controls how many panels can be open simultaneously within an accordion.\r\n */\r\nexport enum AccordionStrategy {\r\n /** Only one panel can be open at a time. Opening a panel closes any previously open panel. */\r\n Single = 'single',\r\n /** Multiple panels can be open simultaneously. */\r\n Multi = 'multi',\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 { CollapsiblePanelGroupModel } from '@hermes-ui/angular/collapsible-panel';\n\nimport { AccordionStrategy } from '../enums/accordion-strategy.enum';\n\nexport class AccordionModel extends CollapsiblePanelGroupModel {\n private strategy = AccordionStrategy.Single;\n\n setStrategy(strategy: AccordionStrategy) {\n this.strategy = strategy;\n }\n\n override togglePanel(panelId: string, open?: boolean) {\n if (!this._panels[panelId]) {\n return;\n }\n\n const panelIsOpen = this._panels[panelId].open;\n const newOpenState = open !== undefined ? open : !panelIsOpen;\n if (newOpenState && this.strategy === AccordionStrategy.Single) {\n this.closeAllPanels();\n }\n\n this._panels[panelId].open = newOpenState;\n }\n\n private closeAllPanels() {\n this.panels.forEach(panel => (this._panels[panel.id].open = false));\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 { Injectable } from '@angular/core';\nimport { CollapsiblePanelService } from '@hermes-ui/angular/collapsible-panel';\n\nimport { AccordionStrategy } from '../enums/accordion-strategy.enum';\nimport { AccordionModel } from '../models/accordion.model';\n\n@Injectable()\nexport class AccordionService extends CollapsiblePanelService {\n protected override panelGroup = new AccordionModel();\n\n setStrategy(strategy: AccordionStrategy) {\n this.panelGroup.setStrategy(strategy);\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 {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { CollapsiblePanelService } from '@hermes-ui/angular/collapsible-panel';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\n\nimport { HermesAccordionPanel } from './accordion-panel';\nimport { AccordionStrategy } from './enums/accordion-strategy.enum';\nimport { AccordionService } from './providers/accordion.service';\n\n@Component({\n selector: 'hermes-accordion',\n template: `<ng-content></ng-content>`,\n host: { '[class.hermes-accordion]': 'true' },\n providers: [AccordionService, { provide: CollapsiblePanelService, useExisting: AccordionService }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class HermesAccordion implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n @Input('hermesAccordionMultiPanel') multiPanel: boolean | string = false;\n @ContentChildren(HermesAccordionPanel) panels: QueryList<HermesAccordionPanel>;\n private subscriptions: Subscription[] = [];\n\n constructor(private accordionService: AccordionService) {}\n\n ngOnInit() {\n this.setAccordionStrategy();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (\n changes.multiPanel &&\n !changes.multiPanel.firstChange &&\n changes.multiPanel.currentValue !== changes.multiPanel.previousValue\n ) {\n this.setAccordionStrategy();\n }\n }\n\n ngAfterViewInit() {\n this.subscriptions.push(this.listenForDOMChanges());\n }\n\n ngOnDestroy() {\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n private setAccordionStrategy() {\n const strategy = this.multiPanel ? AccordionStrategy.Multi : AccordionStrategy.Single;\n this.accordionService.setStrategy(strategy);\n }\n\n private listenForDOMChanges() {\n return this.panels.changes\n .pipe(startWith(this.panels))\n .subscribe((panels: QueryList<HermesAccordionPanel>) =>\n this.accordionService.updatePanelOrder(panels.toArray().map(p => p.id))\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 { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'hermes-accordion-title',\r\n template: `<ng-content></ng-content>`,\r\n host: { '[class.hermes-accordion-title]': 'true' },\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false,\r\n})\r\nexport class HermesAccordionTitle {}\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 { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'hermes-accordion-content',\r\n template: `<ng-content></ng-content>`,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: false,\r\n})\r\nexport class HermesAccordionContent {}\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 { Directive } from '@angular/core';\nimport { WillyWonka } from '@hermes-ui/angular/utils';\n\n@Directive({\n selector: 'hermes-accordion',\n standalone: false,\n})\nexport class AccordionWillyWonka extends WillyWonka {}\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { ChangeDetectorRef, Directive, Optional } from '@angular/core';\nimport { IfExpandService, OompaLoompa } from '@hermes-ui/angular/utils';\n\nimport { AccordionWillyWonka } from './accordion-willy-wonka';\n\n@Directive({\n selector: 'hermes-accordion-panel',\n standalone: false,\n})\nexport class AccordionOompaLoompa extends OompaLoompa {\n private expand: IfExpandService;\n\n constructor(cdr: ChangeDetectorRef, @Optional() willyWonka: AccordionWillyWonka, ifExpandService: IfExpandService) {\n if (!willyWonka) {\n throw new Error('hermes-accordion-panel should only be used inside of hermes-accordion');\n }\n super(cdr, willyWonka);\n this.expand = ifExpandService;\n }\n\n get flavor() {\n return this.expand.expanded;\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 { angleIcon, ClarityIcons, HermesIcon } from '@hermes-ui/angular/icon';\n\nimport { HermesAccordion } from './accordion';\nimport { HermesAccordionContent } from './accordion-content';\nimport { HermesAccordionDescription } from './accordion-description';\nimport { HermesAccordionPanel } from './accordion-panel';\nimport { HermesAccordionTitle } from './accordion-title';\nimport { AccordionOompaLoompa } from './chocolate/accordion-oompa-loompa';\nimport { AccordionWillyWonka } from './chocolate/accordion-willy-wonka';\n\nconst declarations = [\n HermesAccordion,\n HermesAccordionPanel,\n HermesAccordionTitle,\n HermesAccordionDescription,\n HermesAccordionContent,\n AccordionOompaLoompa,\n AccordionWillyWonka,\n];\n\n@NgModule({\n imports: [CommonModule, HermesIcon],\n declarations: [...declarations],\n exports: [...declarations],\n})\nexport class HermesAccordionModule {\n constructor() {\n ClarityIcons.addIcons(angleIcon);\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 './accordion';\r\nexport * from './accordion-panel';\r\nexport * from './accordion-title';\r\nexport * from './accordion-content';\r\nexport * from './accordion-description';\r\nexport * from './accordion.module';\r\nexport * from './enums/accordion-strategy.enum';\r\nexport * from './models/accordion.model';\r\nexport * from './providers/accordion.service';\r\nexport * from './chocolate/accordion-willy-wonka';\r\nexport * from './chocolate/accordion-oompa-loompa';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.AccordionService","i1.AccordionWillyWonka","i2"],"mappings":"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"}
@@ -0,0 +1,544 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Input, Directive, Injectable, Component, Inject, HostBinding, Optional, NgModule } from '@angular/core';
3
+ import * as i1$2 from '@hermes-ui/angular/addons/translate';
4
+ import { AppfxTranslateService, appfxTranslationsToken, AppfxTranslateModule } from '@hermes-ui/angular/addons/translate';
5
+ import * as i1 from '@hermes-ui/angular/stepper';
6
+ import * as i2 from '@hermes-ui/angular/utils';
7
+ import { Observable, Subscription, merge, of, ReplaySubject } from 'rxjs';
8
+ import { delay, debounceTime } from 'rxjs/operators';
9
+ import * as i1$1 from '@hermes-ui/angular/layout/tabs';
10
+ import { DOCUMENT } from '@angular/common';
11
+
12
+ /*
13
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
14
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
15
+ * This software is released under MIT license.
16
+ * The full license information can be found in LICENSE in the root directory of this project.
17
+ */
18
+ /**
19
+ * Accessibility mode keys
20
+ */
21
+ const a11ykeys = {
22
+ enter: 'Enter',
23
+ arrowLeft: 'ArrowLeft',
24
+ arrowRight: 'ArrowRight',
25
+ };
26
+
27
+ /*
28
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
29
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
30
+ * This software is released under MIT license.
31
+ * The full license information can be found in LICENSE in the root directory of this project.
32
+ */
33
+ /**
34
+ * This directive overrides strings used in HermesStepperPanel. It creates a copy of the strings, returned by
35
+ * HermesCommonStringsService and does not modify the original resources.
36
+ *
37
+ * This directive relies on the following Clarity internals:
38
+ * <code>
39
+ * export class HermesStepperPanel extends HermesAccordionPanel implements OnInit {
40
+ * public constructor(
41
+ * public commonStrings: HermesCommonStringsService,
42
+ * ...
43
+ * ) {}
44
+ * ...
45
+ * }
46
+ * </code>
47
+ *
48
+ * common-strings.default.ts:
49
+ * <code>
50
+ * // Accordion/Stepper
51
+ * stepComplete: 'Step {STEP} complete',
52
+ * stepError: 'Error in step {STEP}',
53
+ * </code>
54
+ *
55
+ * Usage:
56
+ * <code>
57
+ * <hermes-stepper-panel formGroupName="step0" [appfxOverrideHermesStrings]="stepPanelOverriddenStrings">
58
+ * ...
59
+ * </hermes-stepper-panel>
60
+ *
61
+ * const stepPanelOverriddenStrings: Partial<HermesCommonStrings> = {
62
+ * success: "The step is successfully completed",
63
+ * danger: "The step is in serious danger",
64
+ * };
65
+ * </code>
66
+ */
67
+ class OverrideHermesStringsDirective {
68
+ constructor(hermesPanel, hermesCommonStringsService) {
69
+ this.hermesPanel = hermesPanel;
70
+ this.hermesCommonStringsService = hermesCommonStringsService;
71
+ this.appfxOverrideHermesStrings = {};
72
+ }
73
+ ngOnInit() {
74
+ const copiedStrings = Object.assign({}, this.hermesCommonStringsService.keys);
75
+ // TODO syuleymanovg: Remove this workaround after upgrading to Clarity 18.
76
+ //
77
+ // Clarity versions 16.4.0 and 17.1.0 introduced new `stepComplete` and `stepError` strings
78
+ // to address accessibility (a11y) issues. Unfortunately, this change is a breaking change for AppFx.
79
+ // For more details, see the related pull request: https://github.com/vmware-clarity/ng-clarity/pull/1334
80
+ // If these strings are present, it indicates that the Clarity version is 16.4.0/17.1.0 or newer,
81
+ // and no further string overriding is necessary.
82
+ if (copiedStrings['stepComplete'] && copiedStrings['stepError']) {
83
+ return;
84
+ }
85
+ const keys = Object.assign(copiedStrings, this.appfxOverrideHermesStrings);
86
+ this.hermesPanel.commonStrings = {
87
+ keys: keys,
88
+ };
89
+ }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: OverrideHermesStringsDirective, deps: [{ token: i1.HermesStepperPanel }, { token: i2.HermesCommonStringsService }], target: i0.ɵɵFactoryTarget.Directive }); }
91
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: OverrideHermesStringsDirective, isStandalone: false, selector: "hermes-stepper-panel [appfxOverrideHermesStrings]", inputs: { appfxOverrideHermesStrings: "appfxOverrideHermesStrings" }, ngImport: i0 }); }
92
+ }
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: OverrideHermesStringsDirective, decorators: [{
94
+ type: Directive,
95
+ args: [{
96
+ selector: 'hermes-stepper-panel [appfxOverrideHermesStrings]',
97
+ standalone: false,
98
+ }]
99
+ }], ctorParameters: () => [{ type: i1.HermesStepperPanel }, { type: i2.HermesCommonStringsService }], propDecorators: { appfxOverrideHermesStrings: [{
100
+ type: Input
101
+ }] } });
102
+
103
+ /*
104
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
105
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
106
+ * This software is released under MIT license.
107
+ * The full license information can be found in LICENSE in the root directory of this project.
108
+ */
109
+ /**
110
+ * Abstracts the ResizeObserver to limit its API.
111
+ */
112
+ class ElementResizeService {
113
+ getResizeObservable(element) {
114
+ return new Observable(subscriber => {
115
+ const observer = new ResizeObserver(() => subscriber.next());
116
+ observer.observe(element);
117
+ return () => {
118
+ observer.unobserve(element);
119
+ };
120
+ });
121
+ }
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ElementResizeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
123
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ElementResizeService, providedIn: 'root' }); }
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ElementResizeService, decorators: [{
126
+ type: Injectable,
127
+ args: [{ providedIn: 'root' }]
128
+ }] });
129
+
130
+ /*
131
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
132
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
133
+ * This software is released under MIT license.
134
+ * The full license information can be found in LICENSE in the root directory of this project.
135
+ */
136
+ const resources = {
137
+ layoutChangesDebounceDuration: 10,
138
+ initialLoadDelay: 250,
139
+ hermesTabLinkClasses: ['btn-link', 'nav-link'],
140
+ appfxSecondaryTabButtonClass: 'appfx-tab-button',
141
+ };
142
+ /**
143
+ * Automatically include the tab links in overflow if there is not enough width.
144
+ *
145
+ * This directive relies on the following Clarity internals:
146
+ * 1. HermesTabLink:
147
+ * <code>
148
+ * @HostBinding('class.btn-link')
149
+ * @HostBinding('class.nav-link')
150
+ * get addLinkClasses() {...}
151
+ * </code>
152
+ *
153
+ * 2. HermesTabs:
154
+ * <code>
155
+ * @ContentChildren(HermesTab) private tabs: QueryList<HermesTab>;
156
+ *
157
+ * private _tabOverflowEl: HTMLElement;
158
+ * </code>
159
+ */
160
+ class OverflowHermesTabsDirective {
161
+ constructor(cdr, element, renderer, hermesTabsComponent, elementResizeService) {
162
+ this.cdr = cdr;
163
+ this.element = element;
164
+ this.renderer = renderer;
165
+ this.hermesTabsComponent = hermesTabsComponent;
166
+ this.elementResizeService = elementResizeService;
167
+ this.subscription = new Subscription();
168
+ }
169
+ ngAfterViewInit() {
170
+ this.setup();
171
+ }
172
+ ngOnDestroy() {
173
+ this.subscription.unsubscribe();
174
+ }
175
+ setup() {
176
+ this.patchOverflowContent();
177
+ const tabs = this.hermesTabsComponent['tabs'];
178
+ this.parentElement = this.renderer.parentNode(this.element.nativeElement);
179
+ this.subscription.add(merge(tabs.changes, of(undefined).pipe(delay(resources.initialLoadDelay)), this.elementResizeService.getResizeObservable(this.parentElement))
180
+ .pipe(debounceTime(resources.layoutChangesDebounceDuration))
181
+ .subscribe(() => this.updateOverflowMenu(this.parentElement)));
182
+ }
183
+ /**
184
+ * When the More button (...) is clicked, HermesTabOverflowContent is displayed.
185
+ * It is a dropdown with style 'bottom-right'. However when there is just one tab,
186
+ * the overflow component overflows to the left of the viewport and is not visible.
187
+ * This method overrides private field in HermesTabs - _tabOverflowEl - that is set when
188
+ * the HermesTabOverflowContent is created. If all tabs are in overflow, then change the
189
+ * style of &lt;hermes-tab-overflow-content&gt; element so that it takes the entire width
190
+ * of the viewport.
191
+ */
192
+ patchOverflowContent() {
193
+ Object.defineProperty(this.hermesTabsComponent, '_tabOverflowEl', {
194
+ get: () => this.tabOverflowEl,
195
+ set: (el) => {
196
+ this.tabOverflowEl = el;
197
+ if (!this.tabOverflowEl) {
198
+ return;
199
+ }
200
+ const tabLinks = this.hermesTabsComponent.tabLinkDirectives;
201
+ const allTabsInOverflow = tabLinks.every((tabLink) => tabLink.inOverflow);
202
+ if (allTabsInOverflow) {
203
+ this.renderer.setStyle(this.tabOverflowEl, 'left', 0);
204
+ this.renderer.setStyle(this.tabOverflowEl, 'position', 'fixed');
205
+ this.renderer.setStyle(this.tabOverflowEl, 'top', 'auto');
206
+ }
207
+ },
208
+ });
209
+ }
210
+ /**
211
+ * Determine which tab links to be shelved into the overflow menu.
212
+ */
213
+ updateOverflowMenu(container) {
214
+ const tabLinks = this.hermesTabsComponent.tabLinkDirectives;
215
+ this.showAllTabs(tabLinks);
216
+ const hermesTabLinkMargin = this.calculateTabLinkMargin(tabLinks);
217
+ this.updateTabsInOverflow(tabLinks, hermesTabLinkMargin, container);
218
+ }
219
+ showAllTabs(tabLinks) {
220
+ let overflowStateChanged = false;
221
+ // Move all tabs out of overflow, then update the underlying view to sync the shifted tabs.
222
+ tabLinks.forEach((tabLink) => {
223
+ if (tabLink.inOverflow) {
224
+ overflowStateChanged = true;
225
+ tabLink.inOverflow = false;
226
+ // Hidden tabs are displayed, but their style is like regular button. They are
227
+ // wider and this affect the overflow calculation. Temporary add link classes
228
+ // for more precise width calculation.
229
+ this.addTabLinkClasses(tabLink);
230
+ }
231
+ });
232
+ // Trigger change detection only if the overflow of tabs was changed.
233
+ if (overflowStateChanged) {
234
+ this.cdr.detectChanges();
235
+ }
236
+ }
237
+ calculateTabLinkMargin(tabLinks) {
238
+ if (tabLinks.length < 2) {
239
+ return 0;
240
+ }
241
+ const firstLinkEl = tabLinks[0].el.nativeElement;
242
+ const secondLinkEl = tabLinks[1].el.nativeElement;
243
+ return secondLinkEl.getBoundingClientRect().left - firstLinkEl.getBoundingClientRect().right;
244
+ }
245
+ updateTabsInOverflow(tabLinks, hermesTabLinkMargin, container) {
246
+ let areNextTabLinksOverflowing = false;
247
+ tabLinks.forEach((tabLink) => {
248
+ if (!areNextTabLinksOverflowing) {
249
+ tabLink.inOverflow = areNextTabLinksOverflowing = this.isTabLinkOverflowing(container, hermesTabLinkMargin, tabLink);
250
+ }
251
+ else {
252
+ // presume and hide remaining tabs
253
+ tabLink.inOverflow = true;
254
+ }
255
+ // Manually restore the classes that HermesTabLink adds to its parent button.
256
+ // Change detection updates the visibility of the tabs, but does not
257
+ // update the @HostBinding properly.
258
+ if (tabLink.inOverflow) {
259
+ this.removeTabLinkClasses(tabLink);
260
+ }
261
+ else {
262
+ this.addTabLinkClasses(tabLink);
263
+ }
264
+ });
265
+ // as tabs may have shifted position in/out of menu, synchronize view
266
+ this.cdr.detectChanges();
267
+ }
268
+ isTabLinkOverflowing(container, hermesTabLinkMargin, tabLink) {
269
+ const containerBcr = container.getBoundingClientRect();
270
+ const hermesTabLinkEl = tabLink.el.nativeElement;
271
+ const hermesTabLinkElementBcr = hermesTabLinkEl.getBoundingClientRect();
272
+ // layout decision making process for showing or hiding a tab
273
+ // include natural margin around tab and guarantee some inset padding for the "..." against right edge
274
+ return hermesTabLinkElementBcr.right + hermesTabLinkMargin > containerBcr.right - hermesTabLinkMargin;
275
+ }
276
+ addTabLinkClasses(tabLink) {
277
+ const buttonClassList = tabLink.el.nativeElement.classList;
278
+ if (buttonClassList.contains(resources.appfxSecondaryTabButtonClass)) {
279
+ // when appfx tabs are rendered as secondary tabs, no need to adjust the tab link classes.
280
+ return;
281
+ }
282
+ resources.hermesTabLinkClasses.forEach((cssClass) => this.renderer.addClass(tabLink.el.nativeElement, cssClass));
283
+ }
284
+ removeTabLinkClasses(tabLink) {
285
+ resources.hermesTabLinkClasses.forEach((cssClass) => this.renderer.removeClass(tabLink.el.nativeElement, cssClass));
286
+ }
287
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: OverflowHermesTabsDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$1.HermesTabs }, { token: ElementResizeService }], target: i0.ɵɵFactoryTarget.Directive }); }
288
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: OverflowHermesTabsDirective, isStandalone: false, selector: "hermes-tabs [appfxOverflowTabs]", ngImport: i0 }); }
289
+ }
290
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: OverflowHermesTabsDirective, decorators: [{
291
+ type: Directive,
292
+ args: [{
293
+ selector: 'hermes-tabs [appfxOverflowTabs]',
294
+ standalone: false,
295
+ }]
296
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1$1.HermesTabs }, { type: ElementResizeService }] });
297
+
298
+ /*
299
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
300
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
301
+ * This software is released under MIT license.
302
+ * The full license information can be found in LICENSE in the root directory of this project.
303
+ */
304
+ const translations = {
305
+ en: {
306
+ legendPrefix: 'Fields marked with',
307
+ legendSuffix: 'are required',
308
+ },
309
+ es: {
310
+ legendPrefix: 'Campos marcados con',
311
+ legendSuffix: 'son obligatorios',
312
+ },
313
+ fr: {
314
+ legendPrefix: "Champs marqués d'un",
315
+ legendSuffix: 'sont requis',
316
+ },
317
+ ja: {
318
+ legendPrefix: 'フィールドのマークに使用される条件',
319
+ legendSuffix: 'は必須です',
320
+ },
321
+ };
322
+
323
+ /*
324
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
325
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
326
+ * This software is released under MIT license.
327
+ * The full license information can be found in LICENSE in the root directory of this project.
328
+ */
329
+ class RequiredFieldLegendComponent {
330
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: RequiredFieldLegendComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
331
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: RequiredFieldLegendComponent, isStandalone: false, selector: "appfx-required-field-legend", providers: [
332
+ AppfxTranslateService,
333
+ {
334
+ provide: appfxTranslationsToken,
335
+ useValue: translations,
336
+ },
337
+ ], 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<div class=\"legend-wrapper\">\r\n <span>{{ 'legendPrefix' | translate }}</span>\r\n <span class=\"icon-margin hermes-required-mark\"></span>\r\n <span>{{ 'legendSuffix' | translate }}</span>\r\n</div>\r\n", styles: [".legend-wrapper{display:inline-block;position:relative;height:1.5rem;font-style:italic}.legend-wrapper .icon-margin{margin-right:.3rem}\n"], dependencies: [{ kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] }); }
338
+ }
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: RequiredFieldLegendComponent, decorators: [{
340
+ type: Component,
341
+ args: [{ selector: 'appfx-required-field-legend', standalone: false, providers: [
342
+ AppfxTranslateService,
343
+ {
344
+ provide: appfxTranslationsToken,
345
+ useValue: translations,
346
+ },
347
+ ], 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<div class=\"legend-wrapper\">\r\n <span>{{ 'legendPrefix' | translate }}</span>\r\n <span class=\"icon-margin hermes-required-mark\"></span>\r\n <span>{{ 'legendSuffix' | translate }}</span>\r\n</div>\r\n", styles: [".legend-wrapper{display:inline-block;position:relative;height:1.5rem;font-style:italic}.legend-wrapper .icon-margin{margin-right:.3rem}\n"] }]
348
+ }] });
349
+
350
+ /*
351
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
352
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
353
+ * This software is released under MIT license.
354
+ * The full license information can be found in LICENSE in the root directory of this project.
355
+ */
356
+ // Supported zoom levels are 200% and 400% with breakpoints based on
357
+ // Bootstrap responsive breakpoints:
358
+ // https://getbootstrap.com/docs/4.5/layout/overview/
359
+ // The mapping between zoom levels and Bootstrap breakpoints is:
360
+ // 400% = Bootstrap XS - <576px
361
+ // 200% = Bootstrap SM | MD | L - ≥576px
362
+ // none (no-zoom) = Bootstrap XL - ≥1200px
363
+ var ZoomLevel;
364
+ (function (ZoomLevel) {
365
+ ZoomLevel["x2"] = "zoom2x";
366
+ ZoomLevel["x4"] = "zoom4x";
367
+ ZoomLevel["none"] = "no-zoom";
368
+ })(ZoomLevel || (ZoomLevel = {}));
369
+ const zoomBreakpoints = [
370
+ {
371
+ zoomLevel: ZoomLevel.x4,
372
+ maxWidth: 575,
373
+ },
374
+ {
375
+ zoomLevel: ZoomLevel.x2,
376
+ maxWidth: 1199,
377
+ },
378
+ {
379
+ zoomLevel: ZoomLevel.none,
380
+ maxWidth: Number.MAX_VALUE,
381
+ },
382
+ ];
383
+
384
+ /*
385
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
386
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
387
+ * This software is released under MIT license.
388
+ * The full license information can be found in LICENSE in the root directory of this project.
389
+ */
390
+ /**
391
+ * Service for detecting zoom level based on document body size. Uses
392
+ * ResizeObserver for detecting body size changes.
393
+ * @private
394
+ * ResizeObserver spec: https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver
395
+ */
396
+ class ZoomLevelService {
397
+ constructor(document) {
398
+ this.document = document;
399
+ this.resizeSubject = new ReplaySubject(1);
400
+ /**
401
+ * Emits when the zoom level is changed.
402
+ *
403
+ * NOTE: This observable emits <b>outside Angular</b>. You might need to explicitly invoke
404
+ * <code>ChangeDetectorRef.detectChanges()</code> to trigger Angular change detection.
405
+ */
406
+ // debounceTime() operator is added to avoid the following error:
407
+ // "ResizeObserver loop limit exceeded thrown"
408
+ // This error means that ResizeObserver was not able to deliver all observations within
409
+ // a single animation frame. This happens if a change detection is run inside the subscriber.
410
+ this._onChange = this.resizeSubject.pipe(debounceTime(10));
411
+ this.observe();
412
+ }
413
+ get onChange() {
414
+ return this._onChange;
415
+ }
416
+ set onChange(value) {
417
+ this._onChange = value;
418
+ }
419
+ ngOnDestroy() {
420
+ this.unobserve();
421
+ this.resizeSubject.complete();
422
+ }
423
+ observe() {
424
+ this.observer = new ResizeObserver((entries) => {
425
+ const entry = entries && entries[0];
426
+ if (!entry) {
427
+ return;
428
+ }
429
+ this.detectZoomLevelChange(entry);
430
+ });
431
+ this.observer.observe(this.document.documentElement);
432
+ }
433
+ unobserve() {
434
+ this.observer.unobserve(this.document.documentElement);
435
+ }
436
+ detectZoomLevelChange(entry) {
437
+ const docCurrentWidth = entry.contentRect.width;
438
+ const newResponsiveBreakpoint = zoomBreakpoints.find(breakpoint => {
439
+ return breakpoint.maxWidth >= docCurrentWidth;
440
+ });
441
+ if (newResponsiveBreakpoint?.zoomLevel === this.lastZoomLevel) {
442
+ return;
443
+ }
444
+ this.lastZoomLevel = newResponsiveBreakpoint?.zoomLevel;
445
+ this.resizeSubject.next(this.lastZoomLevel);
446
+ }
447
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ZoomLevelService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
448
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ZoomLevelService }); }
449
+ }
450
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ZoomLevelService, decorators: [{
451
+ type: Injectable
452
+ }], ctorParameters: () => [{ type: Document, decorators: [{
453
+ type: Inject,
454
+ args: [DOCUMENT]
455
+ }] }] });
456
+
457
+ /*
458
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
459
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
460
+ * This software is released under MIT license.
461
+ * The full license information can be found in LICENSE in the root directory of this project.
462
+ */
463
+ class ZoomLevelIndicatorDirective {
464
+ constructor(zoomLevelService) {
465
+ this.zoomLevelService = zoomLevelService;
466
+ }
467
+ ngOnInit() {
468
+ if (this.zoomLevelService) {
469
+ this.subscription = this.zoomLevelService.onChange.subscribe(v => {
470
+ this.zoomLevel = v;
471
+ });
472
+ }
473
+ }
474
+ ngOnDestroy() {
475
+ if (this.subscription) {
476
+ this.subscription.unsubscribe();
477
+ }
478
+ }
479
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ZoomLevelIndicatorDirective, deps: [{ token: ZoomLevelService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
480
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: ZoomLevelIndicatorDirective, isStandalone: false, selector: "[zoomLevelIndicator]", host: { properties: { "class": "this.zoomLevel" } }, ngImport: i0 }); }
481
+ }
482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ZoomLevelIndicatorDirective, decorators: [{
483
+ type: Directive,
484
+ args: [{ selector: '[zoomLevelIndicator]', standalone: false }]
485
+ }], ctorParameters: () => [{ type: ZoomLevelService, decorators: [{
486
+ type: Optional
487
+ }] }], propDecorators: { zoomLevel: [{
488
+ type: HostBinding,
489
+ args: ['class']
490
+ }] } });
491
+
492
+ /*
493
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
494
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
495
+ * This software is released under MIT license.
496
+ * The full license information can be found in LICENSE in the root directory of this project.
497
+ */
498
+ /**
499
+ * Provides accessibility related services.
500
+ */
501
+ class AppfxA11yModule {
502
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AppfxA11yModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
503
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: AppfxA11yModule, declarations: [OverflowHermesTabsDirective,
504
+ OverrideHermesStringsDirective,
505
+ RequiredFieldLegendComponent,
506
+ ZoomLevelIndicatorDirective], imports: [AppfxTranslateModule], exports: [OverflowHermesTabsDirective,
507
+ OverrideHermesStringsDirective,
508
+ RequiredFieldLegendComponent,
509
+ ZoomLevelIndicatorDirective] }); }
510
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AppfxA11yModule, providers: [ZoomLevelService], imports: [AppfxTranslateModule] }); }
511
+ }
512
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AppfxA11yModule, decorators: [{
513
+ type: NgModule,
514
+ args: [{
515
+ declarations: [
516
+ OverflowHermesTabsDirective,
517
+ OverrideHermesStringsDirective,
518
+ RequiredFieldLegendComponent,
519
+ ZoomLevelIndicatorDirective,
520
+ ],
521
+ imports: [AppfxTranslateModule],
522
+ exports: [
523
+ OverflowHermesTabsDirective,
524
+ OverrideHermesStringsDirective,
525
+ RequiredFieldLegendComponent,
526
+ ZoomLevelIndicatorDirective,
527
+ ],
528
+ providers: [ZoomLevelService],
529
+ }]
530
+ }] });
531
+
532
+ /*
533
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
534
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
535
+ * This software is released under MIT license.
536
+ * The full license information can be found in LICENSE in the root directory of this project.
537
+ */
538
+
539
+ /**
540
+ * Generated bundle index. Do not edit.
541
+ */
542
+
543
+ export { AppfxA11yModule as A11yModule, AppfxA11yModule, ElementResizeService, OverflowHermesTabsDirective, OverrideHermesStringsDirective, RequiredFieldLegendComponent, ZoomLevel, ZoomLevelIndicatorDirective, ZoomLevelService, a11ykeys };
544
+ //# sourceMappingURL=hermes-ui-angular-addons-a11y.mjs.map