@mui/lab 5.0.0-alpha.107 → 5.0.0-alpha.109

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 (347) hide show
  1. package/AdapterDateFns/AdapterDateFns.js +2 -4
  2. package/AdapterDayjs/AdapterDayjs.js +2 -4
  3. package/AdapterLuxon/AdapterLuxon.js +2 -4
  4. package/AdapterMoment/AdapterMoment.js +2 -4
  5. package/Alert/Alert.js +1 -2
  6. package/AlertTitle/AlertTitle.js +1 -2
  7. package/Autocomplete/Autocomplete.js +1 -2
  8. package/AvatarGroup/AvatarGroup.js +1 -2
  9. package/CHANGELOG.md +132 -2
  10. package/CalendarPicker/CalendarPicker.js +0 -2
  11. package/CalendarPickerSkeleton/CalendarPickerSkeleton.js +0 -2
  12. package/ClockPicker/ClockPicker.js +0 -2
  13. package/DatePicker/DatePicker.js +0 -2
  14. package/DateRangePicker/DateRangePicker.js +0 -2
  15. package/DateRangePickerDay/DateRangePickerDay.js +0 -2
  16. package/DateTimePicker/DateTimePicker.js +0 -2
  17. package/DesktopDatePicker/DesktopDatePicker.js +0 -2
  18. package/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -2
  19. package/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -2
  20. package/DesktopTimePicker/DesktopTimePicker.js +0 -2
  21. package/LoadingButton/LoadingButton.js +13 -34
  22. package/LocalizationProvider/LocalizationProvider.js +0 -2
  23. package/Masonry/Masonry.js +27 -68
  24. package/MobileDatePicker/MobileDatePicker.js +0 -2
  25. package/MobileDateRangePicker/MobileDateRangePicker.js +0 -2
  26. package/MobileDateTimePicker/MobileDateTimePicker.js +0 -2
  27. package/MobileTimePicker/MobileTimePicker.js +0 -2
  28. package/MonthPicker/MonthPicker.js +0 -2
  29. package/Pagination/Pagination.js +1 -2
  30. package/PaginationItem/PaginationItem.js +1 -2
  31. package/PickersDay/PickersDay.js +0 -2
  32. package/Rating/Rating.js +1 -2
  33. package/Skeleton/Skeleton.js +1 -2
  34. package/SpeedDial/SpeedDial.js +1 -2
  35. package/SpeedDialAction/SpeedDialAction.js +1 -2
  36. package/SpeedDialIcon/SpeedDialIcon.js +1 -2
  37. package/StaticDatePicker/StaticDatePicker.js +0 -2
  38. package/StaticDateRangePicker/StaticDateRangePicker.js +0 -2
  39. package/StaticDateTimePicker/StaticDateTimePicker.js +0 -2
  40. package/StaticTimePicker/StaticTimePicker.js +0 -2
  41. package/TabContext/TabContext.js +3 -14
  42. package/TabList/TabList.js +4 -11
  43. package/TabPanel/TabPanel.js +6 -20
  44. package/TimePicker/TimePicker.js +0 -2
  45. package/Timeline/Timeline.js +9 -20
  46. package/Timeline/TimelineContext.js +1 -3
  47. package/TimelineConnector/TimelineConnector.js +4 -14
  48. package/TimelineContent/TimelineContent.js +4 -16
  49. package/TimelineDot/TimelineDot.js +8 -25
  50. package/TimelineItem/TimelineItem.js +5 -18
  51. package/TimelineOppositeContent/TimelineOppositeContent.js +4 -16
  52. package/TimelineSeparator/TimelineSeparator.js +4 -14
  53. package/ToggleButton/ToggleButton.js +1 -2
  54. package/ToggleButtonGroup/ToggleButtonGroup.js +1 -2
  55. package/TreeItem/TreeItem.js +19 -58
  56. package/TreeItem/TreeItemContent.js +12 -28
  57. package/TreeItem/useTreeItem.js +2 -8
  58. package/TreeView/TreeView.js +53 -197
  59. package/TreeView/TreeViewContext.js +1 -3
  60. package/TreeView/descendants.js +19 -31
  61. package/YearPicker/YearPicker.js +1 -3
  62. package/index.js +3 -2
  63. package/internal/svg-icons/ArrowDropDown.js +1 -1
  64. package/internal/svg-icons/ArrowLeft.js +1 -1
  65. package/internal/svg-icons/ArrowRight.js +1 -1
  66. package/internal/svg-icons/Calendar.js +1 -1
  67. package/internal/svg-icons/Clock.js +1 -1
  68. package/internal/svg-icons/DateRange.js +1 -1
  69. package/internal/svg-icons/Pen.js +1 -1
  70. package/internal/svg-icons/Time.js +1 -1
  71. package/legacy/AdapterDateFns/AdapterDateFns.js +2 -5
  72. package/legacy/AdapterDayjs/AdapterDayjs.js +2 -5
  73. package/legacy/AdapterLuxon/AdapterLuxon.js +2 -5
  74. package/legacy/AdapterMoment/AdapterMoment.js +2 -5
  75. package/legacy/Alert/Alert.js +1 -2
  76. package/legacy/AlertTitle/AlertTitle.js +1 -2
  77. package/legacy/Autocomplete/Autocomplete.js +1 -2
  78. package/legacy/AvatarGroup/AvatarGroup.js +1 -2
  79. package/legacy/CalendarPicker/CalendarPicker.js +0 -2
  80. package/legacy/CalendarPickerSkeleton/CalendarPickerSkeleton.js +0 -2
  81. package/legacy/ClockPicker/ClockPicker.js +0 -2
  82. package/legacy/DatePicker/DatePicker.js +0 -2
  83. package/legacy/DateRangePicker/DateRangePicker.js +0 -2
  84. package/legacy/DateRangePickerDay/DateRangePickerDay.js +0 -2
  85. package/legacy/DateTimePicker/DateTimePicker.js +0 -2
  86. package/legacy/DesktopDatePicker/DesktopDatePicker.js +0 -2
  87. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -2
  88. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -2
  89. package/legacy/DesktopTimePicker/DesktopTimePicker.js +0 -2
  90. package/legacy/LoadingButton/LoadingButton.js +19 -40
  91. package/legacy/LocalizationProvider/LocalizationProvider.js +0 -2
  92. package/legacy/Masonry/Masonry.js +33 -77
  93. package/legacy/MobileDatePicker/MobileDatePicker.js +0 -2
  94. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +0 -2
  95. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +0 -2
  96. package/legacy/MobileTimePicker/MobileTimePicker.js +0 -2
  97. package/legacy/MonthPicker/MonthPicker.js +0 -2
  98. package/legacy/Pagination/Pagination.js +1 -2
  99. package/legacy/PaginationItem/PaginationItem.js +1 -2
  100. package/legacy/PickersDay/PickersDay.js +0 -2
  101. package/legacy/Rating/Rating.js +1 -2
  102. package/legacy/Skeleton/Skeleton.js +1 -2
  103. package/legacy/SpeedDial/SpeedDial.js +1 -2
  104. package/legacy/SpeedDialAction/SpeedDialAction.js +1 -2
  105. package/legacy/SpeedDialIcon/SpeedDialIcon.js +1 -2
  106. package/legacy/StaticDatePicker/StaticDatePicker.js +0 -2
  107. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +0 -2
  108. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +0 -2
  109. package/legacy/StaticTimePicker/StaticTimePicker.js +0 -2
  110. package/legacy/TabContext/TabContext.js +6 -18
  111. package/legacy/TabList/TabList.js +2 -9
  112. package/legacy/TabPanel/TabPanel.js +4 -18
  113. package/legacy/TimePicker/TimePicker.js +0 -2
  114. package/legacy/Timeline/Timeline.js +9 -20
  115. package/legacy/Timeline/TimelineContext.js +1 -3
  116. package/legacy/TimelineConnector/TimelineConnector.js +2 -12
  117. package/legacy/TimelineContent/TimelineContent.js +4 -16
  118. package/legacy/TimelineDot/TimelineDot.js +11 -28
  119. package/legacy/TimelineItem/TimelineItem.js +6 -21
  120. package/legacy/TimelineOppositeContent/TimelineOppositeContent.js +4 -16
  121. package/legacy/TimelineSeparator/TimelineSeparator.js +2 -12
  122. package/legacy/ToggleButton/ToggleButton.js +1 -2
  123. package/legacy/ToggleButtonGroup/ToggleButtonGroup.js +1 -2
  124. package/legacy/TreeItem/TreeItem.js +37 -81
  125. package/legacy/TreeItem/TreeItemContent.js +17 -34
  126. package/legacy/TreeItem/useTreeItem.js +12 -19
  127. package/legacy/TreeView/TreeView.js +85 -238
  128. package/legacy/TreeView/TreeViewContext.js +1 -3
  129. package/legacy/TreeView/descendants.js +26 -44
  130. package/legacy/YearPicker/YearPicker.js +1 -3
  131. package/legacy/index.js +3 -2
  132. package/legacy/internal/svg-icons/ArrowDropDown.js +1 -1
  133. package/legacy/internal/svg-icons/ArrowLeft.js +1 -1
  134. package/legacy/internal/svg-icons/ArrowRight.js +1 -1
  135. package/legacy/internal/svg-icons/Calendar.js +1 -1
  136. package/legacy/internal/svg-icons/Clock.js +1 -1
  137. package/legacy/internal/svg-icons/DateRange.js +1 -1
  138. package/legacy/internal/svg-icons/Pen.js +1 -1
  139. package/legacy/internal/svg-icons/Time.js +1 -1
  140. package/modern/AdapterDateFns/AdapterDateFns.js +2 -4
  141. package/modern/AdapterDayjs/AdapterDayjs.js +2 -4
  142. package/modern/AdapterLuxon/AdapterLuxon.js +2 -4
  143. package/modern/AdapterMoment/AdapterMoment.js +2 -4
  144. package/modern/Alert/Alert.js +1 -2
  145. package/modern/AlertTitle/AlertTitle.js +1 -2
  146. package/modern/Autocomplete/Autocomplete.js +1 -2
  147. package/modern/AvatarGroup/AvatarGroup.js +1 -2
  148. package/modern/CalendarPicker/CalendarPicker.js +0 -2
  149. package/modern/CalendarPickerSkeleton/CalendarPickerSkeleton.js +0 -2
  150. package/modern/ClockPicker/ClockPicker.js +0 -2
  151. package/modern/DatePicker/DatePicker.js +0 -2
  152. package/modern/DateRangePicker/DateRangePicker.js +0 -2
  153. package/modern/DateRangePickerDay/DateRangePickerDay.js +0 -2
  154. package/modern/DateTimePicker/DateTimePicker.js +0 -2
  155. package/modern/DesktopDatePicker/DesktopDatePicker.js +0 -2
  156. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -2
  157. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -2
  158. package/modern/DesktopTimePicker/DesktopTimePicker.js +0 -2
  159. package/modern/LoadingButton/LoadingButton.js +13 -35
  160. package/modern/LocalizationProvider/LocalizationProvider.js +0 -2
  161. package/modern/Masonry/Masonry.js +27 -68
  162. package/modern/MobileDatePicker/MobileDatePicker.js +0 -2
  163. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +0 -2
  164. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +0 -2
  165. package/modern/MobileTimePicker/MobileTimePicker.js +0 -2
  166. package/modern/MonthPicker/MonthPicker.js +0 -2
  167. package/modern/Pagination/Pagination.js +1 -2
  168. package/modern/PaginationItem/PaginationItem.js +1 -2
  169. package/modern/PickersDay/PickersDay.js +0 -2
  170. package/modern/Rating/Rating.js +1 -2
  171. package/modern/Skeleton/Skeleton.js +1 -2
  172. package/modern/SpeedDial/SpeedDial.js +1 -2
  173. package/modern/SpeedDialAction/SpeedDialAction.js +1 -2
  174. package/modern/SpeedDialIcon/SpeedDialIcon.js +1 -2
  175. package/modern/StaticDatePicker/StaticDatePicker.js +0 -2
  176. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +0 -2
  177. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +0 -2
  178. package/modern/StaticTimePicker/StaticTimePicker.js +0 -2
  179. package/modern/TabContext/TabContext.js +3 -14
  180. package/modern/TabList/TabList.js +4 -11
  181. package/modern/TabPanel/TabPanel.js +6 -20
  182. package/modern/TimePicker/TimePicker.js +0 -2
  183. package/modern/Timeline/Timeline.js +9 -20
  184. package/modern/Timeline/TimelineContext.js +1 -3
  185. package/modern/TimelineConnector/TimelineConnector.js +4 -14
  186. package/modern/TimelineContent/TimelineContent.js +4 -16
  187. package/modern/TimelineDot/TimelineDot.js +8 -25
  188. package/modern/TimelineItem/TimelineItem.js +5 -18
  189. package/modern/TimelineOppositeContent/TimelineOppositeContent.js +4 -16
  190. package/modern/TimelineSeparator/TimelineSeparator.js +4 -14
  191. package/modern/ToggleButton/ToggleButton.js +1 -2
  192. package/modern/ToggleButtonGroup/ToggleButtonGroup.js +1 -2
  193. package/modern/TreeItem/TreeItem.js +19 -58
  194. package/modern/TreeItem/TreeItemContent.js +12 -28
  195. package/modern/TreeItem/useTreeItem.js +2 -8
  196. package/modern/TreeView/TreeView.js +53 -197
  197. package/modern/TreeView/TreeViewContext.js +1 -3
  198. package/modern/TreeView/descendants.js +19 -31
  199. package/modern/YearPicker/YearPicker.js +1 -3
  200. package/modern/index.js +3 -2
  201. package/modern/internal/svg-icons/ArrowDropDown.js +1 -1
  202. package/modern/internal/svg-icons/ArrowLeft.js +1 -1
  203. package/modern/internal/svg-icons/ArrowRight.js +1 -1
  204. package/modern/internal/svg-icons/Calendar.js +1 -1
  205. package/modern/internal/svg-icons/Clock.js +1 -1
  206. package/modern/internal/svg-icons/DateRange.js +1 -1
  207. package/modern/internal/svg-icons/Pen.js +1 -1
  208. package/modern/internal/svg-icons/Time.js +1 -1
  209. package/node/AdapterDateFns/AdapterDateFns.js +2 -5
  210. package/node/AdapterDateFns/index.js +0 -2
  211. package/node/AdapterDayjs/AdapterDayjs.js +2 -5
  212. package/node/AdapterDayjs/index.js +0 -2
  213. package/node/AdapterLuxon/AdapterLuxon.js +2 -5
  214. package/node/AdapterLuxon/index.js +0 -2
  215. package/node/AdapterMoment/AdapterMoment.js +2 -5
  216. package/node/AdapterMoment/index.js +0 -2
  217. package/node/Alert/Alert.js +1 -11
  218. package/node/Alert/index.js +0 -2
  219. package/node/AlertTitle/AlertTitle.js +1 -11
  220. package/node/AlertTitle/index.js +0 -2
  221. package/node/Autocomplete/Autocomplete.js +1 -11
  222. package/node/Autocomplete/index.js +0 -2
  223. package/node/AvatarGroup/AvatarGroup.js +1 -11
  224. package/node/AvatarGroup/index.js +0 -2
  225. package/node/CalendarPicker/CalendarPicker.js +1 -6
  226. package/node/CalendarPicker/index.js +0 -4
  227. package/node/CalendarPickerSkeleton/CalendarPickerSkeleton.js +1 -8
  228. package/node/CalendarPickerSkeleton/index.js +0 -4
  229. package/node/ClockPicker/ClockPicker.js +1 -6
  230. package/node/ClockPicker/index.js +0 -4
  231. package/node/DatePicker/DatePicker.js +1 -6
  232. package/node/DatePicker/index.js +0 -4
  233. package/node/DateRangePicker/DateRangePicker.js +1 -6
  234. package/node/DateRangePicker/index.js +0 -4
  235. package/node/DateRangePickerDay/DateRangePickerDay.js +1 -8
  236. package/node/DateRangePickerDay/index.js +0 -4
  237. package/node/DateTimePicker/DateTimePicker.js +1 -6
  238. package/node/DateTimePicker/index.js +0 -4
  239. package/node/DesktopDatePicker/DesktopDatePicker.js +1 -6
  240. package/node/DesktopDatePicker/index.js +0 -4
  241. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +1 -6
  242. package/node/DesktopDateRangePicker/index.js +0 -4
  243. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -6
  244. package/node/DesktopDateTimePicker/index.js +0 -4
  245. package/node/DesktopTimePicker/DesktopTimePicker.js +1 -6
  246. package/node/DesktopTimePicker/index.js +0 -4
  247. package/node/LoadingButton/LoadingButton.js +13 -46
  248. package/node/LoadingButton/index.js +0 -6
  249. package/node/LoadingButton/loadingButtonClasses.js +0 -5
  250. package/node/LocalizationProvider/LocalizationProvider.js +0 -6
  251. package/node/LocalizationProvider/index.js +0 -4
  252. package/node/Masonry/Masonry.js +27 -83
  253. package/node/Masonry/index.js +0 -6
  254. package/node/Masonry/masonryClasses.js +0 -5
  255. package/node/MobileDatePicker/MobileDatePicker.js +1 -6
  256. package/node/MobileDatePicker/index.js +0 -4
  257. package/node/MobileDateRangePicker/MobileDateRangePicker.js +1 -6
  258. package/node/MobileDateRangePicker/index.js +0 -4
  259. package/node/MobileDateTimePicker/MobileDateTimePicker.js +1 -6
  260. package/node/MobileDateTimePicker/index.js +0 -4
  261. package/node/MobileTimePicker/MobileTimePicker.js +1 -6
  262. package/node/MobileTimePicker/index.js +0 -4
  263. package/node/MonthPicker/MonthPicker.js +1 -8
  264. package/node/MonthPicker/index.js +0 -4
  265. package/node/Pagination/Pagination.js +1 -11
  266. package/node/Pagination/index.js +0 -3
  267. package/node/Pagination/usePagination.js +0 -2
  268. package/node/PaginationItem/PaginationItem.js +1 -11
  269. package/node/PaginationItem/index.js +0 -2
  270. package/node/PickersDay/PickersDay.js +1 -8
  271. package/node/PickersDay/index.js +0 -4
  272. package/node/Rating/Rating.js +1 -11
  273. package/node/Rating/index.js +0 -2
  274. package/node/Skeleton/Skeleton.js +1 -11
  275. package/node/Skeleton/index.js +0 -2
  276. package/node/SpeedDial/SpeedDial.js +1 -11
  277. package/node/SpeedDial/index.js +0 -2
  278. package/node/SpeedDialAction/SpeedDialAction.js +1 -11
  279. package/node/SpeedDialAction/index.js +0 -2
  280. package/node/SpeedDialIcon/SpeedDialIcon.js +1 -11
  281. package/node/SpeedDialIcon/index.js +0 -2
  282. package/node/StaticDatePicker/StaticDatePicker.js +1 -6
  283. package/node/StaticDatePicker/index.js +0 -4
  284. package/node/StaticDateRangePicker/StaticDateRangePicker.js +1 -6
  285. package/node/StaticDateRangePicker/index.js +0 -4
  286. package/node/StaticDateTimePicker/StaticDateTimePicker.js +1 -6
  287. package/node/StaticDateTimePicker/index.js +0 -4
  288. package/node/StaticTimePicker/StaticTimePicker.js +1 -6
  289. package/node/StaticTimePicker/index.js +0 -4
  290. package/node/TabContext/TabContext.js +2 -23
  291. package/node/TabContext/index.js +0 -4
  292. package/node/TabList/TabList.js +4 -22
  293. package/node/TabList/index.js +0 -2
  294. package/node/TabPanel/TabPanel.js +6 -31
  295. package/node/TabPanel/index.js +0 -6
  296. package/node/TabPanel/tabPanelClasses.js +0 -5
  297. package/node/TimePicker/TimePicker.js +1 -6
  298. package/node/TimePicker/index.js +0 -4
  299. package/node/Timeline/Timeline.js +9 -32
  300. package/node/Timeline/TimelineContext.js +0 -6
  301. package/node/Timeline/index.js +0 -6
  302. package/node/Timeline/timelineClasses.js +0 -5
  303. package/node/TimelineConnector/TimelineConnector.js +4 -25
  304. package/node/TimelineConnector/index.js +0 -6
  305. package/node/TimelineConnector/timelineConnectorClasses.js +0 -5
  306. package/node/TimelineContent/TimelineContent.js +4 -28
  307. package/node/TimelineContent/index.js +0 -6
  308. package/node/TimelineContent/timelineContentClasses.js +0 -5
  309. package/node/TimelineDot/TimelineDot.js +8 -36
  310. package/node/TimelineDot/index.js +0 -6
  311. package/node/TimelineDot/timelineDotClasses.js +0 -5
  312. package/node/TimelineItem/TimelineItem.js +5 -31
  313. package/node/TimelineItem/index.js +0 -6
  314. package/node/TimelineItem/timelineItemClasses.js +0 -5
  315. package/node/TimelineOppositeContent/TimelineOppositeContent.js +4 -28
  316. package/node/TimelineOppositeContent/index.js +0 -6
  317. package/node/TimelineOppositeContent/timelineOppositeContentClasses.js +0 -5
  318. package/node/TimelineSeparator/TimelineSeparator.js +4 -25
  319. package/node/TimelineSeparator/index.js +0 -6
  320. package/node/TimelineSeparator/timelineSeparatorClasses.js +0 -5
  321. package/node/ToggleButton/ToggleButton.js +1 -11
  322. package/node/ToggleButton/index.js +0 -2
  323. package/node/ToggleButtonGroup/ToggleButtonGroup.js +1 -11
  324. package/node/ToggleButtonGroup/index.js +0 -2
  325. package/node/TreeItem/TreeItem.js +19 -73
  326. package/node/TreeItem/TreeItemContent.js +11 -38
  327. package/node/TreeItem/index.js +0 -7
  328. package/node/TreeItem/treeItemClasses.js +0 -5
  329. package/node/TreeItem/useTreeItem.js +2 -14
  330. package/node/TreeView/TreeView.js +53 -207
  331. package/node/TreeView/TreeViewContext.js +0 -6
  332. package/node/TreeView/descendants.js +18 -40
  333. package/node/TreeView/index.js +0 -6
  334. package/node/TreeView/treeViewClasses.js +0 -5
  335. package/node/YearPicker/YearPicker.js +1 -6
  336. package/node/YearPicker/index.js +0 -4
  337. package/node/index.js +1 -107
  338. package/node/internal/svg-icons/ArrowDropDown.js +0 -7
  339. package/node/internal/svg-icons/ArrowLeft.js +0 -7
  340. package/node/internal/svg-icons/ArrowRight.js +0 -7
  341. package/node/internal/svg-icons/Calendar.js +0 -7
  342. package/node/internal/svg-icons/Clock.js +0 -7
  343. package/node/internal/svg-icons/DateRange.js +0 -7
  344. package/node/internal/svg-icons/Pen.js +0 -7
  345. package/node/internal/svg-icons/Time.js +0 -7
  346. package/node/useAutocomplete/index.js +0 -1
  347. package/package.json +6 -6
