@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
@@ -52,6 +52,7 @@ var import_tamagui = require("tamagui");
52
52
  var import_kanbanDnd = require("./kanbanDnd.native.js");
53
53
  var import_treeViewDnd = require("./treeViewDnd.native.js");
54
54
  var import_treeViewMotion = require("./treeViewMotion.native.js");
55
+ var import_treeViewReveal = require("./treeViewReveal.native.js");
55
56
  var import_treeViewLayout = require("./treeViewLayout.native.js");
56
57
  var ENTER_RISE_PX = -4;
57
58
  var DRAG_THRESHOLD_PX = 4;
@@ -147,8 +148,14 @@ function TreeView(param) {
147
148
  estimateSize: estimateSizeProp,
148
149
  overscan = 10,
149
150
  height: heightProp,
151
+ initialScrollOffset,
152
+ onScrollOffsetChange,
150
153
  emptyMessage: emptyMessageProp,
151
154
  defaultExpandedIds,
155
+ expandedIds: controlledExpandedIds,
156
+ onExpandedIdsChange,
157
+ revealRequest,
158
+ onRevealComplete,
152
159
  expandByDefault = false,
153
160
  display = "default",
154
161
  showExpansionArrows = true,
@@ -188,6 +195,28 @@ function TreeView(param) {
188
195
  var treeId = (0, import_react2.useId)();
189
196
  var containerRef = (0, import_react2.useRef)(null);
190
197
  var flashListRef = (0, import_react2.useRef)(null);
198
+ var initialScroll = (0, import_react2.useRef)(initialScrollOffset === void 0 ? void 0 : {
199
+ offset: Number.isFinite(initialScrollOffset) ? Math.max(0, initialScrollOffset) : 0
200
+ });
201
+ var cancelInitialScroll = (0, import_react2.useCallback)(function () {
202
+ initialScroll.current = void 0;
203
+ }, []);
204
+ var hasNodes = nodes.length > 0;
205
+ var listInstance = (0, import_react2.useMemo)(function () {
206
+ return {
207
+ hasNodes,
208
+ attached: false,
209
+ loaded: false,
210
+ indexScrollRequested: false,
211
+ offset: 0
212
+ };
213
+ }, [hasNodes]);
214
+ var scrollActive = (0, import_react2.useRef)(true);
215
+ var lastReportedOffset = (0, import_react2.useRef)(void 0);
216
+ var offsetCallback = (0, import_react2.useRef)(onScrollOffsetChange);
217
+ (0, import_react2.useLayoutEffect)(function () {
218
+ offsetCallback.current = onScrollOffsetChange;
219
+ }, [onScrollOffsetChange]);
191
220
  var [focusedIndex, setFocusedIndex] = (0, import_react2.useState)(-1);
192
221
  var [keyboardRing, setKeyboardRing] = (0, import_react2.useState)(false);
193
222
  var typeaheadRef = (0, import_react2.useRef)({
@@ -205,11 +234,18 @@ function TreeView(param) {
205
234
  var handleContainerBlur = (0, import_react2.useCallback)(function () {
206
235
  setKeyboardRing(false);
207
236
  }, []);
208
- var [expandedIds, setExpandedIds] = (0, import_react2.useState)(function () {
237
+ var [internalExpandedIds, setInternalExpandedIds] = (0, import_react2.useState)(function () {
209
238
  if (defaultExpandedIds) return new Set(defaultExpandedIds);
210
239
  if (expandByDefault) return collectBranchIds(nodes);
211
240
  return /* @__PURE__ */new Set();
212
241
  });
242
+ var expandedIds = (0, import_react2.useMemo)(function () {
243
+ return controlledExpandedIds === void 0 ? internalExpandedIds : new Set(controlledExpandedIds);
244
+ }, [controlledExpandedIds, internalExpandedIds]);
245
+ var setExpandedIds = (0, import_react2.useCallback)(function (next) {
246
+ if (controlledExpandedIds === void 0) setInternalExpandedIds(new Set(next));
247
+ onExpandedIdsChange === null || onExpandedIdsChange === void 0 ? void 0 : onExpandedIdsChange([...next]);
248
+ }, [controlledExpandedIds, onExpandedIdsChange]);
213
249
  var [motion, setMotion] = (0, import_react2.useState)(null);
214
250
  var rowHeights = (0, import_react2.useRef)(/* @__PURE__ */new Map());
215
251
  var getRowHeight = (0, import_react2.useCallback)(function (id) {
@@ -217,14 +253,25 @@ function TreeView(param) {
217
253
  return (_rowHeights_current_get = rowHeights.current.get(id)) !== null && _rowHeights_current_get !== void 0 ? _rowHeights_current_get : estimateSize;
218
254
  }, [estimateSize]);
219
255
  var toggleNode = (0, import_react2.useCallback)(function (node) {
256
+ cancelInitialScroll();
220
257
  var next = new Set(expandedIds);
221
258
  if (next.has(node.id)) {
222
259
  next.delete(node.id);
223
260
  } else {
224
261
  next.add(node.id);
225
262
  }
263
+ setExpandedIds(next);
264
+ onNodeToggle === null || onNodeToggle === void 0 ? void 0 : onNodeToggle(node);
265
+ }, [expandedIds, setExpandedIds, onNodeToggle, cancelInitialScroll]);
266
+ var previousExpandedIds = (0, import_react2.useRef)(expandedIds);
267
+ (0, import_react2.useLayoutEffect)(function () {
268
+ var previous = previousExpandedIds.current;
269
+ previousExpandedIds.current = expandedIds;
270
+ if (previous.size === expandedIds.size && [...previous].every(function (id) {
271
+ return expandedIds.has(id);
272
+ })) return;
226
273
  if (transition) {
227
- var diff = (0, import_treeViewMotion.diffVisibleRows)((0, import_treeViewMotion.flattenVisibleIds)(nodes, expandedIds), (0, import_treeViewMotion.flattenVisibleIds)(nodes, next), getRowHeight);
274
+ var diff = (0, import_treeViewMotion.diffVisibleRows)((0, import_treeViewMotion.flattenVisibleIds)(nodes, previous), (0, import_treeViewMotion.flattenVisibleIds)(nodes, expandedIds), getRowHeight);
228
275
  setMotion((0, import_treeViewMotion.isEmptyDiff)(diff) ? null : {
229
276
  phase: "armed",
230
277
  ...diff
@@ -232,9 +279,7 @@ function TreeView(param) {
232
279
  } else {
233
280
  setMotion(null);
234
281
  }
235
- setExpandedIds(next);
236
- onNodeToggle === null || onNodeToggle === void 0 ? void 0 : onNodeToggle(node);
237
- }, [expandedIds, nodes, transition, getRowHeight, onNodeToggle]);
282
+ }, [expandedIds, nodes, transition, getRowHeight]);
238
283
  (0, import_react2.useLayoutEffect)(function () {
239
284
  if ((motion === null || motion === void 0 ? void 0 : motion.phase) !== "armed") return;
240
285
  var raf = requestAnimationFrame(function () {
@@ -292,15 +337,191 @@ function TreeView(param) {
292
337
  walk(nodes, 0, null);
293
338
  return result;
294
339
  }, [nodes, expandedIds]);
340
+ var revealIntent = (0, import_react2.useRef)(void 0);
341
+ var scrollFrame = (0, import_react2.useRef)(void 0);
342
+ var scrollStep = (0, import_react2.useRef)(function () {});
343
+ var renderedRows = (0, import_react2.useRef)(/* @__PURE__ */new Set());
344
+ var scrollBounds = (0, import_react2.useCallback)(function () {
345
+ var list = flashListRef.current;
346
+ if (!scrollActive.current || !listInstance.attached || !listInstance.loaded || !list) return;
347
+ if (import_tamagui.isWeb) {
348
+ var _containerRef_current;
349
+ var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : _containerRef_current.getBoundingClientRect();
350
+ if (!rect || !(rect.width > 0) || !(rect.height > 0)) return;
351
+ }
352
+ var viewport = list.getWindowSize();
353
+ var contentHeight = list.getChildContainerDimensions().height + list.getFirstItemOffset();
354
+ if (!Number.isFinite(viewport.width) || viewport.width <= 0 || !Number.isFinite(viewport.height) || viewport.height <= 0 || !Number.isFinite(contentHeight) || contentHeight <= 0) return;
355
+ return {
356
+ list,
357
+ width: viewport.width,
358
+ height: viewport.height,
359
+ contentHeight,
360
+ maxOffset: Math.max(0, contentHeight - viewport.height)
361
+ };
362
+ }, [listInstance]);
363
+ var observeOffset = (0, import_react2.useCallback)(function (offset) {
364
+ var fromEvent = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
365
+ var _initialScroll_current;
366
+ if (!scrollActive.current || !listInstance.attached || !Number.isFinite(offset)) return;
367
+ if (fromEvent && ((_initialScroll_current = initialScroll.current) === null || _initialScroll_current === void 0 ? void 0 : _initialScroll_current.attempted) === void 0 && offset !== listInstance.offset) {
368
+ cancelInitialScroll();
369
+ }
370
+ listInstance.offset = offset;
371
+ var bounds = scrollBounds();
372
+ if (!bounds) return;
373
+ var bounded = Math.max(0, Math.min(offset, bounds.maxOffset));
374
+ var initial = initialScroll.current;
375
+ if (initial) {
376
+ var target = Math.min(initial.offset, bounds.maxOffset);
377
+ if (initial.attempted ? Math.abs(bounded - target) >= 1 : bounded !== target) return;
378
+ initialScroll.current = void 0;
379
+ }
380
+ if (offsetCallback.current && lastReportedOffset.current !== bounded) {
381
+ lastReportedOffset.current = bounded;
382
+ offsetCallback.current(bounded);
383
+ }
384
+ }, [cancelInitialScroll, scrollBounds, listInstance]);
385
+ var scheduleScroll = (0, import_react2.useCallback)(function () {
386
+ if (!scrollActive.current || !listInstance.attached || scrollFrame.current !== void 0) return;
387
+ if (!initialScroll.current && (!revealIntent.current || revealIntent.current.complete) && !offsetCallback.current) return;
388
+ scrollFrame.current = requestAnimationFrame(function () {
389
+ scrollFrame.current = void 0;
390
+ if (listInstance.attached) scrollStep.current();
391
+ });
392
+ }, [listInstance]);
393
+ var attachList = (0, import_react2.useCallback)(function (list) {
394
+ flashListRef.current = list;
395
+ listInstance.attached = list !== null;
396
+ if (!list) {
397
+ listInstance.loaded = false;
398
+ if (initialScroll.current) initialScroll.current.attempted = void 0;
399
+ if (scrollFrame.current !== void 0) cancelAnimationFrame(scrollFrame.current);
400
+ scrollFrame.current = void 0;
401
+ }
402
+ }, [listInstance]);
403
+ (0, import_react2.useLayoutEffect)(function () {
404
+ scrollActive.current = true;
405
+ return function () {
406
+ scrollActive.current = false;
407
+ revealIntent.current = void 0;
408
+ if (scrollFrame.current !== void 0) cancelAnimationFrame(scrollFrame.current);
409
+ scrollFrame.current = void 0;
410
+ };
411
+ }, []);
412
+ (0, import_react2.useLayoutEffect)(function () {
413
+ var _revealIntent_current, _revealIntent_current1;
414
+ if (!revealRequest) {
415
+ revealIntent.current = void 0;
416
+ } 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) {
417
+ cancelInitialScroll();
418
+ revealIntent.current = {
419
+ ...revealRequest,
420
+ complete: false
421
+ };
422
+ }
423
+ var step = function step1() {
424
+ var currentList = flashListRef.current;
425
+ if (currentList) {
426
+ observeOffset(listInstance.indexScrollRequested ? listInstance.offset : currentList.getAbsoluteLastScrollOffset());
427
+ }
428
+ if (!scrollActive.current) return;
429
+ if (scrollStep.current !== step) {
430
+ scheduleScroll();
431
+ return;
432
+ }
433
+ var intent = revealIntent.current;
434
+ if (!intent || intent.complete) {
435
+ var initial = initialScroll.current;
436
+ var bounds = scrollBounds();
437
+ if (!initial || !bounds || flatNodes.length === 0) return;
438
+ var target = Math.min(initial.offset, bounds.maxOffset);
439
+ var attempted = initial.attempted;
440
+ if (!attempted || attempted.target !== target || attempted.width !== bounds.width || attempted.height !== bounds.height || attempted.contentHeight !== bounds.contentHeight) {
441
+ initial.attempted = {
442
+ target,
443
+ width: bounds.width,
444
+ height: bounds.height,
445
+ contentHeight: bounds.contentHeight
446
+ };
447
+ bounds.list.scrollToOffset({
448
+ offset: target,
449
+ animated: false
450
+ });
451
+ }
452
+ return;
453
+ }
454
+ var next = (0, import_treeViewReveal.treeRevealExpansion)(nodes, expandedIds, intent.id);
455
+ if (!next) return;
456
+ if (next !== expandedIds) {
457
+ var notified = intent.notifiedExpansion;
458
+ if (!notified || notified.size !== next.size || [...next].some(function (id) {
459
+ return !notified.has(id);
460
+ })) {
461
+ intent.notifiedExpansion = next;
462
+ setExpandedIds(next);
463
+ }
464
+ return;
465
+ }
466
+ if (motion) {
467
+ setMotion(null);
468
+ return;
469
+ }
470
+ var list = flashListRef.current;
471
+ var index = flatNodes.findIndex(function (item) {
472
+ return item.node.id === intent.id;
473
+ });
474
+ if (!list || index < 0) return;
475
+ if (import_tamagui.isWeb) {
476
+ var _containerRef_current;
477
+ var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : _containerRef_current.getBoundingClientRect();
478
+ if (!rect || rect.width <= 0 || rect.height <= 0) return;
479
+ }
480
+ var viewport = list.getWindowSize();
481
+ if (viewport.width <= 0) return;
482
+ var layout = list.getLayout(index);
483
+ if (!layout) return;
484
+ var offset = listInstance.indexScrollRequested ? listInstance.offset : list.getAbsoluteLastScrollOffset();
485
+ var top = layout.y + list.getFirstItemOffset();
486
+ var nextOffset = (0, import_treeViewReveal.treeRevealOffset)({
487
+ y: top,
488
+ height: layout.height
489
+ }, offset, viewport.height);
490
+ if (nextOffset === void 0) return;
491
+ if (Math.abs(nextOffset - offset) < 1) {
492
+ var visible = top < offset + viewport.height && top + layout.height > offset;
493
+ if (!listInstance.indexScrollRequested) {
494
+ var range = list.computeVisibleIndices();
495
+ visible = visible && index >= range.startIndex && index <= range.endIndex;
496
+ }
497
+ if (revealIntent.current === intent && layout.isHeightMeasured && renderedRows.current.has(intent.id) && visible) {
498
+ intent.complete = true;
499
+ onRevealComplete === null || onRevealComplete === void 0 ? void 0 : onRevealComplete({
500
+ id: intent.id,
501
+ requestId: intent.requestId
502
+ });
503
+ }
504
+ return;
505
+ }
506
+ list.scrollToOffset({
507
+ offset: nextOffset,
508
+ animated: false
509
+ });
510
+ };
511
+ scrollStep.current = step;
512
+ scheduleScroll();
513
+ }, [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]);
295
514
  var scrollToIndex = (0, import_react2.useCallback)(function (index) {
296
515
  if (index >= 0 && index < flatNodes.length) {
297
516
  var _flashListRef_current;
517
+ cancelInitialScroll();
518
+ listInstance.indexScrollRequested = true;
298
519
  (_flashListRef_current = flashListRef.current) === null || _flashListRef_current === void 0 ? void 0 : _flashListRef_current.scrollToIndex({
299
520
  index,
300
521
  animated: true
301
522
  });
302
523
  }
303
- }, [flatNodes.length]);
524
+ }, [flatNodes.length, cancelInitialScroll, listInstance]);
304
525
  var focusRow = (0, import_react2.useCallback)(function (index) {
305
526
  setKeyboardRing(true);
306
527
  setFocusedIndex(index);
@@ -548,6 +769,7 @@ function TreeView(param) {
548
769
  if (!(container === null || container === void 0 ? void 0 : container.getBoundingClientRect)) return false;
549
770
  var session = (0, import_treeViewDnd.treeKeyboardLift)(nodes, flat.node.id);
550
771
  if (!session) return false;
772
+ cancelInitialScroll();
551
773
  var rowRect = rowEl.getBoundingClientRect();
552
774
  var containerRect = container.getBoundingClientRect();
553
775
  grabOffsetRef.current = {
@@ -580,7 +802,7 @@ function TreeView(param) {
580
802
  announce((0, import_treeViewDnd.describeTreeDragState)("lift", session, nodes, flat.node.label));
581
803
  startAutoScroll();
582
804
  return true;
583
- }, [announce, nodes, startAutoScroll]);
805
+ }, [announce, nodes, startAutoScroll, cancelInitialScroll]);
584
806
  var handleDragHandlePointerDown = (0, import_react2.useCallback)(function (flat, e) {
585
807
  var _ref13, _e_pointerType;
586
808
  var _sessionCleanupRef_current, _e_stopPropagation, _handleEl_closest;
@@ -717,6 +939,7 @@ function TreeView(param) {
717
939
  if (!flat) return false;
718
940
  var session = (0, import_treeViewDnd.treeKeyboardLift)(nodes, flat.node.id);
719
941
  if (!session) return false;
942
+ cancelInitialScroll();
720
943
  var ui = {
721
944
  mode: "keyboard",
722
945
  node: flat.node,
@@ -734,7 +957,7 @@ function TreeView(param) {
734
957
  dragUiRef.current = ui;
735
958
  announce((0, import_treeViewDnd.describeTreeDragState)("lift", session, nodes, flat.node.label));
736
959
  return true;
737
- }, [announce, canReorder, dndRows, flatNodes, focusedIndex, getRowHeight, nodes]);
960
+ }, [announce, canReorder, dndRows, flatNodes, focusedIndex, getRowHeight, nodes, cancelInitialScroll]);
738
961
  var moveKeyboardDrag = (0, import_react2.useCallback)(function (direction) {
739
962
  var ui = dragUiRef.current;
740
963
  if (!ui || ui.mode !== "keyboard") return false;
@@ -904,17 +1127,32 @@ function TreeView(param) {
904
1127
  onFocus: handleContainerFocus,
905
1128
  onBlur: handleContainerBlur,
906
1129
  onKeyDown: handleTreeKeyDown,
1130
+ onLayout: scheduleScroll,
1131
+ ...(import_tamagui.isWeb && {
1132
+ onWheel: cancelInitialScroll,
1133
+ onPointerDown: cancelInitialScroll
1134
+ }),
907
1135
  position: "relative",
908
1136
  style: {
909
1137
  height
910
1138
  },
911
1139
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_flash_list.FlashList, {
912
- ref: flashListRef,
1140
+ ref: attachList,
913
1141
  data: flatNodes,
914
1142
  drawDistance: overscan * estimateSize,
915
1143
  keyExtractor: function keyExtractor(item) {
916
1144
  return item.node.id;
917
1145
  },
1146
+ onLoad: function onLoad() {
1147
+ if (!scrollActive.current || !listInstance.attached) return;
1148
+ listInstance.loaded = true;
1149
+ scheduleScroll();
1150
+ },
1151
+ onCommitLayoutEffect: scheduleScroll,
1152
+ onContentSizeChange: scheduleScroll,
1153
+ onScrollBeginDrag: function onScrollBeginDrag() {
1154
+ if (scrollActive.current && listInstance.attached) cancelInitialScroll();
1155
+ },
918
1156
  extraData: {
919
1157
  focused: effectiveFocused,
920
1158
  selectedId,
@@ -925,17 +1163,18 @@ function TreeView(param) {
925
1163
  keyboardRing,
926
1164
  collapsedSelectedAncestors
927
1165
  },
928
- ...(canReorder && {
929
- onScroll: function onScroll(e) {
930
- var _e_nativeEvent_contentOffset, _e_nativeEvent;
931
- 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;
932
- if (typeof y === "number") {
933
- scrollOffsetRef.current = y;
934
- if (dragUiRef.current) setDragScrollY(y);
935
- }
936
- },
937
- scrollEventThrottle: 16
938
- }),
1166
+ onScroll: function onScroll(e) {
1167
+ var _e_nativeEvent_contentOffset, _e_nativeEvent;
1168
+ if (!scrollActive.current || !listInstance.attached) return;
1169
+ 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;
1170
+ if (typeof y === "number" && Number.isFinite(y)) {
1171
+ scrollOffsetRef.current = y;
1172
+ if (dragUiRef.current) setDragScrollY(y);
1173
+ observeOffset(y, true);
1174
+ }
1175
+ scheduleScroll();
1176
+ },
1177
+ scrollEventThrottle: 16,
939
1178
  renderItem: function renderItem(param2) {
940
1179
  var {
941
1180
  item,
@@ -972,6 +1211,10 @@ function TreeView(param) {
972
1211
  var rowOpacity = isSettleHidden ? 0 : armed && entering ? 0 : inDraggedSubtree ? 0.4 : 1;
973
1212
  var rowTransition = armed && (entering || delta !== 0) ? "none" : transition;
974
1213
  return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
1214
+ ref: function ref(row) {
1215
+ if (row) renderedRows.current.add(node.id);else renderedRows.current.delete(node.id);
1216
+ scheduleScroll();
1217
+ },
975
1218
  id: `${treeId}-node-${index}`,
976
1219
  "data-treeview-row": node.id,
977
1220
  ...(isDropParent && {
@@ -1003,6 +1246,7 @@ function TreeView(param) {
1003
1246
  var _e_nativeEvent_layout, _e_nativeEvent;
1004
1247
  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;
1005
1248
  if (typeof h === "number" && h > 0) rowHeights.current.set(node.id, h);
1249
+ scheduleScroll();
1006
1250
  },
1007
1251
  backgroundColor:
1008
1252
  // Nest-into parent highlight wins while a drag is active