@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,582 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, Injectable, Optional, Input, HostBinding, Component, DOCUMENT, createComponent, PLATFORM_ID, HostListener, Inject, NgModule } from '@angular/core';
3
+ import * as i1 from '@hermes-ui/angular/utils';
4
+ import { WillyWonka, OompaLoompa, commonStringsDefault, LARGE_BREAKPOINT, HermesStandaloneCdkTrapFocus } from '@hermes-ui/angular/utils';
5
+ import { ReplaySubject, Subject } from 'rxjs';
6
+ import { filter } from 'rxjs/operators';
7
+ import { isPlatformBrowser, CommonModule } from '@angular/common';
8
+ import { ClarityIcons, timesIcon, HermesIcon } from '@hermes-ui/angular/icon';
9
+ import * as i1$1 from '@angular/router';
10
+ import { HermesDropdownModule } from '@hermes-ui/angular/popover/dropdown';
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
+ class MainContainerWillyWonka extends WillyWonka {
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: MainContainerWillyWonka, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: MainContainerWillyWonka, isStandalone: false, selector: "hermes-main-container", usesInheritance: true, ngImport: i0 }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: MainContainerWillyWonka, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: 'hermes-main-container',
26
+ standalone: false,
27
+ }]
28
+ }] });
29
+
30
+ /*
31
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
32
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
33
+ * This software is released under MIT license.
34
+ * The full license information can be found in LICENSE in the root directory of this project.
35
+ */
36
+ class ResponsiveNavCodes {
37
+ static { this.NAV_LEVEL_1 = 1; }
38
+ static { this.NAV_LEVEL_2 = 2; }
39
+ static { this.NAV_CLOSE_ALL = 'NAV_CLOSE_ALL'; }
40
+ static { this.NAV_OPEN = 'NAV_OPEN'; }
41
+ static { this.NAV_CLOSE = 'NAV_CLOSE'; }
42
+ static { this.NAV_TOGGLE = 'NAV_TOGGLE'; }
43
+ static { this.NAV_CLASS_HAMBURGER_MENU = 'open-hamburger-menu'; }
44
+ static { this.NAV_CLASS_OVERFLOW_MENU = 'open-overflow-menu'; }
45
+ static { this.NAV_CLASS_TRIGGER_1 = 'header-hamburger-trigger'; }
46
+ static { this.NAV_CLASS_TRIGGER_2 = 'header-overflow-trigger'; }
47
+ static { this.NAV_CLASS_LEVEL_1 = 'hermes-nav-level-1'; }
48
+ static { this.NAV_CLASS_LEVEL_2 = 'hermes-nav-level-2'; }
49
+ }
50
+
51
+ /*
52
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
53
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
54
+ * This software is released under MIT license.
55
+ * The full license information can be found in LICENSE in the root directory of this project.
56
+ */
57
+ class ResponsiveNavControlMessage {
58
+ constructor(_controlCode, _navLevel) {
59
+ this._controlCode = _controlCode;
60
+ this._navLevel = _navLevel;
61
+ }
62
+ get controlCode() {
63
+ return this._controlCode;
64
+ }
65
+ get navLevel() {
66
+ return this._navLevel;
67
+ }
68
+ }
69
+
70
+ /*
71
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
72
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
73
+ * This software is released under MIT license.
74
+ * The full license information can be found in LICENSE in the root directory of this project.
75
+ */
76
+ class ResponsiveNavigationService {
77
+ constructor() {
78
+ this.responsiveNavList = [];
79
+ this.registerNavSubject = new ReplaySubject();
80
+ this.controlNavSubject = new Subject();
81
+ this.closeAllNavs(); // We start with all navs closed
82
+ }
83
+ get registeredNavs() {
84
+ return this.registerNavSubject.asObservable();
85
+ }
86
+ get navControl() {
87
+ return this.controlNavSubject.asObservable();
88
+ }
89
+ registerNav(navLevel) {
90
+ if (!navLevel || this.isNavRegistered(navLevel)) {
91
+ return;
92
+ }
93
+ this.responsiveNavList.push(navLevel);
94
+ this.registerNavSubject.next(this.responsiveNavList);
95
+ }
96
+ isNavRegistered(navLevel) {
97
+ if (this.responsiveNavList.indexOf(navLevel) > -1) {
98
+ console.error('Multiple hermes-nav-level ' + navLevel + ' attributes found. Please make sure that only one exists');
99
+ return true;
100
+ }
101
+ return false;
102
+ }
103
+ unregisterNav(navLevel) {
104
+ const index = this.responsiveNavList.indexOf(navLevel);
105
+ if (index > -1) {
106
+ this.responsiveNavList.splice(index, 1);
107
+ this.registerNavSubject.next(this.responsiveNavList);
108
+ }
109
+ }
110
+ sendControlMessage(controlCode, navLevel) {
111
+ const message = new ResponsiveNavControlMessage(controlCode, navLevel);
112
+ this.controlNavSubject.next(message);
113
+ }
114
+ closeAllNavs() {
115
+ const message = new ResponsiveNavControlMessage(ResponsiveNavCodes.NAV_CLOSE_ALL, -999);
116
+ this.controlNavSubject.next(message);
117
+ }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ResponsiveNavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
119
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ResponsiveNavigationService, providedIn: 'root' }); }
120
+ }
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ResponsiveNavigationService, decorators: [{
122
+ type: Injectable,
123
+ args: [{ providedIn: 'root' }]
124
+ }], ctorParameters: () => [] });
125
+
126
+ /*
127
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
128
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
129
+ * This software is released under MIT license.
130
+ * The full license information can be found in LICENSE in the root directory of this project.
131
+ */
132
+ class NavDetectionOompaLoompa extends OompaLoompa {
133
+ constructor(cdr, willyWonka, responsiveNavService) {
134
+ if (!willyWonka) {
135
+ throw new Error('hermes-header should only be used inside of a hermes-main-container');
136
+ }
137
+ super(cdr, willyWonka);
138
+ this.responsiveNavService = responsiveNavService;
139
+ }
140
+ // NavDetectionOompaLoompa is the addition of the nav levels
141
+ // Since we support 2 levels, the possibilities are 0, 1 or 3 (1 + 2)
142
+ get flavor() {
143
+ return this.responsiveNavService.responsiveNavList.reduce((sum, navLevel) => sum + navLevel, 0);
144
+ }
145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: NavDetectionOompaLoompa, deps: [{ token: i0.ChangeDetectorRef }, { token: MainContainerWillyWonka, optional: true }, { token: ResponsiveNavigationService }], target: i0.ɵɵFactoryTarget.Directive }); }
146
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: NavDetectionOompaLoompa, isStandalone: false, selector: "hermes-header", usesInheritance: true, ngImport: i0 }); }
147
+ }
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: NavDetectionOompaLoompa, decorators: [{
149
+ type: Directive,
150
+ args: [{
151
+ selector: 'hermes-header',
152
+ standalone: false,
153
+ }]
154
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: MainContainerWillyWonka, decorators: [{
155
+ type: Optional
156
+ }] }, { type: ResponsiveNavigationService }] });
157
+
158
+ /*
159
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
160
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
161
+ * This software is released under MIT license.
162
+ * The full license information can be found in LICENSE in the root directory of this project.
163
+ */
164
+
165
+ /*
166
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
167
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
168
+ * This software is released under MIT license.
169
+ * The full license information can be found in LICENSE in the root directory of this project.
170
+ */
171
+ class HermesHeader {
172
+ constructor(responsiveNavService, commonStrings) {
173
+ this.responsiveNavService = responsiveNavService;
174
+ this.commonStrings = commonStrings;
175
+ this.role = 'banner';
176
+ this.isNavLevel1OnPage = false;
177
+ this.isNavLevel2OnPage = false;
178
+ this.openNavLevel = null;
179
+ this.responsiveNavCodes = ResponsiveNavCodes;
180
+ this._subscription = responsiveNavService.registeredNavs.subscribe({
181
+ next: (navLevelList) => {
182
+ this.initializeNavTriggers(navLevelList);
183
+ },
184
+ });
185
+ this._subscription.add(responsiveNavService.navControl
186
+ .pipe(filter(({ controlCode }) => controlCode === ResponsiveNavCodes.NAV_CLOSE || controlCode === ResponsiveNavCodes.NAV_CLOSE_ALL))
187
+ .subscribe(() => {
188
+ this.openNavLevel = null;
189
+ }));
190
+ }
191
+ get responsiveNavCommonString() {
192
+ const myCommonStrings = this.commonStrings.keys;
193
+ if (this.openNavLevel !== this.responsiveNavCodes.NAV_LEVEL_1) {
194
+ return myCommonStrings.responsiveNavToggleOpen;
195
+ }
196
+ else {
197
+ return myCommonStrings.responsiveNavToggleClose;
198
+ }
199
+ }
200
+ get responsiveOverflowCommonString() {
201
+ const myCommonStrings = this.commonStrings.keys;
202
+ if (this.openNavLevel !== this.responsiveNavCodes.NAV_LEVEL_2) {
203
+ return myCommonStrings.responsiveNavOverflowOpen;
204
+ }
205
+ else {
206
+ return myCommonStrings.responsiveNavOverflowClose;
207
+ }
208
+ }
209
+ // reset triggers. handles cases when an application has different nav levels on different pages.
210
+ resetNavTriggers() {
211
+ this.isNavLevel1OnPage = false;
212
+ this.isNavLevel2OnPage = false;
213
+ }
214
+ // decides which triggers to show on the header
215
+ initializeNavTriggers(navList) {
216
+ this.resetNavTriggers();
217
+ if (navList.length > 2) {
218
+ console.error('More than 2 Nav Levels detected.');
219
+ return;
220
+ }
221
+ navList.forEach(navLevel => {
222
+ if (navLevel === ResponsiveNavCodes.NAV_LEVEL_1) {
223
+ this.isNavLevel1OnPage = true;
224
+ }
225
+ else if (navLevel === ResponsiveNavCodes.NAV_LEVEL_2) {
226
+ this.isNavLevel2OnPage = true;
227
+ }
228
+ });
229
+ }
230
+ // closes the nav that is open
231
+ closeOpenNav() {
232
+ this.responsiveNavService.closeAllNavs();
233
+ }
234
+ /**
235
+ * @deprecated Will be removed in with @hermes-ui/angular v15.0.0
236
+ *
237
+ * Use `openNav(navLevel)` instead to open the navigation and ResponsiveNavService to close it.
238
+ */
239
+ toggleNav(navLevel) {
240
+ if (this.openNavLevel === navLevel) {
241
+ this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_CLOSE, navLevel);
242
+ return;
243
+ }
244
+ this.openNav(navLevel);
245
+ }
246
+ openNav(navLevel) {
247
+ this.openNavLevel = navLevel;
248
+ this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_OPEN, navLevel);
249
+ }
250
+ ngOnDestroy() {
251
+ this._subscription.unsubscribe();
252
+ }
253
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesHeader, deps: [{ token: ResponsiveNavigationService }, { token: i1.HermesCommonStringsService }], target: i0.ɵɵFactoryTarget.Component }); }
254
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesHeader, isStandalone: false, selector: "hermes-header", inputs: { role: "role" }, host: { properties: { "class.header": "true", "attr.role": "this.role" } }, ngImport: i0, template: `
255
+ @if (isNavLevel1OnPage) {
256
+ <button
257
+ type="button"
258
+ class="header-hamburger-trigger"
259
+ [attr.aria-label]="responsiveNavCommonString"
260
+ (click)="openNav(responsiveNavCodes.NAV_LEVEL_1)"
261
+ >
262
+ <span></span>
263
+ </button>
264
+ }
265
+ <ng-content></ng-content>
266
+ @if (isNavLevel2OnPage) {
267
+ <button
268
+ type="button"
269
+ class="header-overflow-trigger"
270
+ [attr.aria-label]="responsiveOverflowCommonString"
271
+ (click)="openNav(responsiveNavCodes.NAV_LEVEL_2)"
272
+ >
273
+ <span></span>
274
+ </button>
275
+ }
276
+ <div class="header-backdrop" (click)="closeOpenNav()"></div>
277
+ `, isInline: true }); }
278
+ }
279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesHeader, decorators: [{
280
+ type: Component,
281
+ args: [{
282
+ selector: 'hermes-header',
283
+ template: `
284
+ @if (isNavLevel1OnPage) {
285
+ <button
286
+ type="button"
287
+ class="header-hamburger-trigger"
288
+ [attr.aria-label]="responsiveNavCommonString"
289
+ (click)="openNav(responsiveNavCodes.NAV_LEVEL_1)"
290
+ >
291
+ <span></span>
292
+ </button>
293
+ }
294
+ <ng-content></ng-content>
295
+ @if (isNavLevel2OnPage) {
296
+ <button
297
+ type="button"
298
+ class="header-overflow-trigger"
299
+ [attr.aria-label]="responsiveOverflowCommonString"
300
+ (click)="openNav(responsiveNavCodes.NAV_LEVEL_2)"
301
+ >
302
+ <span></span>
303
+ </button>
304
+ }
305
+ <div class="header-backdrop" (click)="closeOpenNav()"></div>
306
+ `,
307
+ host: { '[class.header]': 'true' },
308
+ standalone: false,
309
+ }]
310
+ }], ctorParameters: () => [{ type: ResponsiveNavigationService }, { type: i1.HermesCommonStringsService }], propDecorators: { role: [{
311
+ type: Input
312
+ }, {
313
+ type: HostBinding,
314
+ args: ['attr.role']
315
+ }] } });
316
+
317
+ /*
318
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
319
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
320
+ * This software is released under MIT license.
321
+ * The full license information can be found in LICENSE in the root directory of this project.
322
+ */
323
+ class HermesNavLevel {
324
+ constructor(platformId, cdkTrapFocus, responsiveNavService, elementRef, renderer, injector, environmentInjector, appRef) {
325
+ this.cdkTrapFocus = cdkTrapFocus;
326
+ this.responsiveNavService = responsiveNavService;
327
+ this.elementRef = elementRef;
328
+ this.renderer = renderer;
329
+ this.injector = injector;
330
+ this.environmentInjector = environmentInjector;
331
+ this.appRef = appRef;
332
+ this._isOpen = false;
333
+ if (isPlatformBrowser(platformId)) {
334
+ this._document = injector.get(DOCUMENT);
335
+ }
336
+ this._subscription = responsiveNavService.navControl
337
+ .pipe(filter(x => x.navLevel === this.level), filter(({ controlCode }) => (controlCode === ResponsiveNavCodes.NAV_OPEN && !this.isOpen) ||
338
+ (controlCode === ResponsiveNavCodes.NAV_CLOSE && this.isOpen)))
339
+ .subscribe(({ controlCode }) => {
340
+ if (controlCode === ResponsiveNavCodes.NAV_OPEN) {
341
+ this.open();
342
+ return;
343
+ }
344
+ this.close();
345
+ });
346
+ this._subscription.add(responsiveNavService.navControl
347
+ .pipe(filter(({ controlCode }) => controlCode === ResponsiveNavCodes.NAV_CLOSE_ALL))
348
+ .subscribe(() => this.close()));
349
+ }
350
+ get level() {
351
+ return this._level;
352
+ }
353
+ // getter to access the responsive navigation codes from the template
354
+ get responsiveNavCodes() {
355
+ return ResponsiveNavCodes;
356
+ }
357
+ get isOpen() {
358
+ return this._isOpen;
359
+ }
360
+ ngOnInit() {
361
+ this.cdkTrapFocus.enabled = false;
362
+ if (!this.closeButtonAriaLabel) {
363
+ this.closeButtonAriaLabel =
364
+ this._level === ResponsiveNavCodes.NAV_LEVEL_1
365
+ ? commonStringsDefault.responsiveNavToggleClose
366
+ : commonStringsDefault.responsiveNavOverflowClose;
367
+ }
368
+ if (this.level !== ResponsiveNavCodes.NAV_LEVEL_1 && this.level !== ResponsiveNavCodes.NAV_LEVEL_2) {
369
+ console.error('Nav Level can only be 1 or 2');
370
+ return;
371
+ }
372
+ this.responsiveNavService.registerNav(this.level);
373
+ this.addNavClass(this.level);
374
+ }
375
+ ngAfterViewInit() {
376
+ const closeButton = this.createCloseButton();
377
+ this.renderer.listen(closeButton, 'click', this.close.bind(this));
378
+ this.renderer.insertBefore(this.elementRef.nativeElement, closeButton, this.elementRef.nativeElement.firstChild);
379
+ if (this._document.body.clientWidth < LARGE_BREAKPOINT) {
380
+ /**
381
+ * Close if the document body is smaller than the large breakpoint for example:
382
+ * - Refreshing the page
383
+ * - Browser window size is changed when opening the applicaiton
384
+ * - Browser zoom is turned on and zoomed to a size that makes the document smaller than the large breakpoint
385
+ */
386
+ this.close();
387
+ }
388
+ }
389
+ ngOnDestroy() {
390
+ this.responsiveNavService.unregisterNav(this.level);
391
+ this._subscription.unsubscribe();
392
+ }
393
+ onResize(event) {
394
+ const target = event.target;
395
+ if (target.innerWidth < LARGE_BREAKPOINT && this.isOpen) {
396
+ this.close();
397
+ return;
398
+ }
399
+ this.showNavigation();
400
+ }
401
+ // TODO: Figure out whats the best way to do this. Possible methods
402
+ // 1. HostListener (current solution)
403
+ // 2. Directives on the .nav-link class. We discussed on moving away from class selectors but I forget the reason
404
+ // why
405
+ onMouseClick(target) {
406
+ let current = target; // Get the element in the DOM on which the mouse was clicked
407
+ const navHost = this.elementRef.nativeElement; // Get the current nav native HTML element
408
+ // Start checking if current and navHost are equal.
409
+ // If not traverse to the parentNode and check again.
410
+ while (current) {
411
+ if (current === navHost) {
412
+ return;
413
+ }
414
+ else if (current.classList.contains('nav-link') && this._document.body.clientWidth < LARGE_BREAKPOINT) {
415
+ this.close();
416
+ return;
417
+ }
418
+ current = current.parentNode;
419
+ }
420
+ }
421
+ addNavClass(level) {
422
+ const navHostClassList = this.elementRef.nativeElement.classList;
423
+ if (level === ResponsiveNavCodes.NAV_LEVEL_1) {
424
+ navHostClassList.add(ResponsiveNavCodes.NAV_CLASS_LEVEL_1);
425
+ }
426
+ else if (level === ResponsiveNavCodes.NAV_LEVEL_2) {
427
+ navHostClassList.add(ResponsiveNavCodes.NAV_CLASS_LEVEL_2);
428
+ }
429
+ }
430
+ open() {
431
+ this._isOpen = true;
432
+ this.showNavigation();
433
+ this.cdkTrapFocus.enabled = true;
434
+ this.showCloseButton();
435
+ this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_OPEN, this.level);
436
+ }
437
+ close() {
438
+ this._isOpen = false;
439
+ this.hideNavigation();
440
+ this.cdkTrapFocus.enabled = false;
441
+ this.hideCloseButton();
442
+ this.responsiveNavService.sendControlMessage(ResponsiveNavCodes.NAV_CLOSE, this.level);
443
+ }
444
+ hideNavigation() {
445
+ this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-hidden', 'true');
446
+ this.renderer.setAttribute(this.elementRef.nativeElement, 'hidden', 'true');
447
+ }
448
+ showNavigation() {
449
+ this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-hidden', 'false');
450
+ this.renderer.removeAttribute(this.elementRef.nativeElement, 'hidden');
451
+ }
452
+ hideCloseButton() {
453
+ this.renderer.setAttribute(this.elementRef.nativeElement, 'aria-hidden', 'true');
454
+ this.renderer.setAttribute(this.elementRef.nativeElement.querySelector('.hermes-nav-close'), 'hidden', 'true');
455
+ }
456
+ showCloseButton() {
457
+ this.renderer.setAttribute(this.elementRef.nativeElement.querySelector('.hermes-nav-close'), 'aria-hidden', 'false');
458
+ this.renderer.removeAttribute(this.elementRef.nativeElement.querySelector('.hermes-nav-close'), 'hidden');
459
+ }
460
+ createCloseButton() {
461
+ ClarityIcons.addIcons(timesIcon);
462
+ const closeButton = this._document.createElement('button');
463
+ closeButton.setAttribute('aria-label', this.closeButtonAriaLabel);
464
+ closeButton.setAttribute('aria-hidden', 'true');
465
+ closeButton.setAttribute('hidden', 'true');
466
+ closeButton.className = 'hermes-nav-close';
467
+ const iconRef = createComponent(HermesIcon, {
468
+ hostElement: this._document.createElement('hermes-icon'),
469
+ environmentInjector: this.environmentInjector,
470
+ elementInjector: this.injector,
471
+ });
472
+ iconRef.instance.shape = 'times';
473
+ iconRef.instance.size = '32';
474
+ this.appRef.attachView(iconRef.hostView);
475
+ closeButton.appendChild(iconRef.location.nativeElement);
476
+ return closeButton;
477
+ }
478
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesNavLevel, deps: [{ token: PLATFORM_ID }, { token: i1.HermesStandaloneCdkTrapFocus }, { token: ResponsiveNavigationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i0.EnvironmentInjector }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Directive }); }
479
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: HermesNavLevel, isStandalone: false, selector: "[hermes-nav-level]", inputs: { _level: ["hermes-nav-level", "_level"], closeButtonAriaLabel: ["closeAriaLabel", "closeButtonAriaLabel"] }, host: { listeners: { "window:resize": "onResize($event)", "click": "onMouseClick($event.target)" } }, hostDirectives: [{ directive: i1.HermesStandaloneCdkTrapFocus }], ngImport: i0 }); }
480
+ }
481
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesNavLevel, decorators: [{
482
+ type: Directive,
483
+ args: [{
484
+ selector: '[hermes-nav-level]',
485
+ hostDirectives: [HermesStandaloneCdkTrapFocus],
486
+ standalone: false,
487
+ }]
488
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
489
+ type: Inject,
490
+ args: [PLATFORM_ID]
491
+ }] }, { type: i1.HermesStandaloneCdkTrapFocus }, { type: ResponsiveNavigationService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: i0.EnvironmentInjector }, { type: i0.ApplicationRef }], propDecorators: { _level: [{
492
+ type: Input,
493
+ args: ['hermes-nav-level']
494
+ }], closeButtonAriaLabel: [{
495
+ type: Input,
496
+ args: ['closeAriaLabel']
497
+ }], onResize: [{
498
+ type: HostListener,
499
+ args: ['window:resize', ['$event']]
500
+ }], onMouseClick: [{
501
+ type: HostListener,
502
+ args: ['click', ['$event.target']]
503
+ }] } });
504
+
505
+ /*
506
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
507
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
508
+ * This software is released under MIT license.
509
+ * The full license information can be found in LICENSE in the root directory of this project.
510
+ */
511
+ class HermesAriaCurrentLink {
512
+ constructor(rla) {
513
+ this.rla = rla;
514
+ }
515
+ ngOnInit() {
516
+ this.subscription = this.rla.isActiveChange.subscribe(isActive => {
517
+ this.ariaCurrent = isActive ? 'page' : undefined;
518
+ });
519
+ }
520
+ ngOnDestroy() {
521
+ this.subscription.unsubscribe();
522
+ }
523
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesAriaCurrentLink, deps: [{ token: i1$1.RouterLinkActive }], target: i0.ɵɵFactoryTarget.Directive }); }
524
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: HermesAriaCurrentLink, isStandalone: false, selector: "[hermesAriaCurrentLink]", host: { properties: { "attr.aria-current": "ariaCurrent" } }, ngImport: i0 }); }
525
+ }
526
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesAriaCurrentLink, decorators: [{
527
+ type: Directive,
528
+ args: [{
529
+ selector: '[hermesAriaCurrentLink]',
530
+ host: { '[attr.aria-current]': 'ariaCurrent' },
531
+ standalone: false,
532
+ }]
533
+ }], ctorParameters: () => [{ type: i1$1.RouterLinkActive }] });
534
+
535
+ /*
536
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
537
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
538
+ * This software is released under MIT license.
539
+ * The full license information can be found in LICENSE in the root directory of this project.
540
+ */
541
+ const HERMES_NAVIGATION_DIRECTIVES = [
542
+ HermesHeader,
543
+ HermesNavLevel,
544
+ HermesAriaCurrentLink,
545
+ NavDetectionOompaLoompa,
546
+ MainContainerWillyWonka,
547
+ ];
548
+ class HermesNavigationModule {
549
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
550
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesNavigationModule, declarations: [HermesHeader,
551
+ HermesNavLevel,
552
+ HermesAriaCurrentLink,
553
+ NavDetectionOompaLoompa,
554
+ MainContainerWillyWonka], imports: [CommonModule, HermesIcon, HermesDropdownModule], exports: [HermesHeader,
555
+ HermesNavLevel,
556
+ HermesAriaCurrentLink,
557
+ NavDetectionOompaLoompa,
558
+ MainContainerWillyWonka] }); }
559
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesNavigationModule, imports: [CommonModule, HermesIcon, HermesDropdownModule] }); }
560
+ }
561
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesNavigationModule, decorators: [{
562
+ type: NgModule,
563
+ args: [{
564
+ imports: [CommonModule, HermesIcon, HermesDropdownModule],
565
+ declarations: [HERMES_NAVIGATION_DIRECTIVES],
566
+ exports: [HERMES_NAVIGATION_DIRECTIVES],
567
+ }]
568
+ }] });
569
+
570
+ /*
571
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
572
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
573
+ * This software is released under MIT license.
574
+ * The full license information can be found in LICENSE in the root directory of this project.
575
+ */
576
+
577
+ /**
578
+ * Generated bundle index. Do not edit.
579
+ */
580
+
581
+ export { HERMES_NAVIGATION_DIRECTIVES, HermesAriaCurrentLink, HermesHeader, HermesNavLevel, HermesNavigationModule, MainContainerWillyWonka, NavDetectionOompaLoompa, ResponsiveNavCodes, ResponsiveNavControlMessage, ResponsiveNavigationService };
582
+ //# sourceMappingURL=hermes-ui-angular-layout-nav.mjs.map