@@ -11,7 +11,6 @@ import TreeViewContext from './TreeViewContext';
11
11
  import { DescendantProvider } from './descendants';
12
12
  import { getTreeViewUtilityClass } from './treeViewClasses';
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
-
15
14
  const useUtilityClasses = ownerState => {
16
15
  const {
17
16
  classes
@@ -21,7 +20,6 @@ const useUtilityClasses = ownerState => {
21
20
  };
22
21
  return composeClasses(slots, getTreeViewUtilityClass, classes);
23
22
  };
24
-
25
23
  const TreeViewRoot = styled('ul', {
26
24
  name: 'MuiTreeView',
27
25
  slot: 'Root',
@@ -32,25 +30,20 @@ const TreeViewRoot = styled('ul', {
32
30
  listStyle: 'none',
33
31
  outline: 0
34
32
  });
35
-
36
33
  function isPrintableCharacter(string) {
37
34
  return string && string.length === 1 && string.match(/\S/);
38
35
  }
39
-
40
36
  function findNextFirstChar(firstChars, startIndex, char) {
41
37
  for (let i = startIndex; i < firstChars.length; i += 1) {
42
38
  if (char === firstChars[i]) {
43
39
  return i;
44
40
  }
45
41
  }
46
-
47
42
  return -1;
48
43
  }
49
-
50
44
  function noopSelection() {
51
45
  return false;
52
46
  }
53
-
54
47
  const defaultDefaultExpanded = [];
55
48
  const defaultDefaultSelected = [];
56
49
  const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
@@ -58,34 +51,31 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
58
51
  props: inProps,
59
52
  name: 'MuiTreeView'
60
53
  });
61
-
62
54
  const {
63
- children,
64
- className,
65
- defaultCollapseIcon,
66
- defaultEndIcon,
67
- defaultExpanded = defaultDefaultExpanded,
68
- defaultExpandIcon,
69
- defaultParentIcon,
70
- defaultSelected = defaultDefaultSelected,
71
- disabledItemsFocusable = false,
72
- disableSelection = false,
73
- expanded: expandedProp,
74
- id: idProp,
75
- multiSelect = false,
76
- onBlur,
77
- onFocus,
78
- onKeyDown,
79
- onNodeFocus,
80
- onNodeSelect,
81
- onNodeToggle,
82
- selected: selectedProp
83
- } = props,
84
- other = _objectWithoutPropertiesLoose(props, _excluded);
85
-
55
+ children,
56
+ className,
57
+ defaultCollapseIcon,
58
+ defaultEndIcon,
59
+ defaultExpanded = defaultDefaultExpanded,
60
+ defaultExpandIcon,
61
+ defaultParentIcon,
62
+ defaultSelected = defaultDefaultSelected,
63
+ disabledItemsFocusable = false,
64
+ disableSelection = false,
65
+ expanded: expandedProp,
66
+ id: idProp,
67
+ multiSelect = false,
68
+ onBlur,
69
+ onFocus,
70
+ onKeyDown,
71
+ onNodeFocus,
72
+ onNodeSelect,
73
+ onNodeToggle,
74
+ selected: selectedProp
75
+ } = props,
76
+ other = _objectWithoutPropertiesLoose(props, _excluded);
86
77
  const theme = useTheme();
