@mui/lab 5.0.0-alpha.100

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