@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,386 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Input, ViewChild, Output, Inject, Optional, Component, NgModule } from '@angular/core';
3
+ import * as i3 from '@hermes-ui/angular/addons/a11y';
4
+ import { ZoomLevel } from '@hermes-ui/angular/addons/a11y';
5
+ import * as i4 from '@hermes-ui/angular/addons/tabs';
6
+ import { Tabs, AppfxTabsModule } from '@hermes-ui/angular/addons/tabs';
7
+ import * as i2 from '@hermes-ui/angular/addons/var';
8
+ import { TabLayout, StepValidationState, formatError, modalServiceToken, WorkflowModelMonitor, AppfxWorkflowCoreModule } from '@hermes-ui/angular/addons/var';
9
+ import { Subscription, of, isObservable } from 'rxjs';
10
+ import { take, filter } from 'rxjs/operators';
11
+ import * as i1 from '@hermes-ui/angular/addons/workflow/strings';
12
+ import * as i5 from '@hermes-ui/angular/modal';
13
+ import { HermesModalModule } from '@hermes-ui/angular/modal';
14
+ import * as i6 from '@angular/common';
15
+ import { CommonModule } from '@angular/common';
16
+ import * as i3$1 from '@angular/forms';
17
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
18
+ import * as i2$1 from '@hermes-ui/angular/forms/checkbox';
19
+ import { HermesCheckboxModule } from '@hermes-ui/angular/forms/checkbox';
20
+ import * as i1$1 from '@hermes-ui/angular/forms/common';
21
+
22
+ /*
23
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
24
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
25
+ * This software is released under MIT license.
26
+ * The full license information can be found in LICENSE in the root directory of this project.
27
+ */
28
+ /**
29
+ * A multi page dialog implemented as a single modal dialog with clarity tabs where
30
+ * each step(page) is in a separate tab.
31
+ * A custom component can be added in the dialog header (appfx-dialog-header) if it is
32
+ * needed. See the example below:
33
+ *
34
+ * @example
35
+ * <appfx-dialog
36
+ * [loading]="loading"
37
+ * [steps]="steps"
38
+ * [model]="dialogModel"
39
+ * [title]="options.title"
40
+ * [subTitle]="subTitle"
41
+ * [defaultButton]="submit"
42
+ * [okButtonLabel]="okButtonLabel"
43
+ * [disableTabsContent]="!toggleStateEnabled"
44
+ * [closeHandler]="closeHandler">
45
+ * <appfx-dialog-header>
46
+ * <appfx-toggle
47
+ * [label]="label"
48
+ * [toggleId]="'myToggleControlId'"
49
+ * [(toggleState)]="toggleStateEnabled">
50
+ * </appfx-toggle>
51
+ * </appfx-dialog-header>
52
+ * </appfx-dialog>
53
+ */
54
+ class DialogComponent {
55
+ #opened;
56
+ #subTitle$;
57
+ constructor(cdr, workflowStrings, configService,
58
+ /**
59
+ * openModalComponent = undefined - Dialog used without ModalService
60
+ * openModalComponent = true - opened using ModalService.openModalComponent API
61
+ * openModalComponent = false - opened using ModalService.openModal API
62
+ */
63
+ openModalComponent, zoomLevelService) {
64
+ this.cdr = cdr;
65
+ this.workflowStrings = workflowStrings;
66
+ this.configService = configService;
67
+ this.zoomLevelService = zoomLevelService;
68
+ /** The tabs layout. The default value is horizontal if it is not specified. */
69
+ this.tabLayout = TabLayout.horizontal;
70
+ /** Display loading indicator. */
71
+ this.loading = false;
72
+ /**
73
+ * Show Tab Links (true by default)
74
+ * Set this to false if you want to hide the tab links.
75
+ * You can set this to false if you have only one step.
76
+ */
77
+ this.showTabLinks = true;
78
+ /** Dispatches when any of the workflow state's variables changes. */
79
+ this.onModelChange = new EventEmitter();
80
+ /**
81
+ * Dispatched when the dialog is closed (in all three cases: via the close button
82
+ * (on the top right corner) or the OK/Cancel buttons).
83
+ */
84
+ this.onClose = new EventEmitter();
85
+ /** Emits when opened input is changed. */
86
+ this.openedChange = new EventEmitter();
87
+ this.errorIconVisibleList = [];
88
+ this.closeHandlerValidationState = new StepValidationState();
89
+ this.currentZoomLevel = ZoomLevel.none;
90
+ this.ZoomLevel = ZoomLevel;
91
+ this.tabLinksOpened = false;
92
+ this.subscriptions = new Subscription();
93
+ this.defaultMinHeight = '545px';
94
+ this.#opened = true;
95
+ if (openModalComponent === false) {
96
+ throw new Error('AppFx Dialog must be opened using ModalService.openModalComponent method.');
97
+ }
98
+ this.cancelButtonLabel = workflowStrings.defaultCancelButtonLabel ?? '';
99
+ this.okButtonLabel = workflowStrings.defaultOkButtonLabel ?? '';
100
+ }
101
+ /**
102
+ * The sub title of the dialog.
103
+ */
104
+ set subTitle(subTitle) {
105
+ if (typeof subTitle === 'string') {
106
+ this.#subTitle$ = of(subTitle);
107
+ }
108
+ else if (isObservable(subTitle)) {
109
+ this.#subTitle$ = subTitle;
110
+ }
111
+ }
112
+ /** Controls dialog open/close state. */
113
+ get opened() {
114
+ return this.#opened;
115
+ }
116
+ set opened(value) {
117
+ this.#opened = value;
118
+ this.openedChange.emit(value);
119
+ if (!value) {
120
+ this.onClose.emit();
121
+ }
122
+ }
123
+ get subTitle$() {
124
+ return this.#subTitle$;
125
+ }
126
+ get isVerticalLayout() {
127
+ return this.tabLayout === TabLayout.vertical;
128
+ }
129
+ get showAppfxTabLinks() {
130
+ return this.showTabLinks && this.isVerticalLayout && this.currentZoomLevel !== ZoomLevel.none;
131
+ }
132
+ get showTabLinksInAppfxTabs() {
133
+ return this.showAppfxTabLinks ? this.tabLinksOpened : this.showTabLinks;
134
+ }
135
+ get heightStyle() {
136
+ if (this.currentZoomLevel !== ZoomLevel.none) {
137
+ return {};
138
+ }
139
+ if (this.height) {
140
+ return { height: `${this.height}` };
141
+ }
142
+ return { 'min-height': `${this.defaultMinHeight}` };
143
+ }
144
+ get isLoading() {
145
+ return this.loading || this.tabs.isLoading;
146
+ }
147
+ get isOkButtonDisabled() {
148
+ return this.isLoading || !this.tabs.isReady;
149
+ }
150
+ get isSignPostOpen() {
151
+ return !!(this.debugPopup && this.debugPopup.isOpen);
152
+ }
153
+ ngOnInit() {
154
+ if (this.zoomLevelService) {
155
+ this.subscriptions.add(this.zoomLevelService.onChange.subscribe((level) => {
156
+ this.currentZoomLevel = level;
157
+ this.cdr.detectChanges();
158
+ }));
159
+ }
160
+ }
161
+ ngOnDestroy() {
162
+ this.subscriptions.unsubscribe();
163
+ }
164
+ onOkButtonClick() {
165
+ this.tabs
166
+ .validate$()
167
+ .pipe(take(1), filter(isValid => isValid))
168
+ .subscribe(() => this.submitDialog());
169
+ }
170
+ onCancelButtonClick() {
171
+ const close$ = this.closeHandler && this.closeHandler.onCancel ? this.closeHandler.onCancel() : of(false);
172
+ this.subscribeForCloseHandler(close$);
173
+ }
174
+ onModalOpenChange(opened) {
175
+ if (opened) {
176
+ this.opened = true;
177
+ }
178
+ else {
179
+ this.onCancelButtonClick();
180
+ }
181
+ }
182
+ submitDialog() {
183
+ const close$ = this.closeHandler && this.closeHandler.onSubmit ? this.closeHandler.onSubmit() : of(true);
184
+ this.subscribeForCloseHandler(close$);
185
+ }
186
+ subscribeForCloseHandler(close$) {
187
+ this.loading = true;
188
+ close$.pipe(take(1)).subscribe({
189
+ error: (error) => {
190
+ this.loading = false;
191
+ if (error !== notDisplayedError) {
192
+ this.closeHandlerValidationState.errors = [
193
+ formatError(error).data.message || this.workflowStrings.defaultDialogSubmitError,
194
+ ];
195
+ }
196
+ },
197
+ complete: () => {
198
+ this.loading = false;
199
+ this.closeHandlerValidationState.errors = [];
200
+ this.closeModal();
201
+ },
202
+ });
203
+ }
204
+ closeModal() {
205
+ this.opened = false;
206
+ }
207
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: DialogComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.WorkflowStrings }, { token: i2.WorkflowConfigurationService }, { token: modalServiceToken, optional: true }, { token: i3.ZoomLevelService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
208
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: DialogComponent, isStandalone: false, selector: "appfx-dialog", inputs: { title: "title", size: "size", height: "height", defaultButton: "defaultButton", cancelButtonLabel: "cancelButtonLabel", okButtonLabel: "okButtonLabel", tabLayout: "tabLayout", disableTabsContent: "disableTabsContent", loading: "loading", steps: "steps", model: "model", closeHandler: "closeHandler", showTabLinks: "showTabLinks", subTitle: "subTitle", opened: "opened" }, outputs: { onModelChange: "onModelChange", onClose: "onClose", openedChange: "openedChange" }, viewQueries: [{ propertyName: "tabs", first: true, predicate: Tabs, descendants: true, static: true }, { propertyName: "debugPopup", first: true, predicate: WorkflowModelMonitor, descendants: 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<hermes-modal\r\n [hermesModalStaticBackdrop]=\"true\"\r\n [hermesModalOpen]=\"opened\"\r\n (hermesModalOpenChange)=\"onModalOpenChange($event)\"\r\n [hermesModalSize]=\"size || ''\"\r\n class=\"appfx-dialog\"\r\n [ngClass]=\"tabLayout\"\r\n [class.debug-popup]=\"isSignPostOpen\"\r\n [class.zoom2x]=\"currentZoomLevel === ZoomLevel.x2\"\r\n [class.zoom4x]=\"currentZoomLevel === ZoomLevel.x4\"\r\n [class.tab-links-opened]=\"tabLinksOpened\"\r\n [class.show-tab-content]=\"!tabLinksOpened\"\r\n>\r\n <div class=\"modal-title\">\r\n <appfx-model-popup *ngIf=\"configService.debug\" [modelMgr]=\"appfxTabs.modelMgr\"> </appfx-model-popup>\r\n <appfx-tab-links *ngIf=\"showAppfxTabLinks\" [(opened)]=\"tabLinksOpened\" [title]=\"appfxTabs.activeTabStep.title\">\r\n </appfx-tab-links>\r\n <ng-container *ngIf=\"subTitle$ | async as st; else noSubTitle\">\r\n <h1 class=\"modal-title p-0 primaryTitle\" [textContent]=\"title\"></h1>\r\n <div class=\"separator\"></div>\r\n <h2 class=\"secondaryTitle\" [textContent]=\"st\"></h2>\r\n </ng-container>\r\n <ng-template #noSubTitle>\r\n <h1 class=\"modal-title p-0 primaryTitle secondaryTitleIsEmpty\" [textContent]=\"title\"></h1>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"modal-body\" [ngStyle]=\"heightStyle\">\r\n <appfx-spinner *ngIf=\"isLoading\" [message]=\"workflowStrings.loading\"></appfx-spinner>\r\n <appfx-validation-banner [state]=\"closeHandlerValidationState\"> </appfx-validation-banner>\r\n\r\n <ng-content select=\"appfx-dialog-header\"></ng-content>\r\n\r\n <appfx-tabs\r\n #appfxTabs\r\n [tabs]=\"steps\"\r\n [model]=\"model\"\r\n [disableTabsContent]=\"disableTabsContent\"\r\n [tabLayout]=\"tabLayout\"\r\n [showTabLinks]=\"showTabLinksInAppfxTabs\"\r\n [showLoadingIndicator]=\"false\"\r\n [autoCollapseTabLinks]=\"false\"\r\n (onModelChange)=\"onModelChange.emit($event)\"\r\n (tabLinksOpenedChange)=\"tabLinksOpened = $event\"\r\n >\r\n </appfx-tabs>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button\r\n type=\"button\"\r\n data-test-id=\"cancelBtn\"\r\n class=\"btn\"\r\n [class.btn-primary]=\"defaultButton === 'close'\"\r\n [class.btn-outline]=\"defaultButton !== 'close'\"\r\n (click)=\"onCancelButtonClick()\"\r\n >\r\n {{ cancelButtonLabel }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n data-test-id=\"submitBtn\"\r\n [disabled]=\"isOkButtonDisabled\"\r\n class=\"btn\"\r\n [class.btn-primary]=\"defaultButton === 'submit'\"\r\n [class.btn-outline]=\"defaultButton !== 'submit'\"\r\n (click)=\"onOkButtonClick()\"\r\n >\r\n {{ okButtonLabel }}\r\n </button>\r\n </div>\r\n</hermes-modal>\r\n", styles: [":root :host ::ng-deep .tab-content{display:inline}.center-dialog-content{position:absolute;inset:0;z-index:1;pointer-events:none;display:flex;flex-direction:column;justify-content:center;align-items:center}.modal-title .primaryTitle.secondaryTitleIsEmpty{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.modal-title{display:flex;align-items:flex-start;padding-left:0}.modal-title .primaryTitle{flex-shrink:0;font-size:24px}.modal-title .primaryTitle.secondaryTitleIsEmpty{flex-shrink:1}.modal-title .primaryTitle:not(.secondaryTitleIsEmpty){max-width:65%}.modal-title .secondaryTitle{display:block;word-break:break-all;margin-top:0;margin-bottom:0;line-height:24px;font-size:18px}.modal-title .separator{content:\"\";border-left:1px solid #ccc;margin:0 18px;height:22px}.div-disabled{pointer-events:none;cursor:not-allowed;opacity:.6}.div-disabled .div-disabled{opacity:1}.debug-popup ::ng-deep div.modal-dialog.modal-xl{margin-left:350px}hermes-tabs ::ng-deep section{flex:1 1 auto}\n", ".appfx-dialog.zoom2x ::ng-deep .modal,.appfx-dialog.zoom4x ::ng-deep .modal{overflow:visible}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper{display:flex;flex-direction:row;flex:1 1 100%;height:100%;width:100%;max-height:100%}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content{display:flex;flex-direction:column;flex:2 2 auto;align-items:flex-start;padding:0;overflow:hidden;border:none;border-radius:0}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible{flex:0 0 auto;width:100%;padding:1.2rem;display:flex;justify-content:space-between;align-items:flex-start}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper{width:calc(100% - 1.2rem)}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper .modal-title,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper .modal-title{flex-direction:column;max-width:100%}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper .modal-title .separator,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper .modal-title .separator{display:none}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-body,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-body{flex:1 1 auto;width:100%;height:100%;padding:0 1.2rem}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-footer,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-footer{padding-right:1.2rem;display:block;height:4.2rem;min-height:4.2rem;max-height:4.2rem;width:100%;flex:0 0 4.2rem}.appfx-dialog.zoom2x .secondaryTitle,.appfx-dialog.zoom4x .secondaryTitle{white-space:pre-line}.appfx-dialog.zoom2x ::ng-deep .modal-dialog{height:75vh}.appfx-dialog.zoom4x ::ng-deep .modal{padding:0}.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog{width:100%;height:100%;margin:0}.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content{display:block;overflow-y:auto}.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-body{overflow-y:hidden;max-height:unset;height:unset}.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-footer{position:sticky;bottom:0;background-color:inherit;min-height:3.2rem;height:3.2rem;padding-top:.7rem;z-index:1000}.appfx-dialog.zoom4x .primaryTitle{max-width:55%}.appfx-dialog.vertical.zoom2x:not(.tab-links-opened) .primaryTitle,.appfx-dialog.vertical.zoom4x:not(.tab-links-opened) .primaryTitle{display:none}.appfx-dialog.vertical.zoom2x:not(.tab-links-opened) .secondaryTitle,.appfx-dialog.vertical.zoom4x:not(.tab-links-opened) .secondaryTitle{white-space:pre-line}.appfx-dialog.vertical.zoom2x.tab-links-opened ::ng-deep .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible,.appfx-dialog.vertical.zoom4x.tab-links-opened ::ng-deep .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible{flex-direction:row}.appfx-dialog.vertical.zoom2x.tab-links-opened ::ng-deep .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper .modal-title,.appfx-dialog.vertical.zoom4x.tab-links-opened ::ng-deep .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper .modal-title{flex-direction:initial}.appfx-dialog.vertical.zoom2x.tab-links-opened ::ng-deep .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .close,.appfx-dialog.vertical.zoom4x.tab-links-opened ::ng-deep .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .close{display:none}.appfx-dialog.vertical.zoom2x.tab-links-opened .primaryTitle,.appfx-dialog.vertical.zoom4x.tab-links-opened .primaryTitle{width:100%;max-width:100%}.appfx-dialog.vertical.zoom2x.tab-links-opened .separator,.appfx-dialog.vertical.zoom2x.tab-links-opened .secondaryTitle,.appfx-dialog.vertical.zoom4x.tab-links-opened .separator,.appfx-dialog.vertical.zoom4x.tab-links-opened .secondaryTitle{display:none}.appfx-dialog.vertical.zoom2x .secondaryTitle,.appfx-dialog.vertical.zoom4x .secondaryTitle{padding-left:1.5rem}:host .appfx-dialog.show-tab-content ::ng-deep .tab-content{display:flex}:host .appfx-dialog:not(.show-tab-content) ::ng-deep .tab-content{display:none!important}\n"], dependencies: [{ kind: "component", type: i4.TabsComponent, selector: "appfx-tabs", inputs: ["disableTabsContent", "loading", "tabLayout", "showLoadingIndicator", "autoCollapseTabLinks", "showTabLinks", "tabs", "model"], outputs: ["onModelChange", "tabLinksOpenedChange", "activeTabChange"] }, { kind: "component", type: i4.TabLinksComponent, selector: "appfx-tab-links", inputs: ["opened", "title"], outputs: ["openedChange"] }, { kind: "component", type: i2.ValidationBannerComponent, selector: "appfx-validation-banner", inputs: ["state", "closable"] }, { kind: "component", type: i2.WorkflowModelMonitorComponent, selector: "appfx-model-popup", inputs: ["modelMgr"] }, { kind: "component", type: i2.SpinnerComponent, selector: "appfx-spinner", inputs: ["message", "politeness", "isModal", "progressDetails", "showActionButton", "actionButtonLabel"], outputs: ["actionClick"] }, { kind: "component", type: i5.HermesModal, selector: "hermes-modal", inputs: ["hermesModalOpen", "hermesModalClosable", "hermesModalCloseButtonAriaLabel", "hermesModalSize", "hermesModalStaticBackdrop", "hermesModalSkipAnimation", "hermesModalPreventClose", "hermesModalLabelledById", "hermesModalOverrideScrollService"], outputs: ["hermesModalOpenChange", "hermesModalAlternateClose"] }, { kind: "directive", type: i5.HermesModalBody, selector: ".modal-body" }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
209
+ }
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: DialogComponent, decorators: [{
211
+ type: Component,
212
+ args: [{ selector: 'appfx-dialog', 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<hermes-modal\r\n [hermesModalStaticBackdrop]=\"true\"\r\n [hermesModalOpen]=\"opened\"\r\n (hermesModalOpenChange)=\"onModalOpenChange($event)\"\r\n [hermesModalSize]=\"size || ''\"\r\n class=\"appfx-dialog\"\r\n [ngClass]=\"tabLayout\"\r\n [class.debug-popup]=\"isSignPostOpen\"\r\n [class.zoom2x]=\"currentZoomLevel === ZoomLevel.x2\"\r\n [class.zoom4x]=\"currentZoomLevel === ZoomLevel.x4\"\r\n [class.tab-links-opened]=\"tabLinksOpened\"\r\n [class.show-tab-content]=\"!tabLinksOpened\"\r\n>\r\n <div class=\"modal-title\">\r\n <appfx-model-popup *ngIf=\"configService.debug\" [modelMgr]=\"appfxTabs.modelMgr\"> </appfx-model-popup>\r\n <appfx-tab-links *ngIf=\"showAppfxTabLinks\" [(opened)]=\"tabLinksOpened\" [title]=\"appfxTabs.activeTabStep.title\">\r\n </appfx-tab-links>\r\n <ng-container *ngIf=\"subTitle$ | async as st; else noSubTitle\">\r\n <h1 class=\"modal-title p-0 primaryTitle\" [textContent]=\"title\"></h1>\r\n <div class=\"separator\"></div>\r\n <h2 class=\"secondaryTitle\" [textContent]=\"st\"></h2>\r\n </ng-container>\r\n <ng-template #noSubTitle>\r\n <h1 class=\"modal-title p-0 primaryTitle secondaryTitleIsEmpty\" [textContent]=\"title\"></h1>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"modal-body\" [ngStyle]=\"heightStyle\">\r\n <appfx-spinner *ngIf=\"isLoading\" [message]=\"workflowStrings.loading\"></appfx-spinner>\r\n <appfx-validation-banner [state]=\"closeHandlerValidationState\"> </appfx-validation-banner>\r\n\r\n <ng-content select=\"appfx-dialog-header\"></ng-content>\r\n\r\n <appfx-tabs\r\n #appfxTabs\r\n [tabs]=\"steps\"\r\n [model]=\"model\"\r\n [disableTabsContent]=\"disableTabsContent\"\r\n [tabLayout]=\"tabLayout\"\r\n [showTabLinks]=\"showTabLinksInAppfxTabs\"\r\n [showLoadingIndicator]=\"false\"\r\n [autoCollapseTabLinks]=\"false\"\r\n (onModelChange)=\"onModelChange.emit($event)\"\r\n (tabLinksOpenedChange)=\"tabLinksOpened = $event\"\r\n >\r\n </appfx-tabs>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button\r\n type=\"button\"\r\n data-test-id=\"cancelBtn\"\r\n class=\"btn\"\r\n [class.btn-primary]=\"defaultButton === 'close'\"\r\n [class.btn-outline]=\"defaultButton !== 'close'\"\r\n (click)=\"onCancelButtonClick()\"\r\n >\r\n {{ cancelButtonLabel }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n data-test-id=\"submitBtn\"\r\n [disabled]=\"isOkButtonDisabled\"\r\n class=\"btn\"\r\n [class.btn-primary]=\"defaultButton === 'submit'\"\r\n [class.btn-outline]=\"defaultButton !== 'submit'\"\r\n (click)=\"onOkButtonClick()\"\r\n >\r\n {{ okButtonLabel }}\r\n </button>\r\n </div>\r\n</hermes-modal>\r\n", styles: [":root :host ::ng-deep .tab-content{display:inline}.center-dialog-content{position:absolute;inset:0;z-index:1;pointer-events:none;display:flex;flex-direction:column;justify-content:center;align-items:center}.modal-title .primaryTitle.secondaryTitleIsEmpty{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.modal-title{display:flex;align-items:flex-start;padding-left:0}.modal-title .primaryTitle{flex-shrink:0;font-size:24px}.modal-title .primaryTitle.secondaryTitleIsEmpty{flex-shrink:1}.modal-title .primaryTitle:not(.secondaryTitleIsEmpty){max-width:65%}.modal-title .secondaryTitle{display:block;word-break:break-all;margin-top:0;margin-bottom:0;line-height:24px;font-size:18px}.modal-title .separator{content:\"\";border-left:1px solid #ccc;margin:0 18px;height:22px}.div-disabled{pointer-events:none;cursor:not-allowed;opacity:.6}.div-disabled .div-disabled{opacity:1}.debug-popup ::ng-deep div.modal-dialog.modal-xl{margin-left:350px}hermes-tabs ::ng-deep section{flex:1 1 auto}\n", ".appfx-dialog.zoom2x ::ng-deep .modal,.appfx-dialog.zoom4x ::ng-deep .modal{overflow:visible}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper{display:flex;flex-direction:row;flex:1 1 100%;height:100%;width:100%;max-height:100%}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content{display:flex;flex-direction:column;flex:2 2 auto;align-items:flex-start;padding:0;overflow:hidden;border:none;border-radius:0}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible{flex:0 0 auto;width:100%;padding:1.2rem;display:flex;justify-content:space-between;align-items:flex-start}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper{width:calc(100% - 1.2rem)}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper .modal-title,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper .modal-title{flex-direction:column;max-width:100%}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper .modal-title .separator,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper .modal-title .separator{display:none}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-body,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-body{flex:1 1 auto;width:100%;height:100%;padding:0 1.2rem}.appfx-dialog.zoom2x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-footer,.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-footer{padding-right:1.2rem;display:block;height:4.2rem;min-height:4.2rem;max-height:4.2rem;width:100%;flex:0 0 4.2rem}.appfx-dialog.zoom2x .secondaryTitle,.appfx-dialog.zoom4x .secondaryTitle{white-space:pre-line}.appfx-dialog.zoom2x ::ng-deep .modal-dialog{height:75vh}.appfx-dialog.zoom4x ::ng-deep .modal{padding:0}.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog{width:100%;height:100%;margin:0}.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content{display:block;overflow-y:auto}.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-body{overflow-y:hidden;max-height:unset;height:unset}.appfx-dialog.zoom4x ::ng-deep .modal .modal-dialog .modal-content-wrapper .modal-content .modal-footer{position:sticky;bottom:0;background-color:inherit;min-height:3.2rem;height:3.2rem;padding-top:.7rem;z-index:1000}.appfx-dialog.zoom4x .primaryTitle{max-width:55%}.appfx-dialog.vertical.zoom2x:not(.tab-links-opened) .primaryTitle,.appfx-dialog.vertical.zoom4x:not(.tab-links-opened) .primaryTitle{display:none}.appfx-dialog.vertical.zoom2x:not(.tab-links-opened) .secondaryTitle,.appfx-dialog.vertical.zoom4x:not(.tab-links-opened) .secondaryTitle{white-space:pre-line}.appfx-dialog.vertical.zoom2x.tab-links-opened ::ng-deep .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible,.appfx-dialog.vertical.zoom4x.tab-links-opened ::ng-deep .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible{flex-direction:row}.appfx-dialog.vertical.zoom2x.tab-links-opened ::ng-deep .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper .modal-title,.appfx-dialog.vertical.zoom4x.tab-links-opened ::ng-deep .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .modal-title-wrapper .modal-title{flex-direction:initial}.appfx-dialog.vertical.zoom2x.tab-links-opened ::ng-deep .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .close,.appfx-dialog.vertical.zoom4x.tab-links-opened ::ng-deep .modal-dialog .modal-content-wrapper .modal-content .modal-header--accessible .close{display:none}.appfx-dialog.vertical.zoom2x.tab-links-opened .primaryTitle,.appfx-dialog.vertical.zoom4x.tab-links-opened .primaryTitle{width:100%;max-width:100%}.appfx-dialog.vertical.zoom2x.tab-links-opened .separator,.appfx-dialog.vertical.zoom2x.tab-links-opened .secondaryTitle,.appfx-dialog.vertical.zoom4x.tab-links-opened .separator,.appfx-dialog.vertical.zoom4x.tab-links-opened .secondaryTitle{display:none}.appfx-dialog.vertical.zoom2x .secondaryTitle,.appfx-dialog.vertical.zoom4x .secondaryTitle{padding-left:1.5rem}:host .appfx-dialog.show-tab-content ::ng-deep .tab-content{display:flex}:host .appfx-dialog:not(.show-tab-content) ::ng-deep .tab-content{display:none!important}\n"] }]
213
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.WorkflowStrings }, { type: i2.WorkflowConfigurationService }, { type: undefined, decorators: [{
214
+ type: Inject,
215
+ args: [modalServiceToken]
216
+ }, {
217
+ type: Optional
218
+ }] }, { type: i3.ZoomLevelService, decorators: [{
219
+ type: Optional
220
+ }] }], propDecorators: { title: [{
221
+ type: Input
222
+ }], size: [{
223
+ type: Input
224
+ }], height: [{
225
+ type: Input
226
+ }], defaultButton: [{
227
+ type: Input
228
+ }], cancelButtonLabel: [{
229
+ type: Input
230
+ }], okButtonLabel: [{
231
+ type: Input
232
+ }], tabLayout: [{
233
+ type: Input
234
+ }], disableTabsContent: [{
235
+ type: Input
236
+ }], loading: [{
237
+ type: Input
238
+ }], steps: [{
239
+ type: Input
240
+ }], model: [{
241
+ type: Input
242
+ }], closeHandler: [{
243
+ type: Input
244
+ }], showTabLinks: [{
245
+ type: Input
246
+ }], onModelChange: [{
247
+ type: Output
248
+ }], onClose: [{
249
+ type: Output
250
+ }], openedChange: [{
251
+ type: Output
252
+ }], tabs: [{
253
+ type: ViewChild,
254
+ args: [Tabs, { static: true }]
255
+ }], debugPopup: [{
256
+ type: ViewChild,
257
+ args: [WorkflowModelMonitor, { static: false }]
258
+ }], subTitle: [{
259
+ type: Input
260
+ }], opened: [{
261
+ type: Input
262
+ }] } });
263
+ const notDisplayedError = new Object();
264
+
265
+ /*
266
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
267
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
268
+ * This software is released under MIT license.
269
+ * The full license information can be found in LICENSE in the root directory of this project.
270
+ */
271
+ /**
272
+ * A multi page dialog's header component.
273
+ * It can be used for adding custom components (for example: a toggle button or alerts).
274
+ */
275
+ class DialogHeaderComponent {
276
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: DialogHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
277
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: DialogHeaderComponent, isStandalone: false, selector: "appfx-dialog-header", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
278
+ }
279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: DialogHeaderComponent, decorators: [{
280
+ type: Component,
281
+ args: [{
282
+ selector: 'appfx-dialog-header',
283
+ standalone: false,
284
+ template: `<ng-content></ng-content>`,
285
+ }]
286
+ }] });
287
+
288
+ /*
289
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
290
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
291
+ * This software is released under MIT license.
292
+ * The full license information can be found in LICENSE in the root directory of this project.
293
+ */
294
+ /**
295
+ * A toggle with a label control that can be used in the
296
+ * multi page dialog's header section.
297
+ */
298
+ class ToggleComponent {
299
+ static { this.instanceCount = 0; }
300
+ constructor() {
301
+ /** Dispatched when the toggle enabled state is changed. */
302
+ this.toggleStateChange = new EventEmitter();
303
+ /** The enabled toggle state - true or false. */
304
+ this.toggleState = false;
305
+ ToggleComponent.instanceCount++;
306
+ this.toggleId = 'toggle_' + ToggleComponent.instanceCount;
307
+ }
308
+ /**
309
+ * Triggered when the toggle state has changed.
310
+ * @param state The current state
311
+ */
312
+ onToggleStateChanged(state) {
313
+ this.toggleStateChange.emit(state);
314
+ }
315
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
316
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: ToggleComponent, isStandalone: false, selector: "appfx-toggle", inputs: { toggleState: "toggleState", toggleId: "toggleId", label: "label", disabled: "disabled" }, outputs: { toggleStateChange: "toggleStateChange" }, ngImport: i0, template: "<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n<div class=\"hermes-row toggle-header\">\r\n <label class=\"toggle-label\" for=\"{{ toggleId }}\">{{ label }}</label>\r\n <hermes-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n hermesToggle\r\n id=\"{{ toggleId }}\"\r\n [(ngModel)]=\"toggleState\"\r\n (ngModelChange)=\"onToggleStateChanged(toggleState)\"\r\n [attr.disabled]=\"disabled\"\r\n />\r\n </hermes-checkbox-wrapper>\r\n</div>\r\n", styles: [".toggle-header{display:flex;margin-left:0;margin-bottom:5px}.toggle-label{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i1$1.HermesControlLabel, selector: "label", inputs: ["id", "for"] }, { kind: "directive", type: i2$1.HermesCheckbox, selector: "[hermesCheckbox],[hermesToggle]" }, { kind: "component", type: i2$1.HermesCheckboxWrapper, selector: "hermes-checkbox-wrapper,hermes-toggle-wrapper" }, { kind: "directive", type: i3$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
317
+ }
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: ToggleComponent, decorators: [{
319
+ type: Component,
320
+ args: [{ selector: 'appfx-toggle', 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<div class=\"hermes-row toggle-header\">\r\n <label class=\"toggle-label\" for=\"{{ toggleId }}\">{{ label }}</label>\r\n <hermes-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n hermesToggle\r\n id=\"{{ toggleId }}\"\r\n [(ngModel)]=\"toggleState\"\r\n (ngModelChange)=\"onToggleStateChanged(toggleState)\"\r\n [attr.disabled]=\"disabled\"\r\n />\r\n </hermes-checkbox-wrapper>\r\n</div>\r\n", styles: [".toggle-header{display:flex;margin-left:0;margin-bottom:5px}.toggle-label{margin-right:5px}\n"] }]
321
+ }], ctorParameters: () => [], propDecorators: { toggleStateChange: [{
322
+ type: Output
323
+ }], toggleState: [{
324
+ type: Input
325
+ }], toggleId: [{
326
+ type: Input
327
+ }], label: [{
328
+ type: Input
329
+ }], disabled: [{
330
+ type: Input
331
+ }] } });
332
+
333
+ /*
334
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
335
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
336
+ * This software is released under MIT license.
337
+ * The full license information can be found in LICENSE in the root directory of this project.
338
+ */
339
+ const components = [DialogComponent, DialogHeaderComponent, ToggleComponent];
340
+ class AppfxMultiPageDialogModule {
341
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AppfxMultiPageDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
342
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: AppfxMultiPageDialogModule, declarations: [DialogComponent, DialogHeaderComponent, ToggleComponent], imports: [AppfxTabsModule,
343
+ AppfxWorkflowCoreModule,
344
+ HermesCheckboxModule,
345
+ HermesModalModule,
346
+ CommonModule,
347
+ FormsModule,
348
+ ReactiveFormsModule], exports: [DialogComponent, DialogHeaderComponent, ToggleComponent] }); }
349
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AppfxMultiPageDialogModule, imports: [AppfxTabsModule,
350
+ AppfxWorkflowCoreModule,
351
+ HermesCheckboxModule,
352
+ HermesModalModule,
353
+ CommonModule,
354
+ FormsModule,
355
+ ReactiveFormsModule] }); }
356
+ }
357
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: AppfxMultiPageDialogModule, decorators: [{
358
+ type: NgModule,
359
+ args: [{
360
+ imports: [
361
+ AppfxTabsModule,
362
+ AppfxWorkflowCoreModule,
363
+ HermesCheckboxModule,
364
+ HermesModalModule,
365
+ CommonModule,
366
+ FormsModule,
367
+ ReactiveFormsModule,
368
+ ],
369
+ declarations: [...components],
370
+ exports: [...components],
371
+ }]
372
+ }] });
373
+
374
+ /*
375
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
376
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
377
+ * This software is released under MIT license.
378
+ * The full license information can be found in LICENSE in the root directory of this project.
379
+ */
380
+
381
+ /**
382
+ * Generated bundle index. Do not edit.
383
+ */
384
+
385
+ export { AppfxMultiPageDialogModule, DialogComponent as Dialog, DialogComponent, DialogHeaderComponent as DialogHeader, DialogHeaderComponent, ToggleComponent as Toggle, ToggleComponent, notDisplayedError };
386
+ //# sourceMappingURL=hermes-ui-angular-addons-dialog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermes-ui-angular-addons-dialog.mjs","sources":["../../../addons/dialog/multi-page-dialog.component.ts","../../../addons/dialog/multi-page-dialog.component.html","../../../addons/dialog/multi-page-dialog-header.component.ts","../../../addons/dialog/toggle-component/toggle.component.ts","../../../addons/dialog/toggle-component/toggle.component.html","../../../addons/dialog/multi-page-dialog.module.ts","../../../addons/dialog/index.ts","../../../addons/dialog/hermes-ui-angular-addons-dialog.ts"],"sourcesContent":["/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { ZoomLevel, ZoomLevelService } from '@hermes-ui/angular/addons/a11y';\nimport { Tabs } from '@hermes-ui/angular/addons/tabs';\nimport {\n CloseHandler,\n formatError,\n modalServiceToken,\n ModelChange,\n Step,\n StepValidationState,\n TabLayout,\n WorkflowConfigurationService,\n WorkflowModel,\n WorkflowModelMonitor,\n} from '@hermes-ui/angular/addons/var';\nimport { WorkflowStrings } from '@hermes-ui/angular/addons/workflow/strings';\nimport { isObservable, Observable, of, Subscription } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nimport { DefaultButton, ModalSize } from './multi-page-dialog.model';\n\n/**\n * A multi page dialog implemented as a single modal dialog with clarity tabs where\n * each step(page) is in a separate tab.\n * A custom component can be added in the dialog header (appfx-dialog-header) if it is\n * needed. See the example below:\n *\n * @example\n * <appfx-dialog\n * [loading]=\"loading\"\n * [steps]=\"steps\"\n * [model]=\"dialogModel\"\n * [title]=\"options.title\"\n * [subTitle]=\"subTitle\"\n * [defaultButton]=\"submit\"\n * [okButtonLabel]=\"okButtonLabel\"\n * [disableTabsContent]=\"!toggleStateEnabled\"\n * [closeHandler]=\"closeHandler\">\n * <appfx-dialog-header>\n * <appfx-toggle\n * [label]=\"label\"\n * [toggleId]=\"'myToggleControlId'\"\n * [(toggleState)]=\"toggleStateEnabled\">\n * </appfx-toggle>\n * </appfx-dialog-header>\n * </appfx-dialog>\n */\n@Component({\n selector: 'appfx-dialog',\n standalone: false,\n templateUrl: 'multi-page-dialog.component.html',\n styleUrls: ['multi-page-dialog.component.scss', 'multi-page-dialog.a11y.scss'],\n})\nexport class DialogComponent implements OnInit, OnDestroy {\n /** The title of the dialog. */\n @Input() title: string;\n\n /** Dialog's clarity size (\"xl\" | \"lg\" | \"md\" | \"sm\" | \"full-screen\"). */\n @Input() size: ModalSize;\n\n /** Specifies the height of the dialog. */\n @Input() height: string;\n\n /** Set default button - submit or close. The default value is close if it is not specified. */\n @Input() defaultButton: DefaultButton;\n\n /** The cancel button label. */\n @Input() cancelButtonLabel: string;\n\n /** The ok button label. */\n @Input() okButtonLabel: string;\n\n /** The tabs layout. The default value is horizontal if it is not specified. */\n @Input() tabLayout: TabLayout = TabLayout.horizontal;\n\n /** Disable the content of the tabs. */\n @Input() disableTabsContent: boolean;\n\n /** Display loading indicator. */\n @Input() loading = false;\n\n @Input() steps: Step[];\n\n /**\n * You can supply here any structure you like. As long as it has the\n * needed properties to inject to the step models and eject back from\n * the step models.\n *\n * If not specified, the steps will simply stay disconnected from each other,\n * so you would need other means of communication between them.\n */\n @Input() model: WorkflowModel;\n\n /**\n * Object containing callback methods that will be invoked when the Dialog is Submitted or Cancelled.\n * onSubmit is invoked when the user clicks Ok button.\n * onCancel is invoked when the user clicks Cancel button.\n * You can perform the actions you want there (i.e modify something).\n * Dialog will wait for the result and then will close.\n * If there is an error, it will be displayed in the dialog that will remain open.\n */\n @Input() closeHandler: CloseHandler;\n\n /**\n * Show Tab Links (true by default)\n * Set this to false if you want to hide the tab links.\n * You can set this to false if you have only one step.\n */\n @Input() showTabLinks = true;\n\n /** Dispatches when any of the workflow state's variables changes. */\n @Output() readonly onModelChange: EventEmitter<ModelChange[]> = new EventEmitter<ModelChange[]>();\n\n /**\n * Dispatched when the dialog is closed (in all three cases: via the close button\n * (on the top right corner) or the OK/Cancel buttons).\n */\n @Output() onClose: EventEmitter<void> = new EventEmitter<void>();\n\n /** Emits when opened input is changed. */\n @Output() openedChange = new EventEmitter<boolean>();\n\n @ViewChild(Tabs, { static: true }) tabs: Tabs;\n\n errorIconVisibleList: boolean[] = [];\n closeHandlerValidationState = new StepValidationState();\n currentZoomLevel = ZoomLevel.none;\n ZoomLevel = ZoomLevel;\n tabLinksOpened = false;\n\n @ViewChild(WorkflowModelMonitor, { static: false }) private debugPopup: WorkflowModelMonitor;\n\n private subscriptions = new Subscription();\n private readonly defaultMinHeight = '545px';\n\n #opened = true;\n #subTitle$: Observable<string>;\n\n constructor(\n private cdr: ChangeDetectorRef,\n readonly workflowStrings: WorkflowStrings,\n readonly configService: WorkflowConfigurationService,\n /**\n * openModalComponent = undefined - Dialog used without ModalService\n * openModalComponent = true - opened using ModalService.openModalComponent API\n * openModalComponent = false - opened using ModalService.openModal API\n */\n @Inject(modalServiceToken) @Optional() openModalComponent?: boolean,\n @Optional() private zoomLevelService?: ZoomLevelService\n ) {\n if (openModalComponent === false) {\n throw new Error('AppFx Dialog must be opened using ModalService.openModalComponent method.');\n }\n this.cancelButtonLabel = workflowStrings.defaultCancelButtonLabel ?? '';\n this.okButtonLabel = workflowStrings.defaultOkButtonLabel ?? '';\n }\n\n /**\n * The sub title of the dialog.\n */\n @Input()\n set subTitle(subTitle: string | Observable<string>) {\n if (typeof subTitle === 'string') {\n this.#subTitle$ = of(subTitle);\n } else if (isObservable(subTitle)) {\n this.#subTitle$ = subTitle;\n }\n }\n\n /** Controls dialog open/close state. */\n @Input()\n get opened(): boolean {\n return this.#opened;\n }\n\n set opened(value: boolean) {\n this.#opened = value;\n this.openedChange.emit(value);\n if (!value) {\n this.onClose.emit();\n }\n }\n\n get subTitle$(): Observable<string> {\n return this.#subTitle$;\n }\n\n get isVerticalLayout(): boolean {\n return this.tabLayout === TabLayout.vertical;\n }\n\n get showAppfxTabLinks(): boolean {\n return this.showTabLinks && this.isVerticalLayout && this.currentZoomLevel !== ZoomLevel.none;\n }\n\n get showTabLinksInAppfxTabs(): boolean {\n return this.showAppfxTabLinks ? this.tabLinksOpened : this.showTabLinks;\n }\n\n get heightStyle(): any {\n if (this.currentZoomLevel !== ZoomLevel.none) {\n return {};\n }\n if (this.height) {\n return { height: `${this.height}` };\n }\n return { 'min-height': `${this.defaultMinHeight}` };\n }\n\n get isLoading(): boolean {\n return this.loading || this.tabs.isLoading;\n }\n\n get isOkButtonDisabled(): boolean {\n return this.isLoading || !this.tabs.isReady;\n }\n\n get isSignPostOpen(): boolean {\n return !!(this.debugPopup && this.debugPopup.isOpen);\n }\n\n ngOnInit(): void {\n if (this.zoomLevelService) {\n this.subscriptions.add(\n this.zoomLevelService.onChange.subscribe((level: ZoomLevel) => {\n this.currentZoomLevel = level;\n this.cdr.detectChanges();\n })\n );\n }\n }\n\n ngOnDestroy() {\n this.subscriptions.unsubscribe();\n }\n\n onOkButtonClick(): void {\n this.tabs\n .validate$()\n .pipe(\n take(1),\n filter(isValid => isValid)\n )\n .subscribe(() => this.submitDialog());\n }\n\n onCancelButtonClick(): void {\n const close$ = this.closeHandler && this.closeHandler.onCancel ? this.closeHandler.onCancel() : of(false);\n this.subscribeForCloseHandler(close$);\n }\n\n onModalOpenChange(opened: boolean) {\n if (opened) {\n this.opened = true;\n } else {\n this.onCancelButtonClick();\n }\n }\n\n private submitDialog() {\n const close$ = this.closeHandler && this.closeHandler.onSubmit ? this.closeHandler.onSubmit() : of(true);\n this.subscribeForCloseHandler(close$);\n }\n\n private subscribeForCloseHandler(close$: Observable<any>) {\n this.loading = true;\n close$.pipe(take(1)).subscribe({\n error: (error: unknown) => {\n this.loading = false;\n if (error !== notDisplayedError) {\n this.closeHandlerValidationState.errors = [\n formatError(error).data.message || this.workflowStrings.defaultDialogSubmitError,\n ];\n }\n },\n complete: () => {\n this.loading = false;\n this.closeHandlerValidationState.errors = [];\n this.closeModal();\n },\n });\n }\n\n private closeModal(): void {\n this.opened = false;\n }\n}\n\nexport const notDisplayedError = new Object();\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n<hermes-modal\r\n [hermesModalStaticBackdrop]=\"true\"\r\n [hermesModalOpen]=\"opened\"\r\n (hermesModalOpenChange)=\"onModalOpenChange($event)\"\r\n [hermesModalSize]=\"size || ''\"\r\n class=\"appfx-dialog\"\r\n [ngClass]=\"tabLayout\"\r\n [class.debug-popup]=\"isSignPostOpen\"\r\n [class.zoom2x]=\"currentZoomLevel === ZoomLevel.x2\"\r\n [class.zoom4x]=\"currentZoomLevel === ZoomLevel.x4\"\r\n [class.tab-links-opened]=\"tabLinksOpened\"\r\n [class.show-tab-content]=\"!tabLinksOpened\"\r\n>\r\n <div class=\"modal-title\">\r\n <appfx-model-popup *ngIf=\"configService.debug\" [modelMgr]=\"appfxTabs.modelMgr\"> </appfx-model-popup>\r\n <appfx-tab-links *ngIf=\"showAppfxTabLinks\" [(opened)]=\"tabLinksOpened\" [title]=\"appfxTabs.activeTabStep.title\">\r\n </appfx-tab-links>\r\n <ng-container *ngIf=\"subTitle$ | async as st; else noSubTitle\">\r\n <h1 class=\"modal-title p-0 primaryTitle\" [textContent]=\"title\"></h1>\r\n <div class=\"separator\"></div>\r\n <h2 class=\"secondaryTitle\" [textContent]=\"st\"></h2>\r\n </ng-container>\r\n <ng-template #noSubTitle>\r\n <h1 class=\"modal-title p-0 primaryTitle secondaryTitleIsEmpty\" [textContent]=\"title\"></h1>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"modal-body\" [ngStyle]=\"heightStyle\">\r\n <appfx-spinner *ngIf=\"isLoading\" [message]=\"workflowStrings.loading\"></appfx-spinner>\r\n <appfx-validation-banner [state]=\"closeHandlerValidationState\"> </appfx-validation-banner>\r\n\r\n <ng-content select=\"appfx-dialog-header\"></ng-content>\r\n\r\n <appfx-tabs\r\n #appfxTabs\r\n [tabs]=\"steps\"\r\n [model]=\"model\"\r\n [disableTabsContent]=\"disableTabsContent\"\r\n [tabLayout]=\"tabLayout\"\r\n [showTabLinks]=\"showTabLinksInAppfxTabs\"\r\n [showLoadingIndicator]=\"false\"\r\n [autoCollapseTabLinks]=\"false\"\r\n (onModelChange)=\"onModelChange.emit($event)\"\r\n (tabLinksOpenedChange)=\"tabLinksOpened = $event\"\r\n >\r\n </appfx-tabs>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button\r\n type=\"button\"\r\n data-test-id=\"cancelBtn\"\r\n class=\"btn\"\r\n [class.btn-primary]=\"defaultButton === 'close'\"\r\n [class.btn-outline]=\"defaultButton !== 'close'\"\r\n (click)=\"onCancelButtonClick()\"\r\n >\r\n {{ cancelButtonLabel }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n data-test-id=\"submitBtn\"\r\n [disabled]=\"isOkButtonDisabled\"\r\n class=\"btn\"\r\n [class.btn-primary]=\"defaultButton === 'submit'\"\r\n [class.btn-outline]=\"defaultButton !== 'submit'\"\r\n (click)=\"onOkButtonClick()\"\r\n >\r\n {{ okButtonLabel }}\r\n </button>\r\n </div>\r\n</hermes-modal>\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'appfx-dialog-header',\r\n standalone: false,\r\n template: `<ng-content></ng-content>`,\r\n})\r\n/**\r\n * A multi page dialog's header component.\r\n * It can be used for adding custom components (for example: a toggle button or alerts).\r\n */\r\nexport class DialogHeaderComponent {}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n/**\r\n * A toggle with a label control that can be used in the\r\n * multi page dialog's header section.\r\n */\r\n@Component({\r\n selector: 'appfx-toggle',\r\n standalone: false,\r\n templateUrl: 'toggle.component.html',\r\n styleUrls: ['toggle.component.scss'],\r\n})\r\nexport class ToggleComponent {\r\n private static instanceCount = 0;\r\n\r\n /** Dispatched when the toggle enabled state is changed. */\r\n @Output() toggleStateChange = new EventEmitter<boolean>();\r\n\r\n /** The enabled toggle state - true or false. */\r\n @Input() toggleState = false;\r\n\r\n /**\r\n * The toggle control ID. If it is not specified,\r\n * an autogenerated ID will be set.\r\n */\r\n @Input() toggleId: string;\r\n\r\n /** The label/description of the toggle. */\r\n @Input() label: string;\r\n\r\n @Input() disabled: boolean;\r\n\r\n constructor() {\r\n ToggleComponent.instanceCount++;\r\n this.toggleId = 'toggle_' + ToggleComponent.instanceCount;\r\n }\r\n\r\n /**\r\n * Triggered when the toggle state has changed.\r\n * @param state The current state\r\n */\r\n onToggleStateChanged(state: boolean): void {\r\n this.toggleStateChange.emit(state);\r\n }\r\n}\r\n","<!--\r\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n ~ This software is released under MIT license.\r\n ~ The full license information can be found in LICENSE in the root directory of this project.\r\n -->\r\n<div class=\"hermes-row toggle-header\">\r\n <label class=\"toggle-label\" for=\"{{ toggleId }}\">{{ label }}</label>\r\n <hermes-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n hermesToggle\r\n id=\"{{ toggleId }}\"\r\n [(ngModel)]=\"toggleState\"\r\n (ngModelChange)=\"onToggleStateChanged(toggleState)\"\r\n [attr.disabled]=\"disabled\"\r\n />\r\n </hermes-checkbox-wrapper>\r\n</div>\r\n","/*\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n * This software is released under MIT license.\n * The full license information can be found in LICENSE in the root directory of this project.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AppfxTabsModule } from '@hermes-ui/angular/addons/tabs';\nimport { AppfxWorkflowCoreModule } from '@hermes-ui/angular/addons/var';\nimport { HermesCheckboxModule } from '@hermes-ui/angular/forms/checkbox';\nimport { HermesModalModule } from '@hermes-ui/angular/modal';\n\nimport { DialogHeaderComponent } from './multi-page-dialog-header.component';\nimport { DialogComponent } from './multi-page-dialog.component';\nimport { ToggleComponent } from './toggle-component/toggle.component';\n\nconst components = [DialogComponent, DialogHeaderComponent, ToggleComponent];\n\n@NgModule({\n imports: [\n AppfxTabsModule,\n AppfxWorkflowCoreModule,\n HermesCheckboxModule,\n HermesModalModule,\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ],\n declarations: [...components],\n exports: [...components],\n})\nexport class AppfxMultiPageDialogModule {}\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport { DialogComponent, notDisplayedError } from './multi-page-dialog.component';\r\nexport {\r\n /**\r\n * @deprecated Use DialogComponent import instead.\r\n */\r\n DialogComponent as Dialog,\r\n} from './multi-page-dialog.component';\r\nexport { DialogHeaderComponent } from './multi-page-dialog-header.component';\r\nexport {\r\n /**\r\n * @deprecated Use DialogHeaderComponent import instead.\r\n */\r\n DialogHeaderComponent as DialogHeader,\r\n} from './multi-page-dialog-header.component';\r\nexport { DefaultButton, DialogOptions, ModalSize } from './multi-page-dialog.model';\r\nexport { AppfxMultiPageDialogModule } from './multi-page-dialog.module';\r\nexport { ToggleComponent } from './toggle-component/toggle.component';\r\nexport {\r\n /**\r\n * @deprecated Use ToggleComponent import instead.\r\n */\r\n ToggleComponent as Toggle,\r\n} from './toggle-component/toggle.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable } from '@angular/core';
3
+
4
+ /**
5
+ * Service for managing groups of items that can be dragged and dropped with CdkDropList.
6
+ */
7
+ class DragAndDropGroupService {
8
+ constructor() {
9
+ this.groups = new Map();
10
+ }
11
+ /**
12
+ * Retrieves the items (CdkDropList instances) belonging to a specific group.
13
+ *
14
+ * @param group The name of the group to retrieve items for.
15
+ * @returns An array of CdkDropList instances belonging to the specified group.
16
+ */
17
+ getGroupItems(group) {
18
+ const items = this.groups.get(group);
19
+ if (items) {
20
+ return items;
21
+ }
22
+ const emptyItems = [];
23
+ this.groups.set(group, emptyItems);
24
+ return emptyItems;
25
+ }
26
+ /**
27
+ * Adds a CdkDropList item to the specified group.
28
+ *
29
+ * @param group The name of the group to add the item to.
30
+ * @param item The CdkDropList instance to add to the group.
31
+ */
32
+ addGroupItem(group, item) {
33
+ const items = this.groups.get(group) ?? [];
34
+ if (!items.includes(item)) {
35
+ items.push(item);
36
+ this.groups.set(group, items);
37
+ }
38
+ }
39
+ /**
40
+ * Removes a CdkDropList item from the specified group.
41
+ *
42
+ * @param group The name of the group to remove the item from.
43
+ * @param item The CdkDropList instance to remove from the group.
44
+ */
45
+ removeGroupItem(group, item) {
46
+ const items = this.groups.get(group);
47
+ if (!items) {
48
+ return;
49
+ }
50
+ const index = items.indexOf(item);
51
+ if (index < 0) {
52
+ return;
53
+ }
54
+ items.splice(index, 1);
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: DragAndDropGroupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
57
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: DragAndDropGroupService, providedIn: 'root' }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: DragAndDropGroupService, decorators: [{
60
+ type: Injectable,
61
+ args: [{
62
+ providedIn: 'root',
63
+ }]
64
+ }] });
65
+
66
+ /*
67
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
68
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
69
+ * This software is released under MIT license.
70
+ * The full license information can be found in LICENSE in the root directory of this project.
71
+ */
72
+
73
+ /**
74
+ * Generated bundle index. Do not edit.
75
+ */
76
+
77
+ export { DragAndDropGroupService };
78
+ //# sourceMappingURL=hermes-ui-angular-addons-drag-and-drop.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermes-ui-angular-addons-drag-and-drop.mjs","sources":["../../../addons/drag-and-drop/services/drag-and-drop-group.service.ts","../../../addons/drag-and-drop/index.ts","../../../addons/drag-and-drop/hermes-ui-angular-addons-drag-and-drop.ts"],"sourcesContent":["/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nimport { CdkDropList } from '@angular/cdk/drag-drop';\r\nimport { Injectable } from '@angular/core';\r\n\r\n/**\r\n * Service for managing groups of items that can be dragged and dropped with CdkDropList.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DragAndDropGroupService {\r\n private groups: Map<string, CdkDropList[]> = new Map();\r\n\r\n /**\r\n * Retrieves the items (CdkDropList instances) belonging to a specific group.\r\n *\r\n * @param group The name of the group to retrieve items for.\r\n * @returns An array of CdkDropList instances belonging to the specified group.\r\n */\r\n getGroupItems(group: string): readonly CdkDropList[] {\r\n const items = this.groups.get(group);\r\n if (items) {\r\n return items;\r\n }\r\n const emptyItems: CdkDropList[] = [];\r\n this.groups.set(group, emptyItems);\r\n return emptyItems;\r\n }\r\n\r\n /**\r\n * Adds a CdkDropList item to the specified group.\r\n *\r\n * @param group The name of the group to add the item to.\r\n * @param item The CdkDropList instance to add to the group.\r\n */\r\n addGroupItem(group: string, item: CdkDropList): void {\r\n const items = this.groups.get(group) ?? [];\r\n if (!items.includes(item)) {\r\n items.push(item);\r\n this.groups.set(group, items);\r\n }\r\n }\r\n\r\n /**\r\n * Removes a CdkDropList item from the specified group.\r\n *\r\n * @param group The name of the group to remove the item from.\r\n * @param item The CdkDropList instance to remove from the group.\r\n */\r\n removeGroupItem(group: string, item: CdkDropList): void {\r\n const items = this.groups.get(group);\r\n if (!items) {\r\n return;\r\n }\r\n\r\n const index = items.indexOf(item);\r\n if (index < 0) {\r\n return;\r\n }\r\n\r\n items.splice(index, 1);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\r\n * The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\r\n * This software is released under MIT license.\r\n * The full license information can be found in LICENSE in the root directory of this project.\r\n */\r\n\r\nexport { DragAndDropGroupService } from './services/drag-and-drop-group.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAUA;;AAEG;MAIU,uBAAuB,CAAA;AAHpC,IAAA,WAAA,GAAA;AAIU,QAAA,IAAA,CAAA,MAAM,GAA+B,IAAI,GAAG,EAAE;AAmDvD,IAAA;AAjDC;;;;;AAKG;AACH,IAAA,aAAa,CAAC,KAAa,EAAA;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACpC,IAAI,KAAK,EAAE;AACT,YAAA,OAAO,KAAK;QACd;QACA,MAAM,UAAU,GAAkB,EAAE;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC;AAClC,QAAA,OAAO,UAAU;IACnB;AAEA;;;;;AAKG;IACH,YAAY,CAAC,KAAa,EAAE,IAAiB,EAAA;AAC3C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;QAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACzB,YAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;QAC/B;IACF;AAEA;;;;;AAKG;IACH,eAAe,CAAC,KAAa,EAAE,IAAiB,EAAA;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE;YACV;QACF;QAEA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;AACjC,QAAA,IAAI,KAAK,GAAG,CAAC,EAAE;YACb;QACF;AAEA,QAAA,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACxB;+GAnDW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA,CAAA;;4FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACfD;;;;;AAKG;;ACLH;;AAEG;;"}