@hitachivantara/uikit-react-core 5.22.0 → 5.23.0

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 (446) hide show
  1. package/dist/cjs/components/Accordion/Accordion.cjs +17 -15
  2. package/dist/cjs/components/Accordion/Accordion.cjs.map +1 -1
  3. package/dist/cjs/components/ActionBar/ActionBar.cjs +2 -1
  4. package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  5. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs +13 -11
  6. package/dist/cjs/components/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  7. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs +16 -14
  8. package/dist/cjs/components/AppSwitcher/AppSwitcher.cjs.map +1 -1
  9. package/dist/cjs/components/Avatar/Avatar.cjs +41 -35
  10. package/dist/cjs/components/Avatar/Avatar.cjs.map +1 -1
  11. package/dist/cjs/components/Avatar/Avatar.styles.cjs +92 -134
  12. package/dist/cjs/components/Avatar/Avatar.styles.cjs.map +1 -1
  13. package/dist/cjs/components/Badge/Badge.cjs +20 -16
  14. package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
  15. package/dist/cjs/components/Badge/Badge.styles.cjs +23 -69
  16. package/dist/cjs/components/Badge/Badge.styles.cjs.map +1 -1
  17. package/dist/cjs/components/Banner/Banner.cjs +22 -20
  18. package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
  19. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +1 -1
  20. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  21. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs +21 -19
  22. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
  23. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs +26 -24
  24. package/dist/cjs/components/BaseDropdown/BaseDropdown.cjs.map +1 -1
  25. package/dist/cjs/components/BaseInput/BaseInput.cjs +23 -21
  26. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  27. package/dist/cjs/components/BaseRadio/BaseRadio.cjs +2 -1
  28. package/dist/cjs/components/BaseRadio/BaseRadio.cjs.map +1 -1
  29. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs +2 -1
  30. package/dist/cjs/components/BaseSwitch/BaseSwitch.cjs.map +1 -1
  31. package/dist/cjs/components/Box/Box.cjs +9 -8
  32. package/dist/cjs/components/Box/Box.cjs.map +1 -1
  33. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs +14 -12
  34. package/dist/cjs/components/BreadCrumb/BreadCrumb.cjs.map +1 -1
  35. package/dist/cjs/components/BulkActions/BulkActions.cjs +22 -20
  36. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  37. package/dist/cjs/components/Button/Button.cjs +4 -3
  38. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  39. package/dist/cjs/components/Calendar/Calendar.cjs +20 -18
  40. package/dist/cjs/components/Calendar/Calendar.cjs.map +1 -1
  41. package/dist/cjs/components/Card/Card.cjs +13 -11
  42. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  43. package/dist/cjs/components/Carousel/Carousel.cjs +2 -2
  44. package/dist/cjs/components/Carousel/Carousel.cjs.map +1 -1
  45. package/dist/cjs/components/Carousel/CarouselControls.cjs +2 -3
  46. package/dist/cjs/components/Carousel/CarouselControls.cjs.map +1 -1
  47. package/dist/cjs/components/Carousel/CarouselSlide/CarouselSlide.cjs +1 -1
  48. package/dist/cjs/components/Carousel/CarouselSlide/CarouselSlide.cjs.map +1 -1
  49. package/dist/cjs/components/CheckBox/CheckBox.cjs +29 -27
  50. package/dist/cjs/components/CheckBox/CheckBox.cjs.map +1 -1
  51. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs +28 -26
  52. package/dist/cjs/components/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
  53. package/dist/cjs/components/ColorPicker/ColorPicker.cjs +34 -32
  54. package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  55. package/dist/cjs/components/Container/Container.cjs +9 -7
  56. package/dist/cjs/components/Container/Container.cjs.map +1 -1
  57. package/dist/cjs/components/Controls/Controls.cjs +14 -12
  58. package/dist/cjs/components/Controls/Controls.cjs.map +1 -1
  59. package/dist/cjs/components/DatePicker/DatePicker.cjs +39 -37
  60. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  61. package/dist/cjs/components/Dialog/Actions/Actions.cjs +9 -7
  62. package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
  63. package/dist/cjs/components/Dialog/Content/Content.cjs +8 -6
  64. package/dist/cjs/components/Dialog/Content/Content.cjs.map +1 -1
  65. package/dist/cjs/components/Dialog/Dialog.cjs +16 -14
  66. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  67. package/dist/cjs/components/Dialog/Title/Title.cjs +11 -9
  68. package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
  69. package/dist/cjs/components/DotPagination/DotPagination.cjs +14 -12
  70. package/dist/cjs/components/DotPagination/DotPagination.cjs.map +1 -1
  71. package/dist/cjs/components/Drawer/Drawer.cjs +13 -11
  72. package/dist/cjs/components/Drawer/Drawer.cjs.map +1 -1
  73. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs +20 -17
  74. package/dist/cjs/components/DropDownMenu/DropDownMenu.cjs.map +1 -1
  75. package/dist/cjs/components/Dropdown/Dropdown.cjs +2 -1
  76. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  77. package/dist/cjs/components/EmptyState/EmptyState.cjs +2 -1
  78. package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
  79. package/dist/cjs/components/FileUploader/File/File.cjs +0 -1
  80. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  81. package/dist/cjs/components/FileUploader/FileUploader.cjs +17 -15
  82. package/dist/cjs/components/FileUploader/FileUploader.cjs.map +1 -1
  83. package/dist/cjs/components/FileUploader/Preview/Preview.cjs +0 -1
  84. package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
  85. package/dist/cjs/components/FilterGroup/FilterGroup.cjs +30 -28
  86. package/dist/cjs/components/FilterGroup/FilterGroup.cjs.map +1 -1
  87. package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs +8 -6
  88. package/dist/cjs/components/FilterGroup/FilterGroupContext.cjs.map +1 -1
  89. package/dist/cjs/components/Footer/Footer.cjs +2 -1
  90. package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
  91. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs +13 -11
  92. package/dist/cjs/components/Forms/CharCounter/CharCounter.cjs.map +1 -1
  93. package/dist/cjs/components/Forms/FormElement/FormElement.cjs +15 -13
  94. package/dist/cjs/components/Forms/FormElement/FormElement.cjs.map +1 -1
  95. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs +11 -9
  96. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
  97. package/dist/cjs/components/Forms/Label/Label.cjs +13 -11
  98. package/dist/cjs/components/Forms/Label/Label.cjs.map +1 -1
  99. package/dist/cjs/components/Forms/WarningText/WarningText.cjs +16 -14
  100. package/dist/cjs/components/Forms/WarningText/WarningText.cjs.map +1 -1
  101. package/dist/cjs/components/GlobalActions/GlobalActions.cjs +13 -11
  102. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  103. package/dist/cjs/components/Grid/Grid.cjs +10 -8
  104. package/dist/cjs/components/Grid/Grid.cjs.map +1 -1
  105. package/dist/cjs/components/Header/Actions/Actions.cjs +8 -6
  106. package/dist/cjs/components/Header/Actions/Actions.cjs.map +1 -1
  107. package/dist/cjs/components/Header/Brand/Brand.cjs +9 -7
  108. package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
  109. package/dist/cjs/components/Header/Header.cjs +2 -1
  110. package/dist/cjs/components/Header/Header.cjs.map +1 -1
  111. package/dist/cjs/components/Header/Navigation/Navigation.cjs +11 -9
  112. package/dist/cjs/components/Header/Navigation/Navigation.cjs.map +1 -1
  113. package/dist/cjs/components/InlineEditor/InlineEditor.cjs +18 -16
  114. package/dist/cjs/components/InlineEditor/InlineEditor.cjs.map +1 -1
  115. package/dist/cjs/components/Input/Input.cjs +2 -1
  116. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  117. package/dist/cjs/components/Kpi/Kpi.cjs +13 -11
  118. package/dist/cjs/components/Kpi/Kpi.cjs.map +1 -1
  119. package/dist/cjs/components/Link/Link.cjs +11 -9
  120. package/dist/cjs/components/Link/Link.cjs.map +1 -1
  121. package/dist/cjs/components/List/List.cjs +21 -19
  122. package/dist/cjs/components/List/List.cjs.map +1 -1
  123. package/dist/cjs/components/ListContainer/ListContainer.cjs +12 -10
  124. package/dist/cjs/components/ListContainer/ListContainer.cjs.map +1 -1
  125. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +20 -18
  126. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  127. package/dist/cjs/components/Loading/Loading.cjs +2 -1
  128. package/dist/cjs/components/Loading/Loading.cjs.map +1 -1
  129. package/dist/cjs/components/Login/Login.cjs +10 -8
  130. package/dist/cjs/components/Login/Login.cjs.map +1 -1
  131. package/dist/cjs/components/MultiButton/MultiButton.cjs +11 -9
  132. package/dist/cjs/components/MultiButton/MultiButton.cjs.map +1 -1
  133. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs +12 -10
  134. package/dist/cjs/components/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
  135. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs +0 -1
  136. package/dist/cjs/components/Pagination/ButtonIconTooltip.cjs.map +1 -1
  137. package/dist/cjs/components/Pagination/Pagination.cjs +22 -20
  138. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  139. package/dist/cjs/components/Pagination/Select.cjs +1 -1
  140. package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
  141. package/dist/cjs/components/Panel/Panel.cjs +9 -7
  142. package/dist/cjs/components/Panel/Panel.cjs.map +1 -1
  143. package/dist/cjs/components/ProgressBar/ProgressBar.cjs +2 -1
  144. package/dist/cjs/components/ProgressBar/ProgressBar.cjs.map +1 -1
  145. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs +13 -11
  146. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
  147. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs +0 -1
  148. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs.map +1 -1
  149. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs +1 -2
  150. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
  151. package/dist/cjs/components/Radio/Radio.cjs +2 -1
  152. package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
  153. package/dist/cjs/components/RadioGroup/RadioGroup.cjs +25 -23
  154. package/dist/cjs/components/RadioGroup/RadioGroup.cjs.map +1 -1
  155. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs +18 -16
  156. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.cjs.map +1 -1
  157. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs +19 -17
  158. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.cjs.map +1 -1
  159. package/dist/cjs/components/SelectionList/SelectionList.cjs +27 -25
  160. package/dist/cjs/components/SelectionList/SelectionList.cjs.map +1 -1
  161. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs +9 -7
  162. package/dist/cjs/components/SimpleGrid/SimpleGrid.cjs.map +1 -1
  163. package/dist/cjs/components/Slider/Slider.cjs +37 -35
  164. package/dist/cjs/components/Slider/Slider.cjs.map +1 -1
  165. package/dist/cjs/components/Snackbar/Snackbar.cjs +1 -1
  166. package/dist/cjs/components/Snackbar/Snackbar.cjs.map +1 -1
  167. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs +1 -1
  168. package/dist/cjs/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.cjs.map +1 -1
  169. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs +2 -2
  170. package/dist/cjs/components/Snackbar/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  171. package/dist/cjs/components/Stack/Stack.cjs +13 -11
  172. package/dist/cjs/components/Stack/Stack.cjs.map +1 -1
  173. package/dist/cjs/components/Switch/Switch.cjs +2 -1
  174. package/dist/cjs/components/Switch/Switch.cjs.map +1 -1
  175. package/dist/cjs/components/Tab/Tab.cjs +8 -6
  176. package/dist/cjs/components/Tab/Tab.cjs.map +1 -1
  177. package/dist/cjs/components/Table/Table.cjs +12 -10
  178. package/dist/cjs/components/Table/Table.cjs.map +1 -1
  179. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +2 -3
  180. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  181. package/dist/cjs/components/Table/hooks/useRowExpand.cjs +0 -1
  182. package/dist/cjs/components/Table/hooks/useRowExpand.cjs.map +1 -1
  183. package/dist/cjs/components/Table/renderers/renderers.cjs +0 -1
  184. package/dist/cjs/components/Table/renderers/renderers.cjs.map +1 -1
  185. package/dist/cjs/components/Tabs/Tabs.cjs +6 -4
  186. package/dist/cjs/components/Tabs/Tabs.cjs.map +1 -1
  187. package/dist/cjs/components/Tag/Tag.cjs +18 -16
  188. package/dist/cjs/components/Tag/Tag.cjs.map +1 -1
  189. package/dist/cjs/components/TagsInput/TagsInput.cjs +39 -37
  190. package/dist/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  191. package/dist/cjs/components/TextArea/TextArea.cjs +2 -1
  192. package/dist/cjs/components/TextArea/TextArea.cjs.map +1 -1
  193. package/dist/cjs/components/TimeAgo/TimeAgo.cjs +14 -12
  194. package/dist/cjs/components/TimeAgo/TimeAgo.cjs.map +1 -1
  195. package/dist/cjs/components/TimePicker/TimePicker.cjs +3 -2
  196. package/dist/cjs/components/TimePicker/TimePicker.cjs.map +1 -1
  197. package/dist/cjs/components/ToggleButton/ToggleButton.cjs +2 -2
  198. package/dist/cjs/components/ToggleButton/ToggleButton.cjs.map +1 -1
  199. package/dist/cjs/components/Tooltip/Tooltip.cjs +2 -1
  200. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  201. package/dist/cjs/components/Typography/Typography.cjs +2 -1
  202. package/dist/cjs/components/Typography/Typography.cjs.map +1 -1
  203. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs +0 -2
  204. package/dist/cjs/components/VerticalNavigation/Header/Header.cjs.map +1 -1
  205. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +0 -1
  206. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -1
  207. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +1 -0
  208. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
  209. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +10 -6
  210. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs.map +1 -1
  211. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs +12 -10
  212. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
  213. package/dist/cjs/hooks/useDefaultProps.cjs +41 -0
  214. package/dist/cjs/hooks/useDefaultProps.cjs.map +1 -0
  215. package/dist/cjs/index.cjs +9 -4
  216. package/dist/cjs/index.cjs.map +1 -1
  217. package/dist/cjs/utils/classes.cjs +1 -1
  218. package/dist/cjs/utils/classes.cjs.map +1 -1
  219. package/dist/esm/components/Accordion/Accordion.js +17 -15
  220. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  221. package/dist/esm/components/ActionBar/ActionBar.js +2 -1
  222. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  223. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js +13 -11
  224. package/dist/esm/components/ActionsGeneric/ActionsGeneric.js.map +1 -1
  225. package/dist/esm/components/AppSwitcher/AppSwitcher.js +16 -14
  226. package/dist/esm/components/AppSwitcher/AppSwitcher.js.map +1 -1
  227. package/dist/esm/components/Avatar/Avatar.js +42 -37
  228. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  229. package/dist/esm/components/Avatar/Avatar.styles.js +92 -132
  230. package/dist/esm/components/Avatar/Avatar.styles.js.map +1 -1
  231. package/dist/esm/components/Badge/Badge.js +23 -18
  232. package/dist/esm/components/Badge/Badge.js.map +1 -1
  233. package/dist/esm/components/Badge/Badge.styles.js +23 -67
  234. package/dist/esm/components/Badge/Badge.styles.js.map +1 -1
  235. package/dist/esm/components/Banner/Banner.js +22 -20
  236. package/dist/esm/components/Banner/Banner.js.map +1 -1
  237. package/dist/esm/components/Banner/BannerContent/BannerContent.js +1 -1
  238. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  239. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js +21 -19
  240. package/dist/esm/components/BaseCheckBox/BaseCheckBox.js.map +1 -1
  241. package/dist/esm/components/BaseDropdown/BaseDropdown.js +26 -24
  242. package/dist/esm/components/BaseDropdown/BaseDropdown.js.map +1 -1
  243. package/dist/esm/components/BaseInput/BaseInput.js +23 -21
  244. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  245. package/dist/esm/components/BaseRadio/BaseRadio.js +2 -1
  246. package/dist/esm/components/BaseRadio/BaseRadio.js.map +1 -1
  247. package/dist/esm/components/BaseSwitch/BaseSwitch.js +2 -1
  248. package/dist/esm/components/BaseSwitch/BaseSwitch.js.map +1 -1
  249. package/dist/esm/components/Box/Box.js +9 -8
  250. package/dist/esm/components/Box/Box.js.map +1 -1
  251. package/dist/esm/components/BreadCrumb/BreadCrumb.js +14 -12
  252. package/dist/esm/components/BreadCrumb/BreadCrumb.js.map +1 -1
  253. package/dist/esm/components/BulkActions/BulkActions.js +22 -20
  254. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  255. package/dist/esm/components/Button/Button.js +4 -3
  256. package/dist/esm/components/Button/Button.js.map +1 -1
  257. package/dist/esm/components/Calendar/Calendar.js +20 -18
  258. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  259. package/dist/esm/components/Card/Card.js +13 -11
  260. package/dist/esm/components/Card/Card.js.map +1 -1
  261. package/dist/esm/components/Carousel/Carousel.js +2 -2
  262. package/dist/esm/components/Carousel/Carousel.js.map +1 -1
  263. package/dist/esm/components/Carousel/CarouselControls.js +2 -3
  264. package/dist/esm/components/Carousel/CarouselControls.js.map +1 -1
  265. package/dist/esm/components/Carousel/CarouselSlide/CarouselSlide.js +1 -1
  266. package/dist/esm/components/Carousel/CarouselSlide/CarouselSlide.js.map +1 -1
  267. package/dist/esm/components/CheckBox/CheckBox.js +29 -27
  268. package/dist/esm/components/CheckBox/CheckBox.js.map +1 -1
  269. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js +28 -26
  270. package/dist/esm/components/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  271. package/dist/esm/components/ColorPicker/ColorPicker.js +34 -32
  272. package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -1
  273. package/dist/esm/components/Container/Container.js +9 -7
  274. package/dist/esm/components/Container/Container.js.map +1 -1
  275. package/dist/esm/components/Controls/Controls.js +14 -12
  276. package/dist/esm/components/Controls/Controls.js.map +1 -1
  277. package/dist/esm/components/DatePicker/DatePicker.js +39 -37
  278. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  279. package/dist/esm/components/Dialog/Actions/Actions.js +9 -7
  280. package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
  281. package/dist/esm/components/Dialog/Content/Content.js +8 -6
  282. package/dist/esm/components/Dialog/Content/Content.js.map +1 -1
  283. package/dist/esm/components/Dialog/Dialog.js +16 -14
  284. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  285. package/dist/esm/components/Dialog/Title/Title.js +11 -9
  286. package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
  287. package/dist/esm/components/DotPagination/DotPagination.js +14 -12
  288. package/dist/esm/components/DotPagination/DotPagination.js.map +1 -1
  289. package/dist/esm/components/Drawer/Drawer.js +13 -11
  290. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  291. package/dist/esm/components/DropDownMenu/DropDownMenu.js +20 -17
  292. package/dist/esm/components/DropDownMenu/DropDownMenu.js.map +1 -1
  293. package/dist/esm/components/Dropdown/Dropdown.js +2 -1
  294. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  295. package/dist/esm/components/EmptyState/EmptyState.js +2 -1
  296. package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
  297. package/dist/esm/components/FileUploader/File/File.js +0 -1
  298. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  299. package/dist/esm/components/FileUploader/FileUploader.js +17 -15
  300. package/dist/esm/components/FileUploader/FileUploader.js.map +1 -1
  301. package/dist/esm/components/FileUploader/Preview/Preview.js +0 -1
  302. package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
  303. package/dist/esm/components/FilterGroup/FilterGroup.js +30 -28
  304. package/dist/esm/components/FilterGroup/FilterGroup.js.map +1 -1
  305. package/dist/esm/components/FilterGroup/FilterGroupContext.js +8 -6
  306. package/dist/esm/components/FilterGroup/FilterGroupContext.js.map +1 -1
  307. package/dist/esm/components/Footer/Footer.js +2 -1
  308. package/dist/esm/components/Footer/Footer.js.map +1 -1
  309. package/dist/esm/components/Forms/CharCounter/CharCounter.js +13 -11
  310. package/dist/esm/components/Forms/CharCounter/CharCounter.js.map +1 -1
  311. package/dist/esm/components/Forms/FormElement/FormElement.js +15 -13
  312. package/dist/esm/components/Forms/FormElement/FormElement.js.map +1 -1
  313. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js +11 -9
  314. package/dist/esm/components/Forms/InfoMessage/InfoMessage.js.map +1 -1
  315. package/dist/esm/components/Forms/Label/Label.js +13 -11
  316. package/dist/esm/components/Forms/Label/Label.js.map +1 -1
  317. package/dist/esm/components/Forms/WarningText/WarningText.js +16 -14
  318. package/dist/esm/components/Forms/WarningText/WarningText.js.map +1 -1
  319. package/dist/esm/components/GlobalActions/GlobalActions.js +13 -11
  320. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  321. package/dist/esm/components/Grid/Grid.js +10 -8
  322. package/dist/esm/components/Grid/Grid.js.map +1 -1
  323. package/dist/esm/components/Header/Actions/Actions.js +8 -6
  324. package/dist/esm/components/Header/Actions/Actions.js.map +1 -1
  325. package/dist/esm/components/Header/Brand/Brand.js +9 -7
  326. package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
  327. package/dist/esm/components/Header/Header.js +2 -1
  328. package/dist/esm/components/Header/Header.js.map +1 -1
  329. package/dist/esm/components/Header/Navigation/Navigation.js +11 -9
  330. package/dist/esm/components/Header/Navigation/Navigation.js.map +1 -1
  331. package/dist/esm/components/InlineEditor/InlineEditor.js +18 -16
  332. package/dist/esm/components/InlineEditor/InlineEditor.js.map +1 -1
  333. package/dist/esm/components/Input/Input.js +2 -1
  334. package/dist/esm/components/Input/Input.js.map +1 -1
  335. package/dist/esm/components/Kpi/Kpi.js +13 -11
  336. package/dist/esm/components/Kpi/Kpi.js.map +1 -1
  337. package/dist/esm/components/Link/Link.js +11 -9
  338. package/dist/esm/components/Link/Link.js.map +1 -1
  339. package/dist/esm/components/List/List.js +21 -19
  340. package/dist/esm/components/List/List.js.map +1 -1
  341. package/dist/esm/components/ListContainer/ListContainer.js +12 -10
  342. package/dist/esm/components/ListContainer/ListContainer.js.map +1 -1
  343. package/dist/esm/components/ListContainer/ListItem/ListItem.js +20 -18
  344. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  345. package/dist/esm/components/Loading/Loading.js +2 -1
  346. package/dist/esm/components/Loading/Loading.js.map +1 -1
  347. package/dist/esm/components/Login/Login.js +10 -8
  348. package/dist/esm/components/Login/Login.js.map +1 -1
  349. package/dist/esm/components/MultiButton/MultiButton.js +11 -9
  350. package/dist/esm/components/MultiButton/MultiButton.js.map +1 -1
  351. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js +12 -10
  352. package/dist/esm/components/OverflowTooltip/OverflowTooltip.js.map +1 -1
  353. package/dist/esm/components/Pagination/ButtonIconTooltip.js +0 -1
  354. package/dist/esm/components/Pagination/ButtonIconTooltip.js.map +1 -1
  355. package/dist/esm/components/Pagination/Pagination.js +22 -20
  356. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  357. package/dist/esm/components/Pagination/Select.js +1 -1
  358. package/dist/esm/components/Pagination/Select.js.map +1 -1
  359. package/dist/esm/components/Panel/Panel.js +9 -7
  360. package/dist/esm/components/Panel/Panel.js.map +1 -1
  361. package/dist/esm/components/ProgressBar/ProgressBar.js +2 -1
  362. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  363. package/dist/esm/components/QueryBuilder/QueryBuilder.js +13 -11
  364. package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
  365. package/dist/esm/components/QueryBuilder/Rule/Rule.js +0 -1
  366. package/dist/esm/components/QueryBuilder/Rule/Rule.js.map +1 -1
  367. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js +1 -2
  368. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  369. package/dist/esm/components/Radio/Radio.js +2 -1
  370. package/dist/esm/components/Radio/Radio.js.map +1 -1
  371. package/dist/esm/components/RadioGroup/RadioGroup.js +25 -23
  372. package/dist/esm/components/RadioGroup/RadioGroup.js.map +1 -1
  373. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js +18 -16
  374. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  375. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js +19 -17
  376. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  377. package/dist/esm/components/SelectionList/SelectionList.js +27 -25
  378. package/dist/esm/components/SelectionList/SelectionList.js.map +1 -1
  379. package/dist/esm/components/SimpleGrid/SimpleGrid.js +9 -7
  380. package/dist/esm/components/SimpleGrid/SimpleGrid.js.map +1 -1
  381. package/dist/esm/components/Slider/Slider.js +37 -35
  382. package/dist/esm/components/Slider/Slider.js.map +1 -1
  383. package/dist/esm/components/Snackbar/Snackbar.js +1 -1
  384. package/dist/esm/components/Snackbar/Snackbar.js.map +1 -1
  385. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +1 -1
  386. package/dist/esm/components/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  387. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js +2 -2
  388. package/dist/esm/components/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  389. package/dist/esm/components/Stack/Stack.js +13 -11
  390. package/dist/esm/components/Stack/Stack.js.map +1 -1
  391. package/dist/esm/components/Switch/Switch.js +2 -1
  392. package/dist/esm/components/Switch/Switch.js.map +1 -1
  393. package/dist/esm/components/Tab/Tab.js +8 -6
  394. package/dist/esm/components/Tab/Tab.js.map +1 -1
  395. package/dist/esm/components/Table/Table.js +12 -10
  396. package/dist/esm/components/Table/Table.js.map +1 -1
  397. package/dist/esm/components/Table/TableHeader/TableHeader.js +2 -3
  398. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  399. package/dist/esm/components/Table/hooks/useRowExpand.js +0 -1
  400. package/dist/esm/components/Table/hooks/useRowExpand.js.map +1 -1
  401. package/dist/esm/components/Table/renderers/renderers.js +0 -1
  402. package/dist/esm/components/Table/renderers/renderers.js.map +1 -1
  403. package/dist/esm/components/Tabs/Tabs.js +6 -4
  404. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  405. package/dist/esm/components/Tag/Tag.js +18 -16
  406. package/dist/esm/components/Tag/Tag.js.map +1 -1
  407. package/dist/esm/components/TagsInput/TagsInput.js +39 -37
  408. package/dist/esm/components/TagsInput/TagsInput.js.map +1 -1
  409. package/dist/esm/components/TextArea/TextArea.js +2 -1
  410. package/dist/esm/components/TextArea/TextArea.js.map +1 -1
  411. package/dist/esm/components/TimeAgo/TimeAgo.js +14 -12
  412. package/dist/esm/components/TimeAgo/TimeAgo.js.map +1 -1
  413. package/dist/esm/components/TimePicker/TimePicker.js +3 -2
  414. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
  415. package/dist/esm/components/ToggleButton/ToggleButton.js +2 -2
  416. package/dist/esm/components/ToggleButton/ToggleButton.js.map +1 -1
  417. package/dist/esm/components/Tooltip/Tooltip.js +2 -1
  418. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  419. package/dist/esm/components/Typography/Typography.js +2 -1
  420. package/dist/esm/components/Typography/Typography.js.map +1 -1
  421. package/dist/esm/components/VerticalNavigation/Header/Header.js +0 -2
  422. package/dist/esm/components/VerticalNavigation/Header/Header.js.map +1 -1
  423. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js +0 -1
  424. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
  425. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +1 -0
  426. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  427. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js +10 -6
  428. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -1
  429. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js +12 -10
  430. package/dist/esm/components/VerticalNavigation/VerticalNavigation.js.map +1 -1
  431. package/dist/esm/hooks/useDefaultProps.js +41 -0
  432. package/dist/esm/hooks/useDefaultProps.js.map +1 -0
  433. package/dist/esm/index.js +213 -208
  434. package/dist/esm/index.js.map +1 -1
  435. package/dist/esm/utils/classes.js +1 -1
  436. package/dist/esm/utils/classes.js.map +1 -1
  437. package/dist/types/index.d.ts +279 -244
  438. package/package.json +5 -5
  439. package/dist/cjs/components/Avatar/avatarClasses.cjs +0 -8
  440. package/dist/cjs/components/Avatar/avatarClasses.cjs.map +0 -1
  441. package/dist/cjs/components/Badge/badgeClasses.cjs +0 -8
  442. package/dist/cjs/components/Badge/badgeClasses.cjs.map +0 -1
  443. package/dist/esm/components/Avatar/avatarClasses.js +0 -8
  444. package/dist/esm/components/Avatar/avatarClasses.js.map +0 -1
  445. package/dist/esm/components/Badge/badgeClasses.js +0 -8
  446. package/dist/esm/components/Badge/badgeClasses.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import React, {\n SyntheticEvent,\n useCallback,\n useMemo,\n HTMLAttributes,\n} from \"react\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { setId } from \"@core/utils/setId\";\nimport {\n HvTypographyVariants,\n HvTypography,\n} from \"@core/components/Typography\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Accordion.styles\";\n\nexport { staticClasses as accordionClasses };\n\nexport type HvAccordionClasses = ExtractNames<typeof useClasses>;\nexport interface HvAccordionProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node of the accordion.\n */\n id?: string;\n /**\n * Class names to be applied to the accordion.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvAccordionClasses;\n /**\n * The accordion label button.\n */\n label?: string;\n /**\n * The function that will be executed whenever the accordion toggles it will receive the state of the accordion\n */\n onChange?: (event: React.SyntheticEvent, value: boolean) => void;\n /**\n * Whether the accordion is open or not, if this property is defined the accordion must be fully controlled.\n */\n expanded?: boolean;\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded?: boolean;\n /**\n * An object containing props to be passed onto container holding the accordion children.\n */\n containerProps?: HTMLAttributes<HTMLDivElement>;\n /**\n * Heading Level to apply to accordion button if ´undefined´ the button won't have a header wrapper.\n */\n headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;\n /**\n * Is the accordion disabled.\n */\n disabled?: boolean;\n /**\n * Typography variant for the label.\n */\n labelVariant?: HvTypographyVariants;\n /**\n * Content to be rendered\n */\n children: React.ReactNode;\n}\n\n/**\n * A accordion is a design element that expands in place to expose hidden information.\n */\nexport const HvAccordion = ({\n id,\n className,\n classes: classesProp,\n disabled = false,\n label,\n onChange,\n children,\n expanded,\n headingLevel,\n defaultExpanded = false,\n containerProps,\n labelVariant = \"label\",\n ...others\n}: HvAccordionProps) => {\n const { classes, cx } = useClasses(classesProp);\n\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const handleAction = useCallback(\n (event: SyntheticEvent) => {\n if (!disabled) {\n onChange?.(event, isOpen);\n setIsOpen(!isOpen);\n return true;\n }\n return false;\n },\n [disabled, onChange, isOpen, setIsOpen]\n );\n\n const handleClick = useCallback(\n (event: SyntheticEvent) => {\n handleAction(event);\n event.preventDefault();\n event.stopPropagation();\n },\n [handleAction]\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n switch (key) {\n case \"Enter\":\n case \" \":\n isEventHandled = handleAction(event);\n break;\n default:\n return;\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [handleAction]\n );\n\n const accordionHeaderId = setId(id, \"button\");\n const accordionContainer = setId(id, \"container\");\n const accordionHeader = useMemo(() => {\n const color = (disabled && [\"secondary_60\"]) || undefined;\n\n const accordionButton = (\n <HvTypography\n id={accordionHeaderId}\n component=\"div\"\n role=\"button\"\n className={cx(classes.label, { [classes.disabled]: disabled })}\n disabled={disabled}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n onClick={handleClick}\n variant={labelVariant}\n aria-expanded={isOpen}\n aria-disabled={disabled}\n >\n {isOpen ? <DropUpXS color={color} /> : <DropDownXS color={color} />}\n {label}\n </HvTypography>\n );\n const result =\n headingLevel === undefined ? (\n accordionButton\n ) : (\n <HvTypography component={`h${headingLevel}`} variant={labelVariant}>\n {accordionButton}\n </HvTypography>\n );\n return result;\n }, [\n cx,\n classes,\n handleClick,\n handleKeyDown,\n label,\n accordionHeaderId,\n disabled,\n headingLevel,\n isOpen,\n labelVariant,\n ]);\n\n return (\n <div id={id} className={cx(classes.root, className)} {...others}>\n {accordionHeader}\n <div\n id={accordionContainer}\n role=\"region\"\n aria-labelledby={accordionHeaderId}\n className={cx(classes.container, { [classes.hidden]: !isOpen })}\n hidden={!isOpen}\n {...containerProps}\n >\n {children}\n </div>\n </div>\n );\n};\n"],"names":["HvAccordion","id","className","classes","classesProp","disabled","label","onChange","children","expanded","headingLevel","defaultExpanded","containerProps","labelVariant","others","cx","useClasses","isOpen","setIsOpen","useControlled","Boolean","handleAction","useCallback","event","handleClick","preventDefault","stopPropagation","handleKeyDown","isEventHandled","key","altKey","ctrlKey","metaKey","currentTarget","target","accordionHeaderId","setId","accordionContainer","accordionHeader","useMemo","color","undefined","accordionButton","HvTypography","component","role","tabIndex","onKeyDown","onClick","variant","_jsx","DropUpXS","DropDownXS","result","root","container","hidden"],"mappings":"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"}
