@hitachivantara/uikit-react-core 5.62.2 → 5.63.1

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 (526) hide show
  1. package/dist/cjs/AppSwitcher/Action/Action.cjs +1 -1
  2. package/dist/cjs/AvatarGroup/AvatarGroup.cjs +9 -3
  3. package/dist/cjs/BaseCheckBox/BaseCheckBox.styles.cjs +2 -5
  4. package/dist/cjs/BaseRadio/BaseRadio.styles.cjs +2 -1
  5. package/dist/cjs/CheckBoxGroup/CheckBoxGroup.styles.cjs +2 -2
  6. package/dist/cjs/Dialog/Dialog.cjs +0 -1
  7. package/dist/cjs/Drawer/Drawer.cjs +0 -5
  8. package/dist/cjs/FilterGroup/Counter/Counter.cjs +4 -6
  9. package/dist/cjs/FilterGroup/LeftPanel/LeftPanel.cjs +13 -17
  10. package/dist/cjs/FilterGroup/RightPanel/RightPanel.styles.cjs +1 -4
  11. package/dist/cjs/Input/Input.cjs +1 -3
  12. package/dist/cjs/List/List.cjs +25 -57
  13. package/dist/cjs/LoadingContainer/LoadingContainer.styles.cjs +2 -2
  14. package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs +25 -20
  15. package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.cjs +24 -29
  16. package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.cjs +28 -66
  17. package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.styles.cjs +3 -20
  18. package/dist/cjs/ScrollTo/Vertical/ScrollToVertical.cjs +9 -22
  19. package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs +8 -15
  20. package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs +12 -7
  21. package/dist/cjs/Select/Select.cjs +14 -2
  22. package/dist/esm/AppSwitcher/Action/Action.js +1 -1
  23. package/dist/esm/AvatarGroup/AvatarGroup.js +9 -3
  24. package/dist/esm/AvatarGroup/AvatarGroup.js.map +1 -1
  25. package/dist/esm/BaseCheckBox/BaseCheckBox.styles.js +2 -5
  26. package/dist/esm/BaseCheckBox/BaseCheckBox.styles.js.map +1 -1
  27. package/dist/esm/BaseRadio/BaseRadio.styles.js +2 -1
  28. package/dist/esm/BaseRadio/BaseRadio.styles.js.map +1 -1
  29. package/dist/esm/Button/Button.js.map +1 -1
  30. package/dist/esm/CheckBoxGroup/CheckBoxGroup.styles.js +2 -2
  31. package/dist/esm/CheckBoxGroup/CheckBoxGroup.styles.js.map +1 -1
  32. package/dist/esm/Dialog/Dialog.js +0 -1
  33. package/dist/esm/Dialog/Dialog.js.map +1 -1
  34. package/dist/esm/Drawer/Drawer.js +0 -5
  35. package/dist/esm/Drawer/Drawer.js.map +1 -1
  36. package/dist/esm/Dropdown/Dropdown.js.map +1 -1
  37. package/dist/esm/FilterGroup/Counter/Counter.js +4 -6
  38. package/dist/esm/FilterGroup/Counter/Counter.js.map +1 -1
  39. package/dist/esm/FilterGroup/LeftPanel/LeftPanel.js +13 -17
  40. package/dist/esm/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  41. package/dist/esm/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  42. package/dist/esm/FilterGroup/RightPanel/RightPanel.styles.js +1 -4
  43. package/dist/esm/FilterGroup/RightPanel/RightPanel.styles.js.map +1 -1
  44. package/dist/esm/Input/Input.js +1 -3
  45. package/dist/esm/Input/Input.js.map +1 -1
  46. package/dist/esm/List/List.js +25 -57
  47. package/dist/esm/List/List.js.map +1 -1
  48. package/dist/esm/LoadingContainer/LoadingContainer.styles.js +2 -2
  49. package/dist/esm/LoadingContainer/LoadingContainer.styles.js.map +1 -1
  50. package/dist/esm/QueryBuilder/QueryBuilder.js.map +1 -1
  51. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +26 -21
  52. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  53. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js +24 -29
  54. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js.map +1 -1
  55. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.js +29 -67
  56. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  57. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.styles.js +3 -20
  58. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.styles.js.map +1 -1
  59. package/dist/esm/ScrollTo/Vertical/ScrollToVertical.js +9 -22
  60. package/dist/esm/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  61. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +8 -15
  62. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  63. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js +12 -7
  64. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js.map +1 -1
  65. package/dist/esm/Select/Select.js +14 -2
  66. package/dist/esm/Select/Select.js.map +1 -1
  67. package/dist/types/index.d.ts +27 -14
  68. package/package.json +5 -5
  69. package/dist/cjs/Accordion/Accordion.cjs.map +0 -1
  70. package/dist/cjs/Accordion/Accordion.styles.cjs.map +0 -1
  71. package/dist/cjs/ActionBar/ActionBar.cjs.map +0 -1
  72. package/dist/cjs/ActionBar/ActionBar.styles.cjs.map +0 -1
  73. package/dist/cjs/ActionsGeneric/ActionsGeneric.cjs.map +0 -1
  74. package/dist/cjs/ActionsGeneric/ActionsGeneric.styles.cjs.map +0 -1
  75. package/dist/cjs/AppSwitcher/Action/Action.cjs.map +0 -1
  76. package/dist/cjs/AppSwitcher/Action/Action.styles.cjs.map +0 -1
  77. package/dist/cjs/AppSwitcher/AppSwitcher.cjs.map +0 -1
  78. package/dist/cjs/AppSwitcher/AppSwitcher.styles.cjs.map +0 -1
  79. package/dist/cjs/Avatar/Avatar.cjs.map +0 -1
  80. package/dist/cjs/Avatar/Avatar.styles.cjs.map +0 -1
  81. package/dist/cjs/AvatarGroup/AvatarGroup.cjs.map +0 -1
  82. package/dist/cjs/AvatarGroup/AvatarGroup.styles.cjs.map +0 -1
  83. package/dist/cjs/Badge/Badge.cjs.map +0 -1
  84. package/dist/cjs/Badge/Badge.styles.cjs.map +0 -1
  85. package/dist/cjs/Banner/Banner.cjs.map +0 -1
  86. package/dist/cjs/Banner/Banner.styles.cjs.map +0 -1
  87. package/dist/cjs/Banner/BannerContent/ActionContainer/ActionContainer.cjs.map +0 -1
  88. package/dist/cjs/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs.map +0 -1
  89. package/dist/cjs/Banner/BannerContent/BannerContent.cjs.map +0 -1
  90. package/dist/cjs/Banner/BannerContent/BannerContent.styles.cjs.map +0 -1
  91. package/dist/cjs/Banner/BannerContent/MessageContainer/MessageContainer.cjs.map +0 -1
  92. package/dist/cjs/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs.map +0 -1
  93. package/dist/cjs/BaseCheckBox/BaseCheckBox.cjs.map +0 -1
  94. package/dist/cjs/BaseCheckBox/BaseCheckBox.styles.cjs.map +0 -1
  95. package/dist/cjs/BaseCheckBox/icons.cjs.map +0 -1
  96. package/dist/cjs/BaseDropdown/BaseDropdown.cjs.map +0 -1
  97. package/dist/cjs/BaseDropdown/BaseDropdown.styles.cjs.map +0 -1
  98. package/dist/cjs/BaseDropdown/BaseDropdownContext/BaseDropdownContext.cjs.map +0 -1
  99. package/dist/cjs/BaseInput/BaseInput.cjs.map +0 -1
  100. package/dist/cjs/BaseInput/BaseInput.styles.cjs.map +0 -1
  101. package/dist/cjs/BaseInput/validations.cjs.map +0 -1
  102. package/dist/cjs/BaseRadio/BaseRadio.cjs.map +0 -1
  103. package/dist/cjs/BaseRadio/BaseRadio.styles.cjs.map +0 -1
  104. package/dist/cjs/BaseRadio/icons.cjs.map +0 -1
  105. package/dist/cjs/BaseSwitch/BaseSwitch.cjs.map +0 -1
  106. package/dist/cjs/BaseSwitch/BaseSwitch.styles.cjs.map +0 -1
  107. package/dist/cjs/Box/Box.cjs.map +0 -1
  108. package/dist/cjs/BreadCrumb/BreadCrumb.cjs.map +0 -1
  109. package/dist/cjs/BreadCrumb/BreadCrumb.styles.cjs.map +0 -1
  110. package/dist/cjs/BreadCrumb/Page/Page.cjs.map +0 -1
  111. package/dist/cjs/BreadCrumb/Page/Page.styles.cjs.map +0 -1
  112. package/dist/cjs/BreadCrumb/PathElement/PathElement.cjs.map +0 -1
  113. package/dist/cjs/BreadCrumb/PathElement/PathElement.styles.cjs.map +0 -1
  114. package/dist/cjs/BreadCrumb/utils.cjs.map +0 -1
  115. package/dist/cjs/BulkActions/BulkActions.cjs.map +0 -1
  116. package/dist/cjs/BulkActions/BulkActions.styles.cjs.map +0 -1
  117. package/dist/cjs/Button/Button.cjs.map +0 -1
  118. package/dist/cjs/Button/Button.styles.cjs.map +0 -1
  119. package/dist/cjs/Button/types.cjs.map +0 -1
  120. package/dist/cjs/Calendar/Calendar.cjs.map +0 -1
  121. package/dist/cjs/Calendar/Calendar.styles.cjs.map +0 -1
  122. package/dist/cjs/Calendar/CalendarHeader/CalendarHeader.cjs.map +0 -1
  123. package/dist/cjs/Calendar/CalendarHeader/CalendarHeader.styles.cjs.map +0 -1
  124. package/dist/cjs/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs.map +0 -1
  125. package/dist/cjs/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.cjs.map +0 -1
  126. package/dist/cjs/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs.map +0 -1
  127. package/dist/cjs/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.cjs.map +0 -1
  128. package/dist/cjs/Calendar/CalendarNavigation/Navigation/Navigation.cjs.map +0 -1
  129. package/dist/cjs/Calendar/CalendarNavigation/Navigation/Navigation.styles.cjs.map +0 -1
  130. package/dist/cjs/Calendar/SingleCalendar/CalendarCell.cjs.map +0 -1
  131. package/dist/cjs/Calendar/SingleCalendar/CalendarCell.styles.cjs.map +0 -1
  132. package/dist/cjs/Calendar/SingleCalendar/SingleCalendar.cjs.map +0 -1
  133. package/dist/cjs/Calendar/SingleCalendar/SingleCalendar.styles.cjs.map +0 -1
  134. package/dist/cjs/Calendar/model.cjs.map +0 -1
  135. package/dist/cjs/Calendar/utils.cjs.map +0 -1
  136. package/dist/cjs/Card/Card.cjs.map +0 -1
  137. package/dist/cjs/Card/Card.styles.cjs.map +0 -1
  138. package/dist/cjs/Card/Content/Content.cjs.map +0 -1
  139. package/dist/cjs/Card/Content/Content.styles.cjs.map +0 -1
  140. package/dist/cjs/Card/Header/Header.cjs.map +0 -1
  141. package/dist/cjs/Card/Header/Header.styles.cjs.map +0 -1
  142. package/dist/cjs/Card/Media/Media.cjs.map +0 -1
  143. package/dist/cjs/Card/Media/Media.styles.cjs.map +0 -1
  144. package/dist/cjs/Carousel/Carousel.cjs.map +0 -1
  145. package/dist/cjs/Carousel/Carousel.styles.cjs.map +0 -1
  146. package/dist/cjs/Carousel/CarouselControls.cjs.map +0 -1
  147. package/dist/cjs/Carousel/CarouselSlide/CarouselSlide.cjs.map +0 -1
  148. package/dist/cjs/Carousel/CarouselSlide/CarouselSlide.styles.cjs.map +0 -1
  149. package/dist/cjs/Carousel/CarouselThumbnails.cjs.map +0 -1
  150. package/dist/cjs/CheckBox/CheckBox.cjs.map +0 -1
  151. package/dist/cjs/CheckBox/CheckBox.styles.cjs.map +0 -1
  152. package/dist/cjs/CheckBoxGroup/CheckBoxGroup.cjs.map +0 -1
  153. package/dist/cjs/CheckBoxGroup/CheckBoxGroup.styles.cjs.map +0 -1
  154. package/dist/cjs/ColorPicker/ColorPicker.cjs.map +0 -1
  155. package/dist/cjs/ColorPicker/ColorPicker.styles.cjs.map +0 -1
  156. package/dist/cjs/ColorPicker/Fields/Fields.cjs.map +0 -1
  157. package/dist/cjs/ColorPicker/Fields/Fields.styles.cjs.map +0 -1
  158. package/dist/cjs/ColorPicker/Picker/Picker.cjs.map +0 -1
  159. package/dist/cjs/ColorPicker/Picker/Picker.styles.cjs.map +0 -1
  160. package/dist/cjs/ColorPicker/PresetColors/PresetColors.cjs.map +0 -1
  161. package/dist/cjs/ColorPicker/PresetColors/PresetColors.styles.cjs.map +0 -1
  162. package/dist/cjs/ColorPicker/SavedColors/SavedColors.cjs.map +0 -1
  163. package/dist/cjs/ColorPicker/SavedColors/SavedColors.styles.cjs.map +0 -1
  164. package/dist/cjs/Container/Container.cjs.map +0 -1
  165. package/dist/cjs/Container/Container.styles.cjs.map +0 -1
  166. package/dist/cjs/Controls/Controls.cjs.map +0 -1
  167. package/dist/cjs/Controls/Controls.styles.cjs.map +0 -1
  168. package/dist/cjs/Controls/LeftControl/LeftControl.cjs.map +0 -1
  169. package/dist/cjs/Controls/LeftControl/LeftControl.styles.cjs.map +0 -1
  170. package/dist/cjs/Controls/RightControl/RightControl.cjs.map +0 -1
  171. package/dist/cjs/Controls/RightControl/RightControl.styles.cjs.map +0 -1
  172. package/dist/cjs/Controls/context/ControlsContext.cjs.map +0 -1
  173. package/dist/cjs/DatePicker/DatePicker.cjs.map +0 -1
  174. package/dist/cjs/DatePicker/DatePicker.styles.cjs.map +0 -1
  175. package/dist/cjs/DatePicker/useVisibleDate.cjs.map +0 -1
  176. package/dist/cjs/DatePicker/utils.cjs.map +0 -1
  177. package/dist/cjs/Dialog/Actions/Actions.cjs.map +0 -1
  178. package/dist/cjs/Dialog/Actions/Actions.styles.cjs.map +0 -1
  179. package/dist/cjs/Dialog/Content/Content.cjs.map +0 -1
  180. package/dist/cjs/Dialog/Content/Content.styles.cjs.map +0 -1
  181. package/dist/cjs/Dialog/Dialog.cjs.map +0 -1
  182. package/dist/cjs/Dialog/Dialog.styles.cjs.map +0 -1
  183. package/dist/cjs/Dialog/Title/Title.cjs.map +0 -1
  184. package/dist/cjs/Dialog/Title/Title.styles.cjs.map +0 -1
  185. package/dist/cjs/Dialog/context.cjs.map +0 -1
  186. package/dist/cjs/DotPagination/DotPagination.cjs.map +0 -1
  187. package/dist/cjs/DotPagination/DotPagination.styles.cjs.map +0 -1
  188. package/dist/cjs/Drawer/Drawer.cjs.map +0 -1
  189. package/dist/cjs/Drawer/Drawer.styles.cjs.map +0 -1
  190. package/dist/cjs/DropDownMenu/DropDownMenu.cjs.map +0 -1
  191. package/dist/cjs/DropDownMenu/DropDownMenu.styles.cjs.map +0 -1
  192. package/dist/cjs/Dropdown/Dropdown.cjs.map +0 -1
  193. package/dist/cjs/Dropdown/Dropdown.styles.cjs.map +0 -1
  194. package/dist/cjs/Dropdown/List/List.cjs.map +0 -1
  195. package/dist/cjs/Dropdown/List/List.styles.cjs.map +0 -1
  196. package/dist/cjs/Dropdown/utils.cjs.map +0 -1
  197. package/dist/cjs/DropdownButton/DropdownButton.cjs.map +0 -1
  198. package/dist/cjs/DropdownButton/DropdownButton.styles.cjs.map +0 -1
  199. package/dist/cjs/EmptyState/EmptyState.cjs.map +0 -1
  200. package/dist/cjs/EmptyState/EmptyState.styles.cjs.map +0 -1
  201. package/dist/cjs/FileUploader/DropZone/DropZone.cjs.map +0 -1
  202. package/dist/cjs/FileUploader/DropZone/DropZone.styles.cjs.map +0 -1
  203. package/dist/cjs/FileUploader/File/File.cjs.map +0 -1
  204. package/dist/cjs/FileUploader/File/File.styles.cjs.map +0 -1
  205. package/dist/cjs/FileUploader/FileList/FileList.cjs.map +0 -1
  206. package/dist/cjs/FileUploader/FileList/FileList.styles.cjs.map +0 -1
  207. package/dist/cjs/FileUploader/FileUploader.cjs.map +0 -1
  208. package/dist/cjs/FileUploader/Preview/Preview.cjs.map +0 -1
  209. package/dist/cjs/FileUploader/Preview/Preview.styles.cjs.map +0 -1
  210. package/dist/cjs/FileUploader/utils.cjs.map +0 -1
  211. package/dist/cjs/FilterGroup/Counter/Counter.cjs.map +0 -1
  212. package/dist/cjs/FilterGroup/Counter/Counter.styles.cjs.map +0 -1
  213. package/dist/cjs/FilterGroup/FilterContent/FilterContent.cjs.map +0 -1
  214. package/dist/cjs/FilterGroup/FilterContent/FilterContent.styles.cjs.map +0 -1
  215. package/dist/cjs/FilterGroup/FilterGroup.cjs.map +0 -1
  216. package/dist/cjs/FilterGroup/FilterGroup.styles.cjs.map +0 -1
  217. package/dist/cjs/FilterGroup/FilterGroupContext.cjs.map +0 -1
  218. package/dist/cjs/FilterGroup/LeftPanel/LeftPanel.cjs.map +0 -1
  219. package/dist/cjs/FilterGroup/LeftPanel/LeftPanel.styles.cjs.map +0 -1
  220. package/dist/cjs/FilterGroup/RightPanel/RightPanel.cjs.map +0 -1
  221. package/dist/cjs/FilterGroup/RightPanel/RightPanel.styles.cjs.map +0 -1
  222. package/dist/cjs/Focus/Focus.cjs.map +0 -1
  223. package/dist/cjs/Focus/Focus.styles.cjs.map +0 -1
  224. package/dist/cjs/Focus/utils.cjs.map +0 -1
  225. package/dist/cjs/Footer/Footer.cjs.map +0 -1
  226. package/dist/cjs/Footer/Footer.styles.cjs.map +0 -1
  227. package/dist/cjs/Forms/Adornment/Adornment.cjs.map +0 -1
  228. package/dist/cjs/Forms/Adornment/Adornment.styles.cjs.map +0 -1
  229. package/dist/cjs/Forms/CharCounter/CharCounter.cjs.map +0 -1
  230. package/dist/cjs/Forms/CharCounter/CharCounter.styles.cjs.map +0 -1
  231. package/dist/cjs/Forms/FormElement/FormElement.cjs.map +0 -1
  232. package/dist/cjs/Forms/FormElement/FormElement.styles.cjs.map +0 -1
  233. package/dist/cjs/Forms/FormElement/context/FormElementContext.cjs.map +0 -1
  234. package/dist/cjs/Forms/FormElement/context/FormElementDescriptorsContext.cjs.map +0 -1
  235. package/dist/cjs/Forms/FormElement/context/FormElementValueContext.cjs.map +0 -1
  236. package/dist/cjs/Forms/FormElement/utils/FormUtils.cjs.map +0 -1
  237. package/dist/cjs/Forms/FormElement/validationStates.cjs.map +0 -1
  238. package/dist/cjs/Forms/InfoMessage/InfoMessage.cjs.map +0 -1
  239. package/dist/cjs/Forms/InfoMessage/InfoMessage.styles.cjs.map +0 -1
  240. package/dist/cjs/Forms/Label/Label.cjs.map +0 -1
  241. package/dist/cjs/Forms/Label/Label.styles.cjs.map +0 -1
  242. package/dist/cjs/Forms/Suggestions/Suggestions.cjs.map +0 -1
  243. package/dist/cjs/Forms/Suggestions/Suggestions.styles.cjs.map +0 -1
  244. package/dist/cjs/Forms/WarningText/WarningText.cjs.map +0 -1
  245. package/dist/cjs/Forms/WarningText/WarningText.styles.cjs.map +0 -1
  246. package/dist/cjs/GlobalActions/GlobalActions.cjs.map +0 -1
  247. package/dist/cjs/GlobalActions/GlobalActions.styles.cjs.map +0 -1
  248. package/dist/cjs/Grid/Grid.cjs.map +0 -1
  249. package/dist/cjs/Grid/Grid.styles.cjs.map +0 -1
  250. package/dist/cjs/Header/Actions/Actions.cjs.map +0 -1
  251. package/dist/cjs/Header/Actions/Actions.styles.cjs.map +0 -1
  252. package/dist/cjs/Header/Brand/Brand.cjs.map +0 -1
  253. package/dist/cjs/Header/Brand/Brand.styles.cjs.map +0 -1
  254. package/dist/cjs/Header/Header.cjs.map +0 -1
  255. package/dist/cjs/Header/Header.styles.cjs.map +0 -1
  256. package/dist/cjs/Header/Navigation/MenuBar/Bar.cjs.map +0 -1
  257. package/dist/cjs/Header/Navigation/MenuBar/Bar.styles.cjs.map +0 -1
  258. package/dist/cjs/Header/Navigation/MenuBar/MenuBar.cjs.map +0 -1
  259. package/dist/cjs/Header/Navigation/MenuItem/MenuItem.cjs.map +0 -1
  260. package/dist/cjs/Header/Navigation/MenuItem/MenuItem.styles.cjs.map +0 -1
  261. package/dist/cjs/Header/Navigation/Navigation.cjs.map +0 -1
  262. package/dist/cjs/Header/Navigation/Navigation.styles.cjs.map +0 -1
  263. package/dist/cjs/Header/Navigation/useSelectionPath.cjs.map +0 -1
  264. package/dist/cjs/Header/Navigation/utils/FocusContext.cjs.map +0 -1
  265. package/dist/cjs/Header/Navigation/utils/SelectionContext.cjs.map +0 -1
  266. package/dist/cjs/IconButton/IconButton.cjs.map +0 -1
  267. package/dist/cjs/InlineEditor/InlineEditor.cjs.map +0 -1
  268. package/dist/cjs/InlineEditor/InlineEditor.styles.cjs.map +0 -1
  269. package/dist/cjs/Input/Input.cjs.map +0 -1
  270. package/dist/cjs/Input/Input.styles.cjs.map +0 -1
  271. package/dist/cjs/Kpi/Kpi.cjs.map +0 -1
  272. package/dist/cjs/Kpi/Kpi.styles.cjs.map +0 -1
  273. package/dist/cjs/Link/Link.cjs.map +0 -1
  274. package/dist/cjs/Link/Link.styles.cjs.map +0 -1
  275. package/dist/cjs/List/List.cjs.map +0 -1
  276. package/dist/cjs/List/List.styles.cjs.map +0 -1
  277. package/dist/cjs/List/useSelectableList.cjs.map +0 -1
  278. package/dist/cjs/List/utils.cjs.map +0 -1
  279. package/dist/cjs/ListContainer/ListContainer.cjs.map +0 -1
  280. package/dist/cjs/ListContainer/ListContainer.styles.cjs.map +0 -1
  281. package/dist/cjs/ListContainer/ListContext/ListContext.cjs.map +0 -1
  282. package/dist/cjs/ListContainer/ListItem/ListItem.cjs.map +0 -1
  283. package/dist/cjs/ListContainer/ListItem/ListItem.styles.cjs.map +0 -1
  284. package/dist/cjs/Loading/Loading.cjs.map +0 -1
  285. package/dist/cjs/Loading/Loading.styles.cjs.map +0 -1
  286. package/dist/cjs/LoadingContainer/LoadingContainer.cjs.map +0 -1
  287. package/dist/cjs/LoadingContainer/LoadingContainer.styles.cjs.map +0 -1
  288. package/dist/cjs/Login/Login.cjs.map +0 -1
  289. package/dist/cjs/Login/Login.styles.cjs.map +0 -1
  290. package/dist/cjs/MultiButton/MultiButton.cjs.map +0 -1
  291. package/dist/cjs/MultiButton/MultiButton.styles.cjs.map +0 -1
  292. package/dist/cjs/OverflowTooltip/OverflowTooltip.cjs.map +0 -1
  293. package/dist/cjs/OverflowTooltip/OverflowTooltip.styles.cjs.map +0 -1
  294. package/dist/cjs/Pagination/Pagination.cjs.map +0 -1
  295. package/dist/cjs/Pagination/Pagination.styles.cjs.map +0 -1
  296. package/dist/cjs/Pagination/Select.cjs.map +0 -1
  297. package/dist/cjs/Pagination/Select.styles.cjs.map +0 -1
  298. package/dist/cjs/Pagination/utils.cjs.map +0 -1
  299. package/dist/cjs/Panel/Panel.cjs.map +0 -1
  300. package/dist/cjs/Panel/Panel.styles.cjs.map +0 -1
  301. package/dist/cjs/ProgressBar/ProgressBar.cjs.map +0 -1
  302. package/dist/cjs/ProgressBar/ProgressBar.styles.cjs.map +0 -1
  303. package/dist/cjs/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs.map +0 -1
  304. package/dist/cjs/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.cjs.map +0 -1
  305. package/dist/cjs/QueryBuilder/Context.cjs.map +0 -1
  306. package/dist/cjs/QueryBuilder/QueryBuilder.cjs.map +0 -1
  307. package/dist/cjs/QueryBuilder/QueryBuilder.styles.cjs.map +0 -1
  308. package/dist/cjs/QueryBuilder/Rule/Attribute/Attribute.cjs.map +0 -1
  309. package/dist/cjs/QueryBuilder/Rule/Operator/Operator.cjs.map +0 -1
  310. package/dist/cjs/QueryBuilder/Rule/Rule.cjs.map +0 -1
  311. package/dist/cjs/QueryBuilder/Rule/Rule.styles.cjs.map +0 -1
  312. package/dist/cjs/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.cjs.map +0 -1
  313. package/dist/cjs/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs.map +0 -1
  314. package/dist/cjs/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.cjs.map +0 -1
  315. package/dist/cjs/QueryBuilder/Rule/Value/DateTimeValue/utils.cjs.map +0 -1
  316. package/dist/cjs/QueryBuilder/Rule/Value/EmptyValue/EmptyValue.cjs.map +0 -1
  317. package/dist/cjs/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.cjs.map +0 -1
  318. package/dist/cjs/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs.map +0 -1
  319. package/dist/cjs/QueryBuilder/Rule/Value/TextValue/TextValue.cjs.map +0 -1
  320. package/dist/cjs/QueryBuilder/Rule/Value/TextValue/TextValue.styles.cjs.map +0 -1
  321. package/dist/cjs/QueryBuilder/Rule/Value/Value.cjs.map +0 -1
  322. package/dist/cjs/QueryBuilder/RuleGroup/RuleGroup.cjs.map +0 -1
  323. package/dist/cjs/QueryBuilder/types.cjs.map +0 -1
  324. package/dist/cjs/QueryBuilder/utils/index.cjs.map +0 -1
  325. package/dist/cjs/QueryBuilder/utils/reducer.cjs.map +0 -1
  326. package/dist/cjs/Radio/Radio.cjs.map +0 -1
  327. package/dist/cjs/Radio/Radio.styles.cjs.map +0 -1
  328. package/dist/cjs/RadioGroup/RadioGroup.cjs.map +0 -1
  329. package/dist/cjs/RadioGroup/RadioGroup.styles.cjs.map +0 -1
  330. package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs.map +0 -1
  331. package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.cjs.map +0 -1
  332. package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.cjs.map +0 -1
  333. package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.styles.cjs.map +0 -1
  334. package/dist/cjs/ScrollTo/Vertical/ScrollToVertical.cjs.map +0 -1
  335. package/dist/cjs/ScrollTo/Vertical/ScrollToVertical.styles.cjs.map +0 -1
  336. package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs.map +0 -1
  337. package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs.map +0 -1
  338. package/dist/cjs/ScrollTo/useScrollTo.cjs.map +0 -1
  339. package/dist/cjs/ScrollTo/utils.cjs.map +0 -1
  340. package/dist/cjs/ScrollTo/withTooltip.cjs +0 -17
  341. package/dist/cjs/ScrollTo/withTooltip.cjs.map +0 -1
  342. package/dist/cjs/Section/Section.cjs.map +0 -1
  343. package/dist/cjs/Section/Section.styles.cjs.map +0 -1
  344. package/dist/cjs/Select/Option.cjs.map +0 -1
  345. package/dist/cjs/Select/OptionGroup.cjs.map +0 -1
  346. package/dist/cjs/Select/Select.cjs.map +0 -1
  347. package/dist/cjs/Select/Select.styles.cjs.map +0 -1
  348. package/dist/cjs/SelectionList/SelectionList.cjs.map +0 -1
  349. package/dist/cjs/SelectionList/SelectionList.styles.cjs.map +0 -1
  350. package/dist/cjs/SimpleGrid/SimpleGrid.cjs.map +0 -1
  351. package/dist/cjs/SimpleGrid/SimpleGrid.styles.cjs.map +0 -1
  352. package/dist/cjs/Skeleton/Skeleton.cjs.map +0 -1
  353. package/dist/cjs/Skeleton/Skeleton.styles.cjs.map +0 -1
  354. package/dist/cjs/Slider/Slider.cjs.map +0 -1
  355. package/dist/cjs/Slider/Slider.styles.cjs.map +0 -1
  356. package/dist/cjs/Slider/SliderInput/SliderInput.cjs.map +0 -1
  357. package/dist/cjs/Slider/SliderInput/SliderInput.styles.cjs.map +0 -1
  358. package/dist/cjs/Slider/base.cjs.map +0 -1
  359. package/dist/cjs/Slider/utils.cjs.map +0 -1
  360. package/dist/cjs/Snackbar/Snackbar.cjs.map +0 -1
  361. package/dist/cjs/Snackbar/Snackbar.styles.cjs.map +0 -1
  362. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.cjs.map +0 -1
  363. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.styles.cjs.map +0 -1
  364. package/dist/cjs/SnackbarProvider/SnackbarProvider.cjs.map +0 -1
  365. package/dist/cjs/SnackbarProvider/SnackbarProvider.styles.cjs.map +0 -1
  366. package/dist/cjs/Stack/Stack.cjs.map +0 -1
  367. package/dist/cjs/Stack/Stack.styles.cjs.map +0 -1
  368. package/dist/cjs/Switch/Switch.cjs.map +0 -1
  369. package/dist/cjs/Switch/Switch.styles.cjs.map +0 -1
  370. package/dist/cjs/Tab/Tab.cjs.map +0 -1
  371. package/dist/cjs/Tab/Tab.styles.cjs.map +0 -1
  372. package/dist/cjs/Table/Table.cjs.map +0 -1
  373. package/dist/cjs/Table/Table.styles.cjs.map +0 -1
  374. package/dist/cjs/Table/TableBody/TableBody.cjs.map +0 -1
  375. package/dist/cjs/Table/TableBody/TableBody.styles.cjs.map +0 -1
  376. package/dist/cjs/Table/TableCell/TableCell.cjs.map +0 -1
  377. package/dist/cjs/Table/TableCell/TableCell.styles.cjs.map +0 -1
  378. package/dist/cjs/Table/TableContainer/TableContainer.cjs.map +0 -1
  379. package/dist/cjs/Table/TableContainer/TableContainer.styles.cjs.map +0 -1
  380. package/dist/cjs/Table/TableContext.cjs.map +0 -1
  381. package/dist/cjs/Table/TableHead/TableHead.cjs.map +0 -1
  382. package/dist/cjs/Table/TableHead/TableHead.styles.cjs.map +0 -1
  383. package/dist/cjs/Table/TableHeader/TableHeader.cjs.map +0 -1
  384. package/dist/cjs/Table/TableHeader/TableHeader.styles.cjs.map +0 -1
  385. package/dist/cjs/Table/TableHeader/utils.cjs.map +0 -1
  386. package/dist/cjs/Table/TableRow/TableRow.cjs.map +0 -1
  387. package/dist/cjs/Table/TableRow/TableRow.styles.cjs.map +0 -1
  388. package/dist/cjs/Table/TableSectionContext.cjs.map +0 -1
  389. package/dist/cjs/Table/hooks/useBulkActions.cjs.map +0 -1
  390. package/dist/cjs/Table/hooks/useFilters.cjs.map +0 -1
  391. package/dist/cjs/Table/hooks/useGlobalFilter.cjs.map +0 -1
  392. package/dist/cjs/Table/hooks/useHeaderGroups.cjs.map +0 -1
  393. package/dist/cjs/Table/hooks/usePagination.cjs.map +0 -1
  394. package/dist/cjs/Table/hooks/useResizeColumns.cjs.map +0 -1
  395. package/dist/cjs/Table/hooks/useRowExpand.cjs.map +0 -1
  396. package/dist/cjs/Table/hooks/useRowSelection.cjs.map +0 -1
  397. package/dist/cjs/Table/hooks/useRowState.cjs.map +0 -1
  398. package/dist/cjs/Table/hooks/useSortBy.cjs.map +0 -1
  399. package/dist/cjs/Table/hooks/useSticky.cjs.map +0 -1
  400. package/dist/cjs/Table/hooks/useTable.cjs.map +0 -1
  401. package/dist/cjs/Table/hooks/useTableStyles.cjs.map +0 -1
  402. package/dist/cjs/Table/renderers/DateColumnCell/DateColumnCell.cjs.map +0 -1
  403. package/dist/cjs/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +0 -1
  404. package/dist/cjs/Table/renderers/ProgressColumnCell/ProgressColumnCell.cjs.map +0 -1
  405. package/dist/cjs/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs.map +0 -1
  406. package/dist/cjs/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +0 -1
  407. package/dist/cjs/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.cjs.map +0 -1
  408. package/dist/cjs/Table/renderers/renderers.cjs.map +0 -1
  409. package/dist/cjs/Table/utils/fallbacks.cjs.map +0 -1
  410. package/dist/cjs/Table/utils/utils.cjs.map +0 -1
  411. package/dist/cjs/TableSection/TableSection.cjs.map +0 -1
  412. package/dist/cjs/TableSection/TableSection.styles.cjs.map +0 -1
  413. package/dist/cjs/Tabs/Tabs.cjs.map +0 -1
  414. package/dist/cjs/Tabs/Tabs.styles.cjs.map +0 -1
  415. package/dist/cjs/Tag/Tag.cjs.map +0 -1
  416. package/dist/cjs/Tag/Tag.styles.cjs.map +0 -1
  417. package/dist/cjs/TagsInput/TagsInput.cjs.map +0 -1
  418. package/dist/cjs/TagsInput/TagsInput.styles.cjs.map +0 -1
  419. package/dist/cjs/TextArea/TextArea.cjs.map +0 -1
  420. package/dist/cjs/TextArea/TextArea.styles.cjs.map +0 -1
  421. package/dist/cjs/TimeAgo/TimeAgo.cjs.map +0 -1
  422. package/dist/cjs/TimeAgo/TimeAgo.styles.cjs.map +0 -1
  423. package/dist/cjs/TimeAgo/formatUtils.cjs.map +0 -1
  424. package/dist/cjs/TimeAgo/useTimeAgo.cjs.map +0 -1
  425. package/dist/cjs/TimeAgo/useTimeout.cjs.map +0 -1
  426. package/dist/cjs/TimePicker/Placeholder.cjs.map +0 -1
  427. package/dist/cjs/TimePicker/TimePicker.cjs.map +0 -1
  428. package/dist/cjs/TimePicker/TimePicker.styles.cjs.map +0 -1
  429. package/dist/cjs/TimePicker/Unit/Unit.cjs.map +0 -1
  430. package/dist/cjs/TimePicker/Unit/Unit.styles.cjs.map +0 -1
  431. package/dist/cjs/ToggleButton/ToggleButton.cjs.map +0 -1
  432. package/dist/cjs/Tooltip/Tooltip.cjs.map +0 -1
  433. package/dist/cjs/Tooltip/Tooltip.styles.cjs.map +0 -1
  434. package/dist/cjs/TreeView/TreeItem/DefaultContent.cjs.map +0 -1
  435. package/dist/cjs/TreeView/TreeItem/TreeItem.cjs.map +0 -1
  436. package/dist/cjs/TreeView/TreeItem/TreeItem.styles.cjs.map +0 -1
  437. package/dist/cjs/TreeView/TreeItem/useHvTreeItem.cjs.map +0 -1
  438. package/dist/cjs/TreeView/TreeView.cjs.map +0 -1
  439. package/dist/cjs/TreeView/TreeView.styles.cjs.map +0 -1
  440. package/dist/cjs/TreeView/internals/DescendantProvider.cjs.map +0 -1
  441. package/dist/cjs/TreeView/internals/TreeViewProvider.cjs.map +0 -1
  442. package/dist/cjs/TreeView/internals/corePlugins.cjs.map +0 -1
  443. package/dist/cjs/TreeView/internals/hooks/plugins/defaultPlugins.cjs.map +0 -1
  444. package/dist/cjs/TreeView/internals/hooks/plugins/useTreeViewContextValueBuilder.cjs.map +0 -1
  445. package/dist/cjs/TreeView/internals/hooks/plugins/useTreeViewExpansion.cjs.map +0 -1
  446. package/dist/cjs/TreeView/internals/hooks/plugins/useTreeViewFocus.cjs.map +0 -1
  447. package/dist/cjs/TreeView/internals/hooks/plugins/useTreeViewKeyboardNavigation.cjs.map +0 -1
  448. package/dist/cjs/TreeView/internals/hooks/plugins/useTreeViewNodes.cjs.map +0 -1
  449. package/dist/cjs/TreeView/internals/hooks/plugins/useTreeViewSelection.cjs.map +0 -1
  450. package/dist/cjs/TreeView/internals/hooks/useInstanceEventHandler.cjs.map +0 -1
  451. package/dist/cjs/TreeView/internals/hooks/useTreeView.cjs.map +0 -1
  452. package/dist/cjs/TreeView/internals/hooks/useTreeViewInstanceEvents.cjs.map +0 -1
  453. package/dist/cjs/TreeView/internals/hooks/useTreeViewModels.cjs.map +0 -1
  454. package/dist/cjs/TreeView/internals/hooks/utils.cjs.map +0 -1
  455. package/dist/cjs/TreeView/internals/utils/EventManager.cjs.map +0 -1
  456. package/dist/cjs/TreeView/internals/utils/FinalizationRegistryBasedCleanupTracking.cjs.map +0 -1
  457. package/dist/cjs/TreeView/internals/utils/TimerBasedCleanupTracking.cjs.map +0 -1
  458. package/dist/cjs/TreeView/internals/utils/publishTreeViewEvent.cjs.map +0 -1
  459. package/dist/cjs/Typography/Typography.cjs.map +0 -1
  460. package/dist/cjs/Typography/Typography.styles.cjs.map +0 -1
  461. package/dist/cjs/Typography/utils.cjs.map +0 -1
  462. package/dist/cjs/VerticalNavigation/Actions/Action.cjs.map +0 -1
  463. package/dist/cjs/VerticalNavigation/Actions/Action.styles.cjs.map +0 -1
  464. package/dist/cjs/VerticalNavigation/Actions/Actions.cjs.map +0 -1
  465. package/dist/cjs/VerticalNavigation/Actions/Actions.styles.cjs.map +0 -1
  466. package/dist/cjs/VerticalNavigation/Header/Header.cjs.map +0 -1
  467. package/dist/cjs/VerticalNavigation/Header/Header.styles.cjs.map +0 -1
  468. package/dist/cjs/VerticalNavigation/Navigation/Navigation.cjs.map +0 -1
  469. package/dist/cjs/VerticalNavigation/Navigation/Navigation.styles.cjs.map +0 -1
  470. package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs.map +0 -1
  471. package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs.map +0 -1
  472. package/dist/cjs/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +0 -1
  473. package/dist/cjs/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs.map +0 -1
  474. package/dist/cjs/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.cjs.map +0 -1
  475. package/dist/cjs/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs.map +0 -1
  476. package/dist/cjs/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.cjs.map +0 -1
  477. package/dist/cjs/VerticalNavigation/TreeView/TreeView.cjs.map +0 -1
  478. package/dist/cjs/VerticalNavigation/TreeView/TreeView.styles.cjs.map +0 -1
  479. package/dist/cjs/VerticalNavigation/TreeView/TreeViewContext.cjs.map +0 -1
  480. package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.cjs.map +0 -1
  481. package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.styles.cjs.map +0 -1
  482. package/dist/cjs/VerticalNavigation/TreeView/descendants.cjs.map +0 -1
  483. package/dist/cjs/VerticalNavigation/VerticalNavigation.cjs.map +0 -1
  484. package/dist/cjs/VerticalNavigation/VerticalNavigation.styles.cjs.map +0 -1
  485. package/dist/cjs/VerticalNavigation/VerticalNavigationContext.cjs.map +0 -1
  486. package/dist/cjs/VerticalNavigation/utils/VerticalNavigation.utils.cjs.map +0 -1
  487. package/dist/cjs/hocs/withTooltip.cjs.map +0 -1
  488. package/dist/cjs/hooks/useClickOutside.cjs.map +0 -1
  489. package/dist/cjs/hooks/useComputation.cjs.map +0 -1
  490. package/dist/cjs/hooks/useControlled.cjs.map +0 -1
  491. package/dist/cjs/hooks/useCss.cjs.map +0 -1
  492. package/dist/cjs/hooks/useDefaultProps.cjs.map +0 -1
  493. package/dist/cjs/hooks/useEmotionCache.cjs.map +0 -1
  494. package/dist/cjs/hooks/useEnhancedEffect.cjs.map +0 -1
  495. package/dist/cjs/hooks/useForkRef.cjs.map +0 -1
  496. package/dist/cjs/hooks/useImageLoaded.cjs.map +0 -1
  497. package/dist/cjs/hooks/useIsMounted.cjs.map +0 -1
  498. package/dist/cjs/hooks/useLabels.cjs.map +0 -1
  499. package/dist/cjs/hooks/useTheme.cjs.map +0 -1
  500. package/dist/cjs/hooks/useUniqueId.cjs.map +0 -1
  501. package/dist/cjs/hooks/useWidth.cjs.map +0 -1
  502. package/dist/cjs/index.cjs.map +0 -1
  503. package/dist/cjs/providers/Provider.cjs.map +0 -1
  504. package/dist/cjs/providers/ThemeProvider.cjs.map +0 -1
  505. package/dist/cjs/types/generic.cjs.map +0 -1
  506. package/dist/cjs/utils/ConditionalWrapper.cjs.map +0 -1
  507. package/dist/cjs/utils/Random.cjs.map +0 -1
  508. package/dist/cjs/utils/browser.cjs.map +0 -1
  509. package/dist/cjs/utils/checkValidHexColorValue.cjs.map +0 -1
  510. package/dist/cjs/utils/classes.cjs.map +0 -1
  511. package/dist/cjs/utils/document.cjs.map +0 -1
  512. package/dist/cjs/utils/focusUtils.cjs.map +0 -1
  513. package/dist/cjs/utils/focusableElementFinder.cjs.map +0 -1
  514. package/dist/cjs/utils/getComponentName.cjs.map +0 -1
  515. package/dist/cjs/utils/helpers.cjs.map +0 -1
  516. package/dist/cjs/utils/hexToRgbA.cjs.map +0 -1
  517. package/dist/cjs/utils/iconVariant.cjs.map +0 -1
  518. package/dist/cjs/utils/keyboardUtils.cjs.map +0 -1
  519. package/dist/cjs/utils/multiSelectionEventHandler.cjs.map +0 -1
  520. package/dist/cjs/utils/setId.cjs.map +0 -1
  521. package/dist/cjs/utils/sizes.cjs.map +0 -1
  522. package/dist/cjs/utils/theme.cjs.map +0 -1
  523. package/dist/cjs/utils/useSavedState.cjs.map +0 -1
  524. package/dist/cjs/utils/wrapperTooltip.cjs.map +0 -1
  525. package/dist/esm/ScrollTo/withTooltip.js +0 -17
  526. package/dist/esm/ScrollTo/withTooltip.js.map +0 -1