87
78
  const isRtl = theme.direction === 'rtl';
88
-
89
79
  const ownerState = _extends({}, props, {
90
80
  defaultExpanded,
91
81
  defaultSelected,
@@ -93,7 +83,6 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
93
83
  disableSelection,
94
84
  multiSelect
95
85
  });
96
-
97
86
  const classes = useUtilityClasses(ownerState);
98
87
  const treeId = useId(idProp);
99
88
  const treeRef = React.useRef(null);
@@ -113,115 +102,95 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
113
102
  name: 'TreeView',
114
103
  state: 'selected'
115
104
  });
105
+
116
106
  /*
117
107
  * Status Helpers
118
108
  */
119
-
120
109
  const isExpanded = React.useCallback(id => Array.isArray(expanded) ? expanded.indexOf(id) !== -1 : false, [expanded]);
121
110
  const isExpandable = React.useCallback(id => nodeMap.current[id] && nodeMap.current[id].expandable, []);
122
111
  const isSelected = React.useCallback(id => Array.isArray(selected) ? selected.indexOf(id) !== -1 : selected === id, [selected]);
123
112
  const isDisabled = React.useCallback(id => {
124
- let node = nodeMap.current[id]; // This can be called before the node has been added to the node map.
113
+ let node = nodeMap.current[id];
125
114
 
115
+ // This can be called before the node has been added to the node map.
126
116
  if (!node) {
127
117
  return false;
128
118
  }
129
-
130
119
  if (node.disabled) {
131
120
  return true;
132
121
  }
133
-
134
122
  while (node.parentId != null) {
135
123
  node = nodeMap.current[node.parentId];
136
-
137
124
  if (node.disabled) {
138
125
  return true;
139
126
  }
140
127
  }
141
-
142
128
  return false;
143
129
  }, []);
