@hitachivantara/uikit-react-core 3.67.18 → 3.68.2

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 (456) hide show
  1. package/dist/Accordion/Accordion.js.map +1 -1
  2. package/dist/ActionBar/ActionBar.js.map +1 -1
  3. package/dist/ActionsGeneric/ActionsGeneric.js.map +1 -1
  4. package/dist/AppSwitcher/Action/Action.js.map +1 -1
  5. package/dist/AppSwitcher/AppSwitcher.js.map +1 -1
  6. package/dist/AppSwitcher/TitleWithTooltip.js.map +1 -1
  7. package/dist/AssetInventory/AssetInventory.js.map +1 -1
  8. package/dist/AssetInventory/CardView/CardView.js.map +1 -1
  9. package/dist/AssetInventory/ListView/ListView.js.map +1 -1
  10. package/dist/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
  11. package/dist/AssetInventory/ListView/ListViewCell/styles.js.map +1 -1
  12. package/dist/AssetInventory/ListView/ListViewContext/ListViewContext.js.map +1 -1
  13. package/dist/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
  14. package/dist/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
  15. package/dist/AssetInventory/Multibutton/Multibutton.js.map +1 -1
  16. package/dist/AssetInventory/Search/Search.js.map +1 -1
  17. package/dist/AssetInventory/Sort/Sort.js.map +1 -1
  18. package/dist/AssetInventory/setActionsId.js.map +1 -1
  19. package/dist/Avatar/Avatar.js.map +1 -1
  20. package/dist/Badge/Badge.js.map +1 -1
  21. package/dist/Banner/Banner.js.map +1 -1
  22. package/dist/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
  23. package/dist/Banner/BannerWrapper/ActionContainer/styles.js.map +1 -1
  24. package/dist/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
  25. package/dist/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
  26. package/dist/BaseCheckBox/BaseCheckBox.js.map +1 -1
  27. package/dist/BaseDropdown/BaseDropdown.js.map +1 -1
  28. package/dist/BaseDropdown/BaseDropdownContext/BaseDropdownContext.js.map +1 -1
  29. package/dist/BaseInput/BaseInput.js.map +1 -1
  30. package/dist/BaseInput/validations.js.map +1 -1
  31. package/dist/BaseRadio/BaseRadio.js.map +1 -1
  32. package/dist/BaseSwitch/BaseSwitch.js.map +1 -1
  33. package/dist/BreadCrumb/BreadCrumb.js.map +1 -1
  34. package/dist/BreadCrumb/utils.js.map +1 -1
  35. package/dist/BulkActions/BulkActions.js.map +1 -1
  36. package/dist/BulkActions/styles.js.map +1 -1
  37. package/dist/Button/Button.js.map +1 -1
  38. package/dist/Button/materialConfigurarion.js.map +1 -1
  39. package/dist/Button/styles.js.map +1 -1
  40. package/dist/Calendar/Calendar.js.map +1 -1
  41. package/dist/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
  42. package/dist/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
  43. package/dist/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
  44. package/dist/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
  45. package/dist/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
  46. package/dist/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  47. package/dist/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
  48. package/dist/Calendar/model.js.map +1 -1
  49. package/dist/Calendar/utils.js.map +1 -1
  50. package/dist/Card/Card.js.map +1 -1
  51. package/dist/Card/Content/Content.js.map +1 -1
  52. package/dist/Card/Header/Header.js.map +1 -1
  53. package/dist/Card/Media/Media.js.map +1 -1
  54. package/dist/Card/styles.js.map +1 -1
  55. package/dist/CheckBox/CheckBox.js.map +1 -1
  56. package/dist/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  57. package/dist/Container/Container.js.map +1 -1
  58. package/dist/DatePicker/DatePicker.js.map +1 -1
  59. package/dist/DatePicker/useVisibleDate.js.map +1 -1
  60. package/dist/DatePicker/utils.js.map +1 -1
  61. package/dist/Dialog/Dialog.js.map +1 -1
  62. package/dist/Dialog/DialogActions/DialogActions.js.map +1 -1
  63. package/dist/Dialog/DialogContent/DialogContent.js.map +1 -1
  64. package/dist/Dialog/DialogTitle/DialogTitle.js.map +1 -1
  65. package/dist/Dialog/styles.js.map +1 -1
  66. package/dist/DropDownMenu/DropDownMenu.js.map +1 -1
  67. package/dist/Dropdown/Dropdown.js.map +1 -1
  68. package/dist/Dropdown/List/List.js.map +1 -1
  69. package/dist/EmptyState/EmptyState.js.map +1 -1
  70. package/dist/FileUploader/DropZone/DropZone.js.map +1 -1
  71. package/dist/FileUploader/File/File.js.map +1 -1
  72. package/dist/FileUploader/FileList/FileList.js.map +1 -1
  73. package/dist/FileUploader/FileUploader.js.map +1 -1
  74. package/dist/FileUploader/Preview/Preview.js.map +1 -1
  75. package/dist/FilterGroup/Counter/Counter.js.map +1 -1
  76. package/dist/FilterGroup/Counter/styles.js.map +1 -1
  77. package/dist/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  78. package/dist/FilterGroup/FilterContent/styles.js.map +1 -1
  79. package/dist/FilterGroup/FilterGroup.js.map +1 -1
  80. package/dist/FilterGroup/FilterGroupContext.js.map +1 -1
  81. package/dist/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  82. package/dist/FilterGroup/LeftPanel/styles.js.map +1 -1
  83. package/dist/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  84. package/dist/FilterGroup/RightPanel/styles.js.map +1 -1
  85. package/dist/FilterGroup/styles.js.map +1 -1
  86. package/dist/Focus/Focus.js.map +1 -1
  87. package/dist/Focus/utils.js.map +1 -1
  88. package/dist/Footer/Footer.js.map +1 -1
  89. package/dist/Forms/Adornment/Adornment.js.map +1 -1
  90. package/dist/Forms/CharCounter/CharCounter.js.map +1 -1
  91. package/dist/Forms/FormElement/FormElement.js.map +1 -1
  92. package/dist/Forms/FormElement/context/FormElementContext.js.map +1 -1
  93. package/dist/Forms/FormElement/context/FormElementDescriptorsContext.js.map +1 -1
  94. package/dist/Forms/FormElement/context/FormElementValueContext.js.map +1 -1
  95. package/dist/Forms/FormElement/utils/FormUtils.js.map +1 -1
  96. package/dist/Forms/InfoMessage/InfoMessage.js.map +1 -1
  97. package/dist/Forms/Label/Label.js.map +1 -1
  98. package/dist/Forms/Suggestions/Suggestions.js.map +1 -1
  99. package/dist/Forms/WarningText/WarningText.js.map +1 -1
  100. package/dist/GlobalActions/GlobalActions.js.map +1 -1
  101. package/dist/Grid/Grid.js.map +1 -1
  102. package/dist/Header/Actions/Actions.js.map +1 -1
  103. package/dist/Header/Brand/Brand.js.map +1 -1
  104. package/dist/Header/Header.js.map +1 -1
  105. package/dist/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  106. package/dist/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  107. package/dist/Header/Navigation/Navigation.js.map +1 -1
  108. package/dist/Header/Navigation/utils/FocusContext.js.map +1 -1
  109. package/dist/Header/Navigation/utils/SelectionContext.js.map +1 -1
  110. package/dist/Header/Navigation/utils/useSelectionPath.js.map +1 -1
  111. package/dist/Input/Input.js.map +1 -1
  112. package/dist/Kpi/Kpi.js.map +1 -1
  113. package/dist/Link/Link.js.map +1 -1
  114. package/dist/List/List.js +20 -16
  115. package/dist/List/List.js.map +1 -1
  116. package/dist/List/useSelectableList.js.map +1 -1
  117. package/dist/List/utils.js.map +1 -1
  118. package/dist/ListContainer/ListContainer.js.map +1 -1
  119. package/dist/ListContainer/ListContext/ListContext.js.map +1 -1
  120. package/dist/ListContainer/ListItem/ListItem.js.map +1 -1
  121. package/dist/Loading/Loading.js.map +1 -1
  122. package/dist/Login/Login.js.map +1 -1
  123. package/dist/Login/styles.js.map +1 -1
  124. package/dist/MultiButton/MultiButton.js.map +1 -1
  125. package/dist/OverflowTooltip/OverflowTooltip.js.map +1 -1
  126. package/dist/Pagination/Pagination.js.map +1 -1
  127. package/dist/Pagination/Select.js.map +1 -1
  128. package/dist/Pagination/utils.js.map +1 -1
  129. package/dist/Panel/Panel.js.map +1 -1
  130. package/dist/Provider/Provider.js +15 -4
  131. package/dist/Provider/Provider.js.map +1 -1
  132. package/dist/Provider/context.js.map +1 -1
  133. package/dist/Provider/useLocale.js.map +1 -1
  134. package/dist/Radio/Radio.js.map +1 -1
  135. package/dist/RadioGroup/RadioGroup.js.map +1 -1
  136. package/dist/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  137. package/dist/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  138. package/dist/ScrollTo/Horizontal/styles.js.map +1 -1
  139. package/dist/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  140. package/dist/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  141. package/dist/ScrollTo/Vertical/styles.js.map +1 -1
  142. package/dist/ScrollTo/useScrollTo.js.map +1 -1
  143. package/dist/ScrollTo/withTooltip.js.map +1 -1
  144. package/dist/SelectionList/SelectionList.js.map +1 -1
  145. package/dist/SimpleGrid/SimpleGrid.js.map +1 -1
  146. package/dist/SimpleGrid/styles.js.map +1 -1
  147. package/dist/Slider/Slider.js.map +1 -1
  148. package/dist/Slider/SliderInput/SliderInput.js.map +1 -1
  149. package/dist/Slider/utils.js.map +1 -1
  150. package/dist/Snackbar/Snackbar.js.map +1 -1
  151. package/dist/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  152. package/dist/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  153. package/dist/Stack/Stack.js.map +1 -1
  154. package/dist/Switch/Switch.js.map +1 -1
  155. package/dist/Tab/Tab.js.map +1 -1
  156. package/dist/Table/CellWithTooltip/index.js.map +1 -1
  157. package/dist/Table/Header/Header.js.map +1 -1
  158. package/dist/Table/NoData/index.js.map +1 -1
  159. package/dist/Table/NoData/styles.js.map +1 -1
  160. package/dist/Table/Table.js +19 -22
  161. package/dist/Table/Table.js.map +1 -1
  162. package/dist/Table/columnUtils.js.map +1 -1
  163. package/dist/Table/selectTable.js.map +1 -1
  164. package/dist/Table/styles.js.map +1 -1
  165. package/dist/Tabs/Tabs.js.map +1 -1
  166. package/dist/Tag/Tag.js.map +1 -1
  167. package/dist/Tag/styles.js.map +1 -1
  168. package/dist/TagsInput/TagsInput.js.map +1 -1
  169. package/dist/TextArea/TextArea.js.map +1 -1
  170. package/dist/TimePicker/PeriodPicker/PeriodPicker.js.map +1 -1
  171. package/dist/TimePicker/PeriodPicker/index.js.map +1 -1
  172. package/dist/TimePicker/TimePicker.js.map +1 -1
  173. package/dist/TimePicker/UnitTimePicker/UnitTimePicker.js.map +1 -1
  174. package/dist/TimePicker/UnitTimePicker/index.js.map +1 -1
  175. package/dist/TimePicker/timePickerConverter.js.map +1 -1
  176. package/dist/TimePicker/timePickerFormatter.js.map +1 -1
  177. package/dist/TimePicker/timePickerUtils.js.map +1 -1
  178. package/dist/ToggleButton/ToggleButton.js.map +1 -1
  179. package/dist/Tooltip/Tooltip.js.map +1 -1
  180. package/dist/Typography/Typography.js.map +1 -1
  181. package/dist/UserPreferences/Action/Action.js.map +1 -1
  182. package/dist/UserPreferences/Action/styles.js.map +1 -1
  183. package/dist/UserPreferences/Actions/Actions.js.map +1 -1
  184. package/dist/UserPreferences/Options/Group/Group.js.map +1 -1
  185. package/dist/UserPreferences/Options/Label/Label.js.map +1 -1
  186. package/dist/UserPreferences/Options/Option.js.map +1 -1
  187. package/dist/UserPreferences/Options/Options.js.map +1 -1
  188. package/dist/UserPreferences/Options/OptionsContext.js.map +1 -1
  189. package/dist/UserPreferences/Options/styles.js.map +1 -1
  190. package/dist/UserPreferences/UserPreferences.js.map +1 -1
  191. package/dist/VerticalNavigation/Actions/Action.js.map +1 -1
  192. package/dist/VerticalNavigation/Actions/Actions.js.map +1 -1
  193. package/dist/VerticalNavigation/Navigation/Navigation.js +0 -1
  194. package/dist/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  195. package/dist/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  196. package/dist/VerticalNavigation/TreeView/TreeViewContexts.js.map +1 -1
  197. package/dist/VerticalNavigation/TreeView/TreeViewItem.js +1 -1
  198. package/dist/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  199. package/dist/VerticalNavigation/TreeView/descendants.js.map +1 -1
  200. package/dist/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
  201. package/dist/VerticalNavigation/VerticalNavigation.js.map +1 -1
  202. package/dist/index.d.ts +0 -9
  203. package/dist/index.js +0 -27
  204. package/dist/index.js.map +1 -1
  205. package/dist/legacy/List/List.js +23 -19
  206. package/dist/legacy/List/List.js.map +1 -1
  207. package/dist/legacy/Provider/Provider.js +16 -5
  208. package/dist/legacy/Provider/Provider.js.map +1 -1
  209. package/dist/legacy/Table/Table.js +20 -23
  210. package/dist/legacy/Table/Table.js.map +1 -1
  211. package/dist/legacy/VerticalNavigation/Navigation/Navigation.js +0 -1
  212. package/dist/legacy/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  213. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js +1 -1
  214. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  215. package/dist/legacy/index.d.ts +0 -9
  216. package/dist/legacy/index.js +0 -3
  217. package/dist/legacy/index.js.map +1 -1
  218. package/dist/legacy/utils/ConditionalRenderer.js +1 -0
  219. package/dist/legacy/utils/ConditionalRenderer.js.map +1 -1
  220. package/dist/modern/List/List.js +25 -24
  221. package/dist/modern/List/List.js.map +1 -1
  222. package/dist/modern/Provider/Provider.js +10 -5
  223. package/dist/modern/Provider/Provider.js.map +1 -1
  224. package/dist/modern/Table/Table.js +20 -23
  225. package/dist/modern/Table/Table.js.map +1 -1
  226. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js +1 -1
  227. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  228. package/dist/modern/index.d.ts +0 -9
  229. package/dist/modern/index.js +0 -3
  230. package/dist/modern/index.js.map +1 -1
  231. package/dist/modern/utils/ConditionalRenderer.js +1 -0
  232. package/dist/modern/utils/ConditionalRenderer.js.map +1 -1
  233. package/dist/theme/CssBaseline.js.map +1 -1
  234. package/dist/theme/ScopedCssBaseline.js.map +1 -1
  235. package/dist/theme/createGenerateClassName.js.map +1 -1
  236. package/dist/theme/index.js.map +1 -1
  237. package/dist/theme/overrides/muiButton.js.map +1 -1
  238. package/dist/theme/palette.js.map +1 -1
  239. package/dist/theme/typography.js.map +1 -1
  240. package/dist/useUniqueId.js.map +1 -1
  241. package/dist/utils/ConditionalRenderer.js +1 -0
  242. package/dist/utils/ConditionalRenderer.js.map +1 -1
  243. package/dist/utils/browser.js.map +1 -1
  244. package/dist/utils/hexToRgbA.js.map +1 -1
  245. package/dist/utils/refType.js.map +1 -1
  246. package/dist/utils/setId.js.map +1 -1
  247. package/dist/utils/useComputation.js.map +1 -1
  248. package/dist/utils/useDeprecated.js.map +1 -1
  249. package/dist/utils/useImageLoaded.js.map +1 -1
  250. package/dist/utils/useIsMounted.js.map +1 -1
  251. package/dist/utils/useLabels.js.map +1 -1
  252. package/dist/utils/usePropAsRef.js.map +1 -1
  253. package/dist/utils/useSavedState.js.map +1 -1
  254. package/dist/utils/useUpdated.js.map +1 -1
  255. package/dist/utils/useWidth.js.map +1 -1
  256. package/dist/withId.js.map +1 -1
  257. package/dist/withTooltip.js.map +1 -1
  258. package/package.json +22 -32
  259. package/dist/Barchart/Barchart.d.ts +0 -14
  260. package/dist/Barchart/Barchart.js +0 -241
  261. package/dist/Barchart/Barchart.js.map +0 -1
  262. package/dist/Barchart/barchartPlotlyOverrides.js +0 -59
  263. package/dist/Barchart/barchartPlotlyOverrides.js.map +0 -1
  264. package/dist/Barchart/index.d.ts +0 -2
  265. package/dist/Barchart/index.js +0 -16
  266. package/dist/Barchart/index.js.map +0 -1
  267. package/dist/Barchart/styles.js +0 -10
  268. package/dist/Barchart/styles.js.map +0 -1
  269. package/dist/Chart/Chart.d.ts +0 -25
  270. package/dist/Chart/Chart.js +0 -215
  271. package/dist/Chart/Chart.js.map +0 -1
  272. package/dist/Chart/Plot/Plot.d.ts +0 -43
  273. package/dist/Chart/Plot/Plot.js +0 -131
  274. package/dist/Chart/Plot/Plot.js.map +0 -1
  275. package/dist/Chart/Plot/index.d.ts +0 -2
  276. package/dist/Chart/Plot/index.js +0 -16
  277. package/dist/Chart/Plot/index.js.map +0 -1
  278. package/dist/Chart/Plot/styles.js +0 -10
  279. package/dist/Chart/Plot/styles.js.map +0 -1
  280. package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js +0 -162
  281. package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +0 -1
  282. package/dist/Chart/Tooltip/MultiTooltip/index.js +0 -16
  283. package/dist/Chart/Tooltip/MultiTooltip/index.js.map +0 -1
  284. package/dist/Chart/Tooltip/MultiTooltip/styles.js +0 -51
  285. package/dist/Chart/Tooltip/MultiTooltip/styles.js.map +0 -1
  286. package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js +0 -87
  287. package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +0 -1
  288. package/dist/Chart/Tooltip/SingleTooltip/index.js +0 -16
  289. package/dist/Chart/Tooltip/SingleTooltip/index.js.map +0 -1
  290. package/dist/Chart/Tooltip/SingleTooltip/styles.js +0 -26
  291. package/dist/Chart/Tooltip/SingleTooltip/styles.js.map +0 -1
  292. package/dist/Chart/Tooltip/Tooltip.js +0 -165
  293. package/dist/Chart/Tooltip/Tooltip.js.map +0 -1
  294. package/dist/Chart/Tooltip/index.js +0 -16
  295. package/dist/Chart/Tooltip/index.js.map +0 -1
  296. package/dist/Chart/Tooltip/styles.js +0 -16
  297. package/dist/Chart/Tooltip/styles.js.map +0 -1
  298. package/dist/Chart/chartPlotlyOverrides.js +0 -169
  299. package/dist/Chart/chartPlotlyOverrides.js.map +0 -1
  300. package/dist/Chart/index.d.ts +0 -5
  301. package/dist/Chart/index.js +0 -16
  302. package/dist/Chart/index.js.map +0 -1
  303. package/dist/Chart/styles.js +0 -49
  304. package/dist/Chart/styles.js.map +0 -1
  305. package/dist/Donutchart/Donutchart.d.ts +0 -10
  306. package/dist/Donutchart/Donutchart.js +0 -124
  307. package/dist/Donutchart/Donutchart.js.map +0 -1
  308. package/dist/Donutchart/donutchartPlotlyOverrides.js +0 -56
  309. package/dist/Donutchart/donutchartPlotlyOverrides.js.map +0 -1
  310. package/dist/Donutchart/index.d.ts +0 -2
  311. package/dist/Donutchart/index.js +0 -16
  312. package/dist/Donutchart/index.js.map +0 -1
  313. package/dist/Donutchart/styles.js +0 -10
  314. package/dist/Donutchart/styles.js.map +0 -1
  315. package/dist/Linechart/Linechart.d.ts +0 -14
  316. package/dist/Linechart/Linechart.js +0 -130
  317. package/dist/Linechart/Linechart.js.map +0 -1
  318. package/dist/Linechart/index.d.ts +0 -2
  319. package/dist/Linechart/index.js +0 -16
  320. package/dist/Linechart/index.js.map +0 -1
  321. package/dist/Linechart/lineChartPlotlyOverrides.js +0 -79
  322. package/dist/Linechart/lineChartPlotlyOverrides.js.map +0 -1
  323. package/dist/Linechart/styles.js +0 -10
  324. package/dist/Linechart/styles.js.map +0 -1
  325. package/dist/legacy/Barchart/Barchart.d.ts +0 -14
  326. package/dist/legacy/Barchart/Barchart.js +0 -197
  327. package/dist/legacy/Barchart/Barchart.js.map +0 -1
  328. package/dist/legacy/Barchart/barchartPlotlyOverrides.js +0 -43
  329. package/dist/legacy/Barchart/barchartPlotlyOverrides.js.map +0 -1
  330. package/dist/legacy/Barchart/index.d.ts +0 -2
  331. package/dist/legacy/Barchart/index.js +0 -2
  332. package/dist/legacy/Barchart/index.js.map +0 -1
  333. package/dist/legacy/Barchart/styles.js +0 -3
  334. package/dist/legacy/Barchart/styles.js.map +0 -1
  335. package/dist/legacy/Chart/Chart.d.ts +0 -25
  336. package/dist/legacy/Chart/Chart.js +0 -174
  337. package/dist/legacy/Chart/Chart.js.map +0 -1
  338. package/dist/legacy/Chart/Plot/Plot.d.ts +0 -43
  339. package/dist/legacy/Chart/Plot/Plot.js +0 -93
  340. package/dist/legacy/Chart/Plot/Plot.js.map +0 -1
  341. package/dist/legacy/Chart/Plot/index.d.ts +0 -2
  342. package/dist/legacy/Chart/Plot/index.js +0 -2
  343. package/dist/legacy/Chart/Plot/index.js.map +0 -1
  344. package/dist/legacy/Chart/Plot/styles.js +0 -3
  345. package/dist/legacy/Chart/Plot/styles.js.map +0 -1
  346. package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js +0 -130
  347. package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +0 -1
  348. package/dist/legacy/Chart/Tooltip/MultiTooltip/index.js +0 -2
  349. package/dist/legacy/Chart/Tooltip/MultiTooltip/index.js.map +0 -1
  350. package/dist/legacy/Chart/Tooltip/MultiTooltip/styles.js +0 -43
  351. package/dist/legacy/Chart/Tooltip/MultiTooltip/styles.js.map +0 -1
  352. package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js +0 -54
  353. package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +0 -1
  354. package/dist/legacy/Chart/Tooltip/SingleTooltip/index.js +0 -2
  355. package/dist/legacy/Chart/Tooltip/SingleTooltip/index.js.map +0 -1
  356. package/dist/legacy/Chart/Tooltip/SingleTooltip/styles.js +0 -18
  357. package/dist/legacy/Chart/Tooltip/SingleTooltip/styles.js.map +0 -1
  358. package/dist/legacy/Chart/Tooltip/Tooltip.js +0 -128
  359. package/dist/legacy/Chart/Tooltip/Tooltip.js.map +0 -1
  360. package/dist/legacy/Chart/Tooltip/index.js +0 -2
  361. package/dist/legacy/Chart/Tooltip/index.js.map +0 -1
  362. package/dist/legacy/Chart/Tooltip/styles.js +0 -9
  363. package/dist/legacy/Chart/Tooltip/styles.js.map +0 -1
  364. package/dist/legacy/Chart/chartPlotlyOverrides.js +0 -147
  365. package/dist/legacy/Chart/chartPlotlyOverrides.js.map +0 -1
  366. package/dist/legacy/Chart/index.d.ts +0 -5
  367. package/dist/legacy/Chart/index.js +0 -2
  368. package/dist/legacy/Chart/index.js.map +0 -1
  369. package/dist/legacy/Chart/styles.js +0 -32
  370. package/dist/legacy/Chart/styles.js.map +0 -1
  371. package/dist/legacy/Donutchart/Donutchart.d.ts +0 -10
  372. package/dist/legacy/Donutchart/Donutchart.js +0 -86
  373. package/dist/legacy/Donutchart/Donutchart.js.map +0 -1
  374. package/dist/legacy/Donutchart/donutchartPlotlyOverrides.js +0 -40
  375. package/dist/legacy/Donutchart/donutchartPlotlyOverrides.js.map +0 -1
  376. package/dist/legacy/Donutchart/index.d.ts +0 -2
  377. package/dist/legacy/Donutchart/index.js +0 -2
  378. package/dist/legacy/Donutchart/index.js.map +0 -1
  379. package/dist/legacy/Donutchart/styles.js +0 -3
  380. package/dist/legacy/Donutchart/styles.js.map +0 -1
  381. package/dist/legacy/Linechart/Linechart.d.ts +0 -14
  382. package/dist/legacy/Linechart/Linechart.js +0 -92
  383. package/dist/legacy/Linechart/Linechart.js.map +0 -1
  384. package/dist/legacy/Linechart/index.d.ts +0 -2
  385. package/dist/legacy/Linechart/index.js +0 -2
  386. package/dist/legacy/Linechart/index.js.map +0 -1
  387. package/dist/legacy/Linechart/lineChartPlotlyOverrides.js +0 -63
  388. package/dist/legacy/Linechart/lineChartPlotlyOverrides.js.map +0 -1
  389. package/dist/legacy/Linechart/styles.js +0 -3
  390. package/dist/legacy/Linechart/styles.js.map +0 -1
  391. package/dist/modern/Barchart/Barchart.d.ts +0 -14
  392. package/dist/modern/Barchart/Barchart.js +0 -178
  393. package/dist/modern/Barchart/Barchart.js.map +0 -1
  394. package/dist/modern/Barchart/barchartPlotlyOverrides.js +0 -41
  395. package/dist/modern/Barchart/barchartPlotlyOverrides.js.map +0 -1
  396. package/dist/modern/Barchart/index.d.ts +0 -2
  397. package/dist/modern/Barchart/index.js +0 -2
  398. package/dist/modern/Barchart/index.js.map +0 -1
  399. package/dist/modern/Barchart/styles.js +0 -3
  400. package/dist/modern/Barchart/styles.js.map +0 -1
  401. package/dist/modern/Chart/Chart.d.ts +0 -25
  402. package/dist/modern/Chart/Chart.js +0 -158
  403. package/dist/modern/Chart/Chart.js.map +0 -1
  404. package/dist/modern/Chart/Plot/Plot.d.ts +0 -43
  405. package/dist/modern/Chart/Plot/Plot.js +0 -94
  406. package/dist/modern/Chart/Plot/Plot.js.map +0 -1
  407. package/dist/modern/Chart/Plot/index.d.ts +0 -2
  408. package/dist/modern/Chart/Plot/index.js +0 -2
  409. package/dist/modern/Chart/Plot/index.js.map +0 -1
  410. package/dist/modern/Chart/Plot/styles.js +0 -3
  411. package/dist/modern/Chart/Plot/styles.js.map +0 -1
  412. package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js +0 -123
  413. package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +0 -1
  414. package/dist/modern/Chart/Tooltip/MultiTooltip/index.js +0 -2
  415. package/dist/modern/Chart/Tooltip/MultiTooltip/index.js.map +0 -1
  416. package/dist/modern/Chart/Tooltip/MultiTooltip/styles.js +0 -41
  417. package/dist/modern/Chart/Tooltip/MultiTooltip/styles.js.map +0 -1
  418. package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js +0 -51
  419. package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +0 -1
  420. package/dist/modern/Chart/Tooltip/SingleTooltip/index.js +0 -2
  421. package/dist/modern/Chart/Tooltip/SingleTooltip/index.js.map +0 -1
  422. package/dist/modern/Chart/Tooltip/SingleTooltip/styles.js +0 -16
  423. package/dist/modern/Chart/Tooltip/SingleTooltip/styles.js.map +0 -1
  424. package/dist/modern/Chart/Tooltip/Tooltip.js +0 -125
  425. package/dist/modern/Chart/Tooltip/Tooltip.js.map +0 -1
  426. package/dist/modern/Chart/Tooltip/index.js +0 -2
  427. package/dist/modern/Chart/Tooltip/index.js.map +0 -1
  428. package/dist/modern/Chart/Tooltip/styles.js +0 -9
  429. package/dist/modern/Chart/Tooltip/styles.js.map +0 -1
  430. package/dist/modern/Chart/chartPlotlyOverrides.js +0 -137
  431. package/dist/modern/Chart/chartPlotlyOverrides.js.map +0 -1
  432. package/dist/modern/Chart/index.d.ts +0 -5
  433. package/dist/modern/Chart/index.js +0 -2
  434. package/dist/modern/Chart/index.js.map +0 -1
  435. package/dist/modern/Chart/styles.js +0 -23
  436. package/dist/modern/Chart/styles.js.map +0 -1
  437. package/dist/modern/Donutchart/Donutchart.d.ts +0 -10
  438. package/dist/modern/Donutchart/Donutchart.js +0 -82
  439. package/dist/modern/Donutchart/Donutchart.js.map +0 -1
  440. package/dist/modern/Donutchart/donutchartPlotlyOverrides.js +0 -38
  441. package/dist/modern/Donutchart/donutchartPlotlyOverrides.js.map +0 -1
  442. package/dist/modern/Donutchart/index.d.ts +0 -2
  443. package/dist/modern/Donutchart/index.js +0 -2
  444. package/dist/modern/Donutchart/index.js.map +0 -1
  445. package/dist/modern/Donutchart/styles.js +0 -3
  446. package/dist/modern/Donutchart/styles.js.map +0 -1
  447. package/dist/modern/Linechart/Linechart.d.ts +0 -14
  448. package/dist/modern/Linechart/Linechart.js +0 -87
  449. package/dist/modern/Linechart/Linechart.js.map +0 -1
  450. package/dist/modern/Linechart/index.d.ts +0 -2
  451. package/dist/modern/Linechart/index.js +0 -2
  452. package/dist/modern/Linechart/index.js.map +0 -1
  453. package/dist/modern/Linechart/lineChartPlotlyOverrides.js +0 -59
  454. package/dist/modern/Linechart/lineChartPlotlyOverrides.js.map +0 -1
  455. package/dist/modern/Linechart/styles.js +0 -3
  456. package/dist/modern/Linechart/styles.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","names":["React","isValidElement","useEffect","memo","PropTypes","clsx","FixedSizeList","areEqual","withStyles","DropRightXS","parseList","wrapperTooltip","useSelectableList","HvLink","HvCheckBox","HvListContainer","HvListItem","HvRadio","HvTypography","setId","styles","DEFAULT_LABELS","selectAll","selectionConjunction","HvList","props","id","classes","className","multiSelect","hasTooltips","showSelectAll","labels","useSelector","selectable","singleSelectionToggle","condensed","onChange","onClick","values","valuesProp","height","virtualized","others","list","setList","selection","listRef","useRef","passedProps","parsedList","handleSelect","evt","item","path","preventDefault","disabled","handleSelectAll","anySelectableSelected","some","elem","selected","renderLeftIcon","icon","isSelected","isDisabled","renderSelectAll","anySelected","length","allSelected","selectionLabel","selectAllSelector","renderItemText","ItemText","label","a","link","renderMultiSelectItem","itemId","Selection","root","selectorRoot","container","selectorContainer","truncate","renderSingleSelectItem","renderListItem","i","otherProps","startAdornment","undefined","itemSelector","showNavIcon","box","filteredList","filter","it","isHidden","map","reduce","result","selectedItemIndex","findIndex","current","scrollToItem","ListItem","index","style","tabIndex","top","parseFloat","left","width","interactive","disableGutters","propTypes","number","isRequired","shape","virtualizedRoot","forwardRef","ref","rest","string","arrayOf","oneOfType","node","bool","func","params","instanceOf","Object","name"],"sources":["../../../src/List/List.js"],"sourcesContent":["import React, { isValidElement, useEffect, memo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { FixedSizeList, areEqual } from \"react-window\";\n\nimport { withStyles } from \"@material-ui/core\";\nimport { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { parseList, wrapperTooltip } from \"./utils\";\nimport useSelectableList from \"./useSelectableList\";\n\nimport { HvLink, HvCheckBox, HvListContainer, HvListItem, HvRadio, HvTypography, setId } from \"..\";\n\nimport styles from \"./styles\";\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 */\nconst HvList = (props) => {\n const {\n id,\n classes,\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 } = props;\n const [list, setList, selection] = useSelectableList(valuesProp);\n const listRef = React.useRef(null);\n\n useEffect(() => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList = parseList(valuesProp, null, passedProps);\n setList(parsedList);\n }, [valuesProp, multiSelect, selectable, singleSelectionToggle, setList]);\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(list, item, passedProps);\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((elem) => elem.selected || elem.disabled);\n const parsedList = parseList(list, null, passedProps, !anySelectableSelected);\n setList(parsedList);\n\n onChange?.(parsedList);\n };\n\n const renderLeftIcon = (item) =>\n isValidElement(item.icon)\n ? item.icon\n : item.icon?.({\n isSelected: item.selected,\n isDisabled: item.disabled,\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={selectable ? \"option\" : \"menuitem\"}\n disabled={item.disabled || undefined}\n className={classes.item}\n classes={{ selected: useSelector || multiSelect ? classes.itemSelector : \"\" }}\n selected={multiSelect || selected ? selected : undefined}\n onClick={(evt) => handleSelect(evt, item)}\n startAdornment={startAdornment}\n endAdornment={item.showNavIcon && <DropRightXS className={classes.box} iconSize=\"XS\" />}\n {...otherProps}\n >\n {multiSelect ? renderMultiSelectItem(item, itemId) : 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 ListItem = memo(({ index, style }) => {\n const item = filteredList[index];\n const tabIndex =\n item.tabIndex || (!anySelected && index === 0) || (item.selected && !item.disabled) ? 0 : -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 }, areEqual);\n ListItem.propTypes = {\n index: PropTypes.number.isRequired,\n style: PropTypes.shape({\n top: PropTypes.number.isRequired,\n left: PropTypes.number.isRequired,\n width: PropTypes.number.isRequired,\n }).isRequired,\n };\n\n return (\n <>\n {multiSelect && useSelector && showSelectAll && renderSelectAll()}\n\n {filteredList.length > 0 && !virtualized && (\n <HvListContainer\n id={id}\n className={clsx(className, classes.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n {...others}\n >\n {filteredList.map((item, i) => renderListItem(item, i))}\n </HvListContainer>\n )}\n {filteredList.length > 0 && virtualized && (\n <FixedSizeList\n ref={listRef}\n className={classes.virtualizedRoot}\n height={height + 5}\n width=\"100%\"\n itemCount={filteredList.length}\n itemSize={condensed ? 32 : 40}\n innerElementType={React.forwardRef(({ ...rest }, ref) => (\n <HvListContainer\n id={id}\n className={clsx(className, classes.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n ref={ref}\n {...rest}\n />\n ))}\n {...others}\n >\n {ListItem}\n </FixedSizeList>\n )}\n </>\n );\n};\n\nHvList.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component root class in virtualized form.\n */\n virtualizedRoot: PropTypes.string,\n /**\n * Styles applied to the list item selector.\n */\n selectorRoot: PropTypes.string,\n /**\n * Styles applied to the list item selector label container.\n */\n selectorContainer: PropTypes.string,\n /**\n * Style applied to the icon box.\n */\n box: PropTypes.string,\n /**\n * Styles applied when the list item text when truncate.\n */\n truncate: PropTypes.string,\n /**\n * Styles applied to the list item.\n */\n item: PropTypes.string,\n /**\n * Styles applied to the list item when it has a selector.\n */\n itemSelector: PropTypes.string,\n /**\n * Styles applied to the list item when it has a link path.\n */\n link: PropTypes.string,\n /**\n * Styles applied to the select all selector.\n */\n selectAllSelector: PropTypes.string,\n }).isRequired,\n /**\n * The id of the root element\n */\n id: PropTypes.string,\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 // eslint-disable-next-line react/no-unused-prop-types\n values: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.node.isRequired,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n isHidden: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n showNavIcon: PropTypes.bool,\n path: PropTypes.string,\n params: PropTypes.instanceOf(Object),\n })\n ).isRequired,\n /**\n * If true renders a multi select list.\n */\n multiSelect: PropTypes.bool,\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: PropTypes.bool,\n /**\n * An object containing all the labels for the dropdown.\n */\n labels: PropTypes.shape({\n /**\n * The label used for the All checkbox action.\n */\n selectAll: PropTypes.string,\n /**\n * The label used in the middle of the multiselection count.\n */\n selectionConjunction: PropTypes.string,\n }),\n /**\n * If true renders list items with radio or checkbox selectors.\n */\n useSelector: PropTypes.bool,\n /**\n * Call back fired when list item is selected. Returns selection state.\n */\n onChange: PropTypes.func,\n /**\n * Call back fired when list item is selected. Returns selected item.\n */\n onClick: PropTypes.func,\n /**\n * If `true` the list items will show the selection state.\n */\n selectable: PropTypes.bool,\n /**\n * If `true`, selection can be toggled when single selection.\n */\n singleSelectionToggle: PropTypes.bool,\n /**\n * If `true` the list will be rendered without vertical spacing.\n */\n condensed: PropTypes.bool,\n /**\n * If `true` the dropdown will show tooltips when user mouseenter text in list\n */\n hasTooltips: PropTypes.bool,\n /**\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 */\n height: PropTypes.number,\n /**\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 */\n virtualized: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvList\" })(HvList);\n"],"mappings":"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"}
