@hitachivantara/uikit-react-core 3.52.5 → 3.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (858) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/LICENSE.txt +201 -0
  3. package/dist/Accordion/Accordion.js +2 -2
  4. package/dist/Accordion/Accordion.js.map +1 -1
  5. package/dist/ActionBar/ActionBar.js +2 -2
  6. package/dist/ActionBar/ActionBar.js.map +1 -1
  7. package/dist/ActionsGeneric/ActionsGeneric.js +2 -2
  8. package/dist/ActionsGeneric/ActionsGeneric.js.map +1 -1
  9. package/dist/AssetInventory/AssetInventory.js +2 -2
  10. package/dist/AssetInventory/AssetInventory.js.map +1 -1
  11. package/dist/AssetInventory/CardView/CardView.js +3 -3
  12. package/dist/AssetInventory/CardView/CardView.js.map +1 -1
  13. package/dist/AssetInventory/ListView/ListView.js +2 -2
  14. package/dist/AssetInventory/ListView/ListView.js.map +1 -1
  15. package/dist/AssetInventory/ListView/ListViewCell/ListViewCell.js +2 -2
  16. package/dist/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
  17. package/dist/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js +6 -4
  18. package/dist/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
  19. package/dist/AssetInventory/ListView/ListViewRow/ListViewRow.js +2 -2
  20. package/dist/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
  21. package/dist/AssetInventory/Multibutton/Multibutton.js +2 -2
  22. package/dist/AssetInventory/Multibutton/Multibutton.js.map +1 -1
  23. package/dist/AssetInventory/Search/Search.js +2 -2
  24. package/dist/AssetInventory/Search/Search.js.map +1 -1
  25. package/dist/AssetInventory/Sort/Sort.js +2 -2
  26. package/dist/AssetInventory/Sort/Sort.js.map +1 -1
  27. package/dist/Avatar/Avatar.js +2 -2
  28. package/dist/Avatar/Avatar.js.map +1 -1
  29. package/dist/Badge/Badge.js +2 -2
  30. package/dist/Badge/Badge.js.map +1 -1
  31. package/dist/Banner/Banner.js +2 -2
  32. package/dist/Banner/Banner.js.map +1 -1
  33. package/dist/Banner/BannerWrapper/ActionContainer/ActionContainer.js +2 -2
  34. package/dist/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
  35. package/dist/Banner/BannerWrapper/BannerContentWrapper.js +2 -2
  36. package/dist/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
  37. package/dist/Banner/BannerWrapper/MessageContainer/MessageContainer.js +2 -2
  38. package/dist/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
  39. package/dist/Barchart/Barchart.js +2 -2
  40. package/dist/Barchart/Barchart.js.map +1 -1
  41. package/dist/BaseCheckBox/BaseCheckBox.js +2 -2
  42. package/dist/BaseCheckBox/BaseCheckBox.js.map +1 -1
  43. package/dist/BaseDropdown/BaseDropdown.js +2 -2
  44. package/dist/BaseDropdown/BaseDropdown.js.map +1 -1
  45. package/dist/BaseInput/BaseInput.js +2 -2
  46. package/dist/BaseInput/BaseInput.js.map +1 -1
  47. package/dist/BaseRadio/BaseRadio.js +2 -2
  48. package/dist/BaseRadio/BaseRadio.js.map +1 -1
  49. package/dist/BaseSwitch/BaseSwitch.js +2 -2
  50. package/dist/BaseSwitch/BaseSwitch.js.map +1 -1
  51. package/dist/BreadCrumb/BreadCrumb.js +6 -6
  52. package/dist/BreadCrumb/BreadCrumb.js.map +1 -1
  53. package/dist/BreadCrumb/utils.js +4 -2
  54. package/dist/BreadCrumb/utils.js.map +1 -1
  55. package/dist/BulkActions/BulkActions.js +2 -2
  56. package/dist/BulkActions/BulkActions.js.map +1 -1
  57. package/dist/Button/Button.js +2 -2
  58. package/dist/Button/Button.js.map +1 -1
  59. package/dist/Calendar/Calendar.js +2 -2
  60. package/dist/Calendar/Calendar.js.map +1 -1
  61. package/dist/Calendar/CalendarHeader/CalendarHeader.js +6 -4
  62. package/dist/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
  63. package/dist/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +2 -2
  64. package/dist/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
  65. package/dist/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +2 -2
  66. package/dist/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
  67. package/dist/Calendar/CalendarNavigation/Navigation/Navigation.js +2 -2
  68. package/dist/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
  69. package/dist/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +2 -2
  70. package/dist/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
  71. package/dist/Calendar/SingleCalendar/CalendarCell.js +2 -2
  72. package/dist/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  73. package/dist/Calendar/SingleCalendar/SingleCalendar.js +2 -2
  74. package/dist/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
  75. package/dist/Card/Card.js +2 -2
  76. package/dist/Card/Card.js.map +1 -1
  77. package/dist/Card/Content/Content.js +2 -2
  78. package/dist/Card/Content/Content.js.map +1 -1
  79. package/dist/Card/Header/Header.js +2 -2
  80. package/dist/Card/Header/Header.js.map +1 -1
  81. package/dist/Card/Media/Media.js +2 -2
  82. package/dist/Card/Media/Media.js.map +1 -1
  83. package/dist/Chart/Chart.js +2 -2
  84. package/dist/Chart/Chart.js.map +1 -1
  85. package/dist/Chart/Plot/Plot.js +2 -2
  86. package/dist/Chart/Plot/Plot.js.map +1 -1
  87. package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js +2 -2
  88. package/dist/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
  89. package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js +2 -2
  90. package/dist/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
  91. package/dist/Chart/Tooltip/Tooltip.js +2 -2
  92. package/dist/Chart/Tooltip/Tooltip.js.map +1 -1
  93. package/dist/CheckBox/CheckBox.js +2 -2
  94. package/dist/CheckBox/CheckBox.js.map +1 -1
  95. package/dist/CheckBoxGroup/CheckBoxGroup.js +2 -2
  96. package/dist/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  97. package/dist/Container/Container.js +2 -2
  98. package/dist/Container/Container.js.map +1 -1
  99. package/dist/DatePicker/DatePicker.js +2 -2
  100. package/dist/DatePicker/DatePicker.js.map +1 -1
  101. package/dist/Dialog/Dialog.js +6 -4
  102. package/dist/Dialog/Dialog.js.map +1 -1
  103. package/dist/Dialog/DialogActions/DialogActions.js +2 -2
  104. package/dist/Dialog/DialogActions/DialogActions.js.map +1 -1
  105. package/dist/Dialog/DialogContent/DialogContent.js +2 -2
  106. package/dist/Dialog/DialogContent/DialogContent.js.map +1 -1
  107. package/dist/Dialog/DialogTitle/DialogTitle.js +2 -2
  108. package/dist/Dialog/DialogTitle/DialogTitle.js.map +1 -1
  109. package/dist/Donutchart/Donutchart.js +2 -2
  110. package/dist/Donutchart/Donutchart.js.map +1 -1
  111. package/dist/DropDownMenu/DropDownMenu.js +2 -2
  112. package/dist/DropDownMenu/DropDownMenu.js.map +1 -1
  113. package/dist/Dropdown/Dropdown.js +2 -2
  114. package/dist/Dropdown/Dropdown.js.map +1 -1
  115. package/dist/Dropdown/List/List.js +2 -2
  116. package/dist/Dropdown/List/List.js.map +1 -1
  117. package/dist/EmptyState/EmptyState.js +2 -2
  118. package/dist/EmptyState/EmptyState.js.map +1 -1
  119. package/dist/FileUploader/DropZone/DropZone.js +2 -2
  120. package/dist/FileUploader/DropZone/DropZone.js.map +1 -1
  121. package/dist/FileUploader/File/File.js +6 -4
  122. package/dist/FileUploader/File/File.js.map +1 -1
  123. package/dist/FileUploader/FileList/FileList.js +2 -2
  124. package/dist/FileUploader/FileList/FileList.js.map +1 -1
  125. package/dist/FileUploader/FileUploader.js +2 -2
  126. package/dist/FileUploader/FileUploader.js.map +1 -1
  127. package/dist/FileUploader/Preview/Preview.js +5 -3
  128. package/dist/FileUploader/Preview/Preview.js.map +1 -1
  129. package/dist/FilterGroup/Counter/Counter.js +2 -2
  130. package/dist/FilterGroup/Counter/Counter.js.map +1 -1
  131. package/dist/FilterGroup/FilterContent/FilterContent.js +9 -7
  132. package/dist/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  133. package/dist/FilterGroup/FilterGroup.js +2 -2
  134. package/dist/FilterGroup/FilterGroup.js.map +1 -1
  135. package/dist/FilterGroup/FilterGroupContext.js +2 -2
  136. package/dist/FilterGroup/FilterGroupContext.js.map +1 -1
  137. package/dist/FilterGroup/LeftPanel/LeftPanel.js +2 -2
  138. package/dist/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  139. package/dist/FilterGroup/RightPanel/RightPanel.js +2 -2
  140. package/dist/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  141. package/dist/Focus/Focus.js +2 -2
  142. package/dist/Focus/Focus.js.map +1 -1
  143. package/dist/Footer/Footer.js +2 -2
  144. package/dist/Footer/Footer.js.map +1 -1
  145. package/dist/Forms/Adornment/Adornment.js +2 -2
  146. package/dist/Forms/Adornment/Adornment.js.map +1 -1
  147. package/dist/Forms/CharCounter/CharCounter.js +2 -2
  148. package/dist/Forms/CharCounter/CharCounter.js.map +1 -1
  149. package/dist/Forms/FormElement/FormElement.js +2 -2
  150. package/dist/Forms/FormElement/FormElement.js.map +1 -1
  151. package/dist/Forms/InfoMessage/InfoMessage.js +2 -2
  152. package/dist/Forms/InfoMessage/InfoMessage.js.map +1 -1
  153. package/dist/Forms/Label/Label.js +6 -4
  154. package/dist/Forms/Label/Label.js.map +1 -1
  155. package/dist/Forms/Suggestions/Suggestions.js +2 -2
  156. package/dist/Forms/Suggestions/Suggestions.js.map +1 -1
  157. package/dist/Forms/WarningText/WarningText.js +2 -2
  158. package/dist/Forms/WarningText/WarningText.js.map +1 -1
  159. package/dist/GlobalActions/GlobalActions.js +8 -4
  160. package/dist/GlobalActions/GlobalActions.js.map +1 -1
  161. package/dist/Grid/Grid.js +6 -4
  162. package/dist/Grid/Grid.js.map +1 -1
  163. package/dist/Header/Actions/Actions.js +2 -2
  164. package/dist/Header/Actions/Actions.js.map +1 -1
  165. package/dist/Header/Brand/Brand.js +2 -2
  166. package/dist/Header/Brand/Brand.js.map +1 -1
  167. package/dist/Header/Header.js +2 -2
  168. package/dist/Header/Header.js.map +1 -1
  169. package/dist/Header/Navigation/MenuBar/MenuBar.js +2 -2
  170. package/dist/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  171. package/dist/Header/Navigation/MenuItem/MenuItem.js +2 -2
  172. package/dist/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  173. package/dist/Header/Navigation/Navigation.js +2 -2
  174. package/dist/Header/Navigation/Navigation.js.map +1 -1
  175. package/dist/Header/Navigation/utils/FocusContext.js +2 -2
  176. package/dist/Header/Navigation/utils/FocusContext.js.map +1 -1
  177. package/dist/Input/Input.js +9 -7
  178. package/dist/Input/Input.js.map +1 -1
  179. package/dist/Kpi/Kpi.js +2 -2
  180. package/dist/Kpi/Kpi.js.map +1 -1
  181. package/dist/Linechart/Linechart.js +2 -2
  182. package/dist/Linechart/Linechart.js.map +1 -1
  183. package/dist/Link/Link.js +2 -2
  184. package/dist/Link/Link.js.map +1 -1
  185. package/dist/List/List.js +4 -4
  186. package/dist/List/List.js.map +1 -1
  187. package/dist/ListContainer/ListContainer.js +2 -2
  188. package/dist/ListContainer/ListContainer.js.map +1 -1
  189. package/dist/ListContainer/ListItem/ListItem.js +2 -2
  190. package/dist/ListContainer/ListItem/ListItem.js.map +1 -1
  191. package/dist/Loading/Loading.js +2 -2
  192. package/dist/Loading/Loading.js.map +1 -1
  193. package/dist/Login/Login.js +2 -2
  194. package/dist/Login/Login.js.map +1 -1
  195. package/dist/MultiButton/MultiButton.js +2 -2
  196. package/dist/MultiButton/MultiButton.js.map +1 -1
  197. package/dist/OverflowTooltip/OverflowTooltip.d.ts +29 -0
  198. package/dist/OverflowTooltip/OverflowTooltip.js +148 -0
  199. package/dist/OverflowTooltip/OverflowTooltip.js.map +1 -0
  200. package/dist/OverflowTooltip/index.d.ts +1 -0
  201. package/dist/OverflowTooltip/index.js +16 -0
  202. package/dist/OverflowTooltip/index.js.map +1 -0
  203. package/dist/Pagination/Pagination.js +2 -2
  204. package/dist/Pagination/Pagination.js.map +1 -1
  205. package/dist/Panel/Panel.js +2 -2
  206. package/dist/Panel/Panel.js.map +1 -1
  207. package/dist/Provider/Provider.js +5 -3
  208. package/dist/Provider/Provider.js.map +1 -1
  209. package/dist/Radio/Radio.js +2 -2
  210. package/dist/Radio/Radio.js.map +1 -1
  211. package/dist/RadioGroup/RadioGroup.js +2 -2
  212. package/dist/RadioGroup/RadioGroup.js.map +1 -1
  213. package/dist/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +2 -2
  214. package/dist/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  215. package/dist/ScrollTo/Horizontal/ScrollToHorizontal.js +2 -2
  216. package/dist/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  217. package/dist/ScrollTo/Vertical/ScrollToVertical.js +2 -2
  218. package/dist/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  219. package/dist/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +6 -4
  220. package/dist/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  221. package/dist/SelectionList/SelectionList.js +2 -2
  222. package/dist/SelectionList/SelectionList.js.map +1 -1
  223. package/dist/Snackbar/Snackbar.js +2 -2
  224. package/dist/Snackbar/Snackbar.js.map +1 -1
  225. package/dist/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +2 -2
  226. package/dist/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  227. package/dist/Switch/Switch.js +2 -2
  228. package/dist/Switch/Switch.js.map +1 -1
  229. package/dist/Tab/Tab.js +2 -2
  230. package/dist/Tab/Tab.js.map +1 -1
  231. package/dist/Table/Header/Header.js +3 -3
  232. package/dist/Table/Header/Header.js.map +1 -1
  233. package/dist/Table/NoData/index.js +3 -1
  234. package/dist/Table/NoData/index.js.map +1 -1
  235. package/dist/Table/Table.js +6 -4
  236. package/dist/Table/Table.js.map +1 -1
  237. package/dist/Tabs/Tabs.js +5 -3
  238. package/dist/Tabs/Tabs.js.map +1 -1
  239. package/dist/Tag/Tag.js +6 -4
  240. package/dist/Tag/Tag.js.map +1 -1
  241. package/dist/TagsInput/TagsInput.js +2 -2
  242. package/dist/TagsInput/TagsInput.js.map +1 -1
  243. package/dist/TextArea/TextArea.js +2 -2
  244. package/dist/TextArea/TextArea.js.map +1 -1
  245. package/dist/ToggleButton/ToggleButton.js +2 -2
  246. package/dist/ToggleButton/ToggleButton.js.map +1 -1
  247. package/dist/Tooltip/Tooltip.js +2 -2
  248. package/dist/Tooltip/Tooltip.js.map +1 -1
  249. package/dist/Typography/Typography.js +2 -2
  250. package/dist/Typography/Typography.js.map +1 -1
  251. package/dist/UserPreferences/Action/Action.js +2 -2
  252. package/dist/UserPreferences/Action/Action.js.map +1 -1
  253. package/dist/UserPreferences/Actions/Actions.js +2 -2
  254. package/dist/UserPreferences/Actions/Actions.js.map +1 -1
  255. package/dist/UserPreferences/Options/Group/Group.js +2 -2
  256. package/dist/UserPreferences/Options/Group/Group.js.map +1 -1
  257. package/dist/UserPreferences/Options/Label/Label.js +2 -2
  258. package/dist/UserPreferences/Options/Label/Label.js.map +1 -1
  259. package/dist/UserPreferences/Options/Option.js +2 -2
  260. package/dist/UserPreferences/Options/Option.js.map +1 -1
  261. package/dist/UserPreferences/Options/Options.js +2 -2
  262. package/dist/UserPreferences/Options/Options.js.map +1 -1
  263. package/dist/UserPreferences/UserPreferences.js +2 -2
  264. package/dist/UserPreferences/UserPreferences.js.map +1 -1
  265. package/dist/VerticalNavigation/Actions/Action.js +2 -2
  266. package/dist/VerticalNavigation/Actions/Action.js.map +1 -1
  267. package/dist/VerticalNavigation/Actions/Actions.js +2 -2
  268. package/dist/VerticalNavigation/Actions/Actions.js.map +1 -1
  269. package/dist/VerticalNavigation/Navigation/Navigation.js +2 -2
  270. package/dist/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  271. package/dist/VerticalNavigation/TreeView/TreeView.js +2 -2
  272. package/dist/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  273. package/dist/VerticalNavigation/TreeView/TreeViewItem.js +7 -5
  274. package/dist/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  275. package/dist/VerticalNavigation/TreeView/descendants.js +2 -2
  276. package/dist/VerticalNavigation/TreeView/descendants.js.map +1 -1
  277. package/dist/VerticalNavigation/VerticalContainer/VerticalContainer.js +5 -3
  278. package/dist/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
  279. package/dist/VerticalNavigation/VerticalNavigation.js +2 -2
  280. package/dist/VerticalNavigation/VerticalNavigation.js.map +1 -1
  281. package/dist/index.d.ts +3 -0
  282. package/dist/index.js +9 -0
  283. package/dist/index.js.map +1 -1
  284. package/dist/legacy/Accordion/Accordion.js +2 -2
  285. package/dist/legacy/Accordion/Accordion.js.map +1 -1
  286. package/dist/legacy/ActionBar/ActionBar.js +2 -2
  287. package/dist/legacy/ActionBar/ActionBar.js.map +1 -1
  288. package/dist/legacy/ActionsGeneric/ActionsGeneric.js +2 -2
  289. package/dist/legacy/ActionsGeneric/ActionsGeneric.js.map +1 -1
  290. package/dist/legacy/AssetInventory/AssetInventory.js +2 -2
  291. package/dist/legacy/AssetInventory/AssetInventory.js.map +1 -1
  292. package/dist/legacy/AssetInventory/CardView/CardView.js +3 -3
  293. package/dist/legacy/AssetInventory/CardView/CardView.js.map +1 -1
  294. package/dist/legacy/AssetInventory/ListView/ListView.js +2 -2
  295. package/dist/legacy/AssetInventory/ListView/ListView.js.map +1 -1
  296. package/dist/legacy/AssetInventory/ListView/ListViewCell/ListViewCell.js +2 -2
  297. package/dist/legacy/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
  298. package/dist/legacy/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js +7 -4
  299. package/dist/legacy/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
  300. package/dist/legacy/AssetInventory/ListView/ListViewRow/ListViewRow.js +2 -2
  301. package/dist/legacy/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
  302. package/dist/legacy/AssetInventory/Multibutton/Multibutton.js +2 -2
  303. package/dist/legacy/AssetInventory/Multibutton/Multibutton.js.map +1 -1
  304. package/dist/legacy/AssetInventory/Search/Search.js +2 -2
  305. package/dist/legacy/AssetInventory/Search/Search.js.map +1 -1
  306. package/dist/legacy/AssetInventory/Sort/Sort.js +2 -2
  307. package/dist/legacy/AssetInventory/Sort/Sort.js.map +1 -1
  308. package/dist/legacy/Avatar/Avatar.js +2 -2
  309. package/dist/legacy/Avatar/Avatar.js.map +1 -1
  310. package/dist/legacy/Badge/Badge.js +2 -2
  311. package/dist/legacy/Badge/Badge.js.map +1 -1
  312. package/dist/legacy/Banner/Banner.js +2 -2
  313. package/dist/legacy/Banner/Banner.js.map +1 -1
  314. package/dist/legacy/Banner/BannerWrapper/ActionContainer/ActionContainer.js +2 -2
  315. package/dist/legacy/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
  316. package/dist/legacy/Banner/BannerWrapper/BannerContentWrapper.js +2 -2
  317. package/dist/legacy/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
  318. package/dist/legacy/Banner/BannerWrapper/MessageContainer/MessageContainer.js +2 -2
  319. package/dist/legacy/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
  320. package/dist/legacy/Barchart/Barchart.js +2 -2
  321. package/dist/legacy/Barchart/Barchart.js.map +1 -1
  322. package/dist/legacy/BaseCheckBox/BaseCheckBox.js +2 -2
  323. package/dist/legacy/BaseCheckBox/BaseCheckBox.js.map +1 -1
  324. package/dist/legacy/BaseDropdown/BaseDropdown.js +2 -2
  325. package/dist/legacy/BaseDropdown/BaseDropdown.js.map +1 -1
  326. package/dist/legacy/BaseInput/BaseInput.js +2 -2
  327. package/dist/legacy/BaseInput/BaseInput.js.map +1 -1
  328. package/dist/legacy/BaseRadio/BaseRadio.js +2 -2
  329. package/dist/legacy/BaseRadio/BaseRadio.js.map +1 -1
  330. package/dist/legacy/BaseSwitch/BaseSwitch.js +2 -2
  331. package/dist/legacy/BaseSwitch/BaseSwitch.js.map +1 -1
  332. package/dist/legacy/BreadCrumb/BreadCrumb.js +6 -6
  333. package/dist/legacy/BreadCrumb/BreadCrumb.js.map +1 -1
  334. package/dist/legacy/BreadCrumb/utils.js +5 -2
  335. package/dist/legacy/BreadCrumb/utils.js.map +1 -1
  336. package/dist/legacy/BulkActions/BulkActions.js +2 -2
  337. package/dist/legacy/BulkActions/BulkActions.js.map +1 -1
  338. package/dist/legacy/Button/Button.js +2 -2
  339. package/dist/legacy/Button/Button.js.map +1 -1
  340. package/dist/legacy/Calendar/Calendar.js +2 -2
  341. package/dist/legacy/Calendar/Calendar.js.map +1 -1
  342. package/dist/legacy/Calendar/CalendarHeader/CalendarHeader.js +7 -4
  343. package/dist/legacy/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
  344. package/dist/legacy/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +2 -2
  345. package/dist/legacy/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
  346. package/dist/legacy/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +2 -2
  347. package/dist/legacy/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
  348. package/dist/legacy/Calendar/CalendarNavigation/Navigation/Navigation.js +2 -2
  349. package/dist/legacy/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
  350. package/dist/legacy/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +2 -2
  351. package/dist/legacy/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
  352. package/dist/legacy/Calendar/SingleCalendar/CalendarCell.js +2 -2
  353. package/dist/legacy/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  354. package/dist/legacy/Calendar/SingleCalendar/SingleCalendar.js +2 -2
  355. package/dist/legacy/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
  356. package/dist/legacy/Card/Card.js +2 -2
  357. package/dist/legacy/Card/Card.js.map +1 -1
  358. package/dist/legacy/Card/Content/Content.js +2 -2
  359. package/dist/legacy/Card/Content/Content.js.map +1 -1
  360. package/dist/legacy/Card/Header/Header.js +2 -2
  361. package/dist/legacy/Card/Header/Header.js.map +1 -1
  362. package/dist/legacy/Card/Media/Media.js +2 -2
  363. package/dist/legacy/Card/Media/Media.js.map +1 -1
  364. package/dist/legacy/Chart/Chart.js +2 -2
  365. package/dist/legacy/Chart/Chart.js.map +1 -1
  366. package/dist/legacy/Chart/Plot/Plot.js +2 -2
  367. package/dist/legacy/Chart/Plot/Plot.js.map +1 -1
  368. package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js +2 -2
  369. package/dist/legacy/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
  370. package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js +2 -2
  371. package/dist/legacy/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
  372. package/dist/legacy/Chart/Tooltip/Tooltip.js +2 -2
  373. package/dist/legacy/Chart/Tooltip/Tooltip.js.map +1 -1
  374. package/dist/legacy/CheckBox/CheckBox.js +2 -2
  375. package/dist/legacy/CheckBox/CheckBox.js.map +1 -1
  376. package/dist/legacy/CheckBoxGroup/CheckBoxGroup.js +2 -2
  377. package/dist/legacy/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  378. package/dist/legacy/Container/Container.js +2 -2
  379. package/dist/legacy/Container/Container.js.map +1 -1
  380. package/dist/legacy/DatePicker/DatePicker.js +2 -2
  381. package/dist/legacy/DatePicker/DatePicker.js.map +1 -1
  382. package/dist/legacy/Dialog/Dialog.js +7 -4
  383. package/dist/legacy/Dialog/Dialog.js.map +1 -1
  384. package/dist/legacy/Dialog/DialogActions/DialogActions.js +2 -2
  385. package/dist/legacy/Dialog/DialogActions/DialogActions.js.map +1 -1
  386. package/dist/legacy/Dialog/DialogContent/DialogContent.js +2 -2
  387. package/dist/legacy/Dialog/DialogContent/DialogContent.js.map +1 -1
  388. package/dist/legacy/Dialog/DialogTitle/DialogTitle.js +2 -2
  389. package/dist/legacy/Dialog/DialogTitle/DialogTitle.js.map +1 -1
  390. package/dist/legacy/Donutchart/Donutchart.js +2 -2
  391. package/dist/legacy/Donutchart/Donutchart.js.map +1 -1
  392. package/dist/legacy/DropDownMenu/DropDownMenu.js +2 -2
  393. package/dist/legacy/DropDownMenu/DropDownMenu.js.map +1 -1
  394. package/dist/legacy/Dropdown/Dropdown.js +2 -2
  395. package/dist/legacy/Dropdown/Dropdown.js.map +1 -1
  396. package/dist/legacy/Dropdown/List/List.js +2 -2
  397. package/dist/legacy/Dropdown/List/List.js.map +1 -1
  398. package/dist/legacy/EmptyState/EmptyState.js +2 -2
  399. package/dist/legacy/EmptyState/EmptyState.js.map +1 -1
  400. package/dist/legacy/FileUploader/DropZone/DropZone.js +2 -2
  401. package/dist/legacy/FileUploader/DropZone/DropZone.js.map +1 -1
  402. package/dist/legacy/FileUploader/File/File.js +6 -4
  403. package/dist/legacy/FileUploader/File/File.js.map +1 -1
  404. package/dist/legacy/FileUploader/FileList/FileList.js +2 -2
  405. package/dist/legacy/FileUploader/FileList/FileList.js.map +1 -1
  406. package/dist/legacy/FileUploader/FileUploader.js +2 -2
  407. package/dist/legacy/FileUploader/FileUploader.js.map +1 -1
  408. package/dist/legacy/FileUploader/Preview/Preview.js +6 -3
  409. package/dist/legacy/FileUploader/Preview/Preview.js.map +1 -1
  410. package/dist/legacy/FilterGroup/Counter/Counter.js +2 -2
  411. package/dist/legacy/FilterGroup/Counter/Counter.js.map +1 -1
  412. package/dist/legacy/FilterGroup/FilterContent/FilterContent.js +7 -4
  413. package/dist/legacy/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  414. package/dist/legacy/FilterGroup/FilterGroup.js +2 -2
  415. package/dist/legacy/FilterGroup/FilterGroup.js.map +1 -1
  416. package/dist/legacy/FilterGroup/FilterGroupContext.js +2 -2
  417. package/dist/legacy/FilterGroup/FilterGroupContext.js.map +1 -1
  418. package/dist/legacy/FilterGroup/LeftPanel/LeftPanel.js +2 -2
  419. package/dist/legacy/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  420. package/dist/legacy/FilterGroup/RightPanel/RightPanel.js +2 -2
  421. package/dist/legacy/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  422. package/dist/legacy/Focus/Focus.js +2 -2
  423. package/dist/legacy/Focus/Focus.js.map +1 -1
  424. package/dist/legacy/Footer/Footer.js +2 -2
  425. package/dist/legacy/Footer/Footer.js.map +1 -1
  426. package/dist/legacy/Forms/Adornment/Adornment.js +2 -2
  427. package/dist/legacy/Forms/Adornment/Adornment.js.map +1 -1
  428. package/dist/legacy/Forms/CharCounter/CharCounter.js +2 -2
  429. package/dist/legacy/Forms/CharCounter/CharCounter.js.map +1 -1
  430. package/dist/legacy/Forms/FormElement/FormElement.js +2 -2
  431. package/dist/legacy/Forms/FormElement/FormElement.js.map +1 -1
  432. package/dist/legacy/Forms/InfoMessage/InfoMessage.js +2 -2
  433. package/dist/legacy/Forms/InfoMessage/InfoMessage.js.map +1 -1
  434. package/dist/legacy/Forms/Label/Label.js +7 -4
  435. package/dist/legacy/Forms/Label/Label.js.map +1 -1
  436. package/dist/legacy/Forms/Suggestions/Suggestions.js +2 -2
  437. package/dist/legacy/Forms/Suggestions/Suggestions.js.map +1 -1
  438. package/dist/legacy/Forms/WarningText/WarningText.js +2 -2
  439. package/dist/legacy/Forms/WarningText/WarningText.js.map +1 -1
  440. package/dist/legacy/GlobalActions/GlobalActions.js +9 -4
  441. package/dist/legacy/GlobalActions/GlobalActions.js.map +1 -1
  442. package/dist/legacy/Grid/Grid.js +5 -4
  443. package/dist/legacy/Grid/Grid.js.map +1 -1
  444. package/dist/legacy/Header/Actions/Actions.js +2 -2
  445. package/dist/legacy/Header/Actions/Actions.js.map +1 -1
  446. package/dist/legacy/Header/Brand/Brand.js +2 -2
  447. package/dist/legacy/Header/Brand/Brand.js.map +1 -1
  448. package/dist/legacy/Header/Header.js +2 -2
  449. package/dist/legacy/Header/Header.js.map +1 -1
  450. package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js +2 -2
  451. package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  452. package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js +2 -2
  453. package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  454. package/dist/legacy/Header/Navigation/Navigation.js +2 -2
  455. package/dist/legacy/Header/Navigation/Navigation.js.map +1 -1
  456. package/dist/legacy/Header/Navigation/utils/FocusContext.js +2 -2
  457. package/dist/legacy/Header/Navigation/utils/FocusContext.js.map +1 -1
  458. package/dist/legacy/Input/Input.js +8 -5
  459. package/dist/legacy/Input/Input.js.map +1 -1
  460. package/dist/legacy/Kpi/Kpi.js +2 -2
  461. package/dist/legacy/Kpi/Kpi.js.map +1 -1
  462. package/dist/legacy/Linechart/Linechart.js +2 -2
  463. package/dist/legacy/Linechart/Linechart.js.map +1 -1
  464. package/dist/legacy/Link/Link.js +2 -2
  465. package/dist/legacy/Link/Link.js.map +1 -1
  466. package/dist/legacy/List/List.js +4 -4
  467. package/dist/legacy/List/List.js.map +1 -1
  468. package/dist/legacy/ListContainer/ListContainer.js +2 -2
  469. package/dist/legacy/ListContainer/ListContainer.js.map +1 -1
  470. package/dist/legacy/ListContainer/ListItem/ListItem.js +2 -2
  471. package/dist/legacy/ListContainer/ListItem/ListItem.js.map +1 -1
  472. package/dist/legacy/Loading/Loading.js +2 -2
  473. package/dist/legacy/Loading/Loading.js.map +1 -1
  474. package/dist/legacy/Login/Login.js +2 -2
  475. package/dist/legacy/Login/Login.js.map +1 -1
  476. package/dist/legacy/MultiButton/MultiButton.js +2 -2
  477. package/dist/legacy/MultiButton/MultiButton.js.map +1 -1
  478. package/dist/legacy/OverflowTooltip/OverflowTooltip.d.ts +29 -0
  479. package/dist/legacy/OverflowTooltip/OverflowTooltip.js +126 -0
  480. package/dist/legacy/OverflowTooltip/OverflowTooltip.js.map +1 -0
  481. package/dist/legacy/OverflowTooltip/index.d.ts +1 -0
  482. package/dist/legacy/OverflowTooltip/index.js +2 -0
  483. package/dist/legacy/OverflowTooltip/index.js.map +1 -0
  484. package/dist/legacy/Pagination/Pagination.js +2 -2
  485. package/dist/legacy/Pagination/Pagination.js.map +1 -1
  486. package/dist/legacy/Panel/Panel.js +2 -2
  487. package/dist/legacy/Panel/Panel.js.map +1 -1
  488. package/dist/legacy/Provider/Provider.js +5 -3
  489. package/dist/legacy/Provider/Provider.js.map +1 -1
  490. package/dist/legacy/Radio/Radio.js +2 -2
  491. package/dist/legacy/Radio/Radio.js.map +1 -1
  492. package/dist/legacy/RadioGroup/RadioGroup.js +2 -2
  493. package/dist/legacy/RadioGroup/RadioGroup.js.map +1 -1
  494. package/dist/legacy/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +2 -2
  495. package/dist/legacy/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  496. package/dist/legacy/ScrollTo/Horizontal/ScrollToHorizontal.js +2 -2
  497. package/dist/legacy/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  498. package/dist/legacy/ScrollTo/Vertical/ScrollToVertical.js +2 -2
  499. package/dist/legacy/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  500. package/dist/legacy/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +7 -4
  501. package/dist/legacy/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  502. package/dist/legacy/SelectionList/SelectionList.js +2 -2
  503. package/dist/legacy/SelectionList/SelectionList.js.map +1 -1
  504. package/dist/legacy/Snackbar/Snackbar.js +2 -2
  505. package/dist/legacy/Snackbar/Snackbar.js.map +1 -1
  506. package/dist/legacy/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +2 -2
  507. package/dist/legacy/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  508. package/dist/legacy/Switch/Switch.js +2 -2
  509. package/dist/legacy/Switch/Switch.js.map +1 -1
  510. package/dist/legacy/Tab/Tab.js +2 -2
  511. package/dist/legacy/Tab/Tab.js.map +1 -1
  512. package/dist/legacy/Table/Header/Header.js +4 -2
  513. package/dist/legacy/Table/Header/Header.js.map +1 -1
  514. package/dist/legacy/Table/NoData/index.js +3 -1
  515. package/dist/legacy/Table/NoData/index.js.map +1 -1
  516. package/dist/legacy/Table/Table.js +5 -3
  517. package/dist/legacy/Table/Table.js.map +1 -1
  518. package/dist/legacy/Tabs/Tabs.js +6 -3
  519. package/dist/legacy/Tabs/Tabs.js.map +1 -1
  520. package/dist/legacy/Tag/Tag.js +6 -4
  521. package/dist/legacy/Tag/Tag.js.map +1 -1
  522. package/dist/legacy/TagsInput/TagsInput.js +2 -2
  523. package/dist/legacy/TagsInput/TagsInput.js.map +1 -1
  524. package/dist/legacy/TextArea/TextArea.js +2 -2
  525. package/dist/legacy/TextArea/TextArea.js.map +1 -1
  526. package/dist/legacy/ToggleButton/ToggleButton.js +2 -2
  527. package/dist/legacy/ToggleButton/ToggleButton.js.map +1 -1
  528. package/dist/legacy/Tooltip/Tooltip.js +2 -2
  529. package/dist/legacy/Tooltip/Tooltip.js.map +1 -1
  530. package/dist/legacy/Typography/Typography.js +2 -2
  531. package/dist/legacy/Typography/Typography.js.map +1 -1
  532. package/dist/legacy/UserPreferences/Action/Action.js +2 -2
  533. package/dist/legacy/UserPreferences/Action/Action.js.map +1 -1
  534. package/dist/legacy/UserPreferences/Actions/Actions.js +2 -2
  535. package/dist/legacy/UserPreferences/Actions/Actions.js.map +1 -1
  536. package/dist/legacy/UserPreferences/Options/Group/Group.js +2 -2
  537. package/dist/legacy/UserPreferences/Options/Group/Group.js.map +1 -1
  538. package/dist/legacy/UserPreferences/Options/Label/Label.js +2 -2
  539. package/dist/legacy/UserPreferences/Options/Label/Label.js.map +1 -1
  540. package/dist/legacy/UserPreferences/Options/Option.js +2 -2
  541. package/dist/legacy/UserPreferences/Options/Option.js.map +1 -1
  542. package/dist/legacy/UserPreferences/Options/Options.js +2 -2
  543. package/dist/legacy/UserPreferences/Options/Options.js.map +1 -1
  544. package/dist/legacy/UserPreferences/UserPreferences.js +2 -2
  545. package/dist/legacy/UserPreferences/UserPreferences.js.map +1 -1
  546. package/dist/legacy/VerticalNavigation/Actions/Action.js +2 -2
  547. package/dist/legacy/VerticalNavigation/Actions/Action.js.map +1 -1
  548. package/dist/legacy/VerticalNavigation/Actions/Actions.js +2 -2
  549. package/dist/legacy/VerticalNavigation/Actions/Actions.js.map +1 -1
  550. package/dist/legacy/VerticalNavigation/Navigation/Navigation.js +2 -2
  551. package/dist/legacy/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  552. package/dist/legacy/VerticalNavigation/TreeView/TreeView.js +2 -2
  553. package/dist/legacy/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  554. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js +6 -3
  555. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  556. package/dist/legacy/VerticalNavigation/TreeView/descendants.js +2 -2
  557. package/dist/legacy/VerticalNavigation/TreeView/descendants.js.map +1 -1
  558. package/dist/legacy/VerticalNavigation/VerticalContainer/VerticalContainer.js +6 -3
  559. package/dist/legacy/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
  560. package/dist/legacy/VerticalNavigation/VerticalNavigation.js +2 -2
  561. package/dist/legacy/VerticalNavigation/VerticalNavigation.js.map +1 -1
  562. package/dist/legacy/index.d.ts +3 -0
  563. package/dist/legacy/index.js +1 -0
  564. package/dist/legacy/index.js.map +1 -1
  565. package/dist/legacy/withId.js +2 -2
  566. package/dist/legacy/withId.js.map +1 -1
  567. package/dist/legacy/withTooltip.js +3 -1
  568. package/dist/legacy/withTooltip.js.map +1 -1
  569. package/dist/modern/Accordion/Accordion.js +2 -2
  570. package/dist/modern/Accordion/Accordion.js.map +1 -1
  571. package/dist/modern/ActionBar/ActionBar.js +2 -2
  572. package/dist/modern/ActionBar/ActionBar.js.map +1 -1
  573. package/dist/modern/ActionsGeneric/ActionsGeneric.js +2 -2
  574. package/dist/modern/ActionsGeneric/ActionsGeneric.js.map +1 -1
  575. package/dist/modern/AssetInventory/AssetInventory.js +2 -2
  576. package/dist/modern/AssetInventory/AssetInventory.js.map +1 -1
  577. package/dist/modern/AssetInventory/CardView/CardView.js +3 -3
  578. package/dist/modern/AssetInventory/CardView/CardView.js.map +1 -1
  579. package/dist/modern/AssetInventory/ListView/ListView.js +2 -2
  580. package/dist/modern/AssetInventory/ListView/ListView.js.map +1 -1
  581. package/dist/modern/AssetInventory/ListView/ListViewCell/ListViewCell.js +2 -2
  582. package/dist/modern/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
  583. package/dist/modern/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js +7 -4
  584. package/dist/modern/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
  585. package/dist/modern/AssetInventory/ListView/ListViewRow/ListViewRow.js +2 -2
  586. package/dist/modern/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
  587. package/dist/modern/AssetInventory/Multibutton/Multibutton.js +2 -2
  588. package/dist/modern/AssetInventory/Multibutton/Multibutton.js.map +1 -1
  589. package/dist/modern/AssetInventory/Search/Search.js +2 -2
  590. package/dist/modern/AssetInventory/Search/Search.js.map +1 -1
  591. package/dist/modern/AssetInventory/Sort/Sort.js +2 -2
  592. package/dist/modern/AssetInventory/Sort/Sort.js.map +1 -1
  593. package/dist/modern/Avatar/Avatar.js +2 -2
  594. package/dist/modern/Avatar/Avatar.js.map +1 -1
  595. package/dist/modern/Badge/Badge.js +2 -2
  596. package/dist/modern/Badge/Badge.js.map +1 -1
  597. package/dist/modern/Banner/Banner.js +2 -2
  598. package/dist/modern/Banner/Banner.js.map +1 -1
  599. package/dist/modern/Banner/BannerWrapper/ActionContainer/ActionContainer.js +2 -2
  600. package/dist/modern/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
  601. package/dist/modern/Banner/BannerWrapper/BannerContentWrapper.js +2 -2
  602. package/dist/modern/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
  603. package/dist/modern/Banner/BannerWrapper/MessageContainer/MessageContainer.js +2 -2
  604. package/dist/modern/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
  605. package/dist/modern/Barchart/Barchart.js +2 -2
  606. package/dist/modern/Barchart/Barchart.js.map +1 -1
  607. package/dist/modern/BaseCheckBox/BaseCheckBox.js +2 -2
  608. package/dist/modern/BaseCheckBox/BaseCheckBox.js.map +1 -1
  609. package/dist/modern/BaseDropdown/BaseDropdown.js +2 -2
  610. package/dist/modern/BaseDropdown/BaseDropdown.js.map +1 -1
  611. package/dist/modern/BaseInput/BaseInput.js +2 -2
  612. package/dist/modern/BaseInput/BaseInput.js.map +1 -1
  613. package/dist/modern/BaseRadio/BaseRadio.js +2 -2
  614. package/dist/modern/BaseRadio/BaseRadio.js.map +1 -1
  615. package/dist/modern/BaseSwitch/BaseSwitch.js +2 -2
  616. package/dist/modern/BaseSwitch/BaseSwitch.js.map +1 -1
  617. package/dist/modern/BreadCrumb/BreadCrumb.js +6 -6
  618. package/dist/modern/BreadCrumb/BreadCrumb.js.map +1 -1
  619. package/dist/modern/BreadCrumb/utils.js +5 -2
  620. package/dist/modern/BreadCrumb/utils.js.map +1 -1
  621. package/dist/modern/BulkActions/BulkActions.js +2 -2
  622. package/dist/modern/BulkActions/BulkActions.js.map +1 -1
  623. package/dist/modern/Button/Button.js +2 -2
  624. package/dist/modern/Button/Button.js.map +1 -1
  625. package/dist/modern/Calendar/Calendar.js +2 -2
  626. package/dist/modern/Calendar/Calendar.js.map +1 -1
  627. package/dist/modern/Calendar/CalendarHeader/CalendarHeader.js +7 -4
  628. package/dist/modern/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
  629. package/dist/modern/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js +2 -2
  630. package/dist/modern/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
  631. package/dist/modern/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js +2 -2
  632. package/dist/modern/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
  633. package/dist/modern/Calendar/CalendarNavigation/Navigation/Navigation.js +2 -2
  634. package/dist/modern/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
  635. package/dist/modern/Calendar/CalendarWeekLabels/CalendarWeekLabels.js +2 -2
  636. package/dist/modern/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
  637. package/dist/modern/Calendar/SingleCalendar/CalendarCell.js +2 -2
  638. package/dist/modern/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  639. package/dist/modern/Calendar/SingleCalendar/SingleCalendar.js +2 -2
  640. package/dist/modern/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
  641. package/dist/modern/Card/Card.js +2 -2
  642. package/dist/modern/Card/Card.js.map +1 -1
  643. package/dist/modern/Card/Content/Content.js +2 -2
  644. package/dist/modern/Card/Content/Content.js.map +1 -1
  645. package/dist/modern/Card/Header/Header.js +2 -2
  646. package/dist/modern/Card/Header/Header.js.map +1 -1
  647. package/dist/modern/Card/Media/Media.js +2 -2
  648. package/dist/modern/Card/Media/Media.js.map +1 -1
  649. package/dist/modern/Chart/Chart.js +2 -2
  650. package/dist/modern/Chart/Chart.js.map +1 -1
  651. package/dist/modern/Chart/Plot/Plot.js +2 -2
  652. package/dist/modern/Chart/Plot/Plot.js.map +1 -1
  653. package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js +2 -2
  654. package/dist/modern/Chart/Tooltip/MultiTooltip/MultiTooltip.js.map +1 -1
  655. package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js +2 -2
  656. package/dist/modern/Chart/Tooltip/SingleTooltip/SingleTooltip.js.map +1 -1
  657. package/dist/modern/Chart/Tooltip/Tooltip.js +2 -2
  658. package/dist/modern/Chart/Tooltip/Tooltip.js.map +1 -1
  659. package/dist/modern/CheckBox/CheckBox.js +2 -2
  660. package/dist/modern/CheckBox/CheckBox.js.map +1 -1
  661. package/dist/modern/CheckBoxGroup/CheckBoxGroup.js +2 -2
  662. package/dist/modern/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  663. package/dist/modern/Container/Container.js +2 -2
  664. package/dist/modern/Container/Container.js.map +1 -1
  665. package/dist/modern/DatePicker/DatePicker.js +2 -2
  666. package/dist/modern/DatePicker/DatePicker.js.map +1 -1
  667. package/dist/modern/Dialog/Dialog.js +7 -4
  668. package/dist/modern/Dialog/Dialog.js.map +1 -1
  669. package/dist/modern/Dialog/DialogActions/DialogActions.js +2 -2
  670. package/dist/modern/Dialog/DialogActions/DialogActions.js.map +1 -1
  671. package/dist/modern/Dialog/DialogContent/DialogContent.js +2 -2
  672. package/dist/modern/Dialog/DialogContent/DialogContent.js.map +1 -1
  673. package/dist/modern/Dialog/DialogTitle/DialogTitle.js +2 -2
  674. package/dist/modern/Dialog/DialogTitle/DialogTitle.js.map +1 -1
  675. package/dist/modern/Donutchart/Donutchart.js +2 -2
  676. package/dist/modern/Donutchart/Donutchart.js.map +1 -1
  677. package/dist/modern/DropDownMenu/DropDownMenu.js +2 -2
  678. package/dist/modern/DropDownMenu/DropDownMenu.js.map +1 -1
  679. package/dist/modern/Dropdown/Dropdown.js +2 -2
  680. package/dist/modern/Dropdown/Dropdown.js.map +1 -1
  681. package/dist/modern/Dropdown/List/List.js +2 -2
  682. package/dist/modern/Dropdown/List/List.js.map +1 -1
  683. package/dist/modern/EmptyState/EmptyState.js +2 -2
  684. package/dist/modern/EmptyState/EmptyState.js.map +1 -1
  685. package/dist/modern/FileUploader/DropZone/DropZone.js +2 -2
  686. package/dist/modern/FileUploader/DropZone/DropZone.js.map +1 -1
  687. package/dist/modern/FileUploader/File/File.js +6 -4
  688. package/dist/modern/FileUploader/File/File.js.map +1 -1
  689. package/dist/modern/FileUploader/FileList/FileList.js +2 -2
  690. package/dist/modern/FileUploader/FileList/FileList.js.map +1 -1
  691. package/dist/modern/FileUploader/FileUploader.js +2 -2
  692. package/dist/modern/FileUploader/FileUploader.js.map +1 -1
  693. package/dist/modern/FileUploader/Preview/Preview.js +6 -3
  694. package/dist/modern/FileUploader/Preview/Preview.js.map +1 -1
  695. package/dist/modern/FilterGroup/Counter/Counter.js +2 -2
  696. package/dist/modern/FilterGroup/Counter/Counter.js.map +1 -1
  697. package/dist/modern/FilterGroup/FilterContent/FilterContent.js +7 -4
  698. package/dist/modern/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  699. package/dist/modern/FilterGroup/FilterGroup.js +2 -2
  700. package/dist/modern/FilterGroup/FilterGroup.js.map +1 -1
  701. package/dist/modern/FilterGroup/FilterGroupContext.js +2 -2
  702. package/dist/modern/FilterGroup/FilterGroupContext.js.map +1 -1
  703. package/dist/modern/FilterGroup/LeftPanel/LeftPanel.js +2 -2
  704. package/dist/modern/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  705. package/dist/modern/FilterGroup/RightPanel/RightPanel.js +2 -2
  706. package/dist/modern/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  707. package/dist/modern/Focus/Focus.js +2 -2
  708. package/dist/modern/Focus/Focus.js.map +1 -1
  709. package/dist/modern/Footer/Footer.js +2 -2
  710. package/dist/modern/Footer/Footer.js.map +1 -1
  711. package/dist/modern/Forms/Adornment/Adornment.js +2 -2
  712. package/dist/modern/Forms/Adornment/Adornment.js.map +1 -1
  713. package/dist/modern/Forms/CharCounter/CharCounter.js +2 -2
  714. package/dist/modern/Forms/CharCounter/CharCounter.js.map +1 -1
  715. package/dist/modern/Forms/FormElement/FormElement.js +2 -2
  716. package/dist/modern/Forms/FormElement/FormElement.js.map +1 -1
  717. package/dist/modern/Forms/InfoMessage/InfoMessage.js +2 -2
  718. package/dist/modern/Forms/InfoMessage/InfoMessage.js.map +1 -1
  719. package/dist/modern/Forms/Label/Label.js +7 -4
  720. package/dist/modern/Forms/Label/Label.js.map +1 -1
  721. package/dist/modern/Forms/Suggestions/Suggestions.js +2 -2
  722. package/dist/modern/Forms/Suggestions/Suggestions.js.map +1 -1
  723. package/dist/modern/Forms/WarningText/WarningText.js +2 -2
  724. package/dist/modern/Forms/WarningText/WarningText.js.map +1 -1
  725. package/dist/modern/GlobalActions/GlobalActions.js +9 -4
  726. package/dist/modern/GlobalActions/GlobalActions.js.map +1 -1
  727. package/dist/modern/Grid/Grid.js +3 -3
  728. package/dist/modern/Grid/Grid.js.map +1 -1
  729. package/dist/modern/Header/Actions/Actions.js +2 -2
  730. package/dist/modern/Header/Actions/Actions.js.map +1 -1
  731. package/dist/modern/Header/Brand/Brand.js +2 -2
  732. package/dist/modern/Header/Brand/Brand.js.map +1 -1
  733. package/dist/modern/Header/Header.js +2 -2
  734. package/dist/modern/Header/Header.js.map +1 -1
  735. package/dist/modern/Header/Navigation/MenuBar/MenuBar.js +2 -2
  736. package/dist/modern/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  737. package/dist/modern/Header/Navigation/MenuItem/MenuItem.js +2 -2
  738. package/dist/modern/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  739. package/dist/modern/Header/Navigation/Navigation.js +2 -2
  740. package/dist/modern/Header/Navigation/Navigation.js.map +1 -1
  741. package/dist/modern/Header/Navigation/utils/FocusContext.js +2 -2
  742. package/dist/modern/Header/Navigation/utils/FocusContext.js.map +1 -1
  743. package/dist/modern/Input/Input.js +8 -5
  744. package/dist/modern/Input/Input.js.map +1 -1
  745. package/dist/modern/Kpi/Kpi.js +2 -2
  746. package/dist/modern/Kpi/Kpi.js.map +1 -1
  747. package/dist/modern/Linechart/Linechart.js +2 -2
  748. package/dist/modern/Linechart/Linechart.js.map +1 -1
  749. package/dist/modern/Link/Link.js +2 -2
  750. package/dist/modern/Link/Link.js.map +1 -1
  751. package/dist/modern/List/List.js +4 -4
  752. package/dist/modern/List/List.js.map +1 -1
  753. package/dist/modern/ListContainer/ListContainer.js +2 -2
  754. package/dist/modern/ListContainer/ListContainer.js.map +1 -1
  755. package/dist/modern/ListContainer/ListItem/ListItem.js +2 -2
  756. package/dist/modern/ListContainer/ListItem/ListItem.js.map +1 -1
  757. package/dist/modern/Loading/Loading.js +2 -2
  758. package/dist/modern/Loading/Loading.js.map +1 -1
  759. package/dist/modern/Login/Login.js +2 -2
  760. package/dist/modern/Login/Login.js.map +1 -1
  761. package/dist/modern/MultiButton/MultiButton.js +2 -2
  762. package/dist/modern/MultiButton/MultiButton.js.map +1 -1
  763. package/dist/modern/OverflowTooltip/OverflowTooltip.d.ts +29 -0
  764. package/dist/modern/OverflowTooltip/OverflowTooltip.js +120 -0
  765. package/dist/modern/OverflowTooltip/OverflowTooltip.js.map +1 -0
  766. package/dist/modern/OverflowTooltip/index.d.ts +1 -0
  767. package/dist/modern/OverflowTooltip/index.js +2 -0
  768. package/dist/modern/OverflowTooltip/index.js.map +1 -0
  769. package/dist/modern/Pagination/Pagination.js +2 -2
  770. package/dist/modern/Pagination/Pagination.js.map +1 -1
  771. package/dist/modern/Panel/Panel.js +2 -2
  772. package/dist/modern/Panel/Panel.js.map +1 -1
  773. package/dist/modern/Provider/Provider.js +5 -3
  774. package/dist/modern/Provider/Provider.js.map +1 -1
  775. package/dist/modern/Radio/Radio.js +2 -2
  776. package/dist/modern/Radio/Radio.js.map +1 -1
  777. package/dist/modern/RadioGroup/RadioGroup.js +2 -2
  778. package/dist/modern/RadioGroup/RadioGroup.js.map +1 -1
  779. package/dist/modern/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +2 -2
  780. package/dist/modern/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  781. package/dist/modern/ScrollTo/Horizontal/ScrollToHorizontal.js +2 -2
  782. package/dist/modern/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  783. package/dist/modern/ScrollTo/Vertical/ScrollToVertical.js +2 -2
  784. package/dist/modern/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  785. package/dist/modern/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +7 -4
  786. package/dist/modern/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  787. package/dist/modern/SelectionList/SelectionList.js +2 -2
  788. package/dist/modern/SelectionList/SelectionList.js.map +1 -1
  789. package/dist/modern/Snackbar/Snackbar.js +2 -2
  790. package/dist/modern/Snackbar/Snackbar.js.map +1 -1
  791. package/dist/modern/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js +2 -2
  792. package/dist/modern/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  793. package/dist/modern/Switch/Switch.js +2 -2
  794. package/dist/modern/Switch/Switch.js.map +1 -1
  795. package/dist/modern/Tab/Tab.js +2 -2
  796. package/dist/modern/Tab/Tab.js.map +1 -1
  797. package/dist/modern/Table/Header/Header.js +4 -2
  798. package/dist/modern/Table/Header/Header.js.map +1 -1
  799. package/dist/modern/Table/NoData/index.js +3 -1
  800. package/dist/modern/Table/NoData/index.js.map +1 -1
  801. package/dist/modern/Table/Table.js +5 -3
  802. package/dist/modern/Table/Table.js.map +1 -1
  803. package/dist/modern/Tabs/Tabs.js +6 -3
  804. package/dist/modern/Tabs/Tabs.js.map +1 -1
  805. package/dist/modern/Tag/Tag.js +6 -4
  806. package/dist/modern/Tag/Tag.js.map +1 -1
  807. package/dist/modern/TagsInput/TagsInput.js +2 -2
  808. package/dist/modern/TagsInput/TagsInput.js.map +1 -1
  809. package/dist/modern/TextArea/TextArea.js +2 -2
  810. package/dist/modern/TextArea/TextArea.js.map +1 -1
  811. package/dist/modern/ToggleButton/ToggleButton.js +2 -2
  812. package/dist/modern/ToggleButton/ToggleButton.js.map +1 -1
  813. package/dist/modern/Tooltip/Tooltip.js +2 -2
  814. package/dist/modern/Tooltip/Tooltip.js.map +1 -1
  815. package/dist/modern/Typography/Typography.js +2 -2
  816. package/dist/modern/Typography/Typography.js.map +1 -1
  817. package/dist/modern/UserPreferences/Action/Action.js +2 -2
  818. package/dist/modern/UserPreferences/Action/Action.js.map +1 -1
  819. package/dist/modern/UserPreferences/Actions/Actions.js +2 -2
  820. package/dist/modern/UserPreferences/Actions/Actions.js.map +1 -1
  821. package/dist/modern/UserPreferences/Options/Group/Group.js +2 -2
  822. package/dist/modern/UserPreferences/Options/Group/Group.js.map +1 -1
  823. package/dist/modern/UserPreferences/Options/Label/Label.js +2 -2
  824. package/dist/modern/UserPreferences/Options/Label/Label.js.map +1 -1
  825. package/dist/modern/UserPreferences/Options/Option.js +2 -2
  826. package/dist/modern/UserPreferences/Options/Option.js.map +1 -1
  827. package/dist/modern/UserPreferences/Options/Options.js +2 -2
  828. package/dist/modern/UserPreferences/Options/Options.js.map +1 -1
  829. package/dist/modern/UserPreferences/UserPreferences.js +2 -2
  830. package/dist/modern/UserPreferences/UserPreferences.js.map +1 -1
  831. package/dist/modern/VerticalNavigation/Actions/Action.js +2 -2
  832. package/dist/modern/VerticalNavigation/Actions/Action.js.map +1 -1
  833. package/dist/modern/VerticalNavigation/Actions/Actions.js +2 -2
  834. package/dist/modern/VerticalNavigation/Actions/Actions.js.map +1 -1
  835. package/dist/modern/VerticalNavigation/Navigation/Navigation.js +2 -2
  836. package/dist/modern/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  837. package/dist/modern/VerticalNavigation/TreeView/TreeView.js +2 -2
  838. package/dist/modern/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  839. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js +6 -3
  840. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  841. package/dist/modern/VerticalNavigation/TreeView/descendants.js +2 -2
  842. package/dist/modern/VerticalNavigation/TreeView/descendants.js.map +1 -1
  843. package/dist/modern/VerticalNavigation/VerticalContainer/VerticalContainer.js +6 -3
  844. package/dist/modern/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
  845. package/dist/modern/VerticalNavigation/VerticalNavigation.js +2 -2
  846. package/dist/modern/VerticalNavigation/VerticalNavigation.js.map +1 -1
  847. package/dist/modern/index.d.ts +3 -0
  848. package/dist/modern/index.js +1 -0
  849. package/dist/modern/index.js.map +1 -1
  850. package/dist/modern/withId.js +2 -2
  851. package/dist/modern/withId.js.map +1 -1
  852. package/dist/modern/withTooltip.js +32 -27
  853. package/dist/modern/withTooltip.js.map +1 -1
  854. package/dist/withId.js +2 -2
  855. package/dist/withId.js.map +1 -1
  856. package/dist/withTooltip.js +4 -2
  857. package/dist/withTooltip.js.map +1 -1
  858. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/UserPreferences/UserPreferences.js"],"names":["HvUserPreferences","className","classes","isOpen","toggleOpenCallback","children","position","closeOnExit","userInfo","others","open","setOpen","prevPropOpen","setPrevPropOpen","containerRef","focusableList","setTimeout","current","first","focus","toggleOpen","newState","prevState","handlerKeyContainer","event","KeyboardCodes","Tab","target","shiftKey","id","last","Esc","renderedContainer","contentContainer","label1","label2","root","static","relative","fixed","absolute","container","propTypes","PropTypes","string","shape","isRequired","bool","oneOf","node","func","styles","name"],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\nimport { withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport { getFirstAndLastFocus, isKeypress, KeyboardCodes } from \"../utils\";\nimport styles from \"./styles\";\nimport Typography from \"../Typography\";\n\n/**\n * User preferences are a group of configurable settings that can be customized for a particular user.\n *\n * Our implementation of the User Preferences component is divided in:\n * <ul>\n * <li>Actions - container for actions</li>\n * <li>Action - action button</li>\n * <li>Options - container for options</li>\n * <li>Group - creates a division between different sets of option, with the possibility of setting a label</li>\n * <li>Label - Label typography.</li>\n * <li>Option - Option button</li>\n * </ul>\n * To build the User Preferences component, a composition of these elements should be used.\n *\n */\nconst HvUserPreferences = ({\n className,\n classes,\n isOpen = false,\n toggleOpenCallback,\n children,\n position = \"static\",\n closeOnExit = false,\n userInfo,\n ...others\n}) => {\n const [open, setOpen] = useState(isOpen);\n const [prevPropOpen, setPrevPropOpen] = useState(null);\n const containerRef = useRef(null);\n const focusableList = useRef(null);\n\n if (isOpen !== prevPropOpen) {\n setOpen(isOpen);\n setPrevPropOpen(isOpen);\n }\n\n /**\n * Fills the object with the first and last focusable element inside the container.\n * When the container is open the first focusable element is focus.\n */\n useEffect(() => {\n setTimeout(() => {\n if (open) {\n focusableList.current = getFirstAndLastFocus(containerRef.current);\n if (focusableList.current.first) focusableList.current.first.focus();\n }\n });\n }, [open]);\n\n /**\n * Toggle the open state based on the received parameter.\n */\n const toggleOpen = useCallback(\n (newState = null) => {\n if (newState !== null) {\n if (newState !== open) {\n setOpen(newState);\n } else {\n return;\n }\n } else {\n setOpen((prevState) => !prevState);\n }\n toggleOpenCallback?.(newState);\n },\n [toggleOpenCallback, open]\n );\n\n /**\n * Handler of keyboard clicks.\n */\n const handlerKeyContainer = useCallback(\n (event) => {\n if (closeOnExit) {\n if (\n isKeypress(event, KeyboardCodes.Tab) &&\n !isNil(event.target) &&\n !isNil(focusableList.current) &&\n !isNil(focusableList.current.first)\n ) {\n if (\n (event.shiftKey && event.target.id === focusableList.current.first.id) ||\n (!event.shiftKey && event.target.id === focusableList.current.last.id)\n ) {\n toggleOpen(false);\n }\n }\n if (isKeypress(event, KeyboardCodes.Esc) === false) {\n return;\n }\n toggleOpen(false);\n }\n },\n [closeOnExit, toggleOpen]\n );\n\n const renderedContainer = useMemo(\n () => (\n <ClickAwayListener onClickAway={() => closeOnExit && toggleOpen(false)}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n ref={containerRef}\n className={classes.contentContainer}\n onKeyDown={handlerKeyContainer}\n >\n {userInfo && (\n <div className={classes.userInfo}>\n <Typography variant=\"highlightText\">{userInfo.label1}</Typography>\n <Typography>{userInfo.label2}</Typography>\n </div>\n )}\n {children}\n </div>\n </ClickAwayListener>\n ),\n [\n children,\n classes.userInfo,\n classes.contentContainer,\n handlerKeyContainer,\n userInfo,\n closeOnExit,\n toggleOpen,\n ]\n );\n\n return (\n <div\n className={clsx([\n classes.root,\n {\n [classes.static]: position === \"static\",\n [classes.relative]: position === \"relative\",\n [classes.fixed]: position === \"fixed\",\n [classes.absolute]: position === \"absolute\",\n },\n className,\n ])}\n >\n <div className={classes.container} {...others}>\n {open && renderedContainer}\n </div>\n </div>\n );\n};\n\nHvUserPreferences.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the 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 when position is fixed.\n */\n fixed: PropTypes.string,\n /**\n * Styles applied when position is relative.\n */\n relative: PropTypes.string,\n /**\n * Styles applied when position is absolute.\n */\n absolute: PropTypes.string,\n /**\n * Styles applied when position is static.\n */\n static: PropTypes.string,\n /**\n * Styles applied to the container.\n */\n container: PropTypes.string,\n /**\n * Styles applied to the inside of the container.\n */\n contentContainer: PropTypes.string,\n /**\n * Styles applied to the user information.\n */\n userInfo: PropTypes.string,\n }).isRequired,\n /**\n * Defines if the user preferences is shown.\n */\n isOpen: PropTypes.bool,\n /**\n * Position of the component.\n */\n position: PropTypes.oneOf([\"static\", \"relative\", \"fixed\", \"absolute\"]),\n /**\n * Children component.\n */\n children: PropTypes.node.isRequired,\n /**\n * Callback when the navigation toggles between open and close.\n */\n toggleOpenCallback: PropTypes.func,\n /**\n * Defines if the content pane should close when losing focus / clicking outside.\n */\n closeOnExit: PropTypes.bool,\n /**\n * User information.\n */\n userInfo: PropTypes.shape({\n label1: PropTypes.string,\n label2: PropTypes.string,\n }),\n};\n\nexport default withStyles(styles, { name: \"HvUserPreferences\" })(HvUserPreferences);\n"],"file":"UserPreferences.js"}
