@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,606 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, forwardRef, Input, Component, ViewChild, HostBinding, ContentChildren, NgModule } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import * as i2 from '@hermes-ui/angular/popover/common';
5
+ import { HermesPopoverHostDirective, HermesPopoverType, HermesPopoverPosition, mapPopoverKeyToPosition, HermesPopoverContent, HermesPopoverModuleNext } from '@hermes-ui/angular/popover/common';
6
+ import { uniqueIdFactory, Keys } from '@hermes-ui/angular/utils';
7
+ import { Subject } from 'rxjs';
8
+ import * as i3 from '@hermes-ui/angular/icon';
9
+ import { ClarityIcons, angleIcon, checkIcon, HermesIcon } from '@hermes-ui/angular/icon';
10
+ import * as i2$1 from '@angular/platform-browser';
11
+ import { CommonModule } from '@angular/common';
12
+
13
+ /*
14
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
15
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
16
+ * This software is released under MIT license.
17
+ * The full license information can be found in LICENSE in the root directory of this project.
18
+ */
19
+ /**
20
+ * Shared state for a single hermes-select instance, provided at the HermesSelect component
21
+ * level so the trigger, value, content, and every item can all read/mutate the same value
22
+ * and item registry without prop-drilling through content projection.
23
+ */
24
+ class HermesSelectStateService {
25
+ constructor() {
26
+ this.disabled = false;
27
+ this.placeholder = '';
28
+ this.items = [];
29
+ this.listboxId = uniqueIdFactory();
30
+ this.valueChange = new Subject();
31
+ this.onChange = () => { };
32
+ this.onTouched = () => { };
33
+ }
34
+ get value() {
35
+ return this._value;
36
+ }
37
+ set value(value) {
38
+ this._value = value;
39
+ }
40
+ get selectedItem() {
41
+ return this.items.find(item => this.isSelected(item.value));
42
+ }
43
+ isSelected(value) {
44
+ return this._value !== undefined && this._value !== null && this._value === value;
45
+ }
46
+ registerItem(item) {
47
+ this.items.push(item);
48
+ }
49
+ unregisterItem(item) {
50
+ const index = this.items.indexOf(item);
51
+ if (index > -1) {
52
+ this.items.splice(index, 1);
53
+ }
54
+ }
55
+ selectValue(value) {
56
+ if (this.disabled || this._value === value) {
57
+ return;
58
+ }
59
+ this._value = value;
60
+ this.onChange(value);
61
+ this.valueChange.next(value);
62
+ }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
64
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectStateService }); }
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectStateService, decorators: [{
67
+ type: Injectable
68
+ }] });
69
+
70
+ /*
71
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
72
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
73
+ * This software is released under MIT license.
74
+ * The full license information can be found in LICENSE in the root directory of this project.
75
+ */
76
+ /**
77
+ * Root of a hermes-select. Renders nothing itself besides its projected content
78
+ * (typically a HermesSelectTrigger and a HermesSelectContent) and provides the
79
+ * HermesSelectStateService every descendant reads/writes through.
80
+ */
81
+ class HermesSelect {
82
+ constructor(state, popoverService) {
83
+ this.state = state;
84
+ this.popoverService = popoverService;
85
+ }
86
+ get disabled() {
87
+ return this.state.disabled;
88
+ }
89
+ get placeholder() {
90
+ return this.state.placeholder;
91
+ }
92
+ set placeholder(value) {
93
+ this.state.placeholder = value ?? '';
94
+ }
95
+ ngOnInit() {
96
+ // A close (regardless of whether it happened through a selection, Escape, or an
97
+ // outside click) is the closest thing a listbox-style control has to a "blur".
98
+ this.subscription = this.popoverService.openChange.subscribe(open => {
99
+ if (!open) {
100
+ this.state.onTouched();
101
+ }
102
+ });
103
+ }
104
+ ngOnDestroy() {
105
+ this.subscription?.unsubscribe();
106
+ }
107
+ writeValue(value) {
108
+ this.state.value = value;
109
+ }
110
+ registerOnChange(fn) {
111
+ this.state.onChange = fn;
112
+ }
113
+ registerOnTouched(fn) {
114
+ this.state.onTouched = fn;
115
+ }
116
+ setDisabledState(isDisabled) {
117
+ this.state.disabled = isDisabled;
118
+ }
119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelect, deps: [{ token: HermesSelectStateService }, { token: i2.HermesPopoverService }], target: i0.ɵɵFactoryTarget.Component }); }
120
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesSelect, isStandalone: false, selector: "hermes-select", inputs: { placeholder: "placeholder" }, host: { properties: { "class.hermes-select": "true", "attr.data-disabled": "disabled || null" } }, providers: [
121
+ HermesSelectStateService,
122
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => HermesSelect), multi: true },
123
+ ], hostDirectives: [{ directive: i2.HermesPopoverHostDirective }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelect, decorators: [{
126
+ type: Component,
127
+ args: [{
128
+ selector: 'hermes-select',
129
+ template: '<ng-content></ng-content>',
130
+ providers: [
131
+ HermesSelectStateService,
132
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => HermesSelect), multi: true },
133
+ ],
134
+ hostDirectives: [HermesPopoverHostDirective],
135
+ host: {
136
+ '[class.hermes-select]': 'true',
137
+ '[attr.data-disabled]': 'disabled || null',
138
+ },
139
+ standalone: false,
140
+ }]
141
+ }], ctorParameters: () => [{ type: HermesSelectStateService }, { type: i2.HermesPopoverService }], propDecorators: { placeholder: [{
142
+ type: Input
143
+ }] } });
144
+
145
+ /*
146
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
147
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
148
+ * This software is released under MIT license.
149
+ * The full license information can be found in LICENSE in the root directory of this project.
150
+ */
151
+ /**
152
+ * The button that opens the listbox. A real <button> so Enter/Space activation and tab
153
+ * order come from the browser for free; only ArrowUp/ArrowDown need their own handling
154
+ * here, matching how a native <select> also opens on either arrow key.
155
+ */
156
+ class HermesSelectTrigger {
157
+ constructor(state, popoverService) {
158
+ this.state = state;
159
+ this.popoverService = popoverService;
160
+ this.size = 'default';
161
+ }
162
+ ngAfterViewInit() {
163
+ this.state.triggerElement = this.buttonRef.nativeElement;
164
+ }
165
+ openOnArrowKey(event) {
166
+ if (this.state.disabled) {
167
+ return;
168
+ }
169
+ event.preventDefault();
170
+ if (!this.popoverService.open) {
171
+ this.popoverService.open = true;
172
+ }
173
+ }
174
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectTrigger, deps: [{ token: HermesSelectStateService }, { token: i2.HermesPopoverService }], target: i0.ɵɵFactoryTarget.Component }); }
175
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesSelectTrigger, isStandalone: false, selector: "hermes-select-trigger", inputs: { size: "size" }, host: { properties: { "class.hermes-select-trigger": "true", "attr.data-size": "size" } }, viewQueries: [{ propertyName: "buttonRef", first: true, predicate: ["triggerButton"], descendants: true, static: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<button\n #triggerButton\n type=\"button\"\n class=\"hermes-select-trigger-button\"\n role=\"combobox\"\n hermesPopoverOrigin\n hermesPopoverOpenCloseButton\n [disabled]=\"state.disabled\"\n [attr.aria-expanded]=\"popoverService.open\"\n [attr.aria-controls]=\"state.listboxId\"\n aria-haspopup=\"listbox\"\n (keydown.ArrowDown)=\"openOnArrowKey($event)\"\n (keydown.ArrowUp)=\"openOnArrowKey($event)\"\n>\n <ng-content></ng-content>\n <hermes-icon shape=\"angle\" direction=\"down\" size=\"16\" class=\"hermes-select-trigger-icon\"></hermes-icon>\n</button>\n", dependencies: [{ kind: "component", type: i3.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }, { kind: "directive", type: i2.HermesPopoverOrigin, selector: "[hermesPopoverOrigin]" }, { kind: "directive", type: i2.HermesPopoverOpenCloseButton, selector: "[hermesPopoverOpenCloseButton]", outputs: ["hermesPopoverOpenCloseChange"] }] }); }
176
+ }
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectTrigger, decorators: [{
178
+ type: Component,
179
+ args: [{ selector: 'hermes-select-trigger', host: {
180
+ '[class.hermes-select-trigger]': 'true',
181
+ '[attr.data-size]': 'size',
182
+ }, standalone: false, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<button\n #triggerButton\n type=\"button\"\n class=\"hermes-select-trigger-button\"\n role=\"combobox\"\n hermesPopoverOrigin\n hermesPopoverOpenCloseButton\n [disabled]=\"state.disabled\"\n [attr.aria-expanded]=\"popoverService.open\"\n [attr.aria-controls]=\"state.listboxId\"\n aria-haspopup=\"listbox\"\n (keydown.ArrowDown)=\"openOnArrowKey($event)\"\n (keydown.ArrowUp)=\"openOnArrowKey($event)\"\n>\n <ng-content></ng-content>\n <hermes-icon shape=\"angle\" direction=\"down\" size=\"16\" class=\"hermes-select-trigger-icon\"></hermes-icon>\n</button>\n" }]
183
+ }], ctorParameters: () => [{ type: HermesSelectStateService }, { type: i2.HermesPopoverService }], propDecorators: { size: [{
184
+ type: Input
185
+ }], buttonRef: [{
186
+ type: ViewChild,
187
+ args: ['triggerButton', { static: true }]
188
+ }] } });
189
+
190
+ /*
191
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
192
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
193
+ * This software is released under MIT license.
194
+ * The full license information can be found in LICENSE in the root directory of this project.
195
+ */
196
+ /**
197
+ * Displays a snapshot of the selected item's rendered markup inside the trigger, or the
198
+ * placeholder text when nothing is selected yet - mirrors shadcn's <SelectValue>.
199
+ *
200
+ * Reads HermesSelectItem.getLabelHtml() (an innerHTML snapshot) rather than re-rendering the
201
+ * item's projected content through a shared TemplateRef: <ng-content> hands out one real set
202
+ * of DOM nodes, and instantiating that same template a second time here would move them out
203
+ * of the item's own row instead of cloning them.
204
+ */
205
+ class HermesSelectValue {
206
+ constructor(state, sanitizer) {
207
+ this.state = state;
208
+ this.sanitizer = sanitizer;
209
+ }
210
+ get resolvedPlaceholder() {
211
+ return this.placeholder ?? this.state.placeholder;
212
+ }
213
+ get valueHtml() {
214
+ const item = this.state.selectedItem;
215
+ // Trusted: this is a snapshot of markup this same app already rendered from its own
216
+ // hermes-select-item templates, not third-party or user-supplied HTML.
217
+ return item ? this.sanitizer.bypassSecurityTrustHtml(item.getLabelHtml()) : null;
218
+ }
219
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectValue, deps: [{ token: HermesSelectStateService }, { token: i2$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
220
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesSelectValue, isStandalone: false, selector: "hermes-select-value", inputs: { placeholder: "placeholder" }, host: { properties: { "class.hermes-select-value": "true", "class.hermes-select-placeholder": "!state.selectedItem" } }, ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n@if (state.selectedItem) {\n <span [innerHTML]=\"valueHtml\"></span>\n} @else {\n {{ resolvedPlaceholder }}\n}\n" }); }
221
+ }
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectValue, decorators: [{
223
+ type: Component,
224
+ args: [{ selector: 'hermes-select-value', host: {
225
+ '[class.hermes-select-value]': 'true',
226
+ '[class.hermes-select-placeholder]': '!state.selectedItem',
227
+ }, standalone: false, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n@if (state.selectedItem) {\n <span [innerHTML]=\"valueHtml\"></span>\n} @else {\n {{ resolvedPlaceholder }}\n}\n" }]
228
+ }], ctorParameters: () => [{ type: HermesSelectStateService }, { type: i2$1.DomSanitizer }], propDecorators: { placeholder: [{
229
+ type: Input
230
+ }] } });
231
+
232
+ /*
233
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
234
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
235
+ * This software is released under MIT license.
236
+ * The full license information can be found in LICENSE in the root directory of this project.
237
+ */
238
+ class HermesSelectItem {
239
+ constructor(state, elementRef) {
240
+ this.state = state;
241
+ this.elementRef = elementRef;
242
+ this._disabled = false;
243
+ }
244
+ get disabled() {
245
+ return this._disabled;
246
+ }
247
+ set disabled(value) {
248
+ this._disabled = !!value || value === '';
249
+ }
250
+ get selected() {
251
+ return this.state.isSelected(this.value);
252
+ }
253
+ get nativeElement() {
254
+ return this.elementRef.nativeElement;
255
+ }
256
+ focus() {
257
+ this.elementRef.nativeElement.focus();
258
+ }
259
+ getLabelHtml() {
260
+ return this.textEl?.nativeElement.innerHTML ?? '';
261
+ }
262
+ ngOnInit() {
263
+ this.state.registerItem(this);
264
+ }
265
+ ngOnDestroy() {
266
+ this.state.unregisterItem(this);
267
+ }
268
+ onSelect() {
269
+ if (this.disabled) {
270
+ return;
271
+ }
272
+ this.state.selectValue(this.value);
273
+ }
274
+ onKeydownSelect(event) {
275
+ // Space normally scrolls the page; both keys should only ever select.
276
+ event.preventDefault();
277
+ this.onSelect();
278
+ }
279
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectItem, deps: [{ token: HermesSelectStateService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
280
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesSelectItem, isStandalone: false, selector: "hermes-select-item", inputs: { value: "value", disabled: "disabled" }, host: { attributes: { "role": "option" }, listeners: { "click": "onSelect()", "keydown.enter": "onKeydownSelect($event)", "keydown.space": "onKeydownSelect($event)" }, properties: { "attr.aria-selected": "selected", "attr.aria-disabled": "disabled || null", "attr.tabindex": "-1", "class.hermes-select-item": "true", "class.selected": "selected", "class.disabled": "disabled" } }, viewQueries: [{ propertyName: "textEl", first: true, predicate: ["text"], descendants: true, static: true }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<span #text class=\"hermes-select-item-text\">\n <ng-content></ng-content>\n</span>\n<span class=\"hermes-select-item-indicator\">\n @if (selected) {\n <hermes-icon shape=\"check\" size=\"16\"></hermes-icon>\n }\n</span>\n", dependencies: [{ kind: "component", type: i3.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }] }); }
281
+ }
282
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectItem, decorators: [{
283
+ type: Component,
284
+ args: [{ selector: 'hermes-select-item', host: {
285
+ role: 'option',
286
+ '[attr.aria-selected]': 'selected',
287
+ '[attr.aria-disabled]': 'disabled || null',
288
+ '[attr.tabindex]': '-1',
289
+ '[class.hermes-select-item]': 'true',
290
+ '[class.selected]': 'selected',
291
+ '[class.disabled]': 'disabled',
292
+ '(click)': 'onSelect()',
293
+ '(keydown.enter)': 'onKeydownSelect($event)',
294
+ '(keydown.space)': 'onKeydownSelect($event)',
295
+ }, standalone: false, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n<span #text class=\"hermes-select-item-text\">\n <ng-content></ng-content>\n</span>\n<span class=\"hermes-select-item-indicator\">\n @if (selected) {\n <hermes-icon shape=\"check\" size=\"16\"></hermes-icon>\n }\n</span>\n" }]
296
+ }], ctorParameters: () => [{ type: HermesSelectStateService }, { type: i0.ElementRef }], propDecorators: { value: [{
297
+ type: Input
298
+ }], textEl: [{
299
+ type: ViewChild,
300
+ args: ['text', { static: true }]
301
+ }], disabled: [{
302
+ type: Input
303
+ }] } });
304
+
305
+ const TYPEAHEAD_RESET_MS = 500;
306
+ /**
307
+ * The listbox popup. Hosts HermesPopoverContent for positioning/overlay/outside-click/escape
308
+ * handling (the same primitive hermes-dropdown-menu uses) and owns arrow-key navigation,
309
+ * Home/End, and single-character typeahead across its projected hermes-select-item children.
310
+ */
311
+ class HermesSelectContent {
312
+ constructor(state, popoverService, popoverContent, elementRef) {
313
+ this.state = state;
314
+ this.popoverService = popoverService;
315
+ this.popoverContent = popoverContent;
316
+ this.elementRef = elementRef;
317
+ this.canScrollUp = false;
318
+ this.canScrollDown = false;
319
+ this.subscriptions = [];
320
+ this.typeaheadBuffer = '';
321
+ popoverContent.contentType = HermesPopoverType.DROPDOWN;
322
+ popoverContent.contentAt = HermesPopoverPosition.BOTTOM_LEFT;
323
+ popoverService.panelClass.push('hermes-select-content-panel');
324
+ }
325
+ /**
326
+ * Fallback to hide when the overlay hasn't attached (or has just detached) this
327
+ * element's DOM node yet - mirrors hermes-dropdown-menu's own off-screen fallback.
328
+ */
329
+ get isOffScreen() {
330
+ return !this.popoverService.open;
331
+ }
332
+ ngAfterContentInit() {
333
+ this.subscriptions.push(this.popoverService.popoverVisible.subscribe(visible => {
334
+ if (visible) {
335
+ this.focusInitialItem();
336
+ // Wait for layout so scrollHeight reflects the now-visible content.
337
+ setTimeout(() => this.updateScrollButtonsVisibility());
338
+ }
339
+ }), this.state.valueChange.subscribe(() => this.updateItemAlignedPosition()), this.items.changes.subscribe(() => this.updateItemAlignedPosition()));
340
+ // Deferred one tick: HermesSelectTrigger sets state.triggerElement in its own
341
+ // ngAfterViewInit, which may not have run yet by the time this fires.
342
+ setTimeout(() => this.updateItemAlignedPosition());
343
+ }
344
+ onViewportScroll() {
345
+ this.updateScrollButtonsVisibility();
346
+ }
347
+ ngOnDestroy() {
348
+ this.subscriptions.forEach(subscription => subscription.unsubscribe());
349
+ clearTimeout(this.typeaheadTimeout);
350
+ }
351
+ scrollBy(delta) {
352
+ this.viewport?.nativeElement.scrollBy({ top: delta });
353
+ }
354
+ /**
355
+ * Mirrors the "item-aligned" positioning a native <select> (and shadcn/Radix's Select)
356
+ * uses: instead of always dropping the popup below the trigger, it opens with the
357
+ * currently selected item lined up against the trigger, so the control feels like it
358
+ * expands in place rather than sliding a menu out from under itself. Falls back to a
359
+ * plain below-the-trigger dropdown position when there's no selection yet.
360
+ */
361
+ updateItemAlignedPosition() {
362
+ const base = mapPopoverKeyToPosition(HermesPopoverPosition.BOTTOM_LEFT, HermesPopoverType.DROPDOWN);
363
+ const trigger = this.state.triggerElement;
364
+ const selected = this.state.selectedItem;
365
+ if (!trigger || !selected) {
366
+ this.popoverContent.contentAt = base;
367
+ return;
368
+ }
369
+ const itemOffsetTop = this.offsetTopWithin(selected.nativeElement, this.elementRef.nativeElement);
370
+ const triggerHeight = trigger.getBoundingClientRect().height;
371
+ const itemHeight = selected.nativeElement.getBoundingClientRect().height;
372
+ this.popoverContent.contentAt = {
373
+ ...base,
374
+ originY: 'top',
375
+ overlayY: 'top',
376
+ // Centers the selected item's row against the trigger's own height, then cancels out
377
+ // how far that item already sits from the top of the (still off-screen) popup.
378
+ offsetY: (triggerHeight - itemHeight) / 2 - itemOffsetTop,
379
+ };
380
+ }
381
+ /**
382
+ * Walks the offsetParent chain rather than comparing getBoundingClientRect()s: while
383
+ * closed this element is `position: fixed` off-screen (see isOffScreen), so absolute
384
+ * screen coordinates aren't meaningful yet, but relative offsetTop distances still are.
385
+ */
386
+ offsetTopWithin(element, ancestor) {
387
+ let top = 0;
388
+ let node = element;
389
+ while (node && node !== ancestor) {
390
+ top += node.offsetTop;
391
+ node = node.offsetParent;
392
+ }
393
+ return top;
394
+ }
395
+ updateScrollButtonsVisibility() {
396
+ const el = this.viewport?.nativeElement;
397
+ if (!el) {
398
+ return;
399
+ }
400
+ this.canScrollUp = el.scrollTop > 0;
401
+ this.canScrollDown = Math.ceil(el.scrollTop + el.clientHeight) < el.scrollHeight;
402
+ }
403
+ onKeydown(event) {
404
+ const items = this.enabledItems();
405
+ if (!items.length) {
406
+ return;
407
+ }
408
+ const currentIndex = items.findIndex(item => item.nativeElement === document.activeElement);
409
+ switch (event.key) {
410
+ case Keys.ArrowDown:
411
+ event.preventDefault();
412
+ this.focusAt(items, currentIndex + 1 < items.length ? currentIndex + 1 : 0);
413
+ break;
414
+ case Keys.ArrowUp:
415
+ event.preventDefault();
416
+ this.focusAt(items, currentIndex > 0 ? currentIndex - 1 : items.length - 1);
417
+ break;
418
+ case Keys.Home:
419
+ event.preventDefault();
420
+ this.focusAt(items, 0);
421
+ break;
422
+ case Keys.End:
423
+ event.preventDefault();
424
+ this.focusAt(items, items.length - 1);
425
+ break;
426
+ default:
427
+ this.handleTypeahead(event, items);
428
+ }
429
+ }
430
+ enabledItems() {
431
+ return this.items?.filter(item => !item.disabled) ?? [];
432
+ }
433
+ focusAt(items, index) {
434
+ items[index]?.focus();
435
+ }
436
+ focusInitialItem() {
437
+ // The overlay's own content isn't attached/focusable synchronously with this emission.
438
+ setTimeout(() => {
439
+ const items = this.enabledItems();
440
+ if (!items.length) {
441
+ return;
442
+ }
443
+ (items.find(item => item.selected) ?? items[0]).focus();
444
+ });
445
+ }
446
+ handleTypeahead(event, items) {
447
+ if (event.key.length !== 1 || event.metaKey || event.ctrlKey || event.altKey) {
448
+ return;
449
+ }
450
+ event.preventDefault();
451
+ clearTimeout(this.typeaheadTimeout);
452
+ this.typeaheadBuffer += event.key.toLowerCase();
453
+ this.typeaheadTimeout = setTimeout(() => (this.typeaheadBuffer = ''), TYPEAHEAD_RESET_MS);
454
+ const match = items.find(item => item.nativeElement.textContent?.trim().toLowerCase().startsWith(this.typeaheadBuffer));
455
+ match?.focus();
456
+ }
457
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectContent, deps: [{ token: HermesSelectStateService }, { token: i2.HermesPopoverService }, { token: i2.HermesPopoverContent }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
458
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.22", type: HermesSelectContent, isStandalone: false, selector: "hermes-select-content", host: { attributes: { "role": "listbox" }, listeners: { "keydown": "onKeydown($event)" }, properties: { "attr.id": "state.listboxId", "class.hermes-select-content": "true", "class.is-off-screen": "this.isOffScreen" } }, queries: [{ propertyName: "items", predicate: HermesSelectItem, descendants: true }], viewQueries: [{ propertyName: "viewport", first: true, predicate: ["viewport"], descendants: true, static: true }], hostDirectives: [{ directive: i2.HermesPopoverContent }], ngImport: i0, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n@if (canScrollUp) {\n <button type=\"button\" class=\"hermes-select-scroll-button\" aria-hidden=\"true\" tabindex=\"-1\" (click)=\"scrollBy(-40)\">\n <hermes-icon shape=\"angle\" direction=\"up\" size=\"16\"></hermes-icon>\n </button>\n}\n<div #viewport class=\"hermes-select-viewport\" (scroll)=\"onViewportScroll()\">\n <ng-content></ng-content>\n</div>\n@if (canScrollDown) {\n <button type=\"button\" class=\"hermes-select-scroll-button\" aria-hidden=\"true\" tabindex=\"-1\" (click)=\"scrollBy(40)\">\n <hermes-icon shape=\"angle\" direction=\"down\" size=\"16\"></hermes-icon>\n </button>\n}\n", dependencies: [{ kind: "component", type: i3.HermesIcon, selector: "hermes-icon, hermes-icon", inputs: ["shape", "size", "direction", "flip", "solid", "status", "inverse", "badge"] }] }); }
459
+ }
460
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectContent, decorators: [{
461
+ type: Component,
462
+ args: [{ selector: 'hermes-select-content', hostDirectives: [HermesPopoverContent], host: {
463
+ role: 'listbox',
464
+ '[attr.id]': 'state.listboxId',
465
+ '[class.hermes-select-content]': 'true',
466
+ '(keydown)': 'onKeydown($event)',
467
+ }, standalone: false, template: "<!--\n ~ Copyright (c) 2016-2026 Broadcom. All Rights Reserved.\n ~ The term \"Broadcom\" refers to Broadcom Inc. and/or its subsidiaries.\n ~ This software is released under MIT license.\n ~ The full license information can be found in LICENSE in the root directory of this project.\n -->\n\n@if (canScrollUp) {\n <button type=\"button\" class=\"hermes-select-scroll-button\" aria-hidden=\"true\" tabindex=\"-1\" (click)=\"scrollBy(-40)\">\n <hermes-icon shape=\"angle\" direction=\"up\" size=\"16\"></hermes-icon>\n </button>\n}\n<div #viewport class=\"hermes-select-viewport\" (scroll)=\"onViewportScroll()\">\n <ng-content></ng-content>\n</div>\n@if (canScrollDown) {\n <button type=\"button\" class=\"hermes-select-scroll-button\" aria-hidden=\"true\" tabindex=\"-1\" (click)=\"scrollBy(40)\">\n <hermes-icon shape=\"angle\" direction=\"down\" size=\"16\"></hermes-icon>\n </button>\n}\n" }]
468
+ }], ctorParameters: () => [{ type: HermesSelectStateService }, { type: i2.HermesPopoverService }, { type: i2.HermesPopoverContent }, { type: i0.ElementRef }], propDecorators: { items: [{
469
+ type: ContentChildren,
470
+ args: [HermesSelectItem, { descendants: true }]
471
+ }], viewport: [{
472
+ type: ViewChild,
473
+ args: ['viewport', { static: true }]
474
+ }], isOffScreen: [{
475
+ type: HostBinding,
476
+ args: ['class.is-off-screen']
477
+ }] } });
478
+
479
+ /*
480
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
481
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
482
+ * This software is released under MIT license.
483
+ * The full license information can be found in LICENSE in the root directory of this project.
484
+ */
485
+ class HermesSelectGroup {
486
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectGroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
487
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesSelectGroup, isStandalone: false, selector: "hermes-select-group", host: { attributes: { "role": "group" }, properties: { "class.hermes-select-group": "true" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
488
+ }
489
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectGroup, decorators: [{
490
+ type: Component,
491
+ args: [{
492
+ selector: 'hermes-select-group',
493
+ template: '<ng-content></ng-content>',
494
+ host: {
495
+ role: 'group',
496
+ '[class.hermes-select-group]': 'true',
497
+ },
498
+ standalone: false,
499
+ }]
500
+ }] });
501
+
502
+ /*
503
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
504
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
505
+ * This software is released under MIT license.
506
+ * The full license information can be found in LICENSE in the root directory of this project.
507
+ */
508
+ class HermesSelectLabel {
509
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectLabel, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
510
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesSelectLabel, isStandalone: false, selector: "hermes-select-label", host: { properties: { "class.hermes-select-label": "true" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
511
+ }
512
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectLabel, decorators: [{
513
+ type: Component,
514
+ args: [{
515
+ selector: 'hermes-select-label',
516
+ template: '<ng-content></ng-content>',
517
+ host: {
518
+ '[class.hermes-select-label]': 'true',
519
+ },
520
+ standalone: false,
521
+ }]
522
+ }] });
523
+
524
+ /*
525
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
526
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
527
+ * This software is released under MIT license.
528
+ * The full license information can be found in LICENSE in the root directory of this project.
529
+ */
530
+ class HermesSelectSeparator {
531
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectSeparator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
532
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HermesSelectSeparator, isStandalone: false, selector: "hermes-select-separator", host: { attributes: { "role": "separator" }, properties: { "class.hermes-select-separator": "true" } }, ngImport: i0, template: '', isInline: true }); }
533
+ }
534
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectSeparator, decorators: [{
535
+ type: Component,
536
+ args: [{
537
+ selector: 'hermes-select-separator',
538
+ template: '',
539
+ host: {
540
+ role: 'separator',
541
+ '[class.hermes-select-separator]': 'true',
542
+ },
543
+ standalone: false,
544
+ }]
545
+ }] });
546
+
547
+ /*
548
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
549
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
550
+ * This software is released under MIT license.
551
+ * The full license information can be found in LICENSE in the root directory of this project.
552
+ */
553
+ const HERMES_SELECT_DIRECTIVES = [
554
+ HermesSelect,
555
+ HermesSelectTrigger,
556
+ HermesSelectValue,
557
+ HermesSelectContent,
558
+ HermesSelectItem,
559
+ HermesSelectGroup,
560
+ HermesSelectLabel,
561
+ HermesSelectSeparator,
562
+ ];
563
+ class HermesSelectModule {
564
+ constructor() {
565
+ ClarityIcons.addIcons(angleIcon, checkIcon);
566
+ }
567
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
568
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectModule, declarations: [HermesSelect,
569
+ HermesSelectTrigger,
570
+ HermesSelectValue,
571
+ HermesSelectContent,
572
+ HermesSelectItem,
573
+ HermesSelectGroup,
574
+ HermesSelectLabel,
575
+ HermesSelectSeparator], imports: [CommonModule, HermesIcon, HermesPopoverModuleNext], exports: [HermesSelect,
576
+ HermesSelectTrigger,
577
+ HermesSelectValue,
578
+ HermesSelectContent,
579
+ HermesSelectItem,
580
+ HermesSelectGroup,
581
+ HermesSelectLabel,
582
+ HermesSelectSeparator] }); }
583
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectModule, imports: [CommonModule, HermesIcon, HermesPopoverModuleNext] }); }
584
+ }
585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HermesSelectModule, decorators: [{
586
+ type: NgModule,
587
+ args: [{
588
+ imports: [CommonModule, HermesIcon, HermesPopoverModuleNext],
589
+ declarations: [HERMES_SELECT_DIRECTIVES],
590
+ exports: [HERMES_SELECT_DIRECTIVES],
591
+ }]
592
+ }], ctorParameters: () => [] });
593
+
594
+ /*
595
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
596
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
597
+ * This software is released under MIT license.
598
+ * The full license information can be found in LICENSE in the root directory of this project.
599
+ */
600
+
601
+ /**
602
+ * Generated bundle index. Do not edit.
603
+ */
604
+
605
+ export { HermesSelect, HermesSelectContent, HermesSelectGroup, HermesSelectItem, HermesSelectLabel, HermesSelectModule, HermesSelectSeparator, HermesSelectStateService, HermesSelectTrigger, HermesSelectValue };
606
+ //# sourceMappingURL=hermes-ui-angular-forms-select.mjs.map