1
+ {"version":3,"file":"List.js","names":["React","isValidElement","useEffect","useCallback","forwardRef","PropTypes","clsx","FixedSizeList","withStyles","DropRightXS","parseList","wrapperTooltip","useSelectableList","HvLink","HvCheckBox","HvListContainer","HvListItem","HvRadio","HvTypography","setId","styles","DEFAULT_LABELS","selectAll","selectionConjunction","HvList","props","id","classes","className","multiSelect","hasTooltips","showSelectAll","labels","useSelector","selectable","singleSelectionToggle","condensed","onChange","onClick","values","valuesProp","height","virtualized","others","list","setList","selection","listRef","useRef","passedProps","parsedList","handleSelect","evt","item","path","preventDefault","disabled","handleSelectAll","anySelectableSelected","some","elem","selected","renderLeftIcon","icon","isSelected","isDisabled","renderSelectAll","anySelected","length","allSelected","selectionLabel","selectAllSelector","renderItemText","ItemText","label","a","link","renderMultiSelectItem","itemId","Selection","root","selectorRoot","container","selectorContainer","truncate","renderSingleSelectItem","renderListItem","i","otherProps","startAdornment","undefined","itemSelector","showNavIcon","box","filteredList","filter","it","isHidden","map","reduce","result","selectedItemIndex","findIndex","current","scrollToItem","ListItem","index","style","tabIndex","top","parseFloat","left","width","interactive","disableGutters","propTypes","shape","number","isRequired","renderFixedList","ref","rest","virtualizedRoot","string","arrayOf","oneOfType","node","bool","func","params","instanceOf","Object","name"],"sources":["../../../src/List/List.js"],"sourcesContent":["import React, { isValidElement, useEffect, useCallback, forwardRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { FixedSizeList } from \"react-window\";\n\nimport { withStyles } from \"@material-ui/core\";\nimport { DropRightXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { parseList, wrapperTooltip } from \"./utils\";\nimport useSelectableList from \"./useSelectableList\";\n\nimport { HvLink, HvCheckBox, HvListContainer, HvListItem, HvRadio, HvTypography, setId } from \"..\";\n\nimport styles from \"./styles\";\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 */\nconst HvList = (props) => {\n const {\n id,\n classes,\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 } = props;\n const [list, setList, selection] = useSelectableList(valuesProp);\n const listRef = React.useRef(null);\n\n useEffect(() => {\n const passedProps = { multiSelect, selectable, singleSelectionToggle };\n const parsedList = parseList(valuesProp, null, passedProps);\n setList(parsedList);\n }, [valuesProp, multiSelect, selectable, singleSelectionToggle, setList]);\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(list, item, passedProps);\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((elem) => elem.selected || elem.disabled);\n const parsedList = parseList(list, null, passedProps, !anySelectableSelected);\n setList(parsedList);\n\n onChange?.(parsedList);\n };\n\n const renderLeftIcon = (item) =>\n isValidElement(item.icon)\n ? item.icon\n : item.icon?.({\n isSelected: item.selected,\n isDisabled: item.disabled,\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={selectable ? \"option\" : \"menuitem\"}\n disabled={item.disabled || undefined}\n className={classes.item}\n classes={{ selected: useSelector || multiSelect ? classes.itemSelector : \"\" }}\n selected={multiSelect || selected ? selected : undefined}\n onClick={(evt) => handleSelect(evt, item)}\n startAdornment={startAdornment}\n endAdornment={item.showNavIcon && <DropRightXS className={classes.box} iconSize=\"XS\" />}\n {...otherProps}\n >\n {multiSelect ? renderMultiSelectItem(item, itemId) : 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 ListItem = ({ index, style }) => {\n const item = filteredList[index];\n const tabIndex =\n item.tabIndex || (!anySelected && index === 0) || (item.selected && !item.disabled) ? 0 : -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 ListItem.propTypes = {\n style: PropTypes.shape({\n top: PropTypes.number.isRequired,\n left: PropTypes.number.isRequired,\n width: PropTypes.number.isRequired,\n }).isRequired,\n };\n\n const renderFixedList = useCallback(() => {\n return forwardRef(({ ...rest }, ref) => (\n <HvListContainer\n id={id}\n className={clsx(className, classes.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n ref={ref}\n {...rest}\n />\n ));\n }, [id, useSelector, className, classes, condensed, selectable, multiSelect]);\n\n return (\n <>\n {multiSelect && useSelector && showSelectAll && renderSelectAll()}\n\n {filteredList.length > 0 && !virtualized && (\n <HvListContainer\n id={id}\n className={clsx(className, classes.root)}\n role={selectable ? \"listbox\" : \"menu\"}\n interactive\n condensed={condensed}\n disableGutters={useSelector}\n aria-multiselectable={(selectable && multiSelect) || undefined}\n {...others}\n >\n {filteredList.map((item, i) => renderListItem(item, i))}\n </HvListContainer>\n )}\n {filteredList.length > 0 && virtualized && (\n <FixedSizeList\n ref={listRef}\n className={classes.virtualizedRoot}\n height={height + 5}\n width=\"100%\"\n itemCount={filteredList.length}\n itemSize={condensed ? 32 : 40}\n innerElementType={renderFixedList}\n {...others}\n >\n {ListItem}\n </FixedSizeList>\n )}\n </>\n );\n};\n\nHvList.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component root class in virtualized form.\n */\n virtualizedRoot: PropTypes.string,\n /**\n * Styles applied to the list item selector.\n */\n selectorRoot: PropTypes.string,\n /**\n * Styles applied to the list item selector label container.\n */\n selectorContainer: PropTypes.string,\n /**\n * Style applied to the icon box.\n */\n box: PropTypes.string,\n /**\n * Styles applied when the list item text when truncate.\n */\n truncate: PropTypes.string,\n /**\n * Styles applied to the list item.\n */\n item: PropTypes.string,\n /**\n * Styles applied to the list item when it has a selector.\n */\n itemSelector: PropTypes.string,\n /**\n * Styles applied to the list item when it has a link path.\n */\n link: PropTypes.string,\n /**\n * Styles applied to the select all selector.\n */\n selectAllSelector: PropTypes.string,\n }).isRequired,\n /**\n * The id of the root element\n */\n id: PropTypes.string,\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 // eslint-disable-next-line react/no-unused-prop-types\n values: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.node.isRequired,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n isHidden: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n showNavIcon: PropTypes.bool,\n path: PropTypes.string,\n params: PropTypes.instanceOf(Object),\n })\n ).isRequired,\n /**\n * If true renders a multi select list.\n */\n multiSelect: PropTypes.bool,\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: PropTypes.bool,\n /**\n * An object containing all the labels for the dropdown.\n */\n labels: PropTypes.shape({\n /**\n * The label used for the All checkbox action.\n */\n selectAll: PropTypes.string,\n /**\n * The label used in the middle of the multiselection count.\n */\n selectionConjunction: PropTypes.string,\n }),\n /**\n * If true renders list items with radio or checkbox selectors.\n */\n useSelector: PropTypes.bool,\n /**\n * Call back fired when list item is selected. Returns selection state.\n */\n onChange: PropTypes.func,\n /**\n * Call back fired when list item is selected. Returns selected item.\n */\n onClick: PropTypes.func,\n /**\n * If `true` the list items will show the selection state.\n */\n selectable: PropTypes.bool,\n /**\n * If `true`, selection can be toggled when single selection.\n */\n singleSelectionToggle: PropTypes.bool,\n /**\n * If `true` the list will be rendered without vertical spacing.\n */\n condensed: PropTypes.bool,\n /**\n * If `true` the dropdown will show tooltips when user mouseenter text in list\n */\n hasTooltips: PropTypes.bool,\n /**\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 */\n height: PropTypes.number,\n /**\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 */\n virtualized: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvList\" })(HvList);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,IAAgBC,cAAhB,EAAgCC,SAAhC,EAA2CC,WAA3C,EAAwDC,UAAxD,QAA0E,OAA1E;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,SAASC,aAAT,QAA8B,cAA9B;AAEA,SAASC,UAAT,QAA2B,mBAA3B;AACA,SAASC,WAAT,QAA4B,mCAA5B;AAEA,SAASC,SAAT,EAAoBC,cAApB,QAA0C,SAA1C;AACA,OAAOC,iBAAP,MAA8B,qBAA9B;AAEA,SAASC,MAAT,EAAiBC,UAAjB,EAA6BC,eAA7B,EAA8CC,UAA9C,EAA0DC,OAA1D,EAAmEC,YAAnE,EAAiFC,KAAjF,QAA8F,IAA9F;AAEA,OAAOC,MAAP,MAAmB,UAAnB;AAEA,IAAMC,cAAc,GAAG;EACrBC,SAAS,EAAE,YADU;EAErBC,oBAAoB,EAAE;AAFD,CAAvB;AAKA;AACA;AACA;;AACA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD,EAAW;EACxB,IACEC,EADF,GAkBID,KAlBJ,CACEC,EADF;EAAA,IAEEC,OAFF,GAkBIF,KAlBJ,CAEEE,OAFF;EAAA,IAGEC,SAHF,GAkBIH,KAlBJ,CAGEG,SAHF;EAAA,yBAkBIH,KAlBJ,CAIEI,WAJF;EAAA,IAIEA,WAJF,mCAIgB,KAJhB;EAAA,yBAkBIJ,KAlBJ,CAKEK,WALF;EAAA,IAKEA,WALF,mCAKgB,KALhB;EAAA,2BAkBIL,KAlBJ,CAMEM,aANF;EAAA,IAMEA,aANF,qCAMkB,KANlB;EAAA,oBAkBIN,KAlBJ,CAOEO,MAPF;EAAA,IAOEA,MAPF,8BAOWX,cAPX;EAAA,yBAkBII,KAlBJ,CAQEQ,WARF;EAAA,IAQEA,WARF,mCAQgB,KARhB;EAAA,wBAkBIR,KAlBJ,CASES,UATF;EAAA,IASEA,UATF,kCASe,IATf;EAAA,4BAkBIT,KAlBJ,CAUEU,qBAVF;EAAA,IAUEA,qBAVF,sCAU0B,IAV1B;EAAA,uBAkBIV,KAlBJ,CAWEW,SAXF;EAAA,IAWEA,SAXF,iCAWc,KAXd;EAAA,IAYEC,QAZF,GAkBIZ,KAlBJ,CAYEY,QAZF;EAAA,IAaEC,OAbF,GAkBIb,KAlBJ,CAaEa,OAbF;EAAA,oBAkBIb,KAlBJ,CAcEc,MAdF;EAAA,IAcUC,UAdV,8BAcuB,EAdvB;EAAA,IAeEC,MAfF,GAkBIhB,KAlBJ,CAeEgB,MAfF;EAAA,yBAkBIhB,KAlBJ,CAgBEiB,WAhBF;EAAA,IAgBEA,WAhBF,mCAgBgB,KAhBhB;EAAA,IAiBKC,MAjBL,4BAkBIlB,KAlBJ;;EAmBA,yBAAmCb,iBAAiB,CAAC4B,UAAD,CAApD;EAAA;EAAA,IAAOI,IAAP;EAAA,IAAaC,OAAb;EAAA,IAAsBC,SAAtB;;EACA,IAAMC,OAAO,GAAG/C,KAAK,CAACgD,MAAN,CAAa,IAAb,CAAhB;EAEA9C,SAAS,CAAC,YAAM;IACd,IAAM+C,WAAW,GAAG;MAAEpB,WAAW,EAAXA,WAAF;MAAeK,UAAU,EAAVA,UAAf;MAA2BC,qBAAqB,EAArBA;IAA3B,CAApB;IACA,IAAMe,UAAU,GAAGxC,SAAS,CAAC8B,UAAD,EAAa,IAAb,EAAmBS,WAAnB,CAA5B;IACAJ,OAAO,CAACK,UAAD,CAAP;EACD,CAJQ,EAIN,CAACV,UAAD,EAAaX,WAAb,EAA0BK,UAA1B,EAAsCC,qBAAtC,EAA6DU,OAA7D,CAJM,CAAT;;EAMA,IAAMM,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAMC,IAAN,EAAe;IAClC,IAAI,CAACA,IAAI,CAACC,IAAV,EAAgBF,GAAG,CAACG,cAAJ;IAChB,IAAIF,IAAI,CAACG,QAAT,EAAmB;IAEnB,IAAMP,WAAW,GAAG;MAAEpB,WAAW,EAAXA,WAAF;MAAeK,UAAU,EAAVA,UAAf;MAA2BC,qBAAqB,EAArBA;IAA3B,CAApB;IACA,IAAMe,UAAU,GAAGxC,SAAS,CAACkC,IAAD,EAAOS,IAAP,EAAaJ,WAAb,CAA5B;IACAJ,OAAO,CAACK,UAAD,CAAP;IAEAZ,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAGc,GAAH,EAAQC,IAAR,CAAP;IACAhB,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAGa,UAAH,CAAR;EACD,CAVD;;EAYA,IAAMO,eAAe,GAAG,SAAlBA,eAAkB,GAAM;IAC5B,IAAMR,WAAW,GAAG;MAAEpB,WAAW,EAAXA,WAAF;MAAeK,UAAU,EAAVA,UAAf;MAA2BC,qBAAqB,EAArBA;IAA3B,CAApB;IACA,IAAMuB,qBAAqB,GAAGd,IAAI,CAACe,IAAL,CAAU,UAACC,IAAD;MAAA,OAAUA,IAAI,CAACC,QAAL,IAAiBD,IAAI,CAACJ,QAAhC;IAAA,CAAV,CAA9B;IACA,IAAMN,UAAU,GAAGxC,SAAS,CAACkC,IAAD,EAAO,IAAP,EAAaK,WAAb,EAA0B,CAACS,qBAA3B,CAA5B;IACAb,OAAO,CAACK,UAAD,CAAP;IAEAb,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAGa,UAAH,CAAR;EACD,CAPD;;EASA,IAAMY,cAAc,GAAG,SAAjBA,cAAiB,CAACT,IAAD;IAAA;;IAAA,OACrB,aAAApD,cAAc,CAACoD,IAAI,CAACU,IAAN,CAAd,GACIV,IAAI,CAACU,IADT,iBAEIV,IAAI,CAACU,IAFT,+CAEI,gBAAAV,IAAI,EAAQ;MACVW,UAAU,EAAEX,IAAI,CAACQ,QADP;MAEVI,UAAU,EAAEZ,IAAI,CAACG;IAFP,CAAR,CAHa;EAAA,CAAvB;;EAQA,IAAMU,eAAe,GAAG,SAAlBA,eAAkB,GAAM;IAC5B,IAAQ5C,SAAR,GAA4CU,MAA5C,CAAQV,SAAR;IAAA,IAAmBC,oBAAnB,GAA4CS,MAA5C,CAAmBT,oBAAnB;IAEA,IAAM4C,WAAW,GAAG,CAAC,EAACrB,SAAD,aAACA,SAAD,eAACA,SAAS,CAAEsB,MAAZ,CAArB;IACA,IAAMC,WAAW,GAAGvB,SAAS,CAACsB,MAAV,KAAqBxB,IAAI,CAACwB,MAA9C;IAEA,IAAME,cAAc,gBAClB,oBAAC,YAAD;MAAc,SAAS,EAAC;IAAxB,GACG,CAACH,WAAD,gBACC,uDACE,+BAAI7C,SAAJ,CADF,cAEQsB,IAAI,CAACwB,MAFb,OADD,gBAMC,uDACE,+BAAItB,SAAS,CAACsB,MAAd,CADF,gBAEU7C,oBAFV,WAGGqB,IAAI,CAACwB,MAHR,CAPJ,CADF;IAiBA,oBACE,oBAAC,UAAD;MACE,EAAE,EAAEjD,KAAK,CAACO,EAAD,EAAK,YAAL,CADX;MAEE,KAAK,EAAE4C,cAFT;MAGE,QAAQ,EAAEb,eAHZ;MAIE,SAAS,EAAE9B,OAAO,CAAC4C,iBAJrB;MAKE,aAAa,EAAEJ,WAAW,IAAI,CAACE,WALjC;MAME,OAAO,EAAEA;IANX,EADF;EAUD,CAjCD;;EAmCA,IAAMG,cAAc,GAAG,SAAjBA,cAAiB,CAACnB,IAAD,EAAU;IAC/B,IAAMoB,QAAQ,GAAG9D,cAAc,CAACmB,WAAD,EAAcuB,IAAI,CAACqB,KAAnB,EAA0BrB,IAAI,CAACqB,KAA/B,CAA/B;IAEA,OAAO,CAAC7C,WAAD,IAAgBwB,IAAI,CAACC,IAArB,gBACL,oBAAC,MAAD;MAAQ,GAAG,EAAED,IAAI,CAACqB,KAAlB;MAAyB,KAAK,EAAErB,IAAI,CAACC,IAArC;MAA2C,OAAO,EAAE;QAAEqB,CAAC,EAAEhD,OAAO,CAACiD;MAAb;IAApD,gBACE,oBAAC,QAAD,OADF,CADK,gBAKL,oBAAC,QAAD,OALF;EAOD,CAVD;;EAYA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACxB,IAAD,EAAOyB,MAAP,EAAkB;IAC9C,IAAI7C,WAAJ,EAAiB;MACf,IAAM8C,SAAS,GAAGpE,cAAc,CAC9BmB,WAD8B,eAE9B,oBAAC,UAAD;QACE,EAAE,EAAEX,KAAK,CAAC2D,MAAD,EAAS,UAAT,CADX;QAEE,KAAK,EAAEzB,IAAI,CAACqB,KAFd;QAGE,OAAO,EAAErB,IAAI,CAACQ,QAHhB;QAIE,QAAQ,EAAER,IAAI,CAACG,QAJjB;QAKE,QAAQ,EAAE,kBAACJ,GAAD;UAAA,OAASD,YAAY,CAACC,GAAD,EAAMC,IAAN,CAArB;QAAA,CALZ;QAME,OAAO,EAAE;UACP2B,IAAI,EAAErD,OAAO,CAACsD,YADP;UAEPC,SAAS,EAAEvD,OAAO,CAACwD,iBAFZ;UAGPT,KAAK,EAAE/C,OAAO,CAACyD;QAHR;MANX,EAF8B,EAc9B/B,IAAI,CAACqB,KAdyB,CAAhC;MAgBA,oBAAO,oBAAC,SAAD,OAAP;IACD;;IAED,OAAOF,cAAc,CAACnB,IAAD,CAArB;EACD,CAtBD;;EAwBA,IAAMgC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAChC,IAAD,EAAOyB,MAAP,EAAkB;IAC/C,IAAI7C,WAAJ,EAAiB;MACf,IAAM8C,SAAS,GAAGpE,cAAc,CAC9BmB,WAD8B,eAE9B,oBAAC,OAAD;QACE,EAAE,EAAEX,KAAK,CAAC2D,MAAD,EAAS,UAAT,CADX;QAEE,KAAK,EAAEzB,IAAI,CAACqB,KAFd;QAGE,OAAO,EAAErB,IAAI,CAACQ,QAHhB;QAIE,QAAQ,EAAER,IAAI,CAACG,QAJjB;QAKE,OAAO,EAAE;UACPwB,IAAI,EAAErD,OAAO,CAACsD,YADP;UAEPC,SAAS,EAAEvD,OAAO,CAACwD,iBAFZ;UAGPT,KAAK,EAAE/C,OAAO,CAACyD;QAHR;MALX,EAF8B,EAa9B/B,IAAI,CAACqB,KAbyB,CAAhC;MAeA,oBAAO,oBAAC,SAAD,OAAP;IACD;;IACD,OAAOF,cAAc,CAACnB,IAAD,CAArB;EACD,CApBD;;EAsBA,IAAMiC,cAAc,GAAG,SAAjBA,cAAiB,CAACjC,IAAD,EAAOkC,CAAP,EAA8B;IAAA,IAApBC,UAAoB,uEAAP,EAAO;IACnD,IAAMV,MAAM,GAAG3D,KAAK,CAACO,EAAD,EAAK,MAAL,EAAa6D,CAAb,CAApB;IACA,IAAM1B,QAAQ,GAAGR,IAAI,CAACQ,QAAL,IAAiB,KAAlC;IAEA,IAAI4B,cAAc,GAAG,IAArB;;IACA,IAAI,CAACxD,WAAD,IAAgBoB,IAAI,CAACU,IAAzB,EAA+B;MAC7B0B,cAAc,GAAG3B,cAAc,CAACT,IAAD,CAA/B;IACD;;IAED,oBACE,oBAAC,UAAD;MACE,GAAG,EAAEkC,CADP;MAEE,EAAE,EAAET,MAFN;MAGE,IAAI,EAAE5C,UAAU,GAAG,QAAH,GAAc,UAHhC;MAIE,QAAQ,EAAEmB,IAAI,CAACG,QAAL,IAAiBkC,SAJ7B;MAKE,SAAS,EAAE/D,OAAO,CAAC0B,IALrB;MAME,OAAO,EAAE;QAAEQ,QAAQ,EAAE5B,WAAW,IAAIJ,WAAf,GAA6BF,OAAO,CAACgE,YAArC,GAAoD;MAAhE,CANX;MAOE,QAAQ,EAAE9D,WAAW,IAAIgC,QAAf,GAA0BA,QAA1B,GAAqC6B,SAPjD;MAQE,OAAO,EAAE,iBAACtC,GAAD;QAAA,OAASD,YAAY,CAACC,GAAD,EAAMC,IAAN,CAArB;MAAA,CARX;MASE,cAAc,EAAEoC,cATlB;MAUE,YAAY,EAAEpC,IAAI,CAACuC,WAAL,iBAAoB,oBAAC,WAAD;QAAa,SAAS,EAAEjE,OAAO,CAACkE,GAAhC;QAAqC,QAAQ,EAAC;MAA9C;IAVpC,GAWML,UAXN,GAaG3D,WAAW,GAAGgD,qBAAqB,CAACxB,IAAD,EAAOyB,MAAP,CAAxB,GAAyCO,sBAAsB,CAAChC,IAAD,EAAOyB,MAAP,CAb7E,CADF;EAiBD,CA1BD;;EA4BA,IAAMgB,YAAY,GAAGlD,IAAI,CAACmD,MAAL,CAAY,UAACC,EAAD;IAAA,OAAQ,CAACA,EAAE,CAACC,QAAZ;EAAA,CAAZ,CAArB;EACA,IAAM9B,WAAW,GAAGvB,IAAI,CACrBsD,GADiB,CACb,UAAC7C,IAAD;IAAA,OAAUA,IAAI,CAACQ,QAAL,IAAiB,CAACR,IAAI,CAACG,QAAjC;EAAA,CADa,EAEjB2C,MAFiB,CAEV,UAACC,MAAD,EAASvC,QAAT;IAAA,OAAsBuC,MAAM,IAAIvC,QAAhC;EAAA,CAFU,EAEgC,KAFhC,CAApB;EAIA,IAAMwC,iBAAiB,GAAGzD,IAAI,CAAC0D,SAAL,CAAe,UAACjD,IAAD;IAAA,OAAUA,IAAI,CAACQ,QAAf;EAAA,CAAf,CAA1B;EACA3D,SAAS,CAAC,YAAM;IACd,IAAImG,iBAAiB,IAAI,CAArB,IAA0BtD,OAAO,CAACwD,OAAR,KAAoB,IAAlD,EAAwD;MACtDxD,OAAO,CAACwD,OAAR,CAAgBC,YAAhB,CAA6BH,iBAA7B;IACD;EACF,CAJQ,EAIN,CAACtD,OAAD,EAAUsD,iBAAV,CAJM,CAAT;;EAMA,IAAMI,QAAQ,GAAG,SAAXA,QAAW,OAAsB;IAAA,IAAnBC,KAAmB,QAAnBA,KAAmB;IAAA,IAAZC,KAAY,QAAZA,KAAY;IACrC,IAAMtD,IAAI,GAAGyC,YAAY,CAACY,KAAD,CAAzB;IACA,IAAME,QAAQ,GACZvD,IAAI,CAACuD,QAAL,IAAkB,CAACzC,WAAD,IAAgBuC,KAAK,KAAK,CAA5C,IAAmDrD,IAAI,CAACQ,QAAL,IAAiB,CAACR,IAAI,CAACG,QAA1E,GAAsF,CAAtF,GAA0F,CAAC,CAD7F;IAGA,OAAO8B,cAAc,CAACjC,IAAD,EAAOqD,KAAP,EAAc;MACjCC,KAAK,kCACAA,KADA;QAEHE,GAAG,YAAKC,UAAU,CAACH,KAAK,CAACE,GAAP,CAAV,GAAwB,CAA7B,OAFA;QAGHE,IAAI,YAAKD,UAAU,CAACH,KAAK,CAACI,IAAP,CAAV,GAAyB,CAA9B,OAHD;QAIHC,KAAK,iBAAUF,UAAU,CAACH,KAAK,CAACK,KAAP,CAApB;MAJF,EAD4B;MAOjCJ,QAAQ,EAARA,QAPiC;MAQjCK,WAAW,EAAE,IARoB;MASjC7E,SAAS,EAATA,SATiC;MAUjC8E,cAAc,EAAEjF;IAViB,CAAd,CAArB;EAYD,CAjBD;;EAmBA,wCAAAwE,QAAQ,CAACU,SAAT,GAAqB;IACnBR,KAAK,EAAEtG,SAAS,CAAC+G,KAAV,CAAgB;MACrBP,GAAG,EAAExG,SAAS,CAACgH,MAAV,CAAiBC,UADD;MAErBP,IAAI,EAAE1G,SAAS,CAACgH,MAAV,CAAiBC,UAFF;MAGrBN,KAAK,EAAE3G,SAAS,CAACgH,MAAV,CAAiBC;IAHH,CAAhB,EAIJA;EALgB,CAArB;EAQA,IAAMC,eAAe,GAAGpH,WAAW,CAAC,YAAM;IACxC,oBAAOC,UAAU,CAAC,iBAAcoH,GAAd;MAAA,IAAMC,IAAN;;MAAA,oBAChB,oBAAC,eAAD;QACE,EAAE,EAAE/F,EADN;QAEE,SAAS,EAAEpB,IAAI,CAACsB,SAAD,EAAYD,OAAO,CAACqD,IAApB,CAFjB;QAGE,IAAI,EAAE9C,UAAU,GAAG,SAAH,GAAe,MAHjC;QAIE,WAAW,MAJb;QAKE,SAAS,EAAEE,SALb;QAME,cAAc,EAAEH,WANlB;QAOE,wBAAuBC,UAAU,IAAIL,WAAf,IAA+B6D,SAPvD;QAQE,GAAG,EAAE8B;MARP,GASMC,IATN,EADgB;IAAA,CAAD,CAAjB;EAaD,CAdkC,EAchC,CAAC/F,EAAD,EAAKO,WAAL,EAAkBL,SAAlB,EAA6BD,OAA7B,EAAsCS,SAAtC,EAAiDF,UAAjD,EAA6DL,WAA7D,CAdgC,CAAnC;EAgBA,oBACE,0CACGA,WAAW,IAAII,WAAf,IAA8BF,aAA9B,IAA+CmC,eAAe,EADjE,EAGG4B,YAAY,CAAC1B,MAAb,GAAsB,CAAtB,IAA2B,CAAC1B,WAA5B,iBACC,oBAAC,eAAD;IACE,EAAE,EAAEhB,EADN;IAEE,SAAS,EAAEpB,IAAI,CAACsB,SAAD,EAAYD,OAAO,CAACqD,IAApB,CAFjB;IAGE,IAAI,EAAE9C,UAAU,GAAG,SAAH,GAAe,MAHjC;IAIE,WAAW,MAJb;IAKE,SAAS,EAAEE,SALb;IAME,cAAc,EAAEH,WANlB;IAOE,wBAAuBC,UAAU,IAAIL,WAAf,IAA+B6D;EAPvD,GAQM/C,MARN,GAUGmD,YAAY,CAACI,GAAb,CAAiB,UAAC7C,IAAD,EAAOkC,CAAP;IAAA,OAAaD,cAAc,CAACjC,IAAD,EAAOkC,CAAP,CAA3B;EAAA,CAAjB,CAVH,CAJJ,EAiBGO,YAAY,CAAC1B,MAAb,GAAsB,CAAtB,IAA2B1B,WAA3B,iBACC,oBAAC,aAAD;IACE,GAAG,EAAEK,OADP;IAEE,SAAS,EAAEpB,OAAO,CAAC+F,eAFrB;IAGE,MAAM,EAAEjF,MAAM,GAAG,CAHnB;IAIE,KAAK,EAAC,MAJR;IAKE,SAAS,EAAEqD,YAAY,CAAC1B,MAL1B;IAME,QAAQ,EAAEhC,SAAS,GAAG,EAAH,GAAQ,EAN7B;IAOE,gBAAgB,EAAEmF;EAPpB,GAQM5E,MARN,GAUG8D,QAVH,CAlBJ,CADF;AAkCD,CA5QD;;AA8QA,wCAAAjF,MAAM,CAAC2F,SAAP,GAAmB;EACjB;AACF;AACA;EACEvF,SAAS,EAAEvB,SAAS,CAACsH,MAJJ;;EAKjB;AACF;AACA;EACEhG,OAAO,EAAEtB,SAAS,CAAC+G,KAAV,CAAgB;IACvB;AACJ;AACA;IACIpC,IAAI,EAAE3E,SAAS,CAACsH,MAJO;;IAKvB;AACJ;AACA;IACID,eAAe,EAAErH,SAAS,CAACsH,MARJ;;IASvB;AACJ;AACA;IACI1C,YAAY,EAAE5E,SAAS,CAACsH,MAZD;;IAavB;AACJ;AACA;IACIxC,iBAAiB,EAAE9E,SAAS,CAACsH,MAhBN;;IAiBvB;AACJ;AACA;IACI9B,GAAG,EAAExF,SAAS,CAACsH,MApBQ;;IAqBvB;AACJ;AACA;IACIvC,QAAQ,EAAE/E,SAAS,CAACsH,MAxBG;;IAyBvB;AACJ;AACA;IACItE,IAAI,EAAEhD,SAAS,CAACsH,MA5BO;;IA6BvB;AACJ;AACA;IACIhC,YAAY,EAAEtF,SAAS,CAACsH,MAhCD;;IAiCvB;AACJ;AACA;IACI/C,IAAI,EAAEvE,SAAS,CAACsH,MApCO;;IAqCvB;AACJ;AACA;IACIpD,iBAAiB,EAAElE,SAAS,CAACsH;EAxCN,CAAhB,EAyCNL,UAjDc;;EAkDjB;AACF;AACA;EACE5F,EAAE,EAAErB,SAAS,CAACsH,MArDG;;EAsDjB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE;EACApF,MAAM,EAAElC,SAAS,CAACuH,OAAV,CACNvH,SAAS,CAAC+G,KAAV,CAAgB;IACd1F,EAAE,EAAErB,SAAS,CAACwH,SAAV,CAAoB,CAACxH,SAAS,CAACsH,MAAX,EAAmBtH,SAAS,CAACgH,MAA7B,CAApB,CADU;IAEd3C,KAAK,EAAErE,SAAS,CAACyH,IAAV,CAAeR,UAFR;IAGdzD,QAAQ,EAAExD,SAAS,CAAC0H,IAHN;IAIdvE,QAAQ,EAAEnD,SAAS,CAAC0H,IAJN;IAKd9B,QAAQ,EAAE5F,SAAS,CAAC0H,IALN;IAMdhE,IAAI,EAAE1D,SAAS,CAACwH,SAAV,CAAoB,CAACxH,SAAS,CAAC2H,IAAX,EAAiB3H,SAAS,CAACyH,IAA3B,CAApB,CANQ;IAOdlC,WAAW,EAAEvF,SAAS,CAAC0H,IAPT;IAQdzE,IAAI,EAAEjD,SAAS,CAACsH,MARF;IASdM,MAAM,EAAE5H,SAAS,CAAC6H,UAAV,CAAqBC,MAArB;EATM,CAAhB,CADM,EAYNb,UA/Ee;;EAgFjB;AACF;AACA;EACEzF,WAAW,EAAExB,SAAS,CAAC0H,IAnFN;;EAoFjB;AACF;AACA;AACA;EACEhG,aAAa,EAAE1B,SAAS,CAAC0H,IAxFR;;EAyFjB;AACF;AACA;EACE/F,MAAM,EAAE3B,SAAS,CAAC+G,KAAV,CAAgB;IACtB;AACJ;AACA;IACI9F,SAAS,EAAEjB,SAAS,CAACsH,MAJC;;IAKtB;AACJ;AACA;IACIpG,oBAAoB,EAAElB,SAAS,CAACsH;EARV,CAAhB,CA5FS;;EAsGjB;AACF;AACA;EACE1F,WAAW,EAAE5B,SAAS,CAAC0H,IAzGN;;EA0GjB;AACF;AACA;EACE1F,QAAQ,EAAEhC,SAAS,CAAC2H,IA7GH;;EA8GjB;AACF;AACA;EACE1F,OAAO,EAAEjC,SAAS,CAAC2H,IAjHF;;EAkHjB;AACF;AACA;EACE9F,UAAU,EAAE7B,SAAS,CAAC0H,IArHL;;EAsHjB;AACF;AACA;EACE5F,qBAAqB,EAAE9B,SAAS,CAAC0H,IAzHhB;;EA0HjB;AACF;AACA;EACE3F,SAAS,EAAE/B,SAAS,CAAC0H,IA7HJ;;EA8HjB;AACF;AACA;EACEjG,WAAW,EAAEzB,SAAS,CAAC0H,IAjIN;;EAkIjB;AACF;AACA;EACEtF,MAAM,EAAEpC,SAAS,CAACgH,MArID;;EAsIjB;AACF;AACA;EACE3E,WAAW,EAAErC,SAAS,CAAC0H;AAzIN,CAAnB;AA4IA,eAAevH,UAAU,CAACY,MAAD,EAAS;EAAEgH,IAAI,EAAE;AAAR,CAAT,CAAV,CAAuC5G,MAAvC,CAAf"}
@@ -1,6 +1,8 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+
1
3
  var _HvCssBaseline;
2
4
 
3
- import React, { useMemo } from "react";
5
+ import React, { useState, useEffect, useMemo } from "react";
4
6
  import PropTypes from "prop-types";
5
7
  import set from "lodash/set";
6
8
  import merge from "lodash/merge";
@@ -66,8 +68,6 @@ var applyCustomTheme = function applyCustomTheme(InputTargetTheme, InputSourceTh
66
68
 
67
69
 
68
70
  var HvProvider = function HvProvider(_ref) {
69
- var _navigator$language, _navigator;
70
-
71
71
  var children = _ref.children,
72
72
  _ref$uiKitTheme = _ref.uiKitTheme,
73
73
  uiKitTheme = _ref$uiKitTheme === void 0 ? "dawn" : _ref$uiKitTheme,
@@ -75,7 +75,8 @@ var HvProvider = function HvProvider(_ref) {
75
75
  theme = _ref$theme === void 0 ? null : _ref$theme,
76
76
  _ref$changeTheme = _ref.changeTheme,
77
77
  changeTheme = _ref$changeTheme === void 0 ? function () {} : _ref$changeTheme,
78
- locale = _ref.locale,
78
+ _ref$locale = _ref.locale,
79
+ locale = _ref$locale === void 0 ? "en-US" : _ref$locale,
79
80
  generateClassNameProp = _ref.generateClassName,
80
81
  generateClassNameOptions = _ref.generateClassNameOptions,
81
82
  _ref$injectStylesFirs = _ref.injectStylesFirst,
@@ -93,7 +94,17 @@ var HvProvider = function HvProvider(_ref) {
93
94
  }
94
95
  }
95
96
 
96
- var localeSetting = locale || ((_navigator$language = (_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.language) !== null && _navigator$language !== void 0 ? _navigator$language : "en-US");
97
+ var _useState = useState(locale),
98
+ _useState2 = _slicedToArray(_useState, 2),
99
+ localeSetting = _useState2[0],
100
+ setLocaleStting = _useState2[1];
101
+
102
+ useEffect(function () {
103
+ var _navigator;
104
+
105
+ // ssr - only runs at the rendering phase, so it won't run on the server
106
+ setLocaleStting(locale || ((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.language));
107
+ }, [locale]);
97
108
  var rawUiKitTheme = getTheme(uiKitTheme);
98
109
  var customTheme = applyCustomTheme(themeBuilder(rawUiKitTheme), theme);
99
110
  var generateClassName = generateClassNameProp || createGenerateClassName(generateClassNameOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","names":["React","useMemo","PropTypes","set","merge","isEmpty","cloneDeep","diff","ThemeProvider","MuiThemeProvider","StylesProvider","MuiStylesProvider","createTheme","themeBuilder","createGenerateClassName","HvCssBaseline","getTheme","ConfigContext","warnedOnce","applyCustomTheme","InputTargetTheme","InputSourceTheme","muiDefaultTheme","targetTheme","sourceTheme","deleteDifference","observableDiff","difference","partialCustomTheme","path","rhs","kind","HvProvider","children","uiKitTheme","theme","changeTheme","locale","generateClassNameProp","generateClassName","generateClassNameOptions","injectStylesFirst","disableStylesGeneration","disableCssBaseline","process","env","NODE_ENV","console","warn","localeSetting","navigator","language","rawUiKitTheme","customTheme","pConfig","propTypes","node","isRequired","oneOf","instanceOf","Object","func","string","shape","disableGlobal","bool","productionPrefix","seed"],"sources":["../../../src/Provider/Provider.js"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport set from \"lodash/set\";\nimport merge from \"lodash/merge\";\nimport isEmpty from \"lodash/isEmpty\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport diff from \"deep-diff\";\n\nimport \"focus-within-polyfill\";\nimport \"focus-visible\";\n\nimport {\n ThemeProvider as MuiThemeProvider,\n StylesProvider as MuiStylesProvider,\n} from \"@material-ui/core\";\nimport { createTheme } from \"@material-ui/core/styles\";\n\nimport { themeBuilder, createGenerateClassName, HvCssBaseline, getTheme } from \"../theme\";\n\nimport ConfigContext from \"./context\";\n\nlet warnedOnce = false;\n\n/**\n * Augments the target theme with the differences found in the source theme.\n *\n * @param {Object} InputTargetTheme - A material UI Theme to be changed.\n * @param {Object} InputSourceTheme - A material UI Theme to apply on top.\n * @returns {Object} - A new modified material UI theme.\n */\nconst applyCustomTheme = (InputTargetTheme, InputSourceTheme) => {\n const muiDefaultTheme = createTheme();\n const targetTheme = cloneDeep(InputTargetTheme);\n const sourceTheme = cloneDeep(InputSourceTheme);\n const deleteDifference = \"D\";\n if (!isEmpty(targetTheme) && !isEmpty(sourceTheme)) {\n diff.observableDiff(muiDefaultTheme, sourceTheme, (difference) => {\n const partialCustomTheme = set({}, difference.path, difference.rhs);\n if (difference.kind !== deleteDifference) {\n // Do not include the differences of type \"delete\"\n merge(targetTheme, partialCustomTheme);\n }\n });\n return targetTheme;\n }\n return targetTheme;\n};\n\n/**\n * This component makes cross-component properties, like the active `theme` and `locale`,\n * available down the React tree thanks to React context.\n *\n * This component should preferably be used at **the root of your component tree** and\n * be unique in the App in most cases.\n *\n * ```jsx\n * <HvProvider>\n * <MyApp />\n * <HvProvider/>\n * ```\n *\n * If several `HvProvider`'s are used, either nested or in parallel, the `generateClassNameOptions`\n * must be tweaked to avoid CSS classnames collision. Or a custom JSS's class name generator can\n * be provided via the `generateClassName` property.\n *\n * **UI Kit components will not work at all if the `HvProvider` is not configured correctly**,\n * as they will not be able to access the properties of the active theme..\n *\n */\nconst HvProvider = ({\n children,\n\n uiKitTheme = \"dawn\",\n theme = null,\n changeTheme = () => {},\n\n locale,\n\n generateClassName: generateClassNameProp,\n generateClassNameOptions,\n injectStylesFirst = false,\n disableStylesGeneration = false,\n\n disableCssBaseline = false,\n}) => {\n if (process.env.NODE_ENV !== \"production\") {\n if (!warnedOnce && !disableCssBaseline) {\n warnedOnce = true;\n // eslint-disable-next-line no-console\n console.warn(\n \"UI Kit HvProvider's automatic definition of a css styles baseline will be removed in the next major version.\\n\" +\n \"You can use the `disableCssBaseline` property to disable it already.\\n\" +\n \"See https://lumada-design.github.io/uikit/master/?path=/docs/foundation-css-baseline--main\"\n );\n }\n }\n\n const localeSetting = locale || (navigator?.language ?? \"en-US\");\n\n const rawUiKitTheme = getTheme(uiKitTheme);\n const customTheme = applyCustomTheme(themeBuilder(rawUiKitTheme), theme);\n\n const generateClassName =\n generateClassNameProp || createGenerateClassName(generateClassNameOptions);\n\n const pConfig = useMemo(\n () => ({ changeTheme, locale: localeSetting }),\n [changeTheme, localeSetting]\n );\n\n return (\n <MuiStylesProvider\n generateClassName={generateClassName}\n injectFirst={injectStylesFirst}\n disableGeneration={disableStylesGeneration}\n >\n <MuiThemeProvider theme={customTheme}>\n {!disableCssBaseline && <HvCssBaseline />}\n <ConfigContext.Provider value={pConfig}>{children}</ConfigContext.Provider>\n </MuiThemeProvider>\n </MuiStylesProvider>\n );\n};\n\nHvProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * The Design System base theme in use. Defaults to `\"dawn\"`.\n */\n uiKitTheme: PropTypes.oneOf([\"dawn\", \"wicked\"]),\n /**\n * The UI Kit theme object to be applied on top of the base theme.\n */\n theme: PropTypes.instanceOf(Object),\n /**\n * Function stored in the provider's context to allow runtime switching of the active theme.\n * The implementation is up to each App.\n */\n changeTheme: PropTypes.func,\n\n /**\n * The locale to be used.\n * Defaults to the browser's configured locale or \"en-US\" if not available.\n */\n locale: PropTypes.string,\n\n /**\n * Custom JSS's class name generator.\n */\n generateClassName: PropTypes.func,\n /**\n * Built-in JSS's class name generator options.\n * Ignored if a custom `generateClassName` is provided.\n *\n * `disableGlobal`: Disable the generation of deterministic class names. Defaults to `false`.\n *\n * `productionPrefix`: The string used to prefix the class names in production. Defaults to `\"jss-uikit\"`.\n *\n * `seed`: The string used to uniquely identify the generator. Defaults to `\"\"`.\n * It can be used to avoid class name collisions when using multiple generators in the same document.\n */\n generateClassNameOptions: PropTypes.shape({\n /**\n * Disable the generation of deterministic class names. Defaults to `false`.\n */\n disableGlobal: PropTypes.bool,\n /**\n * The string used to prefix the class names in production. Defaults to `\"jss-uikit\"`.\n */\n productionPrefix: PropTypes.string,\n /**\n * The string used to uniquely identify the generator. Defaults to `\"\"`.\n * It can be used to avoid class name collisions when using multiple generators in the same document.\n */\n seed: PropTypes.string,\n }),\n /**\n * Injects the generated stylesheets at the top of the `<head>` element of the page.\n * This can ease the override of UI Kit components styles.\n *\n * By default, the styles are injected last in the `<head>` element of the page.\n */\n injectStylesFirst: PropTypes.bool,\n /**\n * Disables the generation of the styles.\n */\n disableStylesGeneration: PropTypes.bool,\n\n /**\n * Disables the generation of the baseline css styles.\n *\n * This will be the default behavior in the future.\n *\n * The application using UI Kit should be responsible for adding the baseline css styles, by\n * either using the `<HvCssBaseline />` component, using the `<HvScopedCssBaseline />` component,\n * or ensuring that the necessary base styles are applied.\n *\n * Defaults to `false`. Will be removed in the next major release.\n *\n * @see https://lumada-design.github.io/uikit/master/?path=/docs/foundation-css-baseline--main\n */\n disableCssBaseline: PropTypes.bool,\n};\n\nexport default HvProvider;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Provider.js","names":["React","useState","useEffect","useMemo","PropTypes","set","merge","isEmpty","cloneDeep","diff","ThemeProvider","MuiThemeProvider","StylesProvider","MuiStylesProvider","createTheme","themeBuilder","createGenerateClassName","HvCssBaseline","getTheme","ConfigContext","warnedOnce","applyCustomTheme","InputTargetTheme","InputSourceTheme","muiDefaultTheme","targetTheme","sourceTheme","deleteDifference","observableDiff","difference","partialCustomTheme","path","rhs","kind","HvProvider","children","uiKitTheme","theme","changeTheme","locale","generateClassNameProp","generateClassName","generateClassNameOptions","injectStylesFirst","disableStylesGeneration","disableCssBaseline","process","env","NODE_ENV","console","warn","localeSetting","setLocaleStting","navigator","language","rawUiKitTheme","customTheme","pConfig","propTypes","node","isRequired","oneOf","instanceOf","Object","func","string","shape","disableGlobal","bool","productionPrefix","seed"],"sources":["../../../src/Provider/Provider.js"],"sourcesContent":["import React, { useState, useEffect, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport set from \"lodash/set\";\nimport merge from \"lodash/merge\";\nimport isEmpty from \"lodash/isEmpty\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport diff from \"deep-diff\";\n\nimport \"focus-within-polyfill\";\nimport \"focus-visible\";\n\nimport {\n ThemeProvider as MuiThemeProvider,\n StylesProvider as MuiStylesProvider,\n} from \"@material-ui/core\";\nimport { createTheme } from \"@material-ui/core/styles\";\n\nimport { themeBuilder, createGenerateClassName, HvCssBaseline, getTheme } from \"../theme\";\n\nimport ConfigContext from \"./context\";\n\nlet warnedOnce = false;\n\n/**\n * Augments the target theme with the differences found in the source theme.\n *\n * @param {Object} InputTargetTheme - A material UI Theme to be changed.\n * @param {Object} InputSourceTheme - A material UI Theme to apply on top.\n * @returns {Object} - A new modified material UI theme.\n */\nconst applyCustomTheme = (InputTargetTheme, InputSourceTheme) => {\n const muiDefaultTheme = createTheme();\n const targetTheme = cloneDeep(InputTargetTheme);\n const sourceTheme = cloneDeep(InputSourceTheme);\n const deleteDifference = \"D\";\n if (!isEmpty(targetTheme) && !isEmpty(sourceTheme)) {\n diff.observableDiff(muiDefaultTheme, sourceTheme, (difference) => {\n const partialCustomTheme = set({}, difference.path, difference.rhs);\n if (difference.kind !== deleteDifference) {\n // Do not include the differences of type \"delete\"\n merge(targetTheme, partialCustomTheme);\n }\n });\n return targetTheme;\n }\n return targetTheme;\n};\n\n/**\n * This component makes cross-component properties, like the active `theme` and `locale`,\n * available down the React tree thanks to React context.\n *\n * This component should preferably be used at **the root of your component tree** and\n * be unique in the App in most cases.\n *\n * ```jsx\n * <HvProvider>\n * <MyApp />\n * <HvProvider/>\n * ```\n *\n * If several `HvProvider`'s are used, either nested or in parallel, the `generateClassNameOptions`\n * must be tweaked to avoid CSS classnames collision. Or a custom JSS's class name generator can\n * be provided via the `generateClassName` property.\n *\n * **UI Kit components will not work at all if the `HvProvider` is not configured correctly**,\n * as they will not be able to access the properties of the active theme..\n *\n */\nconst HvProvider = ({\n children,\n\n uiKitTheme = \"dawn\",\n theme = null,\n changeTheme = () => {},\n\n locale = \"en-US\",\n\n generateClassName: generateClassNameProp,\n generateClassNameOptions,\n injectStylesFirst = false,\n disableStylesGeneration = false,\n\n disableCssBaseline = false,\n}) => {\n if (process.env.NODE_ENV !== \"production\") {\n if (!warnedOnce && !disableCssBaseline) {\n warnedOnce = true;\n // eslint-disable-next-line no-console\n console.warn(\n \"UI Kit HvProvider's automatic definition of a css styles baseline will be removed in the next major version.\\n\" +\n \"You can use the `disableCssBaseline` property to disable it already.\\n\" +\n \"See https://lumada-design.github.io/uikit/master/?path=/docs/foundation-css-baseline--main\"\n );\n }\n }\n\n const [localeSetting, setLocaleStting] = useState(locale);\n\n useEffect(() => {\n // ssr - only runs at the rendering phase, so it won't run on the server\n setLocaleStting(locale || navigator?.language);\n }, [locale]);\n\n const rawUiKitTheme = getTheme(uiKitTheme);\n const customTheme = applyCustomTheme(themeBuilder(rawUiKitTheme), theme);\n\n const generateClassName =\n generateClassNameProp || createGenerateClassName(generateClassNameOptions);\n\n const pConfig = useMemo(\n () => ({ changeTheme, locale: localeSetting }),\n [changeTheme, localeSetting]\n );\n\n return (\n <MuiStylesProvider\n generateClassName={generateClassName}\n injectFirst={injectStylesFirst}\n disableGeneration={disableStylesGeneration}\n >\n <MuiThemeProvider theme={customTheme}>\n {!disableCssBaseline && <HvCssBaseline />}\n <ConfigContext.Provider value={pConfig}>{children}</ConfigContext.Provider>\n </MuiThemeProvider>\n </MuiStylesProvider>\n );\n};\n\nHvProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node.isRequired,\n\n /**\n * The Design System base theme in use. Defaults to `\"dawn\"`.\n */\n uiKitTheme: PropTypes.oneOf([\"dawn\", \"wicked\"]),\n /**\n * The UI Kit theme object to be applied on top of the base theme.\n */\n theme: PropTypes.instanceOf(Object),\n /**\n * Function stored in the provider's context to allow runtime switching of the active theme.\n * The implementation is up to each App.\n */\n changeTheme: PropTypes.func,\n\n /**\n * The locale to be used.\n * Defaults to the browser's configured locale or \"en-US\" if not available.\n */\n locale: PropTypes.string,\n\n /**\n * Custom JSS's class name generator.\n */\n generateClassName: PropTypes.func,\n /**\n * Built-in JSS's class name generator options.\n * Ignored if a custom `generateClassName` is provided.\n *\n * `disableGlobal`: Disable the generation of deterministic class names. Defaults to `false`.\n *\n * `productionPrefix`: The string used to prefix the class names in production. Defaults to `\"jss-uikit\"`.\n *\n * `seed`: The string used to uniquely identify the generator. Defaults to `\"\"`.\n * It can be used to avoid class name collisions when using multiple generators in the same document.\n */\n generateClassNameOptions: PropTypes.shape({\n /**\n * Disable the generation of deterministic class names. Defaults to `false`.\n */\n disableGlobal: PropTypes.bool,\n /**\n * The string used to prefix the class names in production. Defaults to `\"jss-uikit\"`.\n */\n productionPrefix: PropTypes.string,\n /**\n * The string used to uniquely identify the generator. Defaults to `\"\"`.\n * It can be used to avoid class name collisions when using multiple generators in the same document.\n */\n seed: PropTypes.string,\n }),\n /**\n * Injects the generated stylesheets at the top of the `<head>` element of the page.\n * This can ease the override of UI Kit components styles.\n *\n * By default, the styles are injected last in the `<head>` element of the page.\n */\n injectStylesFirst: PropTypes.bool,\n /**\n * Disables the generation of the styles.\n */\n disableStylesGeneration: PropTypes.bool,\n\n /**\n * Disables the generation of the baseline css styles.\n *\n * This will be the default behavior in the future.\n *\n * The application using UI Kit should be responsible for adding the baseline css styles, by\n * either using the `<HvCssBaseline />` component, using the `<HvScopedCssBaseline />` component,\n * or ensuring that the necessary base styles are applied.\n *\n * Defaults to `false`. Will be removed in the next major release.\n *\n * @see https://lumada-design.github.io/uikit/master/?path=/docs/foundation-css-baseline--main\n */\n disableCssBaseline: PropTypes.bool,\n};\n\nexport default HvProvider;\n"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,EAAqCC,OAArC,QAAoD,OAApD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,OAAOC,GAAP,MAAgB,YAAhB;AACA,OAAOC,KAAP,MAAkB,cAAlB;AACA,OAAOC,OAAP,MAAoB,gBAApB;AACA,OAAOC,SAAP,MAAsB,kBAAtB;AACA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,OAAO,uBAAP;AACA,OAAO,eAAP;AAEA,SACEC,aAAa,IAAIC,gBADnB,EAEEC,cAAc,IAAIC,iBAFpB,QAGO,mBAHP;AAIA,SAASC,WAAT,QAA4B,0BAA5B;AAEA,SAASC,YAAT,EAAuBC,uBAAvB,EAAgDC,aAAhD,EAA+DC,QAA/D,QAA+E,UAA/E;AAEA,OAAOC,aAAP,MAA0B,WAA1B;AAEA,IAAIC,UAAU,GAAG,KAAjB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,gBAAD,EAAmBC,gBAAnB,EAAwC;EAC/D,IAAMC,eAAe,GAAGV,WAAW,EAAnC;EACA,IAAMW,WAAW,GAAGjB,SAAS,CAACc,gBAAD,CAA7B;EACA,IAAMI,WAAW,GAAGlB,SAAS,CAACe,gBAAD,CAA7B;EACA,IAAMI,gBAAgB,GAAG,GAAzB;;EACA,IAAI,CAACpB,OAAO,CAACkB,WAAD,CAAR,IAAyB,CAAClB,OAAO,CAACmB,WAAD,CAArC,EAAoD;IAClDjB,IAAI,CAACmB,cAAL,CAAoBJ,eAApB,EAAqCE,WAArC,EAAkD,UAACG,UAAD,EAAgB;MAChE,IAAMC,kBAAkB,GAAGzB,GAAG,CAAC,EAAD,EAAKwB,UAAU,CAACE,IAAhB,EAAsBF,UAAU,CAACG,GAAjC,CAA9B;;MACA,IAAIH,UAAU,CAACI,IAAX,KAAoBN,gBAAxB,EAA0C;QACxC;QACArB,KAAK,CAACmB,WAAD,EAAcK,kBAAd,CAAL;MACD;IACF,CAND;IAOA,OAAOL,WAAP;EACD;;EACD,OAAOA,WAAP;AACD,CAhBD;AAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMS,UAAU,GAAG,SAAbA,UAAa,OAeb;EAAA,IAdJC,QAcI,QAdJA,QAcI;EAAA,2BAZJC,UAYI;EAAA,IAZJA,UAYI,gCAZS,MAYT;EAAA,sBAXJC,KAWI;EAAA,IAXJA,KAWI,2BAXI,IAWJ;EAAA,4BAVJC,WAUI;EAAA,IAVJA,WAUI,iCAVU,YAAM,CAAE,CAUlB;EAAA,uBARJC,MAQI;EAAA,IARJA,MAQI,4BARK,OAQL;EAAA,IANeC,qBAMf,QANJC,iBAMI;EAAA,IALJC,wBAKI,QALJA,wBAKI;EAAA,iCAJJC,iBAII;EAAA,IAJJA,iBAII,sCAJgB,KAIhB;EAAA,iCAHJC,uBAGI;EAAA,IAHJA,uBAGI,sCAHsB,KAGtB;EAAA,iCADJC,kBACI;EAAA,IADJA,kBACI,sCADiB,KACjB;;EACJ,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;IACzC,IAAI,CAAC5B,UAAD,IAAe,CAACyB,kBAApB,EAAwC;MACtCzB,UAAU,GAAG,IAAb,CADsC,CAEtC;;MACA6B,OAAO,CAACC,IAAR,CACE,mHACE,wEADF,GAEE,4FAHJ;IAKD;EACF;;EAED,gBAAyCjD,QAAQ,CAACsC,MAAD,CAAjD;EAAA;EAAA,IAAOY,aAAP;EAAA,IAAsBC,eAAtB;;EAEAlD,SAAS,CAAC,YAAM;IAAA;;IACd;IACAkD,eAAe,CAACb,MAAM,mBAAIc,SAAJ,+CAAI,WAAWC,QAAf,CAAP,CAAf;EACD,CAHQ,EAGN,CAACf,MAAD,CAHM,CAAT;EAKA,IAAMgB,aAAa,GAAGrC,QAAQ,CAACkB,UAAD,CAA9B;EACA,IAAMoB,WAAW,GAAGnC,gBAAgB,CAACN,YAAY,CAACwC,aAAD,CAAb,EAA8BlB,KAA9B,CAApC;EAEA,IAAMI,iBAAiB,GACrBD,qBAAqB,IAAIxB,uBAAuB,CAAC0B,wBAAD,CADlD;EAGA,IAAMe,OAAO,GAAGtD,OAAO,CACrB;IAAA,OAAO;MAAEmC,WAAW,EAAXA,WAAF;MAAeC,MAAM,EAAEY;IAAvB,CAAP;EAAA,CADqB,EAErB,CAACb,WAAD,EAAca,aAAd,CAFqB,CAAvB;EAKA,oBACE,oBAAC,iBAAD;IACE,iBAAiB,EAAEV,iBADrB;IAEE,WAAW,EAAEE,iBAFf;IAGE,iBAAiB,EAAEC;EAHrB,gBAKE,oBAAC,gBAAD;IAAkB,KAAK,EAAEY;EAAzB,GACG,CAACX,kBAAD,sDAAuB,oBAAC,aAAD,OAAvB,EADH,eAEE,oBAAC,aAAD,CAAe,QAAf;IAAwB,KAAK,EAAEY;EAA/B,GAAyCtB,QAAzC,CAFF,CALF,CADF;AAYD,CA1DD;;AA4DA,wCAAAD,UAAU,CAACwB,SAAX,GAAuB;EACrB;AACF;AACA;EACEvB,QAAQ,EAAE/B,SAAS,CAACuD,IAAV,CAAeC,UAJJ;;EAMrB;AACF;AACA;EACExB,UAAU,EAAEhC,SAAS,CAACyD,KAAV,CAAgB,CAAC,MAAD,EAAS,QAAT,CAAhB,CATS;;EAUrB;AACF;AACA;EACExB,KAAK,EAAEjC,SAAS,CAAC0D,UAAV,CAAqBC,MAArB,CAbc;;EAcrB;AACF;AACA;AACA;EACEzB,WAAW,EAAElC,SAAS,CAAC4D,IAlBF;;EAoBrB;AACF;AACA;AACA;EACEzB,MAAM,EAAEnC,SAAS,CAAC6D,MAxBG;;EA0BrB;AACF;AACA;EACExB,iBAAiB,EAAErC,SAAS,CAAC4D,IA7BR;;EA8BrB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEtB,wBAAwB,EAAEtC,SAAS,CAAC8D,KAAV,CAAgB;IACxC;AACJ;AACA;IACIC,aAAa,EAAE/D,SAAS,CAACgE,IAJe;;IAKxC;AACJ;AACA;IACIC,gBAAgB,EAAEjE,SAAS,CAAC6D,MARY;;IASxC;AACJ;AACA;AACA;IACIK,IAAI,EAAElE,SAAS,CAAC6D;EAbwB,CAAhB,CAzCL;;EAwDrB;AACF;AACA;AACA;AACA;AACA;EACEtB,iBAAiB,EAAEvC,SAAS,CAACgE,IA9DR;;EA+DrB;AACF;AACA;EACExB,uBAAuB,EAAExC,SAAS,CAACgE,IAlEd;;EAoErB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEvB,kBAAkB,EAAEzC,SAAS,CAACgE;AAjFT,CAAvB;AAoFA,eAAelC,UAAf"}
@@ -26,7 +26,7 @@ import "core-js/modules/es.string.fixed.js";
26
26
  import clsx from "clsx";
27
27
  import isNil from "lodash/isNil";
28
28
  import PropTypes from "prop-types";
29
- import React, { useState, useEffect, useMemo, useRef } from "react";
29
+ import React, { useState, useEffect, useCallback, useMemo, useRef } from "react";
30
30
  import ReactTable, { ReactTableDefaults } from "react-table";
31
31
  import withFixedColumns from "react-table-hoc-fixed-columns";
32
32
  import { withStyles } from "@material-ui/core";
@@ -221,27 +221,26 @@ var HvTable = function HvTable(props) {
221
221
  return newEntry;
222
222
  });
223
223
  };
224
+
225
+ var PaginationComponent = useCallback(function (tablePaginationProps) {
226
+ return /*#__PURE__*/React.createElement(HvPagination, _extends({
227
+ id: setId(id, "pagination"),
228
+ labels: paginationLabels,
229
+ pageSize: tablePaginationProps.pageSize,
230
+ pages: tablePaginationProps.pages,
231
+ page: tablePaginationProps.page,
232
+ canPrevious: tablePaginationProps.canPrevious,
233
+ canNext: tablePaginationProps.canNext,
234
+ onPageChange: tablePaginationProps.onPageChange,
235
+ onPageSizeChange: tablePaginationProps.onPageSizeChange,
236
+ showPageSizeOptions: tablePaginationProps.showPageSizeOptions
237
+ }, paginationProps));
238
+ }, [id, paginationLabels, paginationProps]);
224
239
  /**
225
240
  * Pagination customizations.
226
241
  */
227
242
 
228
-
229
243
  var getPaginationProps = function getPaginationProps() {
230
- var PaginationComponent = function PaginationComponent(tablePaginationProps) {
231
- return /*#__PURE__*/React.createElement(HvPagination, _extends({
232
- id: setId(id, "pagination"),
233
- labels: paginationLabels,
234
- pageSize: tablePaginationProps.pageSize,
235
- pages: tablePaginationProps.pages,
236
- page: tablePaginationProps.page,
237
- canPrevious: tablePaginationProps.canPrevious,
238
- canNext: tablePaginationProps.canNext,
239
- onPageChange: tablePaginationProps.onPageChange,
240
- onPageSizeChange: tablePaginationProps.onPageSizeChange,
241
- showPageSizeOptions: tablePaginationProps.showPageSizeOptions
242
- }, paginationProps));
243
- };
244
-
245
244
  return _objectSpread(_objectSpread({
246
245
  showPagination: data.length > 0 && showPagination,
247
246
  showPageSizeOptions: showPageSize
@@ -308,18 +307,17 @@ var HvTable = function HvTable(props) {
308
307
  */
309
308
 
310
309
 
311
- var onSortChange = function onSortChange(sortedColumn) {
310
+ var onSortChange = useCallback(function (sortedColumn) {
312
311
  setSorted(sortedColumn);
313
312
  setCurrentPage(0);
314
313
  setExpanded({});
315
- };
314
+ }, []);
316
315
  /**
317
316
  * Sort properties override to set onSortedChange
318
317
  *
319
318
  * @returns {{sortable: boolean, onSortedChange: onSortChange}}
320
319
  */
321
320
 
322
-
323
321
  var getSortProps = function getSortProps() {
324
322
  return _objectSpread(_objectSpread({
325
323
  sortable: sortable
@@ -632,7 +630,7 @@ var HvTable = function HvTable(props) {
632
630
 
633
631
  ReactTableDefaults.expanderDefaults.show = false; // eslint-disable-next-line react/prop-types
634
632
 
635
- ReactTableDefaults.column.Header = function (_ref) {
633
+ ReactTableDefaults.column.Header = useCallback(function (_ref) {
636
634
  var column = _ref.column;
637
635
  return /*#__PURE__*/React.createElement(Header, {
638
636
  id: id // eslint-disable-next-line react/prop-types
@@ -643,8 +641,7 @@ var HvTable = function HvTable(props) {
643
641
  tableSortable: sortable,
644
642
  onSortChange: onSortChange
645
643
  });
646
- }; // add expander button
647
-
644
+ }, [id, onSortChange, sorted, sortable]); // add expander button
648
645
 
649
646
  var expanderColumn = createExpanderButton(columns, subElementTemplate, classes, toggleExpand); // add expander
650
647