@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,339 @@
1
+ /*
2
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
3
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
4
+ * This software is released under MIT license.
5
+ * The full license information can be found in LICENSE in the root directory of this project.
6
+ */
7
+
8
+ $zoom-4x-action-bar-padding: 10px;
9
+
10
+ %draggable-column {
11
+ $draggable-column-width: 20px;
12
+
13
+ min-width: $draggable-column-width;
14
+ width: $draggable-column-width;
15
+ padding-left: 0 !important; // this is done as per specs https://github.com/vmware/clarity/issues/1826
16
+ order: -1;
17
+ flex: 0;
18
+ }
19
+
20
+ :host {
21
+ min-height: 3.6rem; // standard min height from clarity (see .datagrid-table)
22
+ ::ng-deep hermes-datagrid {
23
+ min-height: 0; // We need this for the grid to shrink and the scroller to be in the grid's body
24
+ }
25
+ }
26
+
27
+ :host(.zoom2x),
28
+ :host(.zoom4x) {
29
+ ::ng-deep hermes-datagrid.flex-hermes-datagrid {
30
+ // overriding flexible and fluid grid layout styles coming from
31
+ // _mixins.scss that is why `important` is added
32
+ height: auto !important;
33
+ flex: 1 0 auto !important;
34
+ }
35
+ }
36
+
37
+ :host(.zoom4x) {
38
+ min-height: 7.2rem;
39
+ }
40
+
41
+ hermes-datagrid {
42
+ &.flex-hermes-datagrid {
43
+ flex-basis: auto;
44
+ height: 100%;
45
+ }
46
+
47
+ .custom-preview {
48
+ width: 250px;
49
+ overflow: hidden;
50
+ font-size: var(--hermes-alias-typography-secondary-font-size);
51
+ line-height: var(--hermes-alias-typography-secondary-line-height);
52
+
53
+ .grid-ghost {
54
+ border: 1px solid var(--hermes-table-border-color);
55
+ border-left: 2px solid var(--hermes-alias-object-interaction-background-highlight);
56
+ border-radius: 3px 0 0 3px;
57
+ background-color: var(--hermes-global-color-white);
58
+ padding: 5px;
59
+ max-height: 60px;
60
+ white-space: normal;
61
+ text-overflow: ellipsis;
62
+ display: -webkit-box;
63
+ -webkit-box-orient: vertical;
64
+ -webkit-line-clamp: 3;
65
+
66
+ .drop-status {
67
+ margin-top: -4px;
68
+ }
69
+ }
70
+ }
71
+
72
+ &.datagrid-compact {
73
+ .custom-preview {
74
+ .grid-ghost {
75
+ .drop-status {
76
+ margin-top: -8px;
77
+ }
78
+ }
79
+ }
80
+ }
81
+
82
+ hermes-dg-cell.fixed-cell-height {
83
+ // Fixed cell height for datagrids with virtual scrolling.
84
+ // Considering padding and border row height will be 25px
85
+ height: 16px;
86
+ }
87
+
88
+ .single-ghost {
89
+ box-shadow: 0 3px 4px rgb(116 116 116 / 30%);
90
+ }
91
+
92
+ .multiple-ghost {
93
+ box-shadow:
94
+ 8px 7px var(--hermes-table-bgcolor),
95
+ 8px 7px var(--hermes-table-border-color),
96
+ 8px 8px 4px rgb(116 116 116 / 30%);
97
+ }
98
+
99
+ .selection-ghost {
100
+ color: var(--hermes-global-color-gray-400);
101
+ background-color: var(--hermes-table-bgcolor);
102
+ }
103
+
104
+ .ghost-badge {
105
+ float: right;
106
+ }
107
+
108
+ &.disabled-grid {
109
+ pointer-events: none;
110
+ cursor: not-allowed;
111
+ opacity: 0.5;
112
+ }
113
+
114
+ .draggableCell {
115
+ @extend %draggable-column;
116
+
117
+ .draggableIcon {
118
+ // by default this style comes from clarity with value
119
+ // translateY(-0.05rem) which breaks the positioning of the ghost
120
+ // element
121
+ transform: unset;
122
+ }
123
+ }
124
+
125
+ hermes-dg-footer {
126
+ ::ng-deep .footer-actions {
127
+ margin-left: 10px;
128
+ display: flex;
129
+ align-items: center;
130
+
131
+ // ~~~~~~~ user interactions ~~~~~~~~~~~
132
+ &:not(:disabled) {
133
+ &:hover,
134
+ &:active {
135
+ cursor: pointer;
136
+ text-decoration: none;
137
+ }
138
+ }
139
+ }
140
+
141
+ ::ng-deep .datagrid-footer-description {
142
+ display: flex;
143
+ text-align: left;
144
+ }
145
+
146
+ ::ng-deep li {
147
+ white-space: normal;
148
+ }
149
+
150
+ hermes-dg-pagination {
151
+ display: inline-flex;
152
+ align-items: center;
153
+
154
+ ::ng-deep > ul {
155
+ height: auto;
156
+ }
157
+ }
158
+
159
+ //end show hide menu related scss
160
+ }
161
+
162
+ hermes-dg-column ::ng-deep .datagrid-column-flex {
163
+ width: 100%;
164
+ }
165
+
166
+ // CSS applied when the user drag column
167
+ hermes-dg-column {
168
+ &.grabbed:not(.cdk-drag-placeholder, .cdk-drag-preview) {
169
+ &::ng-deep .datagrid-column-title {
170
+ background-color: var(--hermes-datagrid-row-selected-background-color);
171
+ color: var(--hermes-datagrid-row-selected);
172
+ }
173
+
174
+ background-color: var(--hermes-datagrid-row-selected-background-color);
175
+ color: var(--hermes-datagrid-row-selected);
176
+ }
177
+
178
+ &.cdk-drag-placeholder {
179
+ outline: var(--hermes-alias-object-interaction-outline);
180
+ outline-color: -webkit-focus-ring-color;
181
+ outline-offset: var(--hermes-datagrid-cell-outline-offset);
182
+ z-index: 100;
183
+ }
184
+
185
+ &.cdk-drag-preview {
186
+ opacity: 0.75;
187
+ }
188
+ }
189
+
190
+ hermes-dg-action-bar {
191
+ // our placeholder container for customization of actionable items above the grid.
192
+ // Clarity simply mirrors content
193
+ .appfx-datagrid-actions-container {
194
+ display: flex;
195
+ justify-content: space-between;
196
+
197
+ .filter-input {
198
+ display: flex;
199
+ flex-direction: row;
200
+ align-items: center;
201
+
202
+ hermes-icon {
203
+ cursor: pointer;
204
+ }
205
+ }
206
+
207
+ .action-bar {
208
+ flex: 1 0 auto;
209
+ width: 0.05rem; // if width is not specified, width of element becomes
210
+ // auto and content will overflow parent width
211
+ }
212
+ }
213
+ }
214
+
215
+ hermes-dg-row-detail {
216
+ appfx-dg-cell-container {
217
+ width: 100%;
218
+ }
219
+
220
+ // fixed the nested datagrid header overflow issue with its parent
221
+ &::ng-deep appfx-datagrid {
222
+ div.datagrid-header {
223
+ z-index: 500;
224
+ }
225
+ }
226
+ }
227
+
228
+ &.zoom4x {
229
+ min-height: 7.2rem;
230
+
231
+ hermes-dg-action-bar {
232
+ .appfx-datagrid-actions-container {
233
+ /* make the action and filter on separate rows on 4x zoom */
234
+ flex-direction: column;
235
+
236
+ .action-bar {
237
+ flex: 1 0 auto;
238
+
239
+ /*
240
+ action bar width correction,
241
+ because 1px does not fit the shish-kebab button
242
+ */
243
+ width: 100%;
244
+ max-width: 100%;
245
+ min-width: 1px;
246
+
247
+ ::ng-deep .btn-group {
248
+ button:first-child {
249
+ padding-left: $zoom-4x-action-bar-padding;
250
+ }
251
+ }
252
+ }
253
+
254
+ .filter-input {
255
+ padding-left: $zoom-4x-action-bar-padding;
256
+ width: 100%;
257
+ display: flex;
258
+ flex-direction: row;
259
+ justify-content: space-between;
260
+ align-items: center;
261
+
262
+ hermes-icon {
263
+ flex: 0 1 auto;
264
+ }
265
+
266
+ hermes-input-container {
267
+ flex: 1 0 auto;
268
+
269
+ ::ng-deep {
270
+ .hermes-control-container {
271
+ width: 100%;
272
+
273
+ input {
274
+ width: 100%;
275
+ }
276
+ }
277
+ }
278
+ }
279
+ }
280
+ }
281
+ }
282
+
283
+ ::ng-deep .column-switch-wrapper {
284
+ hermes-dropdown-menu {
285
+ /*
286
+ make the column selector menu
287
+ take full screen covering the header
288
+ */
289
+ position: fixed !important;
290
+ transform: none !important;
291
+ width: 100%;
292
+ min-width: 100%;
293
+ height: 100%;
294
+ }
295
+ }
296
+ }
297
+
298
+ // Remove the placeholder item so it prevents the item rearrangement during drag.
299
+ .custom-placeholder {
300
+ height: 0;
301
+ width: 0;
302
+ }
303
+
304
+ hermes-icon[shape='drag-handle'] {
305
+ cursor: grab;
306
+ }
307
+ }
308
+
309
+ // Hide both drop status icons by default
310
+ .drop-status {
311
+ display: none;
312
+ margin-left: 4px;
313
+ color: var(--hermes-global-color-black);
314
+ }
315
+
316
+ // Show valid drop status icon when body has drag-valid-target class
317
+ :host-context(body.drag-valid-target) .drop-status-valid {
318
+ display: inline-block;
319
+ }
320
+
321
+ // Show invalid drop status icon when body has drag-invalid-target class
322
+ :host-context(body.drag-invalid-target) .drop-status-invalid {
323
+ display: inline-block;
324
+ }
325
+
326
+ // Dark theme
327
+ :host-context([data-theme='dark']) {
328
+ hermes-datagrid {
329
+ .custom-preview {
330
+ .grid-ghost {
331
+ background-color: var(--hermes-table-bgcolor);
332
+
333
+ .drop-status {
334
+ color: var(--hermes-global-color-white);
335
+ }
336
+ }
337
+ }
338
+ }
339
+ }
@@ -0,0 +1,223 @@
1
+ ## Overview & Rationale
2
+
3
+ AppFx Datagrid Filters component provides an enhanced user experience for datagrid filtering.
4
+ It is expected to be hosted in the datagrid action bar and can be used in three modes - quick, advanced and advanced only. <br/>
5
+ Advanced modes allow users to build and manage complex filtering queries. Quick mode is suitable for quick search filtering.
6
+
7
+ #### Advanced Filter
8
+
9
+ ![Datagrid Filters example screen](assets/appfx/datagrid-advanced-filter-overview.png)
10
+
11
+ #### Quick Filter
12
+
13
+ ![Datagrid Filters example screen](assets/appfx/datagrid-quick-filter-overview.png)
14
+
15
+ ## Component API
16
+
17
+ #### appfx-datagrid-filters
18
+
19
+ | Property | Input/Output | Type | Description |
20
+ | ----------------------- | ------------ | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
21
+ | `filterMode` | Input | `FilterMode` | Enum parameter with three options.<br/>FilterMode.Quick - only quick filter is activated.<br/>FilterMode.Advanced - both quick and advanced filters are activated.<br/>FilterMode.AdvancedOnly - Only advanced filter is activated. |
22
+ | `filterableProperties` | Input | `FilterablePropertyDefinition[]` | Array of properties, which are used for advanced filtering.<br/>Supported types: StringPropertyDefinition, NumericPropertyDefinition, EnumPropertyDefinition, DateTimePropertyDefinition |
23
+ | `presetFilters` | Input | `PropertyFilter[]` | Array of pre-selected filters. |
24
+ | `searchTermChange` | Output | `EventEmitter<string>` | Emits when the quick filter changes. Triggered on `Enter` key press and/or automatically on every 2 sec when the user is typing in the search input. |
25
+ | `propertyFiltersChange` | Output | `EventEmitter<PropertyFilter[]>` | Emits when the advanced filter changes. |
26
+
27
+ #### FilterablePropertyDefinition
28
+
29
+ Base abstract class for filterable properties. Filterable properties are usually a subset of the datagrid columns.<br/>
30
+ List of subclasses: StringPropertyDefinition, NumericPropertyDefinition, EnumPropertyDefinition, DateTimePropertyDefinition.
31
+
32
+ | Property | Type | Description |
33
+ | -------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------- |
34
+ | `displayName` | `string` | Name as shown to users |
35
+ | `property` | `string` | Actual name of the property that is used for filtering |
36
+ | `supportedOperators` | `ComparisonOperator[]` | Optional. List of comparison operators. Can be used to override the default operators for the property. |
37
+
38
+ #### StringPropertyDefinition
39
+
40
+ Extends FilterablePropertyDefinition.
41
+
42
+ | Property | Type | Description |
43
+ | ----------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------- |
44
+ | `singleCondition` | `boolean` | Optional. Indicates that the property can be used with single condition only. Default: false |
45
+ | `logicalOperator` | `LogicalOperator` | Optional. Indicates that the property supports only AND or OR logical operators. Default: undefined (supports both AND and OR). |
46
+
47
+ Default supported operators:
48
+
49
+ 1. ComparisonOperator.Equals
50
+ 2. ComparisonOperator.DoesNotEqual
51
+ 3. ComparisonOperator.Contains<br/>
52
+ 4. ComparisonOperator.DoesNotContain
53
+ 5. ComparisonOperator.StartsWith
54
+ 6. ComparisonOperator.EndsWith
55
+ 7. ComparisonOperator.IsEmpty
56
+
57
+ #### EnumPropertyDefinition
58
+
59
+ Extends FilterablePropertyDefinition.
60
+
61
+ | Property | Type | Description |
62
+ | ----------------- | --------------------- | ------------------------------------------------------------------------------------------------- |
63
+ | `values` | `Map<string, string>` | Enumeration key/value data to be used in the filter selection. |
64
+ | `singleSelect` | `boolean` | Optional. Indicates that the property should be used for single select filtering. Default: false. |
65
+ | `searchable` | `boolean` | Optional. Indicates that the property should provide a searching interface. Default: false. |
66
+ | `enableSelectAll` | `boolean` | Optional. Indicates that a select all checkbox is shown. Default: true. |
67
+
68
+ #### NumericPropertyDefinition
69
+
70
+ Extends FilterablePropertyDefinition.
71
+
72
+ | Property | Type | Description |
73
+ | ----------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------- |
74
+ | `singleCondition` | `boolean` | Optional. Indicates that the property can be used with single condition only. Default: false. |
75
+ | `logicalOperator` | `LogicalOperator` | Optional. Indicates that the property supports only AND or OR logical operators. Default: undefined (supports both AND and OR). |
76
+
77
+ Default supported operators:
78
+
79
+ 1. ComparisonOperator.Equals
80
+ 2. ComparisonOperator.DoesNotEqual
81
+ 3. ComparisonOperator.LessThan
82
+ 4. ComparisonOperator.LessThanOrEqualTo
83
+ 5. ComparisonOperator.GreaterThan
84
+ 6. ComparisonOperator.GreaterThanOrEqualTo
85
+ 7. ComparisonOperator.IsEmpty
86
+
87
+ | Property | Type | Description |
88
+ | -------- | ------ | ---------------------------------------------- |
89
+ | `unit` | `Unit` | Default unit of the property metric. Optional. |
90
+
91
+ ### DateTimePropertyDefinition
92
+
93
+ Extends FilterablePropertyDefinition. Default supported operators:
94
+
95
+ 1. ComparisonOperator.Equals
96
+ 2. ComparisonOperator.Before
97
+ 3. ComparisonOperator.BeforeOrEqualTo
98
+ 4. ComparisonOperator.After
99
+ 5. ComparisonOperator.AfterOrEqualTo
100
+ 6. ComparisonOperator.CustomRange
101
+ 7. ComparisonOperator.IsEmpty
102
+ 8. ComparisonOperator.LastDay
103
+ 9. ComparisonOperator.LastWeek
104
+ 10. ComparisonOperator.LastMonth
105
+ 11. ComparisonOperator.LastYear
106
+ 12. ComparisonOperator.TimeSpan
107
+
108
+ ### PropertyFilter
109
+
110
+ | Property | Type | Description |
111
+ | ---------- | --------------------- | --------------------------------------------- |
112
+ | `criteria` | `PropertyPredicate[]` | Filter criteria |
113
+ | `operator` | `LogicalOperator` | Logical operator. Supported values are AND/OR |
114
+
115
+ ### PropertyPredicate
116
+
117
+ | Property | Type | Description |
118
+ | -------------------- | ------------------------------ | ----------------------------------- |
119
+ | `filterableProperty` | `FilterablePropertyDefinition` | Property that is used for filtering |
120
+ | `operator` | `ComparisonOperator` | Filtering operator |
121
+ | `value` | `any` | Filter value |
122
+
123
+ ### Example Code
124
+
125
+ datagrid-filters-demo.component.html
126
+
127
+ ```html
128
+ <appfx-datagrid-filters
129
+ [filterMode]="filterMode"
130
+ [filterableProperties]="filterableProperties"
131
+ [presetFilters]="presetFilters"
132
+ (searchTermChange)="onAdvancedSearchTermChange($event)"
133
+ (propertyFiltersChange)="onAdvancedFilterCriteriaChange($event)"
134
+ >
135
+ </appfx-datagrid-filters>
136
+ ```
137
+
138
+ datagrid-filters-demo.component.ts
139
+
140
+ ```ts
141
+ import { Component, EventEmitter, OnInit, Output } from '@angular/core';
142
+
143
+ import {
144
+ DateTimePropertyDefinition,
145
+ EnumPropertyDefinition,
146
+ FilterablePropertyDefinition,
147
+ FilterMode,
148
+ NumericPropertyDefinition,
149
+ PropertyFilter,
150
+ StringPropertyDefinition,
151
+ Unit,
152
+ } from '@hermes/angular/addons/datagrid-filters';
153
+
154
+ @Component({
155
+ templateUrl: 'datagrid-filters-demo.component.html',
156
+ })
157
+ export class DatagridFiltersDemoComponent implements OnInit {
158
+ /**
159
+ * Event emitter to tell hosting view that search term, used for filtering
160
+ * has changed.
161
+ */
162
+ @Output()
163
+ public searchTermChange: EventEmitter<string> = new EventEmitter<string>();
164
+
165
+ /**
166
+ * Event emitter to tell hosting view that filtering criteria have changed.
167
+ */
168
+ @Output()
169
+ public advancedFilterChange: EventEmitter<PropertyFilter[]> = new EventEmitter<PropertyFilter[]>();
170
+
171
+ public filterMode: FilterMode = FilterMode.Advanced;
172
+ public filterableProperties: FilterablePropertyDefinition[] = [];
173
+
174
+ public ngOnInit() {
175
+ const stringNameProperty: StringPropertyDefinition = new StringPropertyDefinition('Name', 'name');
176
+ const stringAddressProperty: StringPropertyDefinition = new StringPropertyDefinition('Address', 'address');
177
+
178
+ const dateTimeProperty: DateTimePropertyDefinition = new DateTimePropertyDefinition('Last change', 'lastChanged');
179
+
180
+ const numericCustomerCountProperty: NumericPropertyDefinition = new NumericPropertyDefinition(
181
+ 'Number of customers',
182
+ 'customersCount'
183
+ );
184
+ const numericCapacityProperty: NumericPropertyDefinition = new NumericPropertyDefinition(
185
+ 'Capacity',
186
+ 'capacity',
187
+ undefined, // default operators
188
+ Unit.MB
189
+ );
190
+
191
+ const enumValuesMap: Map<string, string> = new Map<string, string>();
192
+ enumValuesMap.set('green', 'Green');
193
+ enumValuesMap.set('yellow', 'Yellow');
194
+ enumValuesMap.set('orange', 'Orange');
195
+ enumValuesMap.set('red', 'Red');
196
+ const enumProperty: EnumPropertyDefinition = new EnumPropertyDefinition('Status', 'status', enumValuesMap);
197
+ const singleSelectEnumProperty: EnumPropertyDefinition = new EnumPropertyDefinition(
198
+ 'Color',
199
+ 'color',
200
+ enumValuesMap,
201
+ true
202
+ );
203
+
204
+ this.filterableProperties.push(
205
+ stringNameProperty,
206
+ stringAddressProperty,
207
+ dateTimeProperty,
208
+ numericCustomerCountProperty,
209
+ numericCapacityProperty,
210
+ enumProperty,
211
+ singleSelectEnumProperty
212
+ );
213
+ }
214
+
215
+ public onAdvancedSearchTermChange(searchTerm: string): void {
216
+ this.searchTermChange.emit(searchTerm);
217
+ }
218
+
219
+ public onAdvancedFilterCriteriaChange(filterCriteria: PropertyFilter[]): void {
220
+ this.advancedFilterChange.emit(filterCriteria);
221
+ }
222
+ }
223
+ ```
@@ -0,0 +1,10 @@
1
+ /*
2
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
3
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
4
+ * This software is released under MIT license.
5
+ * The full license information can be found in LICENSE in the root directory of this project.
6
+ */
7
+ // TODO: zpopov: refactor with calculation over CSS vars
8
+ hermes-input-container {
9
+ margin-top: 0.9rem;
10
+ }
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
3
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
4
+ * This software is released under MIT license.
5
+ * The full license information can be found in LICENSE in the root directory of this project.
6
+ */
7
+
8
+ .enum-options {
9
+ margin-top: 0.1rem;
10
+ text-align: left;
11
+ }
12
+
13
+ :host-context(.no-zoom) {
14
+ .enum-options {
15
+ overflow-y: auto;
16
+ }
17
+ }
18
+
19
+ .enum-filter-wrapper {
20
+ max-height: 18rem;
21
+ overflow: auto;
22
+ }
23
+
24
+ :host {
25
+ ::ng-deep .hermes-control-container {
26
+ margin-left: 0.2rem;
27
+ }
28
+ }
29
+
30
+ hermes-checkbox-container:not(.hermes-default-style) {
31
+ margin-top: 0 !important;
32
+ margin-bottom: 0 !important;
33
+ min-height: auto !important;
34
+ }
35
+
36
+ .selection-counter {
37
+ .hermes-subtext {
38
+ color: var(--hermes-info-color, #0072a3);
39
+ }
40
+ }
@@ -0,0 +1,11 @@
1
+ /*
2
+ * Copyright (c) 2016-2026 Broadcom. All Rights Reserved.
3
+ * The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
4
+ * This software is released under MIT license.
5
+ * The full license information can be found in LICENSE in the root directory of this project.
6
+ */
7
+
8
+ .user-filter-wrapper {
9
+ max-height: 18rem;
10
+ overflow: auto;
11
+ }