144
-
145
130
  const isFocused = id => focusedNodeId === id;
131
+
146
132
  /*
147
133
  * Child Helpers
148
134
  */
149
- // Using Object.keys -> .map to mimic Object.values we should replace with Object.values() once we stop IE11 support.
150
-
151
135
 
136
+ // Using Object.keys -> .map to mimic Object.values we should replace with Object.values() once we stop IE11 support.
152
137
  const getChildrenIds = id => Object.keys(nodeMap.current).map(key => {
153
138
  return nodeMap.current[key];
154
139
  }).filter(node => node.parentId === id).sort((a, b) => a.index - b.index).map(child => child.id);
155
-
156
140
  const getNavigableChildrenIds = id => {
157
141
  let childrenIds = getChildrenIds(id);
158
-
159
142
  if (!disabledItemsFocusable) {
160
143
  childrenIds = childrenIds.filter(node => !isDisabled(node));
161
144
  }
162
-
163
145
  return childrenIds;
164
146
  };
147
+
165
148
  /*
166
149
  * Node Helpers
167
150
  */
168
151
 
169
-
170
152
  const getNextNode = id => {
171
153
  // If expanded get first child
172
154
  if (isExpanded(id) && getNavigableChildrenIds(id).length > 0) {
173
155
  return getNavigableChildrenIds(id)[0];
174
156
  }
175
-
176
157
  let node = nodeMap.current[id];
177
-
178
158
  while (node != null) {
179
159
  // Try to get next sibling
180
160
  const siblings = getNavigableChildrenIds(node.parentId);
181
161
  const nextSibling = siblings[siblings.indexOf(node.id) + 1];
182
-
183
162
  if (nextSibling) {
184
163
  return nextSibling;
185
- } // If the sibling does not exist, go up a level to the parent and try again.
186
-
164
+ }
187
165
 
166
+ // If the sibling does not exist, go up a level to the parent and try again.
188
167
  node = nodeMap.current[node.parentId];
189
168
  }