@@ -4,14 +4,14 @@ import { FixedSizeList } from "react-window";
4
4
  import { DropRightXS } from "@hitachivantara/uikit-react-icons";
5
5
  import { useDefaultProps } from "../hooks/useDefaultProps.js";
6
6
  import { setId } from "../utils/setId.js";
7
- import { wrapperTooltip } from "../utils/wrapperTooltip.js";
8
7
  import { useClasses } from "./List.styles.js";
9
8
  import { staticClasses } from "./List.styles.js";
10
9
  import { useSelectableList } from "./useSelectableList.js";
11
10
  import { parseList } from "./utils.js";
12
11
  import { HvCheckBox } from "../CheckBox/CheckBox.js";
13
- import { HvRadio } from "../Radio/Radio.js";
12
+ import { HvOverflowTooltip } from "../OverflowTooltip/OverflowTooltip.js";
14
13
  import { HvLink } from "../Link/Link.js";
14
+ import { HvRadio } from "../Radio/Radio.js";
15
15
  import { HvListContainer } from "../ListContainer/ListContainer.js";
16
16
  import { HvTypography } from "../Typography/Typography.js";
17
17
  import { HvListItem } from "../ListContainer/ListItem/ListItem.js";
@@ -25,6 +25,7 @@ const HvList = (props) => {
25
25
  classes: classesProp,
26
26
  className,
27
27
  multiSelect = false,
28
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
28
29
  hasTooltips = false,
29
30
  showSelectAll = false,
30
31
  labels = DEFAULT_LABELS,
@@ -115,65 +116,32 @@ const HvList = (props) => {
115
116
  );
116
117
  };