1
+ {"version":3,"sources":["../../src/UserPreferences/UserPreferences.js"],"names":["HvUserPreferences","className","classes","isOpen","toggleOpenCallback","children","position","closeOnExit","userInfo","others","open","setOpen","prevPropOpen","setPrevPropOpen","containerRef","focusableList","setTimeout","current","first","focus","toggleOpen","newState","prevState","handlerKeyContainer","event","KeyboardCodes","Tab","target","shiftKey","id","last","Esc","renderedContainer","contentContainer","label1","label2","root","static","relative","fixed","absolute","container","propTypes","PropTypes","string","shape","isRequired","bool","oneOf","node","func","styles","name"],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\nimport { withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport { getFirstAndLastFocus, isKeypress, KeyboardCodes } from \"../utils\";\nimport styles from \"./styles\";\nimport Typography from \"../Typography\";\n\n/**\n * User preferences are a group of configurable settings that can be customized for a particular user.\n *\n * Our implementation of the User Preferences component is divided in:\n * <ul>\n * <li>Actions - container for actions</li>\n * <li>Action - action button</li>\n * <li>Options - container for options</li>\n * <li>Group - creates a division between different sets of option, with the possibility of setting a label</li>\n * <li>Label - Label typography.</li>\n * <li>Option - Option button</li>\n * </ul>\n * To build the User Preferences component, a composition of these elements should be used.\n *\n */\nconst HvUserPreferences = ({\n className,\n classes,\n isOpen = false,\n toggleOpenCallback,\n children,\n position = \"static\",\n closeOnExit = false,\n userInfo,\n ...others\n}) => {\n const [open, setOpen] = useState(isOpen);\n const [prevPropOpen, setPrevPropOpen] = useState(null);\n const containerRef = useRef(null);\n const focusableList = useRef(null);\n\n if (isOpen !== prevPropOpen) {\n setOpen(isOpen);\n setPrevPropOpen(isOpen);\n }\n\n /**\n * Fills the object with the first and last focusable element inside the container.\n * When the container is open the first focusable element is focus.\n */\n useEffect(() => {\n setTimeout(() => {\n if (open) {\n focusableList.current = getFirstAndLastFocus(containerRef.current);\n if (focusableList.current.first) focusableList.current.first.focus();\n }\n });\n }, [open]);\n\n /**\n * Toggle the open state based on the received parameter.\n */\n const toggleOpen = useCallback(\n (newState = null) => {\n if (newState !== null) {\n if (newState !== open) {\n setOpen(newState);\n } else {\n return;\n }\n } else {\n setOpen((prevState) => !prevState);\n }\n toggleOpenCallback?.(newState);\n },\n [toggleOpenCallback, open]\n );\n\n /**\n * Handler of keyboard clicks.\n */\n const handlerKeyContainer = useCallback(\n (event) => {\n if (closeOnExit) {\n if (\n isKeypress(event, KeyboardCodes.Tab) &&\n !isNil(event.target) &&\n !isNil(focusableList.current) &&\n !isNil(focusableList.current.first)\n ) {\n if (\n (event.shiftKey && event.target.id === focusableList.current.first.id) ||\n (!event.shiftKey && event.target.id === focusableList.current.last.id)\n ) {\n toggleOpen(false);\n }\n }\n if (isKeypress(event, KeyboardCodes.Esc) === false) {\n return;\n }\n toggleOpen(false);\n }\n },\n [closeOnExit, toggleOpen]\n );\n\n const renderedContainer = useMemo(\n () => (\n <ClickAwayListener onClickAway={() => closeOnExit && toggleOpen(false)}>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n ref={containerRef}\n className={classes.contentContainer}\n onKeyDown={handlerKeyContainer}\n >\n {userInfo && (\n <div className={classes.userInfo}>\n <Typography variant=\"highlightText\">{userInfo.label1}</Typography>\n <Typography>{userInfo.label2}</Typography>\n </div>\n )}\n {children}\n </div>\n </ClickAwayListener>\n ),\n [\n children,\n classes.userInfo,\n classes.contentContainer,\n handlerKeyContainer,\n userInfo,\n closeOnExit,\n toggleOpen,\n ]\n );\n\n return (\n <div\n className={clsx([\n classes.root,\n {\n [classes.static]: position === \"static\",\n [classes.relative]: position === \"relative\",\n [classes.fixed]: position === \"fixed\",\n [classes.absolute]: position === \"absolute\",\n },\n className,\n ])}\n >\n <div className={classes.container} {...others}>\n {open && renderedContainer}\n </div>\n </div>\n );\n};\n\nHvUserPreferences.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the 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 when position is fixed.\n */\n fixed: PropTypes.string,\n /**\n * Styles applied when position is relative.\n */\n relative: PropTypes.string,\n /**\n * Styles applied when position is absolute.\n */\n absolute: PropTypes.string,\n /**\n * Styles applied when position is static.\n */\n static: PropTypes.string,\n /**\n * Styles applied to the container.\n */\n container: PropTypes.string,\n /**\n * Styles applied to the inside of the container.\n */\n contentContainer: PropTypes.string,\n /**\n * Styles applied to the user information.\n */\n userInfo: PropTypes.string,\n }).isRequired,\n /**\n * Defines if the user preferences is shown.\n */\n isOpen: PropTypes.bool,\n /**\n * Position of the component.\n */\n position: PropTypes.oneOf([\"static\", \"relative\", \"fixed\", \"absolute\"]),\n /**\n * Children component.\n */\n children: PropTypes.node.isRequired,\n /**\n * Callback when the navigation toggles between open and close.\n */\n toggleOpenCallback: PropTypes.func,\n /**\n * Defines if the content pane should close when losing focus / clicking outside.\n */\n closeOnExit: PropTypes.bool,\n /**\n * User information.\n */\n userInfo: PropTypes.shape({\n label1: PropTypes.string,\n label2: PropTypes.string,\n }),\n};\n\nexport default withStyles(styles, { name: \"HvUserPreferences\" })(HvUserPreferences);\n"],"file":"UserPreferences.js"}
@@ -74,7 +74,7 @@ var Action = function Action(_ref) {
74
74
  }, others), icon, label);
