@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,694 @@
1
+ import * as i4 from '@angular/common';
2
+ import { isPlatformBrowser, CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { ChangeDetectionStrategy, Component, Injectable, PLATFORM_ID, HostBinding, ContentChildren, ViewChild, Inject, Optional, Input, Directive, HostListener, NgModule } from '@angular/core';
5
+ import { CollapsiblePanelModel, CollapsiblePanelGroupModel, CollapsiblePanelService, CollapsiblePanel, collapsiblePanelAnimation } from '@hermes-ui/angular/collapsible-panel';
6
+ import * as i1 from '@hermes-ui/angular/utils';
7
+ import { triggerAllFormControlValidation, IfExpandService, WillyWonka, OompaLoompa } from '@hermes-ui/angular/utils';
8
+ import { map, distinctUntilChanged, tap, startWith, pairwise, filter } from 'rxjs/operators';
9
+ import * as i2 from '@angular/forms';
10
+ import { Subject, Observable } from 'rxjs';
11
+ import * as i5 from '@hermes-ui/angular/icon';
12
+ import { ClarityIcons, angleIcon, successStandardIcon, errorStandardIcon, HermesIcon } from '@hermes-ui/angular/icon';
13
+
14
+ /*
15
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
16
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
17
+ * This software is released under MIT license.
18
+ * The full license information can be found in LICENSE in the root directory of this project.
19
+ */
20
+ var StepperPanelStatus;
21
+ (function (StepperPanelStatus) {
22
+ StepperPanelStatus["Inactive"] = "inactive";
23
+ StepperPanelStatus["Error"] = "error";
24
+ StepperPanelStatus["Complete"] = "complete";
25
+ })(StepperPanelStatus || (StepperPanelStatus = {}));
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
+ class HermesStepDescription {
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepDescription, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesStepDescription, isStandalone: false, selector: "hermes-step-description", host: { properties: { "class.hermes-stepper-description": "true" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepDescription, decorators: [{
38
+ type: Component,
39
+ args: [{
40
+ selector: 'hermes-step-description',
41
+ template: `<ng-content></ng-content>`,
42
+ host: { '[class.hermes-stepper-description]': 'true' },
43
+ changeDetection: ChangeDetectionStrategy.OnPush,
44
+ standalone: false,
45
+ }]
46
+ }] });
47
+
48
+ /*
49
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
50
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
51
+ * This software is released under MIT license.
52
+ * The full license information can be found in LICENSE in the root directory of this project.
53
+ */
54
+ class StepperPanelModel extends CollapsiblePanelModel {
55
+ constructor() {
56
+ super(...arguments);
57
+ this.status = StepperPanelStatus.Inactive;
58
+ }
59
+ }
60
+
61
+ /*
62
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
63
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
64
+ * This software is released under MIT license.
65
+ * The full license information can be found in LICENSE in the root directory of this project.
66
+ */
67
+ class StepperModel extends CollapsiblePanelGroupModel {
68
+ constructor() {
69
+ super(...arguments);
70
+ this._panels = {};
71
+ this.stepperModelInitialize = false;
72
+ }
73
+ get panels() {
74
+ return Object.keys(this._panels).map(id => this._panels[id]);
75
+ }
76
+ get allPanelsCompleted() {
77
+ return this.panels.length && this.getNumberOfIncompletePanels() === 0 && this.getNumberOfOpenPanels() === 0;
78
+ }
79
+ get shouldOpenFirstPanel() {
80
+ return !this.initialPanel || (this._panels && Object.keys(this._panels).length && !this._panels[this.initialPanel]);
81
+ }
82
+ addPanel(id, open = false) {
83
+ const panel = new StepperPanelModel(id, this.panelGroupCount);
84
+ panel.open = open;
85
+ panel.disabled = true;
86
+ this._panels[id] = panel;
87
+ }
88
+ updatePanelOrder(ids) {
89
+ super.updatePanelOrder(ids);
90
+ if (this.stepperModelInitialize === false) {
91
+ this.openFirstPanel();
92
+ }
93
+ }
94
+ togglePanel(panelId) {
95
+ if (this._panels[panelId]?.status === StepperPanelStatus.Complete) {
96
+ this._panels[panelId].open = !this._panels[panelId].open;
97
+ }
98
+ }
99
+ navigateToPreviousPanel(currentPanelId) {
100
+ this.openPreviousPanel(this._panels[currentPanelId].id);
101
+ }
102
+ navigateToNextPanel(currentPanelId, currentPanelValid = true) {
103
+ if (currentPanelValid) {
104
+ this.completePanel(currentPanelId);
105
+ this.openNextPanel(this._panels[currentPanelId].id);
106
+ }
107
+ else {
108
+ this.setPanelError(currentPanelId);
109
+ }
110
+ }
111
+ overrideInitialPanel(panelId) {
112
+ this.initialPanel = panelId;
113
+ this.panels
114
+ .filter(() => this._panels[panelId] !== undefined)
115
+ .forEach(panel => {
116
+ if (panel.index < this._panels[panelId].index) {
117
+ this.completePanel(panel.id);
118
+ }
119
+ else if (panel.id === panelId) {
120
+ this._panels[panel.id].open = true;
121
+ }
122
+ else {
123
+ this._panels[panel.id].open = false;
124
+ }
125
+ });
126
+ }
127
+ setPanelValid(panelId) {
128
+ this._panels[panelId].status = StepperPanelStatus.Complete;
129
+ }
130
+ setPanelInvalid(panelId) {
131
+ this._panels[panelId].status = StepperPanelStatus.Error;
132
+ }
133
+ setPanelsWithErrors(ids) {
134
+ ids.forEach(id => this.setPanelError(id));
135
+ }
136
+ resetPanels() {
137
+ this.stepperModelInitialize = false;
138
+ this.panels.forEach(p => this.resetPanel(p.id));
139
+ this.openFirstPanel();
140
+ }
141
+ getNextPanel(currentPanelId) {
142
+ return this.panels.find(s => s.index === this._panels[currentPanelId].index + 1);
143
+ }
144
+ getPreviousPanel(currentPanelId) {
145
+ return this.panels.find(s => s.index === this._panels[currentPanelId].index - 1);
146
+ }
147
+ resetAllFuturePanels(panelId) {
148
+ this.panels.filter(panel => panel.index >= this._panels[panelId].index).forEach(panel => this.resetPanel(panel.id));
149
+ }
150
+ resetPanel(panelId) {
151
+ this._panels[panelId].status = StepperPanelStatus.Inactive;
152
+ this._panels[panelId].open = false;
153
+ this._panels[panelId].disabled = true;
154
+ }
155
+ openFirstPanel() {
156
+ if (!this.shouldOpenFirstPanel) {
157
+ return;
158
+ }
159
+ const firstPanel = this.getFirstPanel();
160
+ if (!firstPanel) {
161
+ return;
162
+ }
163
+ this._panels[firstPanel.id].open = true;
164
+ this._panels[firstPanel.id].disabled = true;
165
+ this.stepperModelInitialize = true;
166
+ }
167
+ completePanel(panelId) {
168
+ this._panels[panelId].status = StepperPanelStatus.Complete;
169
+ this._panels[panelId].disabled = false;
170
+ this._panels[panelId].open = false;
171
+ }
172
+ openNextPanel(currentPanelId) {
173
+ const nextPanel = this.getNextPanel(currentPanelId);
174
+ if (nextPanel) {
175
+ this.resetAllFuturePanels(nextPanel.id);
176
+ this._panels[nextPanel.id].open = true;
177
+ this._panels[nextPanel.id].disabled = true;
178
+ }
179
+ }
180
+ openPreviousPanel(currentPanelId) {
181
+ const prevPanel = this.getPreviousPanel(currentPanelId);
182
+ if (prevPanel) {
183
+ this._panels[currentPanelId].open = false;
184
+ this._panels[currentPanelId].disabled = false;
185
+ this._panels[prevPanel.id].open = true;
186
+ this._panels[prevPanel.id].disabled = true;
187
+ }
188
+ }
189
+ setPanelError(panelId) {
190
+ this.resetAllFuturePanels(panelId);
191
+ this._panels[panelId].open = true;
192
+ this._panels[panelId].status = StepperPanelStatus.Error;
193
+ }
194
+ getFirstPanel() {
195
+ return this.panels.find(panel => panel.index === 0);
196
+ }
197
+ getNumberOfIncompletePanels() {
198
+ return this.panels.reduce((prev, next) => (next.status !== StepperPanelStatus.Complete ? prev + 1 : prev), 0);
199
+ }
200
+ getNumberOfOpenPanels() {
201
+ return this.panels.reduce((prev, next) => (next.open !== false ? prev + 1 : prev), 0);
202
+ }
203
+ }
204
+
205
+ /*
206
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
207
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
208
+ * This software is released under MIT license.
209
+ * The full license information can be found in LICENSE in the root directory of this project.
210
+ */
211
+ class StepperService extends CollapsiblePanelService {
212
+ constructor() {
213
+ super();
214
+ this.panelsCompleted = this.getAllCompletedPanelChanges();
215
+ this.panelGroup = new StepperModel();
216
+ this._activeStepChanges = new Subject();
217
+ this.activeStep = this._activeStepChanges.asObservable();
218
+ }
219
+ resetPanels() {
220
+ this.panelGroup.resetPanels();
221
+ this.emitUpdatedPanels();
222
+ }
223
+ setPanelValid(panelId) {
224
+ this.panelGroup.setPanelValid(panelId);
225
+ this.emitUpdatedPanels();
226
+ }
227
+ setPanelInvalid(panelId) {
228
+ this.panelGroup.setPanelInvalid(panelId);
229
+ this.emitUpdatedPanels();
230
+ }
231
+ setPanelsWithErrors(ids) {
232
+ this.panelGroup.setPanelsWithErrors(ids);
233
+ this.emitUpdatedPanels();
234
+ }
235
+ navigateToPreviousPanel(currentPanelId) {
236
+ this.panelGroup.navigateToPreviousPanel(currentPanelId);
237
+ this.updatePreviousStep(currentPanelId);
238
+ this.emitUpdatedPanels();
239
+ }
240
+ navigateToNextPanel(currentPanelId, currentPanelValid = true) {
241
+ this.panelGroup.navigateToNextPanel(currentPanelId, currentPanelValid);
242
+ this.updateNextStep(currentPanelId, currentPanelValid);
243
+ this.emitUpdatedPanels();
244
+ }
245
+ overrideInitialPanel(panelId) {
246
+ this.panelGroup.overrideInitialPanel(panelId);
247
+ this.emitUpdatedPanels();
248
+ }
249
+ updateNextStep(currentPanelId, currentPanelValid) {
250
+ const nextPanel = this.panelGroup.getNextPanel(currentPanelId);
251
+ if (currentPanelValid && nextPanel) {
252
+ this._activeStepChanges.next(nextPanel.id);
253
+ }
254
+ else if (currentPanelValid) {
255
+ this._activeStepChanges.next(currentPanelId);
256
+ }
257
+ }
258
+ updatePreviousStep(currentPanelId) {
259
+ const prevPanel = this.panelGroup.getPreviousPanel(currentPanelId);
260
+ if (prevPanel) {
261
+ this._activeStepChanges.next(prevPanel.id);
262
+ }
263
+ }
264
+ getAllCompletedPanelChanges() {
265
+ return this._panelsChanges.pipe(map(() => this.panelGroup.allPanelsCompleted), distinctUntilChanged());
266
+ }
267
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StepperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
268
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StepperService }); }
269
+ }
270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StepperService, decorators: [{
271
+ type: Injectable
272
+ }], ctorParameters: () => [] });
273
+
274
+ /*
275
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
276
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
277
+ * This software is released under MIT license.
278
+ * The full license information can be found in LICENSE in the root directory of this project.
279
+ */
280
+ class HermesStepperPanel extends CollapsiblePanel {
281
+ constructor(platformId, commonStrings, formGroupName, ngModelGroup, stepperService, ifExpandService, cdr) {
282
+ super(stepperService, ifExpandService, cdr);
283
+ this.platformId = platformId;
284
+ this.commonStrings = commonStrings;
285
+ this.formGroupName = formGroupName;
286
+ this.ngModelGroup = ngModelGroup;
287
+ this.stepperService = stepperService;
288
+ this.disabled = false;
289
+ this.PanelStatus = StepperPanelStatus;
290
+ this.subscriptions = [];
291
+ }
292
+ get id() {
293
+ return this.formGroupName ? this.formGroupName.name.toString() : this.ngModelGroup.name;
294
+ }
295
+ set id(_value) {
296
+ // overriding parent id required empty setter
297
+ }
298
+ get panelNumber() {
299
+ return this._panelIndex + 1;
300
+ }
301
+ get formGroup() {
302
+ return this.formGroupName ? this.formGroupName.control : this.ngModelGroup.control;
303
+ }
304
+ getPanelStatus(panel) {
305
+ return panel.status;
306
+ }
307
+ getPanelStateClasses(panel) {
308
+ return `hermes-stepper-panel-${this.getPanelStatus(panel)} ${panel.open ? 'hermes-stepper-panel-open' : ''}`;
309
+ }
310
+ getContentId(id) {
311
+ return `hermes-stepper-content-${id}`;
312
+ }
313
+ getHeaderId(id) {
314
+ return `hermes-stepper-header-${id}`;
315
+ }
316
+ ngOnInit() {
317
+ super.ngOnInit();
318
+ this.panel = this.panel.pipe(tap(panel => this.triggerAllFormControlValidationIfError(panel)));
319
+ this.stepperService.disablePanel(this.id, true);
320
+ this.listenToFocusChanges();
321
+ // not all stepper panels are guaranteed to have a form (i.e. empty template-driven)
322
+ if (this.formGroup) {
323
+ // Only react to genuine status transitions (e.g. INVALID→VALID or VALID→INVALID).
324
+ // Using startWith to seed the stream with the current status so that repeated
325
+ // same-status emissions produced by Angular's updateValueAndValidity() calls
326
+ // (which always emit even when the status hasn't changed) are filtered out.
327
+ // This prevents a single blurred+typed control from triggering validation on
328
+ // all sibling controls in the group via triggerAllFormControlValidation.
329
+ this.subscriptions.push(this.formGroup.statusChanges
330
+ .pipe(startWith(this.formGroup.status), pairwise(), filter(([prev, curr]) => prev !== curr), map(([, curr]) => curr))
331
+ .subscribe(status => {
332
+ if (!this.formGroup.touched) {
333
+ return;
334
+ }
335
+ if (status === 'VALID') {
336
+ this.stepperService.setPanelValid(this.id);
337
+ }
338
+ else if (status === 'INVALID') {
339
+ this.stepperService.setPanelInvalid(this.id);
340
+ }
341
+ }));
342
+ }
343
+ }
344
+ ngOnDestroy() {
345
+ this.subscriptions.forEach(s => s.unsubscribe());
346
+ }
347
+ stepCompleteText(panelNumber) {
348
+ return this.commonStrings.parse(this.commonStrings.keys.stepComplete, { STEP: panelNumber.toString() });
349
+ }
350
+ stepErrorText(panelNumber) {
351
+ return this.commonStrings.parse(this.commonStrings.keys.stepError, { STEP: panelNumber.toString() });
352
+ }
353
+ listenToFocusChanges() {
354
+ this.subscriptions.push(this.stepperService.activeStep
355
+ .pipe(filter(panelId => isPlatformBrowser(this.platformId) && panelId === this.id))
356
+ .subscribe(() => {
357
+ this.headerButton.nativeElement.focus();
358
+ }));
359
+ }
360
+ triggerAllFormControlValidationIfError(panel) {
361
+ if (panel.status === StepperPanelStatus.Error) {
362
+ triggerAllFormControlValidation(this.formGroup);
363
+ }
364
+ }
365
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepperPanel, deps: [{ token: PLATFORM_ID }, { token: i1.HermesCommonStringsService }, { token: i2.FormGroupName, optional: true }, { token: i2.NgModelGroup, optional: true }, { token: StepperService }, { token: i1.IfExpandService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
366
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesStepperPanel, isStandalone: false, selector: "hermes-stepper-panel", host: { properties: { "class.hermes-stepper-panel": "true", "class.hermes-stepper-panel-disabled": "this.disabled" } }, providers: [IfExpandService], queries: [{ propertyName: "stepDescription", predicate: HermesStepDescription }], viewQueries: [{ propertyName: "headerButton", first: true, predicate: ["headerButton"], descendants: true }], usesInheritance: true, 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@if (panel | async; as panel) {\r\n<div [ngClass]=\"getPanelStateClasses(panel)\">\r\n <div class=\"hermes-stepper-header\">\r\n <button\r\n type=\"button\"\r\n class=\"hermes-stepper-header-button\"\r\n (click)=\"togglePanel()\"\r\n [id]=\"getHeaderId(panel.templateId)\"\r\n [attr.aria-disabled]=\"panel.disabled\"\r\n [attr.aria-controls]=\"getContentId(panel.templateId)\"\r\n [attr.aria-expanded]=\"panel.open\"\r\n [class.hermes-stepper-header-has-description]=\"(stepDescription.changes | async)?.length || stepDescription.length\"\r\n #headerButton\r\n >\r\n <span class=\"hermes-step-status\">\r\n <hermes-icon shape=\"angle\" direction=\"right\" class=\"hermes-stepper-angle hermes-step-angle\"></hermes-icon>\r\n <span class=\"hermes-step-status-icon\">\r\n @if (getPanelStatus(panel) === PanelStatus.Error) {\r\n <hermes-icon status=\"danger\" shape=\"error-standard\" class=\"hermes-step-error-icon\"></hermes-icon>\r\n } @if (getPanelStatus(panel) === PanelStatus.Complete) {\r\n <hermes-icon status=\"success\" shape=\"success-standard\" class=\"hermes-step-complete-icon\"></hermes-icon>\r\n }\r\n </span>\r\n </span>\r\n <span class=\"hermes-step-title-wrapper\">\r\n <span class=\"hermes-step-number\">{{panelNumber}}.</span>\r\n <ng-content select=\"hermes-step-title\"></ng-content>\r\n </span>\r\n <ng-content select=\"hermes-step-description\"></ng-content>\r\n </button>\r\n <div class=\"hermes-sr-only\" role=\"status\">\r\n @if (getPanelStatus(panel) === PanelStatus.Error) { {{ stepErrorText(panelNumber)}} } @if (getPanelStatus(panel)\r\n === PanelStatus.Complete) { {{ stepCompleteText(panelNumber)}} }\r\n </div>\r\n </div>\r\n <div\r\n @skipInitialRender\r\n role=\"region\"\r\n class=\"hermes-stepper-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-stepper-content\">\r\n <div class=\"hermes-stepper-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", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i5.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], animations: collapsiblePanelAnimation, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
367
+ }
368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepperPanel, decorators: [{
369
+ type: Component,
370
+ args: [{ selector: 'hermes-stepper-panel', host: { '[class.hermes-stepper-panel]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, animations: collapsiblePanelAnimation, providers: [IfExpandService], standalone: false, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n@if (panel | async; as panel) {\r\n<div [ngClass]=\"getPanelStateClasses(panel)\">\r\n <div class=\"hermes-stepper-header\">\r\n <button\r\n type=\"button\"\r\n class=\"hermes-stepper-header-button\"\r\n (click)=\"togglePanel()\"\r\n [id]=\"getHeaderId(panel.templateId)\"\r\n [attr.aria-disabled]=\"panel.disabled\"\r\n [attr.aria-controls]=\"getContentId(panel.templateId)\"\r\n [attr.aria-expanded]=\"panel.open\"\r\n [class.hermes-stepper-header-has-description]=\"(stepDescription.changes | async)?.length || stepDescription.length\"\r\n #headerButton\r\n >\r\n <span class=\"hermes-step-status\">\r\n <hermes-icon shape=\"angle\" direction=\"right\" class=\"hermes-stepper-angle hermes-step-angle\"></hermes-icon>\r\n <span class=\"hermes-step-status-icon\">\r\n @if (getPanelStatus(panel) === PanelStatus.Error) {\r\n <hermes-icon status=\"danger\" shape=\"error-standard\" class=\"hermes-step-error-icon\"></hermes-icon>\r\n } @if (getPanelStatus(panel) === PanelStatus.Complete) {\r\n <hermes-icon status=\"success\" shape=\"success-standard\" class=\"hermes-step-complete-icon\"></hermes-icon>\r\n }\r\n </span>\r\n </span>\r\n <span class=\"hermes-step-title-wrapper\">\r\n <span class=\"hermes-step-number\">{{panelNumber}}.</span>\r\n <ng-content select=\"hermes-step-title\"></ng-content>\r\n </span>\r\n <ng-content select=\"hermes-step-description\"></ng-content>\r\n </button>\r\n <div class=\"hermes-sr-only\" role=\"status\">\r\n @if (getPanelStatus(panel) === PanelStatus.Error) { {{ stepErrorText(panelNumber)}} } @if (getPanelStatus(panel)\r\n === PanelStatus.Complete) { {{ stepCompleteText(panelNumber)}} }\r\n </div>\r\n </div>\r\n <div\r\n @skipInitialRender\r\n role=\"region\"\r\n class=\"hermes-stepper-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-stepper-content\">\r\n <div class=\"hermes-stepper-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" }]
371
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
372
+ type: Inject,
373
+ args: [PLATFORM_ID]
374
+ }] }, { type: i1.HermesCommonStringsService }, { type: i2.FormGroupName, decorators: [{
375
+ type: Optional
376
+ }] }, { type: i2.NgModelGroup, decorators: [{
377
+ type: Optional
378
+ }] }, { type: StepperService }, { type: i1.IfExpandService }, { type: i0.ChangeDetectorRef }], propDecorators: { headerButton: [{
379
+ type: ViewChild,
380
+ args: ['headerButton']
381
+ }], stepDescription: [{
382
+ type: ContentChildren,
383
+ args: [HermesStepDescription]
384
+ }], disabled: [{
385
+ type: HostBinding,
386
+ args: ['class.hermes-stepper-panel-disabled']
387
+ }] } });
388
+
389
+ /*
390
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
391
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
392
+ * This software is released under MIT license.
393
+ * The full license information can be found in LICENSE in the root directory of this project.
394
+ */
395
+ class HermesStepper {
396
+ constructor(formGroup, ngForm, stepperService) {
397
+ this.formGroup = formGroup;
398
+ this.ngForm = ngForm;
399
+ this.stepperService = stepperService;
400
+ this.subscriptions = [];
401
+ }
402
+ ngOnInit() {
403
+ if (!this.formGroup && !this.ngForm) {
404
+ throw new Error('To use stepper a Reactive or Template Form is required.');
405
+ }
406
+ this.form = this.formGroup ? this.formGroup : this.ngForm;
407
+ this.subscriptions.push(this.listenForPanelsCompleted());
408
+ this.subscriptions.push(this.listenForFormResetChanges());
409
+ }
410
+ ngOnChanges(changes) {
411
+ if (changes.initialPanel &&
412
+ !changes.initialPanel.firstChange &&
413
+ changes.initialPanel.currentValue !== changes.initialPanel.previousValue) {
414
+ this.stepperService.overrideInitialPanel(this.initialPanel);
415
+ }
416
+ }
417
+ ngAfterViewInit() {
418
+ this.subscriptions.push(this.listenForDOMChanges());
419
+ }
420
+ ngOnDestroy() {
421
+ this.subscriptions.forEach(s => s.unsubscribe());
422
+ }
423
+ listenForFormResetChanges() {
424
+ return fromControlReset(this.form.form).subscribe(() => this.stepperService.resetPanels());
425
+ }
426
+ listenForPanelsCompleted() {
427
+ return this.stepperService.panelsCompleted.subscribe(panelsCompleted => {
428
+ if (panelsCompleted && this.form.valid) {
429
+ this.form.ngSubmit.emit();
430
+ }
431
+ else if (!this.form.valid && this.form.touched) {
432
+ this.setPanelsWithFormErrors();
433
+ }
434
+ });
435
+ }
436
+ setPanelsWithFormErrors() {
437
+ const panelsWithErrors = this.panels.reduce((panels, p) => (p.formGroup.invalid ? [...panels, p.id] : panels), []);
438
+ this.stepperService.setPanelsWithErrors(panelsWithErrors);
439
+ }
440
+ listenForDOMChanges() {
441
+ return this.panels.changes.pipe(startWith(this.panels)).subscribe((panels) => {
442
+ this.stepperService.updatePanelOrder(panels.toArray().map(p => p.id));
443
+ if (this.initialPanel) {
444
+ this.stepperService.overrideInitialPanel(this.initialPanel);
445
+ }
446
+ });
447
+ }
448
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepper, deps: [{ token: i2.FormGroupDirective, optional: true }, { token: i2.NgForm, optional: true }, { token: StepperService }], target: i0.ɵɵFactoryTarget.Component }); }
449
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesStepper, isStandalone: false, selector: "form[hermesStepper]", inputs: { initialPanel: ["hermesInitialStep", "initialPanel"] }, host: { properties: { "class.hermes-stepper-forms": "true" } }, providers: [StepperService, { provide: CollapsiblePanelService, useExisting: StepperService }], queries: [{ propertyName: "panels", predicate: HermesStepperPanel }], usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
450
+ }
451
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepper, decorators: [{
452
+ type: Component,
453
+ args: [{
454
+ selector: 'form[hermesStepper]',
455
+ template: `<ng-content></ng-content>`,
456
+ host: {
457
+ '[class.hermes-stepper-forms]': 'true',
458
+ },
459
+ providers: [StepperService, { provide: CollapsiblePanelService, useExisting: StepperService }],
460
+ changeDetection: ChangeDetectionStrategy.OnPush,
461
+ standalone: false,
462
+ }]
463
+ }], ctorParameters: () => [{ type: i2.FormGroupDirective, decorators: [{
464
+ type: Optional
465
+ }] }, { type: i2.NgForm, decorators: [{
466
+ type: Optional
467
+ }] }, { type: StepperService }], propDecorators: { initialPanel: [{
468
+ type: Input,
469
+ args: ['hermesInitialStep']
470
+ }], panels: [{
471
+ type: ContentChildren,
472
+ args: [HermesStepperPanel]
473
+ }] } });
474
+ function fromControlReset(control) {
475
+ return new Observable(observer => {
476
+ const unpatchedControlReset = control.reset;
477
+ control.reset = () => {
478
+ observer.next();
479
+ unpatchedControlReset.apply(control);
480
+ };
481
+ return () => {
482
+ control.reset = unpatchedControlReset;
483
+ };
484
+ });
485
+ }
486
+
487
+ /*
488
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
489
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
490
+ * This software is released under MIT license.
491
+ * The full license information can be found in LICENSE in the root directory of this project.
492
+ */
493
+ class StepperWillyWonka extends WillyWonka {
494
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StepperWillyWonka, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
495
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: StepperWillyWonka, isStandalone: false, selector: "form[hermesStepper]", usesInheritance: true, ngImport: i0 }); }
496
+ }
497
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StepperWillyWonka, decorators: [{
498
+ type: Directive,
499
+ args: [{
500
+ selector: 'form[hermesStepper]',
501
+ standalone: false,
502
+ }]
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 StepperOompaLoompa extends OompaLoompa {
512
+ constructor(cdr, willyWonka, ifExpandService) {
513
+ if (!willyWonka) {
514
+ throw new Error('hermes-stepper-panel should only be used inside of hermesStepper');
515
+ }
516
+ super(cdr, willyWonka);
517
+ this.expand = ifExpandService;
518
+ }
519
+ get flavor() {
520
+ return this.expand.expanded;
521
+ }
522
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StepperOompaLoompa, deps: [{ token: i0.ChangeDetectorRef }, { token: StepperWillyWonka, optional: true }, { token: i1.IfExpandService }], target: i0.ɵɵFactoryTarget.Directive }); }
523
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: StepperOompaLoompa, isStandalone: false, selector: "hermes-stepper-panel, [hermesStepButton]", usesInheritance: true, ngImport: i0 }); }
524
+ }
525
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: StepperOompaLoompa, decorators: [{
526
+ type: Directive,
527
+ args: [{
528
+ selector: 'hermes-stepper-panel, [hermesStepButton]',
529
+ standalone: false,
530
+ }]
531
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: StepperWillyWonka, decorators: [{
532
+ type: Optional
533
+ }] }, { type: i1.IfExpandService }] });
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
+ var HermesStepButtonType;
542
+ (function (HermesStepButtonType) {
543
+ HermesStepButtonType["Next"] = "next";
544
+ HermesStepButtonType["Previous"] = "previous";
545
+ HermesStepButtonType["Submit"] = "submit";
546
+ })(HermesStepButtonType || (HermesStepButtonType = {}));
547
+ class HermesStepButton {
548
+ constructor(hermesStep, stepperService) {
549
+ this.hermesStep = hermesStep;
550
+ this.stepperService = stepperService;
551
+ this.type = HermesStepButtonType.Next;
552
+ this.submitButton = false;
553
+ this.previousButton = false;
554
+ }
555
+ ngOnInit() {
556
+ this.submitButton = this.type === HermesStepButtonType.Submit;
557
+ this.previousButton = this.type === HermesStepButtonType.Previous;
558
+ }
559
+ navigateToNextPanel() {
560
+ if (this.previousButton) {
561
+ this.stepperService.navigateToPreviousPanel(this.hermesStep.id);
562
+ return;
563
+ }
564
+ this.stepperService.navigateToNextPanel(this.hermesStep.id, this.hermesStep.formGroup.valid);
565
+ }
566
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepButton, deps: [{ token: HermesStepperPanel }, { token: StepperService }], target: i0.ɵɵFactoryTarget.Directive }); }
567
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: HermesStepButton, isStandalone: false, selector: "[hermesStepButton]", inputs: { type: ["hermesStepButton", "type"] }, host: { listeners: { "click": "navigateToNextPanel()" }, properties: { "class.hermes-step-button": "true", "class.btn": "true", "type": "'button'", "class.btn-success": "this.submitButton", "class.btn-link": "this.previousButton" } }, ngImport: i0 }); }
568
+ }
569
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepButton, decorators: [{
570
+ type: Directive,
571
+ args: [{
572
+ selector: '[hermesStepButton]',
573
+ host: {
574
+ '[class.hermes-step-button]': 'true',
575
+ '[class.btn]': 'true',
576
+ '[type]': "'button'",
577
+ },
578
+ standalone: false,
579
+ }]
580
+ }], ctorParameters: () => [{ type: HermesStepperPanel }, { type: StepperService }], propDecorators: { type: [{
581
+ type: Input,
582
+ args: ['hermesStepButton']
583
+ }], submitButton: [{
584
+ type: HostBinding,
585
+ args: ['class.btn-success']
586
+ }], previousButton: [{
587
+ type: HostBinding,
588
+ args: ['class.btn-link']
589
+ }], navigateToNextPanel: [{
590
+ type: HostListener,
591
+ args: ['click']
592
+ }] } });
593
+
594
+ /*
595
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
596
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
597
+ * This software is released under MIT license.
598
+ * The full license information can be found in LICENSE in the root directory of this project.
599
+ */
600
+ class HermesStepContent {
601
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
602
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesStepContent, isStandalone: false, selector: "hermes-step-content", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
603
+ }
604
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepContent, decorators: [{
605
+ type: Component,
606
+ args: [{
607
+ selector: 'hermes-step-content',
608
+ template: `<ng-content></ng-content>`,
609
+ changeDetection: ChangeDetectionStrategy.OnPush,
610
+ standalone: false,
611
+ }]
612
+ }] });
613
+
614
+ /*
615
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
616
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
617
+ * This software is released under MIT license.
618
+ * The full license information can be found in LICENSE in the root directory of this project.
619
+ */
620
+ class HermesStepTitle {
621
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepTitle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
622
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesStepTitle, isStandalone: false, selector: "hermes-step-title", host: { properties: { "class.hermes-stepper-title": "true" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
623
+ }
624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepTitle, decorators: [{
625
+ type: Component,
626
+ args: [{
627
+ selector: 'hermes-step-title',
628
+ template: `<ng-content></ng-content>`,
629
+ host: { '[class.hermes-stepper-title]': 'true' },
630
+ changeDetection: ChangeDetectionStrategy.OnPush,
631
+ standalone: false,
632
+ }]
633
+ }] });
634
+
635
+ /*
636
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
637
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
638
+ * This software is released under MIT license.
639
+ * The full license information can be found in LICENSE in the root directory of this project.
640
+ */
641
+ const declarations = [
642
+ HermesStepper,
643
+ HermesStepButton,
644
+ HermesStepTitle,
645
+ HermesStepDescription,
646
+ HermesStepContent,
647
+ HermesStepperPanel,
648
+ StepperOompaLoompa,
649
+ StepperWillyWonka,
650
+ ];
651
+ class HermesStepperModule {
652
+ constructor() {
653
+ ClarityIcons.addIcons(angleIcon, successStandardIcon, errorStandardIcon);
654
+ }
655
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
656
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesStepperModule, declarations: [HermesStepper,
657
+ HermesStepButton,
658
+ HermesStepTitle,
659
+ HermesStepDescription,
660
+ HermesStepContent,
661
+ HermesStepperPanel,
662
+ StepperOompaLoompa,
663
+ StepperWillyWonka], imports: [CommonModule, HermesIcon], exports: [HermesStepper,
664
+ HermesStepButton,
665
+ HermesStepTitle,
666
+ HermesStepDescription,
667
+ HermesStepContent,
668
+ HermesStepperPanel,
669
+ StepperOompaLoompa,
670
+ StepperWillyWonka, HermesIcon] }); }
671
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepperModule, imports: [CommonModule, HermesIcon] }); }
672
+ }
673
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesStepperModule, decorators: [{
674
+ type: NgModule,
675
+ args: [{
676
+ imports: [CommonModule, HermesIcon],
677
+ declarations: [...declarations],
678
+ exports: [...declarations, HermesIcon],
679
+ }]
680
+ }], ctorParameters: () => [] });
681
+
682
+ /*
683
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
684
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
685
+ * This software is released under MIT license.
686
+ * The full license information can be found in LICENSE in the root directory of this project.
687
+ */
688
+
689
+ /**
690
+ * Generated bundle index. Do not edit.
691
+ */
692
+
693
+ export { HermesStepButton, HermesStepButtonType, HermesStepContent, HermesStepDescription, HermesStepTitle, HermesStepper, HermesStepperModule, HermesStepperPanel, StepperOompaLoompa, StepperPanelModel, StepperPanelStatus, StepperService, StepperWillyWonka };
694
+ //# sourceMappingURL=hermes-ui-angular-stepper.mjs.map