@multiplatform.one/components 7.8.0 → 7.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. package/README.md +98 -0
  2. package/dist/cjs/Accordion/index.cjs +3 -3
  3. package/dist/cjs/Accordion/index.native.js +4 -4
  4. package/dist/cjs/Accordion/index.native.js.map +1 -1
  5. package/dist/cjs/Chip/index.cjs +1 -1
  6. package/dist/cjs/Chip/index.native.js +1 -1
  7. package/dist/cjs/Chip/index.native.js.map +1 -1
  8. package/dist/cjs/ContextMenu/index.cjs +3 -3
  9. package/dist/cjs/ContextMenu/index.native.js +3 -3
  10. package/dist/cjs/ContextMenu/index.native.js.map +1 -1
  11. package/dist/cjs/DropdownMenu/index.cjs +3 -3
  12. package/dist/cjs/DropdownMenu/index.native.js +3 -3
  13. package/dist/cjs/DropdownMenu/index.native.js.map +1 -1
  14. package/dist/cjs/Meter/index.cjs +3 -2
  15. package/dist/cjs/Meter/index.native.js +3 -2
  16. package/dist/cjs/Meter/index.native.js.map +1 -1
  17. package/dist/cjs/Meter/meter.cjs +1 -2
  18. package/dist/cjs/Meter/meter.native.js +1 -2
  19. package/dist/cjs/Meter/meter.native.js.map +1 -1
  20. package/dist/cjs/Pagination.cjs +2 -2
  21. package/dist/cjs/Pagination.native.js +2 -2
  22. package/dist/cjs/Pagination.native.js.map +1 -1
  23. package/dist/cjs/ProgressSteps/index.cjs +3 -3
  24. package/dist/cjs/ProgressSteps/index.native.js +3 -3
  25. package/dist/cjs/ProgressSteps/index.native.js.map +1 -1
  26. package/dist/cjs/Quote/index.cjs +1 -2
  27. package/dist/cjs/Quote/index.native.js +1 -2
  28. package/dist/cjs/Quote/index.native.js.map +1 -1
  29. package/dist/cjs/SheetModal/index.cjs +22 -3
  30. package/dist/cjs/SheetModal/index.native.js +50 -10
  31. package/dist/cjs/SheetModal/index.native.js.map +1 -1
  32. package/dist/cjs/Tabs/index.cjs +34 -13
  33. package/dist/cjs/Tabs/index.native.js +38 -13
  34. package/dist/cjs/Tabs/index.native.js.map +1 -1
  35. package/dist/cjs/Toast/index.cjs +4 -5
  36. package/dist/cjs/Toast/index.native.js +4 -5
  37. package/dist/cjs/Toast/index.native.js.map +1 -1
  38. package/dist/cjs/TreeSelect/index.cjs +46 -7
  39. package/dist/cjs/TreeSelect/index.native.js +58 -7
  40. package/dist/cjs/TreeSelect/index.native.js.map +1 -1
  41. package/dist/cjs/charts/PieChart.cjs +1 -2
  42. package/dist/cjs/charts/PieChart.native.js +1 -2
  43. package/dist/cjs/charts/PieChart.native.js.map +1 -1
  44. package/dist/cjs/code/HighlightedCode/index.cjs +1 -1
  45. package/dist/cjs/code/HighlightedCode/index.native.js +1 -1
  46. package/dist/cjs/code/HighlightedCode/index.native.js.map +1 -1
  47. package/dist/cjs/componentColors.cjs +6 -4
  48. package/dist/cjs/componentColors.native.js +6 -4
  49. package/dist/cjs/componentColors.native.js.map +1 -1
  50. package/dist/cjs/images/Image/ImageFrame.cjs +4 -2
  51. package/dist/cjs/images/Image/ImageFrame.native.js +4 -2
  52. package/dist/cjs/images/Image/ImageFrame.native.js.map +1 -1
  53. package/dist/cjs/layouts/AsyncBoundary.cjs +1 -2
  54. package/dist/cjs/layouts/AsyncBoundary.native.js +1 -2
  55. package/dist/cjs/layouts/AsyncBoundary.native.js.map +1 -1
  56. package/dist/cjs/layouts/EmptyState.cjs +6 -2
  57. package/dist/cjs/layouts/EmptyState.native.js +10 -6
  58. package/dist/cjs/layouts/EmptyState.native.js.map +1 -1
  59. package/dist/cjs/layouts/attachments.cjs +4 -4
  60. package/dist/cjs/layouts/attachments.native.js +4 -4
  61. package/dist/cjs/layouts/attachments.native.js.map +1 -1
  62. package/dist/cjs/layouts/breadcrumbs.cjs +1 -2
  63. package/dist/cjs/layouts/breadcrumbs.native.js +1 -2
  64. package/dist/cjs/layouts/breadcrumbs.native.js.map +1 -1
  65. package/dist/cjs/layouts/page.cjs +2 -2
  66. package/dist/cjs/layouts/page.native.js +2 -2
  67. package/dist/cjs/layouts/page.native.js.map +1 -1
  68. package/dist/cjs/layouts/sidebar.cjs +2 -2
  69. package/dist/cjs/layouts/sidebar.native.js +2 -2
  70. package/dist/cjs/layouts/sidebar.native.js.map +1 -1
  71. package/dist/cjs/layouts/tags.cjs +6 -7
  72. package/dist/cjs/layouts/tags.native.js +6 -9
  73. package/dist/cjs/layouts/tags.native.js.map +1 -1
  74. package/dist/cjs/layouts/timeline.cjs +5 -5
  75. package/dist/cjs/layouts/timeline.native.js +5 -5
  76. package/dist/cjs/layouts/timeline.native.js.map +1 -1
  77. package/dist/cjs/surfaces.cjs +1 -0
  78. package/dist/cjs/surfaces.native.js +1 -0
  79. package/dist/cjs/surfaces.native.js.map +1 -1
  80. package/dist/cjs/views/Calendar.cjs +11 -8
  81. package/dist/cjs/views/Calendar.native.js +11 -8
  82. package/dist/cjs/views/Calendar.native.js.map +1 -1
  83. package/dist/cjs/views/Dashboard.cjs +6 -6
  84. package/dist/cjs/views/Dashboard.native.js +7 -7
  85. package/dist/cjs/views/Dashboard.native.js.map +1 -1
  86. package/dist/cjs/views/Gantt.cjs +3 -3
  87. package/dist/cjs/views/Gantt.native.js +3 -3
  88. package/dist/cjs/views/Gantt.native.js.map +1 -1
  89. package/dist/cjs/views/Kanban.cjs +2 -2
  90. package/dist/cjs/views/Kanban.native.js +2 -2
  91. package/dist/cjs/views/Kanban.native.js.map +1 -1
  92. package/dist/cjs/views/ReportBuilder.cjs +4 -4
  93. package/dist/cjs/views/ReportBuilder.native.js +4 -4
  94. package/dist/cjs/views/ReportBuilder.native.js.map +1 -1
  95. package/dist/cjs/views/TreeView.cjs +248 -19
  96. package/dist/cjs/views/TreeView.native.js +264 -20
  97. package/dist/cjs/views/TreeView.native.js.map +1 -1
  98. package/dist/cjs/views/treeViewReveal.cjs +55 -0
  99. package/dist/cjs/views/treeViewReveal.native.js +80 -0
  100. package/dist/cjs/views/treeViewReveal.native.js.map +1 -0
  101. package/dist/esm/Accordion/index.mjs +3 -3
  102. package/dist/esm/Accordion/index.mjs.map +1 -1
  103. package/dist/esm/Accordion/index.native.js +4 -4
  104. package/dist/esm/Accordion/index.native.js.map +1 -1
  105. package/dist/esm/Chip/index.mjs +1 -1
  106. package/dist/esm/Chip/index.mjs.map +1 -1
  107. package/dist/esm/Chip/index.native.js +1 -1
  108. package/dist/esm/Chip/index.native.js.map +1 -1
  109. package/dist/esm/ContextMenu/index.mjs +3 -3
  110. package/dist/esm/ContextMenu/index.mjs.map +1 -1
  111. package/dist/esm/ContextMenu/index.native.js +3 -3
  112. package/dist/esm/ContextMenu/index.native.js.map +1 -1
  113. package/dist/esm/DropdownMenu/index.mjs +3 -3
  114. package/dist/esm/DropdownMenu/index.mjs.map +1 -1
  115. package/dist/esm/DropdownMenu/index.native.js +3 -3
  116. package/dist/esm/DropdownMenu/index.native.js.map +1 -1
  117. package/dist/esm/Meter/index.mjs +3 -2
  118. package/dist/esm/Meter/index.mjs.map +1 -1
  119. package/dist/esm/Meter/index.native.js +3 -2
  120. package/dist/esm/Meter/index.native.js.map +1 -1
  121. package/dist/esm/Meter/meter.mjs +1 -2
  122. package/dist/esm/Meter/meter.mjs.map +1 -1
  123. package/dist/esm/Meter/meter.native.js +1 -2
  124. package/dist/esm/Meter/meter.native.js.map +1 -1
  125. package/dist/esm/Pagination.mjs +2 -2
  126. package/dist/esm/Pagination.mjs.map +1 -1
  127. package/dist/esm/Pagination.native.js +2 -2
  128. package/dist/esm/Pagination.native.js.map +1 -1
  129. package/dist/esm/ProgressSteps/index.mjs +3 -3
  130. package/dist/esm/ProgressSteps/index.mjs.map +1 -1
  131. package/dist/esm/ProgressSteps/index.native.js +3 -3
  132. package/dist/esm/ProgressSteps/index.native.js.map +1 -1
  133. package/dist/esm/Quote/index.mjs +1 -2
  134. package/dist/esm/Quote/index.mjs.map +1 -1
  135. package/dist/esm/Quote/index.native.js +1 -2
  136. package/dist/esm/Quote/index.native.js.map +1 -1
  137. package/dist/esm/SheetModal/index.mjs +22 -3
  138. package/dist/esm/SheetModal/index.mjs.map +1 -1
  139. package/dist/esm/SheetModal/index.native.js +51 -11
  140. package/dist/esm/SheetModal/index.native.js.map +1 -1
  141. package/dist/esm/Tabs/index.mjs +34 -13
  142. package/dist/esm/Tabs/index.mjs.map +1 -1
  143. package/dist/esm/Tabs/index.native.js +38 -13
  144. package/dist/esm/Tabs/index.native.js.map +1 -1
  145. package/dist/esm/Toast/index.mjs +4 -5
  146. package/dist/esm/Toast/index.mjs.map +1 -1
  147. package/dist/esm/Toast/index.native.js +4 -5
  148. package/dist/esm/Toast/index.native.js.map +1 -1
  149. package/dist/esm/TreeSelect/index.mjs +46 -7
  150. package/dist/esm/TreeSelect/index.mjs.map +1 -1
  151. package/dist/esm/TreeSelect/index.native.js +58 -7
  152. package/dist/esm/TreeSelect/index.native.js.map +1 -1
  153. package/dist/esm/charts/PieChart.mjs +1 -2
  154. package/dist/esm/charts/PieChart.mjs.map +1 -1
  155. package/dist/esm/charts/PieChart.native.js +1 -2
  156. package/dist/esm/charts/PieChart.native.js.map +1 -1
  157. package/dist/esm/code/HighlightedCode/index.mjs +1 -1
  158. package/dist/esm/code/HighlightedCode/index.mjs.map +1 -1
  159. package/dist/esm/code/HighlightedCode/index.native.js +1 -1
  160. package/dist/esm/code/HighlightedCode/index.native.js.map +1 -1
  161. package/dist/esm/componentColors.mjs +6 -4
  162. package/dist/esm/componentColors.mjs.map +1 -1
  163. package/dist/esm/componentColors.native.js +6 -4
  164. package/dist/esm/componentColors.native.js.map +1 -1
  165. package/dist/esm/images/Image/ImageFrame.mjs +4 -2
  166. package/dist/esm/images/Image/ImageFrame.mjs.map +1 -1
  167. package/dist/esm/images/Image/ImageFrame.native.js +4 -2
  168. package/dist/esm/images/Image/ImageFrame.native.js.map +1 -1
  169. package/dist/esm/layouts/AsyncBoundary.mjs +1 -2
  170. package/dist/esm/layouts/AsyncBoundary.mjs.map +1 -1
  171. package/dist/esm/layouts/AsyncBoundary.native.js +1 -2
  172. package/dist/esm/layouts/AsyncBoundary.native.js.map +1 -1
  173. package/dist/esm/layouts/EmptyState.mjs +7 -3
  174. package/dist/esm/layouts/EmptyState.mjs.map +1 -1
  175. package/dist/esm/layouts/EmptyState.native.js +11 -7
  176. package/dist/esm/layouts/EmptyState.native.js.map +1 -1
  177. package/dist/esm/layouts/attachments.mjs +4 -4
  178. package/dist/esm/layouts/attachments.mjs.map +1 -1
  179. package/dist/esm/layouts/attachments.native.js +4 -4
  180. package/dist/esm/layouts/attachments.native.js.map +1 -1
  181. package/dist/esm/layouts/breadcrumbs.mjs +1 -2
  182. package/dist/esm/layouts/breadcrumbs.mjs.map +1 -1
  183. package/dist/esm/layouts/breadcrumbs.native.js +1 -2
  184. package/dist/esm/layouts/breadcrumbs.native.js.map +1 -1
  185. package/dist/esm/layouts/page.mjs +2 -2
  186. package/dist/esm/layouts/page.mjs.map +1 -1
  187. package/dist/esm/layouts/page.native.js +2 -2
  188. package/dist/esm/layouts/page.native.js.map +1 -1
  189. package/dist/esm/layouts/sidebar.mjs +2 -2
  190. package/dist/esm/layouts/sidebar.mjs.map +1 -1
  191. package/dist/esm/layouts/sidebar.native.js +2 -2
  192. package/dist/esm/layouts/sidebar.native.js.map +1 -1
  193. package/dist/esm/layouts/tags.mjs +6 -7
  194. package/dist/esm/layouts/tags.mjs.map +1 -1
  195. package/dist/esm/layouts/tags.native.js +6 -9
  196. package/dist/esm/layouts/tags.native.js.map +1 -1
  197. package/dist/esm/layouts/timeline.mjs +5 -5
  198. package/dist/esm/layouts/timeline.mjs.map +1 -1
  199. package/dist/esm/layouts/timeline.native.js +5 -5
  200. package/dist/esm/layouts/timeline.native.js.map +1 -1
  201. package/dist/esm/surfaces.mjs +1 -0
  202. package/dist/esm/surfaces.mjs.map +1 -1
  203. package/dist/esm/surfaces.native.js +1 -0
  204. package/dist/esm/surfaces.native.js.map +1 -1
  205. package/dist/esm/views/Calendar.mjs +11 -8
  206. package/dist/esm/views/Calendar.mjs.map +1 -1
  207. package/dist/esm/views/Calendar.native.js +11 -8
  208. package/dist/esm/views/Calendar.native.js.map +1 -1
  209. package/dist/esm/views/Dashboard.mjs +6 -6
  210. package/dist/esm/views/Dashboard.mjs.map +1 -1
  211. package/dist/esm/views/Dashboard.native.js +7 -7
  212. package/dist/esm/views/Dashboard.native.js.map +1 -1
  213. package/dist/esm/views/Gantt.mjs +3 -3
  214. package/dist/esm/views/Gantt.mjs.map +1 -1
  215. package/dist/esm/views/Gantt.native.js +3 -3
  216. package/dist/esm/views/Gantt.native.js.map +1 -1
  217. package/dist/esm/views/Kanban.mjs +2 -2
  218. package/dist/esm/views/Kanban.mjs.map +1 -1
  219. package/dist/esm/views/Kanban.native.js +2 -2
  220. package/dist/esm/views/Kanban.native.js.map +1 -1
  221. package/dist/esm/views/ReportBuilder.mjs +4 -4
  222. package/dist/esm/views/ReportBuilder.mjs.map +1 -1
  223. package/dist/esm/views/ReportBuilder.native.js +4 -4
  224. package/dist/esm/views/ReportBuilder.native.js.map +1 -1
  225. package/dist/esm/views/TreeView.mjs +249 -20
  226. package/dist/esm/views/TreeView.mjs.map +1 -1
  227. package/dist/esm/views/TreeView.native.js +265 -21
  228. package/dist/esm/views/TreeView.native.js.map +1 -1
  229. package/dist/esm/views/treeViewReveal.mjs +29 -0
  230. package/dist/esm/views/treeViewReveal.mjs.map +1 -0
  231. package/dist/esm/views/treeViewReveal.native.js +51 -0
  232. package/dist/esm/views/treeViewReveal.native.js.map +1 -0
  233. package/dist/jsx/Accordion/index.mjs +3 -3
  234. package/dist/jsx/Accordion/index.mjs.map +1 -1
  235. package/dist/jsx/Accordion/index.native.js +4 -4
  236. package/dist/jsx/Accordion/index.native.js.map +1 -1
  237. package/dist/jsx/Chip/index.mjs +1 -1
  238. package/dist/jsx/Chip/index.mjs.map +1 -1
  239. package/dist/jsx/Chip/index.native.js +1 -1
  240. package/dist/jsx/Chip/index.native.js.map +1 -1
  241. package/dist/jsx/ContextMenu/index.mjs +3 -3
  242. package/dist/jsx/ContextMenu/index.mjs.map +1 -1
  243. package/dist/jsx/ContextMenu/index.native.js +3 -3
  244. package/dist/jsx/ContextMenu/index.native.js.map +1 -1
  245. package/dist/jsx/DropdownMenu/index.mjs +3 -3
  246. package/dist/jsx/DropdownMenu/index.mjs.map +1 -1
  247. package/dist/jsx/DropdownMenu/index.native.js +3 -3
  248. package/dist/jsx/DropdownMenu/index.native.js.map +1 -1
  249. package/dist/jsx/Meter/index.mjs +3 -2
  250. package/dist/jsx/Meter/index.mjs.map +1 -1
  251. package/dist/jsx/Meter/index.native.js +3 -2
  252. package/dist/jsx/Meter/index.native.js.map +1 -1
  253. package/dist/jsx/Meter/meter.mjs +1 -2
  254. package/dist/jsx/Meter/meter.mjs.map +1 -1
  255. package/dist/jsx/Meter/meter.native.js +1 -2
  256. package/dist/jsx/Meter/meter.native.js.map +1 -1
  257. package/dist/jsx/Pagination.mjs +2 -2
  258. package/dist/jsx/Pagination.mjs.map +1 -1
  259. package/dist/jsx/Pagination.native.js +2 -2
  260. package/dist/jsx/Pagination.native.js.map +1 -1
  261. package/dist/jsx/ProgressSteps/index.mjs +3 -3
  262. package/dist/jsx/ProgressSteps/index.mjs.map +1 -1
  263. package/dist/jsx/ProgressSteps/index.native.js +3 -3
  264. package/dist/jsx/ProgressSteps/index.native.js.map +1 -1
  265. package/dist/jsx/Quote/index.mjs +1 -2
  266. package/dist/jsx/Quote/index.mjs.map +1 -1
  267. package/dist/jsx/Quote/index.native.js +1 -2
  268. package/dist/jsx/Quote/index.native.js.map +1 -1
  269. package/dist/jsx/SheetModal/index.mjs +22 -3
  270. package/dist/jsx/SheetModal/index.mjs.map +1 -1
  271. package/dist/jsx/SheetModal/index.native.js +50 -10
  272. package/dist/jsx/SheetModal/index.native.js.map +1 -1
  273. package/dist/jsx/Tabs/index.mjs +34 -13
  274. package/dist/jsx/Tabs/index.mjs.map +1 -1
  275. package/dist/jsx/Tabs/index.native.js +38 -13
  276. package/dist/jsx/Tabs/index.native.js.map +1 -1
  277. package/dist/jsx/Toast/index.mjs +4 -5
  278. package/dist/jsx/Toast/index.mjs.map +1 -1
  279. package/dist/jsx/Toast/index.native.js +4 -5
  280. package/dist/jsx/Toast/index.native.js.map +1 -1
  281. package/dist/jsx/TreeSelect/index.mjs +46 -7
  282. package/dist/jsx/TreeSelect/index.mjs.map +1 -1
  283. package/dist/jsx/TreeSelect/index.native.js +58 -7
  284. package/dist/jsx/TreeSelect/index.native.js.map +1 -1
  285. package/dist/jsx/charts/PieChart.mjs +1 -2
  286. package/dist/jsx/charts/PieChart.mjs.map +1 -1
  287. package/dist/jsx/charts/PieChart.native.js +1 -2
  288. package/dist/jsx/charts/PieChart.native.js.map +1 -1
  289. package/dist/jsx/code/HighlightedCode/index.mjs +1 -1
  290. package/dist/jsx/code/HighlightedCode/index.mjs.map +1 -1
  291. package/dist/jsx/code/HighlightedCode/index.native.js +1 -1
  292. package/dist/jsx/code/HighlightedCode/index.native.js.map +1 -1
  293. package/dist/jsx/componentColors.mjs +6 -4
  294. package/dist/jsx/componentColors.mjs.map +1 -1
  295. package/dist/jsx/componentColors.native.js +6 -4
  296. package/dist/jsx/componentColors.native.js.map +1 -1
  297. package/dist/jsx/images/Image/ImageFrame.mjs +4 -2
  298. package/dist/jsx/images/Image/ImageFrame.mjs.map +1 -1
  299. package/dist/jsx/images/Image/ImageFrame.native.js +4 -2
  300. package/dist/jsx/images/Image/ImageFrame.native.js.map +1 -1
  301. package/dist/jsx/layouts/AsyncBoundary.mjs +1 -2
  302. package/dist/jsx/layouts/AsyncBoundary.mjs.map +1 -1
  303. package/dist/jsx/layouts/AsyncBoundary.native.js +1 -2
  304. package/dist/jsx/layouts/AsyncBoundary.native.js.map +1 -1
  305. package/dist/jsx/layouts/EmptyState.mjs +7 -3
  306. package/dist/jsx/layouts/EmptyState.mjs.map +1 -1
  307. package/dist/jsx/layouts/EmptyState.native.js +10 -6
  308. package/dist/jsx/layouts/EmptyState.native.js.map +1 -1
  309. package/dist/jsx/layouts/attachments.mjs +4 -4
  310. package/dist/jsx/layouts/attachments.mjs.map +1 -1
  311. package/dist/jsx/layouts/attachments.native.js +4 -4
  312. package/dist/jsx/layouts/attachments.native.js.map +1 -1
  313. package/dist/jsx/layouts/breadcrumbs.mjs +1 -2
  314. package/dist/jsx/layouts/breadcrumbs.mjs.map +1 -1
  315. package/dist/jsx/layouts/breadcrumbs.native.js +1 -2
  316. package/dist/jsx/layouts/breadcrumbs.native.js.map +1 -1
  317. package/dist/jsx/layouts/page.mjs +2 -2
  318. package/dist/jsx/layouts/page.mjs.map +1 -1
  319. package/dist/jsx/layouts/page.native.js +2 -2
  320. package/dist/jsx/layouts/page.native.js.map +1 -1
  321. package/dist/jsx/layouts/sidebar.mjs +2 -2
  322. package/dist/jsx/layouts/sidebar.mjs.map +1 -1
  323. package/dist/jsx/layouts/sidebar.native.js +2 -2
  324. package/dist/jsx/layouts/sidebar.native.js.map +1 -1
  325. package/dist/jsx/layouts/tags.mjs +6 -7
  326. package/dist/jsx/layouts/tags.mjs.map +1 -1
  327. package/dist/jsx/layouts/tags.native.js +6 -9
  328. package/dist/jsx/layouts/tags.native.js.map +1 -1
  329. package/dist/jsx/layouts/timeline.mjs +5 -5
  330. package/dist/jsx/layouts/timeline.mjs.map +1 -1
  331. package/dist/jsx/layouts/timeline.native.js +5 -5
  332. package/dist/jsx/layouts/timeline.native.js.map +1 -1
  333. package/dist/jsx/surfaces.mjs +1 -0
  334. package/dist/jsx/surfaces.mjs.map +1 -1
  335. package/dist/jsx/surfaces.native.js +1 -0
  336. package/dist/jsx/surfaces.native.js.map +1 -1
  337. package/dist/jsx/views/Calendar.mjs +11 -8
  338. package/dist/jsx/views/Calendar.mjs.map +1 -1
  339. package/dist/jsx/views/Calendar.native.js +11 -8
  340. package/dist/jsx/views/Calendar.native.js.map +1 -1
  341. package/dist/jsx/views/Dashboard.mjs +6 -6
  342. package/dist/jsx/views/Dashboard.mjs.map +1 -1
  343. package/dist/jsx/views/Dashboard.native.js +7 -7
  344. package/dist/jsx/views/Dashboard.native.js.map +1 -1
  345. package/dist/jsx/views/Gantt.mjs +3 -3
  346. package/dist/jsx/views/Gantt.mjs.map +1 -1
  347. package/dist/jsx/views/Gantt.native.js +3 -3
  348. package/dist/jsx/views/Gantt.native.js.map +1 -1
  349. package/dist/jsx/views/Kanban.mjs +2 -2
  350. package/dist/jsx/views/Kanban.mjs.map +1 -1
  351. package/dist/jsx/views/Kanban.native.js +2 -2
  352. package/dist/jsx/views/Kanban.native.js.map +1 -1
  353. package/dist/jsx/views/ReportBuilder.mjs +4 -4
  354. package/dist/jsx/views/ReportBuilder.mjs.map +1 -1
  355. package/dist/jsx/views/ReportBuilder.native.js +4 -4
  356. package/dist/jsx/views/ReportBuilder.native.js.map +1 -1
  357. package/dist/jsx/views/TreeView.mjs +249 -20
  358. package/dist/jsx/views/TreeView.mjs.map +1 -1
  359. package/dist/jsx/views/TreeView.native.js +264 -20
  360. package/dist/jsx/views/TreeView.native.js.map +1 -1
  361. package/dist/jsx/views/treeViewReveal.mjs +29 -0
  362. package/dist/jsx/views/treeViewReveal.mjs.map +1 -0
  363. package/dist/jsx/views/treeViewReveal.native.js +80 -0
  364. package/dist/jsx/views/treeViewReveal.native.js.map +1 -0
  365. package/package.json +11 -11
  366. package/src/Accordion/index.tsx +4 -6
  367. package/src/Chip/index.tsx +1 -1
  368. package/src/ContextMenu/index.tsx +3 -3
  369. package/src/DropdownMenu/index.tsx +3 -3
  370. package/src/Meter/Meter.spec.tsx +12 -4
  371. package/src/Meter/index.tsx +3 -2
  372. package/src/Meter/meter.ts +6 -1
  373. package/src/Pagination.tsx +2 -2
  374. package/src/ProgressSteps/index.tsx +3 -3
  375. package/src/Quote/index.tsx +1 -3
  376. package/src/SheetModal/SheetModal.fill.spec.tsx +147 -0
  377. package/src/SheetModal/SheetModal.ownedBody.spec.tsx +200 -0
  378. package/src/SheetModal/SheetModal.stories.spec.tsx +23 -2
  379. package/src/SheetModal/SheetModal.stories.tsx +275 -2
  380. package/src/SheetModal/index.native.tsx +50 -6
  381. package/src/SheetModal/index.tsx +40 -3
  382. package/src/Tabs/Tabs.lifecycle.spec.tsx +123 -0
  383. package/src/Tabs/Tabs.measurement.spec.tsx +186 -0
  384. package/src/Tabs/Tabs.stories.tsx +43 -0
  385. package/src/Tabs/index.tsx +44 -15
  386. package/src/Toast/Toast.spec.tsx +120 -48
  387. package/src/Toast/index.tsx +5 -3
  388. package/src/TreeSelect/index.tsx +61 -1
  389. package/src/charts/PieChart.tsx +1 -2
  390. package/src/code/HighlightedCode/index.tsx +1 -1
  391. package/src/componentColors.ts +6 -4
  392. package/src/images/Image/ImageFrame.tsx +2 -2
  393. package/src/layouts/AsyncBoundary.tsx +1 -2
  394. package/src/layouts/EmptyState.spec.tsx +58 -1
  395. package/src/layouts/EmptyState.tsx +11 -7
  396. package/src/layouts/KeyboardAvoidingWrapper/KeyboardAvoidingWrapper.stories.tsx +3 -3
  397. package/src/layouts/PaneScaffold.stories.tsx +3 -8
  398. package/src/layouts/SafeAreaWrapper/SafeAreaWrapper.stories.tsx +3 -3
  399. package/src/layouts/attachments.tsx +4 -4
  400. package/src/layouts/breadcrumbs.tsx +1 -2
  401. package/src/layouts/page.tsx +2 -2
  402. package/src/layouts/sidebar.tsx +2 -2
  403. package/src/layouts/tags-trigger.spec.tsx +32 -0
  404. package/src/layouts/tags.tsx +7 -9
  405. package/src/layouts/timeline.tsx +5 -5
  406. package/src/surfaces.spec.tsx +97 -3
  407. package/src/surfaces.tsx +4 -2
  408. package/src/textAccentSecondary.spec.tsx +187 -0
  409. package/src/views/Calendar.tsx +9 -8
  410. package/src/views/Dashboard.tsx +13 -8
  411. package/src/views/Gantt.tsx +3 -3
  412. package/src/views/Kanban.native.tsx +2 -2
  413. package/src/views/Kanban.tsx +2 -2
  414. package/src/views/ReportBuilder.tsx +4 -4
  415. package/src/views/TreeView.reveal.spec.tsx +174 -0
  416. package/src/views/TreeView.reveal.stories.tsx +249 -0
  417. package/src/views/TreeView.scroll-index.spec.tsx +246 -0
  418. package/src/views/TreeView.scroll.spec.tsx +857 -0
  419. package/src/views/TreeView.spec.tsx +1 -1
  420. package/src/views/TreeView.tsx +353 -29
  421. package/src/views/treeViewReveal.spec.ts +83 -0
  422. package/src/views/treeViewReveal.ts +45 -0
  423. package/src/views/views.spec.tsx +13 -12
  424. package/types/Accordion/index.d.ts.map +1 -1
  425. package/types/Meter/index.d.ts.map +1 -1
  426. package/types/Meter/meter.d.ts +5 -1
  427. package/types/Meter/meter.d.ts.map +1 -1
  428. package/types/Quote/index.d.ts.map +1 -1
  429. package/types/SheetModal/index.d.ts +8 -1
  430. package/types/SheetModal/index.d.ts.map +1 -1
  431. package/types/SheetModal/index.native.d.ts +1 -1
  432. package/types/SheetModal/index.native.d.ts.map +1 -1
  433. package/types/Tabs/index.d.ts.map +1 -1
  434. package/types/Toast/index.d.ts.map +1 -1
  435. package/types/TreeSelect/index.d.ts +9 -1
  436. package/types/TreeSelect/index.d.ts.map +1 -1
  437. package/types/charts/PieChart.d.ts.map +1 -1
  438. package/types/componentColors.d.ts +1 -4
  439. package/types/componentColors.d.ts.map +1 -1
  440. package/types/images/Image/ImageFrame.d.ts.map +1 -1
  441. package/types/layouts/AsyncBoundary.d.ts.map +1 -1
  442. package/types/layouts/EmptyState.d.ts.map +1 -1
  443. package/types/layouts/breadcrumbs.d.ts.map +1 -1
  444. package/types/layouts/tags.d.ts.map +1 -1
  445. package/types/surfaces.d.ts.map +1 -1
  446. package/types/views/Calendar.d.ts.map +1 -1
  447. package/types/views/Dashboard.d.ts +7 -3
  448. package/types/views/Dashboard.d.ts.map +1 -1
  449. package/types/views/TreeView.d.ts +19 -1
  450. package/types/views/TreeView.d.ts.map +1 -1
  451. package/types/views/treeViewReveal.d.ts +11 -0
  452. package/types/views/treeViewReveal.d.ts.map +1 -0