75
75
  };
76
76
 
77
- Action.propTypes = {
77
+ process.env.NODE_ENV !== "production" ? Action.propTypes = {
78
78
  /**
79
79
  * Class names to be applied.
80
80
  */
@@ -114,7 +114,7 @@ Action.propTypes = {
114
114
  * Callback called when clicked.
115
115
  */
116
116
  onClick: _propTypes.default.func
117
- };
117
+ } : void 0;
118
118
 
119
119
  var _default = (0, _core.withStyles)(_styles.default, {
120
120
  name: "HvVerticalNavigationAction"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/VerticalNavigation/Actions/Action.js"],"names":["Action","className","classes","id","label","icon","onClick","others","handleKeyDown","event","KeyboardCodes","Enter","SpaceBar","action","noIcon","propTypes","PropTypes","string","shape","isRequired","node","func","styles","name"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,OAAsE;AAAA,MAAnEC,SAAmE,QAAnEA,SAAmE;AAAA,MAAxDC,OAAwD,QAAxDA,OAAwD;AAAA,MAA/CC,EAA+C,QAA/CA,EAA+C;AAAA,wBAA3CC,KAA2C;AAAA,MAA3CA,KAA2C,2BAAnC,EAAmC;AAAA,MAA/BC,IAA+B,QAA/BA,IAA+B;AAAA,MAAzBC,OAAyB,QAAzBA,OAAyB;AAAA,MAAbC,MAAa;AACnF,MAAMC,aAAa,GAAG,wBACpB,UAACC,KAAD,EAAW;AACT,QACEH,OAAO,IAAI,IAAX,IACC,CAAC,+BAAWG,KAAX,EAAkBC,6BAAcC,KAAhC,CAAD,IAA2C,CAAC,+BAAWF,KAAX,EAAkBC,6BAAcE,QAAhC,CAF/C,EAGE;AACA;AACD;;AAEDN,IAAAA,OAAO,CAACG,KAAD,CAAP;AACD,GAVmB,EAWpB,CAACH,OAAD,CAXoB,CAAtB;AAcA,sBACE,6BAAC,mBAAD;AACE,IAAA,EAAE,EAAE,kBAAMH,EAAN,EAAU,QAAV,CADN;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,IAAI,EAAC,QAHP;AAIE,IAAA,SAAS,EAAE,mBAAKF,SAAL,EAAgBC,OAAO,CAACW,MAAxB,EAAoD,CAACR,IAArD,IAAmCH,OAAO,CAACY,MAA3C,CAJb;AAKE,IAAA,QAAQ,EAAE,CALZ;AAME,IAAA,SAAS,EAAEN,aANb;AAOE,IAAA,OAAO,EAAEF;AAPX,KAQMC,MARN,GAUGF,IAVH,EAWGD,KAXH,CADF;AAeD,CA9BD;;AAgCAJ,MAAM,CAACe,SAAP,GAAmB;AACjB;AACF;AACA;AACEd,EAAAA,SAAS,EAAEe,mBAAUC,MAJJ;;AAKjB;AACF;AACA;AACEf,EAAAA,OAAO,EAAEc,mBAAUE,KAAV,CAAgB;AACvB;AACJ;AACA;AACIL,IAAAA,MAAM,EAAEG,mBAAUC,MAJK;;AAKvB;AACJ;AACA;AACIH,IAAAA,MAAM,EAAEE,mBAAUC;AARK,GAAhB,EASNE,UAjBc;;AAkBjB;AACF;AACA;AACEhB,EAAAA,EAAE,EAAEa,mBAAUC,MArBG;;AAsBjB;AACF;AACA;AACEb,EAAAA,KAAK,EAAEY,mBAAUC,MAzBA;;AA0BjB;AACF;AACA;AACEZ,EAAAA,IAAI,EAAEW,mBAAUI,IA7BC;;AA8BjB;AACF;AACA;AACEd,EAAAA,OAAO,EAAEU,mBAAUK;AAjCF,CAAnB;;eAoCe,sBAAWC,eAAX,EAAmB;AAAEC,EAAAA,IAAI,EAAE;AAAR,CAAnB,EAA2DvB,MAA3D,C","sourcesContent":["import React, { useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { KeyboardCodes, isKeypress } from \"../../utils/KeyboardUtils\";\nimport HvTypography from \"../../Typography\";\nimport { setId } from \"../../utils\";\nimport styles from \"./styles\";\n\nconst Action = ({ className, classes, id, label = \"\", icon, onClick, ...others }) => {\n const handleKeyDown = useCallback(\n (event) => {\n if (\n onClick == null ||\n (!isKeypress(event, KeyboardCodes.Enter) && !isKeypress(event, KeyboardCodes.SpaceBar))\n ) {\n return;\n }\n\n onClick(event);\n },\n [onClick]\n );\n\n return (\n <HvTypography\n id={setId(id, \"button\")}\n component=\"div\"\n role=\"button\"\n className={clsx(className, classes.action, { [classes.noIcon]: !icon })}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n onClick={onClick}\n {...others}\n >\n {icon}\n {label}\n </HvTypography>\n );\n};\n\nAction.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the component.\n */\n action: PropTypes.string,\n /**\n * Style applied when no icon is present.\n */\n noIcon: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the action.\n */\n id: PropTypes.string,\n /**\n * Visual label.\n */\n label: PropTypes.string,\n /**\n * Icon.\n */\n icon: PropTypes.node,\n /**\n * Callback called when clicked.\n */\n onClick: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationAction\" })(Action);\n"],"file":"Action.js"}
1
+ {"version":3,"sources":["../../../src/VerticalNavigation/Actions/Action.js"],"names":["Action","className","classes","id","label","icon","onClick","others","handleKeyDown","event","KeyboardCodes","Enter","SpaceBar","action","noIcon","propTypes","PropTypes","string","shape","isRequired","node","func","styles","name"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,OAAsE;AAAA,MAAnEC,SAAmE,QAAnEA,SAAmE;AAAA,MAAxDC,OAAwD,QAAxDA,OAAwD;AAAA,MAA/CC,EAA+C,QAA/CA,EAA+C;AAAA,wBAA3CC,KAA2C;AAAA,MAA3CA,KAA2C,2BAAnC,EAAmC;AAAA,MAA/BC,IAA+B,QAA/BA,IAA+B;AAAA,MAAzBC,OAAyB,QAAzBA,OAAyB;AAAA,MAAbC,MAAa;AACnF,MAAMC,aAAa,GAAG,wBACpB,UAACC,KAAD,EAAW;AACT,QACEH,OAAO,IAAI,IAAX,IACC,CAAC,+BAAWG,KAAX,EAAkBC,6BAAcC,KAAhC,CAAD,IAA2C,CAAC,+BAAWF,KAAX,EAAkBC,6BAAcE,QAAhC,CAF/C,EAGE;AACA;AACD;;AAEDN,IAAAA,OAAO,CAACG,KAAD,CAAP;AACD,GAVmB,EAWpB,CAACH,OAAD,CAXoB,CAAtB;AAcA,sBACE,6BAAC,mBAAD;AACE,IAAA,EAAE,EAAE,kBAAMH,EAAN,EAAU,QAAV,CADN;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,IAAI,EAAC,QAHP;AAIE,IAAA,SAAS,EAAE,mBAAKF,SAAL,EAAgBC,OAAO,CAACW,MAAxB,EAAoD,CAACR,IAArD,IAAmCH,OAAO,CAACY,MAA3C,CAJb;AAKE,IAAA,QAAQ,EAAE,CALZ;AAME,IAAA,SAAS,EAAEN,aANb;AAOE,IAAA,OAAO,EAAEF;AAPX,KAQMC,MARN,GAUGF,IAVH,EAWGD,KAXH,CADF;AAeD,CA9BD;;AAgCA,wCAAAJ,MAAM,CAACe,SAAP,GAAmB;AACjB;AACF;AACA;AACEd,EAAAA,SAAS,EAAEe,mBAAUC,MAJJ;;AAKjB;AACF;AACA;AACEf,EAAAA,OAAO,EAAEc,mBAAUE,KAAV,CAAgB;AACvB;AACJ;AACA;AACIL,IAAAA,MAAM,EAAEG,mBAAUC,MAJK;;AAKvB;AACJ;AACA;AACIH,IAAAA,MAAM,EAAEE,mBAAUC;AARK,GAAhB,EASNE,UAjBc;;AAkBjB;AACF;AACA;AACEhB,EAAAA,EAAE,EAAEa,mBAAUC,MArBG;;AAsBjB;AACF;AACA;AACEb,EAAAA,KAAK,EAAEY,mBAAUC,MAzBA;;AA0BjB;AACF;AACA;AACEZ,EAAAA,IAAI,EAAEW,mBAAUI,IA7BC;;AA8BjB;AACF;AACA;AACEd,EAAAA,OAAO,EAAEU,mBAAUK;AAjCF,CAAnB;;eAoCe,sBAAWC,eAAX,EAAmB;AAAEC,EAAAA,IAAI,EAAE;AAAR,CAAnB,EAA2DvB,MAA3D,C","sourcesContent":["import React, { useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { KeyboardCodes, isKeypress } from \"../../utils/KeyboardUtils\";\nimport HvTypography from \"../../Typography\";\nimport { setId } from \"../../utils\";\nimport styles from \"./styles\";\n\nconst Action = ({ className, classes, id, label = \"\", icon, onClick, ...others }) => {\n const handleKeyDown = useCallback(\n (event) => {\n if (\n onClick == null ||\n (!isKeypress(event, KeyboardCodes.Enter) && !isKeypress(event, KeyboardCodes.SpaceBar))\n ) {\n return;\n }\n\n onClick(event);\n },\n [onClick]\n );\n\n return (\n <HvTypography\n id={setId(id, \"button\")}\n component=\"div\"\n role=\"button\"\n className={clsx(className, classes.action, { [classes.noIcon]: !icon })}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n onClick={onClick}\n {...others}\n >\n {icon}\n {label}\n </HvTypography>\n );\n};\n\nAction.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the component.\n */\n action: PropTypes.string,\n /**\n * Style applied when no icon is present.\n */\n noIcon: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the action.\n */\n id: PropTypes.string,\n /**\n * Visual label.\n */\n label: PropTypes.string,\n /**\n * Icon.\n */\n icon: PropTypes.node,\n /**\n * Callback called when clicked.\n */\n onClick: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationAction\" })(Action);\n"],"file":"Action.js"}
@@ -35,7 +35,7 @@ var Actions = function Actions(_ref) {
35
35
  }, others), children);
36
36
  };
