@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 +1 @@
1
- {"version":3,"file":"Carousel.js","sources":["../../../src/Carousel/Carousel.tsx"],"sourcesContent":["import { Children, useCallback, useEffect, useRef, useState } from \"react\";\nimport useCarousel from \"embla-carousel-react\";\nimport {\n Backwards,\n Close,\n Forwards,\n Fullscreen,\n} from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvButton } from \"../Button\";\nimport { HvContainer } from \"../Container\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useTheme } from \"../hooks/useTheme\";\nimport { HvIconButton } from \"../IconButton\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { clamp } from \"../utils/helpers\";\nimport { staticClasses, useClasses } from \"./Carousel.styles\";\nimport { HvCarouselControls } from \"./CarouselControls\";\nimport { HvCarouselThumbnails } from \"./CarouselThumbnails\";\n\nexport { staticClasses as carouselClasses };\n\nexport type HvCarouselClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCarouselProps\n extends HvBaseProps<HTMLDivElement, \"title\" | \"onChange\"> {\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCarouselClasses;\n /** Height of the Slider container. If `undefined`, images will keep a 16/9 aspect-ratio */\n height?: React.CSSProperties[\"height\"];\n /** Width of the thumbnail. Height will try to maintain a 16/9 aspect-ratio */\n thumbnailWidth?: React.CSSProperties[\"width\"];\n /** Title of the carousel */\n title?: React.ReactNode;\n /** Content slides to be displayed. @see `<HvCarouselSlide />` */\n children?: React.ReactNode;\n /** Custom content to render in the actions area */\n actions?: React.ReactNode;\n /** Whether Carousel is in \"xs mode\" - to use in embedded contexts */\n xs?: boolean;\n /** Whether to show dots instead of arrow pagination. Defaults to true under 5 elements */\n showDots?: boolean;\n /** Whether to show the counter on the top-right corner of the active slide */\n showCounter?: boolean;\n /** Whether to show the back/forwards buttons over the active slide */\n showSlideControls?: boolean;\n /** Whether to enable the fullscreen toggle button */\n showFullscreen?: boolean;\n /** Whether to hide the thumbnails. Hidden by default in \"xs\" mode */\n hideThumbnails?: boolean;\n /** Controls position. */\n controlsPosition?: \"top\" | \"bottom\";\n /** Thumbnails position. */\n thumbnailsPosition?: \"top\" | \"bottom\";\n /** Carousel configuration options. @see https://www.embla-carousel.com/api/options/ */\n carouselOptions?: Parameters<typeof useCarousel>[0];\n /** Function that renders the thumbnail. */\n renderThumbnail?: (index: number) => React.ReactNode;\n /** The callback fired when the active slide changes. */\n onChange?: (index: number) => void;\n}\n\n/**\n * A Carousel is commonly used to browse images, it can also be used to browse any kind of content like text, video, or charts.\n * It allows you to focus on a particular content while having a notion of how many you have to explore.\n */\nexport const HvCarousel = (props: HvCarouselProps) => {\n const {\n className,\n classes: classesProp,\n height: heightProp = \"auto\",\n thumbnailWidth = 90,\n title,\n children,\n actions: actionsProp,\n xs,\n showDots: showDotsProp,\n showCounter: showCounterProp,\n showSlideControls,\n showFullscreen: showFullscreenProp,\n hideThumbnails: hideThumbnailsProp,\n controlsPosition: controlsPositionProp,\n thumbnailsPosition: thumbnailsPositionProp,\n carouselOptions,\n renderThumbnail,\n onChange,\n ...others\n } = useDefaultProps(\"HvCarousel\", props);\n const { activeTheme } = useTheme();\n const { classes, css, cx } = useClasses(classesProp);\n const thumbnailsRef = useRef<HTMLDivElement>(null);\n const [isFullscreen, setIsFullscreen] = useState(false);\n\n const isDs3 = activeTheme?.name === \"ds3\";\n const actionsPosition = isDs3 ? \"header\" : \"controls\";\n const controlsPosition = controlsPositionProp ?? (isDs3 ? \"bottom\" : \"top\");\n const thumbnailsPosition = thumbnailsPositionProp ?? \"bottom\";\n\n const [containerRef, controller] = useCarousel({\n align: \"start\",\n loop: true,\n ...carouselOptions,\n });\n\n const [selectedIndex, setSelectedIndex] = useState(\n carouselOptions?.startIndex ?? 0,\n );\n\n const numSlides = Children.count(children);\n\n const handlePrevious = useCallback(() => {\n controller?.scrollPrev();\n }, [controller]);\n\n const handleNext = useCallback(() => {\n controller?.scrollNext();\n }, [controller]);\n\n const handleScroll = (index: number) => {\n controller?.scrollTo(index);\n };\n\n const handleSelect = useCallback(() => {\n if (!controller) return;\n\n const slideIndex = controller.selectedScrollSnap();\n setSelectedIndex(slideIndex);\n\n // scroll to thumbnail button\n thumbnailsRef.current\n ?.querySelectorAll(\"button\")\n ?.[slideIndex]?.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n });\n\n onChange?.(slideIndex);\n }, [controller, onChange]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.on(\"select\", handleSelect);\n\n return () => {\n controller.off(\"select\", handleSelect);\n };\n }, [controller, handleSelect]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.reInit();\n setSelectedIndex((currentIndex) => clamp(currentIndex, numSlides));\n }, [numSlides, controller]);\n\n const canPrev = controller?.canScrollPrev() ?? false;\n const canNext = controller?.canScrollNext() ?? false;\n const showTitle = !!title && (!xs || isFullscreen);\n const showFullscreen = showFullscreenProp ?? xs;\n const height = isFullscreen ? \"100%\" : (heightProp ?? \"auto\");\n const showCounter = xs;\n const hideThumbnails = hideThumbnailsProp ?? (xs && !isFullscreen);\n const showThumbnails = !hideThumbnails && !!renderThumbnail;\n const showDots = showDotsProp ?? numSlides <= 5;\n\n const actions = (\n <div\n className={cx(\n classes.actions,\n actionsPosition === \"header\"\n ? css({ position: \"relative\", top: -40, height: 0 })\n : css({ position: \"absolute\" }),\n )}\n >\n {actionsProp}\n {showFullscreen && (\n <HvIconButton\n title={isFullscreen ? \"Close\" : \"Fullscreen\"}\n onClick={() => setIsFullscreen((curr) => !curr)}\n className={classes.closeButton}\n >\n {isFullscreen ? <Close /> : <Fullscreen />}\n </HvIconButton>\n )}\n </div>\n );\n\n const controls = (\n <HvCarouselControls\n classes={classes}\n showDots={showDots}\n page={selectedIndex}\n pages={numSlides}\n canPrevious={canPrev}\n canNext={canNext}\n onPreviousClick={handlePrevious}\n onNextClick={handleNext}\n actions={actionsPosition === \"controls\" && actions}\n />\n );\n\n const thumbnails = showThumbnails && (\n <HvCarouselThumbnails\n classes={classes}\n ref={thumbnailsRef}\n page={selectedIndex}\n pages={numSlides}\n width={thumbnailWidth}\n onThumbnailClick={(evt, i) => handleScroll(i)}\n renderThumbnail={renderThumbnail}\n />\n );\n\n return (\n <HvContainer\n className={cx(classes.root, className, {\n [classes.xs]: xs,\n [classes.fullscreen]: isFullscreen,\n })}\n {...others}\n >\n {showTitle && (\n <HvTypography variant=\"title2\" className={classes.title}>\n {title}\n </HvTypography>\n )}\n\n {actionsPosition === \"header\" && actions}\n {thumbnailsPosition === \"top\" && thumbnails}\n {controlsPosition === \"top\" && controls}\n <div\n className={cx(classes.main, {\n [classes.mainXs]: xs,\n [classes.mainFullscreen]: isFullscreen,\n })}\n >\n {showCounter && (\n <div className={classes.counterContainer}>\n <span className={classes.counter}>\n {`${selectedIndex + 1}/${numSlides}`}\n </span>\n </div>\n )}\n\n {showSlideControls && (\n <div className={classes.slideControls}>\n <HvButton\n icon\n disabled={!canPrev}\n variant=\"secondarySubtle\"\n aria-label=\"Backwards\"\n onClick={handlePrevious}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n <HvButton\n icon\n disabled={!canNext}\n variant=\"secondarySubtle\"\n aria-label=\"Forwards\"\n onClick={handleNext}\n >\n <Forwards iconSize=\"XS\" />\n </HvButton>\n </div>\n )}\n\n <div\n ref={containerRef}\n style={{ height }}\n className={classes.slidesViewport}\n >\n <div className={classes.slidesContainer}>{children}</div>\n </div>\n </div>\n {controlsPosition === \"bottom\" && controls}\n {thumbnailsPosition === \"bottom\" && thumbnails}\n </HvContainer>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Carousel.js","sources":["../../../src/Carousel/Carousel.tsx"],"sourcesContent":["import { Children, useCallback, useEffect, useRef, useState } from \"react\";\nimport useCarousel from \"embla-carousel-react\";\nimport {\n Backwards,\n Close,\n Forwards,\n Fullscreen,\n} from \"@hitachivantara/uikit-react-icons\";\nimport { useTheme } from \"@hitachivantara/uikit-react-shared\";\n\nimport { HvButton } from \"../Button\";\nimport { HvContainer } from \"../Container\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useLabels } from \"../hooks/useLabels\";\nimport { HvIconButton, HvIconButtonProps } from \"../IconButton\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { clamp } from \"../utils/helpers\";\nimport { staticClasses, useClasses } from \"./Carousel.styles\";\nimport { HvCarouselControls } from \"./CarouselControls\";\nimport { HvCarouselThumbnails } from \"./CarouselThumbnails\";\n\nexport { staticClasses as carouselClasses };\n\nexport type HvCarouselClasses = ExtractNames<typeof useClasses>;\n\nconst DEFAULT_LABELS = {\n close: \"Close\",\n fullscreen: \"Fullscreen\",\n backwards: \"Backwards\",\n forwards: \"Forwards\",\n};\n\nexport interface HvCarouselProps\n extends HvBaseProps<HTMLDivElement, \"title\" | \"onChange\"> {\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvCarouselClasses;\n /** Height of the Slider container. If `undefined`, images will keep a 16/9 aspect-ratio */\n height?: React.CSSProperties[\"height\"];\n /** Width of the thumbnail. Height will try to maintain a 16/9 aspect-ratio */\n thumbnailWidth?: React.CSSProperties[\"width\"];\n /** Title of the carousel */\n title?: React.ReactNode;\n /** Content slides to be displayed. @see `<HvCarouselSlide />` */\n children?: React.ReactNode;\n /** Custom content to render in the actions area */\n actions?: React.ReactNode;\n /** Whether Carousel is in \"xs mode\" - to use in embedded contexts */\n xs?: boolean;\n /** Whether to show dots instead of arrow pagination. Defaults to true under 5 elements */\n showDots?: boolean;\n /** Whether to show the counter on the top-right corner of the active slide */\n showCounter?: boolean;\n /** Whether to show the back/forwards buttons over the active slide */\n showSlideControls?: boolean;\n /** Whether to enable the fullscreen toggle button */\n showFullscreen?: boolean;\n /** Whether to hide the thumbnails. Hidden by default in \"xs\" mode */\n hideThumbnails?: boolean;\n /** Controls position. */\n controlsPosition?: \"top\" | \"bottom\";\n /** Thumbnails position. */\n thumbnailsPosition?: \"top\" | \"bottom\";\n /** Carousel configuration options. @see https://www.embla-carousel.com/api/options/ */\n carouselOptions?: Parameters<typeof useCarousel>[0];\n /** Function that renders the thumbnail. */\n renderThumbnail?: (index: number) => React.ReactNode;\n /** The callback fired when the active slide changes. */\n onChange?: (index: number) => void;\n /** The callback fired fullscreen is toggled. */\n onFullscreen?: (\n event: React.MouseEvent<HTMLButtonElement>,\n isFullscreen: boolean,\n ) => void;\n /** Labels used on the component. */\n labels?: Partial<typeof DEFAULT_LABELS>;\n}\n\n/**\n * A Carousel is commonly used to browse images, it can also be used to browse any kind of content like text, video, or charts.\n * It allows you to focus on a particular content while having a notion of how many you have to explore.\n */\nexport const HvCarousel = (props: HvCarouselProps) => {\n const {\n className,\n classes: classesProp,\n height: heightProp = \"auto\",\n thumbnailWidth = 90,\n title,\n children,\n actions: actionsProp,\n xs,\n showDots: showDotsProp,\n showCounter: showCounterProp,\n showSlideControls,\n showFullscreen: showFullscreenProp,\n hideThumbnails: hideThumbnailsProp,\n controlsPosition: controlsPositionProp,\n thumbnailsPosition: thumbnailsPositionProp,\n labels: labelsProps,\n carouselOptions,\n renderThumbnail,\n onChange,\n onFullscreen,\n ...others\n } = useDefaultProps(\"HvCarousel\", props);\n const { activeTheme } = useTheme();\n const { classes, css, cx } = useClasses(classesProp);\n const labels = useLabels(DEFAULT_LABELS, labelsProps);\n const thumbnailsRef = useRef<HTMLDivElement>(null);\n const [isFullscreen, setIsFullscreen] = useState(false);\n\n const isDs3 = activeTheme?.name === \"ds3\";\n const actionsPosition = isDs3 ? \"header\" : \"controls\";\n const controlsPosition = controlsPositionProp ?? (isDs3 ? \"bottom\" : \"top\");\n const thumbnailsPosition = thumbnailsPositionProp ?? \"bottom\";\n\n const [containerRef, controller] = useCarousel({\n align: \"start\",\n loop: true,\n ...carouselOptions,\n });\n\n const [selectedIndex, setSelectedIndex] = useState(\n carouselOptions?.startIndex ?? 0,\n );\n\n const numSlides = Children.count(children);\n\n const handlePrevious = useCallback(() => {\n controller?.scrollPrev();\n }, [controller]);\n\n const handleNext = useCallback(() => {\n controller?.scrollNext();\n }, [controller]);\n\n const handleScroll = (index: number) => {\n controller?.scrollTo(index);\n };\n\n const handleSelect = useCallback(() => {\n if (!controller) return;\n\n const slideIndex = controller.selectedScrollSnap();\n setSelectedIndex(slideIndex);\n\n // scroll to thumbnail button\n thumbnailsRef.current\n ?.querySelectorAll(\"button\")\n ?.[slideIndex]?.scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n });\n\n onChange?.(slideIndex);\n }, [controller, onChange]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.on(\"select\", handleSelect);\n\n return () => {\n controller.off(\"select\", handleSelect);\n };\n }, [controller, handleSelect]);\n\n useEffect(() => {\n if (!controller) return;\n\n controller.reInit();\n setSelectedIndex((currentIndex) => clamp(currentIndex, numSlides));\n }, [numSlides, controller]);\n\n const handleFullscreen: HvIconButtonProps[\"onClick\"] = (event) => {\n onFullscreen?.(event, !isFullscreen);\n setIsFullscreen((curr) => !curr);\n };\n\n const canPrev = controller?.canScrollPrev() ?? false;\n const canNext = controller?.canScrollNext() ?? false;\n const showTitle = !!title && (!xs || isFullscreen);\n const showFullscreen = showFullscreenProp ?? xs;\n const height = isFullscreen ? \"100%\" : (heightProp ?? \"auto\");\n const showCounter = xs;\n const hideThumbnails = hideThumbnailsProp ?? (xs && !isFullscreen);\n const showThumbnails = !hideThumbnails && !!renderThumbnail;\n const showDots = showDotsProp ?? numSlides <= 5;\n\n const actions = (\n <div\n className={cx(\n classes.actions,\n actionsPosition === \"header\"\n ? css({ position: \"relative\", top: -40, height: 0 })\n : css({ position: \"absolute\" }),\n )}\n >\n {actionsProp}\n {showFullscreen && (\n <HvIconButton\n title={isFullscreen ? labels.close : labels.fullscreen}\n onClick={handleFullscreen}\n className={classes.closeButton}\n >\n {isFullscreen ? <Close /> : <Fullscreen />}\n </HvIconButton>\n )}\n </div>\n );\n\n const controls = (\n <HvCarouselControls\n classes={classes}\n showDots={showDots}\n page={selectedIndex}\n pages={numSlides}\n canPrevious={canPrev}\n canNext={canNext}\n onPreviousClick={handlePrevious}\n onNextClick={handleNext}\n actions={actionsPosition === \"controls\" && actions}\n labels={{\n backwards: labels.backwards,\n forwards: labels.forwards,\n }}\n />\n );\n\n const thumbnails = showThumbnails && (\n <HvCarouselThumbnails\n classes={classes}\n ref={thumbnailsRef}\n page={selectedIndex}\n pages={numSlides}\n width={thumbnailWidth}\n onThumbnailClick={(evt, i) => handleScroll(i)}\n renderThumbnail={renderThumbnail}\n />\n );\n\n return (\n <HvContainer\n className={cx(classes.root, className, {\n [classes.xs]: xs,\n [classes.fullscreen]: isFullscreen,\n })}\n {...others}\n >\n {showTitle && (\n <HvTypography variant=\"title2\" className={classes.title}>\n {title}\n </HvTypography>\n )}\n\n {actionsPosition === \"header\" && actions}\n {thumbnailsPosition === \"top\" && thumbnails}\n {controlsPosition === \"top\" && controls}\n <div\n className={cx(classes.main, {\n [classes.mainXs]: xs,\n [classes.mainFullscreen]: isFullscreen,\n })}\n >\n {showCounter && (\n <div className={classes.counterContainer}>\n <span className={classes.counter}>\n {`${selectedIndex + 1}/${numSlides}`}\n </span>\n </div>\n )}\n\n {showSlideControls && (\n <div className={classes.slideControls}>\n <HvButton\n icon\n disabled={!canPrev}\n variant=\"secondarySubtle\"\n aria-label={labels.backwards}\n onClick={handlePrevious}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n <HvButton\n icon\n disabled={!canNext}\n variant=\"secondarySubtle\"\n aria-label={labels.forwards}\n onClick={handleNext}\n >\n <Forwards iconSize=\"XS\" />\n </HvButton>\n </div>\n )}\n\n <div\n ref={containerRef}\n style={{ height }}\n className={classes.slidesViewport}\n >\n <div className={classes.slidesContainer}>{children}</div>\n </div>\n </div>\n {controlsPosition === \"bottom\" && controls}\n {thumbnailsPosition === \"bottom\" && thumbnails}\n </HvContainer>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -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("HvCarousel", {
4
4
  /** Styles applied to the component root class. */
5
5
  root: {
@@ -1,8 +1,13 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { Backwards, Forwards } from "@hitachivantara/uikit-react-icons";
3
3
  import { useDefaultProps } from "../hooks/useDefaultProps.js";
4
+ import { useLabels } from "../hooks/useLabels.js";
4
5
  import { useClasses } from "./Carousel.styles.js";
5
6
  import { HvButton } from "../Button/Button.js";
7
+ const DEFAULT_LABELS = {
8
+ backwards: "Backwards",
9
+ forwards: "Forwards"
10
+ };
6
11
  const HvCarouselControls = (props) => {
7
12
  const {
8
13
  classes: classesProp,
@@ -13,10 +18,12 @@ const HvCarouselControls = (props) => {
13
18
  canPrevious,
14
19
  canNext,
15
20
  actions,
21
+ labels: labelsProps,
16
22
  onPreviousClick,
17
23
  onNextClick
18
24
  } = useDefaultProps("HvCarouselControls", props);
19
25
  const { classes, cx } = useClasses(classesProp, false);
26
+ const labels = useLabels(DEFAULT_LABELS, labelsProps);
20
27
  const selectedIndex = page || 0;
21
28
  const numSlides = pages;
22
29
  return /* @__PURE__ */ jsxs("div", { className: cx(classes.controls, className), children: [
@@ -34,7 +41,7 @@ const HvCarouselControls = (props) => {
34
41
  {
35
42
  icon: true,
36
43
  disabled: !canPrevious,
37
- "aria-label": "Backwards",
44
+ "aria-label": labels.backwards,
38
45
  onClick: onPreviousClick,
39
46
  children: /* @__PURE__ */ jsx(Backwards, { iconSize: "XS" })
40
47
  }
@@ -45,7 +52,7 @@ const HvCarouselControls = (props) => {
45
52
  {
46
53
  icon: true,
47
54
  disabled: !canNext,
48
- "aria-label": "Forwards",
55
+ "aria-label": labels.forwards,
49
56
  onClick: onNextClick,
50
57
  children: /* @__PURE__ */ jsx(Forwards, { iconSize: "XS" })
51
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CarouselControls.js","sources":["../../../src/Carousel/CarouselControls.tsx"],"sourcesContent":["import { Backwards, Forwards } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvButton } from \"../Button\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { HvPaginationProps } from \"../Pagination\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { useClasses } from \"./Carousel.styles\";\n\ninterface HvCarouselControlsProps\n extends HvBaseProps<HTMLDivElement>,\n Pick<HvPaginationProps, \"page\" | \"pages\" | \"canPrevious\" | \"canNext\"> {\n showDots?: boolean;\n classes?: ExtractNames<typeof useClasses>;\n actions?: React.ReactNode;\n onPreviousClick?: React.MouseEventHandler<HTMLButtonElement>;\n onNextClick?: React.MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const HvCarouselControls = (props: HvCarouselControlsProps) => {\n const {\n classes: classesProp,\n className,\n showDots,\n page,\n pages,\n canPrevious,\n canNext,\n actions,\n onPreviousClick,\n onNextClick,\n } = useDefaultProps(\"HvCarouselControls\", props);\n const { classes, cx } = useClasses(classesProp, false);\n\n const selectedIndex = page || 0;\n const numSlides = pages;\n\n return (\n <div className={cx(classes.controls, className)}>\n {showDots ? (\n <div className={classes.dots}>\n {Array.from(Array(numSlides)).map((el, index) => (\n <span\n key={`circle-${index}`}\n className={cx(classes.dot, {\n [classes.dotSelected]: index === selectedIndex,\n })}\n />\n ))}\n </div>\n ) : (\n <>\n <HvButton\n icon\n disabled={!canPrevious}\n aria-label=\"Backwards\"\n onClick={onPreviousClick}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n <div className={classes.pageCounter}>\n {`${selectedIndex + 1} / ${numSlides}`}\n </div>\n <HvButton\n icon\n disabled={!canNext}\n aria-label=\"Forwards\"\n onClick={onNextClick}\n >\n <Forwards iconSize=\"XS\" />\n </HvButton>\n </>\n )}\n {actions}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;AAmBa,MAAA,qBAAqB,CAAC,UAAmC;AAC9D,QAAA;AAAA,IACJ,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE,gBAAgB,sBAAsB,KAAK;AAC/C,QAAM,EAAE,SAAS,GAAA,IAAO,WAAW,aAAa,KAAK;AAErD,QAAM,gBAAgB,QAAQ;AAC9B,QAAM,YAAY;AAElB,8BACG,OAAI,EAAA,WAAW,GAAG,QAAQ,UAAU,SAAS,GAC3C,UAAA;AAAA,IAAA,WACE,oBAAA,OAAA,EAAI,WAAW,QAAQ,MACrB,UAAM,MAAA,KAAK,MAAM,SAAS,CAAC,EAAE,IAAI,CAAC,IAAI,UACrC;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,WAAW,GAAG,QAAQ,KAAK;AAAA,UACzB,CAAC,QAAQ,WAAW,GAAG,UAAU;AAAA,QAAA,CAClC;AAAA,MAAA;AAAA,MAHI,UAAU,KAAK;AAAA,IAKvB,CAAA,EACH,CAAA,IAGE,qBAAA,UAAA,EAAA,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAI;AAAA,UACJ,UAAU,CAAC;AAAA,UACX,cAAW;AAAA,UACX,SAAS;AAAA,UAET,UAAA,oBAAC,WAAU,EAAA,UAAS,KAAK,CAAA;AAAA,QAAA;AAAA,MAC3B;AAAA,MACA,oBAAC,OAAI,EAAA,WAAW,QAAQ,aACrB,aAAG,gBAAgB,CAAC,MAAM,SAAS,GACtC,CAAA;AAAA,MACA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAI;AAAA,UACJ,UAAU,CAAC;AAAA,UACX,cAAW;AAAA,UACX,SAAS;AAAA,UAET,UAAA,oBAAC,UAAS,EAAA,UAAS,KAAK,CAAA;AAAA,QAAA;AAAA,MAC1B;AAAA,IAAA,GACF;AAAA,IAED;AAAA,EACH,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"CarouselControls.js","sources":["../../../src/Carousel/CarouselControls.tsx"],"sourcesContent":["import { Backwards, Forwards } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvButton } from \"../Button\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useLabels } from \"../hooks/useLabels\";\nimport { HvPaginationProps } from \"../Pagination\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { useClasses } from \"./Carousel.styles\";\n\nconst DEFAULT_LABELS = {\n backwards: \"Backwards\",\n forwards: \"Forwards\",\n};\n\ninterface HvCarouselControlsProps\n extends HvBaseProps<HTMLDivElement>,\n Pick<HvPaginationProps, \"page\" | \"pages\" | \"canPrevious\" | \"canNext\"> {\n showDots?: boolean;\n classes?: ExtractNames<typeof useClasses>;\n actions?: React.ReactNode;\n onPreviousClick?: React.MouseEventHandler<HTMLButtonElement>;\n onNextClick?: React.MouseEventHandler<HTMLButtonElement>;\n /** Labels used on the component. */\n labels?: Partial<typeof DEFAULT_LABELS>;\n}\n\nexport const HvCarouselControls = (props: HvCarouselControlsProps) => {\n const {\n classes: classesProp,\n className,\n showDots,\n page,\n pages,\n canPrevious,\n canNext,\n actions,\n labels: labelsProps,\n onPreviousClick,\n onNextClick,\n } = useDefaultProps(\"HvCarouselControls\", props);\n const { classes, cx } = useClasses(classesProp, false);\n\n const labels = useLabels(DEFAULT_LABELS, labelsProps);\n\n const selectedIndex = page || 0;\n const numSlides = pages;\n\n return (\n <div className={cx(classes.controls, className)}>\n {showDots ? (\n <div className={classes.dots}>\n {Array.from(Array(numSlides)).map((el, index) => (\n <span\n key={`circle-${index}`}\n className={cx(classes.dot, {\n [classes.dotSelected]: index === selectedIndex,\n })}\n />\n ))}\n </div>\n ) : (\n <>\n <HvButton\n icon\n disabled={!canPrevious}\n aria-label={labels.backwards}\n onClick={onPreviousClick}\n >\n <Backwards iconSize=\"XS\" />\n </HvButton>\n <div className={classes.pageCounter}>\n {`${selectedIndex + 1} / ${numSlides}`}\n </div>\n <HvButton\n icon\n disabled={!canNext}\n aria-label={labels.forwards}\n onClick={onNextClick}\n >\n <Forwards iconSize=\"XS\" />\n </HvButton>\n </>\n )}\n {actions}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;AAUA,MAAM,iBAAiB;AAAA,EACrB,WAAW;AAAA,EACX,UAAU;AACZ;AAca,MAAA,qBAAqB,CAAC,UAAmC;AAC9D,QAAA;AAAA,IACJ,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,EAAA,IACE,gBAAgB,sBAAsB,KAAK;AAC/C,QAAM,EAAE,SAAS,GAAA,IAAO,WAAW,aAAa,KAAK;AAE/C,QAAA,SAAS,UAAU,gBAAgB,WAAW;AAEpD,QAAM,gBAAgB,QAAQ;AAC9B,QAAM,YAAY;AAElB,8BACG,OAAI,EAAA,WAAW,GAAG,QAAQ,UAAU,SAAS,GAC3C,UAAA;AAAA,IAAA,WACE,oBAAA,OAAA,EAAI,WAAW,QAAQ,MACrB,UAAM,MAAA,KAAK,MAAM,SAAS,CAAC,EAAE,IAAI,CAAC,IAAI,UACrC;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,WAAW,GAAG,QAAQ,KAAK;AAAA,UACzB,CAAC,QAAQ,WAAW,GAAG,UAAU;AAAA,QAAA,CAClC;AAAA,MAAA;AAAA,MAHI,UAAU,KAAK;AAAA,IAKvB,CAAA,EACH,CAAA,IAGE,qBAAA,UAAA,EAAA,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAI;AAAA,UACJ,UAAU,CAAC;AAAA,UACX,cAAY,OAAO;AAAA,UACnB,SAAS;AAAA,UAET,UAAA,oBAAC,WAAU,EAAA,UAAS,KAAK,CAAA;AAAA,QAAA;AAAA,MAC3B;AAAA,MACA,oBAAC,OAAI,EAAA,WAAW,QAAQ,aACrB,aAAG,gBAAgB,CAAC,MAAM,SAAS,GACtC,CAAA;AAAA,MACA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAI;AAAA,UACJ,UAAU,CAAC;AAAA,UACX,cAAY,OAAO;AAAA,UACnB,SAAS;AAAA,UAET,UAAA,oBAAC,UAAS,EAAA,UAAS,KAAK,CAAA;AAAA,QAAA;AAAA,MAC1B;AAAA,IAAA,GACF;AAAA,IAED;AAAA,EACH,EAAA,CAAA;AAEJ;"}
@@ -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("HvCarouselSlide", {
3
3
  slide: {},
4
4
  image: {
@@ -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("HvCheckBox", {
5
5
  root: { display: "inline-block" },
6
6
  container: {
@@ -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("HvCheckBoxGroup", {
4
4
  root: {
5
5
  display: "inline-block",
@@ -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("HvColorPicker", {
3
3
  root: {},
4
4
  labelContainer: {
@@ -1,4 +1,4 @@
1
- import { createClasses } from "../../utils/classes.js";
1
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
2
2
  const name = "HvColorPicker-Fields";
3
3
  const { staticClasses, useClasses } = createClasses(name, {
4
4
  fields: {
@@ -2,8 +2,8 @@ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import { useCallback } from "react";
3
3
  import { CustomPicker } from "react-color";
4
4
  import { Saturation, Hue } from "react-color/lib/components/common";
5
+ import { useTheme } from "@hitachivantara/uikit-react-shared";
5
6
  import { useDefaultProps } from "../../hooks/useDefaultProps.js";
6
- import { useTheme } from "../../hooks/useTheme.js";
7
7
  import { useClasses } from "./Picker.styles.js";
8
8
  import { staticClasses } from "./Picker.styles.js";
9
9
  import { Fields } from "../Fields/Fields.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Picker.js","sources":["../../../../src/ColorPicker/Picker/Picker.tsx"],"sourcesContent":["import { useCallback } from \"react\";\nimport {\n CustomPicker,\n CustomPickerInjectedProps,\n HSLColor,\n HSVColor,\n RGBColor,\n} from \"react-color\";\nimport { Hue, Saturation } from \"react-color/lib/components/common\";\n\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { useTheme } from \"../../hooks/useTheme\";\nimport { HvTypography } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { Fields } from \"../Fields\";\nimport { staticClasses, useClasses } from \"./Picker.styles\";\n\nexport { staticClasses as colorPickerPickerClasses };\n\nexport type HvColorPickerPickerClasses = ExtractNames<typeof useClasses>;\n\ninterface PickerProps\n extends CustomPickerInjectedProps<\n | HSLColor\n | HSVColor\n | RGBColor\n | {\n source?: string;\n hex?: string;\n }\n > {\n classes?: HvColorPickerPickerClasses;\n title?: string;\n}\n\nconst Component = (props: PickerProps) => {\n const {\n onChange,\n rgb,\n hsl,\n hsv,\n hex,\n title,\n classes: classesProp,\n } = useDefaultProps(\"HvColorPickerPicker\", props);\n const { activeTheme } = useTheme();\n const { classes } = useClasses(classesProp);\n\n const SaturationPointer = useCallback(\n () => <div className={classes?.saturationPointer} />,\n [classes?.saturationPointer],\n );\n\n const HueSlider = useCallback(\n () => <div className={classes?.hueSlider} />,\n [classes?.hueSlider],\n );\n\n return (\n <>\n {title && (\n <HvTypography className={classes.title} variant=\"caption1\">\n {title}\n </HvTypography>\n )}\n <div className={classes.pickers}>\n <div className={classes.saturation}>\n <Saturation\n hsl={hsl}\n hsv={hsv}\n onChange={onChange}\n pointer={SaturationPointer}\n />\n </div>\n <div className={classes.hue}>\n <Hue\n direction={activeTheme?.colorPicker.hueDirection}\n hsl={hsl}\n onChange={onChange}\n pointer={HueSlider}\n />\n </div>\n </div>\n <Fields\n className={classes.fields}\n rgb={rgb}\n hex={hex}\n onChange={onChange}\n />\n </>\n );\n};\n\nexport const Picker = CustomPicker(Component);\n"],"names":[],"mappings":";;;;;;;;;;AAmCA,MAAM,YAAY,CAAC,UAAuB;AAClC,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,EAAA,IACP,gBAAgB,uBAAuB,KAAK;AAC1C,QAAA,EAAE,gBAAgB;AACxB,QAAM,EAAE,QAAA,IAAY,WAAW,WAAW;AAE1C,QAAM,oBAAoB;AAAA,IACxB,MAAM,oBAAC,OAAI,EAAA,WAAW,SAAS,kBAAmB,CAAA;AAAA,IAClD,CAAC,SAAS,iBAAiB;AAAA,EAAA;AAG7B,QAAM,YAAY;AAAA,IAChB,MAAM,oBAAC,OAAI,EAAA,WAAW,SAAS,UAAW,CAAA;AAAA,IAC1C,CAAC,SAAS,SAAS;AAAA,EAAA;AAGrB,SAEK,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,6BACE,cAAa,EAAA,WAAW,QAAQ,OAAO,SAAQ,YAC7C,UACH,MAAA,CAAA;AAAA,IAED,qBAAA,OAAA,EAAI,WAAW,QAAQ,SACtB,UAAA;AAAA,MAAC,oBAAA,OAAA,EAAI,WAAW,QAAQ,YACtB,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS;AAAA,QAAA;AAAA,MAAA,GAEb;AAAA,MACC,oBAAA,OAAA,EAAI,WAAW,QAAQ,KACtB,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,aAAa,YAAY;AAAA,UACpC;AAAA,UACA;AAAA,UACA,SAAS;AAAA,QAAA;AAAA,MAAA,GAEb;AAAA,IAAA,GACF;AAAA,IACA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,QAAQ;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AAEJ;AAEa,MAAA,SAAS,aAAa,SAAS;"}
1
+ {"version":3,"file":"Picker.js","sources":["../../../../src/ColorPicker/Picker/Picker.tsx"],"sourcesContent":["import { useCallback } from \"react\";\nimport {\n CustomPicker,\n CustomPickerInjectedProps,\n HSLColor,\n HSVColor,\n RGBColor,\n} from \"react-color\";\nimport { Hue, Saturation } from \"react-color/lib/components/common\";\nimport { useTheme } from \"@hitachivantara/uikit-react-shared\";\n\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { HvTypography } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { Fields } from \"../Fields\";\nimport { staticClasses, useClasses } from \"./Picker.styles\";\n\nexport { staticClasses as colorPickerPickerClasses };\n\nexport type HvColorPickerPickerClasses = ExtractNames<typeof useClasses>;\n\ninterface PickerProps\n extends CustomPickerInjectedProps<\n | HSLColor\n | HSVColor\n | RGBColor\n | {\n source?: string;\n hex?: string;\n }\n > {\n classes?: HvColorPickerPickerClasses;\n title?: string;\n}\n\nconst Component = (props: PickerProps) => {\n const {\n onChange,\n rgb,\n hsl,\n hsv,\n hex,\n title,\n classes: classesProp,\n } = useDefaultProps(\"HvColorPickerPicker\", props);\n const { activeTheme } = useTheme();\n const { classes } = useClasses(classesProp);\n\n const SaturationPointer = useCallback(\n () => <div className={classes?.saturationPointer} />,\n [classes?.saturationPointer],\n );\n\n const HueSlider = useCallback(\n () => <div className={classes?.hueSlider} />,\n [classes?.hueSlider],\n );\n\n return (\n <>\n {title && (\n <HvTypography className={classes.title} variant=\"caption1\">\n {title}\n </HvTypography>\n )}\n <div className={classes.pickers}>\n <div className={classes.saturation}>\n <Saturation\n hsl={hsl}\n hsv={hsv}\n onChange={onChange}\n pointer={SaturationPointer}\n />\n </div>\n <div className={classes.hue}>\n <Hue\n direction={activeTheme?.colorPicker.hueDirection}\n hsl={hsl}\n onChange={onChange}\n pointer={HueSlider}\n />\n </div>\n </div>\n <Fields\n className={classes.fields}\n rgb={rgb}\n hex={hex}\n onChange={onChange}\n />\n </>\n );\n};\n\nexport const Picker = CustomPicker(Component);\n"],"names":[],"mappings":";;;;;;;;;;AAmCA,MAAM,YAAY,CAAC,UAAuB;AAClC,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,EAAA,IACP,gBAAgB,uBAAuB,KAAK;AAC1C,QAAA,EAAE,gBAAgB;AACxB,QAAM,EAAE,QAAA,IAAY,WAAW,WAAW;AAE1C,QAAM,oBAAoB;AAAA,IACxB,MAAM,oBAAC,OAAI,EAAA,WAAW,SAAS,kBAAmB,CAAA;AAAA,IAClD,CAAC,SAAS,iBAAiB;AAAA,EAAA;AAG7B,QAAM,YAAY;AAAA,IAChB,MAAM,oBAAC,OAAI,EAAA,WAAW,SAAS,UAAW,CAAA;AAAA,IAC1C,CAAC,SAAS,SAAS;AAAA,EAAA;AAGrB,SAEK,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,6BACE,cAAa,EAAA,WAAW,QAAQ,OAAO,SAAQ,YAC7C,UACH,MAAA,CAAA;AAAA,IAED,qBAAA,OAAA,EAAI,WAAW,QAAQ,SACtB,UAAA;AAAA,MAAC,oBAAA,OAAA,EAAI,WAAW,QAAQ,YACtB,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS;AAAA,QAAA;AAAA,MAAA,GAEb;AAAA,MACC,oBAAA,OAAA,EAAI,WAAW,QAAQ,KACtB,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,aAAa,YAAY;AAAA,UACpC;AAAA,UACA;AAAA,UACA,SAAS;AAAA,QAAA;AAAA,MAAA,GAEb;AAAA,IAAA,GACF;AAAA,IACA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,QAAQ;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,EACF,EAAA,CAAA;AAEJ;AAEa,MAAA,SAAS,aAAa,SAAS;"}
@@ -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 = "HvColorPicker-Picker";
4
4
  const { staticClasses, useClasses } = createClasses(name, {
5
5
  pickers: {
@@ -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 = "HvColorPicker-PresetColors";
4
4
  const { staticClasses, useClasses } = createClasses(name, {
5
5
  root: { width: "232px" },
@@ -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 = "HvColorPicker-SavedColors";
4
4
  const { staticClasses, useClasses } = createClasses(name, {
5
5
  addButton: {
@@ -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("HvContainer", {
3
3
  root: {},
4
4
  disableGutters: {},
@@ -1 +1 @@
1
- {"version":3,"file":"Controls.js","sources":["../../../src/Controls/Controls.tsx"],"sourcesContent":["import { Children } from \"react\";\n\nimport { HvButton } from \"../Button\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { HvMultiButton } from \"../MultiButton\";\nimport { HvTableInstance } from \"../Table/hooks/useTable\";\nimport { HvBaseProps, HvExtraProps } from \"../types/generic\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport { HvControlsContextProvider } from \"./context/ControlsContext\";\nimport { staticClasses, useClasses } from \"./Controls.styles\";\n\nexport { staticClasses as controlsClasses };\n\nexport type HvControlsClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvControlsViewConfiguration extends HvExtraProps {\n id?: string;\n label?: string;\n icon?: React.ReactNode;\n}\n\nexport interface HvControlsProps extends HvBaseProps {\n /**\n * An instance of useHvTable or useTable used to manage the data\n * if this is not provided data sorting and search must be handled externally\n */\n callbacks?: {\n setSortBy?: HvTableInstance[\"setSortBy\"];\n setGlobalFilter?: HvTableInstance[\"setGlobalFilter\"];\n };\n /**\n * Views configuration required for the view buttons\n */\n views?: HvControlsViewConfiguration[];\n /**\n * What view is selected by default\n */\n defaultView?: string;\n /**\n * Sets the selected view to be the one specified\n * if specified the component is in a controlled state and it won't change it state\n * unless specified externally\n */\n selectedView?: string;\n /**\n * Callback called when the view switcher button is pressed\n */\n onViewChange?: (\n event: React.MouseEvent<HTMLButtonElement>,\n id: string,\n ) => void;\n /**\n * if `true` the button to switch views is not rendered\n */\n hideViewSwitcher?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvControlsClasses;\n}\n\nexport const HvControls = (props: HvControlsProps) => {\n const {\n id,\n className,\n classes: classesProp,\n views,\n callbacks,\n selectedView,\n defaultView,\n children,\n hideViewSwitcher = false,\n onViewChange,\n } = useDefaultProps(\"HvControls\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const [currentView, setCurrentView] = useControlled(\n selectedView,\n defaultView,\n );\n\n const onViewChangeHandler = (\n evt: React.MouseEvent<HTMLButtonElement>,\n btnId: any,\n ) => {\n setCurrentView(btnId);\n onViewChange?.(evt, btnId);\n };\n\n const onSearchHandler = (value: any) => callbacks?.setGlobalFilter?.(value);\n const onSortHandler = (value: any) =>\n callbacks?.setSortBy?.([\n {\n id: value?.accessor,\n desc: value?.desc,\n },\n ]);\n\n const childrenCount = Children.count(children);\n const childrenArray = Children.toArray(children);\n\n const childrenIndexCut =\n childrenCount > 0 ? Math.round(childrenCount * 0.5) : 0;\n const leftChildren = childrenArray.slice(0, childrenIndexCut);\n const rightChildren = childrenArray.slice(\n childrenIndexCut,\n childrenCount || 0,\n );\n\n return (\n <div id={id} className={cx(classes.root, className)}>\n <HvControlsContextProvider\n value={{\n onSearch: onSearchHandler,\n onSort: onSortHandler,\n }}\n >\n <div className={cx(classes.section, classes.leftSection)}>\n {leftChildren}\n </div>\n <div className={cx(classes.section, classes.rightSection)}>\n {rightChildren}\n {views && !hideViewSwitcher && views?.length > 0 && (\n <HvMultiButton id={setId(id, \"view-multi-button\")}>\n {views.map(({ id: btnId, icon, ...others }) => (\n <HvButton\n id={btnId}\n key={btnId}\n icon\n selected={currentView === btnId}\n onClick={(evt) => onViewChangeHandler(evt, btnId)}\n {...others}\n >\n {icon}\n </HvButton>\n ))}\n </HvMultiButton>\n )}\n </div>\n </HvControlsContextProvider>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;AA6Da,MAAA,aAAa,CAAC,UAA2B;AAC9C,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,IACnB;AAAA,EAAA,IACE,gBAAgB,cAAc,KAAK;AAEvC,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAExC,QAAA,CAAC,aAAa,cAAc,IAAI;AAAA,IACpC;AAAA,IACA;AAAA,EAAA;AAGI,QAAA,sBAAsB,CAC1B,KACA,UACG;AACH,mBAAe,KAAK;AACpB,mBAAe,KAAK,KAAK;AAAA,EAAA;AAG3B,QAAM,kBAAkB,CAAC,UAAe,WAAW,kBAAkB,KAAK;AAC1E,QAAM,gBAAgB,CAAC,UACrB,WAAW,YAAY;AAAA,IACrB;AAAA,MACE,IAAI,OAAO;AAAA,MACX,MAAM,OAAO;AAAA,IACf;AAAA,EAAA,CACD;AAEG,QAAA,gBAAgB,SAAS,MAAM,QAAQ;AACvC,QAAA,gBAAgB,SAAS,QAAQ,QAAQ;AAE/C,QAAM,mBACJ,gBAAgB,IAAI,KAAK,MAAM,gBAAgB,GAAG,IAAI;AACxD,QAAM,eAAe,cAAc,MAAM,GAAG,gBAAgB;AAC5D,QAAM,gBAAgB,cAAc;AAAA,IAClC;AAAA,IACA,iBAAiB;AAAA,EAAA;AAIjB,SAAA,oBAAC,SAAI,IAAQ,WAAW,GAAG,QAAQ,MAAM,SAAS,GAChD,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MAEA,UAAA;AAAA,QAAC,oBAAA,OAAA,EAAI,WAAW,GAAG,QAAQ,SAAS,QAAQ,WAAW,GACpD,UACH,aAAA,CAAA;AAAA,QACA,qBAAC,SAAI,WAAW,GAAG,QAAQ,SAAS,QAAQ,YAAY,GACrD,UAAA;AAAA,UAAA;AAAA,UACA,SAAS,CAAC,oBAAoB,OAAO,SAAS,KAC7C,oBAAC,eAAc,EAAA,IAAI,MAAM,IAAI,mBAAmB,GAC7C,UAAA,MAAM,IAAI,CAAC,EAAE,IAAI,OAAO,MAAM,GAAG,OAAA,MAChC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cAEJ,MAAI;AAAA,cACJ,UAAU,gBAAgB;AAAA,cAC1B,SAAS,CAAC,QAAQ,oBAAoB,KAAK,KAAK;AAAA,cAC/C,GAAG;AAAA,cAEH,UAAA;AAAA,YAAA;AAAA,YANI;AAAA,UAQR,CAAA,GACH;AAAA,QAAA,GAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"Controls.js","sources":["../../../src/Controls/Controls.tsx"],"sourcesContent":["import { Children } from \"react\";\n\nimport { HvButton } from \"../Button\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { HvMultiButton } from \"../MultiButton\";\nimport { HvTableInstance } from \"../Table/hooks/useTable\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport { HvControlsContextProvider } from \"./context/ControlsContext\";\nimport { staticClasses, useClasses } from \"./Controls.styles\";\n\nexport { staticClasses as controlsClasses };\n\nexport type HvControlsClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvControlsViewConfiguration extends Record<string, any> {\n id?: string;\n label?: string;\n icon?: React.ReactNode;\n}\n\nexport interface HvControlsProps extends HvBaseProps {\n /**\n * An instance of useHvTable or useTable used to manage the data\n * if this is not provided data sorting and search must be handled externally\n */\n callbacks?: {\n setSortBy?: HvTableInstance[\"setSortBy\"];\n setGlobalFilter?: HvTableInstance[\"setGlobalFilter\"];\n };\n /**\n * Views configuration required for the view buttons\n */\n views?: HvControlsViewConfiguration[];\n /**\n * What view is selected by default\n */\n defaultView?: string;\n /**\n * Sets the selected view to be the one specified\n * if specified the component is in a controlled state and it won't change it state\n * unless specified externally\n */\n selectedView?: string;\n /**\n * Callback called when the view switcher button is pressed\n */\n onViewChange?: (\n event: React.MouseEvent<HTMLButtonElement>,\n id: string,\n ) => void;\n /**\n * if `true` the button to switch views is not rendered\n */\n hideViewSwitcher?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvControlsClasses;\n}\n\nexport const HvControls = (props: HvControlsProps) => {\n const {\n id,\n className,\n classes: classesProp,\n views,\n callbacks,\n selectedView,\n defaultView,\n children,\n hideViewSwitcher = false,\n onViewChange,\n } = useDefaultProps(\"HvControls\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const [currentView, setCurrentView] = useControlled(\n selectedView,\n defaultView,\n );\n\n const onViewChangeHandler = (\n evt: React.MouseEvent<HTMLButtonElement>,\n btnId: any,\n ) => {\n setCurrentView(btnId);\n onViewChange?.(evt, btnId);\n };\n\n const onSearchHandler = (value: any) => callbacks?.setGlobalFilter?.(value);\n const onSortHandler = (value: any) =>\n callbacks?.setSortBy?.([\n {\n id: value?.accessor,\n desc: value?.desc,\n },\n ]);\n\n const childrenCount = Children.count(children);\n const childrenArray = Children.toArray(children);\n\n const childrenIndexCut =\n childrenCount > 0 ? Math.round(childrenCount * 0.5) : 0;\n const leftChildren = childrenArray.slice(0, childrenIndexCut);\n const rightChildren = childrenArray.slice(\n childrenIndexCut,\n childrenCount || 0,\n );\n\n return (\n <div id={id} className={cx(classes.root, className)}>\n <HvControlsContextProvider\n value={{\n onSearch: onSearchHandler,\n onSort: onSortHandler,\n }}\n >\n <div className={cx(classes.section, classes.leftSection)}>\n {leftChildren}\n </div>\n <div className={cx(classes.section, classes.rightSection)}>\n {rightChildren}\n {views && !hideViewSwitcher && views?.length > 0 && (\n <HvMultiButton id={setId(id, \"view-multi-button\")}>\n {views.map(({ id: btnId, icon, ...others }) => (\n <HvButton\n id={btnId}\n key={btnId}\n icon\n selected={currentView === btnId}\n onClick={(evt) => onViewChangeHandler(evt, btnId)}\n {...others}\n >\n {icon}\n </HvButton>\n ))}\n </HvMultiButton>\n )}\n </div>\n </HvControlsContextProvider>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;AA6Da,MAAA,aAAa,CAAC,UAA2B;AAC9C,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,mBAAmB;AAAA,IACnB;AAAA,EAAA,IACE,gBAAgB,cAAc,KAAK;AAEvC,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAExC,QAAA,CAAC,aAAa,cAAc,IAAI;AAAA,IACpC;AAAA,IACA;AAAA,EAAA;AAGI,QAAA,sBAAsB,CAC1B,KACA,UACG;AACH,mBAAe,KAAK;AACpB,mBAAe,KAAK,KAAK;AAAA,EAAA;AAG3B,QAAM,kBAAkB,CAAC,UAAe,WAAW,kBAAkB,KAAK;AAC1E,QAAM,gBAAgB,CAAC,UACrB,WAAW,YAAY;AAAA,IACrB;AAAA,MACE,IAAI,OAAO;AAAA,MACX,MAAM,OAAO;AAAA,IACf;AAAA,EAAA,CACD;AAEG,QAAA,gBAAgB,SAAS,MAAM,QAAQ;AACvC,QAAA,gBAAgB,SAAS,QAAQ,QAAQ;AAE/C,QAAM,mBACJ,gBAAgB,IAAI,KAAK,MAAM,gBAAgB,GAAG,IAAI;AACxD,QAAM,eAAe,cAAc,MAAM,GAAG,gBAAgB;AAC5D,QAAM,gBAAgB,cAAc;AAAA,IAClC;AAAA,IACA,iBAAiB;AAAA,EAAA;AAIjB,SAAA,oBAAC,SAAI,IAAQ,WAAW,GAAG,QAAQ,MAAM,SAAS,GAChD,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,QACL,UAAU;AAAA,QACV,QAAQ;AAAA,MACV;AAAA,MAEA,UAAA;AAAA,QAAC,oBAAA,OAAA,EAAI,WAAW,GAAG,QAAQ,SAAS,QAAQ,WAAW,GACpD,UACH,aAAA,CAAA;AAAA,QACA,qBAAC,SAAI,WAAW,GAAG,QAAQ,SAAS,QAAQ,YAAY,GACrD,UAAA;AAAA,UAAA;AAAA,UACA,SAAS,CAAC,oBAAoB,OAAO,SAAS,KAC7C,oBAAC,eAAc,EAAA,IAAI,MAAM,IAAI,mBAAmB,GAC7C,UAAA,MAAM,IAAI,CAAC,EAAE,IAAI,OAAO,MAAM,GAAG,OAAA,MAChC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAI;AAAA,cAEJ,MAAI;AAAA,cACJ,UAAU,gBAAgB;AAAA,cAC1B,SAAS,CAAC,QAAQ,oBAAoB,KAAK,KAAK;AAAA,cAC/C,GAAG;AAAA,cAEH,UAAA;AAAA,YAAA;AAAA,YANI;AAAA,UAQR,CAAA,GACH;AAAA,QAAA,GAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
@@ -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("HvControls", {
3
3
  root: {
4
4
  display: "inline-flex",
@@ -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("HvLeftControl", {
3
3
  root: { display: "inline-flex", gap: 10 }
4
4
  });
@@ -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("HvRightControl", {
3
3
  root: { display: "inline-flex", gap: 10 },
4
4
  sortDropdown: { minWidth: 200 }
@@ -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("HvDatePicker", {
4
4
  root: {
5
5
  position: "relative"
@@ -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("HvDialog-Action", {
4
4
  root: {
5
5
  margin: "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("HvDialog-Content", {
4
4
  root: {
5
5
  padding: `0 ${theme.space.sm} ${theme.space.sm} ${theme.space.sm}`,
@@ -2,8 +2,8 @@ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useCallback, useMemo } from "react";
3
3
  import MuiDialog from "@mui/material/Dialog";
4
4
  import { Close } 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
7
  import { getElementById } from "../utils/document.js";
8
8
  import { setId } from "../utils/setId.js";
9
9
  import { DialogContext } from "./context.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sources":["../../../src/Dialog/Dialog.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport MuiDialog, { DialogProps as MuiDialogProps } from \"@mui/material/Dialog\";\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useTheme } from \"../hooks/useTheme\";\nimport { HvIconButton } from \"../IconButton\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { getElementById } from \"../utils/document\";\nimport { setId } from \"../utils/setId\";\nimport { DialogContext } from \"./context\";\nimport { staticClasses, useClasses } from \"./Dialog.styles\";\n\nexport { staticClasses as dialogClasses };\n\nexport type HvDialogClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvDialogProps\n extends Omit<MuiDialogProps, \"fullScreen\" | \"classes\" | \"open\"> {\n /** Current state of the Dialog. */\n open?: boolean;\n /** Callback fired when the component requests to be closed. */\n onClose?: (\n event: React.MouseEvent<HTMLButtonElement> | {},\n reason?: \"escapeKeyDown\" | \"backdropClick\",\n ) => void;\n /** @inheritdoc */\n maxWidth?: MuiDialogProps[\"maxWidth\"];\n /** @inheritdoc */\n fullWidth?: MuiDialogProps[\"fullWidth\"];\n /**\n * Element id that should be focus when the Dialog opens.\n * Auto-focusing elements can cause usability issues, so this should be avoided.\n * @deprecated Use `autoFocus` on the element instead, if auto-focusing is required.\n */\n firstFocusable?: string;\n /** Title for the button close. */\n buttonTitle?: string;\n /** Set the dialog to fullscreen mode. */\n fullscreen?: boolean;\n /** Prevent closing the dialog when clicking on the backdrop. */\n disableBackdropClick?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvDialogClasses;\n /** Variant of the dialog. Adds a status bar to the top of the dialog. If not provided, no status bar is added. */\n variant?: \"success\" | \"error\" | \"warning\";\n /** @ignore */\n ref?: MuiDialogProps[\"ref\"];\n /** @ignore */\n component?: MuiDialogProps[\"component\"];\n}\n\nexport const HvDialog = (props: HvDialogProps) => {\n const {\n variant,\n classes: classesProp,\n className,\n id,\n children,\n open = false,\n onClose,\n firstFocusable,\n buttonTitle = \"Close\",\n fullscreen = false,\n disableBackdropClick = false,\n ...others\n } = useDefaultProps(\"HvDialog\", props);\n\n const { classes, css, cx } = useClasses(classesProp);\n const { rootId } = useTheme();\n\n const measuredRef = useCallback(() => {\n if (!firstFocusable) return;\n\n const element = document.getElementById(firstFocusable);\n element?.focus();\n }, [firstFocusable]);\n\n const contextValue = useMemo(() => ({ fullscreen }), [fullscreen]);\n\n return (\n <MuiDialog\n container={getElementById(rootId)}\n className={cx(classes.root, className)}\n classes={{ container: css({ position: \"relative\" }) }}\n id={id}\n ref={measuredRef}\n open={open}\n fullScreen={fullscreen}\n onClose={(event, reason) => {\n // `disableBackdropClick` property was removed in MUI5\n // and we want to maintain that functionality\n if (disableBackdropClick) return;\n\n onClose?.(event, reason);\n }}\n slotProps={{\n backdrop: {\n classes: {\n root: classes.background,\n },\n },\n }}\n PaperProps={{\n classes: {\n root: cx(\n css({ position: \"absolute\" }),\n classes.paper,\n variant && cx(classes.statusBar, classes[variant]),\n {\n [classes.fullscreen]: fullscreen,\n },\n ),\n },\n }}\n {...others}\n >\n <HvIconButton\n title={buttonTitle}\n id={setId(id, \"close\")}\n className={classes.closeButton}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) =>\n onClose?.(event, undefined)\n }\n >\n <Close />\n </HvIconButton>\n <DialogContext.Provider value={contextValue}>\n {children}\n </DialogContext.Provider>\n </MuiDialog>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAoDa,MAAA,WAAW,CAAC,UAAyB;AAC1C,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd,aAAa;AAAA,IACb,uBAAuB;AAAA,IACvB,GAAG;AAAA,EAAA,IACD,gBAAgB,YAAY,KAAK;AAErC,QAAM,EAAE,SAAS,KAAK,GAAG,IAAI,WAAW,WAAW;AAC7C,QAAA,EAAE,WAAW;AAEb,QAAA,cAAc,YAAY,MAAM;AACpC,QAAI,CAAC,eAAgB;AAEf,UAAA,UAAU,SAAS,eAAe,cAAc;AACtD,aAAS,MAAM;AAAA,EAAA,GACd,CAAC,cAAc,CAAC;AAEb,QAAA,eAAe,QAAQ,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC;AAG/D,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,eAAe,MAAM;AAAA,MAChC,WAAW,GAAG,QAAQ,MAAM,SAAS;AAAA,MACrC,SAAS,EAAE,WAAW,IAAI,EAAE,UAAU,WAAA,CAAY,EAAE;AAAA,MACpD;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA,YAAY;AAAA,MACZ,SAAS,CAAC,OAAO,WAAW;AAG1B,YAAI,qBAAsB;AAE1B,kBAAU,OAAO,MAAM;AAAA,MACzB;AAAA,MACA,WAAW;AAAA,QACT,UAAU;AAAA,UACR,SAAS;AAAA,YACP,MAAM,QAAQ;AAAA,UAChB;AAAA,QACF;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,UACP,MAAM;AAAA,YACJ,IAAI,EAAE,UAAU,YAAY;AAAA,YAC5B,QAAQ;AAAA,YACR,WAAW,GAAG,QAAQ,WAAW,QAAQ,OAAO,CAAC;AAAA,YACjD;AAAA,cACE,CAAC,QAAQ,UAAU,GAAG;AAAA,YACxB;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,YACP,IAAI,MAAM,IAAI,OAAO;AAAA,YACrB,WAAW,QAAQ;AAAA,YACnB,SAAS,CAAC,UACR,UAAU,OAAO,MAAS;AAAA,YAG5B,8BAAC,OAAM,EAAA;AAAA,UAAA;AAAA,QACT;AAAA,4BACC,cAAc,UAAd,EAAuB,OAAO,cAC5B,UACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"Dialog.js","sources":["../../../src/Dialog/Dialog.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport MuiDialog, { DialogProps as MuiDialogProps } from \"@mui/material/Dialog\";\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\nimport { useTheme } from \"@hitachivantara/uikit-react-shared\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { HvIconButton } from \"../IconButton\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { getElementById } from \"../utils/document\";\nimport { setId } from \"../utils/setId\";\nimport { DialogContext } from \"./context\";\nimport { staticClasses, useClasses } from \"./Dialog.styles\";\n\nexport { staticClasses as dialogClasses };\n\nexport type HvDialogClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvDialogProps\n extends Omit<MuiDialogProps, \"fullScreen\" | \"classes\" | \"open\"> {\n /** Current state of the Dialog. */\n open?: boolean;\n /** Callback fired when the component requests to be closed. */\n onClose?: (\n event: React.MouseEvent<HTMLButtonElement> | {},\n reason?: \"escapeKeyDown\" | \"backdropClick\",\n ) => void;\n /** @inheritdoc */\n maxWidth?: MuiDialogProps[\"maxWidth\"];\n /** @inheritdoc */\n fullWidth?: MuiDialogProps[\"fullWidth\"];\n /**\n * Element id that should be focus when the Dialog opens.\n * Auto-focusing elements can cause usability issues, so this should be avoided.\n * @deprecated Use `autoFocus` on the element instead, if auto-focusing is required.\n */\n firstFocusable?: string;\n /** Title for the button close. */\n buttonTitle?: string;\n /** Set the dialog to fullscreen mode. */\n fullscreen?: boolean;\n /** Prevent closing the dialog when clicking on the backdrop. */\n disableBackdropClick?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvDialogClasses;\n /** Variant of the dialog. Adds a status bar to the top of the dialog. If not provided, no status bar is added. */\n variant?: \"success\" | \"error\" | \"warning\";\n /** @ignore */\n ref?: MuiDialogProps[\"ref\"];\n /** @ignore */\n component?: MuiDialogProps[\"component\"];\n}\n\nexport const HvDialog = (props: HvDialogProps) => {\n const {\n variant,\n classes: classesProp,\n className,\n id,\n children,\n open = false,\n onClose,\n firstFocusable,\n buttonTitle = \"Close\",\n fullscreen = false,\n disableBackdropClick = false,\n ...others\n } = useDefaultProps(\"HvDialog\", props);\n\n const { classes, css, cx } = useClasses(classesProp);\n const { rootId } = useTheme();\n\n const measuredRef = useCallback(() => {\n if (!firstFocusable) return;\n\n const element = document.getElementById(firstFocusable);\n element?.focus();\n }, [firstFocusable]);\n\n const contextValue = useMemo(() => ({ fullscreen }), [fullscreen]);\n\n return (\n <MuiDialog\n container={getElementById(rootId)}\n className={cx(classes.root, className)}\n classes={{ container: css({ position: \"relative\" }) }}\n id={id}\n ref={measuredRef}\n open={open}\n fullScreen={fullscreen}\n onClose={(event, reason) => {\n // `disableBackdropClick` property was removed in MUI5\n // and we want to maintain that functionality\n if (disableBackdropClick) return;\n\n onClose?.(event, reason);\n }}\n slotProps={{\n backdrop: {\n classes: {\n root: classes.background,\n },\n },\n }}\n PaperProps={{\n classes: {\n root: cx(\n css({ position: \"absolute\" }),\n classes.paper,\n variant && cx(classes.statusBar, classes[variant]),\n {\n [classes.fullscreen]: fullscreen,\n },\n ),\n },\n }}\n {...others}\n >\n <HvIconButton\n title={buttonTitle}\n id={setId(id, \"close\")}\n className={classes.closeButton}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) =>\n onClose?.(event, undefined)\n }\n >\n <Close />\n </HvIconButton>\n <DialogContext.Provider value={contextValue}>\n {children}\n </DialogContext.Provider>\n </MuiDialog>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAoDa,MAAA,WAAW,CAAC,UAAyB;AAC1C,QAAA;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd,aAAa;AAAA,IACb,uBAAuB;AAAA,IACvB,GAAG;AAAA,EAAA,IACD,gBAAgB,YAAY,KAAK;AAErC,QAAM,EAAE,SAAS,KAAK,GAAG,IAAI,WAAW,WAAW;AAC7C,QAAA,EAAE,WAAW;AAEb,QAAA,cAAc,YAAY,MAAM;AACpC,QAAI,CAAC,eAAgB;AAEf,UAAA,UAAU,SAAS,eAAe,cAAc;AACtD,aAAS,MAAM;AAAA,EAAA,GACd,CAAC,cAAc,CAAC;AAEb,QAAA,eAAe,QAAQ,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC;AAG/D,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,eAAe,MAAM;AAAA,MAChC,WAAW,GAAG,QAAQ,MAAM,SAAS;AAAA,MACrC,SAAS,EAAE,WAAW,IAAI,EAAE,UAAU,WAAA,CAAY,EAAE;AAAA,MACpD;AAAA,MACA,KAAK;AAAA,MACL;AAAA,MACA,YAAY;AAAA,MACZ,SAAS,CAAC,OAAO,WAAW;AAG1B,YAAI,qBAAsB;AAE1B,kBAAU,OAAO,MAAM;AAAA,MACzB;AAAA,MACA,WAAW;AAAA,QACT,UAAU;AAAA,UACR,SAAS;AAAA,YACP,MAAM,QAAQ;AAAA,UAChB;AAAA,QACF;AAAA,MACF;AAAA,MACA,YAAY;AAAA,QACV,SAAS;AAAA,UACP,MAAM;AAAA,YACJ,IAAI,EAAE,UAAU,YAAY;AAAA,YAC5B,QAAQ;AAAA,YACR,WAAW,GAAG,QAAQ,WAAW,QAAQ,OAAO,CAAC;AAAA,YACjD;AAAA,cACE,CAAC,QAAQ,UAAU,GAAG;AAAA,YACxB;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO;AAAA,YACP,IAAI,MAAM,IAAI,OAAO;AAAA,YACrB,WAAW,QAAQ;AAAA,YACnB,SAAS,CAAC,UACR,UAAU,OAAO,MAAS;AAAA,YAG5B,8BAAC,OAAM,EAAA;AAAA,UAAA;AAAA,QACT;AAAA,4BACC,cAAc,UAAd,EAAuB,OAAO,cAC5B,UACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -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("HvDialog", {
4
4
  root: {},
5
5
  background: { background: theme.alpha("atmo4", 0.8) },
@@ -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("HvDialog-Title", {
4
4
  root: {
5
5
  fontFamily: theme.fontFamily.body,
@@ -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("HvDotPagination", {
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("HvDrawer", {
4
4
  root: {},
5
5
  paper: {
@@ -4,6 +4,7 @@ import { MoreOptionsVertical } from "@hitachivantara/uikit-react-icons";
4
4
  import { useBaseDropdownContext } from "../BaseDropdown/BaseDropdownContext/BaseDropdownContext.js";
5
5
  import { useControlled } from "../hooks/useControlled.js";
6
6
  import { useDefaultProps } from "../hooks/useDefaultProps.js";
7
+ import { useLabels } from "../hooks/useLabels.js";
7
8
  import { useUniqueId } from "../hooks/useUniqueId.js";
8
9
  import { getPrevNextFocus } from "../utils/focusableElementFinder.js";
9
10
  import { isKey } from "../utils/keyboardUtils.js";
@@ -14,6 +15,9 @@ import { HvBaseDropdown } from "../BaseDropdown/BaseDropdown.js";
14
15
  import { HvList } from "../List/List.js";
15
16
  import { HvDropdownButton } from "../DropdownButton/DropdownButton.js";
16
17
  import { HvPanel } from "../Panel/Panel.js";
18
+ const DEFAULT_LABELS = {
19
+ dropdownMenu: "Dropdown menu"
20
+ };
17
21
  const HeaderComponent = forwardRef(
18
22
  (props, ref) => {
19
23
  const { open, children, ...others } = props;
@@ -25,7 +29,6 @@ const HeaderComponent = forwardRef(
25
29
  ref,
26
30
  open,
27
31
  "aria-expanded": open,
28
- "aria-label": "Dropdown menu",
29
32
  "aria-haspopup": "menu",
30
33
  placement: popperPlacement,
31
34
  ...others,
@@ -53,9 +56,11 @@ const HvDropDownMenu = (props) => {
53
56
  // TODO - remove and update variant default in v6
54
57
  variant,
55
58
  size = "md",
59
+ labels: labelsProp,
56
60
  ...others
57
61
  } = useDefaultProps("HvDropDownMenu", props);
58
62
  const { classes, cx } = useClasses(classesProp);
63
+ const labels = useLabels(DEFAULT_LABELS, labelsProp);
59
64
  const [open, setOpen] = useControlled(expanded, Boolean(defaultExpanded));
60
65
  const id = useUniqueId(idProp);
61
66
  const focusNodes = getPrevNextFocus(setId(id, "icon-button"));
@@ -97,6 +102,7 @@ const HvDropDownMenu = (props) => {
97
102
  size,
98
103
  variant: variant ?? category,
99
104
  open,
105
+ "aria-label": labels.dropdownMenu,
100
106
  children: icon || /* @__PURE__ */ jsx(MoreOptionsVertical, { role: "presentation" })
101
107
  }
102
108
  ),
@@ -1 +1 @@
1
- {"version":3,"file":"DropDownMenu.js","sources":["../../../src/DropDownMenu/DropDownMenu.tsx"],"sourcesContent":["import { forwardRef, useMemo } from \"react\";\nimport { Placement } from \"@popperjs/core\";\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvBaseDropdown, HvBaseDropdownProps } from \"../BaseDropdown\";\nimport { useBaseDropdownContext } from \"../BaseDropdown/BaseDropdownContext/BaseDropdownContext\";\nimport { HvButtonSize, HvButtonVariant } from \"../Button\";\nimport { HvDropdownButton, HvDropdownButtonProps } from \"../DropdownButton\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { HvList, HvListProps, HvListValue } from \"../List\";\nimport { HvPanel } from \"../Panel\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { getPrevNextFocus } from \"../utils/focusableElementFinder\";\nimport { isKey } from \"../utils/keyboardUtils\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./DropDownMenu.styles\";\n\nexport { staticClasses as dropDownMenuClasses };\n\nexport type HvDropDownMenuClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvDropDownMenuProps\n extends HvBaseProps<HTMLDivElement, \"onClick\" | \"onToggle\"> {\n /** Icon. */\n icon?: React.ReactElement;\n /**\n * A list containing the elements to be rendered.\n *\n * - label: The label of the element to be rendered.\n * - selected: The selection state of the element.\n * - disabled: The disabled state of the element.\n * - icon: The icon node to be rendered on the left.\n * - showNavIcon: If true renders the navigation icon on the right.\n */\n dataList: HvListValue[];\n /** Placement of the dropdown. */\n placement?: \"left\" | \"right\";\n /** Disable the portal behavior. The children stay within it's parent DOM hierarchy. */\n disablePortal?: boolean;\n /** Function executed on toggle of the dropdown. Should receive the open status. */\n onToggle?: (\n event:\n | Event\n | React.KeyboardEvent<HTMLUListElement>\n | React.ChangeEvent<HTMLInputElement>\n | React.MouseEvent<HTMLLIElement>,\n open: boolean,\n ) => void;\n /** Function executed in each onClick. Should received the clicked element. */\n onClick?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.MouseEvent<HTMLLIElement>,\n value: HvListValue,\n ) => void;\n /** Keep the Dropdown Menu opened after clicking one option */\n keepOpened?: boolean;\n /** Defines if the component is disabled. */\n disabled?: boolean;\n /** If true it should be displayed open. */\n expanded?: boolean;\n /** When uncontrolled, defines the initial expanded state. */\n defaultExpanded?: boolean;\n /**\n * The variant to be used in the header.\n * @deprecated Use `variant` instead\n */\n category?: HvButtonVariant;\n /** The variant to be used in the header. */\n variant?: HvButtonVariant;\n /** Button size. */\n size?: HvButtonSize;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvDropDownMenuClasses;\n}\n\nconst HeaderComponent = forwardRef<HTMLButtonElement, HvDropdownButtonProps>(\n (props, ref) => {\n const { open, children, ...others } = props;\n\n const { popperPlacement } = useBaseDropdownContext();\n\n return (\n <HvDropdownButton\n icon\n ref={ref}\n open={open}\n aria-expanded={open}\n aria-label=\"Dropdown menu\" // TODO - translate\n aria-haspopup=\"menu\"\n placement={popperPlacement as Placement}\n {...others}\n >\n {children}\n </HvDropdownButton>\n );\n },\n);\n\n/**\n * A dropdown menu is a graphical control element, similar to a list box, that allows the user to choose a value from a list.\n */\nexport const HvDropDownMenu = (props: HvDropDownMenuProps) => {\n const {\n id: idProp,\n classes: classesProp,\n className,\n icon,\n placement = \"right\",\n dataList,\n disablePortal = false,\n onToggle,\n onClick,\n keepOpened = true,\n disabled = false,\n expanded,\n defaultExpanded = false,\n category = \"secondaryGhost\", // TODO - remove and update variant default in v6\n variant,\n size = \"md\",\n ...others\n } = useDefaultProps(\"HvDropDownMenu\", props);\n\n const { classes, cx } = useClasses(classesProp);\n const [open, setOpen] = useControlled(expanded, Boolean(defaultExpanded));\n const id = useUniqueId(idProp);\n const focusNodes = getPrevNextFocus(setId(id, \"icon-button\"));\n\n const listId = setId(id, \"list\");\n\n const handleClose = (\n event:\n | React.KeyboardEvent<HTMLUListElement>\n | React.ChangeEvent<HTMLInputElement>\n | React.MouseEvent<HTMLLIElement>,\n ) => {\n // this will only run if uncontrolled\n setOpen(false);\n onToggle?.(event, false);\n };\n\n // If the ESCAPE key is pressed inside the list, the close handler must be called.\n const handleKeyDown: HvListProps[\"onKeyDown\"] = (event) => {\n if (isKey(event, \"Tab\")) {\n const node = event.shiftKey ? focusNodes.prevFocus : focusNodes.nextFocus;\n if (node) setTimeout(() => node.focus(), 0);\n handleClose(event);\n }\n event.preventDefault();\n };\n\n const setFocusToContent: HvBaseDropdownProps[\"onContainerCreation\"] = (\n containerRef,\n ) => {\n containerRef?.getElementsByTagName(\"li\")[0]?.focus();\n };\n\n const condensed = useMemo(() => dataList.every((el) => !el.icon), [dataList]);\n\n return (\n <HvBaseDropdown\n id={id}\n className={cx(classes.container, className)}\n classes={{\n root: classes.root,\n container: classes.baseContainer,\n }}\n expanded={open && !disabled}\n component={\n <HeaderComponent\n id={setId(id, \"icon-button\")}\n disabled={disabled}\n className={cx(classes.icon, {\n [classes.iconSelected]: open,\n })}\n size={size}\n variant={variant ?? category}\n open={open}\n >\n {icon || <MoreOptionsVertical role=\"presentation\" />}\n </HeaderComponent>\n }\n placement={placement}\n variableWidth\n disablePortal={disablePortal}\n onToggle={(e, s) => {\n // this will only run if uncontrolled\n setOpen(s);\n onToggle?.(e, s);\n }}\n disabled={disabled}\n onContainerCreation={setFocusToContent}\n {...others}\n >\n <HvPanel className={classes.menuListRoot}>\n <HvList\n id={listId}\n values={dataList}\n selectable={false}\n condensed={condensed}\n onClick={(event, item) => {\n if (!keepOpened) handleClose(event);\n onClick?.(event, item);\n }}\n onKeyDown={handleKeyDown}\n classes={{\n root: classes.menuList,\n }}\n />\n </HvPanel>\n </HvBaseDropdown>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropDownMenu.js","sources":["../../../src/DropDownMenu/DropDownMenu.tsx"],"sourcesContent":["import { forwardRef, useMemo } from \"react\";\nimport { Placement } from \"@popperjs/core\";\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvBaseDropdown, HvBaseDropdownProps } from \"../BaseDropdown\";\nimport { useBaseDropdownContext } from \"../BaseDropdown/BaseDropdownContext/BaseDropdownContext\";\nimport { HvButtonSize, HvButtonVariant } from \"../Button\";\nimport { HvDropdownButton, HvDropdownButtonProps } from \"../DropdownButton\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useLabels } from \"../hooks/useLabels\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { HvList, HvListProps, HvListValue } from \"../List\";\nimport { HvPanel } from \"../Panel\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { getPrevNextFocus } from \"../utils/focusableElementFinder\";\nimport { isKey } from \"../utils/keyboardUtils\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./DropDownMenu.styles\";\n\nexport { staticClasses as dropDownMenuClasses };\n\nexport type HvDropDownMenuClasses = ExtractNames<typeof useClasses>;\n\nconst DEFAULT_LABELS = {\n dropdownMenu: \"Dropdown menu\",\n};\n\nexport interface HvDropDownMenuProps\n extends HvBaseProps<HTMLDivElement, \"onClick\" | \"onToggle\"> {\n /** Icon. */\n icon?: React.ReactElement;\n /**\n * A list containing the elements to be rendered.\n *\n * - label: The label of the element to be rendered.\n * - selected: The selection state of the element.\n * - disabled: The disabled state of the element.\n * - icon: The icon node to be rendered on the left.\n * - showNavIcon: If true renders the navigation icon on the right.\n */\n dataList: HvListValue[];\n /** Placement of the dropdown. */\n placement?: \"left\" | \"right\";\n /** Disable the portal behavior. The children stay within it's parent DOM hierarchy. */\n disablePortal?: boolean;\n /** Function executed on toggle of the dropdown. Should receive the open status. */\n onToggle?: (\n event:\n | Event\n | React.KeyboardEvent<HTMLUListElement>\n | React.ChangeEvent<HTMLInputElement>\n | React.MouseEvent<HTMLLIElement>,\n open: boolean,\n ) => void;\n /** Function executed in each onClick. Should received the clicked element. */\n onClick?: (\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.MouseEvent<HTMLLIElement>,\n value: HvListValue,\n ) => void;\n /** Keep the Dropdown Menu opened after clicking one option */\n keepOpened?: boolean;\n /** Defines if the component is disabled. */\n disabled?: boolean;\n /** If true it should be displayed open. */\n expanded?: boolean;\n /** When uncontrolled, defines the initial expanded state. */\n defaultExpanded?: boolean;\n /**\n * The variant to be used in the header.\n * @deprecated Use `variant` instead\n */\n category?: HvButtonVariant;\n /** The variant to be used in the header. */\n variant?: HvButtonVariant;\n /** Button size. */\n size?: HvButtonSize;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvDropDownMenuClasses;\n /** An object containing all the labels. */\n labels?: Partial<typeof DEFAULT_LABELS>;\n}\n\nconst HeaderComponent = forwardRef<HTMLButtonElement, HvDropdownButtonProps>(\n (props, ref) => {\n const { open, children, ...others } = props;\n\n const { popperPlacement } = useBaseDropdownContext();\n\n return (\n <HvDropdownButton\n icon\n ref={ref}\n open={open}\n aria-expanded={open}\n aria-haspopup=\"menu\"\n placement={popperPlacement as Placement}\n {...others}\n >\n {children}\n </HvDropdownButton>\n );\n },\n);\n\n/**\n * A dropdown menu is a graphical control element, similar to a list box, that allows the user to choose a value from a list.\n */\nexport const HvDropDownMenu = (props: HvDropDownMenuProps) => {\n const {\n id: idProp,\n classes: classesProp,\n className,\n icon,\n placement = \"right\",\n dataList,\n disablePortal = false,\n onToggle,\n onClick,\n keepOpened = true,\n disabled = false,\n expanded,\n defaultExpanded = false,\n category = \"secondaryGhost\", // TODO - remove and update variant default in v6\n variant,\n size = \"md\",\n labels: labelsProp,\n ...others\n } = useDefaultProps(\"HvDropDownMenu\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const [open, setOpen] = useControlled(expanded, Boolean(defaultExpanded));\n const id = useUniqueId(idProp);\n const focusNodes = getPrevNextFocus(setId(id, \"icon-button\"));\n\n const listId = setId(id, \"list\");\n\n const handleClose = (\n event:\n | React.KeyboardEvent<HTMLUListElement>\n | React.ChangeEvent<HTMLInputElement>\n | React.MouseEvent<HTMLLIElement>,\n ) => {\n // this will only run if uncontrolled\n setOpen(false);\n onToggle?.(event, false);\n };\n\n // If the ESCAPE key is pressed inside the list, the close handler must be called.\n const handleKeyDown: HvListProps[\"onKeyDown\"] = (event) => {\n if (isKey(event, \"Tab\")) {\n const node = event.shiftKey ? focusNodes.prevFocus : focusNodes.nextFocus;\n if (node) setTimeout(() => node.focus(), 0);\n handleClose(event);\n }\n event.preventDefault();\n };\n\n const setFocusToContent: HvBaseDropdownProps[\"onContainerCreation\"] = (\n containerRef,\n ) => {\n containerRef?.getElementsByTagName(\"li\")[0]?.focus();\n };\n\n const condensed = useMemo(() => dataList.every((el) => !el.icon), [dataList]);\n\n return (\n <HvBaseDropdown\n id={id}\n className={cx(classes.container, className)}\n classes={{\n root: classes.root,\n container: classes.baseContainer,\n }}\n expanded={open && !disabled}\n component={\n <HeaderComponent\n id={setId(id, \"icon-button\")}\n disabled={disabled}\n className={cx(classes.icon, {\n [classes.iconSelected]: open,\n })}\n size={size}\n variant={variant ?? category}\n open={open}\n aria-label={labels.dropdownMenu}\n >\n {icon || <MoreOptionsVertical role=\"presentation\" />}\n </HeaderComponent>\n }\n placement={placement}\n variableWidth\n disablePortal={disablePortal}\n onToggle={(e, s) => {\n // this will only run if uncontrolled\n setOpen(s);\n onToggle?.(e, s);\n }}\n disabled={disabled}\n onContainerCreation={setFocusToContent}\n {...others}\n >\n <HvPanel className={classes.menuListRoot}>\n <HvList\n id={listId}\n values={dataList}\n selectable={false}\n condensed={condensed}\n onClick={(event, item) => {\n if (!keepOpened) handleClose(event);\n onClick?.(event, item);\n }}\n onKeyDown={handleKeyDown}\n classes={{\n root: classes.menuList,\n }}\n />\n </HvPanel>\n </HvBaseDropdown>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -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("HvDropDownMenu", {
4
4
  container: {},
5
5
  baseContainer: {},
@@ -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("HvDropdown", {
4
4
  root: {
5
5
  width: "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 { staticClasses, useClasses } = createClasses("HvDropdownList", {
4
4
  rootList: {},
5
5
  dropdownListContainer: {},
@@ -1,7 +1,7 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "../utils/classes.js";
3
2
  import { staticClasses as staticClasses$1 } from "../Button/Button.styles.js";
4
3
  import "../Button/Button.js";
4
+ import { createClasses } from "@hitachivantara/uikit-react-shared";
5
5
  const disabledStyle = {
6
6
  backgroundColor: theme.colors.atmo3,
7
7
  borderColor: theme.colors.atmo3,
@@ -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("HvEmptyState", {
4
4
  root: {
5
5
  width: "100%",
@@ -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("HvDropZone", {
5
5
  dropZoneContainer: {
6
6
  position: "relative",
@@ -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("HvFile", {
4
4
  root: {},
5
5
  progressbar: {
@@ -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("HvFileList", {
4
4
  list: {
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(
4
4
  "HvFileUploaderPreview",
5
5
  {
@@ -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 = "HvFilterGroupCounter";
4
4
  const { staticClasses, useClasses } = createClasses(name, {
5
5
  root: {