190
-
191
169
  return null;
192
170
  };
193
-
194
171
  const getPreviousNode = id => {
195
172
  const node = nodeMap.current[id];
196
173
  const siblings = getNavigableChildrenIds(node.parentId);
197
174
  const nodeIndex = siblings.indexOf(id);
198
-
199
175
  if (nodeIndex === 0) {
200
176
  return node.parentId;
201
177
  }
202
-
203
178
  let currentNode = siblings[nodeIndex - 1];
204
-
205
179
  while (isExpanded(currentNode) && getNavigableChildrenIds(currentNode).length > 0) {
206
180
  currentNode = getNavigableChildrenIds(currentNode).pop();
207
181
  }
208
-
209
182
  return currentNode;
210
183
  };
211
-
212
184
  const getLastNode = () => {
213
185
  let lastNode = getNavigableChildrenIds(null).pop();
214
-
215
186
  while (isExpanded(lastNode)) {
216
187
  lastNode = getNavigableChildrenIds(lastNode).pop();
217
188
  }
218
-
219
189
  return lastNode;
220
190
  };
221
-
222
191
  const getFirstNode = () => getNavigableChildrenIds(null)[0];
223
-
224
192
  const getParent = id => nodeMap.current[id].parentId;
193
+
225
194
  /**
226
195
  * This is used to determine the start and end of a selection range so
227
196
  * we can get the nodes between the two border nodes.
@@ -236,20 +205,15 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
236
205
  * Another way to put it is which node is shallower in a trémaux tree
237
206
  * https://en.wikipedia.org/wiki/Tr%C3%A9maux_tree
238
207
  */
239
-
240
-
241
208
  const findOrderInTremauxTree = (nodeAId, nodeBId) => {
242
209
  if (nodeAId === nodeBId) {
243
210
  return [nodeAId, nodeBId];
244
211
  }
245
-
246
212
  const nodeA = nodeMap.current[nodeAId];
247
213
  const nodeB = nodeMap.current[nodeBId];
248
-
249
214
  if (nodeA.parentId === nodeB.id || nodeB.parentId === nodeA.id) {
250
215
  return nodeB.parentId === nodeA.id ? [nodeA.id, nodeB.id] : [nodeB.id, nodeA.id];
251
216
  }
252
-
253
217
  const aFamily = [nodeA.id];
254
218
  const bFamily = [nodeB.id];
255
219
  let aAncestor = nodeA.parentId;
@@ -258,152 +222,131 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
258
222
  let bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;
259
223
  let continueA = true;
260
224
  let continueB = true;
261
-
262
225
  while (!bAncestorIsCommon && !aAncestorIsCommon) {
263
226
  if (continueA) {
264
227
  aFamily.push(aAncestor);
265
228
  aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;
266
229
  continueA = aAncestor !== null;
267
-
268
230
  if (!aAncestorIsCommon && continueA) {
269
231
  aAncestor = nodeMap.current[aAncestor].parentId;
270
232
  }
271
233
  }
272
-
273
234
  if (continueB && !aAncestorIsCommon) {
274
235
  bFamily.push(bAncestor);
275
236
  bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;
276
237
  continueB = bAncestor !== null;
277
-
278
238
  if (!bAncestorIsCommon && continueB) {
279
239
  bAncestor = nodeMap.current[bAncestor].parentId;
280
240
  }
281
241
  }
282
242
  }
283
-
284
243
  const commonAncestor = aAncestorIsCommon ? aAncestor : bAncestor;
285
244
  const ancestorFamily = getChildrenIds(commonAncestor);
286
245
  const aSide = aFamily[aFamily.indexOf(commonAncestor) - 1];
287
246
  const bSide = bFamily[bFamily.indexOf(commonAncestor) - 1];
288
247
  return ancestorFamily.indexOf(aSide) < ancestorFamily.indexOf(bSide) ? [nodeAId, nodeBId] : [nodeBId, nodeAId];
289
248
  };
290
-
291
249
  const getNodesInRange = (nodeA, nodeB) => {
292
250
  const [first, last] = findOrderInTremauxTree(nodeA, nodeB);
293
251
  const nodes = [first];
294
252
  let current = first;
295
-
296
253
  while (current !== last) {
297
254
  current = getNextNode(current);
298
255
  nodes.push(current);
299
256
  }
300
-
301
257
  return nodes;
302
258
  };
259
+
303
260
  /*
304
261
  * Focus Helpers
305
262
  */
306
263
 
