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