37
37
 
38
- Actions.propTypes = {
38
+ process.env.NODE_ENV !== "production" ? Actions.propTypes = {
39
39
  /**
40
40
  * Class names to be applied.
41
41
  */
@@ -60,7 +60,7 @@ Actions.propTypes = {
60
60
  * Node to be rendered
61
61
  */
62
62
  children: _propTypes.default.node
63
- };
63
+ } : void 0;
64
64
 
65
65
  var _default = (0, _core.withStyles)(_styles.default, {
66
66
  name: "HvVerticalNavigationActions"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/VerticalNavigation/Actions/Actions.js"],"names":["Actions","className","classes","id","children","others","root","propTypes","PropTypes","string","shape","isRequired","node","styles","name"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAqD;AAAA,MAAlDC,SAAkD,QAAlDA,SAAkD;AAAA,MAAvCC,OAAuC,QAAvCA,OAAuC;AAAA,MAA9BC,EAA8B,QAA9BA,EAA8B;AAAA,MAA1BC,QAA0B,QAA1BA,QAA0B;AAAA,MAAbC,MAAa;AACnE,sBACE;AAAK,IAAA,EAAE,EAAEF,EAAT;AAAa,IAAA,SAAS,EAAE,mBAAKF,SAAL,EAAgBC,OAAO,CAACI,IAAxB;AAAxB,KAA2DD,MAA3D,GACGD,QADH,CADF;AAKD,CAND;;AAQAJ,OAAO,CAACO,SAAR,GAAoB;AAClB;AACF;AACA;AACEN,EAAAA,SAAS,EAAEO,mBAAUC,MAJH;;AAKlB;AACF;AACA;AACEP,EAAAA,OAAO,EAAEM,mBAAUE,KAAV,CAAgB;AACvB;AACJ;AACA;AACIJ,IAAAA,IAAI,EAAEE,mBAAUC;AAJO,GAAhB,EAKNE,UAbe;;AAclB;AACF;AACA;AACER,EAAAA,EAAE,EAAEK,mBAAUC,MAjBI;;AAkBlB;AACF;AACA;AACEL,EAAAA,QAAQ,EAAEI,mBAAUI;AArBF,CAApB;;eAwBe,sBAAWC,eAAX,EAAmB;AAAEC,EAAAA,IAAI,EAAE;AAAR,CAAnB,EAA4Dd,OAA5D,C","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport styles from \"./styles\";\n\nconst Actions = ({ className, classes, id, children, ...others }) => {\n return (\n <div id={id} className={clsx(className, classes.root)} {...others}>\n {children}\n </div>\n );\n};\n\nActions.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the component.\n */\n root: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the actions container.\n */\n id: PropTypes.string,\n /**\n * Node to be rendered\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationActions\" })(Actions);\n"],"file":"Actions.js"}
1
+ {"version":3,"sources":["../../../src/VerticalNavigation/Actions/Actions.js"],"names":["Actions","className","classes","id","children","others","root","propTypes","PropTypes","string","shape","isRequired","node","styles","name"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAAqD;AAAA,MAAlDC,SAAkD,QAAlDA,SAAkD;AAAA,MAAvCC,OAAuC,QAAvCA,OAAuC;AAAA,MAA9BC,EAA8B,QAA9BA,EAA8B;AAAA,MAA1BC,QAA0B,QAA1BA,QAA0B;AAAA,MAAbC,MAAa;AACnE,sBACE;AAAK,IAAA,EAAE,EAAEF,EAAT;AAAa,IAAA,SAAS,EAAE,mBAAKF,SAAL,EAAgBC,OAAO,CAACI,IAAxB;AAAxB,KAA2DD,MAA3D,GACGD,QADH,CADF;AAKD,CAND;;AAQA,wCAAAJ,OAAO,CAACO,SAAR,GAAoB;AAClB;AACF;AACA;AACEN,EAAAA,SAAS,EAAEO,mBAAUC,MAJH;;AAKlB;AACF;AACA;AACEP,EAAAA,OAAO,EAAEM,mBAAUE,KAAV,CAAgB;AACvB;AACJ;AACA;AACIJ,IAAAA,IAAI,EAAEE,mBAAUC;AAJO,GAAhB,EAKNE,UAbe;;AAclB;AACF;AACA;AACER,EAAAA,EAAE,EAAEK,mBAAUC,MAjBI;;AAkBlB;AACF;AACA;AACEL,EAAAA,QAAQ,EAAEI,mBAAUI;AArBF,CAApB;;eAwBe,sBAAWC,eAAX,EAAmB;AAAEC,EAAAA,IAAI,EAAE;AAAR,CAAnB,EAA4Dd,OAA5D,C","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport styles from \"./styles\";\n\nconst Actions = ({ className, classes, id, children, ...others }) => {\n return (\n <div id={id} className={clsx(className, classes.root)} {...others}>\n {children}\n </div>\n );\n};\n\nActions.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the component.\n */\n root: PropTypes.string,\n }).isRequired,\n /**\n * Id to be applied to the actions container.\n */\n id: PropTypes.string,\n /**\n * Node to be rendered\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationActions\" })(Actions);\n"],"file":"Actions.js"}
@@ -219,7 +219,7 @@ var Navigation = function Navigation(_ref) {
219
219
  }, children));