307
-
308
264
  const focus = (event, id) => {
309
265
  if (id) {
310
266
  setFocusedNodeId(id);
311
-
312
267
  if (onNodeFocus) {
313
268
  onNodeFocus(event, id);
314
269
  }
315
270
  }
316
271
  };
317
-
318
272
  const focusNextNode = (event, id) => focus(event, getNextNode(id));
319
-
320
273
  const focusPreviousNode = (event, id) => focus(event, getPreviousNode(id));
321
-
322
274
  const focusFirstNode = event => focus(event, getFirstNode());
323
-
324
275
  const focusLastNode = event => focus(event, getLastNode());
325
-
326
276
  const focusByFirstCharacter = (event, id, char) => {
327
277
  let start;
328
278
  let index;
329
279
  const lowercaseChar = char.toLowerCase();
330
280
  const firstCharIds = [];
331
- const firstChars = []; // This really only works since the ids are strings
332
-
281
+ const firstChars = [];
282
+ // This really only works since the ids are strings
333
283
  Object.keys(firstCharMap.current).forEach(nodeId => {
334
284
  const firstChar = firstCharMap.current[nodeId];
335
285
  const map = nodeMap.current[nodeId];
336
286
  const visible = map.parentId ? isExpanded(map.parentId) : true;
337
287
  const shouldBeSkipped = disabledItemsFocusable ? false : isDisabled(nodeId);
338
-
339
288
  if (visible && !shouldBeSkipped) {
340
289
  firstCharIds.push(nodeId);
341
290
  firstChars.push(firstChar);
342
291
  }
343
- }); // Get start index for search based on position of currentItem
292
+ });
344
293
 
294
+ // Get start index for search based on position of currentItem
345
295
  start = firstCharIds.indexOf(id) + 1;
346
-
347
296
  if (start >= firstCharIds.length) {
348
297
  start = 0;
349
- } // Check remaining slots in the menu
350
-
298
+ }
351
299
 
352
- index = findNextFirstChar(firstChars, start, lowercaseChar); // If not found in remaining slots, check from beginning
300
+ // Check remaining slots in the menu
301
+ index = findNextFirstChar(firstChars, start, lowercaseChar);
353
302
 
303
+ // If not found in remaining slots, check from beginning
354
304
  if (index === -1) {
355
305
  index = findNextFirstChar(firstChars, 0, lowercaseChar);
356
- } // If match was found...
357
-
306
+ }
358
307
 
308
+ // If match was found...
359
309
  if (index > -1) {
360
310
  focus(event, firstCharIds[index]);
361
311
  }
362
312
  };
313
+
363
314
  /*
364
315
  * Expansion Helpers
365
316
  */
366
317
 
367
-
368
318
  const toggleExpansion = (event, value = focusedNodeId) => {
369
319
  let newExpanded;
370
-
371
320
  if (expanded.indexOf(value) !== -1) {
372
321
  newExpanded = expanded.filter(id => id !== value);
373
322
  } else {
374
323
  newExpanded = [value].concat(expanded);
375
324
  }
376
-
377
325
  if (onNodeToggle) {
378
326
  onNodeToggle(event, newExpanded);
379
327
  }
380
-
381
328
  setExpandedState(newExpanded);
382
329
  };
383
-
384
330
  const expandAllSiblings = (event, id) => {
385
331
  const map = nodeMap.current[id];
386
332
  const siblings = getChildrenIds(map.parentId);
387
333
  const diff = siblings.filter(child => isExpandable(child) && !isExpanded(child));
388
334
  const newExpanded = expanded.concat(diff);
389
-
390
335
  if (diff.length > 0) {
391
336
  setExpandedState(newExpanded);
392
-
393
337
  if (onNodeToggle) {
394
338
  onNodeToggle(event, newExpanded);
395
339
  }
396
340
  }
397
341
  };
342
+
398
343
  /*
399
344
  * Selection Helpers
400
345
  */
401
346
 
402
-
403
347
  const lastSelectedNode = React.useRef(null);
404
348
  const lastSelectionWasRange = React.useRef(false);
405
349
  const currentRangeSelection = React.useRef([]);
406
-
407
350
  const handleRangeArrowSelect = (event, nodes) => {
408
351
  let base = selected.slice();
409
352
  const {
@@ -411,15 +354,12 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
411
354
  next,
412
355
  current
413
356
  } = nodes;
414
-
415
357
  if (!next || !current) {
416
358
  return;
417
359
  }
418
-
419
360
  if (currentRangeSelection.current.indexOf(current) === -1) {
420
361
  currentRangeSelection.current = [];
421
362
  }
422
-
423
363
  if (lastSelectionWasRange.current) {
424
364
  if (currentRangeSelection.current.indexOf(next) !== -1) {
425
365
  base = base.filter(id => id === start || id !== current);
@@ -432,64 +372,50 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
432
372
  base.push(next);
433
373
  currentRangeSelection.current.push(current, next);
434
374
  }
435
-
436
375
  if (onNodeSelect) {
437
376
  onNodeSelect(event, base);
438
377
  }
439
-
440
378
  setSelectedState(base);
441
379
  };
442
-
443
380
  const handleRangeSelect = (event, nodes) => {
444
381
  let base = selected.slice();
445
382
  const {
446
383
  start,
447
384
  end
448
- } = nodes; // If last selection was a range selection ignore nodes that were selected.
449
-
385
+ } = nodes;
386
+ // If last selection was a range selection ignore nodes that were selected.
450
387
  if (lastSelectionWasRange.current) {
451
388
  base = base.filter(id => currentRangeSelection.current.indexOf(id) === -1);
452
389
  }
453
-
454
390
  let range = getNodesInRange(start, end);
455
391
  range = range.filter(node => !isDisabled(node));
456
392
  currentRangeSelection.current = range;
457
393
  let newSelected = base.concat(range);
458
394
  newSelected = newSelected.filter((id, i) => newSelected.indexOf(id) === i);
459
-
460
395
  if (onNodeSelect) {
461
396
  onNodeSelect(event, newSelected);
462
397
  }
463
-
464
398
  setSelectedState(newSelected);
465
399
  };
466
-
467
400
  const handleMultipleSelect = (event, value) => {
468
401
  let newSelected;
469
-
470
402
  if (selected.indexOf(value) !== -1) {
471
403
  newSelected = selected.filter(id => id !== value);
472
404
  } else {
473
405
  newSelected = [value].concat(selected);
474
406
  }
475
-
476
407
  if (onNodeSelect) {
477
408
  onNodeSelect(event, newSelected);
478
409
  }
479
-
480
410
  setSelectedState(newSelected);
481
411
  };
482
-
483
412
  const handleSingleSelect = (event, value) => {
484
413
  const newSelected = multiSelect ? [value] : value;
485
-
486
414
  if (onNodeSelect) {
487
415
  onNodeSelect(event, newSelected);
488
416
  }
489
-
490
417
  setSelectedState(newSelected);
491
418
  };
