@hitachivantara/uikit-react-core 5.66.13 → 5.67.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 (399) hide show
  1. package/dist/cjs/Accordion/Accordion.styles.cjs +2 -2
  2. package/dist/cjs/ActionBar/ActionBar.styles.cjs +2 -2
  3. package/dist/cjs/ActionsGeneric/ActionsGeneric.cjs +8 -2
  4. package/dist/cjs/ActionsGeneric/ActionsGeneric.styles.cjs +2 -2
  5. package/dist/cjs/AppSwitcher/Action/Action.styles.cjs +2 -2
  6. package/dist/cjs/AppSwitcher/AppSwitcher.styles.cjs +2 -2
  7. package/dist/cjs/Avatar/Avatar.styles.cjs +2 -2
  8. package/dist/cjs/AvatarGroup/AvatarGroup.cjs +3 -2
  9. package/dist/cjs/AvatarGroup/AvatarGroup.styles.cjs +2 -2
  10. package/dist/cjs/Badge/Badge.styles.cjs +2 -2
  11. package/dist/cjs/Banner/Banner.styles.cjs +2 -2
  12. package/dist/cjs/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs +2 -2
  13. package/dist/cjs/Banner/BannerContent/BannerContent.styles.cjs +2 -2
  14. package/dist/cjs/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs +2 -2
  15. package/dist/cjs/BaseCheckBox/BaseCheckBox.styles.cjs +2 -2
  16. package/dist/cjs/BaseDropdown/BaseDropdown.cjs +2 -2
  17. package/dist/cjs/BaseDropdown/BaseDropdown.styles.cjs +2 -2
  18. package/dist/cjs/BaseInput/BaseInput.styles.cjs +2 -2
  19. package/dist/cjs/BaseRadio/BaseRadio.styles.cjs +2 -2
  20. package/dist/cjs/BaseSwitch/BaseSwitch.styles.cjs +2 -2
  21. package/dist/cjs/BreadCrumb/BreadCrumb.styles.cjs +2 -2
  22. package/dist/cjs/BreadCrumb/Page/Page.styles.cjs +2 -2
  23. package/dist/cjs/BreadCrumb/PathElement/PathElement.styles.cjs +2 -2
  24. package/dist/cjs/BulkActions/BulkActions.cjs +2 -2
  25. package/dist/cjs/BulkActions/BulkActions.styles.cjs +2 -2
  26. package/dist/cjs/Button/Button.cjs +2 -2
  27. package/dist/cjs/Button/Button.styles.cjs +2 -2
  28. package/dist/cjs/Calendar/Calendar.styles.cjs +2 -2
  29. package/dist/cjs/Calendar/CalendarHeader/CalendarHeader.styles.cjs +2 -2
  30. package/dist/cjs/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.cjs +2 -2
  31. package/dist/cjs/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.cjs +2 -2
  32. package/dist/cjs/Calendar/CalendarNavigation/Navigation/Navigation.styles.cjs +2 -2
  33. package/dist/cjs/Calendar/SingleCalendar/CalendarCell.styles.cjs +2 -2
  34. package/dist/cjs/Calendar/SingleCalendar/SingleCalendar.styles.cjs +2 -2
  35. package/dist/cjs/Card/Card.styles.cjs +2 -2
  36. package/dist/cjs/Card/Content/Content.styles.cjs +2 -2
  37. package/dist/cjs/Card/Header/Header.styles.cjs +2 -2
  38. package/dist/cjs/Card/Media/Media.styles.cjs +2 -2
  39. package/dist/cjs/Carousel/Carousel.cjs +25 -7
  40. package/dist/cjs/Carousel/Carousel.styles.cjs +2 -2
  41. package/dist/cjs/Carousel/CarouselControls.cjs +9 -2
  42. package/dist/cjs/Carousel/CarouselSlide/CarouselSlide.styles.cjs +2 -2
  43. package/dist/cjs/CheckBox/CheckBox.styles.cjs +2 -2
  44. package/dist/cjs/CheckBoxGroup/CheckBoxGroup.styles.cjs +2 -2
  45. package/dist/cjs/ColorPicker/ColorPicker.styles.cjs +2 -2
  46. package/dist/cjs/ColorPicker/Fields/Fields.styles.cjs +2 -2
  47. package/dist/cjs/ColorPicker/Picker/Picker.cjs +2 -2
  48. package/dist/cjs/ColorPicker/Picker/Picker.styles.cjs +2 -2
  49. package/dist/cjs/ColorPicker/PresetColors/PresetColors.styles.cjs +2 -2
  50. package/dist/cjs/ColorPicker/SavedColors/SavedColors.styles.cjs +2 -2
  51. package/dist/cjs/Container/Container.styles.cjs +2 -2
  52. package/dist/cjs/Controls/Controls.styles.cjs +2 -2
  53. package/dist/cjs/Controls/LeftControl/LeftControl.styles.cjs +2 -2
  54. package/dist/cjs/Controls/RightControl/RightControl.styles.cjs +2 -2
  55. package/dist/cjs/DatePicker/DatePicker.styles.cjs +2 -2
  56. package/dist/cjs/Dialog/Actions/Actions.styles.cjs +2 -2
  57. package/dist/cjs/Dialog/Content/Content.styles.cjs +2 -2
  58. package/dist/cjs/Dialog/Dialog.cjs +2 -2
  59. package/dist/cjs/Dialog/Dialog.styles.cjs +2 -2
  60. package/dist/cjs/Dialog/Title/Title.styles.cjs +2 -2
  61. package/dist/cjs/DotPagination/DotPagination.styles.cjs +2 -2
  62. package/dist/cjs/Drawer/Drawer.styles.cjs +2 -2
  63. package/dist/cjs/DropDownMenu/DropDownMenu.cjs +7 -1
  64. package/dist/cjs/DropDownMenu/DropDownMenu.styles.cjs +2 -2
  65. package/dist/cjs/Dropdown/Dropdown.styles.cjs +2 -2
  66. package/dist/cjs/Dropdown/List/List.styles.cjs +2 -2
  67. package/dist/cjs/DropdownButton/DropdownButton.styles.cjs +2 -2
  68. package/dist/cjs/EmptyState/EmptyState.styles.cjs +2 -2
  69. package/dist/cjs/FileUploader/DropZone/DropZone.styles.cjs +2 -2
  70. package/dist/cjs/FileUploader/File/File.styles.cjs +2 -2
  71. package/dist/cjs/FileUploader/FileList/FileList.styles.cjs +2 -2
  72. package/dist/cjs/FileUploader/Preview/Preview.styles.cjs +2 -2
  73. package/dist/cjs/FilterGroup/Counter/Counter.styles.cjs +2 -2
  74. package/dist/cjs/FilterGroup/FilterContent/FilterContent.cjs +2 -2
  75. package/dist/cjs/FilterGroup/FilterContent/FilterContent.styles.cjs +2 -2
  76. package/dist/cjs/FilterGroup/FilterGroup.styles.cjs +2 -2
  77. package/dist/cjs/FilterGroup/LeftPanel/LeftPanel.styles.cjs +2 -2
  78. package/dist/cjs/FilterGroup/RightPanel/RightPanel.styles.cjs +2 -2
  79. package/dist/cjs/Focus/Focus.styles.cjs +2 -2
  80. package/dist/cjs/Footer/Footer.styles.cjs +2 -2
  81. package/dist/cjs/Forms/Adornment/Adornment.styles.cjs +2 -2
  82. package/dist/cjs/Forms/CharCounter/CharCounter.styles.cjs +2 -2
  83. package/dist/cjs/Forms/FormElement/FormElement.styles.cjs +2 -2
  84. package/dist/cjs/Forms/InfoMessage/InfoMessage.styles.cjs +2 -2
  85. package/dist/cjs/Forms/Label/Label.styles.cjs +2 -2
  86. package/dist/cjs/Forms/Suggestions/Suggestions.styles.cjs +2 -2
  87. package/dist/cjs/Forms/WarningText/WarningText.styles.cjs +2 -2
  88. package/dist/cjs/GlobalActions/GlobalActions.styles.cjs +2 -2
  89. package/dist/cjs/Grid/Grid.styles.cjs +2 -2
  90. package/dist/cjs/Header/Actions/Actions.styles.cjs +2 -2
  91. package/dist/cjs/Header/Brand/Brand.styles.cjs +2 -2
  92. package/dist/cjs/Header/Header.styles.cjs +2 -2
  93. package/dist/cjs/Header/Navigation/MenuBar/Bar.styles.cjs +2 -2
  94. package/dist/cjs/Header/Navigation/MenuItem/MenuItem.styles.cjs +2 -2
  95. package/dist/cjs/Header/Navigation/Navigation.styles.cjs +2 -2
  96. package/dist/cjs/InlineEditor/InlineEditor.cjs +2 -2
  97. package/dist/cjs/InlineEditor/InlineEditor.styles.cjs +2 -2
  98. package/dist/cjs/Input/Input.styles.cjs +2 -2
  99. package/dist/cjs/Kpi/Kpi.styles.cjs +2 -2
  100. package/dist/cjs/Link/Link.styles.cjs +2 -2
  101. package/dist/cjs/List/List.styles.cjs +2 -2
  102. package/dist/cjs/ListContainer/ListContainer.styles.cjs +2 -2
  103. package/dist/cjs/ListContainer/ListItem/ListItem.styles.cjs +2 -2
  104. package/dist/cjs/Loading/Loading.styles.cjs +2 -2
  105. package/dist/cjs/LoadingContainer/LoadingContainer.styles.cjs +2 -2
  106. package/dist/cjs/Login/Login.styles.cjs +2 -2
  107. package/dist/cjs/MultiButton/MultiButton.styles.cjs +2 -2
  108. package/dist/cjs/OverflowTooltip/OverflowTooltip.styles.cjs +2 -2
  109. package/dist/cjs/Pagination/Pagination.styles.cjs +2 -2
  110. package/dist/cjs/Pagination/Select.styles.cjs +2 -2
  111. package/dist/cjs/Panel/Panel.styles.cjs +2 -2
  112. package/dist/cjs/ProgressBar/ProgressBar.styles.cjs +2 -2
  113. package/dist/cjs/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.cjs +2 -2
  114. package/dist/cjs/QueryBuilder/QueryBuilder.styles.cjs +2 -2
  115. package/dist/cjs/QueryBuilder/Rule/Rule.styles.cjs +2 -2
  116. package/dist/cjs/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.cjs +2 -2
  117. package/dist/cjs/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.cjs +2 -2
  118. package/dist/cjs/QueryBuilder/Rule/Value/TextValue/TextValue.styles.cjs +2 -2
  119. package/dist/cjs/Radio/Radio.styles.cjs +2 -2
  120. package/dist/cjs/RadioGroup/RadioGroup.styles.cjs +2 -2
  121. package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.cjs +2 -2
  122. package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.styles.cjs +2 -2
  123. package/dist/cjs/ScrollTo/Vertical/ScrollToVertical.styles.cjs +2 -2
  124. package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs +2 -2
  125. package/dist/cjs/Section/Section.styles.cjs +2 -2
  126. package/dist/cjs/Select/Option.cjs +5 -5
  127. package/dist/cjs/Select/OptionGroup.cjs +4 -4
  128. package/dist/cjs/Select/Select.cjs +2 -2
  129. package/dist/cjs/Select/Select.styles.cjs +2 -2
  130. package/dist/cjs/SelectionList/SelectionList.styles.cjs +2 -2
  131. package/dist/cjs/SimpleGrid/SimpleGrid.styles.cjs +2 -2
  132. package/dist/cjs/Skeleton/Skeleton.styles.cjs +2 -2
  133. package/dist/cjs/Slider/Slider.styles.cjs +2 -2
  134. package/dist/cjs/Slider/SliderInput/SliderInput.styles.cjs +2 -2
  135. package/dist/cjs/Snackbar/Snackbar.styles.cjs +2 -2
  136. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.cjs +2 -2
  137. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.styles.cjs +2 -2
  138. package/dist/cjs/SnackbarProvider/SnackbarProvider.styles.cjs +2 -2
  139. package/dist/cjs/Stack/Stack.styles.cjs +2 -2
  140. package/dist/cjs/Switch/Switch.styles.cjs +2 -2
  141. package/dist/cjs/Tab/Tab.styles.cjs +2 -2
  142. package/dist/cjs/Table/Table.styles.cjs +2 -2
  143. package/dist/cjs/Table/TableBody/TableBody.styles.cjs +2 -2
  144. package/dist/cjs/Table/TableCell/TableCell.styles.cjs +2 -2
  145. package/dist/cjs/Table/TableContainer/TableContainer.styles.cjs +2 -2
  146. package/dist/cjs/Table/TableHead/TableHead.styles.cjs +2 -2
  147. package/dist/cjs/Table/TableHeader/TableHeader.cjs +2 -2
  148. package/dist/cjs/Table/TableHeader/TableHeader.styles.cjs +2 -2
  149. package/dist/cjs/Table/TableRow/TableRow.styles.cjs +2 -2
  150. package/dist/cjs/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs +2 -2
  151. package/dist/cjs/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.cjs +2 -2
  152. package/dist/cjs/TableSection/TableSection.styles.cjs +2 -2
  153. package/dist/cjs/Tabs/Tabs.styles.cjs +2 -2
  154. package/dist/cjs/Tag/Tag.cjs +2 -2
  155. package/dist/cjs/Tag/Tag.styles.cjs +2 -2
  156. package/dist/cjs/TagsInput/TagsInput.styles.cjs +2 -2
  157. package/dist/cjs/TextArea/TextArea.styles.cjs +2 -2
  158. package/dist/cjs/TimeAgo/TimeAgo.styles.cjs +2 -2
  159. package/dist/cjs/TimePicker/TimePicker.styles.cjs +2 -2
  160. package/dist/cjs/TimePicker/Unit/Unit.styles.cjs +2 -2
  161. package/dist/cjs/Tooltip/Tooltip.cjs +2 -2
  162. package/dist/cjs/Tooltip/Tooltip.styles.cjs +2 -2
  163. package/dist/cjs/TreeView/TreeItem/DefaultContent.cjs +11 -12
  164. package/dist/cjs/TreeView/TreeItem/TreeItem.styles.cjs +2 -2
  165. package/dist/cjs/TreeView/TreeView.styles.cjs +2 -2
  166. package/dist/cjs/Typography/Typography.cjs +2 -2
  167. package/dist/cjs/Typography/Typography.styles.cjs +2 -2
  168. package/dist/cjs/VerticalNavigation/Actions/Action.styles.cjs +2 -2
  169. package/dist/cjs/VerticalNavigation/Actions/Actions.styles.cjs +2 -2
  170. package/dist/cjs/VerticalNavigation/Header/Header.styles.cjs +2 -2
  171. package/dist/cjs/VerticalNavigation/Navigation/Navigation.styles.cjs +2 -2
  172. package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs +2 -2
  173. package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs +4 -4
  174. package/dist/cjs/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs +2 -2
  175. package/dist/cjs/VerticalNavigation/TreeView/TreeView.styles.cjs +2 -2
  176. package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +2 -2
  177. package/dist/cjs/VerticalNavigation/VerticalNavigation.styles.cjs +2 -2
  178. package/dist/cjs/hooks/useDefaultProps.cjs +3 -4
  179. package/dist/cjs/index.cjs +31 -25
  180. package/dist/esm/Accordion/Accordion.styles.js +1 -1
  181. package/dist/esm/ActionBar/ActionBar.styles.js +1 -1
  182. package/dist/esm/ActionsGeneric/ActionsGeneric.js +8 -2
  183. package/dist/esm/ActionsGeneric/ActionsGeneric.js.map +1 -1
  184. package/dist/esm/ActionsGeneric/ActionsGeneric.styles.js +1 -1
  185. package/dist/esm/AppSwitcher/Action/Action.styles.js +1 -1
  186. package/dist/esm/AppSwitcher/AppSwitcher.styles.js +1 -1
  187. package/dist/esm/Avatar/Avatar.styles.js +1 -1
  188. package/dist/esm/AvatarGroup/AvatarGroup.js +2 -1
  189. package/dist/esm/AvatarGroup/AvatarGroup.js.map +1 -1
  190. package/dist/esm/AvatarGroup/AvatarGroup.styles.js +1 -1
  191. package/dist/esm/Badge/Badge.styles.js +1 -1
  192. package/dist/esm/Banner/Banner.styles.js +1 -1
  193. package/dist/esm/Banner/BannerContent/ActionContainer/ActionContainer.styles.js +1 -1
  194. package/dist/esm/Banner/BannerContent/BannerContent.styles.js +1 -1
  195. package/dist/esm/Banner/BannerContent/MessageContainer/MessageContainer.styles.js +1 -1
  196. package/dist/esm/BaseCheckBox/BaseCheckBox.styles.js +1 -1
  197. package/dist/esm/BaseDropdown/BaseDropdown.js +1 -1
  198. package/dist/esm/BaseDropdown/BaseDropdown.js.map +1 -1
  199. package/dist/esm/BaseDropdown/BaseDropdown.styles.js +1 -1
  200. package/dist/esm/BaseInput/BaseInput.styles.js +1 -1
  201. package/dist/esm/BaseRadio/BaseRadio.styles.js +1 -1
  202. package/dist/esm/BaseSwitch/BaseSwitch.styles.js +1 -1
  203. package/dist/esm/BreadCrumb/BreadCrumb.styles.js +1 -1
  204. package/dist/esm/BreadCrumb/Page/Page.styles.js +1 -1
  205. package/dist/esm/BreadCrumb/PathElement/PathElement.styles.js +1 -1
  206. package/dist/esm/BulkActions/BulkActions.js +1 -1
  207. package/dist/esm/BulkActions/BulkActions.js.map +1 -1
  208. package/dist/esm/BulkActions/BulkActions.styles.js +1 -1
  209. package/dist/esm/Button/Button.js +1 -1
  210. package/dist/esm/Button/Button.js.map +1 -1
  211. package/dist/esm/Button/Button.styles.js +1 -1
  212. package/dist/esm/Calendar/Calendar.styles.js +1 -1
  213. package/dist/esm/Calendar/CalendarHeader/CalendarHeader.styles.js +1 -1
  214. package/dist/esm/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js +1 -1
  215. package/dist/esm/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.js +1 -1
  216. package/dist/esm/Calendar/CalendarNavigation/Navigation/Navigation.styles.js +1 -1
  217. package/dist/esm/Calendar/SingleCalendar/CalendarCell.styles.js +1 -1
  218. package/dist/esm/Calendar/SingleCalendar/SingleCalendar.styles.js +1 -1
  219. package/dist/esm/Card/Card.styles.js +1 -1
  220. package/dist/esm/Card/Content/Content.styles.js +1 -1
  221. package/dist/esm/Card/Header/Header.styles.js +1 -1
  222. package/dist/esm/Card/Media/Media.styles.js +1 -1
  223. package/dist/esm/Carousel/Carousel.js +24 -6
  224. package/dist/esm/Carousel/Carousel.js.map +1 -1
  225. package/dist/esm/Carousel/Carousel.styles.js +1 -1
  226. package/dist/esm/Carousel/CarouselControls.js +9 -2
  227. package/dist/esm/Carousel/CarouselControls.js.map +1 -1
  228. package/dist/esm/Carousel/CarouselSlide/CarouselSlide.styles.js +1 -1
  229. package/dist/esm/CheckBox/CheckBox.styles.js +1 -1
  230. package/dist/esm/CheckBoxGroup/CheckBoxGroup.styles.js +1 -1
  231. package/dist/esm/ColorPicker/ColorPicker.styles.js +1 -1
  232. package/dist/esm/ColorPicker/Fields/Fields.styles.js +1 -1
  233. package/dist/esm/ColorPicker/Picker/Picker.js +1 -1
  234. package/dist/esm/ColorPicker/Picker/Picker.js.map +1 -1
  235. package/dist/esm/ColorPicker/Picker/Picker.styles.js +1 -1
  236. package/dist/esm/ColorPicker/PresetColors/PresetColors.styles.js +1 -1
  237. package/dist/esm/ColorPicker/SavedColors/SavedColors.styles.js +1 -1
  238. package/dist/esm/Container/Container.styles.js +1 -1
  239. package/dist/esm/Controls/Controls.js.map +1 -1
  240. package/dist/esm/Controls/Controls.styles.js +1 -1
  241. package/dist/esm/Controls/LeftControl/LeftControl.styles.js +1 -1
  242. package/dist/esm/Controls/RightControl/RightControl.styles.js +1 -1
  243. package/dist/esm/DatePicker/DatePicker.styles.js +1 -1
  244. package/dist/esm/Dialog/Actions/Actions.styles.js +1 -1
  245. package/dist/esm/Dialog/Content/Content.styles.js +1 -1
  246. package/dist/esm/Dialog/Dialog.js +1 -1
  247. package/dist/esm/Dialog/Dialog.js.map +1 -1
  248. package/dist/esm/Dialog/Dialog.styles.js +1 -1
  249. package/dist/esm/Dialog/Title/Title.styles.js +1 -1
  250. package/dist/esm/DotPagination/DotPagination.styles.js +1 -1
  251. package/dist/esm/Drawer/Drawer.styles.js +1 -1
  252. package/dist/esm/DropDownMenu/DropDownMenu.js +7 -1
  253. package/dist/esm/DropDownMenu/DropDownMenu.js.map +1 -1
  254. package/dist/esm/DropDownMenu/DropDownMenu.styles.js +1 -1
  255. package/dist/esm/Dropdown/Dropdown.styles.js +1 -1
  256. package/dist/esm/Dropdown/List/List.styles.js +1 -1
  257. package/dist/esm/DropdownButton/DropdownButton.styles.js +1 -1
  258. package/dist/esm/EmptyState/EmptyState.styles.js +1 -1
  259. package/dist/esm/FileUploader/DropZone/DropZone.styles.js +1 -1
  260. package/dist/esm/FileUploader/File/File.styles.js +1 -1
  261. package/dist/esm/FileUploader/FileList/FileList.styles.js +1 -1
  262. package/dist/esm/FileUploader/Preview/Preview.styles.js +1 -1
  263. package/dist/esm/FilterGroup/Counter/Counter.styles.js +1 -1
  264. package/dist/esm/FilterGroup/FilterContent/FilterContent.js +1 -1
  265. package/dist/esm/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  266. package/dist/esm/FilterGroup/FilterContent/FilterContent.styles.js +1 -1
  267. package/dist/esm/FilterGroup/FilterGroup.styles.js +1 -1
  268. package/dist/esm/FilterGroup/LeftPanel/LeftPanel.styles.js +1 -1
  269. package/dist/esm/FilterGroup/RightPanel/RightPanel.styles.js +1 -1
  270. package/dist/esm/Focus/Focus.styles.js +1 -1
  271. package/dist/esm/Footer/Footer.styles.js +1 -1
  272. package/dist/esm/Forms/Adornment/Adornment.styles.js +1 -1
  273. package/dist/esm/Forms/CharCounter/CharCounter.styles.js +1 -1
  274. package/dist/esm/Forms/FormElement/FormElement.styles.js +1 -1
  275. package/dist/esm/Forms/FormElement/utils/FormUtils.js.map +1 -1
  276. package/dist/esm/Forms/InfoMessage/InfoMessage.styles.js +1 -1
  277. package/dist/esm/Forms/Label/Label.styles.js +1 -1
  278. package/dist/esm/Forms/Suggestions/Suggestions.styles.js +1 -1
  279. package/dist/esm/Forms/WarningText/WarningText.styles.js +1 -1
  280. package/dist/esm/GlobalActions/GlobalActions.styles.js +1 -1
  281. package/dist/esm/GlobalActions/GlobalActions.styles.js.map +1 -1
  282. package/dist/esm/Grid/Grid.styles.js +1 -1
  283. package/dist/esm/Header/Actions/Actions.styles.js +1 -1
  284. package/dist/esm/Header/Brand/Brand.styles.js +1 -1
  285. package/dist/esm/Header/Header.styles.js +1 -1
  286. package/dist/esm/Header/Navigation/MenuBar/Bar.styles.js +1 -1
  287. package/dist/esm/Header/Navigation/MenuItem/MenuItem.styles.js +1 -1
  288. package/dist/esm/Header/Navigation/Navigation.styles.js +1 -1
  289. package/dist/esm/InlineEditor/InlineEditor.js +1 -1
  290. package/dist/esm/InlineEditor/InlineEditor.js.map +1 -1
  291. package/dist/esm/InlineEditor/InlineEditor.styles.js +1 -1
  292. package/dist/esm/Input/Input.styles.js +1 -1
  293. package/dist/esm/Kpi/Kpi.styles.js +1 -1
  294. package/dist/esm/Link/Link.styles.js +1 -1
  295. package/dist/esm/List/List.styles.js +1 -1
  296. package/dist/esm/ListContainer/ListContainer.styles.js +1 -1
  297. package/dist/esm/ListContainer/ListItem/ListItem.styles.js +1 -1
  298. package/dist/esm/Loading/Loading.styles.js +1 -1
  299. package/dist/esm/LoadingContainer/LoadingContainer.styles.js +1 -1
  300. package/dist/esm/Login/Login.styles.js +1 -1
  301. package/dist/esm/MultiButton/MultiButton.styles.js +1 -1
  302. package/dist/esm/OverflowTooltip/OverflowTooltip.styles.js +1 -1
  303. package/dist/esm/Pagination/Pagination.styles.js +1 -1
  304. package/dist/esm/Pagination/Select.styles.js +1 -1
  305. package/dist/esm/Panel/Panel.styles.js +1 -1
  306. package/dist/esm/ProgressBar/ProgressBar.styles.js +1 -1
  307. package/dist/esm/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.js +1 -1
  308. package/dist/esm/QueryBuilder/QueryBuilder.styles.js +1 -1
  309. package/dist/esm/QueryBuilder/Rule/Rule.styles.js +1 -1
  310. package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.js +1 -1
  311. package/dist/esm/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js +1 -1
  312. package/dist/esm/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js +1 -1
  313. package/dist/esm/Radio/Radio.styles.js +1 -1
  314. package/dist/esm/RadioGroup/RadioGroup.styles.js +1 -1
  315. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js +1 -1
  316. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.styles.js +1 -1
  317. package/dist/esm/ScrollTo/Vertical/ScrollToVertical.styles.js +1 -1
  318. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js +1 -1
  319. package/dist/esm/Section/Section.styles.js +1 -1
  320. package/dist/esm/Select/Option.js +1 -1
  321. package/dist/esm/Select/OptionGroup.js +1 -1
  322. package/dist/esm/Select/Select.js +1 -1
  323. package/dist/esm/Select/Select.js.map +1 -1
  324. package/dist/esm/Select/Select.styles.js +1 -1
  325. package/dist/esm/SelectionList/SelectionList.styles.js +1 -1
  326. package/dist/esm/SimpleGrid/SimpleGrid.styles.js +1 -1
  327. package/dist/esm/SimpleGrid/SimpleGrid.styles.js.map +1 -1
  328. package/dist/esm/Skeleton/Skeleton.styles.js +1 -1
  329. package/dist/esm/Slider/Slider.styles.js +1 -1
  330. package/dist/esm/Slider/SliderInput/SliderInput.styles.js +1 -1
  331. package/dist/esm/Snackbar/Snackbar.styles.js +1 -1
  332. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.js +1 -1
  333. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.js.map +1 -1
  334. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.styles.js +1 -1
  335. package/dist/esm/SnackbarProvider/SnackbarProvider.styles.js +1 -1
  336. package/dist/esm/Stack/Stack.styles.js +1 -1
  337. package/dist/esm/Switch/Switch.styles.js +1 -1
  338. package/dist/esm/Tab/Tab.styles.js +1 -1
  339. package/dist/esm/Table/Table.styles.js +1 -1
  340. package/dist/esm/Table/TableBody/TableBody.styles.js +1 -1
  341. package/dist/esm/Table/TableCell/TableCell.styles.js +1 -1
  342. package/dist/esm/Table/TableContainer/TableContainer.styles.js +1 -1
  343. package/dist/esm/Table/TableHead/TableHead.styles.js +1 -1
  344. package/dist/esm/Table/TableHeader/TableHeader.js +1 -1
  345. package/dist/esm/Table/TableHeader/TableHeader.js.map +1 -1
  346. package/dist/esm/Table/TableHeader/TableHeader.styles.js +1 -1
  347. package/dist/esm/Table/TableRow/TableRow.styles.js +1 -1
  348. package/dist/esm/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js +1 -1
  349. package/dist/esm/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.js +1 -1
  350. package/dist/esm/TableSection/TableSection.styles.js +1 -1
  351. package/dist/esm/Tabs/Tabs.styles.js +1 -1
  352. package/dist/esm/Tag/Tag.js +1 -1
  353. package/dist/esm/Tag/Tag.js.map +1 -1
  354. package/dist/esm/Tag/Tag.styles.js +1 -1
  355. package/dist/esm/TagsInput/TagsInput.styles.js +1 -1
  356. package/dist/esm/TextArea/TextArea.styles.js +1 -1
  357. package/dist/esm/TimeAgo/TimeAgo.styles.js +1 -1
  358. package/dist/esm/TimePicker/TimePicker.styles.js +1 -1
  359. package/dist/esm/TimePicker/Unit/Unit.styles.js +1 -1
  360. package/dist/esm/Tooltip/Tooltip.js +1 -1
  361. package/dist/esm/Tooltip/Tooltip.js.map +1 -1
  362. package/dist/esm/Tooltip/Tooltip.styles.js +1 -1
  363. package/dist/esm/TreeView/TreeItem/DefaultContent.js +1 -2
  364. package/dist/esm/TreeView/TreeItem/DefaultContent.js.map +1 -1
  365. package/dist/esm/TreeView/TreeItem/TreeItem.styles.js +1 -1
  366. package/dist/esm/TreeView/TreeView.styles.js +1 -1
  367. package/dist/esm/Typography/Typography.js +1 -1
  368. package/dist/esm/Typography/Typography.js.map +1 -1
  369. package/dist/esm/Typography/Typography.styles.js +1 -1
  370. package/dist/esm/VerticalNavigation/Actions/Action.styles.js +1 -1
  371. package/dist/esm/VerticalNavigation/Actions/Actions.styles.js +1 -1
  372. package/dist/esm/VerticalNavigation/Header/Header.styles.js +1 -1
  373. package/dist/esm/VerticalNavigation/Navigation/Navigation.styles.js +1 -1
  374. package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js +1 -1
  375. package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js +2 -2
  376. package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js.map +1 -1
  377. package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js +1 -1
  378. package/dist/esm/VerticalNavigation/TreeView/TreeView.styles.js +1 -1
  379. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.styles.js +1 -1
  380. package/dist/esm/VerticalNavigation/VerticalNavigation.styles.js +1 -1
  381. package/dist/esm/hooks/useDefaultProps.js +1 -2
  382. package/dist/esm/hooks/useDefaultProps.js.map +1 -1
  383. package/dist/esm/index.js +3 -6
  384. package/dist/esm/index.js.map +1 -1
  385. package/dist/esm/types/generic.js.map +1 -1
  386. package/dist/types/index.d.ts +132 -131
  387. package/package.json +5 -7
  388. package/dist/cjs/hooks/useCss.cjs +0 -53
  389. package/dist/cjs/hooks/useEmotionCache.cjs +0 -11
  390. package/dist/cjs/hooks/useTheme.cjs +0 -15
  391. package/dist/cjs/utils/classes.cjs +0 -52
  392. package/dist/esm/hooks/useCss.js +0 -51
  393. package/dist/esm/hooks/useCss.js.map +0 -1
  394. package/dist/esm/hooks/useEmotionCache.js +0 -11
  395. package/dist/esm/hooks/useEmotionCache.js.map +0 -1
  396. package/dist/esm/hooks/useTheme.js +0 -15
  397. package/dist/esm/hooks/useTheme.js.map +0 -1
  398. package/dist/esm/utils/classes.js +0 -52
  399. package/dist/esm/utils/classes.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { createClasses } from "../../../utils/classes.js";