@@ -8,10 +8,11 @@ import { useDirection } from "../hooks/useDirection.native.js";
8
8
  import { useHotkey } from "@tanstack/react-hotkeys";
9
9
  import React, { useCallback, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
10
10
  import { useTranslation } from "../shared/i18n.native.js";
11
- import { Text, View, XStack, YStack } from "tamagui";
11
+ import { Text, View, XStack, YStack, isWeb } from "tamagui";
12
12
  import { autoScrollVelocity } from "./kanbanDnd.native.js";
13
13
  import { applyTreeMove, describeTreeCancel, describeTreeDragState, flattenDndRows, indicatorForTarget, resolveTreeDrop, subtreeIds, treeDropTargetForY, treeKeyboardLift, treeKeyboardMove } from "./treeViewDnd.native.js";
14
14
  import { diffVisibleRows, flattenVisibleIds, isEmptyDiff } from "./treeViewMotion.native.js";
15
+ import { treeRevealExpansion, treeRevealOffset } from "./treeViewReveal.native.js";
15
16
  import { TREE_LIFT_SHADOW, treeDefaultHeight, treeEdgeRowPad, treeIndentStep } from "./treeViewLayout.native.js";
16
17
  var ENTER_RISE_PX = -4;
17
18
  var DRAG_THRESHOLD_PX = 4;
@@ -107,8 +108,14 @@ function TreeView(param) {
107
108
  estimateSize: estimateSizeProp,
108
109
  overscan = 10,
109
110
  height: heightProp,
111
+ initialScrollOffset,
112
+ onScrollOffsetChange,
110
113
  emptyMessage: emptyMessageProp,
111
114
  defaultExpandedIds,
115
+ expandedIds: controlledExpandedIds,
116
+ onExpandedIdsChange,
117
+ revealRequest,
118
+ onRevealComplete,
112
119
  expandByDefault = false,
113
120
  display = "default",
114
121
  showExpansionArrows = true,
@@ -148,6 +155,28 @@ function TreeView(param) {
148
155
  var treeId = useId();
149
156
  var containerRef = useRef(null);
150
157
  var flashListRef = useRef(null);
158
+ var initialScroll = useRef(initialScrollOffset === void 0 ? void 0 : {
159
+ offset: Number.isFinite(initialScrollOffset) ? Math.max(0, initialScrollOffset) : 0
160
+ });
161
+ var cancelInitialScroll = useCallback(function () {
162
+ initialScroll.current = void 0;
163
+ }, []);
164
+ var hasNodes = nodes.length > 0;
165
+ var listInstance = useMemo(function () {
166
+ return {
167
+ hasNodes,
168
+ attached: false,
169
+ loaded: false,
170
+ indexScrollRequested: false,
171
+ offset: 0
172
+ };
173
+ }, [hasNodes]);
174
+ var scrollActive = useRef(true);
175
+ var lastReportedOffset = useRef(void 0);
176
+ var offsetCallback = useRef(onScrollOffsetChange);
177
+ useLayoutEffect(function () {
178
+ offsetCallback.current = onScrollOffsetChange;
179
+ }, [onScrollOffsetChange]);
151
180
  var [focusedIndex, setFocusedIndex] = useState(-1);
152
181
  var [keyboardRing, setKeyboardRing] = useState(false);
153
182
  var typeaheadRef = useRef({
@@ -165,11 +194,18 @@ function TreeView(param) {
165
194
  var handleContainerBlur = useCallback(function () {
166
195
  setKeyboardRing(false);
167
196
  }, []);
168
- var [expandedIds, setExpandedIds] = useState(function () {
197
+ var [internalExpandedIds, setInternalExpandedIds] = useState(function () {
169
198
  if (defaultExpandedIds) return new Set(defaultExpandedIds);
170
199
  if (expandByDefault) return collectBranchIds(nodes);
171
200
  return /* @__PURE__ */new Set();
172
201
  });
202
+ var expandedIds = useMemo(function () {
203
+ return controlledExpandedIds === void 0 ? internalExpandedIds : new Set(controlledExpandedIds);
204
+ }, [controlledExpandedIds, internalExpandedIds]);
205
+ var setExpandedIds = useCallback(function (next) {
206
+ if (controlledExpandedIds === void 0) setInternalExpandedIds(new Set(next));
207
+ onExpandedIdsChange === null || onExpandedIdsChange === void 0 ? void 0 : onExpandedIdsChange([...next]);
208
+ }, [controlledExpandedIds, onExpandedIdsChange]);
173
209
  var [motion, setMotion] = useState(null);
174
210
  var rowHeights = useRef(/* @__PURE__ */new Map());
175
211
  var getRowHeight = useCallback(function (id) {
@@ -177,14 +213,25 @@ function TreeView(param) {
177
213
  return (_rowHeights_current_get = rowHeights.current.get(id)) !== null && _rowHeights_current_get !== void 0 ? _rowHeights_current_get : estimateSize;
178
214
  }, [estimateSize]);
179
215
  var toggleNode = useCallback(function (node) {
216
+ cancelInitialScroll();
180
217
  var next = new Set(expandedIds);
181
218
  if (next.has(node.id)) {
182
219
  next.delete(node.id);
183
220
  } else {
184
221
  next.add(node.id);
185
222
  }
223
+ setExpandedIds(next);
224
+ onNodeToggle === null || onNodeToggle === void 0 ? void 0 : onNodeToggle(node);
225
+ }, [expandedIds, setExpandedIds, onNodeToggle, cancelInitialScroll]);
226
+ var previousExpandedIds = useRef(expandedIds);
227
+ useLayoutEffect(function () {
228
+ var previous = previousExpandedIds.current;
229
+ previousExpandedIds.current = expandedIds;
230
+ if (previous.size === expandedIds.size && [...previous].every(function (id) {
231
+ return expandedIds.has(id);
232
+ })) return;
186
233
  if (transition) {
187
- var diff = diffVisibleRows(flattenVisibleIds(nodes, expandedIds), flattenVisibleIds(nodes, next), getRowHeight);
234
+ var diff = diffVisibleRows(flattenVisibleIds(nodes, previous), flattenVisibleIds(nodes, expandedIds), getRowHeight);
188
235
  setMotion(isEmptyDiff(diff) ? null : {
189
236
  phase: "armed",
190
237
  ...diff
@@ -192,9 +239,7 @@ function TreeView(param) {
192
239
  } else {
193
240
  setMotion(null);
194
241
  }
195
- setExpandedIds(next);
196
- onNodeToggle === null || onNodeToggle === void 0 ? void 0 : onNodeToggle(node);
197
- }, [expandedIds, nodes, transition, getRowHeight, onNodeToggle]);
242
+ }, [expandedIds, nodes, transition, getRowHeight]);
198
243
  useLayoutEffect(function () {
199
244
  if ((motion === null || motion === void 0 ? void 0 : motion.phase) !== "armed") return;
200
245
  var raf = requestAnimationFrame(function () {
@@ -252,15 +297,191 @@ function TreeView(param) {
252
297
  walk(nodes, 0, null);
253
298
  return result;
254
299
  }, [nodes, expandedIds]);
300
+ var revealIntent = useRef(void 0);
301
+ var scrollFrame = useRef(void 0);
302
+ var scrollStep = useRef(function () {});
303
+ var renderedRows = useRef(/* @__PURE__ */new Set());
304
+ var scrollBounds = useCallback(function () {
305
+ var list = flashListRef.current;
306
+ if (!scrollActive.current || !listInstance.attached || !listInstance.loaded || !list) return;
307
+ if (isWeb) {
308
+ var _containerRef_current;
309
+ var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : _containerRef_current.getBoundingClientRect();
310
+ if (!rect || !(rect.width > 0) || !(rect.height > 0)) return;
311
+ }
312
+ var viewport = list.getWindowSize();
313
+ var contentHeight = list.getChildContainerDimensions().height + list.getFirstItemOffset();
314
+ if (!Number.isFinite(viewport.width) || viewport.width <= 0 || !Number.isFinite(viewport.height) || viewport.height <= 0 || !Number.isFinite(contentHeight) || contentHeight <= 0) return;
315
+ return {
316
+ list,
317
+ width: viewport.width,
318
+ height: viewport.height,
319
+ contentHeight,
320
+ maxOffset: Math.max(0, contentHeight - viewport.height)
321
+ };
322
+ }, [listInstance]);
323
+ var observeOffset = useCallback(function (offset) {
324
+ var fromEvent = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
325
+ var _initialScroll_current;
326
+ if (!scrollActive.current || !listInstance.attached || !Number.isFinite(offset)) return;
327
+ if (fromEvent && ((_initialScroll_current = initialScroll.current) === null || _initialScroll_current === void 0 ? void 0 : _initialScroll_current.attempted) === void 0 && offset !== listInstance.offset) {
328
+ cancelInitialScroll();
329
+ }
330
+ listInstance.offset = offset;
331
+ var bounds = scrollBounds();
332
+ if (!bounds) return;
333
+ var bounded = Math.max(0, Math.min(offset, bounds.maxOffset));
334
+ var initial = initialScroll.current;
335
+ if (initial) {
336
+ var target = Math.min(initial.offset, bounds.maxOffset);
337
+ if (initial.attempted ? Math.abs(bounded - target) >= 1 : bounded !== target) return;
338
+ initialScroll.current = void 0;
339
+ }
340
+ if (offsetCallback.current && lastReportedOffset.current !== bounded) {
341
+ lastReportedOffset.current = bounded;
342
+ offsetCallback.current(bounded);
343
+ }
344
+ }, [cancelInitialScroll, scrollBounds, listInstance]);
345
+ var scheduleScroll = useCallback(function () {
346
+ if (!scrollActive.current || !listInstance.attached || scrollFrame.current !== void 0) return;
347
+ if (!initialScroll.current && (!revealIntent.current || revealIntent.current.complete) && !offsetCallback.current) return;
348
+ scrollFrame.current = requestAnimationFrame(function () {
349
+ scrollFrame.current = void 0;
350
+ if (listInstance.attached) scrollStep.current();
351
+ });
352
+ }, [listInstance]);
353
+ var attachList = useCallback(function (list) {
354
+ flashListRef.current = list;
355
+ listInstance.attached = list !== null;
356
+ if (!list) {
357
+ listInstance.loaded = false;
358
+ if (initialScroll.current) initialScroll.current.attempted = void 0;
359
+ if (scrollFrame.current !== void 0) cancelAnimationFrame(scrollFrame.current);
360
+ scrollFrame.current = void 0;
361
+ }
362
+ }, [listInstance]);
363
+ useLayoutEffect(function () {
364
+ scrollActive.current = true;
365
+ return function () {
366
+ scrollActive.current = false;
367
+ revealIntent.current = void 0;
368
+ if (scrollFrame.current !== void 0) cancelAnimationFrame(scrollFrame.current);
369
+ scrollFrame.current = void 0;
370
+ };
371
+ }, []);
372
+ useLayoutEffect(function () {
373
+ var _revealIntent_current, _revealIntent_current1;
374
+ if (!revealRequest) {
375
+ revealIntent.current = void 0;
376
+ } else if (((_revealIntent_current = revealIntent.current) === null || _revealIntent_current === void 0 ? void 0 : _revealIntent_current.id) !== revealRequest.id || ((_revealIntent_current1 = revealIntent.current) === null || _revealIntent_current1 === void 0 ? void 0 : _revealIntent_current1.requestId) !== revealRequest.requestId) {
377
+ cancelInitialScroll();
378
+ revealIntent.current = {
379
+ ...revealRequest,
380
+ complete: false
381
+ };
382
+ }
383
+ var step = function step1() {
384
+ var currentList = flashListRef.current;
385
+ if (currentList) {
386
+ observeOffset(listInstance.indexScrollRequested ? listInstance.offset : currentList.getAbsoluteLastScrollOffset());
387
+ }
388
+ if (!scrollActive.current) return;
389
+ if (scrollStep.current !== step) {
390
+ scheduleScroll();
391
+ return;
392
+ }
393
+ var intent = revealIntent.current;
394
+ if (!intent || intent.complete) {
395
+ var initial = initialScroll.current;
396
+ var bounds = scrollBounds();
397
+ if (!initial || !bounds || flatNodes.length === 0) return;
398
+ var target = Math.min(initial.offset, bounds.maxOffset);
399
+ var attempted = initial.attempted;
400
+ if (!attempted || attempted.target !== target || attempted.width !== bounds.width || attempted.height !== bounds.height || attempted.contentHeight !== bounds.contentHeight) {
401
+ initial.attempted = {
402
+ target,
403
+ width: bounds.width,
404
+ height: bounds.height,
405
+ contentHeight: bounds.contentHeight
406
+ };
407
+ bounds.list.scrollToOffset({
408
+ offset: target,
409
+ animated: false
410
+ });
411
+ }
412
+ return;
413
+ }
414
+ var next = treeRevealExpansion(nodes, expandedIds, intent.id);
415
+ if (!next) return;
416
+ if (next !== expandedIds) {
417
+ var notified = intent.notifiedExpansion;
418
+ if (!notified || notified.size !== next.size || [...next].some(function (id) {
419
+ return !notified.has(id);
420
+ })) {
421
+ intent.notifiedExpansion = next;
422
+ setExpandedIds(next);
423
+ }
424
+ return;
425
+ }
426
+ if (motion) {
427
+ setMotion(null);
428
+ return;
429
+ }
430
+ var list = flashListRef.current;
431
+ var index = flatNodes.findIndex(function (item) {
432
+ return item.node.id === intent.id;
433
+ });
434
+ if (!list || index < 0) return;
435
+ if (isWeb) {
436
+ var _containerRef_current;
437
+ var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : _containerRef_current.getBoundingClientRect();
438
+ if (!rect || rect.width <= 0 || rect.height <= 0) return;
439
+ }
440
+ var viewport = list.getWindowSize();
441
+ if (viewport.width <= 0) return;
442
+ var layout = list.getLayout(index);
443
+ if (!layout) return;
444
+ var offset = listInstance.indexScrollRequested ? listInstance.offset : list.getAbsoluteLastScrollOffset();
445
+ var top = layout.y + list.getFirstItemOffset();
446
+ var nextOffset = treeRevealOffset({
447
+ y: top,
448
+ height: layout.height
449
+ }, offset, viewport.height);
450
+ if (nextOffset === void 0) return;
451
+ if (Math.abs(nextOffset - offset) < 1) {
452
+ var visible = top < offset + viewport.height && top + layout.height > offset;
453
+ if (!listInstance.indexScrollRequested) {
454
+ var range = list.computeVisibleIndices();
455
+ visible = visible && index >= range.startIndex && index <= range.endIndex;
456
+ }
457
+ if (revealIntent.current === intent && layout.isHeightMeasured && renderedRows.current.has(intent.id) && visible) {
458
+ intent.complete = true;
459
+ onRevealComplete === null || onRevealComplete === void 0 ? void 0 : onRevealComplete({
460
+ id: intent.id,
461
+ requestId: intent.requestId
462
+ });
463
+ }
464
+ return;
465
+ }
466
+ list.scrollToOffset({
467
+ offset: nextOffset,
468
+ animated: false
469
+ });
470
+ };
471
+ scrollStep.current = step;
472
+ scheduleScroll();
473
+ }, [nodes, expandedIds, setExpandedIds, flatNodes, revealRequest === null || revealRequest === void 0 ? void 0 : revealRequest.id, revealRequest === null || revealRequest === void 0 ? void 0 : revealRequest.requestId, onRevealComplete, height, motion, scheduleScroll, cancelInitialScroll, observeOffset, scrollBounds, listInstance]);
255
474
  var scrollToIndex = useCallback(function (index) {
256
475
  if (index >= 0 && index < flatNodes.length) {
257
476
  var _flashListRef_current;
477
+ cancelInitialScroll();
478
+ listInstance.indexScrollRequested = true;
258
479
  (_flashListRef_current = flashListRef.current) === null || _flashListRef_current === void 0 ? void 0 : _flashListRef_current.scrollToIndex({
259
480
  index,
260
481
  animated: true
261
482
  });
262
483
  }
263
- }, [flatNodes.length]);
484
+ }, [flatNodes.length, cancelInitialScroll, listInstance]);
264
485
  var focusRow = useCallback(function (index) {
265
486
  setKeyboardRing(true);
266
487
  setFocusedIndex(index);
@@ -508,6 +729,7 @@ function TreeView(param) {
508
729
  if (!(container === null || container === void 0 ? void 0 : container.getBoundingClientRect)) return false;
509
730
  var session = treeKeyboardLift(nodes, flat.node.id);
510
731
  if (!session) return false;
732
+ cancelInitialScroll();
511
733
  var rowRect = rowEl.getBoundingClientRect();
512
734
  var containerRect = container.getBoundingClientRect();
513
735
  grabOffsetRef.current = {
@@ -540,7 +762,7 @@ function TreeView(param) {
540
762
  announce(describeTreeDragState("lift", session, nodes, flat.node.label));
541
763
  startAutoScroll();
542
764
  return true;
543
- }, [announce, nodes, startAutoScroll]);
765
+ }, [announce, nodes, startAutoScroll, cancelInitialScroll]);
544
766
  var handleDragHandlePointerDown = useCallback(function (flat, e) {
545
767
  var _ref13, _e_pointerType;
546
768
  var _sessionCleanupRef_current, _e_stopPropagation, _handleEl_closest;
@@ -677,6 +899,7 @@ function TreeView(param) {
677
899
  if (!flat) return false;
678
900
  var session = treeKeyboardLift(nodes, flat.node.id);
679
901
  if (!session) return false;
902
+ cancelInitialScroll();
680
903
  var ui = {
681
904
  mode: "keyboard",
682
905
  node: flat.node,
@@ -694,7 +917,7 @@ function TreeView(param) {
694
917
  dragUiRef.current = ui;
695
918
  announce(describeTreeDragState("lift", session, nodes, flat.node.label));
696
919
  return true;
697
- }, [announce, canReorder, dndRows, flatNodes, focusedIndex, getRowHeight, nodes]);
920
+ }, [announce, canReorder, dndRows, flatNodes, focusedIndex, getRowHeight, nodes, cancelInitialScroll]);
698
921
  var moveKeyboardDrag = useCallback(function (direction) {
699
922
  var ui = dragUiRef.current;
700
923
  if (!ui || ui.mode !== "keyboard") return false;
@@ -864,17 +1087,32 @@ function TreeView(param) {
864
1087
  onFocus: handleContainerFocus,
865
1088
  onBlur: handleContainerBlur,
866
1089
  onKeyDown: handleTreeKeyDown,
1090
+ onLayout: scheduleScroll,
1091
+ ...(isWeb && {
1092
+ onWheel: cancelInitialScroll,
1093
+ onPointerDown: cancelInitialScroll
1094
+ }),
867
1095
  position: "relative",
868
1096
  style: {
869
1097
  height
870
1098
  },
871
1099
  children: [/* @__PURE__ */_jsx(FlashList, {
872
- ref: flashListRef,
1100
+ ref: attachList,
873
1101
  data: flatNodes,
874
1102
  drawDistance: overscan * estimateSize,
875
1103
  keyExtractor: function keyExtractor(item) {
876
1104
  return item.node.id;
877
1105
  },
1106
+ onLoad: function onLoad() {
1107
+ if (!scrollActive.current || !listInstance.attached) return;
1108
+ listInstance.loaded = true;
1109
+ scheduleScroll();
1110
+ },
1111
+ onCommitLayoutEffect: scheduleScroll,
1112
+ onContentSizeChange: scheduleScroll,
1113
+ onScrollBeginDrag: function onScrollBeginDrag() {
1114
+ if (scrollActive.current && listInstance.attached) cancelInitialScroll();
1115
+ },
878
1116
  extraData: {
879
1117
  focused: effectiveFocused,
880
1118
  selectedId,
@@ -885,17 +1123,18 @@ function TreeView(param) {
885
1123
  keyboardRing,
886
1124
  collapsedSelectedAncestors
887
1125
  },
888
- ...(canReorder && {
889
- onScroll: function onScroll(e) {
890
- var _e_nativeEvent_contentOffset, _e_nativeEvent;
891
- var y = e === null || e === void 0 ? void 0 : (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : (_e_nativeEvent_contentOffset = _e_nativeEvent.contentOffset) === null || _e_nativeEvent_contentOffset === void 0 ? void 0 : _e_nativeEvent_contentOffset.y;
892
- if (typeof y === "number") {
893
- scrollOffsetRef.current = y;
894
- if (dragUiRef.current) setDragScrollY(y);
895
- }
896
- },
897
- scrollEventThrottle: 16
898
- }),
1126
+ onScroll: function onScroll(e) {
1127
+ var _e_nativeEvent_contentOffset, _e_nativeEvent;
1128
+ if (!scrollActive.current || !listInstance.attached) return;
1129
+ var y = e === null || e === void 0 ? void 0 : (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : (_e_nativeEvent_contentOffset = _e_nativeEvent.contentOffset) === null || _e_nativeEvent_contentOffset === void 0 ? void 0 : _e_nativeEvent_contentOffset.y;
1130
+ if (typeof y === "number" && Number.isFinite(y)) {
1131
+ scrollOffsetRef.current = y;
1132
+ if (dragUiRef.current) setDragScrollY(y);
1133
+ observeOffset(y, true);
1134
+ }
1135
+ scheduleScroll();
1136
+ },
1137
+ scrollEventThrottle: 16,
899
1138
  renderItem: function renderItem(param2) {
900
1139
  var {
901
1140
  item,
@@ -932,6 +1171,10 @@ function TreeView(param) {
932
1171
  var rowOpacity = isSettleHidden ? 0 : armed && entering ? 0 : inDraggedSubtree ? 0.4 : 1;
933
1172
  var rowTransition = armed && (entering || delta !== 0) ? "none" : transition;
934
1173
  return /* @__PURE__ */_jsxs(XStack, {
1174
+ ref: function ref(row) {
1175
+ if (row) renderedRows.current.add(node.id);else renderedRows.current.delete(node.id);
1176
+ scheduleScroll();
1177
+ },
935
1178
  id: `${treeId}-node-${index}`,
936
1179
  "data-treeview-row": node.id,
937
1180
  ...(isDropParent && {
@@ -963,6 +1206,7 @@ function TreeView(param) {
963
1206
  var _e_nativeEvent_layout, _e_nativeEvent;
964
1207
  var h = e === null || e === void 0 ? void 0 : (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : (_e_nativeEvent_layout = _e_nativeEvent.layout) === null || _e_nativeEvent_layout === void 0 ? void 0 : _e_nativeEvent_layout.height;
965
1208
  if (typeof h === "number" && h > 0) rowHeights.current.set(node.id, h);
1209
+ scheduleScroll();
966
1210
  },
967
1211
  backgroundColor:
968
1212
  // Nest-into parent highlight wins while a drag is active