1
+ {"version":3,"file":"Accordion.js","sources":["../../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import React, {\n SyntheticEvent,\n useCallback,\n useMemo,\n HTMLAttributes,\n} from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useControlled } from \"@core/hooks/useControlled\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { setId } from \"@core/utils/setId\";\nimport {\n HvTypographyVariants,\n HvTypography,\n} from \"@core/components/Typography\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Accordion.styles\";\n\nexport { staticClasses as accordionClasses };\n\nexport type HvAccordionClasses = ExtractNames<typeof useClasses>;\nexport interface HvAccordionProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * Id to be applied to the root node of the accordion.\n */\n id?: string;\n /**\n * Class names to be applied to the accordion.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvAccordionClasses;\n /**\n * The accordion label button.\n */\n label?: string;\n /**\n * The function that will be executed whenever the accordion toggles it will receive the state of the accordion\n */\n onChange?: (event: React.SyntheticEvent, value: boolean) => void;\n /**\n * Whether the accordion is open or not, if this property is defined the accordion must be fully controlled.\n */\n expanded?: boolean;\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded?: boolean;\n /**\n * An object containing props to be passed onto container holding the accordion children.\n */\n containerProps?: HTMLAttributes<HTMLDivElement>;\n /**\n * Heading Level to apply to accordion button if ´undefined´ the button won't have a header wrapper.\n */\n headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;\n /**\n * Is the accordion disabled.\n */\n disabled?: boolean;\n /**\n * Typography variant for the label.\n */\n labelVariant?: HvTypographyVariants;\n /**\n * Content to be rendered\n */\n children: React.ReactNode;\n}\n\n/**\n * A accordion is a design element that expands in place to expose hidden information.\n */\nexport const HvAccordion = (props: HvAccordionProps) => {\n const {\n id,\n className,\n classes: classesProp,\n disabled = false,\n label,\n onChange,\n children,\n expanded,\n headingLevel,\n defaultExpanded = false,\n containerProps,\n labelVariant = \"label\",\n ...others\n } = useDefaultProps(\"HvAccordion\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const handleAction = useCallback(\n (event: SyntheticEvent) => {\n if (!disabled) {\n onChange?.(event, isOpen);\n setIsOpen(!isOpen);\n return true;\n }\n return false;\n },\n [disabled, onChange, isOpen, setIsOpen]\n );\n\n const handleClick = useCallback(\n (event: SyntheticEvent) => {\n handleAction(event);\n event.preventDefault();\n event.stopPropagation();\n },\n [handleAction]\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n switch (key) {\n case \"Enter\":\n case \" \":\n isEventHandled = handleAction(event);\n break;\n default:\n return;\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [handleAction]\n );\n\n const accordionHeaderId = setId(id, \"button\");\n const accordionContainer = setId(id, \"container\");\n const accordionHeader = useMemo(() => {\n const color = (disabled && [\"secondary_60\"]) || undefined;\n\n const accordionButton = (\n <HvTypography\n id={accordionHeaderId}\n component=\"div\"\n role=\"button\"\n className={cx(classes.label, { [classes.disabled]: disabled })}\n disabled={disabled}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n onClick={handleClick}\n variant={labelVariant}\n aria-expanded={isOpen}\n aria-disabled={disabled}\n >\n {isOpen ? <DropUpXS color={color} /> : <DropDownXS color={color} />}\n {label}\n </HvTypography>\n );\n const result =\n headingLevel === undefined ? (\n accordionButton\n ) : (\n <HvTypography component={`h${headingLevel}`} variant={labelVariant}>\n {accordionButton}\n </HvTypography>\n );\n return result;\n }, [\n cx,\n classes,\n handleClick,\n handleKeyDown,\n label,\n accordionHeaderId,\n disabled,\n headingLevel,\n isOpen,\n labelVariant,\n ]);\n\n return (\n <div id={id} className={cx(classes.root, className)} {...others}>\n {accordionHeader}\n <div\n id={accordionContainer}\n role=\"region\"\n aria-labelledby={accordionHeaderId}\n className={cx(classes.container, { [classes.hidden]: !isOpen })}\n hidden={!isOpen}\n {...containerProps}\n >\n {children}\n </div>\n </div>\n );\n};\n"],"names":["HvAccordion","props","id","className","classes","classesProp","disabled","label","onChange","children","expanded","headingLevel","defaultExpanded","containerProps","labelVariant","others","useDefaultProps","cx","useClasses","isOpen","setIsOpen","useControlled","Boolean","handleAction","useCallback","event","handleClick","preventDefault","stopPropagation","handleKeyDown","isEventHandled","key","altKey","ctrlKey","metaKey","currentTarget","target","accordionHeaderId","setId","accordionContainer","accordionHeader","useMemo","color","undefined","accordionButton","HvTypography","component","role","tabIndex","onKeyDown","onClick","variant","_jsx","DropUpXS","DropDownXS","result","root","container","hidden"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { useDefaultProps } from "../../hooks/useDefaultProps.js";
1
2
  import { useClasses } from "./ActionBar.styles.js";
2
3
  import { staticClasses } from "./ActionBar.styles.js";
3
4
  import { jsx } from "@emotion/react/jsx-runtime";
@@ -7,7 +8,7 @@ const HvActionBar = (props) => {
7
8
  className,
8
9
  children,
9
10
  ...others
10
- } = props;
11
+ } = useDefaultProps("HvActionBar", props);
11
12
  const {
12
13
  classes,
13
14
  cx
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBar.js","sources":["../../../../src/components/ActionBar/ActionBar.tsx"],"sourcesContent":["import { HvBaseProps } from \"@core/types/generic\";\n\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./ActionBar.styles\";\n\nexport { staticClasses as actionBarClasses };\n\nexport type HvActionBarClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvActionBarProps extends HvBaseProps {\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvActionBarClasses;\n}\n\nexport const HvActionBar = (props: HvActionBarProps) => {\n const { classes: classesProp, className, children, ...others } = props;\n const { classes, cx } = useClasses(classesProp);\n\n return (\n <div className={cx(classes.root, className)} {...others}>\n {children}\n </div>\n );\n};\n"],"names":["HvActionBar","props","classes","classesProp","className","children","others","cx","useClasses","root"],"mappings":";;;AAeaA,MAAAA,cAAcA,CAACC,UAA4B;AAChD,QAAA;AAAA,IAAEC,SAASC;AAAAA,IAAaC;AAAAA,IAAWC;AAAAA,IAAU,GAAGC;AAAAA,EAAWL,IAAAA;AAC3D,QAAA;AAAA,IAAEC;AAAAA,IAASK;AAAAA,EAAAA,IAAOC,WAAWL,WAAW;AAE9C,6BACE,OAAA;AAAA,IAAKC,WAAWG,GAAGL,QAAQO,MAAML,SAAS;AAAA,IAAE,GAAKE;AAAAA,IAAMD;AAAAA,EAAAA,CAElD;AAET;"}
1
+ {"version":3,"file":"ActionBar.js","sources":["../../../../src/components/ActionBar/ActionBar.tsx"],"sourcesContent":["import { HvBaseProps } from \"@core/types/generic\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./ActionBar.styles\";\n\nexport { staticClasses as actionBarClasses };\n\nexport type HvActionBarClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvActionBarProps extends HvBaseProps {\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvActionBarClasses;\n}\n\nexport const HvActionBar = (props: HvActionBarProps) => {\n const {\n classes: classesProp,\n className,\n children,\n ...others\n } = useDefaultProps(\"HvActionBar\", props);\n const { classes, cx } = useClasses(classesProp);\n\n return (\n <div className={cx(classes.root, className)} {...others}>\n {children}\n </div>\n );\n};\n"],"names":["HvActionBar","props","classes","classesProp","className","children","others","useDefaultProps","cx","useClasses","root"],"mappings":";;;;AAgBaA,MAAAA,cAAcA,CAACC,UAA4B;AAChD,QAAA;AAAA,IACJC,SAASC;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,eAAeN,KAAK;AAClC,QAAA;AAAA,IAAEC;AAAAA,IAASM;AAAAA,EAAAA,IAAOC,WAAWN,WAAW;AAE9C,6BACE,OAAA;AAAA,IAAKC,WAAWI,GAAGN,QAAQQ,MAAMN,SAAS;AAAA,IAAE,GAAKE;AAAAA,IAAMD;AAAAA,EAAAA,CAElD;AAET;"}
@@ -1,4 +1,5 @@
1
1
  import { isValidElement } from "react";