2
1
  import { outlineStyles } from "../../../utils/focusUtils.js";
2
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
3
3
  const name = "HvBannerActionContainer";
4
4
  const { staticClasses, useClasses } = createClasses(name, {
5
5
  actionContainer: {
@@ -1,5 +1,5 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../../utils/classes.js";
2
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
3
3
  const { useClasses, staticClasses } = createClasses("HvBannerContent", {
4
4
  root: {
5
5
  minWidth: "100%",
@@ -1,5 +1,5 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../../../utils/classes.js";
2
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
3
3
  const name = "HvBannerMessageContainer";
4
4
  const { staticClasses, useClasses } = createClasses(name, {
5
5
  message: {
@@ -1,6 +1,6 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../utils/classes.js";
3
2
  import { outlineStyles } from "../utils/focusUtils.js";
3
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
4
4
  const { staticClasses, useClasses } = createClasses("HvBaseCheckBox", {
5
5
  root: {
6
6
  padding: 0,
@@ -5,10 +5,10 @@ import { usePopper } from "react-popper";
5
5
  import ClickAwayListener from "@mui/material/ClickAwayListener";
6
6
  import { detectOverflow } from "@popperjs/core";
7
7
  import { DropUpXS, DropDownXS } from "@hitachivantara/uikit-react-icons";
8
+ import { useTheme } from "@hitachivantara/uikit-react-shared";
8
9
  import { useControlled } from "../hooks/useControlled.js";
9
10
  import { useDefaultProps } from "../hooks/useDefaultProps.js";
10
11
  import { useForkRef } from "../hooks/useForkRef.js";
11
- import { useTheme } from "../hooks/useTheme.js";
12
12
  import { useUniqueId } from "../hooks/useUniqueId.js";
13
13
  import { getFirstAndLastFocus } from "../utils/focusableElementFinder.js";
14
14
  import { isKey, isOneOfKeys } from "../utils/keyboardUtils.js";
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDropdown.js","sources":["../../../src/BaseDropdown/BaseDropdown.tsx"],"sourcesContent":["import {\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useMemo,\n useState,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { PopperProps, usePopper } from \"react-popper\";\nimport ClickAwayListener, {\n ClickAwayListenerProps,\n} from \"@mui/material/ClickAwayListener\";\nimport {\n detectOverflow,\n ModifierArguments,\n Options,\n Placement,\n} from \"@popperjs/core\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useForkRef } from \"../hooks/useForkRef\";\nimport { useTheme } from \"../hooks/useTheme\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { getFirstAndLastFocus } from \"../utils/focusableElementFinder\";\nimport { isKey, isOneOfKeys } from \"../utils/keyboardUtils\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./BaseDropdown.styles\";\nimport BaseDropdownContext from \"./BaseDropdownContext\";\nimport { useBaseDropdownContext } from \"./BaseDropdownContext/BaseDropdownContext\";\n\nexport { staticClasses as baseDropdownClasses };\n\nexport type HvBaseDropdownClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBaseDropdownProps\n extends HvBaseProps<HTMLDivElement, \"onToggle\"> {\n /**\n * The role of the element that triggers the popup.\n *\n * Defaults to \"combobox\" if `component` and the default\n * \"textbox\" header is used, undefined otherwise.\n */\n role?: string;\n /**\n * Header placeholder.\n */\n placeholder?: React.ReactNode;\n /**\n * If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled.\n */\n disabled?: boolean;\n /**\n * If `true` the dropdown will be in read only mode, unable to be interacted.\n */\n readOnly?: boolean;\n /**\n * Indicates that user input is required on the form element.\n */\n required?: boolean;\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal?: boolean;\n /**\n * If `true` the dropdown width depends size of content if `false` the width depends on the header size.\n * Defaults to `false`.\n */\n variableWidth?: boolean;\n /**\n * If `true` the dropdown starts opened if `false` it starts closed.\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 wired to the popper component.\n */\n popperProps?: Partial<PopperProps<any>>;\n /**\n * Placement of the dropdown.\n */\n placement?: \"left\" | \"right\";\n /**\n * Replacement for the header component.\n */\n component?: React.ReactNode;\n /**\n * Adornment to replace the default arrows.\n */\n adornment?: React.ReactNode;\n /**\n * When dropdown changes the expanded state.\n */\n onToggle?: (event: Event, open: boolean) => void;\n /**\n * When user click outside the open container.\n */\n onClickOutside?: (event: Event) => void;\n /**\n * Callback called when the dropdown is opened and ready,\n * commonly used to set focus to the content.\n */\n onContainerCreation?: (container: HTMLElement | null) => void;\n /**\n * Attributes applied to the dropdown header element.\n */\n dropdownHeaderProps?: React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n >;\n /**\n * Pass a ref to the dropdown header element.\n */\n dropdownHeaderRef?: React.Ref<HTMLDivElement>;\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvBaseDropdownClasses;\n /** @ignore */\n ref?: React.Ref<HTMLDivElement>;\n}\n\nconst BaseDropdown = forwardRef<\n HTMLDivElement,\n Omit<\n HvBaseDropdownProps,\n \"popperProps\" | \"variableWidth\" | \"placement\" | \"onContainerCreation\"\n >\n>((props, ref) => {\n const {\n id: idProp,\n className,\n classes: classesProp,\n children,\n role,\n placeholder,\n component,\n adornment,\n expanded,\n dropdownHeaderProps,\n defaultExpanded,\n disabled,\n readOnly,\n required,\n disablePortal,\n \"aria-expanded\": ariaExpandedProp,\n \"aria-label\": ariaLabelProp,\n \"aria-labelledby\": ariaLabelledByProp,\n dropdownHeaderRef: dropdownHeaderRefProp,\n onToggle,\n onClickOutside,\n ...others\n } = props;\n\n const { classes, cx } = useClasses(classesProp);\n\n const {\n popperPlacement,\n popper,\n popperElement,\n referenceElement,\n setPopperElement,\n setReferenceElement,\n } = useBaseDropdownContext();\n\n const { rootId } = useTheme();\n\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const handleDropdownHeaderRefProp = useForkRef(\n dropdownHeaderRefProp,\n dropdownHeaderProps?.ref,\n );\n const handleDropdownHeaderRef = useForkRef(\n setReferenceElement,\n handleDropdownHeaderRefProp,\n );\n\n const ariaRole = role || (component == null ? \"combobox\" : undefined);\n\n const ariaExpanded = ariaExpandedProp ?? (ariaRole ? !!isOpen : undefined);\n\n const id = useUniqueId(idProp);\n const containerId = setId(id, \"children-container\");\n\n const headerControlArias = {\n \"aria-required\": required ?? undefined,\n \"aria-readonly\": readOnly ?? undefined,\n \"aria-disabled\": disabled ?? undefined,\n\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": isOpen ? containerId : undefined,\n \"aria-controls\": isOpen ? containerId : undefined,\n } satisfies React.AriaAttributes;\n\n const headerAriaLabels = {\n \"aria-label\": ariaLabelProp,\n \"aria-labelledby\": ariaLabelledByProp,\n } satisfies React.AriaAttributes;\n\n const extensionWidth = referenceElement\n ? referenceElement?.offsetWidth\n : \"inherit\";\n\n const handleToggle = useCallback(\n (event: any) => {\n if (event && !isKey(event, \"Tab\")) {\n event.preventDefault();\n }\n\n const notControlKey =\n !!event?.code &&\n !isOneOfKeys(event, [\"Tab\", \"Enter\", \"Esc\", \"ArrowDown\", \"Space\"]);\n\n const ignoredCombinations =\n (isKey(event, \"Esc\") && !isOpen) ||\n (isKey(event, \"ArrowDown\") && isOpen) ||\n (isKey(event, \"Tab\") && !isOpen);\n\n if (disabled || notControlKey || ignoredCombinations) return;\n\n const newOpen = !isOpen;\n\n /* If about to close focus on the header component. */\n setIsOpen(() => {\n if (!newOpen) {\n // Focus-ring won't be visible even if using the keyboard:\n // https://github.com/WICG/focus-visible/issues/88\n referenceElement?.focus({ preventScroll: true });\n }\n\n return newOpen;\n });\n\n onToggle?.(event, newOpen);\n },\n [isOpen, disabled, setIsOpen, onToggle, referenceElement],\n );\n\n const ExpanderComponent = isOpen ? DropUpXS : DropDownXS;\n\n const defaultHeaderElement = (\n <div\n id={setId(id, \"header\")}\n className={cx(classes.header, {\n [classes.headerDisabled]: disabled,\n [classes.headerReadOnly]: readOnly,\n [classes.headerOpen]: isOpen,\n [classes.headerOpenUp]: isOpen && popperPlacement?.includes(\"top\"),\n [classes.headerOpenDown]: isOpen && popperPlacement?.includes(\"bottom\"),\n })}\n // TODO: review \"textbox\" role\n role={ariaRole === \"combobox\" ? \"textbox\" : undefined}\n {...headerAriaLabels}\n style={disabled || readOnly ? { pointerEvents: \"none\" } : undefined}\n // Removes the element from the navigation sequence for keyboard focus if disabled\n tabIndex={disabled ? -1 : 0}\n ref={handleDropdownHeaderRef}\n {...dropdownHeaderProps}\n >\n <div className={classes.selection}>\n {placeholder && typeof placeholder === \"string\" ? (\n <HvTypography\n className={cx(classes.placeholder, {\n [classes.selectionDisabled]: disabled,\n })}\n variant=\"body\"\n >\n {placeholder}\n </HvTypography>\n ) : (\n placeholder\n )}\n </div>\n <div className={classes.arrowContainer}>\n {adornment || (\n <ExpanderComponent\n iconSize=\"XS\"\n color={disabled ? \"secondary_60\" : undefined}\n className={classes.arrow}\n />\n )}\n </div>\n </div>\n );\n\n const headerElement =\n component && isValidElement(component)\n ? cloneElement(component as React.ReactElement, {\n ref: handleDropdownHeaderRef,\n ...headerControlArias,\n })\n : defaultHeaderElement;\n\n const containerComponent = (() => {\n /**\n * Handle keyboard inside children container.\n */\n const handleContainerKeyDown: React.KeyboardEventHandler = (event) => {\n if (isKey(event, \"Esc\")) {\n handleToggle(event);\n }\n if (isKey(event, \"Tab\") && !event.shiftKey) {\n const focusList = getFirstAndLastFocus(popperElement);\n if (document.activeElement === focusList?.last) {\n event.preventDefault();\n focusList?.first?.focus();\n }\n }\n };\n\n const handleOutside: ClickAwayListenerProps[\"onClickAway\"] = (event) => {\n const isButtonClick = referenceElement?.contains(event.target as any);\n if (!isButtonClick) {\n onClickOutside?.(event);\n setIsOpen(false);\n onToggle?.(event, false);\n }\n };\n\n const container = (\n <div\n ref={setPopperElement}\n className={classes.container}\n style={popper?.styles.popper}\n {...popper?.attributes.popper}\n >\n <ClickAwayListener onClickAway={handleOutside}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div onKeyDown={handleContainerKeyDown}>\n {popperPlacement?.includes(\"bottom\") && (\n <div\n style={{ width: extensionWidth }}\n className={cx(classes.inputExtensionOpen, {\n [classes.inputExtensionLeftPosition]:\n popperPlacement.includes(\"end\"),\n })}\n />\n )}\n <div\n // TODO: review in v6. `containerId` needs to be on the role element (`children` has it)\n id={containerId}\n className={cx(classes.panel, {\n [classes.panelOpenedUp]: popperPlacement?.includes(\"top\"),\n [classes.panelOpenedDown]: popperPlacement?.includes(\"bottom\"),\n })}\n >\n {children}\n </div>\n {popperPlacement?.includes(\"top\") && (\n <div\n style={{ width: extensionWidth }}\n className={cx(\n classes.inputExtensionOpen,\n classes.inputExtensionOpenShadow,\n {\n [classes.inputExtensionFloatRight]:\n popperPlacement.includes(\"end\"),\n [classes.inputExtensionFloatLeft]:\n popperPlacement.includes(\"start\"),\n },\n )}\n />\n )}\n </div>\n </ClickAwayListener>\n </div>\n );\n\n if (disablePortal) return container;\n\n return createPortal(\n container,\n document.getElementById(rootId || \"\") || document.body,\n );\n })();\n\n return (\n <div className={classes.root}>\n <div\n ref={ref}\n id={id}\n className={cx(\n classes.anchor,\n { [classes.rootDisabled]: disabled },\n className,\n )}\n {...(!readOnly && {\n onKeyDown: handleToggle,\n onClick: handleToggle,\n })}\n {...(ariaRole && {\n role: ariaRole,\n ...headerAriaLabels,\n ...headerControlArias,\n })}\n // Removes the element from the navigation sequence for keyboard focus\n tabIndex={-1}\n {...others}\n >\n {headerElement}\n </div>\n {isOpen && containerComponent}\n </div>\n );\n});\n\nexport const HvBaseDropdown = forwardRef<HTMLDivElement, HvBaseDropdownProps>(\n (props, ref) => {\n const {\n popperProps = {},\n variableWidth,\n placement: placementProp = \"right\",\n onContainerCreation,\n ...others\n } = useDefaultProps(\"HvBaseDropdown\", props);\n\n const placement: Placement = `bottom-${\n placementProp === \"right\" ? \"start\" : \"end\"\n }`;\n\n const { modifiers: popperPropsModifiers = [], ...otherPopperProps } =\n popperProps;\n\n const [referenceElement, setReferenceElement] =\n useState<HTMLElement | null>(null);\n const [popperElement, setPopperElement] = useState<HTMLElement | null>(\n null,\n );\n const [popperMaxSize, setPopperMaxSize] = useState<{\n width?: number;\n height?: number;\n }>({});\n\n const onFirstUpdate = useCallback(() => {\n onContainerCreation?.(popperElement);\n }, [onContainerCreation, popperElement]);\n\n const applyMaxSizeCalculator = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n // The `maxSize` modifier provides this data\n const { width, height } = state.modifiersData.maxSize;\n if (\n width !== popperMaxSize?.width ||\n height !== popperMaxSize?.height\n ) {\n setPopperMaxSize({ width, height });\n }\n\n state.styles.popper = {\n ...state.styles.popper,\n maxWidth: `${width}px`,\n maxHeight: `${height}px`,\n };\n },\n [popperMaxSize],\n );\n\n const widthCalculator = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n [],\n );\n\n const widthCalculatorEffect = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as any).offsetWidth\n }px`;\n },\n [],\n );\n\n const maxSizeCalculator = useCallback(\n ({ state, name, options }: ModifierArguments<Options>) => {\n const overflow = detectOverflow(state, options);\n\n const x = state.modifiersData.preventOverflow?.x || 0;\n const y = state.modifiersData.preventOverflow?.y || 0;\n\n const popperWidth = state.rects.popper.width;\n const popperHeight = state.rects.popper.height;\n\n const basePlacement = state.placement.split(\"-\")[0];\n\n const widthProp = basePlacement === \"left\" ? \"left\" : \"right\";\n const heightProp = basePlacement === \"top\" ? \"top\" : \"bottom\";\n\n state.modifiersData[name] = {\n width: popperWidth - overflow[widthProp] - x,\n height: popperHeight - overflow[heightProp] - y,\n };\n },\n [],\n );\n\n const modifiers = useMemo<Options[\"modifiers\"]>(\n () => [\n {\n name: \"variableWidth\",\n enabled: !variableWidth,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: widthCalculator,\n effect: widthCalculatorEffect,\n },\n {\n name: \"maxSize\",\n enabled: true,\n phase: \"main\",\n requiresIfExists: [\"offset\", \"preventOverflow\", \"flip\"],\n fn: maxSizeCalculator,\n },\n {\n name: \"applyMaxSize\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"maxSize\"],\n fn: applyMaxSizeCalculator,\n },\n ...popperPropsModifiers,\n ],\n [\n maxSizeCalculator,\n applyMaxSizeCalculator,\n popperPropsModifiers,\n variableWidth,\n widthCalculator,\n widthCalculatorEffect,\n ],\n );\n\n const popper = usePopper(referenceElement, popperElement, {\n placement,\n modifiers,\n onFirstUpdate,\n ...otherPopperProps,\n });\n\n const value = useMemo(\n () => ({\n ...popperMaxSize,\n popperPlacement:\n popper?.attributes.popper?.[\"data-popper-placement\"] ?? \"bottom\",\n popper,\n popperElement,\n setPopperElement,\n referenceElement,\n setReferenceElement,\n }),\n [popper, popperElement, popperMaxSize, referenceElement],\n );\n\n return (\n <BaseDropdownContext.Provider value={value}>\n <BaseDropdown ref={ref} {...others} />\n </BaseDropdownContext.Provider>\n );\n },\n);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseDropdown.js","sources":["../../../src/BaseDropdown/BaseDropdown.tsx"],"sourcesContent":["import {\n cloneElement,\n forwardRef,\n isValidElement,\n useCallback,\n useMemo,\n useState,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { PopperProps, usePopper } from \"react-popper\";\nimport ClickAwayListener, {\n ClickAwayListenerProps,\n} from \"@mui/material/ClickAwayListener\";\nimport {\n detectOverflow,\n ModifierArguments,\n Options,\n Placement,\n} from \"@popperjs/core\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\nimport { useTheme } from \"@hitachivantara/uikit-react-shared\";\n\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useForkRef } from \"../hooks/useForkRef\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { getFirstAndLastFocus } from \"../utils/focusableElementFinder\";\nimport { isKey, isOneOfKeys } from \"../utils/keyboardUtils\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./BaseDropdown.styles\";\nimport BaseDropdownContext from \"./BaseDropdownContext\";\nimport { useBaseDropdownContext } from \"./BaseDropdownContext/BaseDropdownContext\";\n\nexport { staticClasses as baseDropdownClasses };\n\nexport type HvBaseDropdownClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBaseDropdownProps\n extends HvBaseProps<HTMLDivElement, \"onToggle\"> {\n /**\n * The role of the element that triggers the popup.\n *\n * Defaults to \"combobox\" if `component` and the default\n * \"textbox\" header is used, undefined otherwise.\n */\n role?: string;\n /**\n * Header placeholder.\n */\n placeholder?: React.ReactNode;\n /**\n * If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled.\n */\n disabled?: boolean;\n /**\n * If `true` the dropdown will be in read only mode, unable to be interacted.\n */\n readOnly?: boolean;\n /**\n * Indicates that user input is required on the form element.\n */\n required?: boolean;\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal?: boolean;\n /**\n * If `true` the dropdown width depends size of content if `false` the width depends on the header size.\n * Defaults to `false`.\n */\n variableWidth?: boolean;\n /**\n * If `true` the dropdown starts opened if `false` it starts closed.\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 wired to the popper component.\n */\n popperProps?: Partial<PopperProps<any>>;\n /**\n * Placement of the dropdown.\n */\n placement?: \"left\" | \"right\";\n /**\n * Replacement for the header component.\n */\n component?: React.ReactNode;\n /**\n * Adornment to replace the default arrows.\n */\n adornment?: React.ReactNode;\n /**\n * When dropdown changes the expanded state.\n */\n onToggle?: (event: Event, open: boolean) => void;\n /**\n * When user click outside the open container.\n */\n onClickOutside?: (event: Event) => void;\n /**\n * Callback called when the dropdown is opened and ready,\n * commonly used to set focus to the content.\n */\n onContainerCreation?: (container: HTMLElement | null) => void;\n /**\n * Attributes applied to the dropdown header element.\n */\n dropdownHeaderProps?: React.DetailedHTMLProps<\n React.HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n >;\n /**\n * Pass a ref to the dropdown header element.\n */\n dropdownHeaderRef?: React.Ref<HTMLDivElement>;\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvBaseDropdownClasses;\n /** @ignore */\n ref?: React.Ref<HTMLDivElement>;\n}\n\nconst BaseDropdown = forwardRef<\n HTMLDivElement,\n Omit<\n HvBaseDropdownProps,\n \"popperProps\" | \"variableWidth\" | \"placement\" | \"onContainerCreation\"\n >\n>((props, ref) => {\n const {\n id: idProp,\n className,\n classes: classesProp,\n children,\n role,\n placeholder,\n component,\n adornment,\n expanded,\n dropdownHeaderProps,\n defaultExpanded,\n disabled,\n readOnly,\n required,\n disablePortal,\n \"aria-expanded\": ariaExpandedProp,\n \"aria-label\": ariaLabelProp,\n \"aria-labelledby\": ariaLabelledByProp,\n dropdownHeaderRef: dropdownHeaderRefProp,\n onToggle,\n onClickOutside,\n ...others\n } = props;\n\n const { classes, cx } = useClasses(classesProp);\n\n const {\n popperPlacement,\n popper,\n popperElement,\n referenceElement,\n setPopperElement,\n setReferenceElement,\n } = useBaseDropdownContext();\n\n const { rootId } = useTheme();\n\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const handleDropdownHeaderRefProp = useForkRef(\n dropdownHeaderRefProp,\n dropdownHeaderProps?.ref,\n );\n const handleDropdownHeaderRef = useForkRef(\n setReferenceElement,\n handleDropdownHeaderRefProp,\n );\n\n const ariaRole = role || (component == null ? \"combobox\" : undefined);\n\n const ariaExpanded = ariaExpandedProp ?? (ariaRole ? !!isOpen : undefined);\n\n const id = useUniqueId(idProp);\n const containerId = setId(id, \"children-container\");\n\n const headerControlArias = {\n \"aria-required\": required ?? undefined,\n \"aria-readonly\": readOnly ?? undefined,\n \"aria-disabled\": disabled ?? undefined,\n\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": isOpen ? containerId : undefined,\n \"aria-controls\": isOpen ? containerId : undefined,\n } satisfies React.AriaAttributes;\n\n const headerAriaLabels = {\n \"aria-label\": ariaLabelProp,\n \"aria-labelledby\": ariaLabelledByProp,\n } satisfies React.AriaAttributes;\n\n const extensionWidth = referenceElement\n ? referenceElement?.offsetWidth\n : \"inherit\";\n\n const handleToggle = useCallback(\n (event: any) => {\n if (event && !isKey(event, \"Tab\")) {\n event.preventDefault();\n }\n\n const notControlKey =\n !!event?.code &&\n !isOneOfKeys(event, [\"Tab\", \"Enter\", \"Esc\", \"ArrowDown\", \"Space\"]);\n\n const ignoredCombinations =\n (isKey(event, \"Esc\") && !isOpen) ||\n (isKey(event, \"ArrowDown\") && isOpen) ||\n (isKey(event, \"Tab\") && !isOpen);\n\n if (disabled || notControlKey || ignoredCombinations) return;\n\n const newOpen = !isOpen;\n\n /* If about to close focus on the header component. */\n setIsOpen(() => {\n if (!newOpen) {\n // Focus-ring won't be visible even if using the keyboard:\n // https://github.com/WICG/focus-visible/issues/88\n referenceElement?.focus({ preventScroll: true });\n }\n\n return newOpen;\n });\n\n onToggle?.(event, newOpen);\n },\n [isOpen, disabled, setIsOpen, onToggle, referenceElement],\n );\n\n const ExpanderComponent = isOpen ? DropUpXS : DropDownXS;\n\n const defaultHeaderElement = (\n <div\n id={setId(id, \"header\")}\n className={cx(classes.header, {\n [classes.headerDisabled]: disabled,\n [classes.headerReadOnly]: readOnly,\n [classes.headerOpen]: isOpen,\n [classes.headerOpenUp]: isOpen && popperPlacement?.includes(\"top\"),\n [classes.headerOpenDown]: isOpen && popperPlacement?.includes(\"bottom\"),\n })}\n // TODO: review \"textbox\" role\n role={ariaRole === \"combobox\" ? \"textbox\" : undefined}\n {...headerAriaLabels}\n style={disabled || readOnly ? { pointerEvents: \"none\" } : undefined}\n // Removes the element from the navigation sequence for keyboard focus if disabled\n tabIndex={disabled ? -1 : 0}\n ref={handleDropdownHeaderRef}\n {...dropdownHeaderProps}\n >\n <div className={classes.selection}>\n {placeholder && typeof placeholder === \"string\" ? (\n <HvTypography\n className={cx(classes.placeholder, {\n [classes.selectionDisabled]: disabled,\n })}\n variant=\"body\"\n >\n {placeholder}\n </HvTypography>\n ) : (\n placeholder\n )}\n </div>\n <div className={classes.arrowContainer}>\n {adornment || (\n <ExpanderComponent\n iconSize=\"XS\"\n color={disabled ? \"secondary_60\" : undefined}\n className={classes.arrow}\n />\n )}\n </div>\n </div>\n );\n\n const headerElement =\n component && isValidElement(component)\n ? cloneElement(component as React.ReactElement, {\n ref: handleDropdownHeaderRef,\n ...headerControlArias,\n })\n : defaultHeaderElement;\n\n const containerComponent = (() => {\n /**\n * Handle keyboard inside children container.\n */\n const handleContainerKeyDown: React.KeyboardEventHandler = (event) => {\n if (isKey(event, \"Esc\")) {\n handleToggle(event);\n }\n if (isKey(event, \"Tab\") && !event.shiftKey) {\n const focusList = getFirstAndLastFocus(popperElement);\n if (document.activeElement === focusList?.last) {\n event.preventDefault();\n focusList?.first?.focus();\n }\n }\n };\n\n const handleOutside: ClickAwayListenerProps[\"onClickAway\"] = (event) => {\n const isButtonClick = referenceElement?.contains(event.target as any);\n if (!isButtonClick) {\n onClickOutside?.(event);\n setIsOpen(false);\n onToggle?.(event, false);\n }\n };\n\n const container = (\n <div\n ref={setPopperElement}\n className={classes.container}\n style={popper?.styles.popper}\n {...popper?.attributes.popper}\n >\n <ClickAwayListener onClickAway={handleOutside}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div onKeyDown={handleContainerKeyDown}>\n {popperPlacement?.includes(\"bottom\") && (\n <div\n style={{ width: extensionWidth }}\n className={cx(classes.inputExtensionOpen, {\n [classes.inputExtensionLeftPosition]:\n popperPlacement.includes(\"end\"),\n })}\n />\n )}\n <div\n // TODO: review in v6. `containerId` needs to be on the role element (`children` has it)\n id={containerId}\n className={cx(classes.panel, {\n [classes.panelOpenedUp]: popperPlacement?.includes(\"top\"),\n [classes.panelOpenedDown]: popperPlacement?.includes(\"bottom\"),\n })}\n >\n {children}\n </div>\n {popperPlacement?.includes(\"top\") && (\n <div\n style={{ width: extensionWidth }}\n className={cx(\n classes.inputExtensionOpen,\n classes.inputExtensionOpenShadow,\n {\n [classes.inputExtensionFloatRight]:\n popperPlacement.includes(\"end\"),\n [classes.inputExtensionFloatLeft]:\n popperPlacement.includes(\"start\"),\n },\n )}\n />\n )}\n </div>\n </ClickAwayListener>\n </div>\n );\n\n if (disablePortal) return container;\n\n return createPortal(\n container,\n document.getElementById(rootId || \"\") || document.body,\n );\n })();\n\n return (\n <div className={classes.root}>\n <div\n ref={ref}\n id={id}\n className={cx(\n classes.anchor,\n { [classes.rootDisabled]: disabled },\n className,\n )}\n {...(!readOnly && {\n onKeyDown: handleToggle,\n onClick: handleToggle,\n })}\n {...(ariaRole && {\n role: ariaRole,\n ...headerAriaLabels,\n ...headerControlArias,\n })}\n // Removes the element from the navigation sequence for keyboard focus\n tabIndex={-1}\n {...others}\n >\n {headerElement}\n </div>\n {isOpen && containerComponent}\n </div>\n );\n});\n\nexport const HvBaseDropdown = forwardRef<HTMLDivElement, HvBaseDropdownProps>(\n (props, ref) => {\n const {\n popperProps = {},\n variableWidth,\n placement: placementProp = \"right\",\n onContainerCreation,\n ...others\n } = useDefaultProps(\"HvBaseDropdown\", props);\n\n const placement: Placement = `bottom-${\n placementProp === \"right\" ? \"start\" : \"end\"\n }`;\n\n const { modifiers: popperPropsModifiers = [], ...otherPopperProps } =\n popperProps;\n\n const [referenceElement, setReferenceElement] =\n useState<HTMLElement | null>(null);\n const [popperElement, setPopperElement] = useState<HTMLElement | null>(\n null,\n );\n const [popperMaxSize, setPopperMaxSize] = useState<{\n width?: number;\n height?: number;\n }>({});\n\n const onFirstUpdate = useCallback(() => {\n onContainerCreation?.(popperElement);\n }, [onContainerCreation, popperElement]);\n\n const applyMaxSizeCalculator = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n // The `maxSize` modifier provides this data\n const { width, height } = state.modifiersData.maxSize;\n if (\n width !== popperMaxSize?.width ||\n height !== popperMaxSize?.height\n ) {\n setPopperMaxSize({ width, height });\n }\n\n state.styles.popper = {\n ...state.styles.popper,\n maxWidth: `${width}px`,\n maxHeight: `${height}px`,\n };\n },\n [popperMaxSize],\n );\n\n const widthCalculator = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n state.styles.popper.width = `${state.rects.reference.width}px`;\n },\n [],\n );\n\n const widthCalculatorEffect = useCallback(\n ({ state }: ModifierArguments<Options>) => {\n state.elements.popper.style.width = `${\n (state.elements.reference as any).offsetWidth\n }px`;\n },\n [],\n );\n\n const maxSizeCalculator = useCallback(\n ({ state, name, options }: ModifierArguments<Options>) => {\n const overflow = detectOverflow(state, options);\n\n const x = state.modifiersData.preventOverflow?.x || 0;\n const y = state.modifiersData.preventOverflow?.y || 0;\n\n const popperWidth = state.rects.popper.width;\n const popperHeight = state.rects.popper.height;\n\n const basePlacement = state.placement.split(\"-\")[0];\n\n const widthProp = basePlacement === \"left\" ? \"left\" : \"right\";\n const heightProp = basePlacement === \"top\" ? \"top\" : \"bottom\";\n\n state.modifiersData[name] = {\n width: popperWidth - overflow[widthProp] - x,\n height: popperHeight - overflow[heightProp] - y,\n };\n },\n [],\n );\n\n const modifiers = useMemo<Options[\"modifiers\"]>(\n () => [\n {\n name: \"variableWidth\",\n enabled: !variableWidth,\n phase: \"beforeWrite\",\n requires: [\"computeStyles\"],\n fn: widthCalculator,\n effect: widthCalculatorEffect,\n },\n {\n name: \"maxSize\",\n enabled: true,\n phase: \"main\",\n requiresIfExists: [\"offset\", \"preventOverflow\", \"flip\"],\n fn: maxSizeCalculator,\n },\n {\n name: \"applyMaxSize\",\n enabled: true,\n phase: \"beforeWrite\",\n requires: [\"maxSize\"],\n fn: applyMaxSizeCalculator,\n },\n ...popperPropsModifiers,\n ],\n [\n maxSizeCalculator,\n applyMaxSizeCalculator,\n popperPropsModifiers,\n variableWidth,\n widthCalculator,\n widthCalculatorEffect,\n ],\n );\n\n const popper = usePopper(referenceElement, popperElement, {\n placement,\n modifiers,\n onFirstUpdate,\n ...otherPopperProps,\n });\n\n const value = useMemo(\n () => ({\n ...popperMaxSize,\n popperPlacement:\n popper?.attributes.popper?.[\"data-popper-placement\"] ?? \"bottom\",\n popper,\n popperElement,\n setPopperElement,\n referenceElement,\n setReferenceElement,\n }),\n [popper, popperElement, popperMaxSize, referenceElement],\n );\n\n return (\n <BaseDropdownContext.Provider value={value}>\n <BaseDropdown ref={ref} {...others} />\n </BaseDropdownContext.Provider>\n );\n },\n);\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../utils/classes.js";
3
2
  import { outlineStyles } from "../utils/focusUtils.js";
3
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
4
4
  const { useClasses, staticClasses } = createClasses("HvBaseDropdown", {
5
5
  root: { width: "100%", position: "relative" },
6
6
  rootDisabled: {
@@ -1,6 +1,6 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../utils/classes.js";
3
2
  import { outlineStyles } from "../utils/focusUtils.js";
3
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
4
4
  const { staticClasses, useClasses } = createClasses("HvBaseInput", {
5
5
  root: {
6
6
  display: "inline-block",
@@ -1,6 +1,6 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../utils/classes.js";
3
2
  import { outlineStyles } from "../utils/focusUtils.js";
3
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
4
4
  const { staticClasses, useClasses } = createClasses("HvBaseRadio", {
5
5
  root: {
6
6
  padding: 0,
@@ -1,6 +1,6 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../utils/classes.js";
3
2
  import { outlineStyles } from "../utils/focusUtils.js";
3
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
4
4
  const { staticClasses, useClasses } = createClasses("HvBaseSwitch", {
5
5
  root: {
6
6
  padding: 0,
@@ -1,5 +1,5 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../utils/classes.js";
2
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
3
3
  const { staticClasses, useClasses } = createClasses("HvBreadCrumb", {
4
4
  root: { display: "flex", alignItems: "center", zIndex: 0 },
5
5
  link: {},
@@ -1,6 +1,6 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../../utils/classes.js";
3
2
  import { outlineStyles } from "../../utils/focusUtils.js";
3
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
4
4
  const { staticClasses, useClasses } = createClasses("HvBreadCrumbPage", {
5
5
  link: {
6
6
  padding: `8px ${theme.space.xs}`,
@@ -1,4 +1,4 @@
1
- import { createClasses } from "../../utils/classes.js";
1
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
2
2
  const { staticClasses, useClasses } = createClasses("HvPathElement", {
3
3
  centerContainer: { display: "flex", alignItems: "center" },
4
4
  separatorContainer: {}
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { useTheme } from "@hitachivantara/uikit-react-shared";
2
3
  import { useDefaultProps } from "../hooks/useDefaultProps.js";
3
- import { useTheme } from "../hooks/useTheme.js";
4
4
  import { setId } from "../utils/setId.js";
5
5
  import { useClasses } from "./BulkActions.styles.js";
6
6
  import { staticClasses } from "./BulkActions.styles.js";
@@ -1 +1 @@
1
- {"version":3,"file":"BulkActions.js","sources":["../../../src/BulkActions/BulkActions.tsx"],"sourcesContent":["import { HvActionsGeneric, HvActionsGenericProps } from \"../ActionsGeneric\";\nimport { HvButton, HvButtonProps, HvButtonVariant } from \"../Button\";\nimport { HvCheckBox, HvCheckBoxProps } from \"../CheckBox\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useTheme } from \"../hooks/useTheme\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./BulkActions.styles\";\n\nexport { staticClasses as bulkActionsClasses };\n\nexport type HvBulkActionsClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBulkActionsProps extends HvBaseProps {\n /** Custom label for select all checkbox */\n selectAllLabel?: React.ReactNode;\n /** Custom label for select all checkbox conjunction */\n selectAllConjunctionLabel?: string;\n /** Custom label for select all pages button */\n selectAllPagesLabel?: React.ReactNode;\n /** Whether select all pages element should be visible */\n showSelectAllPages?: boolean;\n /** The total number of elements */\n numTotal?: number;\n /** The number of elements currently selected */\n numSelected?: number;\n /** Function called when the \"select all\" Checkbox is toggled. */\n onSelectAll?: HvCheckBoxProps[\"onChange\"];\n /** Function called when the \"select all pages\" button is clicked toggled. */\n onSelectAllPages?: HvButtonProps[\"onClick\"];\n /** Whether the bulk actions should use the semantic styles when there are selected elements. */\n semantic?: boolean;\n /** The renderable content inside the right actions slot, or an array of actions `{ id, label, icon, disabled, ... }` */\n actions?: HvActionsGenericProps[\"actions\"];\n /** Whether actions should be all disabled */\n actionsDisabled?: boolean;\n /**\n * The callback function called when an action is triggered, receiving `action` as parameter.\n *\n * @deprecated Use `onAction` instead.\n * */\n actionsCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /** The callback function called when an action is triggered, receiving `action` as parameter. */\n onAction?: HvActionsGenericProps[\"onAction\"];\n /** The number of maximum visible actions before they're collapsed into a `DropDownMenu`. */\n maxVisibleActions?: number;\n /** Properties to be passed onto the checkbox component, the values of the object are equivalent to the HvCheckbox API. */\n checkboxProps?: HvCheckBoxProps;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvBulkActionsClasses;\n}\n\n/**\n * Bulk Actions allow users to perform an action on a single or multiple items.\n * Also known as \"batch production\" of multiple items at once, one stage at a time.\n */\nexport const HvBulkActions = (props: HvBulkActionsProps) => {\n const {\n id,\n className,\n classes: classesProp,\n selectAllPagesLabel,\n actionsDisabled,\n maxVisibleActions,\n checkboxProps,\n actions,\n numTotal = 0,\n numSelected = 0,\n selectAllLabel = \"All\",\n selectAllConjunctionLabel = \"/\",\n showSelectAllPages = false,\n semantic = true,\n actionsCallback, // TODO - remove in v6\n onAction,\n onSelectAll,\n onSelectAllPages,\n ...others\n } = useDefaultProps(\"HvBulkActions\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const { activeTheme } = useTheme();\n\n const anySelected = numSelected > 0;\n const isSemantic = semantic && anySelected;\n\n const selectAllLabelComponent = (\n <HvTypography\n component=\"span\"\n disabled={checkboxProps?.disabled}\n variant=\"body\"\n >\n {!anySelected ? (\n <>\n <HvTypography variant=\"label\">{selectAllLabel}</HvTypography>\n {` (${numTotal})`}\n </>\n ) : (\n <>\n <HvTypography variant=\"label\">{numSelected}</HvTypography>\n {` ${selectAllConjunctionLabel} ${numTotal}`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div\n id={id}\n className={cx(\n classes.root,\n { [classes.semantic]: isSemantic },\n className,\n )}\n {...others}\n >\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select\")}\n className={classes.selectAll}\n checked={numSelected > 0}\n semantic={isSemantic}\n onChange={onSelectAll}\n indeterminate={numSelected > 0 && numSelected < numTotal}\n label={selectAllLabelComponent}\n {...checkboxProps}\n />\n {showSelectAllPages && anySelected && numSelected < numTotal && (\n <>\n <div className={classes.divider} />\n <HvButton\n id={setId(id, \"pages\")}\n className={classes.selectAllPages}\n variant={\n isSemantic\n ? (activeTheme?.bulkActions\n .actionButtonVariant as HvButtonVariant)\n : \"secondaryGhost\"\n }\n onClick={onSelectAllPages}\n >\n {selectAllPagesLabel ?? `Select all ${numTotal} items`}\n </HvButton>\n </>\n )}\n </div>\n <HvActionsGeneric\n id={setId(id, \"actions\")}\n classes={{ root: classes.actions }}\n variant={\n isSemantic\n ? (activeTheme?.bulkActions.actionButtonVariant as HvButtonVariant)\n : \"secondaryGhost\"\n }\n actions={actions}\n disabled={actionsDisabled ?? numSelected === 0}\n actionsCallback={actionsCallback}\n onAction={onAction}\n maxVisibleActions={maxVisibleActions}\n />\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;AA0Da,MAAA,gBAAgB,CAAC,UAA8B;AACpD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,4BAA4B;AAAA,IAC5B,qBAAqB;AAAA,IACrB,WAAW;AAAA,IACX;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,iBAAiB,KAAK;AAE1C,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAExC,QAAA,EAAE,gBAAgB;AAExB,QAAM,cAAc,cAAc;AAClC,QAAM,aAAa,YAAY;AAE/B,QAAM,0BACJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,UAAU,eAAe;AAAA,MACzB,SAAQ;AAAA,MAEP,UAAA,CAAC,cAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,QAAC,oBAAA,cAAA,EAAa,SAAQ,SAAS,UAAe,gBAAA;AAAA,QAC7C,KAAK,QAAQ;AAAA,MAAA,EAAA,CAChB,IAGE,qBAAA,UAAA,EAAA,UAAA;AAAA,QAAC,oBAAA,cAAA,EAAa,SAAQ,SAAS,UAAY,aAAA;AAAA,QAC1C,IAAI,yBAAyB,IAAI,QAAQ;AAAA,MAAA,GAC5C;AAAA,IAAA;AAAA,EAAA;AAMJ,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,EAAE,CAAC,QAAQ,QAAQ,GAAG,WAAW;AAAA,QACjC;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAC,qBAAA,OAAA,EAAI,WAAW,QAAQ,oBACtB,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI,MAAM,IAAI,QAAQ;AAAA,cACtB,WAAW,QAAQ;AAAA,cACnB,SAAS,cAAc;AAAA,cACvB,UAAU;AAAA,cACV,UAAU;AAAA,cACV,eAAe,cAAc,KAAK,cAAc;AAAA,cAChD,OAAO;AAAA,cACN,GAAG;AAAA,YAAA;AAAA,UACN;AAAA,UACC,sBAAsB,eAAe,cAAc,YAEhD,qBAAA,UAAA,EAAA,UAAA;AAAA,YAAC,oBAAA,OAAA,EAAI,WAAW,QAAQ,QAAS,CAAA;AAAA,YACjC;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,IAAI,MAAM,IAAI,OAAO;AAAA,gBACrB,WAAW,QAAQ;AAAA,gBACnB,SACE,aACK,aAAa,YACX,sBACH;AAAA,gBAEN,SAAS;AAAA,gBAER,UAAA,uBAAuB,cAAc,QAAQ;AAAA,cAAA;AAAA,YAChD;AAAA,UAAA,GACF;AAAA,QAAA,GAEJ;AAAA,QACA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI,MAAM,IAAI,SAAS;AAAA,YACvB,SAAS,EAAE,MAAM,QAAQ,QAAQ;AAAA,YACjC,SACE,aACK,aAAa,YAAY,sBAC1B;AAAA,YAEN;AAAA,YACA,UAAU,mBAAmB,gBAAgB;AAAA,YAC7C;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"BulkActions.js","sources":["../../../src/BulkActions/BulkActions.tsx"],"sourcesContent":["import { useTheme } from \"@hitachivantara/uikit-react-shared\";\n\nimport { HvActionsGeneric, HvActionsGenericProps } from \"../ActionsGeneric\";\nimport { HvButton, HvButtonProps, HvButtonVariant } from \"../Button\";\nimport { HvCheckBox, HvCheckBoxProps } from \"../CheckBox\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./BulkActions.styles\";\n\nexport { staticClasses as bulkActionsClasses };\n\nexport type HvBulkActionsClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvBulkActionsProps extends HvBaseProps {\n /** Custom label for select all checkbox */\n selectAllLabel?: React.ReactNode;\n /** Custom label for select all checkbox conjunction */\n selectAllConjunctionLabel?: string;\n /** Custom label for select all pages button */\n selectAllPagesLabel?: React.ReactNode;\n /** Whether select all pages element should be visible */\n showSelectAllPages?: boolean;\n /** The total number of elements */\n numTotal?: number;\n /** The number of elements currently selected */\n numSelected?: number;\n /** Function called when the \"select all\" Checkbox is toggled. */\n onSelectAll?: HvCheckBoxProps[\"onChange\"];\n /** Function called when the \"select all pages\" button is clicked toggled. */\n onSelectAllPages?: HvButtonProps[\"onClick\"];\n /** Whether the bulk actions should use the semantic styles when there are selected elements. */\n semantic?: boolean;\n /** The renderable content inside the right actions slot, or an array of actions `{ id, label, icon, disabled, ... }` */\n actions?: HvActionsGenericProps[\"actions\"];\n /** Whether actions should be all disabled */\n actionsDisabled?: boolean;\n /**\n * The callback function called when an action is triggered, receiving `action` as parameter.\n *\n * @deprecated Use `onAction` instead.\n * */\n actionsCallback?: HvActionsGenericProps[\"actionsCallback\"];\n /** The callback function called when an action is triggered, receiving `action` as parameter. */\n onAction?: HvActionsGenericProps[\"onAction\"];\n /** The number of maximum visible actions before they're collapsed into a `DropDownMenu`. */\n maxVisibleActions?: number;\n /** Properties to be passed onto the checkbox component, the values of the object are equivalent to the HvCheckbox API. */\n checkboxProps?: HvCheckBoxProps;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvBulkActionsClasses;\n}\n\n/**\n * Bulk Actions allow users to perform an action on a single or multiple items.\n * Also known as \"batch production\" of multiple items at once, one stage at a time.\n */\nexport const HvBulkActions = (props: HvBulkActionsProps) => {\n const {\n id,\n className,\n classes: classesProp,\n selectAllPagesLabel,\n actionsDisabled,\n maxVisibleActions,\n checkboxProps,\n actions,\n numTotal = 0,\n numSelected = 0,\n selectAllLabel = \"All\",\n selectAllConjunctionLabel = \"/\",\n showSelectAllPages = false,\n semantic = true,\n actionsCallback, // TODO - remove in v6\n onAction,\n onSelectAll,\n onSelectAllPages,\n ...others\n } = useDefaultProps(\"HvBulkActions\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const { activeTheme } = useTheme();\n\n const anySelected = numSelected > 0;\n const isSemantic = semantic && anySelected;\n\n const selectAllLabelComponent = (\n <HvTypography\n component=\"span\"\n disabled={checkboxProps?.disabled}\n variant=\"body\"\n >\n {!anySelected ? (\n <>\n <HvTypography variant=\"label\">{selectAllLabel}</HvTypography>\n {` (${numTotal})`}\n </>\n ) : (\n <>\n <HvTypography variant=\"label\">{numSelected}</HvTypography>\n {` ${selectAllConjunctionLabel} ${numTotal}`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div\n id={id}\n className={cx(\n classes.root,\n { [classes.semantic]: isSemantic },\n className,\n )}\n {...others}\n >\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select\")}\n className={classes.selectAll}\n checked={numSelected > 0}\n semantic={isSemantic}\n onChange={onSelectAll}\n indeterminate={numSelected > 0 && numSelected < numTotal}\n label={selectAllLabelComponent}\n {...checkboxProps}\n />\n {showSelectAllPages && anySelected && numSelected < numTotal && (\n <>\n <div className={classes.divider} />\n <HvButton\n id={setId(id, \"pages\")}\n className={classes.selectAllPages}\n variant={\n isSemantic\n ? (activeTheme?.bulkActions\n .actionButtonVariant as HvButtonVariant)\n : \"secondaryGhost\"\n }\n onClick={onSelectAllPages}\n >\n {selectAllPagesLabel ?? `Select all ${numTotal} items`}\n </HvButton>\n </>\n )}\n </div>\n <HvActionsGeneric\n id={setId(id, \"actions\")}\n classes={{ root: classes.actions }}\n variant={\n isSemantic\n ? (activeTheme?.bulkActions.actionButtonVariant as HvButtonVariant)\n : \"secondaryGhost\"\n }\n actions={actions}\n disabled={actionsDisabled ?? numSelected === 0}\n actionsCallback={actionsCallback}\n onAction={onAction}\n maxVisibleActions={maxVisibleActions}\n />\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;AA2Da,MAAA,gBAAgB,CAAC,UAA8B;AACpD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,4BAA4B;AAAA,IAC5B,qBAAqB;AAAA,IACrB,WAAW;AAAA,IACX;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,iBAAiB,KAAK;AAE1C,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAExC,QAAA,EAAE,gBAAgB;AAExB,QAAM,cAAc,cAAc;AAClC,QAAM,aAAa,YAAY;AAE/B,QAAM,0BACJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,UAAU,eAAe;AAAA,MACzB,SAAQ;AAAA,MAEP,UAAA,CAAC,cAEE,qBAAA,UAAA,EAAA,UAAA;AAAA,QAAC,oBAAA,cAAA,EAAa,SAAQ,SAAS,UAAe,gBAAA;AAAA,QAC7C,KAAK,QAAQ;AAAA,MAAA,EAAA,CAChB,IAGE,qBAAA,UAAA,EAAA,UAAA;AAAA,QAAC,oBAAA,cAAA,EAAa,SAAQ,SAAS,UAAY,aAAA;AAAA,QAC1C,IAAI,yBAAyB,IAAI,QAAQ;AAAA,MAAA,GAC5C;AAAA,IAAA;AAAA,EAAA;AAMJ,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,EAAE,CAAC,QAAQ,QAAQ,GAAG,WAAW;AAAA,QACjC;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAC,qBAAA,OAAA,EAAI,WAAW,QAAQ,oBACtB,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI,MAAM,IAAI,QAAQ;AAAA,cACtB,WAAW,QAAQ;AAAA,cACnB,SAAS,cAAc;AAAA,cACvB,UAAU;AAAA,cACV,UAAU;AAAA,cACV,eAAe,cAAc,KAAK,cAAc;AAAA,cAChD,OAAO;AAAA,cACN,GAAG;AAAA,YAAA;AAAA,UACN;AAAA,UACC,sBAAsB,eAAe,cAAc,YAEhD,qBAAA,UAAA,EAAA,UAAA;AAAA,YAAC,oBAAA,OAAA,EAAI,WAAW,QAAQ,QAAS,CAAA;AAAA,YACjC;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,IAAI,MAAM,IAAI,OAAO;AAAA,gBACrB,WAAW,QAAQ;AAAA,gBACnB,SACE,aACK,aAAa,YACX,sBACH;AAAA,gBAEN,SAAS;AAAA,gBAER,UAAA,uBAAuB,cAAc,QAAQ;AAAA,cAAA;AAAA,YAChD;AAAA,UAAA,GACF;AAAA,QAAA,GAEJ;AAAA,QACA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI,MAAM,IAAI,SAAS;AAAA,YACvB,SAAS,EAAE,MAAM,QAAQ,QAAQ;AAAA,YACjC,SACE,aACK,aAAa,YAAY,sBAC1B;AAAA,YAEN;AAAA,YACA,UAAU,mBAAmB,gBAAgB;AAAA,YAC7C;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,9 +1,9 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../utils/classes.js";
3
2
  import { staticClasses as staticClasses$1 } from "../ActionsGeneric/ActionsGeneric.styles.js";
4
3
  import "react/jsx-runtime";
5
4
  import "react";
6
5
  import "@hitachivantara/uikit-react-icons";
6
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
7
7
  const { staticClasses, useClasses } = createClasses("HvBulkActions", {
8
8
  root: {
9
9
  display: "flex",
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useMemo } from "react";
3
+ import { useTheme } from "@hitachivantara/uikit-react-shared";
3
4
  import { useDefaultProps } from "../hooks/useDefaultProps.js";
4
- import { useTheme } from "../hooks/useTheme.js";
5
5
  import { fixedForwardRef } from "../types/generic.js";
6
6
  import { useClasses, getIconSizeStyles, getSizeStyles, getColoringStyle, getRadiusStyles, getOverrideColors } from "./Button.styles.js";
7
7
  import { staticClasses } from "./Button.styles.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../src/Button/Button.tsx"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useTheme } from \"../hooks/useTheme\";\nimport {\n fixedForwardRef,\n PolymorphicComponentRef,\n PolymorphicRef,\n} from \"../types/generic\";\nimport { ExtractNames } from \"../utils/classes\";\nimport {\n staticClasses as buttonClasses,\n getColoringStyle,\n getIconSizeStyles,\n getOverrideColors,\n getRadiusStyles,\n getSizeStyles,\n useClasses,\n} from \"./Button.styles\";\nimport { HvButtonRadius, HvButtonSize, HvButtonVariant } from \"./types\";\n\nexport { buttonClasses };\n\nexport type HvButtonClasses = ExtractNames<typeof useClasses>;\n\nexport type HvButtonProps<C extends React.ElementType = \"button\"> =\n PolymorphicComponentRef<\n C,\n {\n /** Use the variant prop to change the visual style of the button. */\n variant?: HvButtonVariant;\n /** Whether the button is an icon-only button. */\n icon?: boolean;\n /** Whether the button is disabled or not. */\n disabled?: boolean;\n /** Class names to be applied. */\n className?: string;\n /** Element placed before the children. */\n startIcon?: React.ReactNode;\n /** Element placed after the children. */\n endIcon?: React.ReactNode;\n /** Button size. */\n size?: HvButtonSize;\n /** Button border radius. */\n radius?: HvButtonRadius;\n /** Defines the default colors of the button are forced into the icon. */\n overrideIconColors?: boolean;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvButtonClasses;\n /** Whether the button is selected or not. */\n selected?: boolean;\n /**\n * Whether the button is focusable when disabled.\n * Without this property, the accessibility of the button decreases when disabled since it's not read by screen readers.\n * Set this property to `true` when you need the button to still be focusable when disabled for accessibility purposes.\n */\n focusableWhenDisabled?: boolean;\n }\n >;\n\n/**\n * Normalize the button variant. It's meant to give us some retro-compatibility with\n * the DS 3.6 API.\n * @returns the normalized variant in DS 5 API\n */\nconst mapVariant = (\n variant: HvButtonVariant,\n theme?: string,\n): HvButtonVariant => {\n if (theme === \"ds3\") return variant;\n\n const deprecatedVariantMap: Record<string, HvButtonVariant> = {\n secondary: \"secondarySubtle\",\n ghost: \"primaryGhost\",\n };\n\n const mappedVariant = deprecatedVariantMap[variant];\n\n if (import.meta.env.DEV && mappedVariant) {\n // eslint-disable-next-line no-console\n console.warn(\n `Button variant '${variant}' is deprecated. Please use '${mappedVariant}'.`,\n );\n }\n\n return mappedVariant || variant;\n};\n\n/**\n * Button component is used to trigger an action or event.\n */\nexport const HvButton = fixedForwardRef(function HvButton<\n C extends React.ElementType = \"button\",\n>(props: HvButtonProps<C>, ref: PolymorphicRef<C>) {\n const {\n classes: classesProp,\n children,\n variant: variantProp, // TODO - should we split into two props (color and type) in v6?\n disabled = false,\n className,\n startIcon,\n endIcon,\n icon = false,\n size,\n radius,\n overrideIconColors = true,\n component: Component = \"button\",\n focusableWhenDisabled,\n onClick: onClickProp,\n onMouseDown: onMouseDownProp,\n selected,\n style,\n ...others\n } = useDefaultProps(\"HvButton\", props);\n const { classes, css, cx } = useClasses(classesProp);\n const { activeTheme } = useTheme();\n const variant = mapVariant(\n variantProp ?? (icon ? \"secondaryGhost\" : \"primary\"),\n activeTheme?.name,\n );\n\n const handleClick: HvButtonProps[\"onClick\"] = (e) => {\n if (disabled) return;\n onClickProp?.(e);\n };\n\n const handleMouseDown: HvButtonProps[\"onMouseDown\"] = (e) => {\n if (disabled) return;\n onMouseDownProp?.(e);\n };\n\n const [color, type] = useMemo(() => {\n const result = variant.split(/(?=[A-Z])/);\n if (\n result[0] === \"ghost\" ||\n result[0] === \"semantic\" ||\n (result[0] === \"secondary\" && !result[1])\n )\n return [];\n return result.map((x) => x.toLowerCase());\n }, [variant]);\n\n const sizeStyles = useMemo(\n () =>\n size ? (icon ? getIconSizeStyles(size) : getSizeStyles(size)) : undefined,\n [size, icon],\n );\n\n return (\n <Component\n ref={ref}\n style={{\n ...style,\n \"--HvButton-height\": sizeStyles ? sizeStyles.height : \"32px\",\n }}\n className={cx(\n classes.root,\n type && classes[type as keyof HvButtonClasses],\n color && css(getColoringStyle(color, type)),\n classes[variant as keyof HvButtonClasses], // Placed after type and color CSS for DS3 override\n radius && css(getRadiusStyles(radius)),\n overrideIconColors && css(getOverrideColors()),\n {\n [classes.icon]: icon,\n [classes.disabled]: disabled,\n },\n sizeStyles && css(sizeStyles),\n className,\n )}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n {...(Component === \"button\" && { type: \"button\" })}\n {...(disabled && {\n disabled: !focusableWhenDisabled,\n tabIndex: focusableWhenDisabled ? 0 : -1,\n \"aria-disabled\": true,\n })}\n {...(selected && { \"aria-pressed\": selected })}\n {...others}\n >\n {startIcon && <span className={classes.startIcon}>{startIcon}</span>}\n {children}\n {endIcon && <span className={classes.endIcon}>{endIcon}</span>}\n </Component>\n );\n});\n"],"names":["HvButton"],"mappings":";;;;;;;AAiEA,MAAM,aAAa,CACjB,SACA,UACoB;AAChB,MAAA,UAAU,MAAc,QAAA;AAE5B,QAAM,uBAAwD;AAAA,IAC5D,WAAW;AAAA,IACX,OAAO;AAAA,EAAA;AAGH,QAAA,gBAAgB,qBAAqB,OAAO;AASlD,SAAO,iBAAiB;AAC1B;AAKO,MAAM,WAAW,gBAAgB,SAASA,UAE/C,OAAyB,KAAwB;AAC3C,QAAA;AAAA,IACJ,SAAS;AAAA,IACT;AAAA,IACA,SAAS;AAAA;AAAA,IACT,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,qBAAqB;AAAA,IACrB,WAAW,YAAY;AAAA,IACvB;AAAA,IACA,SAAS;AAAA,IACT,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,YAAY,KAAK;AACrC,QAAM,EAAE,SAAS,KAAK,GAAG,IAAI,WAAW,WAAW;AAC7C,QAAA,EAAE,gBAAgB;AACxB,QAAM,UAAU;AAAA,IACd,gBAAgB,OAAO,mBAAmB;AAAA,IAC1C,aAAa;AAAA,EAAA;AAGT,QAAA,cAAwC,CAAC,MAAM;AACnD,QAAI,SAAU;AACd,kBAAc,CAAC;AAAA,EAAA;AAGX,QAAA,kBAAgD,CAAC,MAAM;AAC3D,QAAI,SAAU;AACd,sBAAkB,CAAC;AAAA,EAAA;AAGrB,QAAM,CAAC,OAAO,IAAI,IAAI,QAAQ,MAAM;AAC5B,UAAA,SAAS,QAAQ,MAAM,WAAW;AACxC,QACE,OAAO,CAAC,MAAM,WACd,OAAO,CAAC,MAAM,cACb,OAAO,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC;AAEvC,aAAO;AACT,WAAO,OAAO,IAAI,CAAC,MAAM,EAAE,aAAa;AAAA,EAAA,GACvC,CAAC,OAAO,CAAC;AAEZ,QAAM,aAAa;AAAA,IACjB,MACE,OAAQ,OAAO,kBAAkB,IAAI,IAAI,cAAc,IAAI,IAAK;AAAA,IAClE,CAAC,MAAM,IAAI;AAAA,EAAA;AAIX,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,OAAO;AAAA,QACL,GAAG;AAAA,QACH,qBAAqB,aAAa,WAAW,SAAS;AAAA,MACxD;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ,QAAQ,IAA6B;AAAA,QAC7C,SAAS,IAAI,iBAAiB,OAAO,IAAI,CAAC;AAAA,QAC1C,QAAQ,OAAgC;AAAA;AAAA,QACxC,UAAU,IAAI,gBAAgB,MAAM,CAAC;AAAA,QACrC,sBAAsB,IAAI,mBAAmB;AAAA,QAC7C;AAAA,UACE,CAAC,QAAQ,IAAI,GAAG;AAAA,UAChB,CAAC,QAAQ,QAAQ,GAAG;AAAA,QACtB;AAAA,QACA,cAAc,IAAI,UAAU;AAAA,QAC5B;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,aAAa;AAAA,MACZ,GAAI,cAAc,YAAY,EAAE,MAAM,SAAS;AAAA,MAC/C,GAAI,YAAY;AAAA,QACf,UAAU,CAAC;AAAA,QACX,UAAU,wBAAwB,IAAI;AAAA,QACtC,iBAAiB;AAAA,MACnB;AAAA,MACC,GAAI,YAAY,EAAE,gBAAgB,SAAS;AAAA,MAC3C,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,aAAc,oBAAA,QAAA,EAAK,WAAW,QAAQ,WAAY,UAAU,WAAA;AAAA,QAC5D;AAAA,QACA,WAAY,oBAAA,QAAA,EAAK,WAAW,QAAQ,SAAU,UAAQ,SAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG7D,CAAC;"}
1
+ {"version":3,"file":"Button.js","sources":["../../../src/Button/Button.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useTheme } from \"@hitachivantara/uikit-react-shared\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport {\n fixedForwardRef,\n PolymorphicComponentRef,\n PolymorphicRef,\n} from \"../types/generic\";\nimport { ExtractNames } from \"../utils/classes\";\nimport {\n staticClasses as buttonClasses,\n getColoringStyle,\n getIconSizeStyles,\n getOverrideColors,\n getRadiusStyles,\n getSizeStyles,\n useClasses,\n} from \"./Button.styles\";\nimport { HvButtonRadius, HvButtonSize, HvButtonVariant } from \"./types\";\n\nexport { buttonClasses };\n\nexport type HvButtonClasses = ExtractNames<typeof useClasses>;\n\nexport type HvButtonProps<C extends React.ElementType = \"button\"> =\n PolymorphicComponentRef<\n C,\n {\n /** Use the variant prop to change the visual style of the button. */\n variant?: HvButtonVariant;\n /** Whether the button is an icon-only button. */\n icon?: boolean;\n /** Whether the button is disabled or not. */\n disabled?: boolean;\n /** Class names to be applied. */\n className?: string;\n /** Element placed before the children. */\n startIcon?: React.ReactNode;\n /** Element placed after the children. */\n endIcon?: React.ReactNode;\n /** Button size. */\n size?: HvButtonSize;\n /** Button border radius. */\n radius?: HvButtonRadius;\n /** Defines the default colors of the button are forced into the icon. */\n overrideIconColors?: boolean;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvButtonClasses;\n /** Whether the button is selected or not. */\n selected?: boolean;\n /**\n * Whether the button is focusable when disabled.\n * Without this property, the accessibility of the button decreases when disabled since it's not read by screen readers.\n * Set this property to `true` when you need the button to still be focusable when disabled for accessibility purposes.\n */\n focusableWhenDisabled?: boolean;\n }\n >;\n\n/**\n * Normalize the button variant. It's meant to give us some retro-compatibility with\n * the DS 3.6 API.\n * @returns the normalized variant in DS 5 API\n */\nconst mapVariant = (\n variant: HvButtonVariant,\n theme?: string,\n): HvButtonVariant => {\n if (theme === \"ds3\") return variant;\n\n const deprecatedVariantMap: Record<string, HvButtonVariant> = {\n secondary: \"secondarySubtle\",\n ghost: \"primaryGhost\",\n };\n\n const mappedVariant = deprecatedVariantMap[variant];\n\n if (import.meta.env.DEV && mappedVariant) {\n // eslint-disable-next-line no-console\n console.warn(\n `Button variant '${variant}' is deprecated. Please use '${mappedVariant}'.`,\n );\n }\n\n return mappedVariant || variant;\n};\n\n/**\n * Button component is used to trigger an action or event.\n */\nexport const HvButton = fixedForwardRef(function HvButton<\n C extends React.ElementType = \"button\",\n>(props: HvButtonProps<C>, ref: PolymorphicRef<C>) {\n const {\n classes: classesProp,\n children,\n variant: variantProp, // TODO - should we split into two props (color and type) in v6?\n disabled = false,\n className,\n startIcon,\n endIcon,\n icon = false,\n size,\n radius,\n overrideIconColors = true,\n component: Component = \"button\",\n focusableWhenDisabled,\n onClick: onClickProp,\n onMouseDown: onMouseDownProp,\n selected,\n style,\n ...others\n } = useDefaultProps(\"HvButton\", props);\n const { classes, css, cx } = useClasses(classesProp);\n const { activeTheme } = useTheme();\n const variant = mapVariant(\n variantProp ?? (icon ? \"secondaryGhost\" : \"primary\"),\n activeTheme?.name,\n );\n\n const handleClick: HvButtonProps[\"onClick\"] = (e) => {\n if (disabled) return;\n onClickProp?.(e);\n };\n\n const handleMouseDown: HvButtonProps[\"onMouseDown\"] = (e) => {\n if (disabled) return;\n onMouseDownProp?.(e);\n };\n\n const [color, type] = useMemo(() => {\n const result = variant.split(/(?=[A-Z])/);\n if (\n result[0] === \"ghost\" ||\n result[0] === \"semantic\" ||\n (result[0] === \"secondary\" && !result[1])\n )\n return [];\n return result.map((x) => x.toLowerCase());\n }, [variant]);\n\n const sizeStyles = useMemo(\n () =>\n size ? (icon ? getIconSizeStyles(size) : getSizeStyles(size)) : undefined,\n [size, icon],\n );\n\n return (\n <Component\n ref={ref}\n style={{\n ...style,\n \"--HvButton-height\": sizeStyles ? sizeStyles.height : \"32px\",\n }}\n className={cx(\n classes.root,\n type && classes[type as keyof HvButtonClasses],\n color && css(getColoringStyle(color, type)),\n classes[variant as keyof HvButtonClasses], // Placed after type and color CSS for DS3 override\n radius && css(getRadiusStyles(radius)),\n overrideIconColors && css(getOverrideColors()),\n {\n [classes.icon]: icon,\n [classes.disabled]: disabled,\n },\n sizeStyles && css(sizeStyles),\n className,\n )}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n {...(Component === \"button\" && { type: \"button\" })}\n {...(disabled && {\n disabled: !focusableWhenDisabled,\n tabIndex: focusableWhenDisabled ? 0 : -1,\n \"aria-disabled\": true,\n })}\n {...(selected && { \"aria-pressed\": selected })}\n {...others}\n >\n {startIcon && <span className={classes.startIcon}>{startIcon}</span>}\n {children}\n {endIcon && <span className={classes.endIcon}>{endIcon}</span>}\n </Component>\n );\n});\n"],"names":["HvButton"],"mappings":";;;;;;;AAiEA,MAAM,aAAa,CACjB,SACA,UACoB;AAChB,MAAA,UAAU,MAAc,QAAA;AAE5B,QAAM,uBAAwD;AAAA,IAC5D,WAAW;AAAA,IACX,OAAO;AAAA,EAAA;AAGH,QAAA,gBAAgB,qBAAqB,OAAO;AASlD,SAAO,iBAAiB;AAC1B;AAKO,MAAM,WAAW,gBAAgB,SAASA,UAE/C,OAAyB,KAAwB;AAC3C,QAAA;AAAA,IACJ,SAAS;AAAA,IACT;AAAA,IACA,SAAS;AAAA;AAAA,IACT,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,qBAAqB;AAAA,IACrB,WAAW,YAAY;AAAA,IACvB;AAAA,IACA,SAAS;AAAA,IACT,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,YAAY,KAAK;AACrC,QAAM,EAAE,SAAS,KAAK,GAAG,IAAI,WAAW,WAAW;AAC7C,QAAA,EAAE,gBAAgB;AACxB,QAAM,UAAU;AAAA,IACd,gBAAgB,OAAO,mBAAmB;AAAA,IAC1C,aAAa;AAAA,EAAA;AAGT,QAAA,cAAwC,CAAC,MAAM;AACnD,QAAI,SAAU;AACd,kBAAc,CAAC;AAAA,EAAA;AAGX,QAAA,kBAAgD,CAAC,MAAM;AAC3D,QAAI,SAAU;AACd,sBAAkB,CAAC;AAAA,EAAA;AAGrB,QAAM,CAAC,OAAO,IAAI,IAAI,QAAQ,MAAM;AAC5B,UAAA,SAAS,QAAQ,MAAM,WAAW;AACxC,QACE,OAAO,CAAC,MAAM,WACd,OAAO,CAAC,MAAM,cACb,OAAO,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC;AAEvC,aAAO;AACT,WAAO,OAAO,IAAI,CAAC,MAAM,EAAE,aAAa;AAAA,EAAA,GACvC,CAAC,OAAO,CAAC;AAEZ,QAAM,aAAa;AAAA,IACjB,MACE,OAAQ,OAAO,kBAAkB,IAAI,IAAI,cAAc,IAAI,IAAK;AAAA,IAClE,CAAC,MAAM,IAAI;AAAA,EAAA;AAIX,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,OAAO;AAAA,QACL,GAAG;AAAA,QACH,qBAAqB,aAAa,WAAW,SAAS;AAAA,MACxD;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ,QAAQ,IAA6B;AAAA,QAC7C,SAAS,IAAI,iBAAiB,OAAO,IAAI,CAAC;AAAA,QAC1C,QAAQ,OAAgC;AAAA;AAAA,QACxC,UAAU,IAAI,gBAAgB,MAAM,CAAC;AAAA,QACrC,sBAAsB,IAAI,mBAAmB;AAAA,QAC7C;AAAA,UACE,CAAC,QAAQ,IAAI,GAAG;AAAA,UAChB,CAAC,QAAQ,QAAQ,GAAG;AAAA,QACtB;AAAA,QACA,cAAc,IAAI,UAAU;AAAA,QAC5B;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,aAAa;AAAA,MACZ,GAAI,cAAc,YAAY,EAAE,MAAM,SAAS;AAAA,MAC/C,GAAI,YAAY;AAAA,QACf,UAAU,CAAC;AAAA,QACX,UAAU,wBAAwB,IAAI;AAAA,QACtC,iBAAiB;AAAA,MACnB;AAAA,MACC,GAAI,YAAY,EAAE,gBAAgB,SAAS;AAAA,MAC3C,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,aAAc,oBAAA,QAAA,EAAK,WAAW,QAAQ,WAAY,UAAU,WAAA;AAAA,QAC5D;AAAA,QACA,WAAY,oBAAA,QAAA,EAAK,WAAW,QAAQ,SAAU,UAAQ,SAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG7D,CAAC;"}
@@ -1,6 +1,6 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../utils/classes.js";
3
2
  import { outlineStyles } from "../utils/focusUtils.js";
3
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
4
4
  const { staticClasses, useClasses } = createClasses("HvButton", {
5
5
  root: {
6
6
  display: "inline-flex",
@@ -1,5 +1,5 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../utils/classes.js";
2
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
3
3
  const { staticClasses, useClasses } = createClasses("HvCalendar", {
4
4
  root: {
5
5
  display: "flex",
@@ -1,5 +1,5 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../../utils/classes.js";
2
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
3
3
  const { staticClasses, useClasses } = createClasses("HvCalendarHeader", {
4
4
  root: {
5
5
  paddingBottom: theme.space.md,
@@ -1,5 +1,5 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../../../utils/classes.js";
2
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
3
3
  const { staticClasses, useClasses } = createClasses(
4
4
  "HvComposedNavigation",
5
5
  {
@@ -1,6 +1,6 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../../../utils/classes.js";
3
2
  import { outlineStyles } from "../../../utils/focusUtils.js";
3
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
4
4
  const hover = {
5
5
  backgroundColor: theme.colors.atmo3,
6
6
  cursor: "pointer"
@@ -1,5 +1,5 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../../../utils/classes.js";
2
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
3
3
  const { staticClasses, useClasses } = createClasses("HvNavigation", {
4
4
  root: {
5
5
  display: "flex",
@@ -1,6 +1,6 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../../utils/classes.js";
3
2
  import { outlineStyles } from "../../utils/focusUtils.js";
3
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
4
4
  const hover = {
5
5
  backgroundColor: theme.colors.containerBackgroundHover,
6
6
  cursor: "pointer"
@@ -1,5 +1,5 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../../utils/classes.js";
2
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
3
3
  const { staticClasses, useClasses } = createClasses("HvSingleCalendar", {
4
4
  calendarContainer: {
5
5
  width: "318px",
@@ -1,6 +1,6 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../utils/classes.js";
3
2
  import { outlineStyles } from "../utils/focusUtils.js";
3
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
4
4
  const { staticClasses, useClasses } = createClasses("HvCard", {
5
5
  root: {
6
6
  overflow: "visible",
@@ -1,5 +1,5 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../../utils/classes.js";
2
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
3
3
  const { staticClasses, useClasses } = createClasses("HvCardContent", {
4
4
  content: {
5
5
  padding: `0 ${theme.space.sm} 15px ${theme.space.sm}`,
@@ -1,5 +1,5 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../../utils/classes.js";
2
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
3
3
  const { staticClasses, useClasses } = createClasses("HvCardHeader", {
4
4
  root: {
5
5
  position: "relative",
@@ -1,4 +1,4 @@
1
- import { createClasses } from "../../utils/classes.js";
1
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
2
2
  const { staticClasses, useClasses } = createClasses("HvCardMedia", {
3
3
  root: { width: "100%" },
4
4
  media: {}
@@ -2,8 +2,9 @@ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useRef, useState, Children, useCallback, useEffect } from "react";
3
3
  import useCarousel from "embla-carousel-react";
4
4
  import { Close, Fullscreen, Backwards, Forwards } from "@hitachivantara/uikit-react-icons";
5
+ import { useTheme } from "@hitachivantara/uikit-react-shared";
5
6
  import { useDefaultProps } from "../hooks/useDefaultProps.js";
6
- import { useTheme } from "../hooks/useTheme.js";
7
+ import { useLabels } from "../hooks/useLabels.js";
7
8
  import { clamp } from "../utils/helpers.js";
8
9
  import { useClasses } from "./Carousel.styles.js";
9
10
  import { staticClasses } from "./Carousel.styles.js";
@@ -13,6 +14,12 @@ import { HvContainer } from "../Container/Container.js";
13
14
  import { HvButton } from "../Button/Button.js";
14
15
  import { HvIconButton } from "../IconButton/IconButton.js";
15
16
  import { HvTypography } from "../Typography/Typography.js";
17
+ const DEFAULT_LABELS = {
18
+ close: "Close",
19
+ fullscreen: "Fullscreen",
20
+ backwards: "Backwards",
21
+ forwards: "Forwards"
22
+ };
16
23
  const HvCarousel = (props) => {
17
24
  const {
18
25
  className,
@@ -30,13 +37,16 @@ const HvCarousel = (props) => {
30
37
  hideThumbnails: hideThumbnailsProp,
31
38
  controlsPosition: controlsPositionProp,
32
39
  thumbnailsPosition: thumbnailsPositionProp,
40
+ labels: labelsProps,
33
41
  carouselOptions,
34
42
  renderThumbnail,
35
43
  onChange,
44
+ onFullscreen,
36
45
  ...others
37
46
  } = useDefaultProps("HvCarousel", props);
38
47
  const { activeTheme } = useTheme();
39
48
  const { classes, css, cx } = useClasses(classesProp);
49
+ const labels = useLabels(DEFAULT_LABELS, labelsProps);
40
50
  const thumbnailsRef = useRef(null);
41
51
  const [isFullscreen, setIsFullscreen] = useState(false);
42
52
  const isDs3 = activeTheme?.name === "ds3";
@@ -83,6 +93,10 @@ const HvCarousel = (props) => {
83
93
  controller.reInit();
84
94
  setSelectedIndex((currentIndex) => clamp(currentIndex, numSlides));
85
95
  }, [numSlides, controller]);
96
+ const handleFullscreen = (event) => {
97
+ onFullscreen?.(event, !isFullscreen);
98
+ setIsFullscreen((curr) => !curr);
99
+ };
86
100
  const canPrev = controller?.canScrollPrev() ?? false;
87
101
  const canNext = controller?.canScrollNext() ?? false;
88
102
  const showTitle = !!title && (!xs || isFullscreen);
@@ -104,8 +118,8 @@ const HvCarousel = (props) => {
104
118
  showFullscreen && /* @__PURE__ */ jsx(
105
119
  HvIconButton,
106
120
  {
107
- title: isFullscreen ? "Close" : "Fullscreen",
108
- onClick: () => setIsFullscreen((curr) => !curr),
121
+ title: isFullscreen ? labels.close : labels.fullscreen,
122
+ onClick: handleFullscreen,
109
123
  className: classes.closeButton,
110
124
  children: isFullscreen ? /* @__PURE__ */ jsx(Close, {}) : /* @__PURE__ */ jsx(Fullscreen, {})
111
125
  }
@@ -124,7 +138,11 @@ const HvCarousel = (props) => {
124
138
  canNext,
125
139
  onPreviousClick: handlePrevious,
126
140
  onNextClick: handleNext,
127
- actions: actionsPosition === "controls" && actions
141
+ actions: actionsPosition === "controls" && actions,
142
+ labels: {
143
+ backwards: labels.backwards,
144
+ forwards: labels.forwards
145
+ }
128
146
  }
129
147
  );
130
148
  const thumbnails = showThumbnails && /* @__PURE__ */ jsx(
@@ -168,7 +186,7 @@ const HvCarousel = (props) => {
168
186
  icon: true,
169
187
  disabled: !canPrev,
170
188
  variant: "secondarySubtle",
171
- "aria-label": "Backwards",
189
+ "aria-label": labels.backwards,
172
190
  onClick: handlePrevious,
173
191
  children: /* @__PURE__ */ jsx(Backwards, { iconSize: "XS" })
174
192
  }
@@ -179,7 +197,7 @@ const HvCarousel = (props) => {
179
197
  icon: true,
180
198
  disabled: !canNext,
181
199
  variant: "secondarySubtle",
182
- "aria-label": "Forwards",
200
+ "aria-label": labels.forwards,
183
201
  onClick: handleNext,
184
202
  children: /* @__PURE__ */ jsx(Forwards, { iconSize: "XS" })
185
203
  }