117
118
  const renderItemText = (item) => {
118
- const ItemText = wrapperTooltip(hasTooltips, item.label, item.label);
119
- return !multiSelect && item.path ? /* @__PURE__ */ jsx(HvLink, { route: item.path, classes: { a: classes.link }, children: /* @__PURE__ */ jsx(ItemText, {}) }, item.label) : /* @__PURE__ */ jsx(ItemText, {});
120
- };
121
- const renderMultiSelectItem = (item, itemId) => {
122
- if (useSelector) {
123
- const Selection = wrapperTooltip(
124
- hasTooltips,
125
- /* @__PURE__ */ jsx(
126
- HvCheckBox,
127
- {
128
- id: setId(itemId, "selector"),
129
- label: item.label,
130
- checked: item.selected,
131
- disabled: item.disabled,
132
- onChange: (evt) => handleSelect(evt, item),
133
- classes: {
134
- root: classes.selectorRoot,
135
- container: classes.selectorContainer,
136
- label: classes.truncate
137
- }
138
- }
139
- ),
140
- item.label
141
- );
142
- return /* @__PURE__ */ jsx(Selection, {});
143
- }
144
- return renderItemText(item);
119
+ return !multiSelect && item.path ? /* @__PURE__ */ jsx(HvLink, { route: item.path, classes: { a: classes.link }, children: /* @__PURE__ */ jsx(HvOverflowTooltip, { data: item.label }) }) : /* @__PURE__ */ jsx(HvOverflowTooltip, { data: item.label });
145
120
  };