2
+ import { useDefaultProps } from "../../hooks/useDefaultProps.js";
2
3
  import { MoreOptionsVertical } from "@hitachivantara/uikit-react-icons";
3
4
  import { theme } from "@hitachivantara/uikit-styles";
4
5
  import { hexToRgbA } from "../../utils/hexToRgbA.js";
@@ -9,17 +10,18 @@ import { staticClasses } from "./ActionsGeneric.styles.js";
9
10
  import { jsx, jsxs, Fragment } from "@emotion/react/jsx-runtime";
10
11
  import { HvButton } from "../Button/Button.js";
11
12
  import { HvDropDownMenu } from "../DropDownMenu/DropDownMenu.js";
12
- const HvActionsGeneric = ({
13
- id,
14
- classes: classesProp,
15
- className,
16
- category = "secondaryGhost",
17
- disabled = false,
18
- actions = [],
19
- actionsCallback,
20
- maxVisibleActions = Infinity,
21
- ...others
22
- }) => {
13
+ const HvActionsGeneric = (props) => {
14
+ const {
15
+ id,
16
+ classes: classesProp,
17
+ className,
18
+ category = "secondaryGhost",
19
+ disabled = false,
20
+ actions = [],
21
+ actionsCallback,
22
+ maxVisibleActions = Infinity,
23
+ ...others
24
+ } = useDefaultProps("HvActionsGeneric", props);
23
25
  const {
24
26
  classes,
25
27
  cx,
@@ -1 +1 @@
1
- {"version":3,"file":"ActionsGeneric.js","sources":["../../../../src/components/ActionsGeneric/ActionsGeneric.tsx"],"sourcesContent":["import React, { isValidElement } from \"react\";\n\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { hexToRgbA } from \"@core/utils/hexToRgbA\";\nimport { HvButton, HvButtonVariant } from \"@core/components/Button\";\nimport { HvDropDownMenu } from \"@core/components/DropDownMenu\";\nimport { setId } from \"@core/utils/setId\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useTheme } from \"@core/hooks/useTheme\";\n\nimport { staticClasses, useClasses } from \"./ActionsGeneric.styles\";\n\nexport { staticClasses as actionsGenericClasses };\n\nexport type HvActionsGenericClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvActionGeneric {\n id: string;\n label: string;\n icon?:\n | React.ReactNode\n | ((params: { isDisabled?: boolean }) => React.ReactNode);\n disabled?: boolean;\n}\n\nexport interface HvActionsGenericProps extends HvBaseProps {\n /** Button category. */\n category?: HvButtonVariant;\n /** Whether actions should be all disabled */\n disabled?: boolean;\n /** The renderable content inside the actions slot of the footer, or an Array of actions `{id, label, icon, disabled}` */\n actions: React.ReactNode | HvActionGeneric[];\n /** The callback function ran when an action is triggered, receiving `action` as param */\n actionsCallback?: (\n event: React.SyntheticEvent,\n id: string,\n action: HvActionGeneric\n ) => void;\n /** The number of maximum visible actions before they're collapsed into a `DropDownMenu`. */\n maxVisibleActions?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvActionsGenericClasses;\n}\n\nexport const HvActionsGeneric = ({\n id,\n classes: classesProp,\n className,\n category = \"secondaryGhost\",\n disabled = false,\n actions = [],\n actionsCallback,\n maxVisibleActions = Infinity,\n ...others\n}: HvActionsGenericProps) => {\n const { classes, cx, css } = useClasses(classesProp);\n\n const { activeTheme, selectedMode } = useTheme();\n\n if (!Array.isArray(actions)) return isValidElement(actions) ? actions : null;\n\n const renderButton = (action: HvActionGeneric, idx: number) => {\n const { disabled: actDisabled, id: actId, icon, label, ...other } = action;\n const actionId = setId(id, idx, \"action\", action.id);\n\n const renderedIcon = isValidElement(icon)\n ? icon\n : (icon as Function)?.({ isDisabled: disabled });\n\n return (\n <HvButton\n id={actionId}\n key={actionId || idx}\n variant={category}\n className={cx(\n css({\n \"&:hover\": {\n backgroundColor: hexToRgbA(\n activeTheme?.colors?.modes[selectedMode].base_light ||\n theme.colors.base_light,\n 0.3\n ),\n },\n }),\n classes.button\n )}\n disabled={actDisabled ?? disabled}\n onClick={(event) => actionsCallback?.(event, id || \"\", action)}\n startIcon={renderedIcon}\n {...other}\n >\n {label}\n </HvButton>\n );\n };\n\n const renderActionsGrid = () => {\n const actsVisible = actions.slice(0, maxVisibleActions);\n const actsDropdown = actions.slice(maxVisibleActions);\n\n const semantic = category === \"semantic\";\n const iconColor =\n (disabled && \"secondary_60\") || (semantic && \"base_dark\") || undefined;\n\n return (\n <>\n {actsVisible.map((action, idx) => renderButton(action, idx))}\n <HvDropDownMenu\n id={setId(id, \"menu\")}\n disabled={disabled}\n category={category}\n classes={{\n root: classes.dropDownMenu,\n icon: classes.dropDownMenuButton,\n iconSelected: classes.dropDownMenuButtonSelected,\n }}\n icon={<MoreOptionsVertical color={iconColor} />}\n placement=\"left\"\n onClick={(event, action) =>\n actionsCallback?.(event, id || \"\", action as HvActionGeneric)\n }\n dataList={actsDropdown}\n keepOpened={false}\n disablePortal={false}\n />\n </>\n );\n };\n\n const actionOverflow = actions.length > maxVisibleActions;\n\n return (\n <div\n className={cx(\n classes.root,\n { [classes.actionContainer]: actionOverflow },\n className\n )}\n {...others}\n >\n {actionOverflow\n ? renderActionsGrid()\n : actions.map((action, idx) => renderButton(action, idx))}\n </div>\n );\n};\n"],"names":["HvActionsGeneric","id","classes","classesProp","className","category","disabled","actions","actionsCallback","maxVisibleActions","Infinity","others","cx","css","useClasses","activeTheme","selectedMode","useTheme","Array","isArray","isValidElement","renderButton","action","idx","actDisabled","actId","icon","label","other","actionId","setId","renderedIcon","isDisabled","HvButton","variant","backgroundColor","hexToRgbA","colors","modes","base_light","theme","button","onClick","event","startIcon","children","renderActionsGrid","actsVisible","slice","actsDropdown","semantic","iconColor","undefined","_Fragment","map","HvDropDownMenu","root","dropDownMenu","dropDownMenuButton","iconSelected","dropDownMenuButtonSelected","MoreOptionsVertical","color","placement","dataList","keepOpened","disablePortal","actionOverflow","length","actionContainer"],"mappings":"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"}
1
+ {"version":3,"file":"ActionsGeneric.js","sources":["../../../../src/components/ActionsGeneric/ActionsGeneric.tsx"],"sourcesContent":["import React, { isValidElement } from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { hexToRgbA } from \"@core/utils/hexToRgbA\";\nimport { HvButton, HvButtonVariant } from \"@core/components/Button\";\nimport { HvDropDownMenu } from \"@core/components/DropDownMenu\";\nimport { setId } from \"@core/utils/setId\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useTheme } from \"@core/hooks/useTheme\";\n\nimport { staticClasses, useClasses } from \"./ActionsGeneric.styles\";\n\nexport { staticClasses as actionsGenericClasses };\n\nexport type HvActionsGenericClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvActionGeneric {\n id: string;\n label: string;\n icon?:\n | React.ReactNode\n | ((params: { isDisabled?: boolean }) => React.ReactNode);\n disabled?: boolean;\n}\n\nexport interface HvActionsGenericProps extends HvBaseProps {\n /** Button category. */\n category?: HvButtonVariant;\n /** Whether actions should be all disabled */\n disabled?: boolean;\n /** The renderable content inside the actions slot of the footer, or an Array of actions `{id, label, icon, disabled}` */\n actions: React.ReactNode | HvActionGeneric[];\n /** The callback function ran when an action is triggered, receiving `action` as param */\n actionsCallback?: (\n event: React.SyntheticEvent,\n id: string,\n action: HvActionGeneric\n ) => void;\n /** The number of maximum visible actions before they're collapsed into a `DropDownMenu`. */\n maxVisibleActions?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvActionsGenericClasses;\n}\n\nexport const HvActionsGeneric = (props: HvActionsGenericProps) => {\n const {\n id,\n classes: classesProp,\n className,\n category = \"secondaryGhost\",\n disabled = false,\n actions = [],\n actionsCallback,\n maxVisibleActions = Infinity,\n ...others\n } = useDefaultProps(\"HvActionsGeneric\", props);\n\n const { classes, cx, css } = useClasses(classesProp);\n\n const { activeTheme, selectedMode } = useTheme();\n\n if (!Array.isArray(actions)) return isValidElement(actions) ? actions : null;\n\n const renderButton = (action: HvActionGeneric, idx: number) => {\n const { disabled: actDisabled, id: actId, icon, label, ...other } = action;\n const actionId = setId(id, idx, \"action\", action.id);\n\n const renderedIcon = isValidElement(icon)\n ? icon\n : (icon as Function)?.({ isDisabled: disabled });\n\n return (\n <HvButton\n id={actionId}\n key={actionId || idx}\n variant={category}\n className={cx(\n css({\n \"&:hover\": {\n backgroundColor: hexToRgbA(\n activeTheme?.colors?.modes[selectedMode].base_light ||\n theme.colors.base_light,\n 0.3\n ),\n },\n }),\n classes.button\n )}\n disabled={actDisabled ?? disabled}\n onClick={(event) => actionsCallback?.(event, id || \"\", action)}\n startIcon={renderedIcon}\n {...other}\n >\n {label}\n </HvButton>\n );\n };\n\n const renderActionsGrid = () => {\n const actsVisible = actions.slice(0, maxVisibleActions);\n const actsDropdown = actions.slice(maxVisibleActions);\n\n const semantic = category === \"semantic\";\n const iconColor =\n (disabled && \"secondary_60\") || (semantic && \"base_dark\") || undefined;\n\n return (\n <>\n {actsVisible.map((action, idx) => renderButton(action, idx))}\n <HvDropDownMenu\n id={setId(id, \"menu\")}\n disabled={disabled}\n category={category}\n classes={{\n root: classes.dropDownMenu,\n icon: classes.dropDownMenuButton,\n iconSelected: classes.dropDownMenuButtonSelected,\n }}\n icon={<MoreOptionsVertical color={iconColor} />}\n placement=\"left\"\n onClick={(event, action) =>\n actionsCallback?.(event, id || \"\", action as HvActionGeneric)\n }\n dataList={actsDropdown}\n keepOpened={false}\n disablePortal={false}\n />\n </>\n );\n };\n\n const actionOverflow = actions.length > maxVisibleActions;\n\n return (\n <div\n className={cx(\n classes.root,\n { [classes.actionContainer]: actionOverflow },\n className\n )}\n {...others}\n >\n {actionOverflow\n ? renderActionsGrid()\n : actions.map((action, idx) => renderButton(action, idx))}\n </div>\n );\n};\n"],"names":["HvActionsGeneric","props","id","classes","classesProp","className","category","disabled","actions","actionsCallback","maxVisibleActions","Infinity","others","useDefaultProps","cx","css","useClasses","activeTheme","selectedMode","useTheme","Array","isArray","isValidElement","renderButton","action","idx","actDisabled","actId","icon","label","other","actionId","setId","renderedIcon","isDisabled","HvButton","variant","backgroundColor","hexToRgbA","colors","modes","base_light","theme","button","onClick","event","startIcon","children","renderActionsGrid","actsVisible","slice","actsDropdown","semantic","iconColor","undefined","_Fragment","map","HvDropDownMenu","root","dropDownMenu","dropDownMenuButton","iconSelected","dropDownMenuButtonSelected","MoreOptionsVertical","color","placement","dataList","keepOpened","disablePortal","actionOverflow","length","actionContainer"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { useMemo } from "react";
2
+ import { useDefaultProps } from "../../hooks/useDefaultProps.js";
2
3
  import { useClasses } from "./AppSwitcher.styles.js";
3
4
  import { staticClasses } from "./AppSwitcher.styles.js";
4
5
  import TitleWithTooltip from "./TitleWithTooltip.js";
@@ -6,20 +7,21 @@ import { jsx, jsxs } from "@emotion/react/jsx-runtime";
6
7
  import { HvAppSwitcherAction } from "./Action/Action.js";
7
8
  import { HvTypography } from "../Typography/Typography.js";
8
9
  import { HvListContainer } from "../ListContainer/ListContainer.js";
9
- const HvAppSwitcher = ({
10
- id,
11
- className,
12
- classes: classesProp,
13
- layout = "single",
14
- title,
15
- applications,
16
- onActionClickedCallback = () => {
17
- },
18
- isActionSelectedCallback = () => false,
19
- header,
20
- footer,
21
- isOpen
22
- }) => {
10
+ const HvAppSwitcher = (props) => {
11
+ const {
12
+ id,
13
+ className,
14
+ classes: classesProp,
15
+ layout = "single",
16
+ title,
17
+ applications,
18
+ onActionClickedCallback = () => {
19
+ },
20
+ isActionSelectedCallback = () => false,
21
+ header,
22
+ footer,
23
+ isOpen
24
+ } = useDefaultProps("HvAppSwitcher", props);
23
25
  const {
24
26
  classes,
25
27
  cx
@@ -1 +1 @@
1
- {"version":3,"file":"AppSwitcher.js","sources":["../../../../src/components/AppSwitcher/AppSwitcher.tsx"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvListContainer } from \"@core/components/ListContainer\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport { HvAppSwitcherAction, HvAppSwitcherActionApplication } from \"./Action\";\nimport { useClasses, staticClasses } from \"./AppSwitcher.styles\";\nimport TitleWithTooltip from \"./TitleWithTooltip\";\n\nexport { staticClasses as appSwitcherClasses };\n\nexport type HvAppSwitcherClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvAppSwitcherProps extends HvBaseProps {\n /** Number of columns to render. One, two, or whatever fits the component's width. */\n layout?: \"single\" | \"dual\" | \"fluid\";\n /** Title to be displayed on the header of the component. */\n title?: string;\n /** The list of applications to be used to render the actions on the component. */\n applications?: HvAppSwitcherActionApplication[];\n /** Triggered when an action is clicked. */\n onActionClickedCallback?: (\n event: React.MouseEvent,\n application: HvAppSwitcherActionApplication\n ) => void;\n /** Must return a boolean stating if the action element is selected or not. */\n isActionSelectedCallback?: (\n application: HvAppSwitcherActionApplication\n ) => boolean;\n /** Element to be added to the header container, if none is provided a label with the title will be added. */\n header?: React.ReactNode;\n /** Element to be added to the footer container. */\n footer?: React.ReactNode;\n /**\n * Flag stating if the panel is opened or closed.\n *\n * @deprecated This logic should be external, i.e. using the HvAppSwitcher inside a Drawer component.\n */\n isOpen?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAppSwitcherClasses;\n}\n\nexport const HvAppSwitcher = ({\n id,\n className,\n classes: classesProp,\n layout = \"single\",\n title,\n applications,\n onActionClickedCallback = () => {},\n isActionSelectedCallback = () => false,\n header,\n footer,\n isOpen,\n}: HvAppSwitcherProps) => {\n const { classes, cx } = useClasses(classesProp);\n\n const panelActions = useMemo(\n () =>\n applications &&\n applications?.map((application) => {\n if (application.name) {\n return (\n <HvAppSwitcherAction\n key={application.id || `${application.name}_${application.url}`}\n application={application}\n onClickCallback={onActionClickedCallback}\n isSelectedCallback={isActionSelectedCallback}\n classes={{\n root: classes.item,\n selected: classes.itemSelected,\n disabled: classes.itemDisabled,\n typography: classes.itemTrigger,\n icon: classes.itemIcon,\n title: classes.itemTitle,\n iconInfo: classes.itemInfoIcon,\n }}\n />\n );\n }\n\n return undefined;\n }),\n [applications, classes, isActionSelectedCallback, onActionClickedCallback]\n );\n\n return (\n <div\n id={id}\n className={cx(\n classes.root,\n classes[layout],\n { [classes.open]: !!isOpen, [classes.closed]: isOpen === false },\n className\n )}\n >\n {(header && (\n <HvTypography component=\"div\" variant=\"label\" className={classes.title}>\n {header}\n </HvTypography>\n )) ||\n (title && <TitleWithTooltip className={classes.title} title={title} />)}\n <HvListContainer disableGutters className={classes.actionsContainer}>\n {panelActions}\n </HvListContainer>\n {footer && (\n <HvTypography\n component=\"div\"\n variant=\"label\"\n className={classes.footerContainer}\n >\n {footer}\n </HvTypography>\n )}\n </div>\n );\n};\n"],"names":["HvAppSwitcher","id","className","classes","classesProp","layout","title","applications","onActionClickedCallback","isActionSelectedCallback","header","footer","isOpen","cx","useClasses","panelActions","useMemo","map","application","name","HvAppSwitcherAction","onClickCallback","isSelectedCallback","root","item","selected","itemSelected","disabled","itemDisabled","typography","itemTrigger","icon","itemIcon","itemTitle","iconInfo","itemInfoIcon","url","undefined","open","closed","children","_jsx","HvTypography","component","variant","TitleWithTooltip","HvListContainer","disableGutters","actionsContainer","footerContainer"],"mappings":";;;;;;;;AA6CO,MAAMA,gBAAgBA,CAAC;AAAA,EAC5BC;AAAAA,EACAC;AAAAA,EACAC,SAASC;AAAAA,EACTC,SAAS;AAAA,EACTC;AAAAA,EACAC;AAAAA,EACAC,0BAA0BA,MAAM;AAAA,EAAC;AAAA,EACjCC,2BAA2BA,MAAM;AAAA,EACjCC;AAAAA,EACAC;AAAAA,EACAC;AACkB,MAAM;AAClB,QAAA;AAAA,IAAET;AAAAA,IAASU;AAAAA,EAAAA,IAAOC,WAAWV,WAAW;AAE9C,QAAMW,eAAeC,QACnB,MACET,iBACAA,6CAAcU,IAAKC,CAAgB,gBAAA;AACjC,QAAIA,YAAYC,MAAM;AACpB,iCACGC,qBAAmB;AAAA,QAElBF;AAAAA,QACAG,iBAAiBb;AAAAA,QACjBc,oBAAoBb;AAAAA,QACpBN,SAAS;AAAA,UACPoB,MAAMpB,QAAQqB;AAAAA,UACdC,UAAUtB,QAAQuB;AAAAA,UAClBC,UAAUxB,QAAQyB;AAAAA,UAClBC,YAAY1B,QAAQ2B;AAAAA,UACpBC,MAAM5B,QAAQ6B;AAAAA,UACd1B,OAAOH,QAAQ8B;AAAAA,UACfC,UAAU/B,QAAQgC;AAAAA,QACpB;AAAA,MAAA,GAZKjB,YAAYjB,MAAO,GAAEiB,YAAYC,QAAQD,YAAYkB,KAa3D;AAAA,IAEL;AAEOC,WAAAA;AAAAA,EAAAA,KAEX,CAAC9B,cAAcJ,SAASM,0BAA0BD,uBAAuB,CAC3E;AAEA,8BACE,OAAA;AAAA,IACEP;AAAAA,IACAC,WAAWW,GACTV,QAAQoB,MACRpB,QAAQE,MAAM,GACd;AAAA,MAAE,CAACF,QAAQmC,IAAI,GAAG,CAAC,CAAC1B;AAAAA,MAAQ,CAACT,QAAQoC,MAAM,GAAG3B,WAAW;AAAA,OACzDV,SACF;AAAA,IAAEsC,UAEA9B,CAAAA,UACA+B,oBAACC,cAAY;AAAA,MAACC,WAAU;AAAA,MAAMC,SAAQ;AAAA,MAAQ1C,WAAWC,QAAQG;AAAAA,MAAMkC,UACpE9B;AAAAA,IAAAA,CACW,KAEbJ,SAASmC,oBAACI,kBAAgB;AAAA,MAAC3C,WAAWC,QAAQG;AAAAA,MAAOA;AAAAA,IAAAA,CAAe,GACvEmC,oBAACK,iBAAe;AAAA,MAACC,gBAAc;AAAA,MAAC7C,WAAWC,QAAQ6C;AAAAA,MAAiBR,UACjEzB;AAAAA,IAAAA,CACc,GAChBJ,UACC8B,oBAACC,cAAY;AAAA,MACXC,WAAU;AAAA,MACVC,SAAQ;AAAA,MACR1C,WAAWC,QAAQ8C;AAAAA,MAAgBT,UAElC7B;AAAAA,IAAAA,CACW,CACf;AAAA,EAAA,CACE;AAET;"}
1
+ {"version":3,"file":"AppSwitcher.js","sources":["../../../../src/components/AppSwitcher/AppSwitcher.tsx"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { HvListContainer } from \"@core/components/ListContainer\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport { HvAppSwitcherAction, HvAppSwitcherActionApplication } from \"./Action\";\nimport { useClasses, staticClasses } from \"./AppSwitcher.styles\";\nimport TitleWithTooltip from \"./TitleWithTooltip\";\n\nexport { staticClasses as appSwitcherClasses };\n\nexport type HvAppSwitcherClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvAppSwitcherProps extends HvBaseProps {\n /** Number of columns to render. One, two, or whatever fits the component's width. */\n layout?: \"single\" | \"dual\" | \"fluid\";\n /** Title to be displayed on the header of the component. */\n title?: string;\n /** The list of applications to be used to render the actions on the component. */\n applications?: HvAppSwitcherActionApplication[];\n /** Triggered when an action is clicked. */\n onActionClickedCallback?: (\n event: React.MouseEvent,\n application: HvAppSwitcherActionApplication\n ) => void;\n /** Must return a boolean stating if the action element is selected or not. */\n isActionSelectedCallback?: (\n application: HvAppSwitcherActionApplication\n ) => boolean;\n /** Element to be added to the header container, if none is provided a label with the title will be added. */\n header?: React.ReactNode;\n /** Element to be added to the footer container. */\n footer?: React.ReactNode;\n /**\n * Flag stating if the panel is opened or closed.\n *\n * @deprecated This logic should be external, i.e. using the HvAppSwitcher inside a Drawer component.\n */\n isOpen?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAppSwitcherClasses;\n}\n\nexport const HvAppSwitcher = (props: HvAppSwitcherProps) => {\n const {\n id,\n className,\n classes: classesProp,\n layout = \"single\",\n title,\n applications,\n onActionClickedCallback = () => {},\n isActionSelectedCallback = () => false,\n header,\n footer,\n isOpen,\n } = useDefaultProps(\"HvAppSwitcher\", props);\n const { classes, cx } = useClasses(classesProp);\n\n const panelActions = useMemo(\n () =>\n applications &&\n applications?.map((application) => {\n if (application.name) {\n return (\n <HvAppSwitcherAction\n key={application.id || `${application.name}_${application.url}`}\n application={application}\n onClickCallback={onActionClickedCallback}\n isSelectedCallback={isActionSelectedCallback}\n classes={{\n root: classes.item,\n selected: classes.itemSelected,\n disabled: classes.itemDisabled,\n typography: classes.itemTrigger,\n icon: classes.itemIcon,\n title: classes.itemTitle,\n iconInfo: classes.itemInfoIcon,\n }}\n />\n );\n }\n\n return undefined;\n }),\n [applications, classes, isActionSelectedCallback, onActionClickedCallback]\n );\n\n return (\n <div\n id={id}\n className={cx(\n classes.root,\n classes[layout],\n { [classes.open]: !!isOpen, [classes.closed]: isOpen === false },\n className\n )}\n >\n {(header && (\n <HvTypography component=\"div\" variant=\"label\" className={classes.title}>\n {header}\n </HvTypography>\n )) ||\n (title && <TitleWithTooltip className={classes.title} title={title} />)}\n <HvListContainer disableGutters className={classes.actionsContainer}>\n {panelActions}\n </HvListContainer>\n {footer && (\n <HvTypography\n component=\"div\"\n variant=\"label\"\n className={classes.footerContainer}\n >\n {footer}\n </HvTypography>\n )}\n </div>\n );\n};\n"],"names":["HvAppSwitcher","props","id","className","classes","classesProp","layout","title","applications","onActionClickedCallback","isActionSelectedCallback","header","footer","isOpen","useDefaultProps","cx","useClasses","panelActions","useMemo","map","application","name","HvAppSwitcherAction","onClickCallback","isSelectedCallback","root","item","selected","itemSelected","disabled","itemDisabled","typography","itemTrigger","icon","itemIcon","itemTitle","iconInfo","itemInfoIcon","url","undefined","open","closed","children","_jsx","HvTypography","component","variant","TitleWithTooltip","HvListContainer","disableGutters","actionsContainer","footerContainer"],"mappings":";;;;;;;;;AA8CaA,MAAAA,gBAAgBA,CAACC,UAA8B;AACpD,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC,SAASC;AAAAA,IACTC,SAAS;AAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC,0BAA0BA,MAAM;AAAA,IAAC;AAAA,IACjCC,2BAA2BA,MAAM;AAAA,IACjCC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,EAAAA,IACEC,gBAAgB,iBAAiBb,KAAK;AACpC,QAAA;AAAA,IAAEG;AAAAA,IAASW;AAAAA,EAAAA,IAAOC,WAAWX,WAAW;AAE9C,QAAMY,eAAeC,QACnB,MACEV,iBACAA,6CAAcW,IAAKC,CAAgB,gBAAA;AACjC,QAAIA,YAAYC,MAAM;AACpB,iCACGC,qBAAmB;AAAA,QAElBF;AAAAA,QACAG,iBAAiBd;AAAAA,QACjBe,oBAAoBd;AAAAA,QACpBN,SAAS;AAAA,UACPqB,MAAMrB,QAAQsB;AAAAA,UACdC,UAAUvB,QAAQwB;AAAAA,UAClBC,UAAUzB,QAAQ0B;AAAAA,UAClBC,YAAY3B,QAAQ4B;AAAAA,UACpBC,MAAM7B,QAAQ8B;AAAAA,UACd3B,OAAOH,QAAQ+B;AAAAA,UACfC,UAAUhC,QAAQiC;AAAAA,QACpB;AAAA,MAAA,GAZKjB,YAAYlB,MAAO,GAAEkB,YAAYC,QAAQD,YAAYkB,KAa3D;AAAA,IAEL;AAEOC,WAAAA;AAAAA,EAAAA,KAEX,CAAC/B,cAAcJ,SAASM,0BAA0BD,uBAAuB,CAC3E;AAEA,8BACE,OAAA;AAAA,IACEP;AAAAA,IACAC,WAAWY,GACTX,QAAQqB,MACRrB,QAAQE,MAAM,GACd;AAAA,MAAE,CAACF,QAAQoC,IAAI,GAAG,CAAC,CAAC3B;AAAAA,MAAQ,CAACT,QAAQqC,MAAM,GAAG5B,WAAW;AAAA,OACzDV,SACF;AAAA,IAAEuC,UAEA/B,CAAAA,UACAgC,oBAACC,cAAY;AAAA,MAACC,WAAU;AAAA,MAAMC,SAAQ;AAAA,MAAQ3C,WAAWC,QAAQG;AAAAA,MAAMmC,UACpE/B;AAAAA,IAAAA,CACW,KAEbJ,SAASoC,oBAACI,kBAAgB;AAAA,MAAC5C,WAAWC,QAAQG;AAAAA,MAAOA;AAAAA,IAAAA,CAAe,GACvEoC,oBAACK,iBAAe;AAAA,MAACC,gBAAc;AAAA,MAAC9C,WAAWC,QAAQ8C;AAAAA,MAAiBR,UACjEzB;AAAAA,IAAAA,CACc,GAChBL,UACC+B,oBAACC,cAAY;AAAA,MACXC,WAAU;AAAA,MACVC,SAAQ;AAAA,MACR3C,WAAWC,QAAQ+C;AAAAA,MAAgBT,UAElC9B;AAAAA,IAAAA,CACW,CACf;AAAA,EAAA,CACE;AAET;"}
@@ -1,43 +1,49 @@
1
+ import { useDefaultProps } from "../../hooks/useDefaultProps.js";
1
2
  import { User } from "@hitachivantara/uikit-react-icons";
2
3
  import { theme } from "@hitachivantara/uikit-styles";
3
- import { clsx } from "clsx";
4
+ import MuiAvatar from "@mui/material/Avatar";
4
5
  import { useImageLoaded } from "../../hooks/useImageLoaded.js";
5
6
  import { decreaseSize } from "../../utils/sizes.js";
6
- import { StyledImg, StyledContainer, StyledStatus, StyledBadge, StyledAvatar } from "./Avatar.styles.js";
7
- import avatarClasses from "./avatarClasses.js";
7
+ import { useClasses } from "./Avatar.styles.js";
8
+ import { staticClasses } from "./Avatar.styles.js";
8
9
  import { jsx, jsxs } from "@emotion/react/jsx-runtime";
9
10
  const getColor = (color, defaultColor) => theme.colors[color] || color || defaultColor;
10
- const HvAvatar = ({
11
- className,
12
- style,
13
- classes,
14
- children: childrenProp,
15
- component = "div",
16
- size = "sm",
17
- backgroundColor = "secondary",
18
- color = "atmo1",
19
- src,
20
- srcSet,
21
- sizes,
22
- alt,
23
- imgProps,
24
- status,
25
- badge,
26
- variant = "circular",
27
- avatarProps,
28
- ...others
29
- }) => {
11
+ const HvAvatar = (props) => {
12
+ const {
13
+ className,
14
+ style,
15
+ classes: classesProp,
16
+ children: childrenProp,
17
+ component = "div",
18
+ size = "sm",
19
+ backgroundColor = "secondary",
20
+ color = "atmo1",
21
+ src,
22
+ srcSet,
23
+ sizes,
24
+ alt,
25
+ imgProps,
26
+ status,
27
+ badge,
28
+ variant = "circular",
29
+ avatarProps,
30
+ ...others
31
+ } = useDefaultProps("HvAvatar", props);
32
+ const {
33
+ classes,
34
+ cx
35
+ } = useClasses(classesProp);
30
36
  let children;
31
37
  const imageLoaded = useImageLoaded(src, srcSet);
32
38
  const hasImg = src || srcSet;
33
39
  const hasImgNotFailing = hasImg && imageLoaded !== "error";
34
40
  if (hasImgNotFailing) {
35
- children = /* @__PURE__ */ jsx(StyledImg, {
41
+ children = /* @__PURE__ */ jsx("img", {
36
42
  alt,
37
43
  src,
38
44
  srcSet,
39
45
  sizes,
40
- className: clsx(classes == null ? void 0 : classes.img, avatarClasses.img),
46
+ className: classes.img,
41
47
  ...imgProps
42
48
  });
43
49
  } else if (childrenProp != null) {
@@ -48,7 +54,7 @@ const HvAvatar = ({
48
54
  children = /* @__PURE__ */ jsx(User, {
49
55
  color,
50
56
  iconSize: decreaseSize(size),
51
- className: clsx(avatarClasses.fallback, classes == null ? void 0 : classes.fallback)
57
+ className: classes.fallback
52
58
  });
53
59
  }
54
60
  const inlineStyle = {
@@ -67,22 +73,20 @@ const HvAvatar = ({
67
73
  statusInlineStyle.boxShadow = `inset 0px 0px 0px 2px ${statusColor}`;
68
74
  }
69
75
  const badgeColor = getColor(badge || "", theme.colors.positive);
70
- return /* @__PURE__ */ jsx(StyledContainer, {
71
- className: clsx(avatarClasses.container, classes == null ? void 0 : classes.container),
76
+ return /* @__PURE__ */ jsx("div", {
77
+ className: classes.container,
72
78
  ...others,
73
- children: /* @__PURE__ */ jsxs(StyledStatus, {
74
- className: clsx(avatarClasses.status, classes == null ? void 0 : classes.status, avatarClasses[variant], classes == null ? void 0 : classes[variant], avatarClasses[size], classes == null ? void 0 : classes[size]),
79
+ children: /* @__PURE__ */ jsxs("div", {
80
+ className: cx(classes.status, classes[variant], classes[size]),
75
81
  style: statusInlineStyle,
76
- $variant: variant,
77
- $size: size,
78
- children: [badge && /* @__PURE__ */ jsx(StyledBadge, {
79
- className: clsx(avatarClasses.badge, classes == null ? void 0 : classes.badge),
82
+ children: [badge && /* @__PURE__ */ jsx("div", {
83
+ className: classes.badge,
80
84
  style: {
81
85
  backgroundColor: badgeColor
82
86
  }
83
- }), /* @__PURE__ */ jsx(StyledAvatar, {
87
+ }), /* @__PURE__ */ jsx(MuiAvatar, {
84
88
  component,
85
- className: clsx(className, avatarClasses.root, classes == null ? void 0 : classes.root, avatarClasses.avatar, classes == null ? void 0 : classes.avatar, avatarClasses[size], classes == null ? void 0 : classes[size]),
89
+ className: cx(classes.root, classes.avatar, classes[size], className),
86
90
  style: inlineStyle,
87
91
  variant,
88
92
  size,
@@ -93,6 +97,7 @@ const HvAvatar = ({
93
97
  });
94
98
  };
95
99
  export {
96
- HvAvatar
100
+ HvAvatar,
101
+ staticClasses as avatarClasses
97
102
  };
98
103
  //# sourceMappingURL=Avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import { CSSProperties, HTMLAttributes } from \"react\";\n\nimport { User } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { AvatarProps as MuiAvatarProps } from \"@mui/material/Avatar\";\n\nimport { clsx } from \"clsx\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useImageLoaded } from \"@core/hooks/useImageLoaded\";\nimport { decreaseSize } from \"@core/utils/sizes\";\n\nimport {\n StyledAvatar,\n StyledBadge,\n StyledContainer,\n StyledImg,\n StyledStatus,\n} from \"./Avatar.styles\";\nimport avatarClasses, { HvAvatarClasses } from \"./avatarClasses\";\nimport { HvAvatarSize, HvAvatarVariant } from \"./types\";\n\nexport interface HvAvatarProps extends HvBaseProps {\n /** Inline styles to be applied to the root element. */\n style?: CSSProperties;\n /** The component used for the root node. Either a string to use a DOM element or a component. */\n component?: React.ElementType;\n /** Sets one of the standard sizes of the icons */\n size?: HvAvatarSize;\n /**\n * A string representing the foreground color of the avatar's\n * letters or the generic User icon fallback.\n * You can use either an HEX or color name from the palette.\n */\n color?: string;\n /** A String representing the background color of the avatar. You can use either an HEX or color name from the palette. */\n backgroundColor?: string;\n /** The `src` attribute for the `img` element. */\n src?: string;\n /** The `srcSet` attribute for the `img` element. Use this attribute for responsive image display. */\n srcSet?: string;\n /** The `sizes` attribute for the `img` element. */\n sizes?: string;\n /** Used in combination with `src` or `srcSet` to provide an alt attribute for the rendered `img` element. */\n alt?: string;\n /**\n * Attributes applied to the `img` element if the component is used to display an image.\n * It can be used to listen for the loading error event.\n */\n imgProps?: HTMLAttributes<HTMLImageElement>;\n /** A string representing the type of avatar to display, circular or square. */\n variant?: HvAvatarVariant;\n /** A string representing the color of the avatar border that represents its status. */\n status?: string;\n /** A string representing the color of the avatar badge. */\n badge?: string;\n /** Attributes applied to the avatar element. */\n avatarProps?: MuiAvatarProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAvatarClasses;\n}\n\n/**\n * Get a color from the theme palette\n * @param {object} theme The theme object\n * @param {string} color A color to use if none is found on the theme palette\n * @param {string} defaultColor The fallback color to use\n */\nconst getColor = (color: string, defaultColor: string): string =>\n theme.colors[color] || color || defaultColor;\n\n/**\n * Avatars can be used to represent a user or a brand.\n * They can show an image, an icon or the initial letters of a name, for example.\n */\nexport const HvAvatar = ({\n className,\n style,\n classes,\n children: childrenProp,\n component = \"div\",\n size = \"sm\",\n backgroundColor = \"secondary\",\n color = \"atmo1\",\n src,\n srcSet,\n sizes,\n alt,\n imgProps,\n status,\n badge,\n variant = \"circular\",\n avatarProps,\n ...others\n}: HvAvatarProps) => {\n let children: React.ReactNode;\n\n // Use a hook instead of onError on the img element to support server-side rendering.\n const imageLoaded = useImageLoaded(src, srcSet);\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && imageLoaded !== \"error\";\n\n if (hasImgNotFailing) {\n children = (\n <StyledImg\n alt={alt}\n src={src}\n srcSet={srcSet}\n sizes={sizes}\n className={clsx(classes?.img, avatarClasses.img)}\n {...imgProps}\n />\n );\n } else if (childrenProp != null) {\n children = childrenProp;\n } else if (hasImg && alt) {\n [children] = alt;\n } else {\n children = (\n <User\n color={color}\n iconSize={decreaseSize(size)}\n className={clsx(avatarClasses.fallback, classes?.fallback)}\n />\n );\n }\n\n const inlineStyle: CSSProperties = {\n ...style,\n };\n\n if (component != null && typeof component !== \"string\") {\n // override border-radius with custom components\n inlineStyle.borderRadius = \"50%\";\n }\n\n if (!hasImgNotFailing) {\n inlineStyle.backgroundColor = getColor(\n backgroundColor,\n theme.colors.secondary\n );\n inlineStyle.color = getColor(color, theme.colors.atmo1);\n }\n\n const statusInlineStyle: CSSProperties = {};\n if (status) {\n // set the status border. we're using the boxShadow property to set the border\n // to be inside the container and not on its edge.\n const statusColor = getColor(status, theme.colors.positive);\n statusInlineStyle.boxShadow = `inset 0px 0px 0px 2px ${statusColor}`;\n }\n\n const badgeColor = getColor(badge || \"\", theme.colors.positive);\n\n return (\n <StyledContainer\n className={clsx(avatarClasses.container, classes?.container)}\n {...others}\n >\n <StyledStatus\n className={clsx(\n avatarClasses.status,\n classes?.status,\n avatarClasses[variant],\n classes?.[variant],\n avatarClasses[size],\n classes?.[size]\n )}\n style={statusInlineStyle}\n $variant={variant}\n $size={size}\n >\n {badge && (\n <StyledBadge\n className={clsx(avatarClasses.badge, classes?.badge)}\n style={{ backgroundColor: badgeColor }}\n />\n )}\n <StyledAvatar\n component={component}\n className={clsx(\n className,\n avatarClasses.root,\n classes?.root,\n avatarClasses.avatar,\n classes?.avatar,\n avatarClasses[size],\n classes?.[size]\n )}\n style={inlineStyle}\n variant={variant}\n size={size}\n {...avatarProps}\n >\n {children}\n </StyledAvatar>\n </StyledStatus>\n </StyledContainer>\n );\n};\n"],"names":["getColor","color","defaultColor","theme","colors","HvAvatar","className","style","classes","children","childrenProp","component","size","backgroundColor","src","srcSet","sizes","alt","imgProps","status","badge","variant","avatarProps","others","imageLoaded","useImageLoaded","hasImg","hasImgNotFailing","StyledImg","clsx","img","avatarClasses","User","iconSize","decreaseSize","fallback","inlineStyle","borderRadius","secondary","atmo1","statusInlineStyle","statusColor","positive","boxShadow","badgeColor","StyledContainer","container","StyledStatus","$variant","$size","_jsx","StyledBadge","StyledAvatar","root","avatar"],"mappings":"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"}
1
+ {"version":3,"file":"Avatar.js","sources":["../../../../src/components/Avatar/Avatar.tsx"],"sourcesContent":["import { CSSProperties, HTMLAttributes } from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { User } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport MuiAvatar, { AvatarProps as MuiAvatarProps } from \"@mui/material/Avatar\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { useImageLoaded } from \"@core/hooks/useImageLoaded\";\nimport { decreaseSize } from \"@core/utils/sizes\";\nimport { ExtractNames } from \"@core/utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Avatar.styles\";\n\nexport { staticClasses as avatarClasses };\n\nexport type HvAvatarClasses = ExtractNames<typeof useClasses>;\n\nexport type HvAvatarVariant = \"circular\" | \"square\";\n\nexport type HvAvatarSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport interface HvAvatarProps extends HvBaseProps {\n /** Inline styles to be applied to the root element. */\n style?: CSSProperties;\n /** The component used for the root node. Either a string to use a DOM element or a component. */\n component?: React.ElementType;\n /** Sets one of the standard sizes of the icons */\n size?: HvAvatarSize;\n /**\n * A string representing the foreground color of the avatar's\n * letters or the generic User icon fallback.\n * You can use either an HEX or color name from the palette.\n */\n color?: string;\n /** A String representing the background color of the avatar. You can use either an HEX or color name from the palette. */\n backgroundColor?: string;\n /** The `src` attribute for the `img` element. */\n src?: string;\n /** The `srcSet` attribute for the `img` element. Use this attribute for responsive image display. */\n srcSet?: string;\n /** The `sizes` attribute for the `img` element. */\n sizes?: string;\n /** Used in combination with `src` or `srcSet` to provide an alt attribute for the rendered `img` element. */\n alt?: string;\n /**\n * Attributes applied to the `img` element if the component is used to display an image.\n * It can be used to listen for the loading error event.\n */\n imgProps?: HTMLAttributes<HTMLImageElement>;\n /** A string representing the type of avatar to display, circular or square. */\n variant?: HvAvatarVariant;\n /** A string representing the color of the avatar border that represents its status. */\n status?: string;\n /** A string representing the color of the avatar badge. */\n badge?: string;\n /** Attributes applied to the avatar element. */\n avatarProps?: MuiAvatarProps;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAvatarClasses;\n}\n\n/**\n * Get a color from the theme palette\n * @param {object} theme The theme object\n * @param {string} color A color to use if none is found on the theme palette\n * @param {string} defaultColor The fallback color to use\n */\nconst getColor = (color: string, defaultColor: string): string =>\n theme.colors[color] || color || defaultColor;\n\n/**\n * Avatars can be used to represent a user or a brand.\n * They can show an image, an icon or the initial letters of a name, for example.\n */\nexport const HvAvatar = (props: HvAvatarProps) => {\n const {\n className,\n style,\n classes: classesProp,\n children: childrenProp,\n component = \"div\",\n size = \"sm\",\n backgroundColor = \"secondary\",\n color = \"atmo1\",\n src,\n srcSet,\n sizes,\n alt,\n imgProps,\n status,\n badge,\n variant = \"circular\",\n avatarProps,\n ...others\n } = useDefaultProps(\"HvAvatar\", props);\n const { classes, cx } = useClasses(classesProp);\n\n let children: React.ReactNode;\n\n // Use a hook instead of onError on the img element to support server-side rendering.\n const imageLoaded = useImageLoaded(src, srcSet);\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && imageLoaded !== \"error\";\n\n if (hasImgNotFailing) {\n children = (\n <img\n alt={alt}\n src={src}\n srcSet={srcSet}\n sizes={sizes}\n className={classes.img}\n {...imgProps}\n />\n );\n } else if (childrenProp != null) {\n children = childrenProp;\n } else if (hasImg && alt) {\n [children] = alt;\n } else {\n children = (\n <User\n color={color}\n iconSize={decreaseSize(size)}\n className={classes.fallback}\n />\n );\n }\n\n const inlineStyle: CSSProperties = {\n ...style,\n };\n\n if (component != null && typeof component !== \"string\") {\n // override border-radius with custom components\n inlineStyle.borderRadius = \"50%\";\n }\n\n if (!hasImgNotFailing) {\n inlineStyle.backgroundColor = getColor(\n backgroundColor,\n theme.colors.secondary\n );\n inlineStyle.color = getColor(color, theme.colors.atmo1);\n }\n\n const statusInlineStyle: CSSProperties = {};\n if (status) {\n // set the status border. we're using the boxShadow property to set the border\n // to be inside the container and not on its edge.\n const statusColor = getColor(status, theme.colors.positive);\n statusInlineStyle.boxShadow = `inset 0px 0px 0px 2px ${statusColor}`;\n }\n\n const badgeColor = getColor(badge || \"\", theme.colors.positive);\n\n return (\n <div className={classes.container} {...others}>\n <div\n className={cx(classes.status, classes[variant], classes[size])}\n style={statusInlineStyle}\n >\n {badge && (\n <div\n className={classes.badge}\n style={{ backgroundColor: badgeColor }}\n />\n )}\n <MuiAvatar\n component={component}\n className={cx(classes.root, classes.avatar, classes[size], className)}\n style={inlineStyle}\n variant={variant}\n size={size}\n {...avatarProps}\n >\n {children}\n </MuiAvatar>\n </div>\n </div>\n );\n};\n"],"names":["getColor","color","defaultColor","theme","colors","HvAvatar","props","className","style","classes","classesProp","children","childrenProp","component","size","backgroundColor","src","srcSet","sizes","alt","imgProps","status","badge","variant","avatarProps","others","useDefaultProps","cx","useClasses","imageLoaded","useImageLoaded","hasImg","hasImgNotFailing","img","User","iconSize","decreaseSize","fallback","inlineStyle","borderRadius","secondary","atmo1","statusInlineStyle","statusColor","positive","boxShadow","badgeColor","container","_jsx","MuiAvatar","root","avatar"],"mappings":";;;;;;;;;AAqEA,MAAMA,WAAWA,CAACC,OAAeC,iBAC/BC,MAAMC,OAAOH,KAAK,KAAKA,SAASC;AAMrBG,MAAAA,WAAWA,CAACC,UAAyB;AAC1C,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC,SAASC;AAAAA,IACTC,UAAUC;AAAAA,IACVC,YAAY;AAAA,IACZC,OAAO;AAAA,IACPC,kBAAkB;AAAA,IAClBd,QAAQ;AAAA,IACRe;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,UAAU;AAAA,IACVC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,YAAYpB,KAAK;AAC/B,QAAA;AAAA,IAAEG;AAAAA,IAASkB;AAAAA,EAAAA,IAAOC,WAAWlB,WAAW;AAE1CC,MAAAA;AAGEkB,QAAAA,cAAcC,eAAed,KAAKC,MAAM;AAC9C,QAAMc,SAASf,OAAOC;AAChBe,QAAAA,mBAAmBD,UAAUF,gBAAgB;AAEnD,MAAIG,kBAAkB;AACpBrB,mCACE,OAAA;AAAA,MACEQ;AAAAA,MACAH;AAAAA,MACAC;AAAAA,MACAC;AAAAA,MACAX,WAAWE,QAAQwB;AAAAA,MAAI,GACnBb;AAAAA,IAAAA,CACL;AAAA,EAAA,WAEMR,gBAAgB,MAAM;AACpBA,eAAAA;AAAAA,EAAAA,WACFmB,UAAUZ,KAAK;AACxB,KAACR,QAAQ,IAAIQ;AAAAA,EAAAA,OACR;AACLR,mCACGuB,MAAI;AAAA,MACHjC;AAAAA,MACAkC,UAAUC,aAAatB,IAAI;AAAA,MAC3BP,WAAWE,QAAQ4B;AAAAA,IAAAA,CACpB;AAAA,EAEL;AAEA,QAAMC,cAA6B;AAAA,IACjC,GAAG9B;AAAAA,EAAAA;AAGL,MAAIK,aAAa,QAAQ,OAAOA,cAAc,UAAU;AAEtDyB,gBAAYC,eAAe;AAAA,EAC7B;AAEA,MAAI,CAACP,kBAAkB;AACrBM,gBAAYvB,kBAAkBf,SAC5Be,iBACAZ,MAAMC,OAAOoC,SACf;AACAF,gBAAYrC,QAAQD,SAASC,OAAOE,MAAMC,OAAOqC,KAAK;AAAA,EACxD;AAEA,QAAMC,oBAAmC,CAAA;AACzC,MAAIrB,QAAQ;AAGV,UAAMsB,cAAc3C,SAASqB,QAAQlB,MAAMC,OAAOwC,QAAQ;AAC1DF,sBAAkBG,YAAa,yBAAwBF;AAAAA,EACzD;AAEA,QAAMG,aAAa9C,SAASsB,SAAS,IAAInB,MAAMC,OAAOwC,QAAQ;AAE9D,6BACE,OAAA;AAAA,IAAKrC,WAAWE,QAAQsC;AAAAA,IAAU,GAAKtB;AAAAA,IAAMd,+BAC3C,OAAA;AAAA,MACEJ,WAAWoB,GAAGlB,QAAQY,QAAQZ,QAAQc,OAAO,GAAGd,QAAQK,IAAI,CAAC;AAAA,MAC7DN,OAAOkC;AAAAA,MAAkB/B,UAAA,CAExBW,SACC0B,oBAAA,OAAA;AAAA,QACEzC,WAAWE,QAAQa;AAAAA,QACnBd,OAAO;AAAA,UAAEO,iBAAiB+B;AAAAA,QAAW;AAAA,MAAA,CACtC,GAEHE,oBAACC,WAAS;AAAA,QACRpC;AAAAA,QACAN,WAAWoB,GAAGlB,QAAQyC,MAAMzC,QAAQ0C,QAAQ1C,QAAQK,IAAI,GAAGP,SAAS;AAAA,QACpEC,OAAO8B;AAAAA,QACPf;AAAAA,QACAT;AAAAA,QAAW,GACPU;AAAAA,QAAWb;AAAAA,MAAAA,CAGN,CAAC;AAAA,IAAA,CACT;AAAA,EAAA,CACF;AAET;"}