@multiplatform.one/components 7.10.0 → 7.15.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 +100 -2
  2. package/dist/cjs/Accordion/index.cjs +2 -6
  3. package/dist/cjs/Accordion/index.native.js +2 -6
  4. package/dist/cjs/Accordion/index.native.js.map +1 -1
  5. package/dist/cjs/AnimateHeight/index.cjs +1 -3
  6. package/dist/cjs/AnimateHeight/index.native.js +1 -3
  7. package/dist/cjs/AnimateHeight/index.native.js.map +1 -1
  8. package/dist/cjs/Chip/index.cjs +8 -1
  9. package/dist/cjs/Chip/index.native.js +8 -1
  10. package/dist/cjs/Chip/index.native.js.map +1 -1
  11. package/dist/cjs/SheetModal/index.cjs +22 -3
  12. package/dist/cjs/SheetModal/index.native.js +115 -27
  13. package/dist/cjs/SheetModal/index.native.js.map +1 -1
  14. package/dist/cjs/Tabs/index.cjs +35 -18
  15. package/dist/cjs/Tabs/index.native.js +39 -18
  16. package/dist/cjs/Tabs/index.native.js.map +1 -1
  17. package/dist/cjs/Text.cjs +2 -0
  18. package/dist/cjs/Text.native.js +2 -0
  19. package/dist/cjs/Text.native.js.map +1 -1
  20. package/dist/cjs/TreeSelect/index.cjs +55 -52
  21. package/dist/cjs/TreeSelect/index.native.js +55 -52
  22. package/dist/cjs/TreeSelect/index.native.js.map +1 -1
  23. package/dist/cjs/Video/PlayerChrome.cjs +3 -9
  24. package/dist/cjs/Video/PlayerChrome.native.js +3 -9
  25. package/dist/cjs/Video/PlayerChrome.native.js.map +1 -1
  26. package/dist/cjs/code/Code/index.cjs +6 -0
  27. package/dist/cjs/code/Code/index.native.js +7 -4
  28. package/dist/cjs/code/Code/index.native.js.map +1 -1
  29. package/dist/cjs/code/CodeBlock/index.cjs +4 -5
  30. package/dist/cjs/code/CodeBlock/index.native.js +4 -5
  31. package/dist/cjs/code/CodeBlock/index.native.js.map +1 -1
  32. package/dist/cjs/icons/themed.cjs +2 -1
  33. package/dist/cjs/icons/themed.native.js +2 -1
  34. package/dist/cjs/icons/themed.native.js.map +1 -1
  35. package/dist/cjs/knobImmuneExports.cjs +3 -3
  36. package/dist/cjs/knobImmuneExports.native.js +3 -3
  37. package/dist/cjs/layouts/PaneScaffold.cjs +70 -42
  38. package/dist/cjs/layouts/PaneScaffold.native.js +75 -48
  39. package/dist/cjs/layouts/PaneScaffold.native.js.map +1 -1
  40. package/dist/cjs/layouts/page.cjs +2 -1
  41. package/dist/cjs/layouts/page.native.js +2 -1
  42. package/dist/cjs/layouts/page.native.js.map +1 -1
  43. package/dist/cjs/layouts/sidebar.cjs +1 -3
  44. package/dist/cjs/layouts/sidebar.native.js +1 -3
  45. package/dist/cjs/layouts/sidebar.native.js.map +1 -1
  46. package/dist/cjs/layouts/tags.native.js.map +1 -1
  47. package/dist/cjs/surfaces.cjs +0 -32
  48. package/dist/cjs/surfaces.native.js +0 -32
  49. package/dist/cjs/surfaces.native.js.map +1 -1
  50. package/dist/cjs/views/List.cjs +1 -3
  51. package/dist/cjs/views/List.native.js +1 -3
  52. package/dist/cjs/views/List.native.js.map +1 -1
  53. package/dist/cjs/views/Matrix.cjs +568 -0
  54. package/dist/cjs/views/Matrix.native.js +612 -0
  55. package/dist/cjs/views/Matrix.native.js.map +1 -0
  56. package/dist/cjs/views/TreeView.cjs +175 -43
  57. package/dist/cjs/views/TreeView.native.js +181 -46
  58. package/dist/cjs/views/TreeView.native.js.map +1 -1
  59. package/dist/cjs/views/ganttMath.cjs +2 -0
  60. package/dist/cjs/views/ganttMath.native.js +2 -0
  61. package/dist/cjs/views/ganttMath.native.js.map +1 -1
  62. package/dist/cjs/views/index.cjs +16 -0
  63. package/dist/cjs/views/index.native.js +16 -0
  64. package/dist/cjs/views/index.native.js.map +1 -1
  65. package/dist/cjs/views/matrixMath.cjs +157 -0
  66. package/dist/cjs/views/matrixMath.native.js +229 -0
  67. package/dist/cjs/views/matrixMath.native.js.map +1 -0
  68. package/dist/esm/Accordion/index.mjs +3 -7
  69. package/dist/esm/Accordion/index.mjs.map +1 -1
  70. package/dist/esm/Accordion/index.native.js +3 -7
  71. package/dist/esm/Accordion/index.native.js.map +1 -1
  72. package/dist/esm/AnimateHeight/index.mjs +2 -4
  73. package/dist/esm/AnimateHeight/index.mjs.map +1 -1
  74. package/dist/esm/AnimateHeight/index.native.js +2 -4
  75. package/dist/esm/AnimateHeight/index.native.js.map +1 -1
  76. package/dist/esm/Avatar/getInitials.native.js.map +1 -1
  77. package/dist/esm/Avatar/index.native.js.map +1 -1
  78. package/dist/esm/Badge/index.native.js.map +1 -1
  79. package/dist/esm/Button.native.js.map +1 -1
  80. package/dist/esm/Carousel/index.native.js.map +1 -1
  81. package/dist/esm/Chip/index.mjs +9 -2
  82. package/dist/esm/Chip/index.mjs.map +1 -1
  83. package/dist/esm/Chip/index.native.js +9 -2
  84. package/dist/esm/Chip/index.native.js.map +1 -1
  85. package/dist/esm/Collapsible.native.js.map +1 -1
  86. package/dist/esm/ContextMenu/index.native.js.map +1 -1
  87. package/dist/esm/CopyField/index.native.js.map +1 -1
  88. package/dist/esm/DotIndicator/index.native.js.map +1 -1
  89. package/dist/esm/DropdownMenu/index.native.js.map +1 -1
  90. package/dist/esm/ErrorBoundary/index.native.js.map +1 -1
  91. package/dist/esm/Heading.native.js.map +1 -1
  92. package/dist/esm/Meter/index.native.js.map +1 -1
  93. package/dist/esm/Meter/meter.native.js.map +1 -1
  94. package/dist/esm/Pagination.native.js.map +1 -1
  95. package/dist/esm/ProgressSteps/index.native.js.map +1 -1
  96. package/dist/esm/Quote/index.native.js.map +1 -1
  97. package/dist/esm/Separator/index.native.js.map +1 -1
  98. package/dist/esm/SheetModal/detents.native.js.map +1 -1
  99. package/dist/esm/SheetModal/index.mjs +22 -3
  100. package/dist/esm/SheetModal/index.mjs.map +1 -1
  101. package/dist/esm/SheetModal/index.native.js +117 -29
  102. package/dist/esm/SheetModal/index.native.js.map +1 -1
  103. package/dist/esm/Skeleton/index.native.js.map +1 -1
  104. package/dist/esm/SkipLink/index.native.js.map +1 -1
  105. package/dist/esm/SortableList/SortableHandle.native.js.map +1 -1
  106. package/dist/esm/SortableList/index.native.js.map +1 -1
  107. package/dist/esm/SortableList/useSortableRows.native.js.map +1 -1
  108. package/dist/esm/Tabs/index.mjs +36 -19
  109. package/dist/esm/Tabs/index.mjs.map +1 -1
  110. package/dist/esm/Tabs/index.native.js +40 -19
  111. package/dist/esm/Tabs/index.native.js.map +1 -1
  112. package/dist/esm/Text.mjs +3 -1
  113. package/dist/esm/Text.mjs.map +1 -1
  114. package/dist/esm/Text.native.js +3 -1
  115. package/dist/esm/Text.native.js.map +1 -1
  116. package/dist/esm/Toast/index.native.js.map +1 -1
  117. package/dist/esm/Toast/store.native.js.map +1 -1
  118. package/dist/esm/Tooltip/nativePress.native.js.map +1 -1
  119. package/dist/esm/Tooltip/tooltipShared.native.js.map +1 -1
  120. package/dist/esm/TreeSelect/index.mjs +56 -53
  121. package/dist/esm/TreeSelect/index.mjs.map +1 -1
  122. package/dist/esm/TreeSelect/index.native.js +56 -53
  123. package/dist/esm/TreeSelect/index.native.js.map +1 -1
  124. package/dist/esm/TreeSelect/treeSelectModel.native.js.map +1 -1
  125. package/dist/esm/Video/PlayerChrome.mjs +4 -10
  126. package/dist/esm/Video/PlayerChrome.mjs.map +1 -1
  127. package/dist/esm/Video/PlayerChrome.native.js +4 -10
  128. package/dist/esm/Video/PlayerChrome.native.js.map +1 -1
  129. package/dist/esm/Video/VideoFrame.native.js.map +1 -1
  130. package/dist/esm/Video/types.native.js.map +1 -1
  131. package/dist/esm/Wheel/index.native.js.map +1 -1
  132. package/dist/esm/Wizard/index.native.js.map +1 -1
  133. package/dist/esm/actions/ActionBar.native.js.map +1 -1
  134. package/dist/esm/actions/DestructiveAction.native.js.map +1 -1
  135. package/dist/esm/actions/devWarn.native.js.map +1 -1
  136. package/dist/esm/actions/index.native.js.map +1 -1
  137. package/dist/esm/actions/severity.native.js.map +1 -1
  138. package/dist/esm/charts/Axis.native.js.map +1 -1
  139. package/dist/esm/charts/BarChart.native.js.map +1 -1
  140. package/dist/esm/charts/ChartDataView.native.js.map +1 -1
  141. package/dist/esm/charts/ChartSurface.native.js.map +1 -1
  142. package/dist/esm/charts/LineChart.native.js.map +1 -1
  143. package/dist/esm/charts/PieChart.native.js.map +1 -1
  144. package/dist/esm/charts/Sparkline.native.js.map +1 -1
  145. package/dist/esm/charts/accessibility.native.js.map +1 -1
  146. package/dist/esm/charts/composeChart.native.js.map +1 -1
  147. package/dist/esm/charts/index.native.js.map +1 -1
  148. package/dist/esm/charts/math.native.js.map +1 -1
  149. package/dist/esm/charts/series.native.js.map +1 -1
  150. package/dist/esm/charts/svg.native.js.map +1 -1
  151. package/dist/esm/charts/types.native.js.map +1 -1
  152. package/dist/esm/charts/useChartTheme.native.js.map +1 -1
  153. package/dist/esm/code/Code/index.mjs +6 -0
  154. package/dist/esm/code/Code/index.mjs.map +1 -1
  155. package/dist/esm/code/Code/index.native.js +10 -7
  156. package/dist/esm/code/Code/index.native.js.map +1 -1
  157. package/dist/esm/code/CodeBlock/index.mjs +5 -6
  158. package/dist/esm/code/CodeBlock/index.mjs.map +1 -1
  159. package/dist/esm/code/CodeBlock/index.native.js +5 -6
  160. package/dist/esm/code/CodeBlock/index.native.js.map +1 -1
  161. package/dist/esm/code/HighlightedCode/index.native.js.map +1 -1
  162. package/dist/esm/code/Highlighter/index.native.js.map +1 -1
  163. package/dist/esm/code/Pre/index.native.js.map +1 -1
  164. package/dist/esm/code/index.native.js.map +1 -1
  165. package/dist/esm/componentColors.native.js.map +1 -1
  166. package/dist/esm/feedback/ConfirmDialog.native.js.map +1 -1
  167. package/dist/esm/feedback/NotifyHost.native.js.map +1 -1
  168. package/dist/esm/feedback/copy.native.js.map +1 -1
  169. package/dist/esm/feedback/index.native.js.map +1 -1
  170. package/dist/esm/feedback/notify.native.js.map +1 -1
  171. package/dist/esm/feedback/route.native.js.map +1 -1
  172. package/dist/esm/feedback/store.native.js.map +1 -1
  173. package/dist/esm/hooks/index.native.js.map +1 -1
  174. package/dist/esm/hooks/useClipboard.native.js.map +1 -1
  175. package/dist/esm/hooks/useDocumentTitle.native.js.map +1 -1
  176. package/dist/esm/icons/CheckRegular.native.js.map +1 -1
  177. package/dist/esm/icons/MinusRegular.native.js.map +1 -1
  178. package/dist/esm/icons/index.native.js.map +1 -1
  179. package/dist/esm/icons/lucide.native.js.map +1 -1
  180. package/dist/esm/icons/themed.mjs +3 -2
  181. package/dist/esm/icons/themed.mjs.map +1 -1
  182. package/dist/esm/icons/themed.native.js +3 -2
  183. package/dist/esm/icons/themed.native.js.map +1 -1
  184. package/dist/esm/images/Image/ImageFrame.native.js.map +1 -1
  185. package/dist/esm/images/Image/shared.native.js.map +1 -1
  186. package/dist/esm/images/Image/types.native.js.map +1 -1
  187. package/dist/esm/images/index.native.js.map +1 -1
  188. package/dist/esm/index.native.js.map +1 -1
  189. package/dist/esm/knobImmuneExports.mjs +3 -3
  190. package/dist/esm/knobImmuneExports.native.js +3 -3
  191. package/dist/esm/knobImmuneExports.native.js.map +1 -1
  192. package/dist/esm/layouts/AsyncBoundary.native.js.map +1 -1
  193. package/dist/esm/layouts/Debug/index.native.js.map +1 -1
  194. package/dist/esm/layouts/EmptyState.native.js.map +1 -1
  195. package/dist/esm/layouts/KeyboardAvoidingWrapper/behavior.native.js.map +1 -1
  196. package/dist/esm/layouts/PageTemplates.native.js.map +1 -1
  197. package/dist/esm/layouts/PaneScaffold.mjs +70 -42
  198. package/dist/esm/layouts/PaneScaffold.mjs.map +1 -1
  199. package/dist/esm/layouts/PaneScaffold.native.js +75 -48
  200. package/dist/esm/layouts/PaneScaffold.native.js.map +1 -1
  201. package/dist/esm/layouts/SafeAreaWrapper/insets.native.js.map +1 -1
  202. package/dist/esm/layouts/ViewSwitcher.native.js.map +1 -1
  203. package/dist/esm/layouts/attachments.native.js.map +1 -1
  204. package/dist/esm/layouts/breadcrumbs.native.js.map +1 -1
  205. package/dist/esm/layouts/index.native.js.map +1 -1
  206. package/dist/esm/layouts/page.mjs +3 -2
  207. package/dist/esm/layouts/page.mjs.map +1 -1
  208. package/dist/esm/layouts/page.native.js +3 -2
  209. package/dist/esm/layouts/page.native.js.map +1 -1
  210. package/dist/esm/layouts/pageHeadingScope.native.js.map +1 -1
  211. package/dist/esm/layouts/sidebar.mjs +2 -4
  212. package/dist/esm/layouts/sidebar.mjs.map +1 -1
  213. package/dist/esm/layouts/sidebar.native.js +2 -4
  214. package/dist/esm/layouts/sidebar.native.js.map +1 -1
  215. package/dist/esm/layouts/tags.mjs.map +1 -1
  216. package/dist/esm/layouts/tags.native.js.map +1 -1
  217. package/dist/esm/layouts/timeline.native.js.map +1 -1
  218. package/dist/esm/layouts/toolbar.native.js.map +1 -1
  219. package/dist/esm/shared/actionScan.native.js.map +1 -1
  220. package/dist/esm/shared/i18n.native.js.map +1 -1
  221. package/dist/esm/shared/t.native.js.map +1 -1
  222. package/dist/esm/shared/textRidesText.native.js.map +1 -1
  223. package/dist/esm/shared/useReturnFocusOnClose.native.js.map +1 -1
  224. package/dist/esm/surfaces.mjs +1 -33
  225. package/dist/esm/surfaces.mjs.map +1 -1
  226. package/dist/esm/surfaces.native.js +1 -33
  227. package/dist/esm/surfaces.native.js.map +1 -1
  228. package/dist/esm/tamagui.native.js.map +1 -1
  229. package/dist/esm/testSetup.native.js.map +1 -1
  230. package/dist/esm/utils/setTinted.native.js.map +1 -1
  231. package/dist/esm/utils/unwrapText.native.js.map +1 -1
  232. package/dist/esm/views/Calendar.native.js.map +1 -1
  233. package/dist/esm/views/Dashboard.native.js.map +1 -1
  234. package/dist/esm/views/Gantt.native.js.map +1 -1
  235. package/dist/esm/views/ImageGrid.native.js.map +1 -1
  236. package/dist/esm/views/List.mjs +2 -4
  237. package/dist/esm/views/List.mjs.map +1 -1
  238. package/dist/esm/views/List.native.js +2 -4
  239. package/dist/esm/views/List.native.js.map +1 -1
  240. package/dist/esm/views/Matrix.mjs +543 -0
  241. package/dist/esm/views/Matrix.mjs.map +1 -0
  242. package/dist/esm/views/Matrix.native.js +573 -0
  243. package/dist/esm/views/Matrix.native.js.map +1 -0
  244. package/dist/esm/views/ReportBuilder.native.js.map +1 -1
  245. package/dist/esm/views/TreeView.mjs +175 -43
  246. package/dist/esm/views/TreeView.mjs.map +1 -1
  247. package/dist/esm/views/TreeView.native.js +181 -46
  248. package/dist/esm/views/TreeView.native.js.map +1 -1
  249. package/dist/esm/views/calendarMath.native.js.map +1 -1
  250. package/dist/esm/views/ganttMath.mjs +1 -1
  251. package/dist/esm/views/ganttMath.mjs.map +1 -1
  252. package/dist/esm/views/ganttMath.native.js +1 -1
  253. package/dist/esm/views/ganttMath.native.js.map +1 -1
  254. package/dist/esm/views/index.mjs +4 -2
  255. package/dist/esm/views/index.mjs.map +1 -1
  256. package/dist/esm/views/index.native.js +4 -2
  257. package/dist/esm/views/index.native.js.map +1 -1
  258. package/dist/esm/views/kanbanDnd.native.js.map +1 -1
  259. package/dist/esm/views/matrixMath.mjs +122 -0
  260. package/dist/esm/views/matrixMath.mjs.map +1 -0
  261. package/dist/esm/views/matrixMath.native.js +191 -0
  262. package/dist/esm/views/matrixMath.native.js.map +1 -0
  263. package/dist/esm/views/treeViewDnd.native.js.map +1 -1
  264. package/dist/esm/views/treeViewLayout.native.js.map +1 -1
  265. package/dist/esm/views/treeViewMotion.native.js.map +1 -1
  266. package/dist/esm/views/treeViewReveal.native.js.map +1 -1
  267. package/dist/jsx/Accordion/index.mjs +3 -7
  268. package/dist/jsx/Accordion/index.mjs.map +1 -1
  269. package/dist/jsx/Accordion/index.native.js +2 -6
  270. package/dist/jsx/Accordion/index.native.js.map +1 -1
  271. package/dist/jsx/AnimateHeight/index.mjs +2 -4
  272. package/dist/jsx/AnimateHeight/index.mjs.map +1 -1
  273. package/dist/jsx/AnimateHeight/index.native.js +1 -3
  274. package/dist/jsx/AnimateHeight/index.native.js.map +1 -1
  275. package/dist/jsx/Chip/index.mjs +9 -2
  276. package/dist/jsx/Chip/index.mjs.map +1 -1
  277. package/dist/jsx/Chip/index.native.js +8 -1
  278. package/dist/jsx/Chip/index.native.js.map +1 -1
  279. package/dist/jsx/SheetModal/index.mjs +22 -3
  280. package/dist/jsx/SheetModal/index.mjs.map +1 -1
  281. package/dist/jsx/SheetModal/index.native.js +115 -27
  282. package/dist/jsx/SheetModal/index.native.js.map +1 -1
  283. package/dist/jsx/Tabs/index.mjs +36 -19
  284. package/dist/jsx/Tabs/index.mjs.map +1 -1
  285. package/dist/jsx/Tabs/index.native.js +39 -18
  286. package/dist/jsx/Tabs/index.native.js.map +1 -1
  287. package/dist/jsx/Text.mjs +3 -1
  288. package/dist/jsx/Text.mjs.map +1 -1
  289. package/dist/jsx/Text.native.js +2 -0
  290. package/dist/jsx/Text.native.js.map +1 -1
  291. package/dist/jsx/TreeSelect/index.mjs +56 -53
  292. package/dist/jsx/TreeSelect/index.mjs.map +1 -1
  293. package/dist/jsx/TreeSelect/index.native.js +55 -52
  294. package/dist/jsx/TreeSelect/index.native.js.map +1 -1
  295. package/dist/jsx/Video/PlayerChrome.mjs +4 -10
  296. package/dist/jsx/Video/PlayerChrome.mjs.map +1 -1
  297. package/dist/jsx/Video/PlayerChrome.native.js +3 -9
  298. package/dist/jsx/Video/PlayerChrome.native.js.map +1 -1
  299. package/dist/jsx/code/Code/index.mjs +6 -0
  300. package/dist/jsx/code/Code/index.mjs.map +1 -1
  301. package/dist/jsx/code/Code/index.native.js +7 -4
  302. package/dist/jsx/code/Code/index.native.js.map +1 -1
  303. package/dist/jsx/code/CodeBlock/index.mjs +5 -6
  304. package/dist/jsx/code/CodeBlock/index.mjs.map +1 -1
  305. package/dist/jsx/code/CodeBlock/index.native.js +4 -5
  306. package/dist/jsx/code/CodeBlock/index.native.js.map +1 -1
  307. package/dist/jsx/icons/themed.mjs +3 -2
  308. package/dist/jsx/icons/themed.mjs.map +1 -1
  309. package/dist/jsx/icons/themed.native.js +2 -1
  310. package/dist/jsx/icons/themed.native.js.map +1 -1
  311. package/dist/jsx/knobImmuneExports.mjs +3 -3
  312. package/dist/jsx/knobImmuneExports.native.js +3 -3
  313. package/dist/jsx/layouts/PaneScaffold.mjs +70 -42
  314. package/dist/jsx/layouts/PaneScaffold.mjs.map +1 -1
  315. package/dist/jsx/layouts/PaneScaffold.native.js +75 -48
  316. package/dist/jsx/layouts/PaneScaffold.native.js.map +1 -1
  317. package/dist/jsx/layouts/page.mjs +3 -2
  318. package/dist/jsx/layouts/page.mjs.map +1 -1
  319. package/dist/jsx/layouts/page.native.js +2 -1
  320. package/dist/jsx/layouts/page.native.js.map +1 -1
  321. package/dist/jsx/layouts/sidebar.mjs +2 -4
  322. package/dist/jsx/layouts/sidebar.mjs.map +1 -1
  323. package/dist/jsx/layouts/sidebar.native.js +1 -3
  324. package/dist/jsx/layouts/sidebar.native.js.map +1 -1
  325. package/dist/jsx/layouts/tags.mjs.map +1 -1
  326. package/dist/jsx/layouts/tags.native.js.map +1 -1
  327. package/dist/jsx/surfaces.mjs +1 -33
  328. package/dist/jsx/surfaces.mjs.map +1 -1
  329. package/dist/jsx/surfaces.native.js +0 -32
  330. package/dist/jsx/surfaces.native.js.map +1 -1
  331. package/dist/jsx/views/List.mjs +2 -4
  332. package/dist/jsx/views/List.mjs.map +1 -1
  333. package/dist/jsx/views/List.native.js +1 -3
  334. package/dist/jsx/views/List.native.js.map +1 -1
  335. package/dist/jsx/views/Matrix.mjs +543 -0
  336. package/dist/jsx/views/Matrix.mjs.map +1 -0
  337. package/dist/jsx/views/Matrix.native.js +612 -0
  338. package/dist/jsx/views/Matrix.native.js.map +1 -0
  339. package/dist/jsx/views/TreeView.mjs +175 -43
  340. package/dist/jsx/views/TreeView.mjs.map +1 -1
  341. package/dist/jsx/views/TreeView.native.js +181 -46
  342. package/dist/jsx/views/TreeView.native.js.map +1 -1
  343. package/dist/jsx/views/ganttMath.mjs +1 -1
  344. package/dist/jsx/views/ganttMath.mjs.map +1 -1
  345. package/dist/jsx/views/ganttMath.native.js +2 -0
  346. package/dist/jsx/views/ganttMath.native.js.map +1 -1
  347. package/dist/jsx/views/index.mjs +4 -2
  348. package/dist/jsx/views/index.mjs.map +1 -1
  349. package/dist/jsx/views/index.native.js +16 -0
  350. package/dist/jsx/views/index.native.js.map +1 -1
  351. package/dist/jsx/views/matrixMath.mjs +122 -0
  352. package/dist/jsx/views/matrixMath.mjs.map +1 -0
  353. package/dist/jsx/views/matrixMath.native.js +229 -0
  354. package/dist/jsx/views/matrixMath.native.js.map +1 -0
  355. package/package.json +12 -12
  356. package/src/Accordion/Accordion.spec.tsx +20 -0
  357. package/src/Accordion/index.tsx +8 -4
  358. package/src/AnimateHeight/index.tsx +143 -142
  359. package/src/Chip/Chip.borderLadder.spec.tsx +54 -0
  360. package/src/Chip/Chip.pressSlop.spec.tsx +57 -0
  361. package/src/Chip/index.tsx +15 -1
  362. package/src/Heading.native.spec.tsx +1 -1
  363. package/src/Separator/index.tsx +3 -3
  364. package/src/SheetModal/SheetModal.detentLayout.spec.tsx +173 -0
  365. package/src/SheetModal/SheetModal.fill.spec.tsx +147 -0
  366. package/src/SheetModal/SheetModal.ownedBody.spec.tsx +200 -0
  367. package/src/SheetModal/SheetModal.stories.spec.tsx +23 -2
  368. package/src/SheetModal/SheetModal.stories.tsx +275 -2
  369. package/src/SheetModal/SheetModal.touch.spec.tsx +63 -0
  370. package/src/SheetModal/index.native.tsx +143 -21
  371. package/src/SheetModal/index.tsx +40 -3
  372. package/src/Tabs/Tabs.hydration.spec.tsx +123 -0
  373. package/src/Tabs/Tabs.lifecycle.spec.tsx +123 -0
  374. package/src/Tabs/Tabs.measurement.spec.tsx +186 -0
  375. package/src/Tabs/Tabs.stories.tsx +43 -0
  376. package/src/Tabs/index.tsx +45 -15
  377. package/src/Text.spec.tsx +32 -2
  378. package/src/Text.tsx +7 -6
  379. package/src/Toast/Toast.spec.tsx +50 -0
  380. package/src/Tooltip/Tooltip.spec.tsx +55 -2
  381. package/src/TreeSelect/TreeSelect.spec.tsx +15 -15
  382. package/src/TreeSelect/index.tsx +53 -50
  383. package/src/Video/PlayerChrome.tsx +4 -3
  384. package/src/Wheel/Wheel.spec.tsx +4 -4
  385. package/src/adjacency.l1.spec.tsx +175 -0
  386. package/src/code/Code/code.spec.tsx +2 -19
  387. package/src/code/Code/index.tsx +0 -6
  388. package/src/code/CodeBlock/index.tsx +5 -3
  389. package/src/code/highlightedCode.spec.tsx +2 -2
  390. package/src/code/hostProps.spec.tsx +55 -0
  391. package/src/icons/themed.hydration.spec.tsx +60 -0
  392. package/src/icons/themed.tsx +3 -6
  393. package/src/knobImmuneExports.ts +3 -3
  394. package/src/layouts/PaneScaffold.spec.tsx +148 -2
  395. package/src/layouts/PaneScaffold.stories.tsx +33 -1
  396. package/src/layouts/PaneScaffold.tsx +101 -48
  397. package/src/layouts/page.designLaw.spec.tsx +20 -0
  398. package/src/layouts/page.tsx +2 -0
  399. package/src/layouts/sidebar.tsx +2 -3
  400. package/src/layouts/tags.tsx +2 -1
  401. package/src/overlayElevation.spec.tsx +39 -51
  402. package/src/surfaces.spec.tsx +13 -10
  403. package/src/surfaces.tsx +4 -33
  404. package/src/tamagui.spec.ts +4 -3
  405. package/src/textAccentSecondary.spec.tsx +100 -2
  406. package/src/views/List.tsx +2 -1
  407. package/src/views/Matrix.spec.tsx +339 -0
  408. package/src/views/Matrix.stories.spec.tsx +68 -0
  409. package/src/views/Matrix.stories.tsx +153 -0
  410. package/src/views/Matrix.tsx +738 -0
  411. package/src/views/TreeView.reveal.spec.tsx +7 -0
  412. package/src/views/TreeView.reveal.stories.tsx +134 -0
  413. package/src/views/TreeView.scroll-index.spec.tsx +246 -0
  414. package/src/views/TreeView.scroll.spec.tsx +711 -50
  415. package/src/views/TreeView.tsx +230 -49
  416. package/src/views/ganttMath.ts +4 -2
  417. package/src/views/index.ts +30 -0
  418. package/src/views/matrixMath.spec.ts +237 -0
  419. package/src/views/matrixMath.ts +251 -0
  420. package/src/views/views.spec.tsx +3 -1
  421. package/types/Accordion/index.d.ts.map +1 -1
  422. package/types/AnimateHeight/index.d.ts.map +1 -1
  423. package/types/Chip/index.d.ts.map +1 -1
  424. package/types/Separator/index.d.ts +3 -3
  425. package/types/SheetModal/index.d.ts +8 -1
  426. package/types/SheetModal/index.d.ts.map +1 -1
  427. package/types/SheetModal/index.native.d.ts +1 -1
  428. package/types/SheetModal/index.native.d.ts.map +1 -1
  429. package/types/Tabs/index.d.ts.map +1 -1
  430. package/types/Text.d.ts.map +1 -1
  431. package/types/TreeSelect/index.d.ts.map +1 -1
  432. package/types/Video/PlayerChrome.d.ts.map +1 -1
  433. package/types/code/Code/index.d.ts.map +1 -1
  434. package/types/code/CodeBlock/index.d.ts.map +1 -1
  435. package/types/icons/themed.d.ts.map +1 -1
  436. package/types/layouts/PaneScaffold.d.ts +14 -1
  437. package/types/layouts/PaneScaffold.d.ts.map +1 -1
  438. package/types/layouts/page.d.ts.map +1 -1
  439. package/types/layouts/sidebar.d.ts.map +1 -1
  440. package/types/layouts/tags.d.ts.map +1 -1
  441. package/types/surfaces.d.ts.map +1 -1
  442. package/types/views/List.d.ts.map +1 -1
  443. package/types/views/Matrix.d.ts +102 -0
  444. package/types/views/Matrix.d.ts.map +1 -0
  445. package/types/views/TreeView.d.ts +10 -1
  446. package/types/views/TreeView.d.ts.map +1 -1
  447. package/types/views/ganttMath.d.ts +4 -0
  448. package/types/views/ganttMath.d.ts.map +1 -1
  449. package/types/views/index.d.ts +3 -1
  450. package/types/views/index.d.ts.map +1 -1
  451. package/types/views/matrixMath.d.ts +114 -0
  452. package/types/views/matrixMath.d.ts.map +1 -0