220
220
  };
221
221
 
222
- Navigation.propTypes = {
222
+ process.env.NODE_ENV !== "production" ? Navigation.propTypes = {
223
223
  /**
224
224
  * Id to be applied to the root node.
225
225
  */
@@ -328,7 +328,7 @@ Navigation.propTypes = {
328
328
  * @deprecated Use directly the `aria-label` property instead.
329
329
  */
330
330
  label: (0, _core.deprecatedPropType)(_propTypes.default.string)
331
- };
331
+ } : void 0;
332
332
 
333
333
  var _default = (0, _core.withStyles)(_styles.default, {
334
334
  name: "HvVerticalNavigationNavigation"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/VerticalNavigation/Navigation/Navigation.js"],"names":["createListHierarchy","items","id","classes","map","item","itemId","itemLabel","label","icon","children","data","selectable","ItemText","listItem","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","Navigation","className","mode","collapsible","expandedProp","expanded","defaultExpanded","onToggle","selectedProp","selected","defaultSelected","onChange","onClick","others","setSelected","slice","setExpanded","handleChange","event","selectedId","selectedItem","handleToggle","newExpanded","root","list","propTypes","PropTypes","string","shape","isRequired","oneOf","bool","func","arrayOf","oneOfType","node","array","styles","name"],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { deprecatedPropType, withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport TreeView, { TreeViewItem } from \"../TreeView\";\nimport { setId, useControlled } from \"../../utils\";\nimport styles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst createListHierarchy = (items, id, classes) =>\n items.map((item) => {\n const { id: itemId, label: itemLabel, icon, data: children, selectable } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n return (\n <TreeViewItem\n id={setId(id, itemId)}\n className={classes.listItem}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n >\n {children ? createListHierarchy(children, id, classes) : undefined}\n </TreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter((item) => item.data != null && item.data.length > 0);\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path = [];\n\n if (data != null && data.length > 0) {\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nconst Navigation = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n label,\n onClick,\n\n ...others\n}) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n setSelected(selectedId);\n\n if (onChange) {\n onChange(event, selectedItem);\n }\n\n // deprecated\n if (onClick) {\n onClick(event, selectedItem);\n }\n },\n [onChange, onClick, setSelected]\n );\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n\n // deprecated\n if (onClick) {\n onClick(event);\n }\n },\n [onClick, onToggle, setExpanded]\n );\n\n const children = useMemo(\n () => data && createListHierarchy(data, id, classes),\n [classes, data, id]\n );\n\n return (\n <nav id={id} className={clsx(className, classes.root)} aria-label={label} {...others}>\n <TreeView\n id={setId(id, \"tree\")}\n className={classes.list}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {children}\n </TreeView>\n </nav>\n );\n};\n\nNavigation.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root element.\n */\n root: PropTypes.string,\n /**\n * Style applied to the list.\n */\n list: PropTypes.string,\n /**\n * Style applied to the list items.\n */\n listItem: PropTypes.string,\n }).isRequired,\n\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode: PropTypes.oneOf([\"treeview\", \"navigation\"]),\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible: PropTypes.bool,\n\n /**\n * The ID of the selected page.\n */\n selected: PropTypes.string,\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected: PropTypes.string,\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange: PropTypes.func,\n\n /**\n * Expanded nodes' ids.\n */\n expanded: PropTypes.arrayOf(PropTypes.string),\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.bool]),\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle: PropTypes.func,\n\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * data - sub-menu items\n */\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.node,\n data: PropTypes.array,\n })\n ).isRequired,\n\n /**\n * Callback triggered when any item is clicked.\n *\n * @deprecated use `onChange` for selection and `onToggle` for node expansion/collapse.\n */\n onClick: deprecatedPropType(PropTypes.func),\n /**\n * The root element (nav) aria label.\n *\n * @deprecated Use directly the `aria-label` property instead.\n */\n label: deprecatedPropType(PropTypes.string),\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationNavigation\" })(Navigation);\n"],"file":"Navigation.js"}
1
+ {"version":3,"sources":["../../../src/VerticalNavigation/Navigation/Navigation.js"],"names":["createListHierarchy","items","id","classes","map","item","itemId","itemLabel","label","icon","children","data","selectable","ItemText","listItem","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","Navigation","className","mode","collapsible","expandedProp","expanded","defaultExpanded","onToggle","selectedProp","selected","defaultSelected","onChange","onClick","others","setSelected","slice","setExpanded","handleChange","event","selectedId","selectedItem","handleToggle","newExpanded","root","list","propTypes","PropTypes","string","shape","isRequired","oneOf","bool","func","arrayOf","oneOfType","node","array","styles","name"],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { deprecatedPropType, withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport TreeView, { TreeViewItem } from \"../TreeView\";\nimport { setId, useControlled } from \"../../utils\";\nimport styles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst createListHierarchy = (items, id, classes) =>\n items.map((item) => {\n const { id: itemId, label: itemLabel, icon, data: children, selectable } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n return (\n <TreeViewItem\n id={setId(id, itemId)}\n className={classes.listItem}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n >\n {children ? createListHierarchy(children, id, classes) : undefined}\n </TreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter((item) => item.data != null && item.data.length > 0);\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path = [];\n\n if (data != null && data.length > 0) {\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nconst Navigation = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n label,\n onClick,\n\n ...others\n}) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n setSelected(selectedId);\n\n if (onChange) {\n onChange(event, selectedItem);\n }\n\n // deprecated\n if (onClick) {\n onClick(event, selectedItem);\n }\n },\n [onChange, onClick, setSelected]\n );\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n\n // deprecated\n if (onClick) {\n onClick(event);\n }\n },\n [onClick, onToggle, setExpanded]\n );\n\n const children = useMemo(\n () => data && createListHierarchy(data, id, classes),\n [classes, data, id]\n );\n\n return (\n <nav id={id} className={clsx(className, classes.root)} aria-label={label} {...others}>\n <TreeView\n id={setId(id, \"tree\")}\n className={classes.list}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {children}\n </TreeView>\n </nav>\n );\n};\n\nNavigation.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root element.\n */\n root: PropTypes.string,\n /**\n * Style applied to the list.\n */\n list: PropTypes.string,\n /**\n * Style applied to the list items.\n */\n listItem: PropTypes.string,\n }).isRequired,\n\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode: PropTypes.oneOf([\"treeview\", \"navigation\"]),\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible: PropTypes.bool,\n\n /**\n * The ID of the selected page.\n */\n selected: PropTypes.string,\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected: PropTypes.string,\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange: PropTypes.func,\n\n /**\n * Expanded nodes' ids.\n */\n expanded: PropTypes.arrayOf(PropTypes.string),\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.bool]),\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle: PropTypes.func,\n\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * data - sub-menu items\n */\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.node,\n data: PropTypes.array,\n })\n ).isRequired,\n\n /**\n * Callback triggered when any item is clicked.\n *\n * @deprecated use `onChange` for selection and `onToggle` for node expansion/collapse.\n */\n onClick: deprecatedPropType(PropTypes.func),\n /**\n * The root element (nav) aria label.\n *\n * @deprecated Use directly the `aria-label` property instead.\n */\n label: deprecatedPropType(PropTypes.string),\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationNavigation\" })(Navigation);\n"],"file":"Navigation.js"}
@@ -932,7 +932,7 @@ var TreeView = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
932
932
  }, others), children))));