492
-
493
419
  const selectNode = (event, id, multiple = false) => {
494
420
  if (id) {
495
421
  if (multiple) {
@@ -497,23 +423,19 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
497
423
  } else {
498
424
  handleSingleSelect(event, id);
499
425
  }
500
-
501
426
  lastSelectedNode.current = id;
502
427
  lastSelectionWasRange.current = false;
503
428
  currentRangeSelection.current = [];
504
429
  return true;
505
430
  }
506
-
507
431
  return false;
508
432
  };
509
-
510
433
  const selectRange = (event, nodes, stacked = false) => {
511
434
  const {
512
435
  start = lastSelectedNode.current,
513
436
  end,
514
437
  current
515
438
  } = nodes;
516
-
517
439
  if (stacked) {
518
440
  handleRangeArrowSelect(event, {
519
441
  start,
@@ -526,34 +448,28 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
526
448
  end
527
449
  });
528
450
  }
529
-
530
451
  lastSelectionWasRange.current = true;
531
452
  };
532
-
533
453
  const rangeSelectToFirst = (event, id) => {
534
454
  if (!lastSelectedNode.current) {
535
455
  lastSelectedNode.current = id;
536
456
  }
537
-
538
457
  const start = lastSelectionWasRange.current ? lastSelectedNode.current : id;
539
458
  selectRange(event, {
540
459
  start,
541
460
  end: getFirstNode()
542
461
  });
543
462
  };
544
-
545
463
  const rangeSelectToLast = (event, id) => {
546
464
  if (!lastSelectedNode.current) {
547
465
  lastSelectedNode.current = id;
548
466
  }
549
-
550
467
  const start = lastSelectionWasRange.current ? lastSelectedNode.current : id;
551
468
  selectRange(event, {
552
469
  start,
553
470
  end: getLastNode()
554
471
  });
555
472
  };
556
-
557
473
  const selectNextNode = (event, id) => {
558
474
  if (!isDisabled(getNextNode(id))) {
559
475
  selectRange(event, {
@@ -562,7 +478,6 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
562
478
  }, true);
563
479
  }
564
480
  };
565
-
566
481
  const selectPreviousNode = (event, id) => {
567
482
  if (!isDisabled(getPreviousNode(id))) {
568
483
  selectRange(event, {
@@ -571,18 +486,16 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
571
486
  }, true);
572
487
  }
573
488
  };
574
-
575
489
  const selectAllNodes = event => {
576
490
  selectRange(event, {
577
491
  start: getFirstNode(),
578
492
  end: getLastNode()
579
493
  });
580
494
  };
495
+
581
496
  /*
582
497
  * Mapping Helpers
583
498
  */
584
-
585
-
586
499
  const registerNode = React.useCallback(node => {
587
500
  const {
588
501
  id,
@@ -603,14 +516,12 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
603
516
  }, []);
604
517
  const unregisterNode = React.useCallback(id => {
605
518
  const newMap = _extends({}, nodeMap.current);
606
-
607
519
  delete newMap[id];
608
520
  nodeMap.current = newMap;
609
521
  setFocusedNodeId(oldFocusedNodeId => {
610
522
  if (oldFocusedNodeId === id && treeRef.current === ownerDocument(treeRef.current).activeElement) {
611
523
  return getChildrenIds(null)[0];
612
524
  }
613
-
614
525
  return oldFocusedNodeId;
615
526
  });
616
527
  }, []);
@@ -619,10 +530,10 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
619
530
  }, []);
620
531
  const unMapFirstChar = React.useCallback(id => {
621
532
  const newMap = _extends({}, firstCharMap.current);
622
-
623
533
  delete newMap[id];
624
534
  firstCharMap.current = newMap;
625
535
  }, []);
536
+
626
537
  /**
627
538
  * Event handlers and Navigation
628
539
  */
@@ -635,36 +546,29 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
635
546
  toggleExpansion(event);
636
547
  }
637
548
  }
638
-
639
549
  return true;
640
550
  };
641
-
642
551
  const handlePreviousArrow = event => {
643
552
  if (isExpanded(focusedNodeId) && !isDisabled(focusedNodeId)) {
644
553
  toggleExpansion(event, focusedNodeId);
645
554
  return true;
646
555
  }
647
-
648
556
  const parent = getParent(focusedNodeId);
649
-
650
557
  if (parent) {
651
558
  focus(event, parent);
652
559
  return true;
653
560
  }
654
-
655
561
  return false;
656
562
  };
657
-
658
563
  const handleKeyDown = event => {
659
564
  let flag = false;
660
- const key = event.key; // If the tree is empty there will be no focused node
565
+ const key = event.key;
661
566
 
567
+ // If the tree is empty there will be no focused node
662
568
  if (event.altKey || event.currentTarget !== event.target || !focusedNodeId) {
663
569
  return;
664
570
  }
665
-
666
571
  const ctrlPressed = event.ctrlKey || event.metaKey;
667
-
668
572
  switch (key) {
669
573
  case ' ':
670
574
  if (!disableSelection && !isDisabled(focusedNodeId)) {
@@ -679,10 +583,8 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
679
583
  flag = selectNode(event, focusedNodeId);
680
584
  }
681
585
  }
682
-
683
586
  event.stopPropagation();
684
587
  break;
685
-
686
588
  case 'Enter':
687
589
  if (!isDisabled(focusedNodeId)) {
688
590
  if (isExpandable(focusedNodeId)) {
@@ -694,64 +596,50 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
694
596
  flag = selectNode(event, focusedNodeId);
695
597
  }
696
598
  }
697
-
698
599
  event.stopPropagation();
699
600
  break;
700
-
701
601
  case 'ArrowDown':
702
602
  if (multiSelect && event.shiftKey && !disableSelection) {
703
603
  selectNextNode(event, focusedNodeId);
704
604
  }
705
-
706
605
  focusNextNode(event, focusedNodeId);
707
606
  flag = true;
708
607
  break;
709
-
710
608
  case 'ArrowUp':
711
609
  if (multiSelect && event.shiftKey && !disableSelection) {
712
610
  selectPreviousNode(event, focusedNodeId);
713
611
  }
714
-
715
612
  focusPreviousNode(event, focusedNodeId);
716
613
  flag = true;
717
614
  break;
718
-
719
615
  case 'ArrowRight':
720
616
  if (isRtl) {
721
617
  flag = handlePreviousArrow(event);
722
618
  } else {
723
619
  flag = handleNextArrow(event);
724
620
  }
725
-
726
621
  break;
727
-
728
622
  case 'ArrowLeft':
729
623
  if (isRtl) {
730
624
  flag = handleNextArrow(event);
731
625
  } else {
732
626
  flag = handlePreviousArrow(event);
733
627
  }
734
-
735
628
  break;
736
-
737
629
  case 'Home':
738
630
  if (multiSelect && ctrlPressed && event.shiftKey && !disableSelection && !isDisabled(focusedNodeId)) {
739
631
  rangeSelectToFirst(event, focusedNodeId);
740
632
  }
741
-
742
633
  focusFirstNode(event);
743
634
  flag = true;
744
635
  break;
745
-
746
636
  case 'End':
747
637
  if (multiSelect && ctrlPressed && event.shiftKey && !disableSelection && !isDisabled(focusedNodeId)) {
748
638
  rangeSelectToLast(event, focusedNodeId);
749
639
  }
750
-
751
640
  focusLastNode(event);
752
641
  flag = true;
753
642
  break;
754
-
755
643
  default:
756
644
  if (key === '*') {
757
645
  expandAllSiblings(event, focusedNodeId);
@@ -763,43 +651,35 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
763
651
  focusByFirstCharacter(event, focusedNodeId, key);
764
652
  flag = true;
765
653
  }
766
-
767
654
  }