@@ -91,11 +91,14 @@ function TreeView({
91
91
  estimateSize: estimateSizeProp,
92
92
  overscan = 10,
93
93
  height: heightProp,
94
+ initialScrollOffset,
95
+ onScrollOffsetChange,
94
96
  emptyMessage: emptyMessageProp,
95
97
  defaultExpandedIds,
96
98
  expandedIds: controlledExpandedIds,
97
99
  onExpandedIdsChange,
98
100
  revealRequest,
101
+ onRevealComplete,
99
102
  expandByDefault = false,
100
103
  display = "default",
101
104
  showExpansionArrows = true,
@@ -133,6 +136,26 @@ function TreeView({
133
136
  const treeId = (0, import_react2.useId)();
134
137
  const containerRef = (0, import_react2.useRef)(null);
135
138
  const flashListRef = (0, import_react2.useRef)(null);
139
+ const initialScroll = (0, import_react2.useRef)(initialScrollOffset === void 0 ? void 0 : {
140
+ offset: Number.isFinite(initialScrollOffset) ? Math.max(0, initialScrollOffset) : 0
141
+ });
142
+ const cancelInitialScroll = (0, import_react2.useCallback)(() => {
143
+ initialScroll.current = void 0;
144
+ }, []);
145
+ const hasNodes = nodes.length > 0;
146
+ const listInstance = (0, import_react2.useMemo)(() => ({
147
+ hasNodes,
148
+ attached: false,
149
+ loaded: false,
150
+ indexScrollRequested: false,
151
+ offset: 0
152
+ }), [hasNodes]);
153
+ const scrollActive = (0, import_react2.useRef)(true);
154
+ const lastReportedOffset = (0, import_react2.useRef)(void 0);
155
+ const offsetCallback = (0, import_react2.useRef)(onScrollOffsetChange);
156
+ (0, import_react2.useLayoutEffect)(() => {
157
+ offsetCallback.current = onScrollOffsetChange;
158
+ }, [onScrollOffsetChange]);
136
159
  const [focusedIndex, setFocusedIndex] = (0, import_react2.useState)(-1);
137
160
  const [keyboardRing, setKeyboardRing] = (0, import_react2.useState)(false);
138
161
  const typeaheadRef = (0, import_react2.useRef)({
@@ -162,6 +185,7 @@ function TreeView({
162
185
  const rowHeights = (0, import_react2.useRef)(/* @__PURE__ */new Map());
163
186
  const getRowHeight = (0, import_react2.useCallback)(id => rowHeights.current.get(id) ?? estimateSize, [estimateSize]);
164
187
  const toggleNode = (0, import_react2.useCallback)(node => {
188
+ cancelInitialScroll();
165
189
  const next = new Set(expandedIds);
166
190
  if (next.has(node.id)) {
167
191
  next.delete(node.id);
@@ -170,7 +194,7 @@ function TreeView({
170
194
  }
171
195
  setExpandedIds(next);
172
196
  onNodeToggle?.(node);
173
- }, [expandedIds, setExpandedIds, onNodeToggle]);
197
+ }, [expandedIds, setExpandedIds, onNodeToggle, cancelInitialScroll]);
174
198
  const previousExpandedIds = (0, import_react2.useRef)(expandedIds);
175
199
  (0, import_react2.useLayoutEffect)(() => {
176
200
  const previous = previousExpandedIds.current;
@@ -219,28 +243,115 @@ function TreeView({
219
243
  return result;
220
244
  }, [nodes, expandedIds]);
221
245
  const revealIntent = (0, import_react2.useRef)(void 0);
222
- const revealFrame = (0, import_react2.useRef)(void 0);
223
- const revealStep = (0, import_react2.useRef)(() => {});
246
+ const scrollFrame = (0, import_react2.useRef)(void 0);
247
+ const scrollStep = (0, import_react2.useRef)(() => {});
224
248
  const renderedRows = (0, import_react2.useRef)(/* @__PURE__ */new Set());
225
- const scheduleReveal = (0, import_react2.useCallback)(() => {
226
- if (!revealIntent.current || revealIntent.current.complete || revealFrame.current !== void 0) return;
227
- revealFrame.current = requestAnimationFrame(() => {
228
- revealFrame.current = void 0;
229
- revealStep.current();
249
+ const scrollBounds = (0, import_react2.useCallback)(() => {
250
+ const list = flashListRef.current;
251
+ if (!scrollActive.current || !listInstance.attached || !listInstance.loaded || !list) return;
252
+ if (import_tamagui.isWeb) {
253
+ const rect = containerRef.current?.getBoundingClientRect();
254
+ if (!rect || !(rect.width > 0) || !(rect.height > 0)) return;
255
+ }
256
+ const viewport = list.getWindowSize();
257
+ const contentHeight = list.getChildContainerDimensions().height + list.getFirstItemOffset();
258
+ if (!Number.isFinite(viewport.width) || viewport.width <= 0 || !Number.isFinite(viewport.height) || viewport.height <= 0 || !Number.isFinite(contentHeight) || contentHeight <= 0) return;
259
+ return {
260
+ list,
261
+ width: viewport.width,
262
+ height: viewport.height,
263
+ contentHeight,
264
+ maxOffset: Math.max(0, contentHeight - viewport.height)
265
+ };
266
+ }, [listInstance]);
267
+ const observeOffset = (0, import_react2.useCallback)((offset, fromEvent = false) => {
268
+ if (!scrollActive.current || !listInstance.attached || !Number.isFinite(offset)) return;
269
+ if (fromEvent && initialScroll.current?.attempted === void 0 && offset !== listInstance.offset) {
270
+ cancelInitialScroll();
271
+ }
272
+ listInstance.offset = offset;
273
+ const bounds = scrollBounds();
274
+ if (!bounds) return;
275
+ const bounded = Math.max(0, Math.min(offset, bounds.maxOffset));
276
+ const initial = initialScroll.current;
277
+ if (initial) {
278
+ const target = Math.min(initial.offset, bounds.maxOffset);
279
+ if (initial.attempted ? Math.abs(bounded - target) >= 1 : bounded !== target) return;
280
+ initialScroll.current = void 0;
281
+ }
282
+ if (offsetCallback.current && lastReportedOffset.current !== bounded) {
283
+ lastReportedOffset.current = bounded;
284
+ offsetCallback.current(bounded);
285
+ }
286
+ }, [cancelInitialScroll, scrollBounds, listInstance]);
287
+ const scheduleScroll = (0, import_react2.useCallback)(() => {
288
+ if (!scrollActive.current || !listInstance.attached || scrollFrame.current !== void 0) return;
289
+ if (!initialScroll.current && (!revealIntent.current || revealIntent.current.complete) && !offsetCallback.current) return;
290
+ scrollFrame.current = requestAnimationFrame(() => {
291
+ scrollFrame.current = void 0;
292
+ if (listInstance.attached) scrollStep.current();
230
293
  });
294
+ }, [listInstance]);
295
+ const attachList = (0, import_react2.useCallback)(list => {
296
+ flashListRef.current = list;
297
+ listInstance.attached = list !== null;
298
+ if (!list) {
299
+ listInstance.loaded = false;
300
+ if (initialScroll.current) initialScroll.current.attempted = void 0;
301
+ if (scrollFrame.current !== void 0) cancelAnimationFrame(scrollFrame.current);
302
+ scrollFrame.current = void 0;
303
+ }
304
+ }, [listInstance]);
305
+ (0, import_react2.useLayoutEffect)(() => {
306
+ scrollActive.current = true;
307
+ return () => {
308
+ scrollActive.current = false;
309
+ revealIntent.current = void 0;
310
+ if (scrollFrame.current !== void 0) cancelAnimationFrame(scrollFrame.current);
311
+ scrollFrame.current = void 0;
312
+ };
231
313
  }, []);
232
314
  (0, import_react2.useLayoutEffect)(() => {
233
315
  if (!revealRequest) {
234
316
  revealIntent.current = void 0;
235
317
  } else if (revealIntent.current?.id !== revealRequest.id || revealIntent.current?.requestId !== revealRequest.requestId) {
318
+ cancelInitialScroll();
236
319
  revealIntent.current = {
237
320
  ...revealRequest,
238
321
  complete: false
239
322
  };
240
323
  }
241
- revealStep.current = () => {
324
+ const step = () => {
325
+ const currentList = flashListRef.current;
326
+ if (currentList) {
327
+ observeOffset(listInstance.indexScrollRequested ? listInstance.offset : currentList.getAbsoluteLastScrollOffset());
328
+ }
329
+ if (!scrollActive.current) return;
330
+ if (scrollStep.current !== step) {
331
+ scheduleScroll();
332
+ return;
333
+ }
242
334
  const intent = revealIntent.current;
243
- if (!intent || intent.complete) return;
335
+ if (!intent || intent.complete) {
336
+ const initial = initialScroll.current;
337
+ const bounds = scrollBounds();
338
+ if (!initial || !bounds || flatNodes.length === 0) return;
339
+ const target = Math.min(initial.offset, bounds.maxOffset);
340
+ const attempted = initial.attempted;
341
+ if (!attempted || attempted.target !== target || attempted.width !== bounds.width || attempted.height !== bounds.height || attempted.contentHeight !== bounds.contentHeight) {
342
+ initial.attempted = {
343
+ target,
344
+ width: bounds.width,
345
+ height: bounds.height,
346
+ contentHeight: bounds.contentHeight
347
+ };
348
+ bounds.list.scrollToOffset({
349
+ offset: target,
350
+ animated: false
351
+ });
352
+ }
353
+ return;
354
+ }
244
355
  const next = (0, import_treeViewReveal.treeRevealExpansion)(nodes, expandedIds, intent.id);
245
356
  if (!next) return;
246
357
  if (next !== expandedIds) {
@@ -266,15 +377,26 @@ function TreeView({
266
377
  if (viewport.width <= 0) return;
267
378
  const layout = list.getLayout(index);
268
379
  if (!layout) return;
269
- const offset = list.getAbsoluteLastScrollOffset();
380
+ const offset = listInstance.indexScrollRequested ? listInstance.offset : list.getAbsoluteLastScrollOffset();
381
+ const top = layout.y + list.getFirstItemOffset();
270
382
  const nextOffset = (0, import_treeViewReveal.treeRevealOffset)({
271
- y: layout.y + list.getFirstItemOffset(),
383
+ y: top,
272
384
  height: layout.height
273
385
  }, offset, viewport.height);
274
386
  if (nextOffset === void 0) return;
275
387
  if (Math.abs(nextOffset - offset) < 1) {
276
- const visible = list.computeVisibleIndices();
277
- if (layout.isHeightMeasured && renderedRows.current.has(intent.id) && index >= visible.startIndex && index <= visible.endIndex) intent.complete = true;
388
+ let visible = top < offset + viewport.height && top + layout.height > offset;
389
+ if (!listInstance.indexScrollRequested) {
390
+ const range = list.computeVisibleIndices();
391
+ visible = visible && index >= range.startIndex && index <= range.endIndex;
392
+ }
393
+ if (revealIntent.current === intent && layout.isHeightMeasured && renderedRows.current.has(intent.id) && visible) {
394
+ intent.complete = true;
395
+ onRevealComplete?.({
396
+ id: intent.id,
397
+ requestId: intent.requestId
398
+ });
399
+ }
278
400
  return;
279
401
  }
280
402
  list.scrollToOffset({
@@ -282,21 +404,19 @@ function TreeView({
282
404
  animated: false
283
405
  });
284
406
  };
285
- scheduleReveal();
286
- }, [nodes, expandedIds, setExpandedIds, flatNodes, revealRequest?.id, revealRequest?.requestId, height, motion, scheduleReveal]);
287
- (0, import_react2.useLayoutEffect)(() => () => {
288
- revealIntent.current = void 0;
289
- if (revealFrame.current !== void 0) cancelAnimationFrame(revealFrame.current);
290
- revealFrame.current = void 0;
291
- }, []);
407
+ scrollStep.current = step;
408
+ scheduleScroll();
409
+ }, [nodes, expandedIds, setExpandedIds, flatNodes, revealRequest?.id, revealRequest?.requestId, onRevealComplete, height, motion, scheduleScroll, cancelInitialScroll, observeOffset, scrollBounds, listInstance]);
292
410
  const scrollToIndex = (0, import_react2.useCallback)(index => {
293
411
  if (index >= 0 && index < flatNodes.length) {
412
+ cancelInitialScroll();
413
+ listInstance.indexScrollRequested = true;
294
414
  flashListRef.current?.scrollToIndex({
295
415
  index,
296
416
  animated: true
297
417
  });
298
418
  }
299
- }, [flatNodes.length]);
419
+ }, [flatNodes.length, cancelInitialScroll, listInstance]);
300
420
  const focusRow = (0, import_react2.useCallback)(index => {
301
421
  setKeyboardRing(true);
302
422
  setFocusedIndex(index);
@@ -514,6 +634,7 @@ function TreeView({
514
634
  if (!container?.getBoundingClientRect) return false;
515
635
  const session = (0, import_treeViewDnd.treeKeyboardLift)(nodes, flat.node.id);
516
636
  if (!session) return false;
637
+ cancelInitialScroll();
517
638
  const rowRect = rowEl.getBoundingClientRect();
518
639
  const containerRect = container.getBoundingClientRect();
519
640
  grabOffsetRef.current = {
@@ -546,7 +667,7 @@ function TreeView({
546
667
  announce((0, import_treeViewDnd.describeTreeDragState)("lift", session, nodes, flat.node.label));
547
668
  startAutoScroll();
548
669
  return true;
549
- }, [announce, nodes, startAutoScroll]);
670
+ }, [announce, nodes, startAutoScroll, cancelInitialScroll]);
550
671
  const handleDragHandlePointerDown = (0, import_react2.useCallback)((flat, e) => {
551
672
  if (!canReorder || typeof window === "undefined") return;
552
673
  if (e.button !== void 0 && e.button !== 0) return;
@@ -677,6 +798,7 @@ function TreeView({
677
798
  if (!flat) return false;
678
799
  const session = (0, import_treeViewDnd.treeKeyboardLift)(nodes, flat.node.id);
679
800
  if (!session) return false;
801
+ cancelInitialScroll();
680
802
  const ui = {
681
803
  mode: "keyboard",
682
804
  node: flat.node,
@@ -694,7 +816,7 @@ function TreeView({
694
816
  dragUiRef.current = ui;
695
817
  announce((0, import_treeViewDnd.describeTreeDragState)("lift", session, nodes, flat.node.label));
696
818
  return true;
697
- }, [announce, canReorder, dndRows, flatNodes, focusedIndex, getRowHeight, nodes]);
819
+ }, [announce, canReorder, dndRows, flatNodes, focusedIndex, getRowHeight, nodes, cancelInitialScroll]);
698
820
  const moveKeyboardDrag = (0, import_react2.useCallback)(direction => {
699
821
  const ui = dragUiRef.current;
700
822
  if (!ui || ui.mode !== "keyboard") return false;
@@ -860,20 +982,30 @@ function TreeView({
860
982
  onFocus: handleContainerFocus,
861
983
  onBlur: handleContainerBlur,
862
984
  onKeyDown: handleTreeKeyDown,
863
- onLayout: revealRequest ? scheduleReveal : void 0,
985
+ onLayout: scheduleScroll,
986
+ ...(import_tamagui.isWeb && {
987
+ onWheel: cancelInitialScroll,
988
+ onPointerDown: cancelInitialScroll
989
+ }),
864
990
  position: "relative",
865
991
  style: {
866
992
  height
867
993
  },
868
994
  children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_flash_list.FlashList, {
869
- ref: flashListRef,
995
+ ref: attachList,
870
996
  data: flatNodes,
871
997
  drawDistance: overscan * estimateSize,
872
998
  keyExtractor: item => item.node.id,
873
- ...(revealRequest && {
874
- onLoad: scheduleReveal,
875
- onCommitLayoutEffect: scheduleReveal
876
- }),
999
+ onLoad: () => {
1000
+ if (!scrollActive.current || !listInstance.attached) return;
1001
+ listInstance.loaded = true;
1002
+ scheduleScroll();
1003
+ },
1004
+ onCommitLayoutEffect: scheduleScroll,
1005
+ onContentSizeChange: scheduleScroll,
1006
+ onScrollBeginDrag: () => {
1007
+ if (scrollActive.current && listInstance.attached) cancelInitialScroll();
1008
+ },
877
1009
  extraData: {
878
1010
  focused: effectiveFocused,
879
1011
  selectedId,
@@ -884,17 +1016,17 @@ function TreeView({
884
1016
  keyboardRing,
885
1017
  collapsedSelectedAncestors
886
1018
  },
887
- ...((canReorder || revealRequest) && {
888
- onScroll: e => {
889
- const y = e?.nativeEvent?.contentOffset?.y;
890
- if (typeof y === "number") {
891
- scrollOffsetRef.current = y;
892
- if (dragUiRef.current) setDragScrollY(y);
893
- }
894
- scheduleReveal();
895
- },
896
- scrollEventThrottle: 16
897
- }),
1019
+ onScroll: e => {
1020
+ if (!scrollActive.current || !listInstance.attached) return;
1021
+ const y = e?.nativeEvent?.contentOffset?.y;
1022
+ if (typeof y === "number" && Number.isFinite(y)) {
1023
+ scrollOffsetRef.current = y;
1024
+ if (dragUiRef.current) setDragScrollY(y);
1025
+ observeOffset(y, true);
1026
+ }
1027
+ scheduleScroll();
1028
+ },
1029
+ scrollEventThrottle: 16,
898
1030
  renderItem: ({
899
1031
  item,
900
1032
  index
@@ -930,7 +1062,7 @@ function TreeView({
930
1062
  return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
931
1063
  ref: row => {
932
1064
  if (row) renderedRows.current.add(node.id);else renderedRows.current.delete(node.id);
933
- scheduleReveal();
1065
+ scheduleScroll();
934
1066
  },
935
1067
  id: `${treeId}-node-${index}`,
936
1068
  ...{
@@ -966,7 +1098,7 @@ function TreeView({
966
1098
  onLayout: e => {
967
1099
  const h = e?.nativeEvent?.layout?.height;
968
1100
  if (typeof h === "number" && h > 0) rowHeights.current.set(node.id, h);
969
- scheduleReveal();
1101
+ scheduleScroll();
970
1102
  },
971
1103
  backgroundColor:
972
1104
  // Nest-into parent highlight wins while a drag is active