933
933
  });
934
934
 
935
- TreeView.propTypes = {
935
+ process.env.NODE_ENV !== "production" ? TreeView.propTypes = {
936
936
  /**
937
937
  * Id to be applied to the root node.
938
938
  */
@@ -1042,7 +1042,7 @@ TreeView.propTypes = {
1042
1042
  * The content of the component.
1043
1043
  */
1044
1044
  children: _propTypes.default.node
1045
- };
1045
+ } : void 0;
1046
1046
 
1047
1047
  var _default = (0, _core.withStyles)(_styles.default, {
1048
1048
  name: "HvVerticalNavigationTreeView"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/VerticalNavigation/TreeView/TreeView.js"],"names":["isPrintableCharacter","string","length","match","findNextFirstChar","firstChars","startIndex","char","i","noopSelection","TreeView","React","forwardRef","props","ref","idProp","id","className","classes","mode","collapsible","expandedProp","expanded","defaultExpanded","onToggle","selectable","multiSelect","multiSelectProp","selectedProp","selected","defaultSelected","onChange","disabledItemsFocusable","onFocus","onBlur","onKeyDown","children","others","treeviewMode","treeId","treeRef","handleRef","setExpandedState","setSelectedState","focusedNodeId","setFocusedNodeId","nodeMap","firstCharMap","isExpanded","Array","isArray","indexOf","isExpandable","current","expandable","isSelected","isSelectable","isDisabled","node","disabled","parentId","isFocused","getChildrenIds","Object","keys","map","key","filter","sort","a","b","index","child","getNavigableChildrenIds","childrenIds","getNextNode","siblings","nextSibling","getPreviousNode","nodeIndex","currentNode","pop","getLastNode","lastNode","getFirstNode","getParent","findOrderInTremauxTree","nodeAId","nodeBId","nodeA","nodeB","aFamily","bFamily","aAncestor","bAncestor","aAncestorIsCommon","bAncestorIsCommon","continueA","continueB","push","commonAncestor","ancestorFamily","aSide","bSide","getNodesInRange","first","last","nodes","focus","event","focusNextNode","focusPreviousNode","focusFirstNode","focusLastNode","focusByFirstCharacter","start","lowercaseChar","toLowerCase","firstCharIds","forEach","nodeId","firstChar","visible","shouldBeSkipped","toggleExpansion","value","newExpanded","concat","expandAllSiblings","diff","lastSelectedNode","lastSelectionWasRange","currentRangeSelection","handleRangeArrowSelect","base","slice","next","payload","handleRangeSelect","end","range","newSelected","handleMultipleSelect","handleSingleSelect","nodeValue","selectNode","multiple","selectRange","stacked","rangeSelectToFirst","rangeSelectToLast","selectNextNode","selectPreviousNode","selectAllNodes","registerNode","idAttribute","nodeSelectable","nodeOnFocus","unregisterNode","newMap","oldFocusedNodeId","ownerDocument","document","activeElement","mapFirstChar","unMapFirstChar","handleNextArrow","handlePreviousArrow","parent","handleKeyDown","flag","altKey","currentTarget","target","ctrlPressed","ctrlKey","metaKey","shiftKey","stopPropagation","preventDefault","handleFocus","firstSelected","handleBlur","activeDescendant","treeControlContext","treeStateContext","root","role","tabIndex","propTypes","PropTypes","shape","isRequired","oneOf","bool","oneOfType","arrayOf","func","styles","name"],"mappings":"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","sourcesContent":["import React, { useMemo, useRef, useState, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { withStyles } from \"@material-ui/core\";\n\nimport { useControlled, useUniqueId, useForkRef } from \"../..\";\n\nimport { TreeViewControlContext, TreeViewStateContext } from \"./TreeViewContexts\";\nimport { DescendantProvider } from \"./descendants\";\n\nimport styles from \"./styles\";\n\nfunction isPrintableCharacter(string) {\n return string && string.length === 1 && string.match(/\\S/);\n}\n\nfunction findNextFirstChar(firstChars, startIndex, char) {\n for (let i = startIndex; i < firstChars.length; i += 1) {\n if (char === firstChars[i]) {\n return i;\n }\n }\n return -1;\n}\n\nfunction noopSelection() {\n return false;\n}\n\nconst TreeView = React.forwardRef((props, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n mode = \"treeview\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded = [],\n onToggle,\n\n selectable = false,\n multiSelect: multiSelectProp = false,\n selected: selectedProp,\n defaultSelected = [],\n onChange,\n\n disabledItemsFocusable = false,\n\n onFocus,\n onBlur,\n onKeyDown,\n\n children,\n\n ...others\n } = props;\n\n const treeviewMode = mode === \"treeview\";\n const multiSelect = selectable && multiSelectProp;\n\n const treeId = useUniqueId(idProp, \"hvtreeview\");\n const treeRef = useRef(null);\n const handleRef = useForkRef(treeRef, ref);\n\n const [expanded, setExpandedState] = useControlled(expandedProp, defaultExpanded);\n\n const [selected, setSelectedState] = useControlled(selectedProp, defaultSelected);\n\n const [focusedNodeId, setFocusedNodeId] = useState(null);\n\n const nodeMap = useRef({});\n\n const firstCharMap = useRef({});\n\n /*\n * Status Helpers\n */\n const isExpanded = useCallback(\n (id) => !collapsible || (Array.isArray(expanded) ? expanded.indexOf(id) !== -1 : false),\n [collapsible, expanded]\n );\n\n const isExpandable = useCallback(\n (id) => collapsible && nodeMap.current[id] && nodeMap.current[id].expandable,\n [collapsible]\n );\n\n const isSelected = useCallback(\n (id) => selectable && (Array.isArray(selected) ? selected.indexOf(id) !== -1 : selected === id),\n [selectable, selected]\n );\n\n const isSelectable = useCallback(\n (id) => selectable && nodeMap.current[id] && nodeMap.current[id].selectable,\n [selectable]\n );\n\n const isDisabled = useCallback((id) => {\n let node = nodeMap.current[id];\n\n // This can be called before the node has been added to the node map.\n if (!node) {\n return false;\n }\n\n if (node.disabled) {\n return true;\n }\n\n while (node.parentId != null) {\n node = nodeMap.current[node.parentId];\n if (node.disabled) {\n return true;\n }\n }\n\n return false;\n }, []);\n\n const isFocused = useCallback((id) => focusedNodeId === id, [focusedNodeId]);\n\n /*\n * Child Helpers\n */\n const getChildrenIds = (id) =>\n Object.keys(nodeMap.current)\n .map((key) => {\n return nodeMap.current[key];\n })\n .filter((node) => node.parentId === id)\n .sort((a, b) => a.index - b.index)\n .map((child) => child.id);\n\n const getNavigableChildrenIds = useCallback(\n (id) => {\n let childrenIds = getChildrenIds(id);\n\n if (!disabledItemsFocusable) {\n childrenIds = childrenIds.filter((node) => !isDisabled(node));\n }\n return childrenIds;\n },\n [disabledItemsFocusable, isDisabled]\n );\n\n /*\n * Node Helpers\n */\n const getNextNode = useCallback(\n (id) => {\n // If expanded get first child\n if (isExpanded(id) && getNavigableChildrenIds(id).length > 0) {\n return getNavigableChildrenIds(id)[0];\n }\n\n let node = nodeMap.current[id];\n while (node != null) {\n // Try to get next sibling\n const siblings = getNavigableChildrenIds(node.parentId);\n const nextSibling = siblings[siblings.indexOf(node.id) + 1];\n\n if (nextSibling) {\n return nextSibling;\n }\n\n // If the sibling does not exist, go up a level to the parent and try again.\n node = nodeMap.current[node.parentId];\n }\n\n return null;\n },\n [getNavigableChildrenIds, isExpanded]\n );\n\n const getPreviousNode = (id) => {\n const node = nodeMap.current[id];\n const siblings = getNavigableChildrenIds(node.parentId);\n const nodeIndex = siblings.indexOf(id);\n\n if (nodeIndex === 0) {\n return node.parentId;\n }\n\n let currentNode = siblings[nodeIndex - 1];\n while (isExpanded(currentNode) && getNavigableChildrenIds(currentNode).length > 0) {\n currentNode = getNavigableChildrenIds(currentNode).pop();\n }\n\n return currentNode;\n };\n\n const getLastNode = () => {\n let lastNode = getNavigableChildrenIds(null).pop();\n\n while (isExpanded(lastNode)) {\n lastNode = getNavigableChildrenIds(lastNode).pop();\n }\n return lastNode;\n };\n const getFirstNode = () => getNavigableChildrenIds(null)[0];\n const getParent = (id) => nodeMap.current[id].parentId;\n\n /**\n * This is used to determine the start and end of a selection range so\n * we can get the nodes between the two border nodes.\n *\n * It finds the nodes' common ancestor using\n * a naive implementation of a lowest common ancestor algorithm\n * (https://en.wikipedia.org/wiki/Lowest_common_ancestor).\n * Then compares the ancestor's 2 children that are ancestors of nodeA and NodeB\n * so we can compare their indexes to work out which node comes first in a depth first search.\n * (https://en.wikipedia.org/wiki/Depth-first_search)\n *\n * Another way to put it is which node is shallower in a trémaux tree\n * https://en.wikipedia.org/wiki/Tr%C3%A9maux_tree\n */\n const findOrderInTremauxTree = useCallback((nodeAId, nodeBId) => {\n if (nodeAId === nodeBId) {\n return [nodeAId, nodeBId];\n }\n\n const nodeA = nodeMap.current[nodeAId];\n const nodeB = nodeMap.current[nodeBId];\n\n if (nodeA.parentId === nodeB.id || nodeB.parentId === nodeA.id) {\n return nodeB.parentId === nodeA.id ? [nodeA.id, nodeB.id] : [nodeB.id, nodeA.id];\n }\n\n const aFamily = [nodeA.id];\n const bFamily = [nodeB.id];\n\n let aAncestor = nodeA.parentId;\n let bAncestor = nodeB.parentId;\n\n let aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;\n let bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;\n\n let continueA = true;\n let continueB = true;\n\n while (!bAncestorIsCommon && !aAncestorIsCommon) {\n if (continueA) {\n aFamily.push(aAncestor);\n aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;\n continueA = aAncestor !== null;\n if (!aAncestorIsCommon && continueA) {\n aAncestor = nodeMap.current[aAncestor].parentId;\n }\n }\n\n if (continueB && !aAncestorIsCommon) {\n bFamily.push(bAncestor);\n bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;\n continueB = bAncestor !== null;\n if (!bAncestorIsCommon && continueB) {\n bAncestor = nodeMap.current[bAncestor].parentId;\n }\n }\n }\n\n const commonAncestor = aAncestorIsCommon ? aAncestor : bAncestor;\n const ancestorFamily = getChildrenIds(commonAncestor);\n\n const aSide = aFamily[aFamily.indexOf(commonAncestor) - 1];\n const bSide = bFamily[bFamily.indexOf(commonAncestor) - 1];\n\n return ancestorFamily.indexOf(aSide) < ancestorFamily.indexOf(bSide)\n ? [nodeAId, nodeBId]\n : [nodeBId, nodeAId];\n }, []);\n\n const getNodesInRange = useCallback(\n (nodeA, nodeB) => {\n const [first, last] = findOrderInTremauxTree(nodeA, nodeB);\n const nodes = [first];\n\n let current = first;\n\n while (current !== last) {\n current = getNextNode(current);\n nodes.push(current);\n }\n\n return nodes;\n },\n [findOrderInTremauxTree, getNextNode]\n );\n\n /*\n * Focus Helpers\n */\n const focus = (event, id) => {\n if (id) {\n setFocusedNodeId(id);\n\n if (nodeMap.current[id]?.onFocus) {\n nodeMap.current[id].onFocus(event);\n }\n }\n };\n\n const focusNextNode = (event, id) => focus(event, getNextNode(id));\n const focusPreviousNode = (event, id) => focus(event, getPreviousNode(id));\n const focusFirstNode = (event) => focus(event, getFirstNode());\n const focusLastNode = (event) => focus(event, getLastNode());\n\n const focusByFirstCharacter = (event, id, char) => {\n let start;\n let index;\n const lowercaseChar = char.toLowerCase();\n\n const firstCharIds = [];\n const firstChars = [];\n // This really only works since the ids are strings\n Object.keys(firstCharMap.current).forEach((nodeId) => {\n const firstChar = firstCharMap.current[nodeId];\n const map = nodeMap.current[nodeId];\n const visible = map.parentId ? isExpanded(map.parentId) : true;\n const shouldBeSkipped = disabledItemsFocusable ? false : isDisabled(nodeId);\n\n if (visible && !shouldBeSkipped) {\n firstCharIds.push(nodeId);\n firstChars.push(firstChar);\n }\n });\n\n // Get start index for search based on position of currentItem\n start = firstCharIds.indexOf(id) + 1;\n if (start >= firstCharIds.length) {\n start = 0;\n }\n\n // Check remaining slots in the menu\n index = findNextFirstChar(firstChars, start, lowercaseChar);\n\n // If not found in remaining slots, check from beginning\n if (index === -1) {\n index = findNextFirstChar(firstChars, 0, lowercaseChar);\n }\n\n // If match was found...\n if (index > -1) {\n focus(event, firstCharIds[index]);\n }\n };\n\n /*\n * Expansion Helpers\n */\n const toggleExpansion = useCallback(\n (event, value = focusedNodeId) => {\n let newExpanded;\n\n if (expanded.indexOf(value) !== -1) {\n newExpanded = expanded.filter((id) => id !== value);\n } else {\n newExpanded = [value].concat(expanded);\n }\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n\n setExpandedState(newExpanded);\n },\n [expanded, focusedNodeId, onToggle, setExpandedState]\n );\n\n const expandAllSiblings = (event, id) => {\n const map = nodeMap.current[id];\n const siblings = getChildrenIds(map.parentId);\n\n const diff = siblings.filter((child) => isExpandable(child) && !isExpanded(child));\n\n const newExpanded = expanded.concat(diff);\n\n if (diff.length > 0) {\n setExpandedState(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n }\n };\n\n /*\n * Selection Helpers\n */\n const lastSelectedNode = useRef(null);\n const lastSelectionWasRange = useRef(false);\n const currentRangeSelection = useRef([]);\n\n const handleRangeArrowSelect = useCallback(\n (event, nodes) => {\n let base = selected.slice();\n const { start, next, current } = nodes;\n\n if (!next || !current) {\n return;\n }\n\n if (currentRangeSelection.current.indexOf(current) === -1) {\n currentRangeSelection.current = [];\n }\n\n if (lastSelectionWasRange.current) {\n if (currentRangeSelection.current.indexOf(next) !== -1) {\n base = base.filter((id) => id === start || id !== current);\n currentRangeSelection.current = currentRangeSelection.current.filter(\n (id) => id === start || id !== current\n );\n } else {\n base.push(next);\n currentRangeSelection.current.push(next);\n }\n } else {\n base.push(next);\n currentRangeSelection.current.push(current, next);\n }\n\n if (onChange) {\n onChange(\n event,\n base,\n base.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(base);\n },\n [onChange, selected, setSelectedState]\n );\n\n const handleRangeSelect = useCallback(\n (event, nodes) => {\n let base = selected.slice();\n const { start, end } = nodes;\n // If last selection was a range selection ignore nodes that were selected.\n if (lastSelectionWasRange.current) {\n base = base.filter((id) => currentRangeSelection.current.indexOf(id) === -1);\n }\n\n let range = getNodesInRange(start, end);\n range = range.filter((node) => !isDisabled(node));\n currentRangeSelection.current = range;\n let newSelected = base.concat(range);\n newSelected = newSelected.filter((id, i) => newSelected.indexOf(id) === i);\n\n if (onChange) {\n onChange(\n event,\n newSelected,\n newSelected.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(newSelected);\n },\n [getNodesInRange, isDisabled, onChange, selected, setSelectedState]\n );\n\n const handleMultipleSelect = useCallback(\n (event, value) => {\n let newSelected;\n if (selected.indexOf(value) !== -1) {\n newSelected = selected.filter((id) => id !== value);\n } else {\n newSelected = [value].concat(selected);\n }\n\n if (onChange) {\n onChange(\n event,\n newSelected,\n newSelected.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(newSelected);\n },\n [onChange, selected, setSelectedState]\n );\n\n const handleSingleSelect = useCallback(\n (event, value) => {\n const newSelected = multiSelect ? [value] : value;\n if (onChange) {\n const nodeValue = nodeMap.current[newSelected]?.payload;\n onChange(event, newSelected, multiSelect ? [nodeValue] : nodeValue);\n }\n\n setSelectedState(newSelected);\n },\n [multiSelect, onChange, setSelectedState]\n );\n\n const selectNode = useCallback(\n (event, id, multiple = false) => {\n if (id && isSelectable(id)) {\n if (multiple) {\n handleMultipleSelect(event, id);\n } else {\n handleSingleSelect(event, id);\n }\n lastSelectedNode.current = id;\n lastSelectionWasRange.current = false;\n currentRangeSelection.current = [];\n\n return true;\n }\n return false;\n },\n [handleMultipleSelect, handleSingleSelect, isSelectable]\n );\n\n const selectRange = useCallback(\n (event, nodes, stacked = false) => {\n const { start = lastSelectedNode.current, end, current } = nodes;\n if (stacked) {\n handleRangeArrowSelect(event, { start, next: end, current });\n } else if (start != null && end != null) {\n handleRangeSelect(event, { start, end });\n }\n lastSelectionWasRange.current = true;\n },\n [handleRangeArrowSelect, handleRangeSelect]\n );\n\n const rangeSelectToFirst = (event, id) => {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n const start = lastSelectionWasRange.current ? lastSelectedNode.current : id;\n\n selectRange(event, {\n start,\n end: getFirstNode(),\n });\n };\n\n const rangeSelectToLast = (event, id) => {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n const start = lastSelectionWasRange.current ? lastSelectedNode.current : id;\n\n selectRange(event, {\n start,\n end: getLastNode(),\n });\n };\n\n const selectNextNode = (event, id) => {\n if (!isDisabled(getNextNode(id))) {\n selectRange(\n event,\n {\n end: getNextNode(id),\n current: id,\n },\n true\n );\n }\n };\n\n const selectPreviousNode = (event, id) => {\n if (!isDisabled(getPreviousNode(id))) {\n selectRange(\n event,\n {\n end: getPreviousNode(id),\n current: id,\n },\n true\n );\n }\n };\n\n const selectAllNodes = (event) => {\n selectRange(event, { start: getFirstNode(), end: getLastNode() });\n };\n\n /*\n * Mapping Helpers\n */\n const registerNode = useCallback((node) => {\n const {\n id,\n index,\n parentId,\n expandable,\n idAttribute,\n disabled,\n selectable: nodeSelectable,\n onFocus: nodeOnFocus,\n payload,\n } = node;\n\n nodeMap.current[id] = {\n id,\n index,\n parentId,\n expandable,\n idAttribute,\n disabled,\n selectable: nodeSelectable,\n onFocus: nodeOnFocus,\n payload,\n };\n }, []);\n\n const unregisterNode = useCallback((id) => {\n const newMap = { ...nodeMap.current };\n delete newMap[id];\n nodeMap.current = newMap;\n\n setFocusedNodeId((oldFocusedNodeId) => {\n if (\n oldFocusedNodeId === id &&\n treeRef.current === (treeRef.current.ownerDocument || document).activeElement\n ) {\n return getChildrenIds(null)[0];\n }\n return oldFocusedNodeId;\n });\n }, []);\n\n const mapFirstChar = useCallback((id, firstChar) => {\n firstCharMap.current[id] = firstChar;\n }, []);\n\n const unMapFirstChar = useCallback((id) => {\n const newMap = { ...firstCharMap.current };\n delete newMap[id];\n firstCharMap.current = newMap;\n }, []);\n\n /**\n * Event handlers and Navigation\n */\n const handleNextArrow = (event) => {\n if (isExpandable(focusedNodeId)) {\n if (isExpanded(focusedNodeId)) {\n focusNextNode(event, focusedNodeId);\n } else if (!isDisabled(focusedNodeId)) {\n toggleExpansion(event);\n }\n }\n return true;\n };\n\n const handlePreviousArrow = (event) => {\n if (isExpanded(focusedNodeId) && !isDisabled(focusedNodeId)) {\n toggleExpansion(event, focusedNodeId);\n return true;\n }\n\n const parent = getParent(focusedNodeId);\n if (parent) {\n focus(event, parent);\n return true;\n }\n return false;\n };\n\n const handleKeyDown = (event) => {\n let flag = false;\n const { key } = event;\n\n // If the tree is empty there will be no focused node\n if (event.altKey || event.currentTarget !== event.target || !focusedNodeId) {\n return;\n }\n\n const ctrlPressed = event.ctrlKey || event.metaKey;\n switch (key) {\n case \" \":\n if (isSelectable(focusedNodeId) && !isDisabled(focusedNodeId)) {\n if (multiSelect && event.shiftKey) {\n selectRange(event, { end: focusedNodeId });\n flag = true;\n } else if (multiSelect) {\n flag = selectNode(event, focusedNodeId, true);\n } else {\n flag = selectNode(event, focusedNodeId);\n }\n }\n event.stopPropagation();\n break;\n case \"Enter\":\n if (!isDisabled(focusedNodeId)) {\n if (isExpandable(focusedNodeId)) {\n toggleExpansion(event);\n flag = true;\n } else if (isSelectable(focusedNodeId)) {\n if (multiSelect && event.shiftKey) {\n selectRange(event, { end: focusedNodeId });\n flag = true;\n } else if (multiSelect) {\n flag = selectNode(event, focusedNodeId, true);\n } else {\n flag = selectNode(event, focusedNodeId);\n }\n }\n }\n event.stopPropagation();\n break;\n case \"ArrowDown\":\n if (multiSelect && event.shiftKey) {\n selectNextNode(event, focusedNodeId);\n }\n focusNextNode(event, focusedNodeId);\n flag = true;\n break;\n case \"ArrowUp\":\n if (multiSelect && event.shiftKey) {\n selectPreviousNode(event, focusedNodeId);\n }\n focusPreviousNode(event, focusedNodeId);\n flag = true;\n break;\n case \"ArrowRight\":\n flag = handleNextArrow(event);\n break;\n case \"ArrowLeft\":\n flag = handlePreviousArrow(event);\n break;\n case \"Home\":\n if (multiSelect && ctrlPressed && event.shiftKey && !isDisabled(focusedNodeId)) {\n rangeSelectToFirst(event, focusedNodeId);\n }\n focusFirstNode(event);\n flag = true;\n break;\n case \"End\":\n if (multiSelect && ctrlPressed && event.shiftKey && !isDisabled(focusedNodeId)) {\n rangeSelectToLast(event, focusedNodeId);\n }\n focusLastNode(event);\n flag = true;\n break;\n default:\n if (key === \"*\") {\n expandAllSiblings(event, focusedNodeId);\n flag = true;\n } else if (multiSelect && ctrlPressed && key.toLowerCase() === \"a\") {\n selectAllNodes(event);\n flag = true;\n } else if (!ctrlPressed && !event.shiftKey && isPrintableCharacter(key)) {\n focusByFirstCharacter(event, focusedNodeId, key);\n flag = true;\n }\n }\n\n if (flag) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n const handleFocus = (event) => {\n // if the event bubbled (which is React specific) we don't want to steal focus\n if (event.target === event.currentTarget) {\n const firstSelected = Array.isArray(selected) ? selected[0] : selected;\n focus(event, firstSelected || getNavigableChildrenIds(null)[0]);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const handleBlur = (event) => {\n setFocusedNodeId(null);\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const activeDescendant = nodeMap.current[focusedNodeId]\n ? nodeMap.current[focusedNodeId].idAttribute\n : null;\n\n const treeControlContext = useMemo(\n () => ({\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode: selectable ? selectNode : noopSelection,\n selectRange: selectable ? selectRange : noopSelection,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n }),\n [\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n toggleExpansion,\n selectable,\n selectNode,\n selectRange,\n mode,\n collapsible,\n multiSelect,\n disabledItemsFocusable,\n treeId,\n ]\n );\n\n const treeStateContext = useMemo(\n () => ({\n isExpanded,\n isSelected,\n isFocused,\n isDisabled,\n }),\n [isDisabled, isExpanded, isFocused, isSelected]\n );\n\n return (\n <TreeViewControlContext.Provider value={treeControlContext}>\n <TreeViewStateContext.Provider value={treeStateContext}>\n <DescendantProvider>\n <ul\n ref={handleRef}\n id={idProp}\n className={clsx(classes.root, className)}\n {...(treeviewMode && {\n id: treeId,\n role: \"tree\",\n \"aria-multiselectable\": multiSelect,\n \"aria-activedescendant\": activeDescendant,\n tabIndex: 0,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n })}\n {...others}\n >\n {children}\n </ul>\n </DescendantProvider>\n </TreeViewStateContext.Provider>\n </TreeViewControlContext.Provider>\n );\n});\n\nTreeView.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to component.\n */\n root: PropTypes.string,\n }).isRequired,\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode: PropTypes.oneOf([\"treeview\", \"navigation\"]),\n /**\n * Enables selection.\n * @default false\n */\n selectable: PropTypes.bool,\n /**\n * Enables the simultaneous selection of multiple items.\n * @default false\n */\n multiSelect: PropTypes.bool,\n /**\n * The selected nodes' ids.\n *\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n */\n selected: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]),\n /**\n * When uncontrolled, defines the initial selected nodes' ids.\n *\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n * @default []\n */\n defaultSelected: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]),\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible: PropTypes.bool,\n /**\n * Callback fired when a tree item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {string} nodeId The id of the selected node.\n */\n onChange: PropTypes.func,\n /**\n * Expanded nodes' ids.\n */\n expanded: PropTypes.arrayOf(PropTypes.string),\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n * @default []\n */\n defaultExpanded: PropTypes.arrayOf(PropTypes.string),\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle: PropTypes.func,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationTreeView\" })(TreeView);\n"],"file":"TreeView.js"}
1
+ {"version":3,"sources":["../../../src/VerticalNavigation/TreeView/TreeView.js"],"names":["isPrintableCharacter","string","length","match","findNextFirstChar","firstChars","startIndex","char","i","noopSelection","TreeView","React","forwardRef","props","ref","idProp","id","className","classes","mode","collapsible","expandedProp","expanded","defaultExpanded","onToggle","selectable","multiSelect","multiSelectProp","selectedProp","selected","defaultSelected","onChange","disabledItemsFocusable","onFocus","onBlur","onKeyDown","children","others","treeviewMode","treeId","treeRef","handleRef","setExpandedState","setSelectedState","focusedNodeId","setFocusedNodeId","nodeMap","firstCharMap","isExpanded","Array","isArray","indexOf","isExpandable","current","expandable","isSelected","isSelectable","isDisabled","node","disabled","parentId","isFocused","getChildrenIds","Object","keys","map","key","filter","sort","a","b","index","child","getNavigableChildrenIds","childrenIds","getNextNode","siblings","nextSibling","getPreviousNode","nodeIndex","currentNode","pop","getLastNode","lastNode","getFirstNode","getParent","findOrderInTremauxTree","nodeAId","nodeBId","nodeA","nodeB","aFamily","bFamily","aAncestor","bAncestor","aAncestorIsCommon","bAncestorIsCommon","continueA","continueB","push","commonAncestor","ancestorFamily","aSide","bSide","getNodesInRange","first","last","nodes","focus","event","focusNextNode","focusPreviousNode","focusFirstNode","focusLastNode","focusByFirstCharacter","start","lowercaseChar","toLowerCase","firstCharIds","forEach","nodeId","firstChar","visible","shouldBeSkipped","toggleExpansion","value","newExpanded","concat","expandAllSiblings","diff","lastSelectedNode","lastSelectionWasRange","currentRangeSelection","handleRangeArrowSelect","base","slice","next","payload","handleRangeSelect","end","range","newSelected","handleMultipleSelect","handleSingleSelect","nodeValue","selectNode","multiple","selectRange","stacked","rangeSelectToFirst","rangeSelectToLast","selectNextNode","selectPreviousNode","selectAllNodes","registerNode","idAttribute","nodeSelectable","nodeOnFocus","unregisterNode","newMap","oldFocusedNodeId","ownerDocument","document","activeElement","mapFirstChar","unMapFirstChar","handleNextArrow","handlePreviousArrow","parent","handleKeyDown","flag","altKey","currentTarget","target","ctrlPressed","ctrlKey","metaKey","shiftKey","stopPropagation","preventDefault","handleFocus","firstSelected","handleBlur","activeDescendant","treeControlContext","treeStateContext","root","role","tabIndex","propTypes","PropTypes","shape","isRequired","oneOf","bool","oneOfType","arrayOf","func","styles","name"],"mappings":"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","sourcesContent":["import React, { useMemo, useRef, useState, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { withStyles } from \"@material-ui/core\";\n\nimport { useControlled, useUniqueId, useForkRef } from \"../..\";\n\nimport { TreeViewControlContext, TreeViewStateContext } from \"./TreeViewContexts\";\nimport { DescendantProvider } from \"./descendants\";\n\nimport styles from \"./styles\";\n\nfunction isPrintableCharacter(string) {\n return string && string.length === 1 && string.match(/\\S/);\n}\n\nfunction findNextFirstChar(firstChars, startIndex, char) {\n for (let i = startIndex; i < firstChars.length; i += 1) {\n if (char === firstChars[i]) {\n return i;\n }\n }\n return -1;\n}\n\nfunction noopSelection() {\n return false;\n}\n\nconst TreeView = React.forwardRef((props, ref) => {\n const {\n id: idProp,\n className,\n classes,\n\n mode = \"treeview\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded = [],\n onToggle,\n\n selectable = false,\n multiSelect: multiSelectProp = false,\n selected: selectedProp,\n defaultSelected = [],\n onChange,\n\n disabledItemsFocusable = false,\n\n onFocus,\n onBlur,\n onKeyDown,\n\n children,\n\n ...others\n } = props;\n\n const treeviewMode = mode === \"treeview\";\n const multiSelect = selectable && multiSelectProp;\n\n const treeId = useUniqueId(idProp, \"hvtreeview\");\n const treeRef = useRef(null);\n const handleRef = useForkRef(treeRef, ref);\n\n const [expanded, setExpandedState] = useControlled(expandedProp, defaultExpanded);\n\n const [selected, setSelectedState] = useControlled(selectedProp, defaultSelected);\n\n const [focusedNodeId, setFocusedNodeId] = useState(null);\n\n const nodeMap = useRef({});\n\n const firstCharMap = useRef({});\n\n /*\n * Status Helpers\n */\n const isExpanded = useCallback(\n (id) => !collapsible || (Array.isArray(expanded) ? expanded.indexOf(id) !== -1 : false),\n [collapsible, expanded]\n );\n\n const isExpandable = useCallback(\n (id) => collapsible && nodeMap.current[id] && nodeMap.current[id].expandable,\n [collapsible]\n );\n\n const isSelected = useCallback(\n (id) => selectable && (Array.isArray(selected) ? selected.indexOf(id) !== -1 : selected === id),\n [selectable, selected]\n );\n\n const isSelectable = useCallback(\n (id) => selectable && nodeMap.current[id] && nodeMap.current[id].selectable,\n [selectable]\n );\n\n const isDisabled = useCallback((id) => {\n let node = nodeMap.current[id];\n\n // This can be called before the node has been added to the node map.\n if (!node) {\n return false;\n }\n\n if (node.disabled) {\n return true;\n }\n\n while (node.parentId != null) {\n node = nodeMap.current[node.parentId];\n if (node.disabled) {\n return true;\n }\n }\n\n return false;\n }, []);\n\n const isFocused = useCallback((id) => focusedNodeId === id, [focusedNodeId]);\n\n /*\n * Child Helpers\n */\n const getChildrenIds = (id) =>\n Object.keys(nodeMap.current)\n .map((key) => {\n return nodeMap.current[key];\n })\n .filter((node) => node.parentId === id)\n .sort((a, b) => a.index - b.index)\n .map((child) => child.id);\n\n const getNavigableChildrenIds = useCallback(\n (id) => {\n let childrenIds = getChildrenIds(id);\n\n if (!disabledItemsFocusable) {\n childrenIds = childrenIds.filter((node) => !isDisabled(node));\n }\n return childrenIds;\n },\n [disabledItemsFocusable, isDisabled]\n );\n\n /*\n * Node Helpers\n */\n const getNextNode = useCallback(\n (id) => {\n // If expanded get first child\n if (isExpanded(id) && getNavigableChildrenIds(id).length > 0) {\n return getNavigableChildrenIds(id)[0];\n }\n\n let node = nodeMap.current[id];\n while (node != null) {\n // Try to get next sibling\n const siblings = getNavigableChildrenIds(node.parentId);\n const nextSibling = siblings[siblings.indexOf(node.id) + 1];\n\n if (nextSibling) {\n return nextSibling;\n }\n\n // If the sibling does not exist, go up a level to the parent and try again.\n node = nodeMap.current[node.parentId];\n }\n\n return null;\n },\n [getNavigableChildrenIds, isExpanded]\n );\n\n const getPreviousNode = (id) => {\n const node = nodeMap.current[id];\n const siblings = getNavigableChildrenIds(node.parentId);\n const nodeIndex = siblings.indexOf(id);\n\n if (nodeIndex === 0) {\n return node.parentId;\n }\n\n let currentNode = siblings[nodeIndex - 1];\n while (isExpanded(currentNode) && getNavigableChildrenIds(currentNode).length > 0) {\n currentNode = getNavigableChildrenIds(currentNode).pop();\n }\n\n return currentNode;\n };\n\n const getLastNode = () => {\n let lastNode = getNavigableChildrenIds(null).pop();\n\n while (isExpanded(lastNode)) {\n lastNode = getNavigableChildrenIds(lastNode).pop();\n }\n return lastNode;\n };\n const getFirstNode = () => getNavigableChildrenIds(null)[0];\n const getParent = (id) => nodeMap.current[id].parentId;\n\n /**\n * This is used to determine the start and end of a selection range so\n * we can get the nodes between the two border nodes.\n *\n * It finds the nodes' common ancestor using\n * a naive implementation of a lowest common ancestor algorithm\n * (https://en.wikipedia.org/wiki/Lowest_common_ancestor).\n * Then compares the ancestor's 2 children that are ancestors of nodeA and NodeB\n * so we can compare their indexes to work out which node comes first in a depth first search.\n * (https://en.wikipedia.org/wiki/Depth-first_search)\n *\n * Another way to put it is which node is shallower in a trémaux tree\n * https://en.wikipedia.org/wiki/Tr%C3%A9maux_tree\n */\n const findOrderInTremauxTree = useCallback((nodeAId, nodeBId) => {\n if (nodeAId === nodeBId) {\n return [nodeAId, nodeBId];\n }\n\n const nodeA = nodeMap.current[nodeAId];\n const nodeB = nodeMap.current[nodeBId];\n\n if (nodeA.parentId === nodeB.id || nodeB.parentId === nodeA.id) {\n return nodeB.parentId === nodeA.id ? [nodeA.id, nodeB.id] : [nodeB.id, nodeA.id];\n }\n\n const aFamily = [nodeA.id];\n const bFamily = [nodeB.id];\n\n let aAncestor = nodeA.parentId;\n let bAncestor = nodeB.parentId;\n\n let aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;\n let bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;\n\n let continueA = true;\n let continueB = true;\n\n while (!bAncestorIsCommon && !aAncestorIsCommon) {\n if (continueA) {\n aFamily.push(aAncestor);\n aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;\n continueA = aAncestor !== null;\n if (!aAncestorIsCommon && continueA) {\n aAncestor = nodeMap.current[aAncestor].parentId;\n }\n }\n\n if (continueB && !aAncestorIsCommon) {\n bFamily.push(bAncestor);\n bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;\n continueB = bAncestor !== null;\n if (!bAncestorIsCommon && continueB) {\n bAncestor = nodeMap.current[bAncestor].parentId;\n }\n }\n }\n\n const commonAncestor = aAncestorIsCommon ? aAncestor : bAncestor;\n const ancestorFamily = getChildrenIds(commonAncestor);\n\n const aSide = aFamily[aFamily.indexOf(commonAncestor) - 1];\n const bSide = bFamily[bFamily.indexOf(commonAncestor) - 1];\n\n return ancestorFamily.indexOf(aSide) < ancestorFamily.indexOf(bSide)\n ? [nodeAId, nodeBId]\n : [nodeBId, nodeAId];\n }, []);\n\n const getNodesInRange = useCallback(\n (nodeA, nodeB) => {\n const [first, last] = findOrderInTremauxTree(nodeA, nodeB);\n const nodes = [first];\n\n let current = first;\n\n while (current !== last) {\n current = getNextNode(current);\n nodes.push(current);\n }\n\n return nodes;\n },\n [findOrderInTremauxTree, getNextNode]\n );\n\n /*\n * Focus Helpers\n */\n const focus = (event, id) => {\n if (id) {\n setFocusedNodeId(id);\n\n if (nodeMap.current[id]?.onFocus) {\n nodeMap.current[id].onFocus(event);\n }\n }\n };\n\n const focusNextNode = (event, id) => focus(event, getNextNode(id));\n const focusPreviousNode = (event, id) => focus(event, getPreviousNode(id));\n const focusFirstNode = (event) => focus(event, getFirstNode());\n const focusLastNode = (event) => focus(event, getLastNode());\n\n const focusByFirstCharacter = (event, id, char) => {\n let start;\n let index;\n const lowercaseChar = char.toLowerCase();\n\n const firstCharIds = [];\n const firstChars = [];\n // This really only works since the ids are strings\n Object.keys(firstCharMap.current).forEach((nodeId) => {\n const firstChar = firstCharMap.current[nodeId];\n const map = nodeMap.current[nodeId];\n const visible = map.parentId ? isExpanded(map.parentId) : true;\n const shouldBeSkipped = disabledItemsFocusable ? false : isDisabled(nodeId);\n\n if (visible && !shouldBeSkipped) {\n firstCharIds.push(nodeId);\n firstChars.push(firstChar);\n }\n });\n\n // Get start index for search based on position of currentItem\n start = firstCharIds.indexOf(id) + 1;\n if (start >= firstCharIds.length) {\n start = 0;\n }\n\n // Check remaining slots in the menu\n index = findNextFirstChar(firstChars, start, lowercaseChar);\n\n // If not found in remaining slots, check from beginning\n if (index === -1) {\n index = findNextFirstChar(firstChars, 0, lowercaseChar);\n }\n\n // If match was found...\n if (index > -1) {\n focus(event, firstCharIds[index]);\n }\n };\n\n /*\n * Expansion Helpers\n */\n const toggleExpansion = useCallback(\n (event, value = focusedNodeId) => {\n let newExpanded;\n\n if (expanded.indexOf(value) !== -1) {\n newExpanded = expanded.filter((id) => id !== value);\n } else {\n newExpanded = [value].concat(expanded);\n }\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n\n setExpandedState(newExpanded);\n },\n [expanded, focusedNodeId, onToggle, setExpandedState]\n );\n\n const expandAllSiblings = (event, id) => {\n const map = nodeMap.current[id];\n const siblings = getChildrenIds(map.parentId);\n\n const diff = siblings.filter((child) => isExpandable(child) && !isExpanded(child));\n\n const newExpanded = expanded.concat(diff);\n\n if (diff.length > 0) {\n setExpandedState(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n }\n };\n\n /*\n * Selection Helpers\n */\n const lastSelectedNode = useRef(null);\n const lastSelectionWasRange = useRef(false);\n const currentRangeSelection = useRef([]);\n\n const handleRangeArrowSelect = useCallback(\n (event, nodes) => {\n let base = selected.slice();\n const { start, next, current } = nodes;\n\n if (!next || !current) {\n return;\n }\n\n if (currentRangeSelection.current.indexOf(current) === -1) {\n currentRangeSelection.current = [];\n }\n\n if (lastSelectionWasRange.current) {\n if (currentRangeSelection.current.indexOf(next) !== -1) {\n base = base.filter((id) => id === start || id !== current);\n currentRangeSelection.current = currentRangeSelection.current.filter(\n (id) => id === start || id !== current\n );\n } else {\n base.push(next);\n currentRangeSelection.current.push(next);\n }\n } else {\n base.push(next);\n currentRangeSelection.current.push(current, next);\n }\n\n if (onChange) {\n onChange(\n event,\n base,\n base.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(base);\n },\n [onChange, selected, setSelectedState]\n );\n\n const handleRangeSelect = useCallback(\n (event, nodes) => {\n let base = selected.slice();\n const { start, end } = nodes;\n // If last selection was a range selection ignore nodes that were selected.\n if (lastSelectionWasRange.current) {\n base = base.filter((id) => currentRangeSelection.current.indexOf(id) === -1);\n }\n\n let range = getNodesInRange(start, end);\n range = range.filter((node) => !isDisabled(node));\n currentRangeSelection.current = range;\n let newSelected = base.concat(range);\n newSelected = newSelected.filter((id, i) => newSelected.indexOf(id) === i);\n\n if (onChange) {\n onChange(\n event,\n newSelected,\n newSelected.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(newSelected);\n },\n [getNodesInRange, isDisabled, onChange, selected, setSelectedState]\n );\n\n const handleMultipleSelect = useCallback(\n (event, value) => {\n let newSelected;\n if (selected.indexOf(value) !== -1) {\n newSelected = selected.filter((id) => id !== value);\n } else {\n newSelected = [value].concat(selected);\n }\n\n if (onChange) {\n onChange(\n event,\n newSelected,\n newSelected.map((id) => nodeMap.current[id]?.payload)\n );\n }\n\n setSelectedState(newSelected);\n },\n [onChange, selected, setSelectedState]\n );\n\n const handleSingleSelect = useCallback(\n (event, value) => {\n const newSelected = multiSelect ? [value] : value;\n if (onChange) {\n const nodeValue = nodeMap.current[newSelected]?.payload;\n onChange(event, newSelected, multiSelect ? [nodeValue] : nodeValue);\n }\n\n setSelectedState(newSelected);\n },\n [multiSelect, onChange, setSelectedState]\n );\n\n const selectNode = useCallback(\n (event, id, multiple = false) => {\n if (id && isSelectable(id)) {\n if (multiple) {\n handleMultipleSelect(event, id);\n } else {\n handleSingleSelect(event, id);\n }\n lastSelectedNode.current = id;\n lastSelectionWasRange.current = false;\n currentRangeSelection.current = [];\n\n return true;\n }\n return false;\n },\n [handleMultipleSelect, handleSingleSelect, isSelectable]\n );\n\n const selectRange = useCallback(\n (event, nodes, stacked = false) => {\n const { start = lastSelectedNode.current, end, current } = nodes;\n if (stacked) {\n handleRangeArrowSelect(event, { start, next: end, current });\n } else if (start != null && end != null) {\n handleRangeSelect(event, { start, end });\n }\n lastSelectionWasRange.current = true;\n },\n [handleRangeArrowSelect, handleRangeSelect]\n );\n\n const rangeSelectToFirst = (event, id) => {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n const start = lastSelectionWasRange.current ? lastSelectedNode.current : id;\n\n selectRange(event, {\n start,\n end: getFirstNode(),\n });\n };\n\n const rangeSelectToLast = (event, id) => {\n if (!lastSelectedNode.current) {\n lastSelectedNode.current = id;\n }\n\n const start = lastSelectionWasRange.current ? lastSelectedNode.current : id;\n\n selectRange(event, {\n start,\n end: getLastNode(),\n });\n };\n\n const selectNextNode = (event, id) => {\n if (!isDisabled(getNextNode(id))) {\n selectRange(\n event,\n {\n end: getNextNode(id),\n current: id,\n },\n true\n );\n }\n };\n\n const selectPreviousNode = (event, id) => {\n if (!isDisabled(getPreviousNode(id))) {\n selectRange(\n event,\n {\n end: getPreviousNode(id),\n current: id,\n },\n true\n );\n }\n };\n\n const selectAllNodes = (event) => {\n selectRange(event, { start: getFirstNode(), end: getLastNode() });\n };\n\n /*\n * Mapping Helpers\n */\n const registerNode = useCallback((node) => {\n const {\n id,\n index,\n parentId,\n expandable,\n idAttribute,\n disabled,\n selectable: nodeSelectable,\n onFocus: nodeOnFocus,\n payload,\n } = node;\n\n nodeMap.current[id] = {\n id,\n index,\n parentId,\n expandable,\n idAttribute,\n disabled,\n selectable: nodeSelectable,\n onFocus: nodeOnFocus,\n payload,\n };\n }, []);\n\n const unregisterNode = useCallback((id) => {\n const newMap = { ...nodeMap.current };\n delete newMap[id];\n nodeMap.current = newMap;\n\n setFocusedNodeId((oldFocusedNodeId) => {\n if (\n oldFocusedNodeId === id &&\n treeRef.current === (treeRef.current.ownerDocument || document).activeElement\n ) {\n return getChildrenIds(null)[0];\n }\n return oldFocusedNodeId;\n });\n }, []);\n\n const mapFirstChar = useCallback((id, firstChar) => {\n firstCharMap.current[id] = firstChar;\n }, []);\n\n const unMapFirstChar = useCallback((id) => {\n const newMap = { ...firstCharMap.current };\n delete newMap[id];\n firstCharMap.current = newMap;\n }, []);\n\n /**\n * Event handlers and Navigation\n */\n const handleNextArrow = (event) => {\n if (isExpandable(focusedNodeId)) {\n if (isExpanded(focusedNodeId)) {\n focusNextNode(event, focusedNodeId);\n } else if (!isDisabled(focusedNodeId)) {\n toggleExpansion(event);\n }\n }\n return true;\n };\n\n const handlePreviousArrow = (event) => {\n if (isExpanded(focusedNodeId) && !isDisabled(focusedNodeId)) {\n toggleExpansion(event, focusedNodeId);\n return true;\n }\n\n const parent = getParent(focusedNodeId);\n if (parent) {\n focus(event, parent);\n return true;\n }\n return false;\n };\n\n const handleKeyDown = (event) => {\n let flag = false;\n const { key } = event;\n\n // If the tree is empty there will be no focused node\n if (event.altKey || event.currentTarget !== event.target || !focusedNodeId) {\n return;\n }\n\n const ctrlPressed = event.ctrlKey || event.metaKey;\n switch (key) {\n case \" \":\n if (isSelectable(focusedNodeId) && !isDisabled(focusedNodeId)) {\n if (multiSelect && event.shiftKey) {\n selectRange(event, { end: focusedNodeId });\n flag = true;\n } else if (multiSelect) {\n flag = selectNode(event, focusedNodeId, true);\n } else {\n flag = selectNode(event, focusedNodeId);\n }\n }\n event.stopPropagation();\n break;\n case \"Enter\":\n if (!isDisabled(focusedNodeId)) {\n if (isExpandable(focusedNodeId)) {\n toggleExpansion(event);\n flag = true;\n } else if (isSelectable(focusedNodeId)) {\n if (multiSelect && event.shiftKey) {\n selectRange(event, { end: focusedNodeId });\n flag = true;\n } else if (multiSelect) {\n flag = selectNode(event, focusedNodeId, true);\n } else {\n flag = selectNode(event, focusedNodeId);\n }\n }\n }\n event.stopPropagation();\n break;\n case \"ArrowDown\":\n if (multiSelect && event.shiftKey) {\n selectNextNode(event, focusedNodeId);\n }\n focusNextNode(event, focusedNodeId);\n flag = true;\n break;\n case \"ArrowUp\":\n if (multiSelect && event.shiftKey) {\n selectPreviousNode(event, focusedNodeId);\n }\n focusPreviousNode(event, focusedNodeId);\n flag = true;\n break;\n case \"ArrowRight\":\n flag = handleNextArrow(event);\n break;\n case \"ArrowLeft\":\n flag = handlePreviousArrow(event);\n break;\n case \"Home\":\n if (multiSelect && ctrlPressed && event.shiftKey && !isDisabled(focusedNodeId)) {\n rangeSelectToFirst(event, focusedNodeId);\n }\n focusFirstNode(event);\n flag = true;\n break;\n case \"End\":\n if (multiSelect && ctrlPressed && event.shiftKey && !isDisabled(focusedNodeId)) {\n rangeSelectToLast(event, focusedNodeId);\n }\n focusLastNode(event);\n flag = true;\n break;\n default:\n if (key === \"*\") {\n expandAllSiblings(event, focusedNodeId);\n flag = true;\n } else if (multiSelect && ctrlPressed && key.toLowerCase() === \"a\") {\n selectAllNodes(event);\n flag = true;\n } else if (!ctrlPressed && !event.shiftKey && isPrintableCharacter(key)) {\n focusByFirstCharacter(event, focusedNodeId, key);\n flag = true;\n }\n }\n\n if (flag) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n };\n\n const handleFocus = (event) => {\n // if the event bubbled (which is React specific) we don't want to steal focus\n if (event.target === event.currentTarget) {\n const firstSelected = Array.isArray(selected) ? selected[0] : selected;\n focus(event, firstSelected || getNavigableChildrenIds(null)[0]);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const handleBlur = (event) => {\n setFocusedNodeId(null);\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const activeDescendant = nodeMap.current[focusedNodeId]\n ? nodeMap.current[focusedNodeId].idAttribute\n : null;\n\n const treeControlContext = useMemo(\n () => ({\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode: selectable ? selectNode : noopSelection,\n selectRange: selectable ? selectRange : noopSelection,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n }),\n [\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n toggleExpansion,\n selectable,\n selectNode,\n selectRange,\n mode,\n collapsible,\n multiSelect,\n disabledItemsFocusable,\n treeId,\n ]\n );\n\n const treeStateContext = useMemo(\n () => ({\n isExpanded,\n isSelected,\n isFocused,\n isDisabled,\n }),\n [isDisabled, isExpanded, isFocused, isSelected]\n );\n\n return (\n <TreeViewControlContext.Provider value={treeControlContext}>\n <TreeViewStateContext.Provider value={treeStateContext}>\n <DescendantProvider>\n <ul\n ref={handleRef}\n id={idProp}\n className={clsx(classes.root, className)}\n {...(treeviewMode && {\n id: treeId,\n role: \"tree\",\n \"aria-multiselectable\": multiSelect,\n \"aria-activedescendant\": activeDescendant,\n tabIndex: 0,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n })}\n {...others}\n >\n {children}\n </ul>\n </DescendantProvider>\n </TreeViewStateContext.Provider>\n </TreeViewControlContext.Provider>\n );\n});\n\nTreeView.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to component.\n */\n root: PropTypes.string,\n }).isRequired,\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode: PropTypes.oneOf([\"treeview\", \"navigation\"]),\n /**\n * Enables selection.\n * @default false\n */\n selectable: PropTypes.bool,\n /**\n * Enables the simultaneous selection of multiple items.\n * @default false\n */\n multiSelect: PropTypes.bool,\n /**\n * The selected nodes' ids.\n *\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n */\n selected: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]),\n /**\n * When uncontrolled, defines the initial selected nodes' ids.\n *\n * When `multiSelect` is true this takes an array of strings; when false (default) a string.\n * @default []\n */\n defaultSelected: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]),\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible: PropTypes.bool,\n /**\n * Callback fired when a tree item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {string} nodeId The id of the selected node.\n */\n onChange: PropTypes.func,\n /**\n * Expanded nodes' ids.\n */\n expanded: PropTypes.arrayOf(PropTypes.string),\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n * @default []\n */\n defaultExpanded: PropTypes.arrayOf(PropTypes.string),\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle: PropTypes.func,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationTreeView\" })(TreeView);\n"],"file":"TreeView.js"}
@@ -21,10 +21,10 @@ Object.defineProperty(exports, "__esModule", {
21
21
  });
22
22
  exports.default = void 0;
23
23
 
24
- require("core-js/modules/es.array.concat.js");
25
-
26
24
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
27
25
 
26
+ require("core-js/modules/es.array.concat.js");
27
+
28
28
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
29
29
 
30
30
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
@@ -49,6 +49,8 @@ var _descendants = require("./descendants");
49
49
 
50
50
  var _styles = _interopRequireDefault(require("./styles"));
51
51
 
52
+ var _DropUpXS, _DropDownXS;
53
+
52
54
  var _excluded = ["id", "className", "classes", "disabled", "selectable", "nodeId", "icon", "label", "payload", "onClick", "onMouseDown", "onFocus", "children"];
53
55
 
54
56
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -296,7 +298,7 @@ var TreeViewItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
296
298
  "aria-current": selectable && selected ? "page" : undefined,
297
299
  "aria-expanded": expandable ? expanded : undefined,
298
300
  "aria-controls": expandable ? (0, _utils.setId)(id, "group") : undefined
299
- }), expandable && (expanded ? /*#__PURE__*/_react.default.createElement(_uikitReactIcons.DropUpXS, null) : /*#__PURE__*/_react.default.createElement(_uikitReactIcons.DropDownXS, null)), icon, label);
301
+ }), expandable && (expanded ? _DropUpXS || (_DropUpXS = /*#__PURE__*/_react.default.createElement(_uikitReactIcons.DropUpXS, null)) : _DropDownXS || (_DropDownXS = /*#__PURE__*/_react.default.createElement(_uikitReactIcons.DropDownXS, null))), icon, label);
300
302
  }, [id, classes.content, handleClick, handleMouseDown, expandable, level, collapsible, treeviewMode, handleFocus, handleKeyDown, selectable, selected, expanded, icon, label]);
301
303
  var renderedChildren = (0, _react.useMemo)(function () {
302
304
  return children && /*#__PURE__*/_react.default.createElement("ul", {
@@ -321,7 +323,7 @@ var TreeViewItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
321
323
  }, renderedChildren));
322
324
  });
323
325
 
324
- TreeViewItem.propTypes = {
326
+ process.env.NODE_ENV !== "production" ? TreeViewItem.propTypes = {
325
327
  /**
326
328
  * Id to be applied to the root node.
327
329
  */
@@ -447,7 +449,7 @@ TreeViewItem.propTypes = {
447
449
  * The content of the component.
448
450
  */
449
451
  children: _propTypes.default.node
450
- };
452
+ } : void 0;
451
453
 
452
454
  var _default = (0, _core.withStyles)(_styles.default, {
453
455
  name: "HvVerticalNavigationTreeViewItem"