146
- const renderSingleSelectItem = (item, itemId) => {
147
- if (useSelector) {
148
- const Selection = wrapperTooltip(
149
- hasTooltips,
150
- /* @__PURE__ */ jsx(
151
- HvRadio,
152
- {
153
- id: setId(itemId, "selector"),
154
- label: item.label,
155
- checked: item.selected,
156
- disabled: item.disabled,
157
- classes: {
158
- root: classes.selectorRoot,
159
- container: classes.selectorContainer,
160
- label: classes.truncate
161
- }
162
- }
163
- ),
164
- item.label
165
- );
166
- return /* @__PURE__ */ jsx(Selection, {});
167
- }
168
- return renderItemText(item);
121
+ const renderSelectItem = (item, itemId) => {
122
+ if (!useSelector)
123
+ return renderItemText(item);
124
+ const Component = multiSelect ? HvCheckBox : HvRadio;
125
+ return /* @__PURE__ */ jsx(
126
+ Component,
127
+ {
128
+ id: setId(itemId, "selector"),
129
+ label: /* @__PURE__ */ jsx(HvOverflowTooltip, { data: item.label }),
130
+ checked: item.selected || false,
131
+ disabled: item.disabled,
132
+ onChange: multiSelect ? (evt) => handleSelect(evt, item) : void 0,
133
+ classes: {
134
+ root: classes.selectorRoot,
135
+ container: classes.selectorContainer,
136
+ label: classes.truncate
137
+ }
138
+ }
139
+ );
169
140
  };
170
141
  const renderListItem = (item, i, otherProps = {}) => {
171
142
  const itemId = setId(id, "item", i);
172
143
  const selected = item.selected || false;
173
- let startAdornment = null;
174
- if (!useSelector && item.icon) {
175
- startAdornment = renderLeftIcon(item);
176
- }
144
+ const startAdornment = !useSelector && item.icon ? renderLeftIcon(item) : null;
177
145
  return /* @__PURE__ */ jsx(
178
146
  HvListItem,
179
147
  {
@@ -191,7 +159,7 @@ const HvList = (props) => {
191
159
  startAdornment,
192
160
  endAdornment: item.showNavIcon && /* @__PURE__ */ jsx(DropRightXS, { className: classes.box, iconSize: "XS" }),
193
161
  ...otherProps,
194
- children: multiSelect ? renderMultiSelectItem(item, itemId) : renderSingleSelectItem(item, itemId)
162
+ children: renderSelectItem(item, itemId)
195
163
  },
196
164
  i
197
165
  );
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sources":["../../../src/List/List.tsx"],"sourcesContent":["import {\n AriaRole,\n forwardRef,\n isValidElement,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\nimport { FixedSizeList } from \"react-window\";\nimport { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvCheckBox } from \"../CheckBox\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { HvLink } from \"../Link\";\nimport {\n HvListContainer,\n HvListContainerProps,\n HvListItem,\n} from \"../ListContainer\";\nimport { HvRadio } from \"../Radio\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport { wrapperTooltip } from \"../utils/wrapperTooltip\";\nimport { staticClasses, useClasses } from \"./List.styles\";\nimport { HvListLabels, HvListValue } from \"./types\";\nimport { useSelectableList } from \"./useSelectableList\";\nimport { parseList } from \"./utils\";\n\nexport { staticClasses as listClasses };\n\nexport type HvListClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvListProps\n extends HvBaseProps<HTMLUListElement, \"onChange\" | \"onClick\"> {\n /**\n * A list containing the elements to be rendered.\n *\n * - id: The id of the item.\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 * - isHidden: Is item visible.\n * - icon: The icon.\n * - showNavIcon: If true renders the navigation icon on the right.\n * - path: The path to navigate to.\n */\n values: HvListValue[];\n /** If true renders a multi select list. */\n multiSelect?: boolean;\n /**\n * If true renders select all option for multi selection lists with selectors.\n * note: It will only be rendered if multiSelect and useSelector props are set to true.\n */\n showSelectAll?: boolean;\n /** An object containing all the labels for the dropdown. */\n labels?: HvListLabels;\n /** If true renders list items with radio or checkbox selectors. */\n useSelector?: boolean;\n /** Call back fired when list item is selected. Returns selection state. */\n onChange?: (value: HvListValue[]) => void;\n /** Call back fired when list item is selected. Returns selected item. */\n onClick?: (\n event: React.ChangeEvent<HTMLLIElement>,\n value: HvListValue,\n ) => void;\n /** If `true` the list items will show the selection state. */\n selectable?: boolean;\n /** If `true`, selection can be toggled when single selection. */\n singleSelectionToggle?: boolean;\n /** If `true` the list will be rendered without vertical spacing. */\n condensed?: boolean;\n /** If `true` the dropdown will show tooltips when user mouseenter text in list */\n hasTooltips?: boolean;\n /** Experimental. Height of the dropdown, in case you want to control it from a prop. Styles can also be used through dropdownListContainer class. Required in case virtualized is used */\n height?: number;\n /** Experimental. Uses dropdown in a virtualized form, where not all options are rendered initially. Good for use cases with a lot of options. */\n virtualized?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListClasses;\n}\n\nconst DEFAULT_LABELS = {\n selectAll: \"Select All\",\n selectionConjunction: \"/\",\n};\n\n/**\n * Component used to show a set of related data to the user.\n */\nexport const HvList = (props: HvListProps) => {\n const {\n id,\n classes: classesProp,\n className,\n multiSelect = false,\n hasTooltips = false,\n showSelectAll = false,\n labels = DEFAULT_LABELS,\n useSelector = false,\n selectable = true,\n singleSelectionToggle = true,\n condensed = false,\n onChange,\n onClick,\n values: valuesProp = [],\n height,\n virtualized = false,\n ...others\n } = useDefaultProps(\"HvList\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const [list, setList, selection] = useSelectableList(valuesProp);\n const listRef = useRef<any>(null);\n\n useEffect(() => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList: HvListValue[] = parseList(\n undefined,\n passedProps,\n undefined,\n valuesProp,\n );\n\n setList(parsedList);\n }, [valuesProp, multiSelect, selectable, singleSelectionToggle, setList]);\n\n const [role, itemRole] = useMemo<[AriaRole, AriaRole]>(() => {\n // selectors are responsible for the role & selection state\n if (selectable && useSelector) return [\"list\", \"listitem\"];\n\n if (selectable) return [\"listbox\", \"option\"];\n return [\"menu\", \"menuitem\"];\n }, [selectable, useSelector]);\n\n const handleSelect = (evt, item) => {\n if (!item.path) evt.preventDefault();\n if (item.disabled) return;\n\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList = parseList(item, passedProps, undefined, list);\n setList(parsedList);\n\n onClick?.(evt, item);\n onChange?.(parsedList);\n };\n\n const handleSelectAll = () => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const anySelectableSelected = list.some(\n (elem) => elem.selected || elem.disabled,\n );\n const parsedList = parseList(\n undefined,\n passedProps,\n !anySelectableSelected,\n list,\n );\n setList(parsedList);\n\n onChange?.(parsedList);\n };\n\n const renderLeftIcon = (item) => {\n return isValidElement(item.icon)\n ? item.icon\n : item.icon?.({\n isSelected: item.selected,\n isDisabled: item.disabled,\n });\n };\n\n const renderSelectAll = () => {\n const { selectAll, selectionConjunction } = labels;\n\n const anySelected = !!selection?.length;\n const allSelected = selection.length === list.length;\n\n const selectionLabel = (\n <HvTypography component=\"span\">\n {!anySelected ? (\n <>\n <b>{selectAll}</b>\n {` (${list.length})`}\n </>\n ) : (\n <>\n <b>{selection.length}</b>\n {`\\xa0${selectionConjunction}\\xa0`}\n {list.length}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={selectionLabel}\n onChange={handleSelectAll}\n className={classes.selectAllSelector}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n );\n };\n\n const renderItemText = (item) => {\n const ItemText = wrapperTooltip(hasTooltips, item.label, item.label);\n\n return !multiSelect && item.path ? (\n <HvLink key={item.label} route={item.path} classes={{ a: classes.link }}>\n <ItemText />\n </HvLink>\n ) : (\n <ItemText />\n );\n };\n\n const renderMultiSelectItem = (item, itemId) => {\n if (useSelector) {\n const Selection = wrapperTooltip(\n hasTooltips,\n <HvCheckBox\n id={setId(itemId, \"selector\")}\n label={item.label}\n checked={item.selected}\n disabled={item.disabled}\n onChange={(evt) => handleSelect(evt, item)}\n classes={{\n root: classes.selectorRoot,\n container: classes.selectorContainer,\n label: classes.truncate,\n }}\n />,\n item.label,\n );\n return <Selection />;\n }\n\n return renderItemText(item);\n };\n\n const renderSingleSelectItem = (item, itemId) => {\n if (useSelector) {\n const Selection = wrapperTooltip(\n hasTooltips,\n <HvRadio\n id={setId(itemId, \"selector\")}\n label={item.label}\n checked={item.selected}\n disabled={item.disabled}\n classes={{\n root: classes.selectorRoot,\n container: classes.selectorContainer,\n label: classes.truncate,\n }}\n />,\n item.label,\n );\n return <Selection />;\n }\n return renderItemText(item);\n };\n\n const renderListItem = (item, i, otherProps = {}) => {\n const itemId = setId(id, \"item\", i);\n const selected = item.selected || false;\n\n let startAdornment = null;\n if (!useSelector && item.icon) {\n startAdornment = renderLeftIcon(item);\n }\n\n return (\n <HvListItem\n key={i}\n id={itemId}\n role={itemRole}\n disabled={item.disabled || undefined}\n className={classes.item}\n classes={{\n selected: cx({\n [classes.itemSelector]: useSelector || multiSelect,\n }),\n }}\n selected={multiSelect || selected ? selected : undefined}\n onClick={(evt) => handleSelect(evt, item)}\n startAdornment={startAdornment}\n endAdornment={\n item.showNavIcon && (\n <DropRightXS className={classes.box} iconSize=\"XS\" />\n )\n }\n {...otherProps}\n >\n {multiSelect\n ? renderMultiSelectItem(item, itemId)\n : renderSingleSelectItem(item, itemId)}\n </HvListItem>\n );\n };\n\n const filteredList = list.filter((it) => !it.isHidden);\n const anySelected = list\n .map((item) => item.selected && !item.disabled)\n .reduce((result, selected) => result || selected, false);\n\n const selectedItemIndex = list.findIndex((item) => item.selected);\n useEffect(() => {\n if (selectedItemIndex >= 0 && listRef.current !== null) {\n listRef.current.scrollToItem(selectedItemIndex);\n }\n }, [listRef, selectedItemIndex]);\n\n const renderVirtualizedListItem = ({ index, style }) => {\n const item = filteredList[index];\n const tabIndex =\n item.tabIndex ||\n (!anySelected && index === 0) ||\n (item.selected && !item.disabled)\n ? 0\n : -1;\n\n return renderListItem(item, index, {\n style: {\n ...style,\n top: `${parseFloat(style.top) + 5}px`,\n left: `${parseFloat(style.left) + 5}px`,\n width: `calc(${parseFloat(style.width)}% - 10px)`,\n },\n tabIndex,\n interactive: true,\n condensed,\n disableGutters: useSelector,\n });\n };\n\n const ariaMultiSelectable = (role === \"listbox\" && multiSelect) || undefined;\n\n const ListContainer = useMemo(() => {\n return forwardRef<HTMLUListElement, HvListContainerProps>(\n ({ ...rest }, ref) => (\n <HvListContainer\n id={id}\n className={cx(classes.root, className)}\n role={role}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={ariaMultiSelectable}\n ref={ref}\n {...rest}\n />\n ),\n );\n }, [\n cx,\n id,\n useSelector,\n className,\n classes.root,\n role,\n condensed,\n ariaMultiSelectable,\n ]);\n\n // Render nothing if there are no items\n if (filteredList.length === 0) return null;\n\n return (\n <>\n {multiSelect && useSelector && showSelectAll && renderSelectAll()}\n\n {!virtualized ? (\n <HvListContainer\n id={id}\n className={cx(classes.root, className)}\n role={role}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={ariaMultiSelectable}\n {...others}\n >\n {filteredList.map((item, i) => renderListItem(item, i))}\n </HvListContainer>\n ) : (\n <FixedSizeList\n ref={listRef}\n className={classes.virtualizedRoot}\n height={(height || 0) + 5}\n width=\"100%\"\n itemCount={filteredList.length}\n itemSize={condensed ? 32 : 40}\n innerElementType={ListContainer}\n {...others}\n >\n {renderVirtualizedListItem}\n </FixedSizeList>\n )}\n </>\n );\n};\n"],"names":["anySelected"],"mappings":"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"}
1
+ {"version":3,"file":"List.js","sources":["../../../src/List/List.tsx"],"sourcesContent":["import {\n AriaRole,\n forwardRef,\n isValidElement,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\nimport { FixedSizeList } from \"react-window\";\nimport { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvCheckBox } from \"../CheckBox\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { HvLink } from \"../Link\";\nimport {\n HvListContainer,\n HvListContainerProps,\n HvListItem,\n} from \"../ListContainer\";\nimport { HvOverflowTooltip } from \"../OverflowTooltip\";\nimport { HvRadio } from \"../Radio\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./List.styles\";\nimport { HvListLabels, HvListValue } from \"./types\";\nimport { useSelectableList } from \"./useSelectableList\";\nimport { parseList } from \"./utils\";\n\nexport { staticClasses as listClasses };\n\nexport type HvListClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvListProps\n extends HvBaseProps<HTMLUListElement, \"onChange\" | \"onClick\"> {\n /**\n * A list containing the elements to be rendered.\n *\n * - id: The id of the item.\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 * - isHidden: Is item visible.\n * - icon: The icon.\n * - showNavIcon: If true renders the navigation icon on the right.\n * - path: The path to navigate to.\n */\n values: HvListValue[];\n /** If true renders a multi select list. */\n multiSelect?: boolean;\n /**\n * If true renders select all option for multi selection lists with selectors.\n * note: It will only be rendered if multiSelect and useSelector props are set to true.\n */\n showSelectAll?: boolean;\n /** An object containing all the labels for the dropdown. */\n labels?: HvListLabels;\n /** If true renders list items with radio or checkbox selectors. */\n useSelector?: boolean;\n /** Call back fired when list item is selected. Returns selection state. */\n onChange?: (value: HvListValue[]) => void;\n /** Call back fired when list item is selected. Returns selected item. */\n onClick?: (\n event: React.ChangeEvent<HTMLLIElement>,\n value: HvListValue,\n ) => void;\n /** If `true` the list items will show the selection state. */\n selectable?: boolean;\n /** If `true`, selection can be toggled when single selection. */\n singleSelectionToggle?: boolean;\n /** If `true` the list will be rendered without vertical spacing. */\n condensed?: boolean;\n /** If `true` the dropdown will show tooltips when user mouseenter text in list. @deprecated this is always enabled */\n hasTooltips?: boolean;\n /** Experimental. Height of the dropdown, in case you want to control it from a prop. Styles can also be used through dropdownListContainer class. Required in case virtualized is used */\n height?: number;\n /** Experimental. Uses dropdown in a virtualized form, where not all options are rendered initially. Good for use cases with a lot of options. */\n virtualized?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvListClasses;\n}\n\nconst DEFAULT_LABELS = {\n selectAll: \"Select All\",\n selectionConjunction: \"/\",\n};\n\n/**\n * Component used to show a set of related data to the user.\n */\nexport const HvList = (props: HvListProps) => {\n const {\n id,\n classes: classesProp,\n className,\n multiSelect = false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n hasTooltips = false,\n showSelectAll = false,\n labels = DEFAULT_LABELS,\n useSelector = false,\n selectable = true,\n singleSelectionToggle = true,\n condensed = false,\n onChange,\n onClick,\n values: valuesProp = [],\n height,\n virtualized = false,\n ...others\n } = useDefaultProps(\"HvList\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const [list, setList, selection] = useSelectableList(valuesProp);\n const listRef = useRef<any>(null);\n\n useEffect(() => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList: HvListValue[] = parseList(\n undefined,\n passedProps,\n undefined,\n valuesProp,\n );\n\n setList(parsedList);\n }, [valuesProp, multiSelect, selectable, singleSelectionToggle, setList]);\n\n const [role, itemRole] = useMemo<[AriaRole, AriaRole]>(() => {\n // selectors are responsible for the role & selection state\n if (selectable && useSelector) return [\"list\", \"listitem\"];\n\n if (selectable) return [\"listbox\", \"option\"];\n return [\"menu\", \"menuitem\"];\n }, [selectable, useSelector]);\n\n const handleSelect = (evt, item) => {\n if (!item.path) evt.preventDefault();\n if (item.disabled) return;\n\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList = parseList(item, passedProps, undefined, list);\n setList(parsedList);\n\n onClick?.(evt, item);\n onChange?.(parsedList);\n };\n\n const handleSelectAll = () => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const anySelectableSelected = list.some(\n (elem) => elem.selected || elem.disabled,\n );\n const parsedList = parseList(\n undefined,\n passedProps,\n !anySelectableSelected,\n list,\n );\n setList(parsedList);\n\n onChange?.(parsedList);\n };\n\n const renderLeftIcon = (item) => {\n return isValidElement(item.icon)\n ? item.icon\n : item.icon?.({\n isSelected: item.selected,\n isDisabled: item.disabled,\n });\n };\n\n const renderSelectAll = () => {\n const { selectAll, selectionConjunction } = labels;\n\n const anySelected = !!selection?.length;\n const allSelected = selection.length === list.length;\n\n const selectionLabel = (\n <HvTypography component=\"span\">\n {!anySelected ? (\n <>\n <b>{selectAll}</b>\n {` (${list.length})`}\n </>\n ) : (\n <>\n <b>{selection.length}</b>\n {`\\xa0${selectionConjunction}\\xa0`}\n {list.length}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={selectionLabel}\n onChange={handleSelectAll}\n className={classes.selectAllSelector}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n );\n };\n\n const renderItemText = (item: HvListValue) => {\n return !multiSelect && item.path ? (\n <HvLink route={item.path} classes={{ a: classes.link }}>\n <HvOverflowTooltip data={item.label} />\n </HvLink>\n ) : (\n <HvOverflowTooltip data={item.label} />\n );\n };\n\n const renderSelectItem = (item: HvListValue, itemId?: string) => {\n if (!useSelector) return renderItemText(item);\n\n const Component = multiSelect ? HvCheckBox : HvRadio;\n\n return (\n <Component\n id={setId(itemId, \"selector\")}\n label={<HvOverflowTooltip data={item.label} />}\n checked={item.selected || false}\n disabled={item.disabled}\n onChange={multiSelect ? (evt) => handleSelect(evt, item) : undefined}\n classes={{\n root: classes.selectorRoot,\n container: classes.selectorContainer,\n label: classes.truncate,\n }}\n />\n );\n };\n\n const renderListItem = (item: HvListValue, i: number, otherProps = {}) => {\n const itemId = setId(id, \"item\", i);\n const selected = item.selected || false;\n\n const startAdornment =\n !useSelector && item.icon ? renderLeftIcon(item) : null;\n\n return (\n <HvListItem\n key={i}\n id={itemId}\n role={itemRole}\n disabled={item.disabled || undefined}\n className={classes.item}\n classes={{\n selected: cx({\n [classes.itemSelector]: useSelector || multiSelect,\n }),\n }}\n selected={multiSelect || selected ? selected : undefined}\n onClick={(evt) => handleSelect(evt, item)}\n startAdornment={startAdornment}\n endAdornment={\n item.showNavIcon && (\n <DropRightXS className={classes.box} iconSize=\"XS\" />\n )\n }\n {...otherProps}\n >\n {renderSelectItem(item, itemId)}\n </HvListItem>\n );\n };\n\n const filteredList = list.filter((it) => !it.isHidden);\n const anySelected = list\n .map((item) => item.selected && !item.disabled)\n .reduce((result, selected) => result || selected, false);\n\n const selectedItemIndex = list.findIndex((item) => item.selected);\n useEffect(() => {\n if (selectedItemIndex >= 0 && listRef.current !== null) {\n listRef.current.scrollToItem(selectedItemIndex);\n }\n }, [listRef, selectedItemIndex]);\n\n const renderVirtualizedListItem = ({ index, style }) => {\n const item = filteredList[index];\n const tabIndex =\n item.tabIndex ||\n (!anySelected && index === 0) ||\n (item.selected && !item.disabled)\n ? 0\n : -1;\n\n return renderListItem(item, index, {\n style: {\n ...style,\n top: `${parseFloat(style.top) + 5}px`,\n left: `${parseFloat(style.left) + 5}px`,\n width: `calc(${parseFloat(style.width)}% - 10px)`,\n },\n tabIndex,\n interactive: true,\n condensed,\n disableGutters: useSelector,\n });\n };\n\n const ariaMultiSelectable = (role === \"listbox\" && multiSelect) || undefined;\n\n const ListContainer = useMemo(() => {\n return forwardRef<HTMLUListElement, HvListContainerProps>(\n ({ ...rest }, ref) => (\n <HvListContainer\n id={id}\n className={cx(classes.root, className)}\n role={role}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={ariaMultiSelectable}\n ref={ref}\n {...rest}\n />\n ),\n );\n }, [\n cx,\n id,\n useSelector,\n className,\n classes.root,\n role,\n condensed,\n ariaMultiSelectable,\n ]);\n\n // Render nothing if there are no items\n if (filteredList.length === 0) return null;\n\n return (\n <>\n {multiSelect && useSelector && showSelectAll && renderSelectAll()}\n\n {!virtualized ? (\n <HvListContainer\n id={id}\n className={cx(classes.root, className)}\n role={role}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={ariaMultiSelectable}\n {...others}\n >\n {filteredList.map((item, i) => renderListItem(item, i))}\n </HvListContainer>\n ) : (\n <FixedSizeList\n ref={listRef}\n className={classes.virtualizedRoot}\n height={(height || 0) + 5}\n width=\"100%\"\n itemCount={filteredList.length}\n itemSize={condensed ? 32 : 40}\n innerElementType={ListContainer}\n {...others}\n >\n {renderVirtualizedListItem}\n </FixedSizeList>\n )}\n </>\n );\n};\n"],"names":["anySelected"],"mappings":"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"}
@@ -3,11 +3,11 @@ import { createClasses } from "../utils/classes.js";
3
3
  const { staticClasses, useClasses } = createClasses("HvLoadingContainer", {
4
4
  root: {
5
5
  position: "relative",
6
- height: "inherit",
7
- userSelect: "none"
6
+ height: "inherit"
8
7
  },
9
8
  loading: {
10
9
  position: "absolute",
10
+ userSelect: "none",
11
11
  inset: 0,
12
12
  zIndex: theme.zIndices.overlay,
13
13
  transition: "background-color .2s ease",
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingContainer.styles.js","sources":["../../../src/LoadingContainer/LoadingContainer.styles.ts"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../utils/classes\";\n\nconst { staticClasses, useClasses } = createClasses(\"HvLoadingContainer\", {\n root: {\n position: \"relative\",\n height: \"inherit\",\n userSelect: \"none\",\n },\n loading: {\n position: \"absolute\",\n inset: 0,\n zIndex: theme.zIndices.overlay,\n transition: \"background-color .2s ease\",\n backgroundColor: theme.alpha(\"atmo1\", \"var(--opacity, 0.8)\"),\n },\n});\n\nexport { staticClasses, useClasses };\n"],"names":[],"mappings":";;AAIA,MAAM,EAAE,eAAe,eAAe,cAAc,sBAAsB;AAAA,EACxE,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,YAAY;AAAA,EACd;AAAA,EACA,SAAS;AAAA,IACP,UAAU;AAAA,IACV,OAAO;AAAA,IACP,QAAQ,MAAM,SAAS;AAAA,IACvB,YAAY;AAAA,IACZ,iBAAiB,MAAM,MAAM,SAAS,qBAAqB;AAAA,EAC7D;AACF,CAAC;"}
1
+ {"version":3,"file":"LoadingContainer.styles.js","sources":["../../../src/LoadingContainer/LoadingContainer.styles.ts"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../utils/classes\";\n\nconst { staticClasses, useClasses } = createClasses(\"HvLoadingContainer\", {\n root: {\n position: \"relative\",\n height: \"inherit\",\n },\n loading: {\n position: \"absolute\",\n userSelect: \"none\",\n inset: 0,\n zIndex: theme.zIndices.overlay,\n transition: \"background-color .2s ease\",\n backgroundColor: theme.alpha(\"atmo1\", \"var(--opacity, 0.8)\"),\n },\n});\n\nexport { staticClasses, useClasses };\n"],"names":[],"mappings":";;AAIA,MAAM,EAAE,eAAe,eAAe,cAAc,sBAAsB;AAAA,EACxE,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,QAAQ,MAAM,SAAS;AAAA,IACvB,YAAY;AAAA,IACZ,iBAAiB,MAAM,MAAM,SAAS,qBAAqB;AAAA,EAC7D;AACF,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilder.js","sources":["../../../src/QueryBuilder/QueryBuilder.tsx"],"sourcesContent":["import { useEffect, useMemo, useReducer, useRef, useState } from \"react\";\n\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { isEqual } from \"../utils/helpers\";\nimport { ConfirmationDialog } from \"./ConfirmationDialog\";\nimport {\n defaultCombinators,\n defaultLabels,\n defaultOperators,\n HvQueryBuilderProvider,\n} from \"./Context\";\nimport { staticClasses, useClasses } from \"./QueryBuilder.styles\";\nimport { RuleGroup } from \"./RuleGroup\";\nimport {\n AskAction,\n defaultRendererKey,\n HvQueryBuilderAttribute,\n HvQueryBuilderLabels,\n HvQueryBuilderQuery,\n HvQueryBuilderQueryCombinator,\n HvQueryBuilderQueryOperator,\n HvQueryBuilderRenderers,\n} from \"./types\";\nimport { clearNodeIds, emptyGroup, setNodeIds } from \"./utils\";\nimport reducer from \"./utils/reducer\";\n\nexport { staticClasses as queryBuilderClasses };\n\nexport type HvQueryBuilderClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvQueryBuilderProps {\n /** The query attribute types. */\n attributes?: Record<string, HvQueryBuilderAttribute>;\n /** The query rules operators by attribute type and combinator. */\n operators?: Record<string, HvQueryBuilderQueryOperator[]>;\n /** The query combinators operands. */\n combinators?: HvQueryBuilderQueryCombinator[];\n /** The query when the component is controlled. */\n value?: HvQueryBuilderQuery;\n /** The initial query when the component is uncontrolled. */\n defaultValue?: HvQueryBuilderQuery;\n /**\n * The initial query when the component is uncontrolled.\n *\n * @deprecated Use `defaultValue` instead.\n * */\n query?: HvQueryBuilderQuery; // TODO - remove in v6\n /** Callback fired when the query changes. */\n onChange?: (value: HvQueryBuilderQuery) => void;\n /** Max depth of nested query groups. */\n maxDepth?: number;\n /** Object containing all the labels. */\n labels?: HvQueryBuilderLabels;\n /** Whether the query builder is in read-only mode. */\n readOnly?: boolean;\n /**\n * Operators that should use the empty value renderer when selected.\n *\n * When one of the listed operators is selected, the rule value is reset and an empty component is rendered.\n * This property takes priority over `renderers`.\n *\n * @default [\"Empty\", \"IsNotEmpty\"]\n * */\n emptyRenderer?: string[];\n /** Custom renderers for the rules' value. */\n renderers?: HvQueryBuilderRenderers;\n /** Whether to opt-out of the confirmation dialogs shown before removing rules and rule groups. @default false. */\n disableConfirmation?: boolean;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvQueryBuilderClasses;\n}\n\n// TODO - v6\n// - \"range\", \"Empty\", and \"IsNotEmpty\" operators with internal/built-in logic\n\n// Notes:\n// Deep clone is needed throughout the component to avoid undesired mutations in props, state, and ref values\n\n/**\n * This component allows you to create conditions and group them using logical operators.\n * It outputs a structured set of rules which can be easily parsed to create SQL/NoSQL/whatever queries.\n *\n * Take a look at the [usage page](https://lumada-design.github.io/uikit/master/?path=/docs/widgets-query-builder-usage--docs) to learn more about this component.\n */\nexport const HvQueryBuilder = (props: HvQueryBuilderProps) => {\n const {\n attributes,\n renderers,\n query: queryProp, // TODO - remove in v6\n value,\n defaultValue,\n onChange,\n disableConfirmation = false,\n operators = defaultOperators,\n combinators = defaultCombinators,\n maxDepth = 1,\n labels = defaultLabels,\n readOnly = false,\n emptyRenderer = [\"Empty\", \"IsNotEmpty\"],\n classes: classesProp,\n } = useDefaultProps(\"HvQueryBuilder\", props);\n\n if (\n import.meta.env.DEV &&\n [\n Object.values(attributes || {}).map(({ type }) => type),\n Object.values(operators || {})\n .map((ops) => ops.map(({ operator }) => operator))\n .flat(),\n ]\n .flat()\n ?.find((key) => key === defaultRendererKey)\n ) {\n // eslint-disable-next-line no-console\n console.error(\n `${defaultRendererKey} is a restricted key and shouldn't be used as an attribute or operator type. Update the key to avoid unexpected behaviors.`,\n );\n }\n\n const { classes } = useClasses(classesProp);\n\n const currentAttributes = useRef<HvQueryBuilderProps[\"attributes\"] | null>(\n null,\n );\n\n const controlled = useRef(value != null);\n const initialQuery = useRef(\n value ?? defaultValue ?? queryProp ?? emptyGroup(),\n );\n const [query, setQuery] = useControlled(value, initialQuery.current);\n const prevQuery = useRef(query);\n\n const [pendingAction, setPendingAction] = useState<AskAction>();\n const [initialState, setInitialState] = useState(true);\n\n const [state, dispatchAction] = useReducer(\n reducer,\n setNodeIds(structuredClone(initialQuery.current)),\n );\n\n const contextValue = useMemo(\n () => ({\n dispatchAction,\n askAction: setPendingAction,\n attributes,\n operators,\n combinators,\n maxDepth,\n labels,\n initialTouched: initialState,\n readOnly,\n renderers,\n disableConfirmation,\n emptyRenderer,\n }),\n [\n attributes,\n operators,\n combinators,\n maxDepth,\n labels,\n readOnly,\n initialState,\n renderers,\n disableConfirmation,\n emptyRenderer,\n ],\n );\n\n // Keep track of attributes\n useEffect(() => {\n if (currentAttributes.current == null) {\n // First run, nothing to do\n currentAttributes.current = attributes;\n } else if (currentAttributes.current !== attributes) {\n // Attributes changed. The existing query is almost certainly invalid, so reset it\n currentAttributes.current = attributes;\n dispatchAction({ type: \"reset-query\" });\n }\n }, [attributes]);\n\n useEffect(() => {\n // \"value\" prop was updated by user (when controlled)\n if (!isEqual(prevQuery.current, query)) {\n dispatchAction({\n type: \"set-query\",\n query: setNodeIds(structuredClone(query), state),\n });\n prevQuery.current = query;\n } else if (\n !isEqual(\n clearNodeIds(structuredClone(state)),\n clearNodeIds(structuredClone(query)),\n )\n ) {\n setInitialState(false);\n\n // TODO - remove \"true\" from clearNodeIds in v6 (only keep else statement)\n // To avoid breaking changes, clearNodeIds will delete all ids provided by the user when uncontrolled\n // In the future if the user provides ids, it doesn't make sense to remove them with onChange\n if (!controlled.current) {\n onChange?.(\n clearNodeIds(structuredClone(state), true) as HvQueryBuilderQuery,\n );\n } else {\n // When controlled, the ids provided by the user are not removed. Only the auto generated ones.\n onChange?.(clearNodeIds(structuredClone(state)) as HvQueryBuilderQuery);\n }\n\n prevQuery.current = state;\n // This will only run if uncontrolled\n setQuery(state);\n }\n }, [onChange, query, setQuery, state]);\n\n const handleConfirm = () => {\n if (pendingAction) {\n setPendingAction(undefined);\n pendingAction.actions.forEach((action) => dispatchAction(action));\n }\n };\n\n const handleCancel = () => {\n setPendingAction(undefined);\n };\n\n return (\n <HvQueryBuilderProvider value={contextValue}>\n <RuleGroup\n level={0}\n id={state.id}\n combinator={state.combinator}\n rules={state.rules}\n classes={classes}\n />\n <ConfirmationDialog\n isOpen={pendingAction != null}\n onConfirm={handleConfirm}\n onCancel={handleCancel}\n title={pendingAction?.dialog.dialogTitle}\n message={pendingAction?.dialog.dialogMessage}\n confirmButtonLabel={pendingAction?.dialog.dialogConfirm}\n cancelButtonLabel={pendingAction?.dialog.dialogCancel}\n closeButtonTooltip={pendingAction?.dialog.dialogCloseTooltip}\n />\n </HvQueryBuilderProvider>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilder.js","sources":["../../../src/QueryBuilder/QueryBuilder.tsx"],"sourcesContent":["import { useEffect, useMemo, useReducer, useRef, useState } from \"react\";\n\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { isEqual } from \"../utils/helpers\";\nimport { ConfirmationDialog } from \"./ConfirmationDialog\";\nimport {\n defaultCombinators,\n defaultLabels,\n defaultOperators,\n HvQueryBuilderProvider,\n} from \"./Context\";\nimport { staticClasses, useClasses } from \"./QueryBuilder.styles\";\nimport { RuleGroup } from \"./RuleGroup\";\nimport {\n AskAction,\n defaultRendererKey,\n HvQueryBuilderAttribute,\n HvQueryBuilderLabels,\n HvQueryBuilderQuery,\n HvQueryBuilderQueryCombinator,\n HvQueryBuilderQueryOperator,\n HvQueryBuilderRenderers,\n} from \"./types\";\nimport { clearNodeIds, emptyGroup, setNodeIds } from \"./utils\";\nimport reducer from \"./utils/reducer\";\n\nexport { staticClasses as queryBuilderClasses };\n\nexport type HvQueryBuilderClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvQueryBuilderProps {\n /** The query attribute types. */\n attributes?: Record<string, HvQueryBuilderAttribute>;\n /** The query rules operators by attribute type and combinator. */\n operators?: Record<string, HvQueryBuilderQueryOperator[]>;\n /** The query combinators operands. */\n combinators?: HvQueryBuilderQueryCombinator[];\n /** The query when the component is controlled. */\n value?: HvQueryBuilderQuery;\n /** The initial query when the component is uncontrolled. */\n defaultValue?: HvQueryBuilderQuery;\n /**\n * The initial query when the component is uncontrolled.\n *\n * @deprecated Use `defaultValue` instead.\n * */\n query?: HvQueryBuilderQuery; // TODO - remove in v6\n /** Callback fired when the query changes. */\n onChange?: (value: HvQueryBuilderQuery) => void;\n /** Max depth of nested query groups. */\n maxDepth?: number;\n /** Object containing all the labels. */\n labels?: HvQueryBuilderLabels;\n /** Whether the query builder is in read-only mode. */\n readOnly?: boolean;\n /**\n * Operators that should use the empty value renderer when selected.\n *\n * When one of the listed operators is selected, the rule value is reset and an empty component is rendered.\n * This property takes priority over `renderers`.\n *\n * @default [\"Empty\", \"IsNotEmpty\"]\n * */\n emptyRenderer?: string[];\n /** Custom renderers for the rules' value. */\n renderers?: HvQueryBuilderRenderers;\n /** Whether to opt-out of the confirmation dialogs shown before removing rules and rule groups. @default false. */\n disableConfirmation?: boolean;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvQueryBuilderClasses;\n}\n\n// TODO - v6\n// - \"range\", \"Empty\", and \"IsNotEmpty\" operators with internal/built-in logic\n\n// Notes:\n// Deep clone is needed throughout the component to avoid undesired mutations in props, state, and ref values\n\n/**\n * This component allows you to create conditions and group them using logical operators.\n * It outputs a structured set of rules which can be easily parsed to create SQL/NoSQL/whatever queries.\n *\n * Take a look at the [usage page](https://lumada-design.github.io/uikit/master/?path=/docs/widgets-query-builder-usage--docs) to learn more about this component.\n */\nexport const HvQueryBuilder = (props: HvQueryBuilderProps) => {\n const {\n attributes,\n renderers,\n query: queryProp, // TODO - remove in v6\n value,\n defaultValue,\n onChange,\n disableConfirmation = false,\n operators = defaultOperators,\n combinators = defaultCombinators,\n maxDepth = 1,\n labels = defaultLabels,\n readOnly = false,\n emptyRenderer = [\"Empty\", \"IsNotEmpty\"],\n classes: classesProp,\n } = useDefaultProps(\"HvQueryBuilder\", props);\n\n if (\n import.meta.env.DEV &&\n [\n Object.values(attributes || {}).map(({ type }) => type),\n Object.values(operators || {})\n .map((ops) => ops.map(({ operator }) => operator))\n .flat(),\n ]\n .flat()\n ?.find((key) => key === defaultRendererKey)\n ) {\n // eslint-disable-next-line no-console\n console.error(\n `${defaultRendererKey} is a restricted key and shouldn't be used as an attribute or operator type. Update the key to avoid unexpected behaviors.`,\n );\n }\n\n const { classes } = useClasses(classesProp);\n\n const currentAttributes = useRef<HvQueryBuilderProps[\"attributes\"] | null>(\n null,\n );\n\n const controlled = useRef(value != null);\n const initialQuery = useRef(\n value ?? defaultValue ?? queryProp ?? emptyGroup(),\n );\n const [query, setQuery] = useControlled(value, initialQuery.current);\n const prevQuery = useRef(query);\n\n const [pendingAction, setPendingAction] = useState<AskAction>();\n const [initialState, setInitialState] = useState(true);\n\n const [state, dispatchAction] = useReducer(\n reducer,\n setNodeIds(structuredClone(initialQuery.current)),\n );\n\n const contextValue = useMemo(\n () => ({\n dispatchAction,\n askAction: setPendingAction,\n attributes,\n operators,\n combinators,\n maxDepth,\n labels,\n initialTouched: initialState,\n readOnly,\n renderers,\n disableConfirmation,\n emptyRenderer,\n }),\n [\n attributes,\n operators,\n combinators,\n maxDepth,\n labels,\n readOnly,\n initialState,\n renderers,\n disableConfirmation,\n emptyRenderer,\n ],\n );\n\n // Keep track of attributes\n useEffect(() => {\n if (currentAttributes.current == null) {\n // First run, nothing to do\n currentAttributes.current = attributes;\n } else if (currentAttributes.current !== attributes) {\n // Attributes changed. The existing query is almost certainly invalid, so reset it\n currentAttributes.current = attributes;\n dispatchAction({ type: \"reset-query\" });\n }\n }, [attributes]);\n\n useEffect(() => {\n // \"value\" prop was updated by user (when controlled)\n if (!isEqual(prevQuery.current, query)) {\n dispatchAction({\n type: \"set-query\",\n query: setNodeIds(structuredClone(query), state),\n });\n prevQuery.current = query;\n } else if (\n !isEqual(\n clearNodeIds(structuredClone(state)),\n clearNodeIds(structuredClone(query)),\n )\n ) {\n setInitialState(false);\n\n // TODO - remove \"true\" from clearNodeIds in v6 (only keep else statement)\n // To avoid breaking changes, clearNodeIds will delete all ids provided by the user when uncontrolled\n // In the future if the user provides ids, it doesn't make sense to remove them with onChange\n if (!controlled.current) {\n onChange?.(\n clearNodeIds(structuredClone(state), true) as HvQueryBuilderQuery,\n );\n } else {\n // When controlled, the ids provided by the user are not removed. Only the auto generated ones.\n onChange?.(clearNodeIds(structuredClone(state)) as HvQueryBuilderQuery);\n }\n\n prevQuery.current = state;\n // This will only run if uncontrolled\n setQuery(state);\n }\n }, [onChange, query, setQuery, state]);\n\n const handleConfirm = () => {\n if (pendingAction) {\n setPendingAction(undefined);\n pendingAction.actions.forEach((action) => dispatchAction(action));\n }\n };\n\n const handleCancel = () => {\n setPendingAction(undefined);\n };\n\n return (\n <HvQueryBuilderProvider value={contextValue}>\n <RuleGroup\n level={0}\n id={state.id}\n combinator={state.combinator}\n rules={state.rules}\n classes={classes}\n />\n <ConfirmationDialog\n isOpen={pendingAction != null}\n onConfirm={handleConfirm}\n onCancel={handleCancel}\n title={pendingAction?.dialog.dialogTitle}\n message={pendingAction?.dialog.dialogMessage}\n confirmButtonLabel={pendingAction?.dialog.dialogConfirm}\n cancelButtonLabel={pendingAction?.dialog.dialogCancel}\n closeButtonTooltip={pendingAction?.dialog.dialogCloseTooltip}\n />\n </HvQueryBuilderProvider>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,48 +1,53 @@
1
- import { jsx } from "@emotion/react/jsx-runtime";
1
+ import { jsx, jsxs } from "@emotion/react/jsx-runtime";
2
2
  import { useDefaultProps } from "../../../hooks/useDefaultProps.js";
3
3
  import { setId } from "../../../utils/setId.js";
4
4
  import { useClasses } from "./HorizontalScrollListItem.styles.js";
5
5
  import { staticClasses } from "./HorizontalScrollListItem.styles.js";
6
+ import { HvOverflowTooltip } from "../../../OverflowTooltip/OverflowTooltip.js";
6
7
  const HvHorizontalScrollListItem = (props) => {
7
8
  const {
8
9
  id,
9
10
  className,
10
11
  classes: classesProp,
11
12
  selected,
12
- children,
13
- onClick,
14
- onKeyDown,
15
- tooltipWrapper,
13
+ label,
14
+ tooltipPlacement,
16
15
  href,
16
+ iconClasses,
17
17
  ...others
18
18
  } = useDefaultProps("HvHorizontalScrollListItem", props);
19
19
  const { classes, cx } = useClasses(classesProp);
20
- const variant = selected ? "label" : "body";
21
- const labelId = setId(id, "label");
22
20
  const buttonId = setId(id, "button");
23
- const Tooltip = tooltipWrapper;
24
21
  const Component = href != null ? "a" : "div";
25
- return /* @__PURE__ */ jsx("li", { id, className: cx(classes.root, className), "aria-current": selected, children: /* @__PURE__ */ jsx(
22
+ return /* @__PURE__ */ jsx("li", { id, className: cx(classes.root, className), "aria-current": selected, children: /* @__PURE__ */ jsxs(
26
23
  Component,
27
24
  {
28
25
  id: buttonId,
29
26
  role: href == null ? "button" : void 0,
30
27
  tabIndex: 0,
31
- onClick,
32
- onKeyDown,
33
28
  className: classes.button,
34
- "aria-labelledby": labelId,
35
29
  href,
36
30
  ...others,
37
- children: /* @__PURE__ */ jsx(
38
- Tooltip,
39
- {
40
- id: labelId,
41
- className: cx(classes.text, { [classes.selected]: selected }),
42
- variant,
43
- children
44
- }
45
- )
31
+ children: [
32
+ /* @__PURE__ */ jsx(
33
+ HvOverflowTooltip,
34
+ {
35
+ className: cx(classes.text, { [classes.selected]: selected }),
36
+ placement: tooltipPlacement,
37
+ data: label
38
+ }
39
+ ),
40
+ /* @__PURE__ */ jsx(
41
+ "div",
42
+ {
43
+ "aria-hidden": true,
44
+ className: cx(classes.bullet, iconClasses, {
45
+ [classes.bulletSelected]: selected
46
+ }),
47
+ children: /* @__PURE__ */ jsx("span", {})
48
+ }
49
+ )
50
+ ]
46
51
  }
47
52
  ) });
48
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalScrollListItem.js","sources":["../../../../../src/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.tsx"],"sourcesContent":["import { useDefaultProps } from \"../../../hooks/useDefaultProps\";\nimport { HvBaseProps } from \"../../../types/generic\";\nimport { HvTypographyProps } from \"../../../Typography\";\nimport { ExtractNames } from \"../../../utils/classes\";\nimport { setId } from \"../../../utils/setId\";\nimport { staticClasses, useClasses } from \"./HorizontalScrollListItem.styles\";\n\nexport { staticClasses as horizontalScrollListItemClasses };\n\nexport type HvHorizontalScrollListItemClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvHorizontalScrollListItemProps\n extends HvBaseProps<HTMLDivElement | HTMLAnchorElement> {\n /** The text to render. */\n children: React.ReactNode;\n /** A function component that renders a typography wrapped with a tooltip. */\n tooltipWrapper: React.FunctionComponent<{\n id?: string;\n className?: string;\n variant?: HvTypographyProps[\"variant\"];\n children?: React.ReactNode;\n }>;\n /** Whether the element is selected. */\n selected?: boolean;\n /** The function to be executed when the element is clicked. */\n onClick?: (\n event: React.MouseEvent<HTMLDivElement | HTMLAnchorElement>,\n ) => void;\n /** The function to be executed when the element is clicked. */\n onKeyDown?: (\n event: React.KeyboardEvent<HTMLDivElement | HTMLAnchorElement>,\n ) => void;\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvHorizontalScrollListItemClasses;\n\n /**\n * The link to be set in the href attribute of the anchor element.\n *\n * If this is not set, the element will be rendered as a div with a button role.\n */\n href?: string;\n}\n\n/**\n * HvHorizontalScrollListItem a focusable item to be used as part of the horizontal scroll\n */\nexport const HvHorizontalScrollListItem = (\n props: HvHorizontalScrollListItemProps,\n) => {\n const {\n id,\n className,\n classes: classesProp,\n selected,\n children,\n onClick,\n onKeyDown,\n tooltipWrapper,\n href,\n ...others\n } = useDefaultProps(\"HvHorizontalScrollListItem\", props);\n const { classes, cx } = useClasses(classesProp);\n const variant = selected ? \"label\" : \"body\";\n const labelId = setId(id, \"label\");\n const buttonId = setId(id, \"button\");\n const Tooltip = tooltipWrapper;\n\n const Component = href != null ? \"a\" : \"div\";\n\n return (\n <li id={id} className={cx(classes.root, className)} aria-current={selected}>\n <Component\n id={buttonId}\n role={href == null ? \"button\" : undefined}\n tabIndex={0}\n onClick={onClick}\n onKeyDown={onKeyDown}\n className={classes.button}\n aria-labelledby={labelId}\n href={href}\n {...others}\n >\n <Tooltip\n id={labelId}\n className={cx(classes.text, { [classes.selected]: selected })}\n variant={variant}\n >\n {children}\n </Tooltip>\n </Component>\n </li>\n );\n};\n"],"names":[],"mappings":";;;;;AA8Ca,MAAA,6BAA6B,CACxC,UACG;AACG,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,8BAA8B,KAAK;AACvD,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AACxC,QAAA,UAAU,WAAW,UAAU;AAC/B,QAAA,UAAU,MAAM,IAAI,OAAO;AAC3B,QAAA,WAAW,MAAM,IAAI,QAAQ;AACnC,QAAM,UAAU;AAEV,QAAA,YAAY,QAAQ,OAAO,MAAM;AAGrC,SAAA,oBAAC,MAAG,EAAA,IAAQ,WAAW,GAAG,QAAQ,MAAM,SAAS,GAAG,gBAAc,UAChE,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,MACJ,MAAM,QAAQ,OAAO,WAAW;AAAA,MAChC,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB,mBAAiB;AAAA,MACjB;AAAA,MACC,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAI;AAAA,UACJ,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAC,QAAQ,QAAQ,GAAG,UAAU;AAAA,UAC5D;AAAA,UAEC;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"HorizontalScrollListItem.js","sources":["../../../../../src/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.tsx"],"sourcesContent":["import { useDefaultProps } from \"../../../hooks/useDefaultProps\";\nimport {\n HvOverflowTooltip,\n HvOverflowTooltipProps,\n} from \"../../../OverflowTooltip\";\nimport { HvBaseProps } from \"../../../types/generic\";\nimport { ExtractNames } from \"../../../utils/classes\";\nimport { setId } from \"../../../utils/setId\";\nimport { staticClasses, useClasses } from \"./HorizontalScrollListItem.styles\";\n\nexport { staticClasses as horizontalScrollListItemClasses };\n\nexport type HvHorizontalScrollListItemClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvHorizontalScrollListItemProps\n extends HvBaseProps<HTMLDivElement | HTMLAnchorElement> {\n /** The text to render. */\n label?: React.ReactNode;\n /** Whether the element is selected. */\n selected?: boolean;\n tooltipPlacement: HvOverflowTooltipProps[\"placement\"];\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvHorizontalScrollListItemClasses;\n\n /**\n * The link to be set in the href attribute of the anchor element.\n *\n * If this is not set, the element will be rendered as a div with a button role.\n */\n href?: string;\n /** @deprecated remove in v6 */\n iconClasses?: string;\n}\n\n/**\n * HvHorizontalScrollListItem a focusable item to be used as part of the horizontal scroll\n */\nexport const HvHorizontalScrollListItem = (\n props: HvHorizontalScrollListItemProps,\n) => {\n const {\n id,\n className,\n classes: classesProp,\n selected,\n label,\n tooltipPlacement,\n href,\n iconClasses,\n ...others\n } = useDefaultProps(\"HvHorizontalScrollListItem\", props);\n const { classes, cx } = useClasses(classesProp);\n const buttonId = setId(id, \"button\");\n\n const Component = href != null ? \"a\" : \"div\";\n\n return (\n <li id={id} className={cx(classes.root, className)} aria-current={selected}>\n <Component\n id={buttonId}\n role={href == null ? \"button\" : undefined}\n tabIndex={0}\n className={classes.button}\n href={href}\n {...others}\n >\n <HvOverflowTooltip\n className={cx(classes.text, { [classes.selected]: selected })}\n placement={tooltipPlacement}\n data={label}\n />\n <div\n aria-hidden\n className={cx(classes.bullet, iconClasses, {\n [classes.bulletSelected]: selected,\n })}\n >\n <span />\n </div>\n </Component>\n </li>\n );\n};\n"],"names":[],"mappings":";;;;;;AAqCa,MAAA,6BAA6B,CACxC,UACG;AACG,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,gBAAgB,8BAA8B,KAAK;AACvD,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AACxC,QAAA,WAAW,MAAM,IAAI,QAAQ;AAE7B,QAAA,YAAY,QAAQ,OAAO,MAAM;AAGrC,SAAA,oBAAC,MAAG,EAAA,IAAQ,WAAW,GAAG,QAAQ,MAAM,SAAS,GAAG,gBAAc,UAChE,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,MACJ,MAAM,QAAQ,OAAO,WAAW;AAAA,MAChC,UAAU;AAAA,MACV,WAAW,QAAQ;AAAA,MACnB;AAAA,MACC,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAC,QAAQ,QAAQ,GAAG,UAAU;AAAA,YAC5D,WAAW;AAAA,YACX,MAAM;AAAA,UAAA;AAAA,QACR;AAAA,QACA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAW;AAAA,YACX,WAAW,GAAG,QAAQ,QAAQ,aAAa;AAAA,cACzC,CAAC,QAAQ,cAAc,GAAG;AAAA,YAAA,CAC3B;AAAA,YAED,8BAAC,QAAK,EAAA;AAAA,UAAA;AAAA,QACR;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
@@ -4,49 +4,44 @@ import { outlineStyles } from "../../../utils/focusUtils.js";
4
4
  const name = "HvHorizontalScrollListItem";
5
5
  const { staticClasses, useClasses } = createClasses(name, {
6
6
  root: {
7
- padding: "10px 0"
7
+ padding: theme.spacing("xs", 0),
8
+ maxWidth: 120
8
9
  },
9
10
  button: {
10
11
  display: "flex",
12
+ flexDirection: "column",
11
13
  justifyContent: "center",
12
14
  alignItems: "center",
13
- height: "48px",
14
- cursor: "pointer",
15
- borderBottom: "none",
16
- "&:hover": {
17
- backgroundColor: "transparent",
18
- "& $notSelected": {
19
- height: "6px",
20
- width: "6px",
21
- backgroundColor: theme.colors.secondary
22
- },
23
- "& $notSelectedRoot": {
24
- backgroundColor: theme.colors.containerBackgroundHover
25
- }
26
- },
27
- "&:focus": {
28
- outline: "none"
29
- },
30
15
  "&:focus-visible": {
31
16
  ...outlineStyles
32
17
  }
33
18
  },
34
19
  text: {
20
+ margin: theme.spacing("xs", "xs", "0")
21
+ },
22
+ selected: {
23
+ fontWeight: theme.typography.label.fontWeight
24
+ },
25
+ bullet: {
35
26
  display: "flex",
36
- flexDirection: "column",
37
- alignItems: "center",
38
27
  justifyContent: "center",
39
- height: "48px",
40
- borderBottom: "none",
41
- "& p": {
42
- padding: "3px 10px",
43
- maxWidth: "120px",
44
- textOverflow: "ellipsis",
45
- overflow: "hidden"
28
+ alignItems: "center",
29
+ minHeight: 24,
30
+ height: 24,
31
+ width: 24,
32
+ fontSize: 4,
33
+ color: theme.colors.secondary_60,
34
+ "& > span": {
35
+ margin: "auto",
36
+ width: "1em",
37
+ height: "1em",
38
+ backgroundColor: "currentcolor",
39
+ borderRadius: "50%"
46
40
  }
47
41
  },
48
- selected: {
49
- borderBottom: "none"
42
+ bulletSelected: {
43
+ fontSize: 6,
44
+ color: theme.colors.secondary
50
45
  }
51
46
  });
52
47
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"HorizontalScrollListItem.styles.js","sources":["../../../../../src/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../../../utils/classes\";\nimport { outlineStyles } from \"../../../utils/focusUtils\";\n\nconst name = \"HvHorizontalScrollListItem\";\n\nexport const { staticClasses, useClasses } = createClasses(name, {\n root: {\n padding: \"10px 0\",\n },\n button: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n height: \"48px\",\n cursor: \"pointer\",\n borderBottom: \"none\",\n \"&:hover\": {\n backgroundColor: \"transparent\",\n\n \"& $notSelected\": {\n height: \"6px\",\n width: \"6px\",\n backgroundColor: theme.colors.secondary,\n },\n\n \"& $notSelectedRoot\": {\n backgroundColor: theme.colors.containerBackgroundHover,\n },\n },\n \"&:focus\": {\n outline: \"none\",\n },\n \"&:focus-visible\": {\n ...outlineStyles,\n },\n },\n text: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"48px\",\n borderBottom: \"none\",\n\n \"& p\": {\n padding: \"3px 10px\",\n maxWidth: \"120px\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n },\n },\n selected: {\n borderBottom: \"none\",\n },\n});\n"],"names":[],"mappings":";;;AAKA,MAAM,OAAO;AAEN,MAAM,EAAE,eAAe,eAAe,cAAc,MAAM;AAAA,EAC/D,MAAM;AAAA,IACJ,SAAS;AAAA,EACX;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,WAAW;AAAA,MACT,iBAAiB;AAAA,MAEjB,kBAAkB;AAAA,QAChB,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,iBAAiB,MAAM,OAAO;AAAA,MAChC;AAAA,MAEA,sBAAsB;AAAA,QACpB,iBAAiB,MAAM,OAAO;AAAA,MAChC;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT,SAAS;AAAA,IACX;AAAA,IACA,mBAAmB;AAAA,MACjB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR,cAAc;AAAA,IAEd,OAAO;AAAA,MACL,SAAS;AAAA,MACT,UAAU;AAAA,MACV,cAAc;AAAA,MACd,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,cAAc;AAAA,EAChB;AACF,CAAC;"}
1
+ {"version":3,"file":"HorizontalScrollListItem.styles.js","sources":["../../../../../src/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../../../utils/classes\";\nimport { outlineStyles } from \"../../../utils/focusUtils\";\n\nconst name = \"HvHorizontalScrollListItem\";\n\nexport const { staticClasses, useClasses } = createClasses(name, {\n root: {\n padding: theme.spacing(\"xs\", 0),\n maxWidth: 120,\n },\n button: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n \"&:focus-visible\": {\n ...outlineStyles,\n },\n },\n text: {\n margin: theme.spacing(\"xs\", \"xs\", \"0\"),\n },\n selected: {\n fontWeight: theme.typography.label.fontWeight,\n },\n bullet: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n minHeight: 24,\n height: 24,\n width: 24,\n fontSize: 4,\n color: theme.colors.secondary_60,\n\n \"& > span\": {\n margin: \"auto\",\n width: \"1em\",\n height: \"1em\",\n backgroundColor: \"currentcolor\",\n borderRadius: \"50%\",\n },\n },\n bulletSelected: {\n fontSize: 6,\n color: theme.colors.secondary,\n },\n});\n"],"names":[],"mappings":";;;AAKA,MAAM,OAAO;AAEN,MAAM,EAAE,eAAe,eAAe,cAAc,MAAM;AAAA,EAC/D,MAAM;AAAA,IACJ,SAAS,MAAM,QAAQ,MAAM,CAAC;AAAA,IAC9B,UAAU;AAAA,EACZ;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,mBAAmB;AAAA,MACjB,GAAG;AAAA,IACL;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,QAAQ,MAAM,QAAQ,MAAM,MAAM,GAAG;AAAA,EACvC;AAAA,EACA,UAAU;AAAA,IACR,YAAY,MAAM,WAAW,MAAM;AAAA,EACrC;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,UAAU;AAAA,IACV,OAAO,MAAM,OAAO;AAAA,IAEpB,YAAY;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,iBAAiB;AAAA,MACjB,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EACA,gBAAgB;AAAA,IACd,UAAU;AAAA,IACV,OAAO,MAAM,OAAO;AAAA,EACtB;AACF,CAAC;"}
@@ -1,16 +1,11 @@
1
- import { jsx, jsxs } from "@emotion/react/jsx-runtime";
2
- import { useMemo, useCallback } from "react";
1
+ import { jsx } from "@emotion/react/jsx-runtime";
3
2
  import { useTheme } from "@mui/material/styles";
4
3
  import useMediaQuery from "@mui/material/useMediaQuery";
5
- import { CurrentStep } from "@hitachivantara/uikit-react-icons";
6
4
  import { theme } from "@hitachivantara/uikit-styles";
7
5
  import { useDefaultProps } from "../../hooks/useDefaultProps.js";
8
- import { useTheme as useTheme$1 } from "../../hooks/useTheme.js";
9
- import { useUniqueId } from "../../hooks/useUniqueId.js";
10
6
  import { isKey } from "../../utils/keyboardUtils.js";
11
7
  import { setId } from "../../utils/setId.js";
12
8
  import { useScrollTo } from "../useScrollTo.js";
13
- import { withTooltip } from "../withTooltip.js";
14
9
  import { useClasses } from "./ScrollToHorizontal.styles.js";
15
10
  import { staticClasses } from "./ScrollToHorizontal.styles.js";
16
11
  import { HvHorizontalScrollListItem } from "./HorizontalScrollListItem/HorizontalScrollListItem.js";
@@ -37,8 +32,6 @@ const HvScrollToHorizontal = (props) => {
37
32
  const muiTheme = useTheme();
38
33
  const downSm = useMediaQuery(muiTheme.breakpoints.down("sm"));
39
34
  const upMd = useMediaQuery(muiTheme.breakpoints.up("md"));
40
- const { activeTheme } = useTheme$1();
41
- const elementId = useUniqueId(id);
42
35
  const [selectedIndex, setScrollTo, elements] = useScrollTo(
43
36
  defaultSelectedIndex,
44
37
  scrollElementId,
@@ -48,65 +41,34 @@ const HvScrollToHorizontal = (props) => {
48
41
  options,
49
42
  onChange
50
43
  );
51
- const handleSelection = (event, value, index) => {
52
- event.preventDefault();
53
- const wrappedOnChange = () => {
54
- onChange?.(event, index);
55
- };
56
- setScrollTo(event, value, index, wrappedOnChange);
57
- };
58
- const tooltipWrappers = useMemo(() => {
59
- return options.map((option) => {
60
- return withTooltip(option.label, "div", tooltipPosition);
61
- });
62
- }, [options, tooltipPosition]);
63
- const NotSelected = useCallback(() => {
64
- return /* @__PURE__ */ jsx("div", { className: classes.notSelectedRoot, children: /* @__PURE__ */ jsx("div", { className: classes.notSelected }) });
65
- }, [classes.notSelectedRoot, classes.notSelected]);
66
- const Selected = useCallback(() => {
67
- return /* @__PURE__ */ jsx(
68
- CurrentStep,
69
- {
70
- height: activeTheme?.scrollTo.dotSelectedSize,
71
- width: activeTheme?.scrollTo.dotSelectedSize,
72
- className: classes.selected
73
- }
74
- );
75
- }, [classes.selected, activeTheme?.scrollTo.dotSelectedSize]);
76
- const tabs = elements.map((option, index) => {
77
- const selected = selectedIndex === index;
78
- const tooltipWrapper = tooltipWrappers[index];
79
- return /* @__PURE__ */ jsxs(
80
- HvHorizontalScrollListItem,
81
- {
82
- id: setId(elementId, `item-${index}`),
83
- onClick: (event) => {
84
- if (navigationMode !== "none") {
85
- event.preventDefault();
86
- }
87
- handleSelection(event, option.value, index);
88
- onClick?.(event, index);
89
- },
90
- onKeyDown: (event) => {
91
- if (isKey(event, "Enter") === true) {
92
- if (navigationMode !== "none") {
93
- event.preventDefault();
94
- }
95
- handleSelection(event, option.value, index);
96
- onEnter?.(event, index);
97
- }
98
- },
99
- href: navigationMode !== "none" ? option.href : void 0,
100
- tooltipWrapper,
101
- selected,
102
- children: [
103
- /* @__PURE__ */ jsx("p", { children: option.label }),
104
- selected ? /* @__PURE__ */ jsx(Selected, {}) : /* @__PURE__ */ jsx(NotSelected, {})
105
- ]
44
+ const tabs = elements.map((option, index) => /* @__PURE__ */ jsx(
45
+ HvHorizontalScrollListItem,
46
+ {
47
+ id: setId(id, `item-${index}`),
48
+ onClick: (event) => {
49
+ event.preventDefault();
50
+ setScrollTo(event, option.value, index, () => onChange?.(event, index));
51
+ onClick?.(event, index);
52
+ },
53
+ onKeyDown: (event) => {
54
+ if (isKey(event, "Enter") !== true)
55
+ return;
56
+ event.preventDefault();
57
+ setScrollTo(event, option.value, index, () => onChange?.(event, index));
58
+ onEnter?.(event, index);
106
59
  },
107
- option.key || option.label
108
- );
109
- });
60
+ href: navigationMode !== "none" ? option.href : void 0,
61
+ tooltipPlacement: tooltipPosition,
62
+ selected: selectedIndex === index,
63
+ label: option.label,
64
+ iconClasses: cx({
65
+ [classes.selected]: selectedIndex === index,
66
+ [classes.notSelected]: selectedIndex !== index,
67
+ [classes.notSelectedRoot]: selectedIndex !== index
68
+ })
69
+ },
70
+ option.key || option.label
71
+ ));
110
72
  return /* @__PURE__ */ jsx(
111
73
  "ol",
112
74
  {
@@ -125,7 +87,7 @@ const HvScrollToHorizontal = (props) => {
125
87
  },
126
88
  className
127
89
  ),
128
- id: elementId,
90
+ id,
129
91
  ...others,
130
92
  children: tabs
131
93
  }