768
-
769
655
  if (flag) {
770
656
  event.preventDefault();
771
657
  event.stopPropagation();
772
658
  }
773
-
774
659
  if (onKeyDown) {
775
660
  onKeyDown(event);
776
661
  }
777
662
  };
778
-
779
663
  const handleFocus = event => {
780
664
  // if the event bubbled (which is React specific) we don't want to steal focus
781
665
  if (event.target === event.currentTarget) {
782
666
  const firstSelected = Array.isArray(selected) ? selected[0] : selected;
783
667
  focus(event, firstSelected || getNavigableChildrenIds(null)[0]);
784
668
  }
785
-
786
669
  if (onFocus) {
787
670
  onFocus(event);
788
671
  }
789
672
  };
790
-
791
673
  const handleBlur = event => {
792
674
  setFocusedNodeId(null);
793
-
794
675
  if (onBlur) {
795
676
  onBlur(event);
796
677
  }
797
678
  };
798
-
799
679
  const activeDescendant = nodeMap.current[focusedNodeId] ? nodeMap.current[focusedNodeId].idAttribute : null;
800
680
  return /*#__PURE__*/_jsx(TreeViewContext.Provider, {
801
- // TODO: fix lint error:
802
- /// eslint-disable-next-line react/jsx-no-constructed-context-values
681
+ // TODO: fix this lint error
682
+ // eslint-disable-next-line react/jsx-no-constructed-context-values
803
683
  value: {
804
684
  icons: {
805
685
  defaultCollapseIcon,
@@ -843,108 +723,88 @@ const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
843
723
  })
844
724
  });
845
725
  });
846
- process.env.NODE_ENV !== "production" ? TreeView.propTypes
847
- /* remove-proptypes */
848
- = {
726
+ process.env.NODE_ENV !== "production" ? TreeView.propTypes /* remove-proptypes */ = {
849
727
  // ----------------------------- Warning --------------------------------
850
728
  // | These PropTypes are generated from the TypeScript type definitions |
851
729
  // | To update them edit the d.ts file and run "yarn proptypes" |
852
730
  // ----------------------------------------------------------------------
853
-
854
731
  /**
855
732
  * The content of the component.
856
733
  */
857
734
  children: PropTypes.node,
858
-
859
735
  /**
860
736
  * Override or extend the styles applied to the component.
861
737
  */
862
738
  classes: PropTypes.object,
863
-
864
739
  /**
865
740
  * @ignore
866
741
  */
867
742
  className: PropTypes.string,
868
-
869
743
  /**
870
744
  * The default icon used to collapse the node.
871
745
  */
872
746
  defaultCollapseIcon: PropTypes.node,
873
-
874
747
  /**
875
748
  * The default icon displayed next to a end node. This is applied to all
876
749
  * tree nodes and can be overridden by the TreeItem `icon` prop.
877
750
  */
878
751
  defaultEndIcon: PropTypes.node,
879
-
880
752
  /**
881
753
  * Expanded node ids. (Uncontrolled)
882
754
  * @default []
883
755
  */
884
756
  defaultExpanded: PropTypes.arrayOf(PropTypes.string),
885
-
886
757
  /**
887
758
  * The default icon used to expand the node.
888
759
  */
889
760
  defaultExpandIcon: PropTypes.node,
890
-
891
761
  /**
892
762
  * The default icon displayed next to a parent node. This is applied to all
893
763
  * parent nodes and can be overridden by the TreeItem `icon` prop.
894
764
  */
895
765
  defaultParentIcon: PropTypes.node,
896
-
897
766
  /**
898
767
  * Selected node ids. (Uncontrolled)
899
768
  * When `multiSelect` is true this takes an array of strings; when false (default) a string.
900
769
  * @default []
901
770
  */
902
771
  defaultSelected: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]),
903
-
904
772
  /**
905
773
  * If `true`, will allow focus on disabled items.
906
774
  * @default false
907
775
  */
908
776
  disabledItemsFocusable: PropTypes.bool,
909
-
910
777
  /**
911
778
  * If `true` selection is disabled.
912
779
  * @default false
913
780
  */
914
781
  disableSelection: PropTypes.bool,
915
-
916
782
  /**
917
783
  * Expanded node ids. (Controlled)
918
784
  */
919
785
  expanded: PropTypes.arrayOf(PropTypes.string),
920
-
921
786
  /**
922
787
  * This prop is used to help implement the accessibility logic.
923
788
  * If you don't provide this prop. It falls back to a randomly generated id.
924
789
  */
925
790
  id: PropTypes.string,
926
-
927
791
  /**
928
792
  * If true `ctrl` and `shift` will trigger multiselect.
929
793
  * @default false
930
794
  */
931
795
  multiSelect: PropTypes.bool,
932
-
933
796
  /**
934
797
  * @ignore
935
798
  */
936
799
  onBlur: PropTypes.func,
937
-
938
800
  /**
939
801
  * @ignore
940
802
  */
941
803
  onFocus: PropTypes.func,
942
-
943
804
  /**
944
805
  * @ignore
945
806
  */
946
807
  onKeyDown: PropTypes.func,
947
-
948
808
  /**
949
809
  * Callback fired when tree items are focused.
950
810
  *
@@ -952,7 +812,6 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes
952
812
  * @param {string} value of the focused node.
953
813
  */
954
814
  onNodeFocus: PropTypes.func,
955
-
956
815
  /**
957
816
  * Callback fired when tree items are selected/unselected.
958
817
  *
@@ -961,7 +820,6 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes
961
820
  * this is an array of strings; when false (default) a string.
962
821
  */
963
822
  onNodeSelect: PropTypes.func,
964
-
965
823
  /**
966
824
  * Callback fired when tree items are expanded/collapsed.
967
825
  *
@@ -969,13 +827,11 @@ process.env.NODE_ENV !== "production" ? TreeView.propTypes
969
827
  * @param {array} nodeIds The ids of the expanded nodes.
970
828
  */
971
829
  onNodeToggle: PropTypes.func,
972
-
973
830
  /**
974
831
  * Selected node ids. (Controlled)
975
832
  * When `multiSelect` is true this takes an array of strings; when false (default) a string.
976
833
  */
977
834
  selected: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]),
978
-
979
835
  /**
980
836
  * The system prop that allows defining system overrides as well as additional CSS styles.
981
837
  */