@multiplatform.one/components 7.23.1 → 7.24.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 (557) hide show
  1. package/dist/cjs/Alert/index.cjs +1 -1
  2. package/dist/cjs/Alert/index.native.js +1 -1
  3. package/dist/cjs/Alert/index.native.js.map +1 -1
  4. package/dist/cjs/Avatar/index.cjs +6 -4
  5. package/dist/cjs/Avatar/index.native.js +6 -4
  6. package/dist/cjs/Avatar/index.native.js.map +1 -1
  7. package/dist/cjs/ContextMenu/index.cjs +1 -1
  8. package/dist/cjs/ContextMenu/index.native.js +1 -1
  9. package/dist/cjs/ContextMenu/index.native.js.map +1 -1
  10. package/dist/cjs/DropdownMenu/index.cjs +1 -1
  11. package/dist/cjs/DropdownMenu/index.native.js +1 -1
  12. package/dist/cjs/DropdownMenu/index.native.js.map +1 -1
  13. package/dist/cjs/ProgressSteps/index.cjs +16 -10
  14. package/dist/cjs/ProgressSteps/index.native.js +16 -10
  15. package/dist/cjs/ProgressSteps/index.native.js.map +1 -1
  16. package/dist/cjs/SheetModal/index.native.js +7 -0
  17. package/dist/cjs/SheetModal/index.native.js.map +1 -1
  18. package/dist/cjs/Tabs/index.cjs +2 -1
  19. package/dist/cjs/Tabs/index.native.js +2 -1
  20. package/dist/cjs/Tabs/index.native.js.map +1 -1
  21. package/dist/cjs/ThemePlayground/index.cjs +114 -0
  22. package/dist/cjs/ThemePlayground/index.native.js +33 -0
  23. package/dist/cjs/ThemePlayground/index.native.js.map +1 -0
  24. package/dist/cjs/Toast/index.cjs +2 -2
  25. package/dist/cjs/Toast/index.native.js +2 -2
  26. package/dist/cjs/Toast/index.native.js.map +1 -1
  27. package/dist/cjs/TreeSelect/index.cjs +0 -1
  28. package/dist/cjs/TreeSelect/index.native.js +0 -1
  29. package/dist/cjs/TreeSelect/index.native.js.map +1 -1
  30. package/dist/cjs/Video/PlayerChrome.cjs +2 -2
  31. package/dist/cjs/Video/PlayerChrome.native.js +2 -2
  32. package/dist/cjs/Video/PlayerChrome.native.js.map +1 -1
  33. package/dist/cjs/Wizard/index.cjs +33 -33
  34. package/dist/cjs/Wizard/index.native.js +33 -33
  35. package/dist/cjs/Wizard/index.native.js.map +1 -1
  36. package/dist/cjs/code/HighlightedCode/index.cjs +3 -2
  37. package/dist/cjs/code/HighlightedCode/index.native.js +3 -2
  38. package/dist/cjs/code/HighlightedCode/index.native.js.map +1 -1
  39. package/dist/cjs/index.cjs +1 -0
  40. package/dist/cjs/index.native.js +1 -0
  41. package/dist/cjs/index.native.js.map +1 -1
  42. package/dist/cjs/layouts/attachments.cjs +1 -1
  43. package/dist/cjs/layouts/attachments.native.js +1 -1
  44. package/dist/cjs/layouts/attachments.native.js.map +1 -1
  45. package/dist/cjs/layouts/page.cjs +18 -5
  46. package/dist/cjs/layouts/page.native.js +18 -6
  47. package/dist/cjs/layouts/page.native.js.map +1 -1
  48. package/dist/cjs/layouts/sidebar.cjs +20 -12
  49. package/dist/cjs/layouts/sidebar.native.js +22 -18
  50. package/dist/cjs/layouts/sidebar.native.js.map +1 -1
  51. package/dist/cjs/layouts/tags.cjs +4 -1
  52. package/dist/cjs/layouts/tags.native.js +4 -1
  53. package/dist/cjs/layouts/tags.native.js.map +1 -1
  54. package/dist/cjs/layouts/timeline.cjs +12 -7
  55. package/dist/cjs/layouts/timeline.native.js +15 -9
  56. package/dist/cjs/layouts/timeline.native.js.map +1 -1
  57. package/dist/cjs/layouts/toolbar.cjs +0 -1
  58. package/dist/cjs/layouts/toolbar.native.js +0 -1
  59. package/dist/cjs/layouts/toolbar.native.js.map +1 -1
  60. package/dist/cjs/views/Calendar.cjs +5 -5
  61. package/dist/cjs/views/Calendar.native.js +5 -5
  62. package/dist/cjs/views/Calendar.native.js.map +1 -1
  63. package/dist/cjs/views/Gantt.cjs +2 -2
  64. package/dist/cjs/views/Gantt.native.js +2 -2
  65. package/dist/cjs/views/Gantt.native.js.map +1 -1
  66. package/dist/cjs/views/ImageGrid.cjs +17 -10
  67. package/dist/cjs/views/ImageGrid.native.js +19 -10
  68. package/dist/cjs/views/ImageGrid.native.js.map +1 -1
  69. package/dist/cjs/views/TreeView.cjs +4 -1
  70. package/dist/cjs/views/TreeView.native.js +4 -1
  71. package/dist/cjs/views/TreeView.native.js.map +1 -1
  72. package/dist/esm/Accordion/index.native.js.map +1 -1
  73. package/dist/esm/Alert/index.mjs +1 -1
  74. package/dist/esm/Alert/index.mjs.map +1 -1
  75. package/dist/esm/Alert/index.native.js +1 -1
  76. package/dist/esm/Alert/index.native.js.map +1 -1
  77. package/dist/esm/AnimateHeight/index.native.js.map +1 -1
  78. package/dist/esm/Avatar/getInitials.native.js.map +1 -1
  79. package/dist/esm/Avatar/index.mjs +7 -5
  80. package/dist/esm/Avatar/index.mjs.map +1 -1
  81. package/dist/esm/Avatar/index.native.js +7 -5
  82. package/dist/esm/Avatar/index.native.js.map +1 -1
  83. package/dist/esm/Badge/index.native.js.map +1 -1
  84. package/dist/esm/Button.native.js.map +1 -1
  85. package/dist/esm/Carousel/index.native.js.map +1 -1
  86. package/dist/esm/Chip/index.native.js.map +1 -1
  87. package/dist/esm/Collapsible.native.js.map +1 -1
  88. package/dist/esm/ContextMenu/index.mjs +1 -1
  89. package/dist/esm/ContextMenu/index.mjs.map +1 -1
  90. package/dist/esm/ContextMenu/index.native.js +1 -1
  91. package/dist/esm/ContextMenu/index.native.js.map +1 -1
  92. package/dist/esm/CopyField/index.native.js.map +1 -1
  93. package/dist/esm/DotIndicator/index.native.js.map +1 -1
  94. package/dist/esm/DropdownMenu/index.mjs +1 -1
  95. package/dist/esm/DropdownMenu/index.mjs.map +1 -1
  96. package/dist/esm/DropdownMenu/index.native.js +1 -1
  97. package/dist/esm/DropdownMenu/index.native.js.map +1 -1
  98. package/dist/esm/ErrorBoundary/index.native.js.map +1 -1
  99. package/dist/esm/Heading.native.js.map +1 -1
  100. package/dist/esm/Meter/index.native.js.map +1 -1
  101. package/dist/esm/Meter/meter.native.js.map +1 -1
  102. package/dist/esm/Pagination.native.js.map +1 -1
  103. package/dist/esm/ProgressSteps/index.mjs +16 -10
  104. package/dist/esm/ProgressSteps/index.mjs.map +1 -1
  105. package/dist/esm/ProgressSteps/index.native.js +16 -10
  106. package/dist/esm/ProgressSteps/index.native.js.map +1 -1
  107. package/dist/esm/Quote/index.native.js.map +1 -1
  108. package/dist/esm/Separator/index.native.js.map +1 -1
  109. package/dist/esm/SheetModal/detents.native.js.map +1 -1
  110. package/dist/esm/SheetModal/index.native.js +7 -0
  111. package/dist/esm/SheetModal/index.native.js.map +1 -1
  112. package/dist/esm/Skeleton/index.native.js.map +1 -1
  113. package/dist/esm/SkipLink/index.native.js.map +1 -1
  114. package/dist/esm/SortableList/SortableHandle.native.js.map +1 -1
  115. package/dist/esm/SortableList/index.native.js.map +1 -1
  116. package/dist/esm/SortableList/useSortableRows.native.js.map +1 -1
  117. package/dist/esm/Tabs/index.mjs +2 -1
  118. package/dist/esm/Tabs/index.mjs.map +1 -1
  119. package/dist/esm/Tabs/index.native.js +2 -1
  120. package/dist/esm/Tabs/index.native.js.map +1 -1
  121. package/dist/esm/Text.native.js.map +1 -1
  122. package/dist/esm/ThemePlayground/index.mjs +78 -0
  123. package/dist/esm/ThemePlayground/index.mjs.map +1 -0
  124. package/dist/esm/ThemePlayground/index.native.js +5 -0
  125. package/dist/esm/ThemePlayground/index.native.js.map +1 -0
  126. package/dist/esm/Toast/index.mjs +2 -2
  127. package/dist/esm/Toast/index.mjs.map +1 -1
  128. package/dist/esm/Toast/index.native.js +2 -2
  129. package/dist/esm/Toast/index.native.js.map +1 -1
  130. package/dist/esm/Toast/store.native.js.map +1 -1
  131. package/dist/esm/Tooltip/nativePress.native.js.map +1 -1
  132. package/dist/esm/Tooltip/tooltipShared.native.js.map +1 -1
  133. package/dist/esm/TreeSelect/index.mjs +0 -1
  134. package/dist/esm/TreeSelect/index.mjs.map +1 -1
  135. package/dist/esm/TreeSelect/index.native.js +0 -1
  136. package/dist/esm/TreeSelect/index.native.js.map +1 -1
  137. package/dist/esm/TreeSelect/treeSelectModel.native.js.map +1 -1
  138. package/dist/esm/Video/PlayerChrome.mjs +2 -2
  139. package/dist/esm/Video/PlayerChrome.mjs.map +1 -1
  140. package/dist/esm/Video/PlayerChrome.native.js +2 -2
  141. package/dist/esm/Video/PlayerChrome.native.js.map +1 -1
  142. package/dist/esm/Video/VideoFrame.native.js.map +1 -1
  143. package/dist/esm/Video/types.native.js.map +1 -1
  144. package/dist/esm/Wheel/index.native.js.map +1 -1
  145. package/dist/esm/Wizard/index.mjs +33 -33
  146. package/dist/esm/Wizard/index.mjs.map +1 -1
  147. package/dist/esm/Wizard/index.native.js +33 -33
  148. package/dist/esm/Wizard/index.native.js.map +1 -1
  149. package/dist/esm/actions/ActionBar.native.js.map +1 -1
  150. package/dist/esm/actions/DestructiveAction.native.js.map +1 -1
  151. package/dist/esm/actions/devWarn.native.js.map +1 -1
  152. package/dist/esm/actions/index.native.js.map +1 -1
  153. package/dist/esm/actions/severity.native.js.map +1 -1
  154. package/dist/esm/charts/Axis.native.js.map +1 -1
  155. package/dist/esm/charts/BarChart.native.js.map +1 -1
  156. package/dist/esm/charts/ChartDataView.native.js.map +1 -1
  157. package/dist/esm/charts/ChartSurface.native.js.map +1 -1
  158. package/dist/esm/charts/LineChart.native.js.map +1 -1
  159. package/dist/esm/charts/PieChart.native.js.map +1 -1
  160. package/dist/esm/charts/Sparkline.native.js.map +1 -1
  161. package/dist/esm/charts/accessibility.native.js.map +1 -1
  162. package/dist/esm/charts/composeChart.native.js.map +1 -1
  163. package/dist/esm/charts/index.native.js.map +1 -1
  164. package/dist/esm/charts/math.native.js.map +1 -1
  165. package/dist/esm/charts/series.native.js.map +1 -1
  166. package/dist/esm/charts/svg.native.js.map +1 -1
  167. package/dist/esm/charts/types.native.js.map +1 -1
  168. package/dist/esm/charts/useChartTheme.native.js.map +1 -1
  169. package/dist/esm/code/Code/index.native.js.map +1 -1
  170. package/dist/esm/code/CodeBlock/index.native.js.map +1 -1
  171. package/dist/esm/code/HighlightedCode/index.mjs +4 -3
  172. package/dist/esm/code/HighlightedCode/index.mjs.map +1 -1
  173. package/dist/esm/code/HighlightedCode/index.native.js +4 -3
  174. package/dist/esm/code/HighlightedCode/index.native.js.map +1 -1
  175. package/dist/esm/code/Highlighter/index.native.js.map +1 -1
  176. package/dist/esm/code/Pre/index.native.js.map +1 -1
  177. package/dist/esm/code/index.native.js.map +1 -1
  178. package/dist/esm/componentColors.native.js.map +1 -1
  179. package/dist/esm/feedback/ConfirmDialog.native.js.map +1 -1
  180. package/dist/esm/feedback/NotifyHost.native.js.map +1 -1
  181. package/dist/esm/feedback/copy.native.js.map +1 -1
  182. package/dist/esm/feedback/index.native.js.map +1 -1
  183. package/dist/esm/feedback/notify.native.js.map +1 -1
  184. package/dist/esm/feedback/route.native.js.map +1 -1
  185. package/dist/esm/feedback/store.native.js.map +1 -1
  186. package/dist/esm/hooks/index.native.js.map +1 -1
  187. package/dist/esm/hooks/useClipboard.native.js.map +1 -1
  188. package/dist/esm/hooks/useDocumentTitle.native.js.map +1 -1
  189. package/dist/esm/icons/CheckRegular.native.js.map +1 -1
  190. package/dist/esm/icons/MinusRegular.native.js.map +1 -1
  191. package/dist/esm/icons/index.native.js.map +1 -1
  192. package/dist/esm/icons/lucide.native.js.map +1 -1
  193. package/dist/esm/icons/themed.native.js.map +1 -1
  194. package/dist/esm/images/Image/ImageFrame.native.js.map +1 -1
  195. package/dist/esm/images/Image/shared.native.js.map +1 -1
  196. package/dist/esm/images/Image/types.native.js.map +1 -1
  197. package/dist/esm/images/index.native.js.map +1 -1
  198. package/dist/esm/index.mjs +1 -0
  199. package/dist/esm/index.mjs.map +1 -1
  200. package/dist/esm/index.native.js +1 -0
  201. package/dist/esm/index.native.js.map +1 -1
  202. package/dist/esm/knobImmuneExports.native.js.map +1 -1
  203. package/dist/esm/layouts/AsyncBoundary.native.js.map +1 -1
  204. package/dist/esm/layouts/Debug/index.native.js.map +1 -1
  205. package/dist/esm/layouts/EmptyState.native.js.map +1 -1
  206. package/dist/esm/layouts/KeyboardAvoidingWrapper/behavior.native.js.map +1 -1
  207. package/dist/esm/layouts/PageTemplates.native.js.map +1 -1
  208. package/dist/esm/layouts/PaneScaffold.native.js.map +1 -1
  209. package/dist/esm/layouts/SafeAreaWrapper/insets.native.js.map +1 -1
  210. package/dist/esm/layouts/ViewSwitcher.native.js.map +1 -1
  211. package/dist/esm/layouts/attachments.mjs +1 -1
  212. package/dist/esm/layouts/attachments.mjs.map +1 -1
  213. package/dist/esm/layouts/attachments.native.js +1 -1
  214. package/dist/esm/layouts/attachments.native.js.map +1 -1
  215. package/dist/esm/layouts/breadcrumbs.native.js.map +1 -1
  216. package/dist/esm/layouts/index.native.js.map +1 -1
  217. package/dist/esm/layouts/page.mjs +18 -5
  218. package/dist/esm/layouts/page.mjs.map +1 -1
  219. package/dist/esm/layouts/page.native.js +18 -6
  220. package/dist/esm/layouts/page.native.js.map +1 -1
  221. package/dist/esm/layouts/pageHeadingScope.native.js.map +1 -1
  222. package/dist/esm/layouts/sidebar.mjs +20 -12
  223. package/dist/esm/layouts/sidebar.mjs.map +1 -1
  224. package/dist/esm/layouts/sidebar.native.js +22 -18
  225. package/dist/esm/layouts/sidebar.native.js.map +1 -1
  226. package/dist/esm/layouts/tags.mjs +5 -2
  227. package/dist/esm/layouts/tags.mjs.map +1 -1
  228. package/dist/esm/layouts/tags.native.js +5 -2
  229. package/dist/esm/layouts/tags.native.js.map +1 -1
  230. package/dist/esm/layouts/timeline.mjs +13 -8
  231. package/dist/esm/layouts/timeline.mjs.map +1 -1
  232. package/dist/esm/layouts/timeline.native.js +16 -10
  233. package/dist/esm/layouts/timeline.native.js.map +1 -1
  234. package/dist/esm/layouts/toolbar.mjs +0 -1
  235. package/dist/esm/layouts/toolbar.mjs.map +1 -1
  236. package/dist/esm/layouts/toolbar.native.js +0 -1
  237. package/dist/esm/layouts/toolbar.native.js.map +1 -1
  238. package/dist/esm/shared/actionScan.native.js.map +1 -1
  239. package/dist/esm/shared/i18n.native.js.map +1 -1
  240. package/dist/esm/shared/t.native.js.map +1 -1
  241. package/dist/esm/shared/textRidesText.native.js.map +1 -1
  242. package/dist/esm/shared/useReturnFocusOnClose.native.js.map +1 -1
  243. package/dist/esm/surfaces.native.js.map +1 -1
  244. package/dist/esm/tamagui.native.js.map +1 -1
  245. package/dist/esm/testSetup.native.js.map +1 -1
  246. package/dist/esm/utils/setTinted.native.js.map +1 -1
  247. package/dist/esm/utils/unwrapText.native.js.map +1 -1
  248. package/dist/esm/views/Calendar.mjs +5 -5
  249. package/dist/esm/views/Calendar.mjs.map +1 -1
  250. package/dist/esm/views/Calendar.native.js +5 -5
  251. package/dist/esm/views/Calendar.native.js.map +1 -1
  252. package/dist/esm/views/Dashboard.native.js.map +1 -1
  253. package/dist/esm/views/Gantt.mjs +2 -2
  254. package/dist/esm/views/Gantt.mjs.map +1 -1
  255. package/dist/esm/views/Gantt.native.js +2 -2
  256. package/dist/esm/views/Gantt.native.js.map +1 -1
  257. package/dist/esm/views/ImageGrid.mjs +17 -10
  258. package/dist/esm/views/ImageGrid.mjs.map +1 -1
  259. package/dist/esm/views/ImageGrid.native.js +19 -10
  260. package/dist/esm/views/ImageGrid.native.js.map +1 -1
  261. package/dist/esm/views/List.native.js.map +1 -1
  262. package/dist/esm/views/Matrix.native.js.map +1 -1
  263. package/dist/esm/views/ReportBuilder.native.js.map +1 -1
  264. package/dist/esm/views/TreeView.mjs +5 -2
  265. package/dist/esm/views/TreeView.mjs.map +1 -1
  266. package/dist/esm/views/TreeView.native.js +5 -2
  267. package/dist/esm/views/TreeView.native.js.map +1 -1
  268. package/dist/esm/views/calendarMath.native.js.map +1 -1
  269. package/dist/esm/views/ganttMath.native.js.map +1 -1
  270. package/dist/esm/views/index.native.js.map +1 -1
  271. package/dist/esm/views/kanbanDnd.native.js.map +1 -1
  272. package/dist/esm/views/matrixMath.native.js.map +1 -1
  273. package/dist/esm/views/treeViewDnd.native.js.map +1 -1
  274. package/dist/esm/views/treeViewLayout.native.js.map +1 -1
  275. package/dist/esm/views/treeViewMotion.native.js.map +1 -1
  276. package/dist/esm/views/treeViewReveal.native.js.map +1 -1
  277. package/dist/jsx/Accordion/index.native.js +1 -1
  278. package/dist/jsx/Accordion/index.native.js.map +1 -1
  279. package/dist/jsx/Alert/index.mjs +1 -1
  280. package/dist/jsx/Alert/index.mjs.map +1 -1
  281. package/dist/jsx/Alert/index.native.js +1 -1
  282. package/dist/jsx/Alert/index.native.js.map +1 -1
  283. package/dist/jsx/AnimateHeight/index.native.js.map +1 -1
  284. package/dist/jsx/Avatar/getInitials.native.js.map +1 -1
  285. package/dist/jsx/Avatar/index.mjs +7 -5
  286. package/dist/jsx/Avatar/index.mjs.map +1 -1
  287. package/dist/jsx/Avatar/index.native.js +6 -4
  288. package/dist/jsx/Avatar/index.native.js.map +1 -1
  289. package/dist/jsx/Badge/index.native.js.map +1 -1
  290. package/dist/jsx/Button.native.js.map +1 -1
  291. package/dist/jsx/Card.native.js.map +1 -1
  292. package/dist/jsx/CardFooter.native.js.map +1 -1
  293. package/dist/jsx/CardHeader.native.js.map +1 -1
  294. package/dist/jsx/Carousel/index.native.js +2 -2
  295. package/dist/jsx/Carousel/index.native.js.map +1 -1
  296. package/dist/jsx/Chip/index.native.js.map +1 -1
  297. package/dist/jsx/Collapsible.native.js.map +1 -1
  298. package/dist/jsx/ContextMenu/index.mjs +1 -1
  299. package/dist/jsx/ContextMenu/index.mjs.map +1 -1
  300. package/dist/jsx/ContextMenu/index.native.js +1 -1
  301. package/dist/jsx/ContextMenu/index.native.js.map +1 -1
  302. package/dist/jsx/CopyField/index.native.js.map +1 -1
  303. package/dist/jsx/DotIndicator/index.native.js.map +1 -1
  304. package/dist/jsx/DropdownMenu/index.mjs +1 -1
  305. package/dist/jsx/DropdownMenu/index.mjs.map +1 -1
  306. package/dist/jsx/DropdownMenu/index.native.js +1 -1
  307. package/dist/jsx/DropdownMenu/index.native.js.map +1 -1
  308. package/dist/jsx/ErrorBoundary/index.native.js.map +1 -1
  309. package/dist/jsx/Heading.native.js.map +1 -1
  310. package/dist/jsx/Meter/index.native.js +1 -1
  311. package/dist/jsx/Meter/index.native.js.map +1 -1
  312. package/dist/jsx/Meter/meter.native.js.map +1 -1
  313. package/dist/jsx/Pagination.native.js +1 -1
  314. package/dist/jsx/Pagination.native.js.map +1 -1
  315. package/dist/jsx/ProgressSteps/index.mjs +16 -10
  316. package/dist/jsx/ProgressSteps/index.mjs.map +1 -1
  317. package/dist/jsx/ProgressSteps/index.native.js +16 -10
  318. package/dist/jsx/ProgressSteps/index.native.js.map +1 -1
  319. package/dist/jsx/Quote/index.native.js.map +1 -1
  320. package/dist/jsx/Separator/index.native.js.map +1 -1
  321. package/dist/jsx/SheetModal/detents.native.js.map +1 -1
  322. package/dist/jsx/SheetModal/index.native.js +7 -0
  323. package/dist/jsx/SheetModal/index.native.js.map +1 -1
  324. package/dist/jsx/Skeleton/index.native.js.map +1 -1
  325. package/dist/jsx/SkipLink/index.native.js.map +1 -1
  326. package/dist/jsx/SortableList/SortableHandle.native.js.map +1 -1
  327. package/dist/jsx/SortableList/index.native.js.map +1 -1
  328. package/dist/jsx/SortableList/useSortableRows.native.js.map +1 -1
  329. package/dist/jsx/Tabs/index.mjs +2 -1
  330. package/dist/jsx/Tabs/index.mjs.map +1 -1
  331. package/dist/jsx/Tabs/index.native.js +3 -2
  332. package/dist/jsx/Tabs/index.native.js.map +1 -1
  333. package/dist/jsx/Text.native.js.map +1 -1
  334. package/dist/jsx/ThemePlayground/index.mjs +78 -0
  335. package/dist/jsx/ThemePlayground/index.mjs.map +1 -0
  336. package/dist/jsx/ThemePlayground/index.native.js +33 -0
  337. package/dist/jsx/ThemePlayground/index.native.js.map +1 -0
  338. package/dist/jsx/Toast/index.mjs +2 -2
  339. package/dist/jsx/Toast/index.mjs.map +1 -1
  340. package/dist/jsx/Toast/index.native.js +2 -2
  341. package/dist/jsx/Toast/index.native.js.map +1 -1
  342. package/dist/jsx/Toast/store.native.js.map +1 -1
  343. package/dist/jsx/Tooltip/nativePress.native.js.map +1 -1
  344. package/dist/jsx/Tooltip/tooltipShared.native.js.map +1 -1
  345. package/dist/jsx/TreeSelect/index.mjs +0 -1
  346. package/dist/jsx/TreeSelect/index.mjs.map +1 -1
  347. package/dist/jsx/TreeSelect/index.native.js +1 -2
  348. package/dist/jsx/TreeSelect/index.native.js.map +1 -1
  349. package/dist/jsx/TreeSelect/treeSelectModel.native.js.map +1 -1
  350. package/dist/jsx/Video/PlayerChrome.mjs +2 -2
  351. package/dist/jsx/Video/PlayerChrome.mjs.map +1 -1
  352. package/dist/jsx/Video/PlayerChrome.native.js +2 -2
  353. package/dist/jsx/Video/PlayerChrome.native.js.map +1 -1
  354. package/dist/jsx/Video/VideoFrame.native.js.map +1 -1
  355. package/dist/jsx/Video/types.native.js.map +1 -1
  356. package/dist/jsx/Wheel/index.native.js.map +1 -1
  357. package/dist/jsx/Wizard/index.mjs +33 -33
  358. package/dist/jsx/Wizard/index.mjs.map +1 -1
  359. package/dist/jsx/Wizard/index.native.js +35 -35
  360. package/dist/jsx/Wizard/index.native.js.map +1 -1
  361. package/dist/jsx/actions/ActionBar.native.js.map +1 -1
  362. package/dist/jsx/actions/DestructiveAction.native.js.map +1 -1
  363. package/dist/jsx/actions/devWarn.native.js.map +1 -1
  364. package/dist/jsx/actions/index.native.js.map +1 -1
  365. package/dist/jsx/actions/severity.native.js.map +1 -1
  366. package/dist/jsx/charts/Axis.native.js.map +1 -1
  367. package/dist/jsx/charts/BarChart.native.js.map +1 -1
  368. package/dist/jsx/charts/ChartDataView.native.js.map +1 -1
  369. package/dist/jsx/charts/ChartSurface.native.js.map +1 -1
  370. package/dist/jsx/charts/LineChart.native.js.map +1 -1
  371. package/dist/jsx/charts/PieChart.native.js.map +1 -1
  372. package/dist/jsx/charts/Sparkline.native.js.map +1 -1
  373. package/dist/jsx/charts/accessibility.native.js.map +1 -1
  374. package/dist/jsx/charts/composeChart.native.js.map +1 -1
  375. package/dist/jsx/charts/index.native.js.map +1 -1
  376. package/dist/jsx/charts/math.native.js.map +1 -1
  377. package/dist/jsx/charts/series.native.js.map +1 -1
  378. package/dist/jsx/charts/svg.native.js.map +1 -1
  379. package/dist/jsx/charts/types.native.js.map +1 -1
  380. package/dist/jsx/charts/useChartTheme.native.js.map +1 -1
  381. package/dist/jsx/code/Code/index.native.js.map +1 -1
  382. package/dist/jsx/code/CodeBlock/index.native.js +6 -6
  383. package/dist/jsx/code/CodeBlock/index.native.js.map +1 -1
  384. package/dist/jsx/code/HighlightedCode/index.mjs +4 -3
  385. package/dist/jsx/code/HighlightedCode/index.mjs.map +1 -1
  386. package/dist/jsx/code/HighlightedCode/index.native.js +3 -2
  387. package/dist/jsx/code/HighlightedCode/index.native.js.map +1 -1
  388. package/dist/jsx/code/Highlighter/index.native.js.map +1 -1
  389. package/dist/jsx/code/Pre/index.native.js.map +1 -1
  390. package/dist/jsx/code/index.native.js +5 -5
  391. package/dist/jsx/code/index.native.js.map +1 -1
  392. package/dist/jsx/componentColors.native.js.map +1 -1
  393. package/dist/jsx/feedback/ConfirmDialog.native.js.map +1 -1
  394. package/dist/jsx/feedback/NotifyHost.native.js +2 -2
  395. package/dist/jsx/feedback/NotifyHost.native.js.map +1 -1
  396. package/dist/jsx/feedback/copy.native.js.map +1 -1
  397. package/dist/jsx/feedback/index.native.js.map +1 -1
  398. package/dist/jsx/feedback/notify.native.js.map +1 -1
  399. package/dist/jsx/feedback/route.native.js.map +1 -1
  400. package/dist/jsx/feedback/store.native.js.map +1 -1
  401. package/dist/jsx/hooks/index.native.js +1 -1
  402. package/dist/jsx/hooks/index.native.js.map +1 -1
  403. package/dist/jsx/hooks/useClipboard.native.js.map +1 -1
  404. package/dist/jsx/hooks/useDocumentTitle.native.js.map +1 -1
  405. package/dist/jsx/icons/CheckRegular.native.js.map +1 -1
  406. package/dist/jsx/icons/MinusRegular.native.js.map +1 -1
  407. package/dist/jsx/icons/index.native.js.map +1 -1
  408. package/dist/jsx/icons/lucide.native.js.map +1 -1
  409. package/dist/jsx/icons/themed.native.js.map +1 -1
  410. package/dist/jsx/images/Image/ImageFrame.native.js +1 -1
  411. package/dist/jsx/images/Image/ImageFrame.native.js.map +1 -1
  412. package/dist/jsx/images/Image/index.native.js +1 -1
  413. package/dist/jsx/images/Image/shared.native.js +1 -1
  414. package/dist/jsx/images/Image/shared.native.js.map +1 -1
  415. package/dist/jsx/images/Image/types.native.js.map +1 -1
  416. package/dist/jsx/images/index.native.js.map +1 -1
  417. package/dist/jsx/index.js +1 -0
  418. package/dist/jsx/index.js.map +1 -1
  419. package/dist/jsx/index.mjs +1 -0
  420. package/dist/jsx/index.mjs.map +1 -1
  421. package/dist/jsx/index.native.js +30 -29
  422. package/dist/jsx/index.native.js.map +1 -1
  423. package/dist/jsx/knobImmuneExports.native.js.map +1 -1
  424. package/dist/jsx/layouts/AsyncBoundary.native.js +2 -2
  425. package/dist/jsx/layouts/AsyncBoundary.native.js.map +1 -1
  426. package/dist/jsx/layouts/Debug/index.native.js.map +1 -1
  427. package/dist/jsx/layouts/EmptyState.native.js.map +1 -1
  428. package/dist/jsx/layouts/KeyboardAvoidingWrapper/behavior.native.js.map +1 -1
  429. package/dist/jsx/layouts/PageTemplates.native.js.map +1 -1
  430. package/dist/jsx/layouts/PaneScaffold.native.js.map +1 -1
  431. package/dist/jsx/layouts/SafeAreaWrapper/insets.native.js.map +1 -1
  432. package/dist/jsx/layouts/ViewSwitcher.native.js.map +1 -1
  433. package/dist/jsx/layouts/attachments.mjs +1 -1
  434. package/dist/jsx/layouts/attachments.mjs.map +1 -1
  435. package/dist/jsx/layouts/attachments.native.js +2 -2
  436. package/dist/jsx/layouts/attachments.native.js.map +1 -1
  437. package/dist/jsx/layouts/breadcrumbs.native.js.map +1 -1
  438. package/dist/jsx/layouts/index.native.js +3 -3
  439. package/dist/jsx/layouts/index.native.js.map +1 -1
  440. package/dist/jsx/layouts/page.mjs +18 -5
  441. package/dist/jsx/layouts/page.mjs.map +1 -1
  442. package/dist/jsx/layouts/page.native.js +18 -6
  443. package/dist/jsx/layouts/page.native.js.map +1 -1
  444. package/dist/jsx/layouts/pageHeadingScope.native.js.map +1 -1
  445. package/dist/jsx/layouts/sidebar.mjs +20 -12
  446. package/dist/jsx/layouts/sidebar.mjs.map +1 -1
  447. package/dist/jsx/layouts/sidebar.native.js +22 -18
  448. package/dist/jsx/layouts/sidebar.native.js.map +1 -1
  449. package/dist/jsx/layouts/tags.mjs +5 -2
  450. package/dist/jsx/layouts/tags.mjs.map +1 -1
  451. package/dist/jsx/layouts/tags.native.js +5 -2
  452. package/dist/jsx/layouts/tags.native.js.map +1 -1
  453. package/dist/jsx/layouts/timeline.mjs +13 -8
  454. package/dist/jsx/layouts/timeline.mjs.map +1 -1
  455. package/dist/jsx/layouts/timeline.native.js +17 -11
  456. package/dist/jsx/layouts/timeline.native.js.map +1 -1
  457. package/dist/jsx/layouts/toolbar.mjs +0 -1
  458. package/dist/jsx/layouts/toolbar.mjs.map +1 -1
  459. package/dist/jsx/layouts/toolbar.native.js +0 -1
  460. package/dist/jsx/layouts/toolbar.native.js.map +1 -1
  461. package/dist/jsx/shared/actionScan.native.js.map +1 -1
  462. package/dist/jsx/shared/i18n.native.js.map +1 -1
  463. package/dist/jsx/shared/t.native.js.map +1 -1
  464. package/dist/jsx/shared/textRidesText.native.js.map +1 -1
  465. package/dist/jsx/shared/useReturnFocusOnClose.native.js.map +1 -1
  466. package/dist/jsx/surfaces.native.js +1 -1
  467. package/dist/jsx/surfaces.native.js.map +1 -1
  468. package/dist/jsx/tamagui.native.js +1 -1
  469. package/dist/jsx/tamagui.native.js.map +1 -1
  470. package/dist/jsx/testSetup.native.js.map +1 -1
  471. package/dist/jsx/utils/setTinted.native.js.map +1 -1
  472. package/dist/jsx/utils/unwrapText.native.js.map +1 -1
  473. package/dist/jsx/views/Calendar.mjs +5 -5
  474. package/dist/jsx/views/Calendar.mjs.map +1 -1
  475. package/dist/jsx/views/Calendar.native.js +5 -5
  476. package/dist/jsx/views/Calendar.native.js.map +1 -1
  477. package/dist/jsx/views/Dashboard.native.js +1 -1
  478. package/dist/jsx/views/Dashboard.native.js.map +1 -1
  479. package/dist/jsx/views/Gantt.mjs +2 -2
  480. package/dist/jsx/views/Gantt.mjs.map +1 -1
  481. package/dist/jsx/views/Gantt.native.js +3 -3
  482. package/dist/jsx/views/Gantt.native.js.map +1 -1
  483. package/dist/jsx/views/ImageGrid.mjs +17 -10
  484. package/dist/jsx/views/ImageGrid.mjs.map +1 -1
  485. package/dist/jsx/views/ImageGrid.native.js +20 -11
  486. package/dist/jsx/views/ImageGrid.native.js.map +1 -1
  487. package/dist/jsx/views/Kanban.native.js +1 -1
  488. package/dist/jsx/views/List.native.js.map +1 -1
  489. package/dist/jsx/views/Matrix.native.js +1 -1
  490. package/dist/jsx/views/Matrix.native.js.map +1 -1
  491. package/dist/jsx/views/ReportBuilder.native.js +1 -1
  492. package/dist/jsx/views/ReportBuilder.native.js.map +1 -1
  493. package/dist/jsx/views/TreeView.mjs +5 -2
  494. package/dist/jsx/views/TreeView.mjs.map +1 -1
  495. package/dist/jsx/views/TreeView.native.js +4 -1
  496. package/dist/jsx/views/TreeView.native.js.map +1 -1
  497. package/dist/jsx/views/calendarMath.native.js.map +1 -1
  498. package/dist/jsx/views/ganttMath.native.js.map +1 -1
  499. package/dist/jsx/views/index.native.js +1 -1
  500. package/dist/jsx/views/index.native.js.map +1 -1
  501. package/dist/jsx/views/kanbanDnd.native.js.map +1 -1
  502. package/dist/jsx/views/matrixMath.native.js.map +1 -1
  503. package/dist/jsx/views/treeViewDnd.native.js.map +1 -1
  504. package/dist/jsx/views/treeViewLayout.native.js.map +1 -1
  505. package/dist/jsx/views/treeViewMotion.native.js.map +1 -1
  506. package/dist/jsx/views/treeViewReveal.native.js.map +1 -1
  507. package/package.json +13 -9
  508. package/src/Alert/index.tsx +1 -1
  509. package/src/Avatar/index.tsx +10 -4
  510. package/src/ContextMenu/index.tsx +1 -1
  511. package/src/DropdownMenu/index.tsx +1 -1
  512. package/src/ProgressSteps/index.tsx +21 -14
  513. package/src/SheetModal/SheetModal.touch.spec.tsx +42 -1
  514. package/src/SheetModal/index.native.tsx +15 -1
  515. package/src/Tabs/index.tsx +6 -2
  516. package/src/ThemePlayground/ThemePlayground.spec.tsx +36 -0
  517. package/src/ThemePlayground/index.native.tsx +8 -0
  518. package/src/ThemePlayground/index.tsx +83 -0
  519. package/src/Toast/index.tsx +2 -2
  520. package/src/TreeSelect/index.tsx +1 -7
  521. package/src/Video/PlayerChrome.tsx +2 -2
  522. package/src/Wizard/index.tsx +34 -33
  523. package/src/code/HighlightedCode/index.tsx +4 -3
  524. package/src/index.ts +1 -0
  525. package/src/layouts/Timeline.stories.tsx +17 -16
  526. package/src/layouts/attachments.tsx +2 -1
  527. package/src/layouts/page.tsx +12 -9
  528. package/src/layouts/sidebar.tsx +21 -20
  529. package/src/layouts/tags.tsx +5 -2
  530. package/src/layouts/timeline.tsx +31 -26
  531. package/src/layouts/toolbar.tsx +0 -1
  532. package/src/views/Calendar.tsx +6 -15
  533. package/src/views/Gantt.tsx +2 -2
  534. package/src/views/ImageGrid.tsx +15 -16
  535. package/src/views/Kanban.stories.tsx +3 -3
  536. package/src/views/TreeView.tsx +5 -3
  537. package/types/Avatar/index.d.ts.map +1 -1
  538. package/types/ProgressSteps/index.d.ts.map +1 -1
  539. package/types/SheetModal/index.native.d.ts.map +1 -1
  540. package/types/Tabs/index.d.ts.map +1 -1
  541. package/types/ThemePlayground/index.d.ts +11 -0
  542. package/types/ThemePlayground/index.d.ts.map +1 -0
  543. package/types/ThemePlayground/index.native.d.ts +5 -0
  544. package/types/ThemePlayground/index.native.d.ts.map +1 -0
  545. package/types/TreeSelect/index.d.ts.map +1 -1
  546. package/types/Wizard/index.d.ts.map +1 -1
  547. package/types/code/HighlightedCode/index.d.ts.map +1 -1
  548. package/types/index.d.ts +1 -0
  549. package/types/index.d.ts.map +1 -1
  550. package/types/layouts/attachments.d.ts.map +1 -1
  551. package/types/layouts/page.d.ts.map +1 -1
  552. package/types/layouts/sidebar.d.ts.map +1 -1
  553. package/types/layouts/tags.d.ts.map +1 -1
  554. package/types/layouts/timeline.d.ts.map +1 -1
  555. package/types/views/Calendar.d.ts.map +1 -1
  556. package/types/views/ImageGrid.d.ts.map +1 -1
  557. package/types/views/TreeView.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","TreeView_exports","TreeView","module","exports","import_jsx_runtime","require","import_componentColors","import_page","import_flash_list","import_theme","import_react","import_useDirection","import_react_hotkeys","import_react2","import_i18n","import_tamagui","import_kanbanDnd","import_treeViewDnd","import_treeViewMotion","import_treeViewReveal","import_treeViewLayout","ENTER_RISE_PX","DRAG_THRESHOLD_PX","TOUCH_LONG_PRESS_MS","AUTO_SCROLL_EDGE_PX","AUTO_SCROLL_MAX_SPEED","LIFT_SHADOW","TREE_LIFT_SHADOW","collectBranchIds","items","into","arguments","length","Set","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","node","_ref","_node_children","children","add","id","err","return","findNodePath","trail","found","TYPEAHEAD_MS","defaultNodeIcon","hasChildren","isExpanded","iconSize","jsx","FolderOpenIcon","size","weight","FolderIcon","FileIcon","param","nodes","renderNode","onNodeToggle","onNodeSelect","onNodeMove","estimateSize","estimateSizeProp","overscan","height","heightProp","initialScrollOffset","onScrollOffsetChange","emptyMessage","emptyMessageProp","defaultExpandedIds","expandedIds","controlledExpandedIds","onExpandedIdsChange","revealRequest","onRevealComplete","expandByDefault","display","showExpansionArrows","selectedId","ariaLabel","hotkeys","hotkeyOverrides","stackProps","_ref1","_ref2","_ref3","_ref4","_ref5","_ref6","_ref7","_ref8","_ref9","_ref10","_ref11","_ref12","_overlayNode_icon","_overlayNode_children","_dragUi_indicator","_dragUi_ghost","_dragUi_ghost1","t","useTranslation","compressed","knobProps","control","useResolvedKnobs","compact","onAccentLabel","useReadableTextOn","transition","nestedPx","nestedControl","px","rowGap","gap","controlIcon","width","treeDefaultHeight","expandIconSize","nodeIconSize","caretSize","isRTL","useDirection","CollapsedCaretIcon","CaretLeftIcon","CaretRightIcon","expandedCaretRotation","indentStep","treeIndentStep","rowPad","treeEdgeRowPad","space","treeId","useId","containerRef","useRef","flashListRef","initialScroll","offset","Number","isFinite","Math","max","cancelInitialScroll","useCallback","current","hasNodes","listInstance","useMemo","attached","loaded","indexScrollRequested","scrollActive","lastReportedOffset","offsetCallback","useLayoutEffect","focusedIndex","setFocusedIndex","useState","keyboardRing","setKeyboardRing","typeaheadRef","buffer","at","document","ensureKeyboardModalityTracking","handleContainerFocus","kb","wasKeyboardFocus","prev","handleContainerBlur","internalExpandedIds","setInternalExpandedIds","setExpandedIds","motion","setMotion","rowHeights","Map","getRowHeight","_rowHeights_current_get","toggleNode","has","delete","previousExpandedIds","previous","every","diff","diffVisibleRows","flattenVisibleIds","isEmptyDiff","phase","raf","requestAnimationFrame","m","cancelAnimationFrame","flatNodes","result","walk","walk1","depth","parentId","_ref13","push","index","revealIntent","scrollFrame","scrollStep","renderedRows","scrollBounds","list","isWeb","_containerRef_current","rect","getBoundingClientRect","viewport","getWindowSize","contentHeight","getChildContainerDimensions","getFirstItemOffset","maxOffset","observeOffset","fromEvent","_initialScroll_current","attempted","bounds","bounded","min","initial","abs","scheduleScroll","complete","attachList","_revealIntent_current","_revealIntent_current1","requestId","step","step1","currentList","getAbsoluteLastScrollOffset","intent","scrollToOffset","animated","treeRevealExpansion","notified","notifiedExpansion","some","findIndex","item","layout","getLayout","top","y","nextOffset","treeRevealOffset","visible","range","computeVisibleIndices","startIndex","endIndex","isHeightMeasured","scrollToIndex","_flashListRef_current","focusRow","collapsedSelectedAncestors","path","filter","canReorder","Boolean","dragUi","setDragUi","settle","setSettle","announcement","setAnnouncement","dragScrollY","setDragScrollY","dragUiRef","scrollOffsetRef","pointerPosRef","x","grabOffsetRef","suppressClickRef","sessionCleanupRef","autoScrollRafRef","pendingMoveFlipRef","useEffect","_sessionCleanupRef_current","dndRows","flattenDndRows","topOfFlatIndex","flatIndex","i","announce","a","_a_parent","parent","text","type","hitTest","clientY","ui","_containerRef_current_getBoundingClientRect","treeDropTargetForY","localY","rows","getHeight","session","draggedSubtree","subtree","stopAutoScroll","startAutoScroll","tick","tick1","mode","vy","autoScrollVelocity","pos","start","end","bottom","edge","maxSpeed","hit","indicator","endDrag","commit","resolved","resolveTreeDrop","canCommit","dest","expectedIds","_dndRows_find","nextNodes","applyTreeMove","nodeId","destFlat","indexOf","parentRow","find","r","homeX","originFlat","f","hideId","prevIds","describeTreeDragState","label","describeTreeCancel","pending","currentIds","map","same","same2","b","v","_containerRef_current_querySelector","el","querySelector","last","stableFrames","check","check1","getComputedStyle","transform","beginPointerDrag","flat","rowEl","clientX","container","treeKeyboardLift","rowRect","containerRect","left","subtreeIds","sourceDepth","ghost","handleDragHandlePointerDown","e","_e_pointerType","_e_stopPropagation","_handleEl_closest","window","button","stopPropagation","handleEl","currentTarget","closest","startX","startY","pointerType","lifted","longPressTimer","prevUserSelect","prevCursor","lift","lift2","body","style","userSelect","documentElement","cursor","teardown","teardown2","clearTimeout","removeEventListener","onMove","onUp","onCancel","onKey","onTouchMove","onContextMenu","setTimeout","onMove2","me","_ref14","_ref15","travelled","hypot","onUp2","wasLifted","onCancel2","onKey2","ke","onTouchMove2","te","preventDefault","onContextMenu2","ce","addEventListener","passive","p","liftFocusedNode","indicatorForTarget","moveKeyboardDrag","direction","treeKeyboardMove","updated","kind","hotkeyOpts","useHotkey","expand","child","collapse","parentIndex","toggle","_dragUiRef_current","select","first","handleTreeKeyDown","_e_preventDefault","ctrlKey","metaKey","altKey","now","Date","state","query","toLowerCase","n","idx","startsWith","EmptyState","title","effectiveFocused","resolvedAriaLabel","overlayNode","overlayHasChildren","handleOutset","MIN_PRESS_TARGET","YStack","containerRadius","overflow","jsxs","View","ref","role","tabIndex","outlineWidth","outlineStyle","onFocus","onBlur","onKeyDown","onLayout","onWheel","onPointerDown","position","FlashList","data","drawDistance","keyExtractor","onLoad","onCommitLayoutEffect","onContentSizeChange","onScrollBeginDrag","extraData","focused","onScroll","_e_nativeEvent_contentOffset","_e_nativeEvent","nativeEvent","contentOffset","scrollEventThrottle","renderItem","param2","_ref22","_dragUi_indicator2","isFocused","isSelected","leadingIcon","iconWhenExpanded","icon","containsSelected","groupPosition","getGroupPosition","labelContent","Text","color","numberOfLines","flexShrink","armed","entering","delta","deltas","rowY","inDraggedSubtree","isSettleHidden","isDropParent","rowOpacity","rowTransition","XStack","row","alignItems","minHeight","paddingVertical","paddingInlineEnd","paddingHorizontal","paddingInlineStart","opacity","stackRadiusProps","borderRadius","_e_nativeEvent_layout","h","set","backgroundColor","componentColors","interactive","background","hoverStyle","hoverKnobProps","pressStyle","pressKnobProps","keyboardFocusRingProps","onPress","alignSelf","pointerEvents","Array","_","guide","inset","hairline","vline","right","justifyContent","rotate","flex","minWidth","marginVertical","hitSlop","pressTargetHitSlop","DotsSixVerticalIcon","textAccentColor","zIndex","borderWidth","borderColor","enterStyle","scale"],"sources":["TreeView.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar TreeView_exports = {};\n__export(TreeView_exports, {\n TreeView: () => TreeView\n});\nmodule.exports = __toCommonJS(TreeView_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_componentColors = require(\"../componentColors\");\nvar import_page = require(\"../layouts/page\");\nvar import_flash_list = require(\"@shopify/flash-list\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_react = require(\"@phosphor-icons/react\");\nvar import_useDirection = require(\"../hooks/useDirection\");\nvar import_react_hotkeys = require(\"@tanstack/react-hotkeys\");\nvar import_react2 = __toESM(require(\"react\"));\nvar import_i18n = require(\"../shared/i18n\");\nvar import_tamagui = require(\"tamagui\");\nvar import_kanbanDnd = require(\"./kanbanDnd\");\nvar import_treeViewDnd = require(\"./treeViewDnd\");\nvar import_treeViewMotion = require(\"./treeViewMotion\");\nvar import_treeViewReveal = require(\"./treeViewReveal\");\nvar import_treeViewLayout = require(\"./treeViewLayout\");\nvar ENTER_RISE_PX = -4;\nvar DRAG_THRESHOLD_PX = 4;\nvar TOUCH_LONG_PRESS_MS = 200;\nvar AUTO_SCROLL_EDGE_PX = 48;\nvar AUTO_SCROLL_MAX_SPEED = 16;\nvar LIFT_SHADOW = import_treeViewLayout.TREE_LIFT_SHADOW;\nfunction collectBranchIds(items) {\n var into = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var node = _step.value;\n var _ref;\n var _node_children;\n if (((_ref = (_node_children = node.children) === null || _node_children === void 0 ? void 0 : _node_children.length) !== null && _ref !== void 0 ? _ref : 0) > 0) {\n into.add(node.id);\n collectBranchIds(node.children, into);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return into;\n}\nfunction findNodePath(items, id) {\n var trail = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var node = _step.value;\n var _node_children;\n if (node.id === id) return trail;\n if ((_node_children = node.children) === null || _node_children === void 0 ? void 0 : _node_children.length) {\n var found = findNodePath(node.children, id, [\n ...trail,\n node.id\n ]);\n if (found) return found;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return null;\n}\nvar TYPEAHEAD_MS = 600;\nfunction defaultNodeIcon(hasChildren, isExpanded, iconSize) {\n if (hasChildren) {\n return isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.FolderOpenIcon, {\n size: iconSize,\n weight: \"duotone\"\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.FolderIcon, {\n size: iconSize,\n weight: \"duotone\"\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.FileIcon, {\n size: iconSize,\n weight: \"duotone\"\n });\n}\nfunction TreeView(param) {\n var { nodes, renderNode, onNodeToggle, onNodeSelect, onNodeMove, estimateSize: estimateSizeProp, overscan = 10, height: heightProp, initialScrollOffset, onScrollOffsetChange, emptyMessage: emptyMessageProp, defaultExpandedIds, expandedIds: controlledExpandedIds, onExpandedIdsChange, revealRequest, onRevealComplete, expandByDefault = false, display = \"default\", showExpansionArrows = true, selectedId, ariaLabel, hotkeys: hotkeyOverrides, ...stackProps } = param;\n var _ref, _ref1, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _overlayNode_icon;\n var _overlayNode_children, _dragUi_indicator, _dragUi_ghost, _dragUi_ghost1;\n var { t } = (0, import_i18n.useTranslation)();\n var emptyMessage = emptyMessageProp !== null && emptyMessageProp !== void 0 ? emptyMessageProp : t(\"No items found\");\n var compressed = display === \"compressed\";\n var { knobProps, control } = (0, import_theme.useResolvedKnobs)(compressed ? {\n compact: true\n } : void 0);\n var onAccentLabel = (0, import_theme.useReadableTextOn)(\"$accentBackground\");\n var transition = knobProps.transition;\n var nestedPx = knobProps.nestedControl.px;\n var rowGap = knobProps.control.gap;\n var iconSize = knobProps.controlIcon.width;\n var estimateSize = estimateSizeProp !== null && estimateSizeProp !== void 0 ? estimateSizeProp : nestedPx;\n var height = heightProp !== null && heightProp !== void 0 ? heightProp : (0, import_treeViewLayout.treeDefaultHeight)(nestedPx);\n var expandIconSize = iconSize;\n var nodeIconSize = iconSize;\n var caretSize = iconSize;\n var isRTL = (0, import_useDirection.useDirection)() === \"rtl\";\n var CollapsedCaretIcon = isRTL ? import_react.CaretLeftIcon : import_react.CaretRightIcon;\n var expandedCaretRotation = isRTL ? \"-90deg\" : \"90deg\";\n var indentStep = (0, import_treeViewLayout.treeIndentStep)(nestedPx);\n var rowPad = (0, import_treeViewLayout.treeEdgeRowPad)(knobProps.space);\n var treeId = (0, import_react2.useId)();\n var containerRef = (0, import_react2.useRef)(null);\n var flashListRef = (0, import_react2.useRef)(null);\n var initialScroll = (0, import_react2.useRef)(initialScrollOffset === void 0 ? void 0 : {\n offset: Number.isFinite(initialScrollOffset) ? Math.max(0, initialScrollOffset) : 0\n });\n var cancelInitialScroll = (0, import_react2.useCallback)(function() {\n initialScroll.current = void 0;\n }, []);\n var hasNodes = nodes.length > 0;\n var listInstance = (0, import_react2.useMemo)(function() {\n return {\n hasNodes,\n attached: false,\n loaded: false,\n indexScrollRequested: false,\n offset: 0\n };\n }, [\n hasNodes\n ]);\n var scrollActive = (0, import_react2.useRef)(true);\n var lastReportedOffset = (0, import_react2.useRef)(void 0);\n var offsetCallback = (0, import_react2.useRef)(onScrollOffsetChange);\n (0, import_react2.useLayoutEffect)(function() {\n offsetCallback.current = onScrollOffsetChange;\n }, [\n onScrollOffsetChange\n ]);\n var [focusedIndex, setFocusedIndex] = (0, import_react2.useState)(-1);\n var [keyboardRing, setKeyboardRing] = (0, import_react2.useState)(false);\n var typeaheadRef = (0, import_react2.useRef)({\n buffer: \"\",\n at: 0\n });\n if (typeof document !== \"undefined\") (0, import_theme.ensureKeyboardModalityTracking)();\n var handleContainerFocus = (0, import_react2.useCallback)(function() {\n var kb = (0, import_theme.wasKeyboardFocus)();\n setKeyboardRing(kb);\n if (kb) setFocusedIndex(function(prev) {\n return prev < 0 ? 0 : prev;\n });\n }, []);\n var handleContainerBlur = (0, import_react2.useCallback)(function() {\n setKeyboardRing(false);\n }, []);\n var [internalExpandedIds, setInternalExpandedIds] = (0, import_react2.useState)(function() {\n if (defaultExpandedIds) return new Set(defaultExpandedIds);\n if (expandByDefault) return collectBranchIds(nodes);\n return /* @__PURE__ */ new Set();\n });\n var expandedIds = (0, import_react2.useMemo)(function() {\n return controlledExpandedIds === void 0 ? internalExpandedIds : new Set(controlledExpandedIds);\n }, [\n controlledExpandedIds,\n internalExpandedIds\n ]);\n var setExpandedIds = (0, import_react2.useCallback)(function(next) {\n if (controlledExpandedIds === void 0) setInternalExpandedIds(new Set(next));\n onExpandedIdsChange === null || onExpandedIdsChange === void 0 ? void 0 : onExpandedIdsChange([\n ...next\n ]);\n }, [\n controlledExpandedIds,\n onExpandedIdsChange\n ]);\n var [motion, setMotion] = (0, import_react2.useState)(null);\n var rowHeights = (0, import_react2.useRef)(/* @__PURE__ */ new Map());\n var getRowHeight = (0, import_react2.useCallback)(function(id) {\n var _rowHeights_current_get;\n return (_rowHeights_current_get = rowHeights.current.get(id)) !== null && _rowHeights_current_get !== void 0 ? _rowHeights_current_get : estimateSize;\n }, [\n estimateSize\n ]);\n var toggleNode = (0, import_react2.useCallback)(function(node) {\n cancelInitialScroll();\n var next = new Set(expandedIds);\n if (next.has(node.id)) {\n next.delete(node.id);\n } else {\n next.add(node.id);\n }\n setExpandedIds(next);\n onNodeToggle === null || onNodeToggle === void 0 ? void 0 : onNodeToggle(node);\n }, [\n expandedIds,\n setExpandedIds,\n onNodeToggle,\n cancelInitialScroll\n ]);\n var previousExpandedIds = (0, import_react2.useRef)(expandedIds);\n (0, import_react2.useLayoutEffect)(function() {\n var previous = previousExpandedIds.current;\n previousExpandedIds.current = expandedIds;\n if (previous.size === expandedIds.size && [\n ...previous\n ].every(function(id) {\n return expandedIds.has(id);\n })) return;\n if (transition) {\n var diff = (0, import_treeViewMotion.diffVisibleRows)((0, import_treeViewMotion.flattenVisibleIds)(nodes, previous), (0, import_treeViewMotion.flattenVisibleIds)(nodes, expandedIds), getRowHeight);\n setMotion((0, import_treeViewMotion.isEmptyDiff)(diff) ? null : {\n phase: \"armed\",\n ...diff\n });\n } else {\n setMotion(null);\n }\n }, [\n expandedIds,\n nodes,\n transition,\n getRowHeight\n ]);\n (0, import_react2.useLayoutEffect)(function() {\n if ((motion === null || motion === void 0 ? void 0 : motion.phase) !== \"armed\") return;\n var raf = requestAnimationFrame(function() {\n setMotion(function(m) {\n return m && m.phase === \"armed\" ? {\n ...m,\n phase: \"play\"\n } : m;\n });\n });\n return function() {\n return cancelAnimationFrame(raf);\n };\n }, [\n motion\n ]);\n var flatNodes = (0, import_react2.useMemo)(function() {\n var result = [];\n var walk = function walk1(items, depth, parentId) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var node = _step.value;\n var _ref13;\n var _node_children;\n var hasChildren = ((_ref13 = (_node_children = node.children) === null || _node_children === void 0 ? void 0 : _node_children.length) !== null && _ref13 !== void 0 ? _ref13 : 0) > 0;\n var isExpanded = expandedIds.has(node.id);\n result.push({\n node,\n depth,\n hasChildren,\n isExpanded,\n index: result.length,\n parentId\n });\n if (isExpanded && node.children) {\n walk(node.children, depth + 1, node.id);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n };\n walk(nodes, 0, null);\n return result;\n }, [\n nodes,\n expandedIds\n ]);\n var revealIntent = (0, import_react2.useRef)(void 0);\n var scrollFrame = (0, import_react2.useRef)(void 0);\n var scrollStep = (0, import_react2.useRef)(function() {\n });\n var renderedRows = (0, import_react2.useRef)(/* @__PURE__ */ new Set());\n var scrollBounds = (0, import_react2.useCallback)(function() {\n var list = flashListRef.current;\n if (!scrollActive.current || !listInstance.attached || !listInstance.loaded || !list) return;\n if (import_tamagui.isWeb) {\n var _containerRef_current;\n var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : _containerRef_current.getBoundingClientRect();\n if (!rect || !(rect.width > 0) || !(rect.height > 0)) return;\n }\n var viewport = list.getWindowSize();\n var contentHeight = list.getChildContainerDimensions().height + list.getFirstItemOffset();\n if (!Number.isFinite(viewport.width) || viewport.width <= 0 || !Number.isFinite(viewport.height) || viewport.height <= 0 || !Number.isFinite(contentHeight) || contentHeight <= 0) return;\n return {\n list,\n width: viewport.width,\n height: viewport.height,\n contentHeight,\n maxOffset: Math.max(0, contentHeight - viewport.height)\n };\n }, [\n listInstance\n ]);\n var observeOffset = (0, import_react2.useCallback)(function(offset) {\n var fromEvent = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n var _initialScroll_current;\n if (!scrollActive.current || !listInstance.attached || !Number.isFinite(offset)) return;\n if (fromEvent && ((_initialScroll_current = initialScroll.current) === null || _initialScroll_current === void 0 ? void 0 : _initialScroll_current.attempted) === void 0 && offset !== listInstance.offset) {\n cancelInitialScroll();\n }\n listInstance.offset = offset;\n var bounds = scrollBounds();\n if (!bounds) return;\n var bounded = Math.max(0, Math.min(offset, bounds.maxOffset));\n var initial = initialScroll.current;\n if (initial) {\n var target = Math.min(initial.offset, bounds.maxOffset);\n if (initial.attempted ? Math.abs(bounded - target) >= 1 : bounded !== target) return;\n initialScroll.current = void 0;\n }\n if (offsetCallback.current && lastReportedOffset.current !== bounded) {\n lastReportedOffset.current = bounded;\n offsetCallback.current(bounded);\n }\n }, [\n cancelInitialScroll,\n scrollBounds,\n listInstance\n ]);\n var scheduleScroll = (0, import_react2.useCallback)(function() {\n if (!scrollActive.current || !listInstance.attached || scrollFrame.current !== void 0) return;\n if (!initialScroll.current && (!revealIntent.current || revealIntent.current.complete) && !offsetCallback.current) return;\n scrollFrame.current = requestAnimationFrame(function() {\n scrollFrame.current = void 0;\n if (listInstance.attached) scrollStep.current();\n });\n }, [\n listInstance\n ]);\n var attachList = (0, import_react2.useCallback)(function(list) {\n flashListRef.current = list;\n listInstance.attached = list !== null;\n if (!list) {\n listInstance.loaded = false;\n if (initialScroll.current) initialScroll.current.attempted = void 0;\n if (scrollFrame.current !== void 0) cancelAnimationFrame(scrollFrame.current);\n scrollFrame.current = void 0;\n }\n }, [\n listInstance\n ]);\n (0, import_react2.useLayoutEffect)(function() {\n scrollActive.current = true;\n return function() {\n scrollActive.current = false;\n revealIntent.current = void 0;\n if (scrollFrame.current !== void 0) cancelAnimationFrame(scrollFrame.current);\n scrollFrame.current = void 0;\n };\n }, []);\n (0, import_react2.useLayoutEffect)(function() {\n var _revealIntent_current, _revealIntent_current1;\n if (!revealRequest) {\n revealIntent.current = void 0;\n } 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) {\n cancelInitialScroll();\n revealIntent.current = {\n ...revealRequest,\n complete: false\n };\n }\n var step = function step1() {\n var currentList = flashListRef.current;\n if (currentList) {\n observeOffset(listInstance.indexScrollRequested ? listInstance.offset : currentList.getAbsoluteLastScrollOffset());\n }\n if (!scrollActive.current) return;\n if (scrollStep.current !== step) {\n scheduleScroll();\n return;\n }\n var intent = revealIntent.current;\n if (!intent || intent.complete) {\n var initial = initialScroll.current;\n var bounds = scrollBounds();\n if (!initial || !bounds || flatNodes.length === 0) return;\n var target = Math.min(initial.offset, bounds.maxOffset);\n var attempted = initial.attempted;\n if (!attempted || attempted.target !== target || attempted.width !== bounds.width || attempted.height !== bounds.height || attempted.contentHeight !== bounds.contentHeight) {\n initial.attempted = {\n target,\n width: bounds.width,\n height: bounds.height,\n contentHeight: bounds.contentHeight\n };\n bounds.list.scrollToOffset({\n offset: target,\n animated: false\n });\n }\n return;\n }\n var next = (0, import_treeViewReveal.treeRevealExpansion)(nodes, expandedIds, intent.id);\n if (!next) return;\n if (next !== expandedIds) {\n var notified = intent.notifiedExpansion;\n if (!notified || notified.size !== next.size || [\n ...next\n ].some(function(id) {\n return !notified.has(id);\n })) {\n intent.notifiedExpansion = next;\n setExpandedIds(next);\n }\n return;\n }\n if (motion) {\n setMotion(null);\n return;\n }\n var list = flashListRef.current;\n var index = flatNodes.findIndex(function(item) {\n return item.node.id === intent.id;\n });\n if (!list || index < 0) return;\n if (import_tamagui.isWeb) {\n var _containerRef_current;\n var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : _containerRef_current.getBoundingClientRect();\n if (!rect || rect.width <= 0 || rect.height <= 0) return;\n }\n var viewport = list.getWindowSize();\n if (viewport.width <= 0) return;\n var layout = list.getLayout(index);\n if (!layout) return;\n var offset = listInstance.indexScrollRequested ? listInstance.offset : list.getAbsoluteLastScrollOffset();\n var top = layout.y + list.getFirstItemOffset();\n var nextOffset = (0, import_treeViewReveal.treeRevealOffset)({\n y: top,\n height: layout.height\n }, offset, viewport.height);\n if (nextOffset === void 0) return;\n if (Math.abs(nextOffset - offset) < 1) {\n var visible = top < offset + viewport.height && top + layout.height > offset;\n if (!listInstance.indexScrollRequested) {\n var range = list.computeVisibleIndices();\n visible = visible && index >= range.startIndex && index <= range.endIndex;\n }\n if (revealIntent.current === intent && layout.isHeightMeasured && renderedRows.current.has(intent.id) && visible) {\n intent.complete = true;\n onRevealComplete === null || onRevealComplete === void 0 ? void 0 : onRevealComplete({\n id: intent.id,\n requestId: intent.requestId\n });\n }\n return;\n }\n list.scrollToOffset({\n offset: nextOffset,\n animated: false\n });\n };\n scrollStep.current = step;\n scheduleScroll();\n }, [\n nodes,\n expandedIds,\n setExpandedIds,\n flatNodes,\n revealRequest === null || revealRequest === void 0 ? void 0 : revealRequest.id,\n revealRequest === null || revealRequest === void 0 ? void 0 : revealRequest.requestId,\n onRevealComplete,\n height,\n motion,\n scheduleScroll,\n cancelInitialScroll,\n observeOffset,\n scrollBounds,\n listInstance\n ]);\n var scrollToIndex = (0, import_react2.useCallback)(function(index) {\n if (index >= 0 && index < flatNodes.length) {\n var _flashListRef_current;\n cancelInitialScroll();\n listInstance.indexScrollRequested = true;\n (_flashListRef_current = flashListRef.current) === null || _flashListRef_current === void 0 ? void 0 : _flashListRef_current.scrollToIndex({\n index,\n animated: true\n });\n }\n }, [\n flatNodes.length,\n cancelInitialScroll,\n listInstance\n ]);\n var focusRow = (0, import_react2.useCallback)(function(index) {\n setKeyboardRing(true);\n setFocusedIndex(index);\n scrollToIndex(index);\n }, [\n scrollToIndex\n ]);\n var collapsedSelectedAncestors = (0, import_react2.useMemo)(function() {\n if (!selectedId) return /* @__PURE__ */ new Set();\n var path = findNodePath(nodes, selectedId);\n if (!path) return /* @__PURE__ */ new Set();\n return new Set(path.filter(function(id) {\n return !expandedIds.has(id);\n }));\n }, [\n nodes,\n selectedId,\n expandedIds\n ]);\n var canReorder = Boolean(onNodeMove);\n var [dragUi, setDragUi] = (0, import_react2.useState)(null);\n var [settle, setSettle] = (0, import_react2.useState)(null);\n var [announcement, setAnnouncement] = (0, import_react2.useState)(\"\");\n var [dragScrollY, setDragScrollY] = (0, import_react2.useState)(0);\n var dragUiRef = (0, import_react2.useRef)(null);\n dragUiRef.current = dragUi;\n var scrollOffsetRef = (0, import_react2.useRef)(0);\n var pointerPosRef = (0, import_react2.useRef)({\n x: 0,\n y: 0\n });\n var grabOffsetRef = (0, import_react2.useRef)({\n x: 0,\n y: 0\n });\n var suppressClickRef = (0, import_react2.useRef)(false);\n var sessionCleanupRef = (0, import_react2.useRef)(null);\n var autoScrollRafRef = (0, import_react2.useRef)(null);\n var pendingMoveFlipRef = (0, import_react2.useRef)(null);\n (0, import_react2.useEffect)(function() {\n return function() {\n var _sessionCleanupRef_current;\n return (_sessionCleanupRef_current = sessionCleanupRef.current) === null || _sessionCleanupRef_current === void 0 ? void 0 : _sessionCleanupRef_current.call(sessionCleanupRef);\n };\n }, []);\n var dndRows = (0, import_react2.useMemo)(function() {\n return (0, import_treeViewDnd.flattenDndRows)(nodes, expandedIds);\n }, [\n nodes,\n expandedIds\n ]);\n var topOfFlatIndex = (0, import_react2.useCallback)(function(flatIndex) {\n var top = 0;\n for (var i = 0; i < flatIndex && i < flatNodes.length; i++) {\n top += getRowHeight(flatNodes[i].node.id);\n }\n return top;\n }, [\n flatNodes,\n getRowHeight\n ]);\n var announce = (0, import_react2.useCallback)(function(a) {\n var _a_parent;\n var parent = (_a_parent = a.parent) !== null && _a_parent !== void 0 ? _a_parent : t(\"top level\");\n var text = a.type === \"lift\" ? t(\"Lifted {{node}} in {{parent}}, position {{position}} of {{count}}. Use arrow keys to move, space to drop, escape to cancel.\", {\n ...a,\n parent\n }) : a.type === \"move\" ? t(\"Moved {{node}} to {{parent}}, position {{position}} of {{count}}.\", {\n ...a,\n parent\n }) : a.type === \"drop\" ? t(\"Dropped {{node}} in {{parent}}, position {{position}} of {{count}}.\", {\n ...a,\n parent\n }) : t(\"Movement cancelled. {{node}} returned to {{parent}}.\", {\n ...a,\n parent\n });\n setAnnouncement(text);\n }, [\n t\n ]);\n var hitTest = (0, import_react2.useCallback)(function(clientY, ui) {\n var _containerRef_current_getBoundingClientRect, _containerRef_current;\n var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : (_containerRef_current_getBoundingClientRect = _containerRef_current.getBoundingClientRect) === null || _containerRef_current_getBoundingClientRect === void 0 ? void 0 : _containerRef_current_getBoundingClientRect.call(_containerRef_current);\n if (!rect) return null;\n return (0, import_treeViewDnd.treeDropTargetForY)({\n localY: clientY - rect.top + scrollOffsetRef.current,\n rows: dndRows,\n getHeight: getRowHeight,\n session: ui.session,\n draggedSubtree: ui.subtree\n });\n }, [\n dndRows,\n getRowHeight\n ]);\n var stopAutoScroll = (0, import_react2.useCallback)(function() {\n if (autoScrollRafRef.current !== null) cancelAnimationFrame(autoScrollRafRef.current);\n autoScrollRafRef.current = null;\n }, []);\n var startAutoScroll = (0, import_react2.useCallback)(function() {\n stopAutoScroll();\n var tick = function tick1() {\n var _containerRef_current_getBoundingClientRect, _containerRef_current;\n var ui = dragUiRef.current;\n if (!ui || ui.mode !== \"pointer\") {\n autoScrollRafRef.current = null;\n return;\n }\n var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : (_containerRef_current_getBoundingClientRect = _containerRef_current.getBoundingClientRect) === null || _containerRef_current_getBoundingClientRect === void 0 ? void 0 : _containerRef_current_getBoundingClientRect.call(_containerRef_current);\n if (rect) {\n var vy = (0, import_kanbanDnd.autoScrollVelocity)({\n pos: pointerPosRef.current.y,\n start: rect.top,\n end: rect.bottom,\n edge: AUTO_SCROLL_EDGE_PX,\n maxSpeed: AUTO_SCROLL_MAX_SPEED\n });\n if (vy !== 0) {\n var max = Math.max(0, topOfFlatIndex(flatNodes.length) - rect.height);\n var next = Math.min(max, Math.max(0, scrollOffsetRef.current + vy));\n if (next !== scrollOffsetRef.current) {\n var _flashListRef_current;\n scrollOffsetRef.current = next;\n (_flashListRef_current = flashListRef.current) === null || _flashListRef_current === void 0 ? void 0 : _flashListRef_current.scrollToOffset({\n offset: next,\n animated: false\n });\n setDragScrollY(next);\n var hit = hitTest(pointerPosRef.current.y, ui);\n if (hit) {\n setDragUi(function(prev) {\n return prev ? {\n ...prev,\n session: {\n ...prev.session,\n target: hit.target\n },\n indicator: hit.indicator\n } : prev;\n });\n }\n }\n }\n }\n autoScrollRafRef.current = requestAnimationFrame(tick);\n };\n autoScrollRafRef.current = requestAnimationFrame(tick);\n }, [\n flatNodes.length,\n hitTest,\n stopAutoScroll,\n topOfFlatIndex\n ]);\n var endDrag = (0, import_react2.useCallback)(function(commit) {\n var _sessionCleanupRef_current;\n var ui = dragUiRef.current;\n if (!ui) return;\n stopAutoScroll();\n (_sessionCleanupRef_current = sessionCleanupRef.current) === null || _sessionCleanupRef_current === void 0 ? void 0 : _sessionCleanupRef_current.call(sessionCleanupRef);\n sessionCleanupRef.current = null;\n var resolved = (0, import_treeViewDnd.resolveTreeDrop)(ui.session);\n var canCommit = commit && resolved.commit && Boolean(onNodeMove);\n var dest = null;\n var expectedIds = null;\n if (canCommit) {\n var _dndRows_find;\n var nextNodes = (0, import_treeViewDnd.applyTreeMove)(nodes, ui.session.nodeId, resolved.to);\n expectedIds = (0, import_treeViewMotion.flattenVisibleIds)(nextNodes, expandedIds);\n var destFlat = expectedIds.indexOf(ui.session.nodeId);\n var parentRow = resolved.to.parentId === null ? null : (_dndRows_find = dndRows.find(function(r) {\n return r.id === resolved.to.parentId;\n })) !== null && _dndRows_find !== void 0 ? _dndRows_find : null;\n var top = 0;\n if (destFlat >= 0) {\n for (var i = 0; i < destFlat; i++) top += getRowHeight(expectedIds[i]);\n } else if (parentRow) {\n top = topOfFlatIndex(dndRows.indexOf(parentRow));\n }\n dest = {\n x: ui.homeX,\n y: top - scrollOffsetRef.current\n };\n } else {\n var originFlat = flatNodes.findIndex(function(f) {\n return f.node.id === ui.session.nodeId;\n });\n dest = {\n x: ui.homeX,\n y: (originFlat >= 0 ? topOfFlatIndex(originFlat) : 0) - scrollOffsetRef.current\n };\n }\n setDragUi(null);\n dragUiRef.current = null;\n if (ui.mode === \"pointer\" && dest) {\n setSettle({\n node: ui.node,\n width: ui.width,\n height: ui.height,\n to: dest,\n hideId: canCommit ? ui.session.nodeId : void 0\n });\n }\n if (canCommit && expectedIds) {\n if (transition) {\n pendingMoveFlipRef.current = {\n prevIds: (0, import_treeViewMotion.flattenVisibleIds)(nodes, expandedIds),\n expectedIds\n };\n }\n announce((0, import_treeViewDnd.describeTreeDragState)(\"drop\", ui.session, nodes, ui.node.label));\n onNodeMove === null || onNodeMove === void 0 ? void 0 : onNodeMove(ui.session.nodeId, resolved.to);\n } else {\n announce((0, import_treeViewDnd.describeTreeCancel)(ui.session, nodes, ui.node.label));\n }\n }, [\n announce,\n dndRows,\n expandedIds,\n flatNodes,\n getRowHeight,\n nodes,\n onNodeMove,\n stopAutoScroll,\n topOfFlatIndex,\n transition\n ]);\n (0, import_react2.useLayoutEffect)(function() {\n var pending = pendingMoveFlipRef.current;\n if (!pending) return;\n var currentIds = flatNodes.map(function(f) {\n return f.node.id;\n });\n var same = function same2(a, b) {\n return a.length === b.length && a.every(function(v, i) {\n return v === b[i];\n });\n };\n if (same(currentIds, pending.prevIds)) return;\n pendingMoveFlipRef.current = null;\n if (!same(currentIds, pending.expectedIds)) return;\n var diff = (0, import_treeViewMotion.diffVisibleRows)(pending.prevIds, pending.expectedIds, getRowHeight);\n if (!(0, import_treeViewMotion.isEmptyDiff)(diff)) setMotion({\n phase: \"armed\",\n ...diff\n });\n }, [\n flatNodes,\n getRowHeight\n ]);\n (0, import_react2.useEffect)(function() {\n var _containerRef_current_querySelector, _containerRef_current;\n if (!settle) return;\n var el = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : (_containerRef_current_querySelector = _containerRef_current.querySelector) === null || _containerRef_current_querySelector === void 0 ? void 0 : _containerRef_current_querySelector.call(_containerRef_current, \"[data-treeview-overlay]\");\n if (!el || typeof requestAnimationFrame === \"undefined\") {\n setSettle(null);\n return;\n }\n var last = null;\n var stableFrames = 0;\n var raf = 0;\n var check = function check1() {\n var current = getComputedStyle(el).transform;\n if (current === last) stableFrames += 1;\n else {\n stableFrames = 0;\n last = current;\n }\n if (stableFrames >= 3) {\n setSettle(null);\n return;\n }\n raf = requestAnimationFrame(check);\n };\n raf = requestAnimationFrame(check);\n return function() {\n return cancelAnimationFrame(raf);\n };\n }, [\n settle\n ]);\n var beginPointerDrag = (0, import_react2.useCallback)(function(flat, rowEl, clientX, clientY) {\n var container = containerRef.current;\n if (!(container === null || container === void 0 ? void 0 : container.getBoundingClientRect)) return false;\n var session = (0, import_treeViewDnd.treeKeyboardLift)(nodes, flat.node.id);\n if (!session) return false;\n cancelInitialScroll();\n var rowRect = rowEl.getBoundingClientRect();\n var containerRect = container.getBoundingClientRect();\n grabOffsetRef.current = {\n x: clientX - rowRect.left,\n y: clientY - rowRect.top\n };\n pointerPosRef.current = {\n x: clientX,\n y: clientY\n };\n var ui = {\n mode: \"pointer\",\n node: flat.node,\n session,\n subtree: (0, import_treeViewDnd.subtreeIds)(nodes, flat.node.id),\n sourceDepth: flat.depth,\n homeX: rowRect.left - containerRect.left,\n width: rowRect.width,\n height: rowRect.height,\n indicator: null,\n ghost: {\n x: rowRect.left - containerRect.left,\n y: rowRect.top - containerRect.top\n }\n };\n setSettle(null);\n setDragScrollY(scrollOffsetRef.current);\n setDragUi(ui);\n dragUiRef.current = ui;\n announce((0, import_treeViewDnd.describeTreeDragState)(\"lift\", session, nodes, flat.node.label));\n startAutoScroll();\n return true;\n }, [\n announce,\n nodes,\n startAutoScroll,\n cancelInitialScroll\n ]);\n var handleDragHandlePointerDown = (0, import_react2.useCallback)(function(flat, e) {\n var _ref13, _e_pointerType;\n var _sessionCleanupRef_current, _e_stopPropagation, _handleEl_closest;\n if (!canReorder || typeof window === \"undefined\") return;\n if (e.button !== void 0 && e.button !== 0) return;\n if (dragUiRef.current) return;\n (_sessionCleanupRef_current = sessionCleanupRef.current) === null || _sessionCleanupRef_current === void 0 ? void 0 : _sessionCleanupRef_current.call(sessionCleanupRef);\n (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);\n var handleEl = e.currentTarget;\n var rowEl = (_ref13 = (_handleEl_closest = handleEl.closest) === null || _handleEl_closest === void 0 ? void 0 : _handleEl_closest.call(handleEl, \"[data-treeview-row]\")) !== null && _ref13 !== void 0 ? _ref13 : handleEl;\n var startX = e.clientX;\n var startY = e.clientY;\n var pointerType = (_e_pointerType = e.pointerType) !== null && _e_pointerType !== void 0 ? _e_pointerType : \"mouse\";\n var lifted = false;\n var longPressTimer = null;\n var prevUserSelect = \"\";\n var prevCursor = \"\";\n var lift = function lift2(x, y) {\n if (lifted) return;\n lifted = beginPointerDrag(flat, rowEl, x, y);\n if (!lifted) return;\n prevUserSelect = document.body.style.userSelect;\n document.body.style.userSelect = \"none\";\n prevCursor = document.documentElement.style.cursor;\n document.documentElement.style.cursor = \"grabbing\";\n };\n var teardown = function teardown2() {\n if (longPressTimer !== null) clearTimeout(longPressTimer);\n window.removeEventListener(\"pointermove\", onMove);\n window.removeEventListener(\"pointerup\", onUp);\n window.removeEventListener(\"pointercancel\", onCancel);\n window.removeEventListener(\"keydown\", onKey, true);\n window.removeEventListener(\"touchmove\", onTouchMove);\n window.removeEventListener(\"contextmenu\", onContextMenu, true);\n sessionCleanupRef.current = null;\n if (lifted) {\n document.body.style.userSelect = prevUserSelect;\n document.documentElement.style.cursor = prevCursor;\n suppressClickRef.current = true;\n setTimeout(function() {\n suppressClickRef.current = false;\n }, 0);\n }\n };\n var onMove = function onMove2(me) {\n var _ref14, _ref15;\n var _containerRef_current_getBoundingClientRect, _containerRef_current;\n pointerPosRef.current = {\n x: me.clientX,\n y: me.clientY\n };\n if (!lifted) {\n var travelled = Math.hypot(me.clientX - startX, me.clientY - startY);\n if (pointerType === \"mouse\") {\n if (travelled >= DRAG_THRESHOLD_PX) lift(me.clientX, me.clientY);\n } else if (travelled >= DRAG_THRESHOLD_PX) {\n teardown();\n }\n if (!lifted) return;\n }\n var containerRect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : (_containerRef_current_getBoundingClientRect = _containerRef_current.getBoundingClientRect) === null || _containerRef_current_getBoundingClientRect === void 0 ? void 0 : _containerRef_current_getBoundingClientRect.call(_containerRef_current);\n var ghost = {\n x: me.clientX - ((_ref14 = containerRect === null || containerRect === void 0 ? void 0 : containerRect.left) !== null && _ref14 !== void 0 ? _ref14 : 0) - grabOffsetRef.current.x,\n y: me.clientY - ((_ref15 = containerRect === null || containerRect === void 0 ? void 0 : containerRect.top) !== null && _ref15 !== void 0 ? _ref15 : 0) - grabOffsetRef.current.y\n };\n var ui = dragUiRef.current;\n if (!ui) return;\n var hit = hitTest(me.clientY, ui);\n setDragUi(function(prev) {\n return prev ? {\n ...prev,\n ghost,\n ...hit && {\n session: {\n ...prev.session,\n target: hit.target\n },\n indicator: hit.indicator\n }\n } : prev;\n });\n };\n var onUp = function onUp2() {\n var wasLifted = lifted;\n teardown();\n if (wasLifted) endDrag(true);\n };\n var onCancel = function onCancel2() {\n var wasLifted = lifted;\n teardown();\n if (wasLifted) endDrag(false);\n };\n var onKey = function onKey2(ke) {\n if (ke.key !== \"Escape\") return;\n ke.stopPropagation();\n var wasLifted = lifted;\n teardown();\n if (wasLifted) endDrag(false);\n };\n var onTouchMove = function onTouchMove2(te) {\n if (lifted) te.preventDefault();\n };\n var onContextMenu = function onContextMenu2(ce) {\n if (lifted || longPressTimer !== null) ce.preventDefault();\n };\n window.addEventListener(\"pointermove\", onMove);\n window.addEventListener(\"pointerup\", onUp);\n window.addEventListener(\"pointercancel\", onCancel);\n window.addEventListener(\"keydown\", onKey, true);\n window.addEventListener(\"touchmove\", onTouchMove, {\n passive: false\n });\n window.addEventListener(\"contextmenu\", onContextMenu, true);\n sessionCleanupRef.current = function() {\n var wasLifted = lifted;\n teardown();\n if (wasLifted) endDrag(false);\n };\n if (pointerType !== \"mouse\") {\n longPressTimer = setTimeout(function() {\n longPressTimer = null;\n var p = pointerPosRef.current;\n lift(p.x || startX, p.y || startY);\n }, TOUCH_LONG_PRESS_MS);\n pointerPosRef.current = {\n x: startX,\n y: startY\n };\n }\n }, [\n beginPointerDrag,\n canReorder,\n endDrag,\n hitTest\n ]);\n var liftFocusedNode = (0, import_react2.useCallback)(function() {\n if (!canReorder || dragUiRef.current) return false;\n var flat = flatNodes[focusedIndex];\n if (!flat) return false;\n var session = (0, import_treeViewDnd.treeKeyboardLift)(nodes, flat.node.id);\n if (!session) return false;\n cancelInitialScroll();\n var ui = {\n mode: \"keyboard\",\n node: flat.node,\n session,\n subtree: (0, import_treeViewDnd.subtreeIds)(nodes, flat.node.id),\n sourceDepth: flat.depth,\n homeX: 0,\n width: 0,\n height: getRowHeight(flat.node.id),\n indicator: (0, import_treeViewDnd.indicatorForTarget)(dndRows, session, session.target)\n };\n setSettle(null);\n setDragScrollY(scrollOffsetRef.current);\n setDragUi(ui);\n dragUiRef.current = ui;\n announce((0, import_treeViewDnd.describeTreeDragState)(\"lift\", session, nodes, flat.node.label));\n return true;\n }, [\n announce,\n canReorder,\n dndRows,\n flatNodes,\n focusedIndex,\n getRowHeight,\n nodes,\n cancelInitialScroll\n ]);\n var moveKeyboardDrag = (0, import_react2.useCallback)(function(direction) {\n var ui = dragUiRef.current;\n if (!ui || ui.mode !== \"keyboard\") return false;\n var next = (0, import_treeViewDnd.treeKeyboardMove)(ui.session, nodes, direction);\n if (next === ui.session) return true;\n var indicator = (0, import_treeViewDnd.indicatorForTarget)(dndRows, next, next.target);\n var updated = {\n ...ui,\n session: next,\n indicator\n };\n setDragUi(updated);\n dragUiRef.current = updated;\n if (indicator.kind === \"line\" && flatNodes.length > 0) {\n scrollToIndex(Math.min(indicator.flatIndex, flatNodes.length - 1));\n }\n announce((0, import_treeViewDnd.describeTreeDragState)(\"move\", next, nodes, ui.node.label));\n return true;\n }, [\n announce,\n dndRows,\n flatNodes.length,\n nodes,\n scrollToIndex\n ]);\n var hotkeyOpts = {\n target: containerRef\n };\n (0, import_react_hotkeys.useHotkey)((_ref = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.next) !== null && _ref !== void 0 ? _ref : \"ArrowDown\", function() {\n if (moveKeyboardDrag(\"down\")) return;\n setKeyboardRing(true);\n setFocusedIndex(function(prev) {\n var next = prev < 0 ? 0 : Math.min(prev + 1, Math.max(0, flatNodes.length - 1));\n scrollToIndex(next);\n return next;\n });\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)((_ref1 = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.prev) !== null && _ref1 !== void 0 ? _ref1 : \"ArrowUp\", function() {\n if (moveKeyboardDrag(\"up\")) return;\n setKeyboardRing(true);\n setFocusedIndex(function(prev) {\n var next = prev < 0 ? flatNodes.length - 1 : Math.max(prev - 1, 0);\n if (next >= 0) scrollToIndex(next);\n return next;\n });\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)((_ref2 = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.expand) !== null && _ref2 !== void 0 ? _ref2 : \"ArrowRight\", function() {\n if (moveKeyboardDrag(\"right\")) return;\n if (focusedIndex >= 0 && focusedIndex < flatNodes.length) {\n var flat = flatNodes[focusedIndex];\n if (flat.hasChildren && !flat.isExpanded) {\n setKeyboardRing(true);\n toggleNode(flat.node);\n } else if (flat.hasChildren && flat.isExpanded) {\n var child = focusedIndex + 1;\n if (child < flatNodes.length && flatNodes[child].parentId === flat.node.id) {\n focusRow(child);\n }\n }\n }\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)((_ref3 = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.collapse) !== null && _ref3 !== void 0 ? _ref3 : \"ArrowLeft\", function() {\n if (moveKeyboardDrag(\"left\")) return;\n if (focusedIndex >= 0 && focusedIndex < flatNodes.length) {\n var flat = flatNodes[focusedIndex];\n if (flat.hasChildren && flat.isExpanded) {\n setKeyboardRing(true);\n toggleNode(flat.node);\n } else if (flat.parentId) {\n var parentIndex = flatNodes.findIndex(function(f) {\n return f.node.id === flat.parentId;\n });\n if (parentIndex >= 0) focusRow(parentIndex);\n }\n }\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)((_ref4 = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.toggle) !== null && _ref4 !== void 0 ? _ref4 : \"Space\", function() {\n var _dragUiRef_current;\n if (((_dragUiRef_current = dragUiRef.current) === null || _dragUiRef_current === void 0 ? void 0 : _dragUiRef_current.mode) === \"keyboard\") {\n endDrag(true);\n return;\n }\n if (canReorder) {\n liftFocusedNode();\n return;\n }\n if (focusedIndex >= 0 && focusedIndex < flatNodes.length) {\n var { node, hasChildren } = flatNodes[focusedIndex];\n if (hasChildren) {\n toggleNode(node);\n }\n }\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)((_ref5 = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.select) !== null && _ref5 !== void 0 ? _ref5 : \"Enter\", function() {\n var _dragUiRef_current;\n if (((_dragUiRef_current = dragUiRef.current) === null || _dragUiRef_current === void 0 ? void 0 : _dragUiRef_current.mode) === \"keyboard\") {\n endDrag(true);\n return;\n }\n if (focusedIndex >= 0 && focusedIndex < flatNodes.length) {\n onNodeSelect === null || onNodeSelect === void 0 ? void 0 : onNodeSelect(flatNodes[focusedIndex].node);\n }\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)(\"Escape\", function() {\n var _dragUiRef_current;\n if (((_dragUiRef_current = dragUiRef.current) === null || _dragUiRef_current === void 0 ? void 0 : _dragUiRef_current.mode) === \"keyboard\") endDrag(false);\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)((_ref6 = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.first) !== null && _ref6 !== void 0 ? _ref6 : \"Home\", function() {\n if (flatNodes.length > 0) focusRow(0);\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)((_ref7 = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.last) !== null && _ref7 !== void 0 ? _ref7 : \"End\", function() {\n if (flatNodes.length > 0) focusRow(flatNodes.length - 1);\n }, hotkeyOpts);\n var handleTreeKeyDown = (0, import_react2.useCallback)(function(e) {\n var _e_preventDefault;\n var key = e === null || e === void 0 ? void 0 : e.key;\n if (!key || key.length !== 1) return;\n if (e.ctrlKey || e.metaKey || e.altKey) return;\n if (key === \" \") return;\n if (dragUiRef.current) return;\n if (flatNodes.length === 0) return;\n (_e_preventDefault = e.preventDefault) === null || _e_preventDefault === void 0 ? void 0 : _e_preventDefault.call(e);\n var now = Date.now();\n var state = typeaheadRef.current;\n state.buffer = now - state.at > TYPEAHEAD_MS ? key : state.buffer + key;\n state.at = now;\n var query = state.buffer.toLowerCase();\n var start = focusedIndex >= 0 ? focusedIndex : -1;\n var n = flatNodes.length;\n for (var i = 1; i <= n; i++) {\n var idx = (start + i) % n;\n if (flatNodes[idx].node.label.toLowerCase().startsWith(query)) {\n focusRow(idx);\n return;\n }\n }\n }, [\n flatNodes,\n focusedIndex,\n focusRow\n ]);\n if (nodes.length === 0) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_page.EmptyState, {\n compact: true,\n title: emptyMessage,\n ...stackProps\n });\n }\n var effectiveFocused = focusedIndex >= flatNodes.length ? -1 : focusedIndex;\n var resolvedAriaLabel = ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : typeof stackProps[\"aria-label\"] === \"string\" ? stackProps[\"aria-label\"] : void 0;\n var overlayNode = (dragUi === null || dragUi === void 0 ? void 0 : dragUi.mode) === \"pointer\" ? dragUi.node : settle === null || settle === void 0 ? void 0 : settle.node;\n var overlayHasChildren = ((_ref8 = overlayNode === null || overlayNode === void 0 ? void 0 : (_overlayNode_children = overlayNode.children) === null || _overlayNode_children === void 0 ? void 0 : _overlayNode_children.length) !== null && _ref8 !== void 0 ? _ref8 : 0) > 0;\n var handleOutset = Math.max(0, (import_theme.MIN_PRESS_TARGET - estimateSize) / 2);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, {\n ...knobProps.containerRadius,\n overflow: \"hidden\",\n ...stackProps,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.View, {\n ref: containerRef,\n role: \"tree\",\n \"aria-label\": resolvedAriaLabel,\n \"data-nested-px\": nestedPx,\n \"data-indent-step\": indentStep,\n \"data-space\": knobProps.space,\n \"data-size\": knobProps.size,\n \"data-viewport-height\": height,\n // Spec Part 3 TreeView: E-FLAT + SF-TRANSPARENT on this chromeless frame.\n \"data-elevation-class\": \"flat\",\n \"data-fill\": \"transparent\",\n \"aria-activedescendant\": effectiveFocused >= 0 ? `${treeId}-node-${effectiveFocused}` : void 0,\n tabIndex: 0,\n outlineWidth: 0,\n outlineStyle: \"none\",\n onFocus: handleContainerFocus,\n onBlur: handleContainerBlur,\n onKeyDown: handleTreeKeyDown,\n onLayout: scheduleScroll,\n ...import_tamagui.isWeb && {\n onWheel: cancelInitialScroll,\n onPointerDown: cancelInitialScroll\n },\n position: \"relative\",\n style: {\n height\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_flash_list.FlashList, {\n ref: attachList,\n data: flatNodes,\n drawDistance: overscan * estimateSize,\n keyExtractor: function keyExtractor(item) {\n return item.node.id;\n },\n onLoad: function onLoad() {\n if (!scrollActive.current || !listInstance.attached) return;\n listInstance.loaded = true;\n scheduleScroll();\n },\n onCommitLayoutEffect: scheduleScroll,\n onContentSizeChange: scheduleScroll,\n onScrollBeginDrag: function onScrollBeginDrag() {\n if (scrollActive.current && listInstance.attached) cancelInitialScroll();\n },\n extraData: {\n focused: effectiveFocused,\n selectedId,\n expandedIds,\n motion,\n dragUi,\n settle,\n keyboardRing,\n collapsedSelectedAncestors\n },\n onScroll: function onScroll(e) {\n var _e_nativeEvent_contentOffset, _e_nativeEvent;\n if (!scrollActive.current || !listInstance.attached) return;\n 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;\n if (typeof y === \"number\" && Number.isFinite(y)) {\n scrollOffsetRef.current = y;\n if (dragUiRef.current) setDragScrollY(y);\n observeOffset(y, true);\n }\n scheduleScroll();\n },\n scrollEventThrottle: 16,\n renderItem: function renderItem(param2) {\n var { item, index } = param2;\n var _ref13, _ref14, _ref22;\n var _dragUi_indicator2;\n var { node, depth, hasChildren, isExpanded } = item;\n var isFocused = effectiveFocused === index;\n var isSelected = selectedId !== void 0 && selectedId === node.id;\n var leadingIcon = hasChildren && isExpanded && node.iconWhenExpanded ? node.iconWhenExpanded : node.icon ? node.icon : defaultNodeIcon(hasChildren, isExpanded, nodeIconSize);\n var containsSelected = collapsedSelectedAncestors.has(node.id);\n var groupPosition = (0, import_theme.getGroupPosition)(index, flatNodes.length);\n var labelContent = renderNode ? renderNode(node, depth) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n ...knobProps.body,\n ...knobProps.label,\n color: isSelected && onAccentLabel ? onAccentLabel : \"$color\",\n numberOfLines: 1,\n flexShrink: 1,\n children: node.label\n });\n var armed = (motion === null || motion === void 0 ? void 0 : motion.phase) === \"armed\";\n var entering = (_ref13 = motion === null || motion === void 0 ? void 0 : motion.entering.has(node.id)) !== null && _ref13 !== void 0 ? _ref13 : false;\n var delta = (_ref14 = motion === null || motion === void 0 ? void 0 : motion.deltas.get(node.id)) !== null && _ref14 !== void 0 ? _ref14 : 0;\n var rowY = armed ? entering ? ENTER_RISE_PX : delta : 0;\n var inDraggedSubtree = (_ref22 = dragUi === null || dragUi === void 0 ? void 0 : dragUi.subtree.has(node.id)) !== null && _ref22 !== void 0 ? _ref22 : false;\n var isSettleHidden = (settle === null || settle === void 0 ? void 0 : settle.hideId) === node.id;\n var isDropParent = (dragUi === null || dragUi === void 0 ? void 0 : (_dragUi_indicator2 = dragUi.indicator) === null || _dragUi_indicator2 === void 0 ? void 0 : _dragUi_indicator2.kind) === \"into\" && dragUi.indicator.parentId === node.id;\n var rowOpacity = isSettleHidden ? 0 : armed && entering ? 0 : inDraggedSubtree ? 0.4 : 1;\n var rowTransition = armed && (entering || delta !== 0) ? \"none\" : transition;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(\n import_tamagui.XStack,\n {\n ref: function ref(row) {\n if (row) renderedRows.current.add(node.id);\n else renderedRows.current.delete(node.id);\n scheduleScroll();\n },\n id: `${treeId}-node-${index}`,\n \"data-treeview-row\": node.id,\n ...isDropParent && {\n \"data-treeview-drop-parent\": \"true\"\n },\n ...isFocused && {\n \"data-focused\": true\n },\n \"data-group-position\": groupPosition,\n role: \"treeitem\",\n \"aria-expanded\": hasChildren ? isExpanded : void 0,\n \"aria-selected\": isSelected,\n \"aria-level\": depth + 1,\n \"aria-setsize\": flatNodes.length,\n \"aria-posinset\": index + 1,\n alignItems: \"center\",\n minHeight: estimateSize,\n paddingVertical: rowPad.paddingVertical,\n paddingInlineEnd: rowPad.paddingHorizontal,\n paddingInlineStart: rowPad.paddingHorizontal,\n gap: rowGap,\n cursor: \"pointer\",\n position: \"relative\",\n y: rowY,\n opacity: rowOpacity,\n transition: rowTransition,\n ...(0, import_theme.stackRadiusProps)(groupPosition, knobProps.borderRadius.borderRadius),\n onLayout: function onLayout(e) {\n var _e_nativeEvent_layout, _e_nativeEvent;\n 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;\n if (typeof h === \"number\" && h > 0) rowHeights.current.set(node.id, h);\n scheduleScroll();\n },\n backgroundColor: (\n // Nest-into parent highlight wins while a drag is active\n // (LC-42 drop-target affordance).\n isDropParent ? import_componentColors.componentColors.interactive.background : isSelected ? \"$accentBackground\" : containsSelected ? import_componentColors.componentColors.interactive.background : \"transparent\"\n ),\n // Row hover/press come from the knob state recipes (A-STATE);\n // selection tint stays sticky underneath them. Focus is the\n // ring channel (LC-71) — never a second fill.\n hoverStyle: {\n ...control.hoverKnobProps,\n ...isSelected && {\n backgroundColor: \"$accentBackground\"\n }\n },\n pressStyle: {\n ...control.pressKnobProps,\n ...isSelected && {\n backgroundColor: \"$accentBackground\"\n }\n },\n // LC-71: keyboard ring on the focused row only (activedescendant).\n // Selected is fill above; selected + keyboard-focused = both.\n ...isFocused && keyboardRing ? import_theme.keyboardFocusRingProps : {\n outlineWidth: 0\n },\n onPress: function onPress() {\n if (suppressClickRef.current) return;\n setKeyboardRing(false);\n setFocusedIndex(index);\n if (hasChildren) toggleNode(node);\n onNodeSelect === null || onNodeSelect === void 0 ? void 0 : onNodeSelect(node);\n },\n children: [\n depth > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n width: depth * indentStep,\n flexShrink: 0,\n alignSelf: \"stretch\",\n position: \"relative\",\n pointerEvents: \"none\",\n children: Array.from({\n length: depth\n }, function(_, guide) {\n var inset = guide * indentStep + expandIconSize / 2;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n position: \"absolute\",\n top: 0,\n bottom: 0,\n ...import_theme.hairline.vline,\n pointerEvents: \"none\",\n backgroundColor: isSelected ? \"$color1\" : \"$borderColor\",\n opacity: isSelected ? 0.35 : 0.5,\n ...isRTL ? {\n right: inset\n } : {\n left: inset\n }\n }, `guide-${guide}`);\n })\n }) : null,\n showExpansionArrows ? hasChildren ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n ...knobProps.controlIcon,\n alignItems: \"center\",\n justifyContent: \"center\",\n pointerEvents: \"none\",\n // Indicator only — the row is the toggle target. One\n // caret that rotates (transform, knob tween) instead of\n // an icon swap, so the state change is continuous.\n rotate: isExpanded ? expandedCaretRotation : \"0deg\",\n transition,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CollapsedCaretIcon, {\n size: caretSize,\n weight: \"bold\"\n })\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n ...knobProps.controlIcon\n }) : null,\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n ...knobProps.controlIcon,\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n children: leadingIcon\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n flex: 1,\n minWidth: 0,\n justifyContent: \"center\",\n children: labelContent\n }),\n canReorder ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n \"data-treeview-handle\": node.id,\n role: \"button\",\n \"aria-label\": t(\"Drag {{label}} to reorder\", {\n label: node.label\n }),\n tabIndex: -1,\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n minWidth: import_theme.MIN_PRESS_TARGET,\n minHeight: import_theme.MIN_PRESS_TARGET,\n marginVertical: -handleOutset,\n hitSlop: (0, import_theme.pressTargetHitSlop)(caretSize),\n cursor: \"grab\",\n opacity: 0.45,\n transition,\n hoverStyle: {\n opacity: 1\n },\n onPress: function onPress(e) {\n var _e_stopPropagation;\n return e === null || e === void 0 ? void 0 : (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);\n },\n onPointerDown: function onPointerDown(e) {\n return handleDragHandlePointerDown(item, e);\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.DotsSixVerticalIcon, {\n size: caretSize,\n weight: \"bold\",\n color: knobProps.textAccentColor\n })\n }) : null\n ]\n },\n // Remount when a recycled cell switches nodes so state fills\n // and the caret never tween across two different rows.\n node.id\n );\n }\n }),\n (dragUi === null || dragUi === void 0 ? void 0 : (_dragUi_indicator = dragUi.indicator) === null || _dragUi_indicator === void 0 ? void 0 : _dragUi_indicator.kind) === \"line\" && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n \"data-treeview-drop-indicator\": \"line\",\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n y: topOfFlatIndex(dragUi.indicator.flatIndex) - dragScrollY - 1,\n height: 2,\n paddingInlineStart: rowPad.paddingHorizontal,\n paddingInlineEnd: rowPad.paddingHorizontal,\n pointerEvents: \"none\",\n zIndex: 999,\n transition: dragUi.mode === \"keyboard\" ? transition : \"none\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n width: dragUi.indicator.depth * indentStep,\n flexShrink: 0\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n flex: 1,\n height: 2,\n borderRadius: 1,\n backgroundColor: \"$accentBackground\"\n })\n ]\n }),\n /* Ghost overlay: clone of the dragged row outside the virtualized\n list. Pointer mode tracks 1:1 with no tween; the drop/cancel\n settle leap tweens with the animation knob (LC-42). */\n overlayNode !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n \"data-treeview-overlay\": \"true\",\n \"data-treeview-overlay-phase\": dragUi ? \"pointer\" : \"settling\",\n position: \"absolute\",\n top: 0,\n left: 0,\n x: (_ref9 = (dragUi === null || dragUi === void 0 ? void 0 : dragUi.mode) === \"pointer\" ? (_dragUi_ghost = dragUi.ghost) === null || _dragUi_ghost === void 0 ? void 0 : _dragUi_ghost.x : settle === null || settle === void 0 ? void 0 : settle.to.x) !== null && _ref9 !== void 0 ? _ref9 : 0,\n y: (_ref10 = (dragUi === null || dragUi === void 0 ? void 0 : dragUi.mode) === \"pointer\" ? (_dragUi_ghost1 = dragUi.ghost) === null || _dragUi_ghost1 === void 0 ? void 0 : _dragUi_ghost1.y : settle === null || settle === void 0 ? void 0 : settle.to.y) !== null && _ref10 !== void 0 ? _ref10 : 0,\n width: (_ref11 = dragUi === null || dragUi === void 0 ? void 0 : dragUi.width) !== null && _ref11 !== void 0 ? _ref11 : settle === null || settle === void 0 ? void 0 : settle.width,\n height: (_ref12 = dragUi === null || dragUi === void 0 ? void 0 : dragUi.height) !== null && _ref12 !== void 0 ? _ref12 : settle === null || settle === void 0 ? void 0 : settle.height,\n pointerEvents: \"none\",\n zIndex: 1e3,\n transition: dragUi ? \"none\" : transition,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n alignItems: \"center\",\n height: \"100%\",\n paddingHorizontal: rowPad.paddingHorizontal,\n gap: rowGap,\n ...knobProps.borderRadius,\n backgroundColor: \"$background\",\n borderWidth: 1,\n borderColor: \"$borderColor\",\n overflow: \"hidden\",\n transition,\n enterStyle: {\n scale: 1\n },\n scale: dragUi ? 1.03 : 1,\n ...dragUi ? LIFT_SHADOW : void 0,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n ...knobProps.controlIcon,\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n children: (_overlayNode_icon = overlayNode.icon) !== null && _overlayNode_icon !== void 0 ? _overlayNode_icon : defaultNodeIcon(overlayHasChildren, false, nodeIconSize)\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n ...knobProps.body,\n ...knobProps.label,\n color: \"$color\",\n numberOfLines: 1,\n flexShrink: 1,\n children: overlayNode.label\n })\n ]\n })\n }),\n /* Screen-reader drag announcements (WAI-ARIA drag pattern, LC-43). */\n canReorder && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n \"aria-live\": \"assertive\",\n \"aria-atomic\": true,\n \"data-treeview-announcer\": \"true\",\n position: \"absolute\",\n width: 1,\n height: 1,\n overflow: \"hidden\",\n opacity: 0,\n pointerEvents: \"none\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n children: announcement\n })\n })\n ]\n })\n });\n}\n//# sourceMappingURL=TreeView.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","TreeView_exports","TreeView","module","exports","import_jsx_runtime","require","import_componentColors","import_page","import_flash_list","import_theme","import_react","import_useDirection","import_react_hotkeys","import_react2","import_i18n","import_tamagui","import_kanbanDnd","import_treeViewDnd","import_treeViewMotion","import_treeViewReveal","import_treeViewLayout","DragHandleTarget","styled","View","ENTER_RISE_PX","DRAG_THRESHOLD_PX","TOUCH_LONG_PRESS_MS","AUTO_SCROLL_EDGE_PX","AUTO_SCROLL_MAX_SPEED","LIFT_SHADOW","TREE_LIFT_SHADOW","collectBranchIds","items","into","arguments","length","Set","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","node","_ref","_node_children","children","add","id","err","return","findNodePath","trail","found","TYPEAHEAD_MS","defaultNodeIcon","hasChildren","isExpanded","iconSize","jsx","FolderOpenIcon","size","weight","FolderIcon","FileIcon","param","nodes","renderNode","onNodeToggle","onNodeSelect","onNodeMove","estimateSize","estimateSizeProp","overscan","height","heightProp","initialScrollOffset","onScrollOffsetChange","emptyMessage","emptyMessageProp","defaultExpandedIds","expandedIds","controlledExpandedIds","onExpandedIdsChange","revealRequest","onRevealComplete","expandByDefault","display","showExpansionArrows","selectedId","ariaLabel","hotkeys","hotkeyOverrides","stackProps","_ref1","_ref2","_ref3","_ref4","_ref5","_ref6","_ref7","_ref8","_ref9","_ref10","_ref11","_ref12","_overlayNode_icon","_overlayNode_children","_dragUi_indicator","_dragUi_ghost","_dragUi_ghost1","t","useTranslation","compressed","knobProps","control","useResolvedKnobs","compact","onAccentLabel","useReadableTextOn","transition","nestedPx","nestedControl","px","rowGap","gap","controlIcon","width","treeDefaultHeight","expandIconSize","nodeIconSize","caretSize","isRTL","useDirection","CollapsedCaretIcon","CaretLeftIcon","CaretRightIcon","expandedCaretRotation","indentStep","treeIndentStep","rowPad","treeEdgeRowPad","space","treeId","useId","containerRef","useRef","flashListRef","initialScroll","offset","Number","isFinite","Math","max","cancelInitialScroll","useCallback","current","hasNodes","listInstance","useMemo","attached","loaded","indexScrollRequested","scrollActive","lastReportedOffset","offsetCallback","useLayoutEffect","focusedIndex","setFocusedIndex","useState","keyboardRing","setKeyboardRing","typeaheadRef","buffer","at","document","ensureKeyboardModalityTracking","handleContainerFocus","kb","wasKeyboardFocus","prev","handleContainerBlur","internalExpandedIds","setInternalExpandedIds","setExpandedIds","motion","setMotion","rowHeights","Map","getRowHeight","_rowHeights_current_get","toggleNode","has","delete","previousExpandedIds","previous","every","diff","diffVisibleRows","flattenVisibleIds","isEmptyDiff","phase","raf","requestAnimationFrame","m","cancelAnimationFrame","flatNodes","result","walk","walk1","depth","parentId","_ref13","push","index","revealIntent","scrollFrame","scrollStep","renderedRows","scrollBounds","list","isWeb","_containerRef_current","rect","getBoundingClientRect","viewport","getWindowSize","contentHeight","getChildContainerDimensions","getFirstItemOffset","maxOffset","observeOffset","fromEvent","_initialScroll_current","attempted","bounds","bounded","min","initial","abs","scheduleScroll","complete","attachList","_revealIntent_current","_revealIntent_current1","requestId","step","step1","currentList","getAbsoluteLastScrollOffset","intent","scrollToOffset","animated","treeRevealExpansion","notified","notifiedExpansion","some","findIndex","item","layout","getLayout","top","y","nextOffset","treeRevealOffset","visible","range","computeVisibleIndices","startIndex","endIndex","isHeightMeasured","scrollToIndex","_flashListRef_current","focusRow","collapsedSelectedAncestors","path","filter","canReorder","Boolean","dragUi","setDragUi","settle","setSettle","announcement","setAnnouncement","dragScrollY","setDragScrollY","dragUiRef","scrollOffsetRef","pointerPosRef","x","grabOffsetRef","suppressClickRef","sessionCleanupRef","autoScrollRafRef","pendingMoveFlipRef","useEffect","_sessionCleanupRef_current","dndRows","flattenDndRows","topOfFlatIndex","flatIndex","i","announce","a","_a_parent","parent","text","type","hitTest","clientY","ui","_containerRef_current_getBoundingClientRect","treeDropTargetForY","localY","rows","getHeight","session","draggedSubtree","subtree","stopAutoScroll","startAutoScroll","tick","tick1","mode","vy","autoScrollVelocity","pos","start","end","bottom","edge","maxSpeed","hit","indicator","endDrag","commit","resolved","resolveTreeDrop","canCommit","dest","expectedIds","_dndRows_find","nextNodes","applyTreeMove","nodeId","destFlat","indexOf","parentRow","find","r","homeX","originFlat","f","hideId","prevIds","describeTreeDragState","label","describeTreeCancel","pending","currentIds","map","same","same2","b","v","_containerRef_current_querySelector","el","querySelector","last","stableFrames","check","check1","getComputedStyle","transform","beginPointerDrag","flat","rowEl","clientX","container","treeKeyboardLift","rowRect","containerRect","left","subtreeIds","sourceDepth","ghost","handleDragHandlePointerDown","e","_e_pointerType","_e_stopPropagation","_handleEl_closest","window","button","stopPropagation","handleEl","currentTarget","closest","startX","startY","pointerType","lifted","longPressTimer","prevUserSelect","prevCursor","lift","lift2","body","style","userSelect","documentElement","cursor","teardown","teardown2","clearTimeout","removeEventListener","onMove","onUp","onCancel","onKey","onTouchMove","onContextMenu","setTimeout","onMove2","me","_ref14","_ref15","travelled","hypot","onUp2","wasLifted","onCancel2","onKey2","ke","onTouchMove2","te","preventDefault","onContextMenu2","ce","addEventListener","passive","p","liftFocusedNode","indicatorForTarget","moveKeyboardDrag","direction","treeKeyboardMove","updated","kind","hotkeyOpts","useHotkey","expand","child","collapse","parentIndex","toggle","_dragUiRef_current","select","first","handleTreeKeyDown","_e_preventDefault","ctrlKey","metaKey","altKey","now","Date","state","query","toLowerCase","n","idx","startsWith","EmptyState","title","effectiveFocused","resolvedAriaLabel","overlayNode","overlayHasChildren","handleOutset","MIN_PRESS_TARGET","YStack","containerRadius","overflow","jsxs","ref","role","tabIndex","outlineWidth","outlineStyle","onFocus","onBlur","onKeyDown","onLayout","onWheel","onPointerDown","position","FlashList","data","drawDistance","keyExtractor","onLoad","onCommitLayoutEffect","onContentSizeChange","onScrollBeginDrag","extraData","focused","onScroll","_e_nativeEvent_contentOffset","_e_nativeEvent","nativeEvent","contentOffset","scrollEventThrottle","renderItem","param2","_ref22","_dragUi_indicator2","isFocused","isSelected","leadingIcon","iconWhenExpanded","icon","containsSelected","groupPosition","getGroupPosition","labelContent","Text","color","numberOfLines","flexShrink","armed","entering","delta","deltas","rowY","inDraggedSubtree","isSettleHidden","isDropParent","rowOpacity","rowTransition","XStack","row","alignItems","minHeight","paddingVertical","paddingInlineEnd","paddingHorizontal","paddingInlineStart","opacity","stackRadiusProps","borderRadius","_e_nativeEvent_layout","h","set","backgroundColor","componentColors","interactive","background","hoverStyle","hoverKnobProps","pressStyle","pressKnobProps","keyboardFocusRingProps","onPress","alignSelf","pointerEvents","Array","_","guide","inset","hairline","vline","right","justifyContent","rotate","flex","minWidth","marginVertical","hitSlop","pressTargetHitSlop","DotsSixVerticalIcon","textAccentColor","zIndex","borderWidth","borderColor","enterStyle","scale"],"sources":["TreeView.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar TreeView_exports = {};\n__export(TreeView_exports, {\n TreeView: () => TreeView\n});\nmodule.exports = __toCommonJS(TreeView_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_componentColors = require(\"../componentColors\");\nvar import_page = require(\"../layouts/page\");\nvar import_flash_list = require(\"@shopify/flash-list\");\nvar import_theme = require(\"@multiplatform.one/theme\");\nvar import_react = require(\"@phosphor-icons/react\");\nvar import_useDirection = require(\"../hooks/useDirection\");\nvar import_react_hotkeys = require(\"@tanstack/react-hotkeys\");\nvar import_react2 = __toESM(require(\"react\"));\nvar import_i18n = require(\"../shared/i18n\");\nvar import_tamagui = require(\"tamagui\");\nvar import_kanbanDnd = require(\"./kanbanDnd\");\nvar import_treeViewDnd = require(\"./treeViewDnd\");\nvar import_treeViewMotion = require(\"./treeViewMotion\");\nvar import_treeViewReveal = require(\"./treeViewReveal\");\nvar import_treeViewLayout = require(\"./treeViewLayout\");\nvar DragHandleTarget = (0, import_tamagui.styled)(import_tamagui.View, {\n name: \"DragHandleTarget\"\n});\nvar ENTER_RISE_PX = -4;\nvar DRAG_THRESHOLD_PX = 4;\nvar TOUCH_LONG_PRESS_MS = 200;\nvar AUTO_SCROLL_EDGE_PX = 48;\nvar AUTO_SCROLL_MAX_SPEED = 16;\nvar LIFT_SHADOW = import_treeViewLayout.TREE_LIFT_SHADOW;\nfunction collectBranchIds(items) {\n var into = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var node = _step.value;\n var _ref;\n var _node_children;\n if (((_ref = (_node_children = node.children) === null || _node_children === void 0 ? void 0 : _node_children.length) !== null && _ref !== void 0 ? _ref : 0) > 0) {\n into.add(node.id);\n collectBranchIds(node.children, into);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return into;\n}\nfunction findNodePath(items, id) {\n var trail = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var node = _step.value;\n var _node_children;\n if (node.id === id) return trail;\n if ((_node_children = node.children) === null || _node_children === void 0 ? void 0 : _node_children.length) {\n var found = findNodePath(node.children, id, [\n ...trail,\n node.id\n ]);\n if (found) return found;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return null;\n}\nvar TYPEAHEAD_MS = 600;\nfunction defaultNodeIcon(hasChildren, isExpanded, iconSize) {\n if (hasChildren) {\n return isExpanded ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.FolderOpenIcon, {\n size: iconSize,\n weight: \"duotone\"\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.FolderIcon, {\n size: iconSize,\n weight: \"duotone\"\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.FileIcon, {\n size: iconSize,\n weight: \"duotone\"\n });\n}\nfunction TreeView(param) {\n var { nodes, renderNode, onNodeToggle, onNodeSelect, onNodeMove, estimateSize: estimateSizeProp, overscan = 10, height: heightProp, initialScrollOffset, onScrollOffsetChange, emptyMessage: emptyMessageProp, defaultExpandedIds, expandedIds: controlledExpandedIds, onExpandedIdsChange, revealRequest, onRevealComplete, expandByDefault = false, display = \"default\", showExpansionArrows = true, selectedId, ariaLabel, hotkeys: hotkeyOverrides, ...stackProps } = param;\n var _ref, _ref1, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _overlayNode_icon;\n var _overlayNode_children, _dragUi_indicator, _dragUi_ghost, _dragUi_ghost1;\n var { t } = (0, import_i18n.useTranslation)();\n var emptyMessage = emptyMessageProp !== null && emptyMessageProp !== void 0 ? emptyMessageProp : t(\"No items found\");\n var compressed = display === \"compressed\";\n var { knobProps, control } = (0, import_theme.useResolvedKnobs)(compressed ? {\n compact: true\n } : void 0);\n var onAccentLabel = (0, import_theme.useReadableTextOn)(\"$accentBackground\");\n var transition = knobProps.transition;\n var nestedPx = knobProps.nestedControl.px;\n var rowGap = knobProps.control.gap;\n var iconSize = knobProps.controlIcon.width;\n var estimateSize = estimateSizeProp !== null && estimateSizeProp !== void 0 ? estimateSizeProp : nestedPx;\n var height = heightProp !== null && heightProp !== void 0 ? heightProp : (0, import_treeViewLayout.treeDefaultHeight)(nestedPx);\n var expandIconSize = iconSize;\n var nodeIconSize = iconSize;\n var caretSize = iconSize;\n var isRTL = (0, import_useDirection.useDirection)() === \"rtl\";\n var CollapsedCaretIcon = isRTL ? import_react.CaretLeftIcon : import_react.CaretRightIcon;\n var expandedCaretRotation = isRTL ? \"-90deg\" : \"90deg\";\n var indentStep = (0, import_treeViewLayout.treeIndentStep)(nestedPx);\n var rowPad = (0, import_treeViewLayout.treeEdgeRowPad)(knobProps.space);\n var treeId = (0, import_react2.useId)();\n var containerRef = (0, import_react2.useRef)(null);\n var flashListRef = (0, import_react2.useRef)(null);\n var initialScroll = (0, import_react2.useRef)(initialScrollOffset === void 0 ? void 0 : {\n offset: Number.isFinite(initialScrollOffset) ? Math.max(0, initialScrollOffset) : 0\n });\n var cancelInitialScroll = (0, import_react2.useCallback)(function() {\n initialScroll.current = void 0;\n }, []);\n var hasNodes = nodes.length > 0;\n var listInstance = (0, import_react2.useMemo)(function() {\n return {\n hasNodes,\n attached: false,\n loaded: false,\n indexScrollRequested: false,\n offset: 0\n };\n }, [\n hasNodes\n ]);\n var scrollActive = (0, import_react2.useRef)(true);\n var lastReportedOffset = (0, import_react2.useRef)(void 0);\n var offsetCallback = (0, import_react2.useRef)(onScrollOffsetChange);\n (0, import_react2.useLayoutEffect)(function() {\n offsetCallback.current = onScrollOffsetChange;\n }, [\n onScrollOffsetChange\n ]);\n var [focusedIndex, setFocusedIndex] = (0, import_react2.useState)(-1);\n var [keyboardRing, setKeyboardRing] = (0, import_react2.useState)(false);\n var typeaheadRef = (0, import_react2.useRef)({\n buffer: \"\",\n at: 0\n });\n if (typeof document !== \"undefined\") (0, import_theme.ensureKeyboardModalityTracking)();\n var handleContainerFocus = (0, import_react2.useCallback)(function() {\n var kb = (0, import_theme.wasKeyboardFocus)();\n setKeyboardRing(kb);\n if (kb) setFocusedIndex(function(prev) {\n return prev < 0 ? 0 : prev;\n });\n }, []);\n var handleContainerBlur = (0, import_react2.useCallback)(function() {\n setKeyboardRing(false);\n }, []);\n var [internalExpandedIds, setInternalExpandedIds] = (0, import_react2.useState)(function() {\n if (defaultExpandedIds) return new Set(defaultExpandedIds);\n if (expandByDefault) return collectBranchIds(nodes);\n return /* @__PURE__ */ new Set();\n });\n var expandedIds = (0, import_react2.useMemo)(function() {\n return controlledExpandedIds === void 0 ? internalExpandedIds : new Set(controlledExpandedIds);\n }, [\n controlledExpandedIds,\n internalExpandedIds\n ]);\n var setExpandedIds = (0, import_react2.useCallback)(function(next) {\n if (controlledExpandedIds === void 0) setInternalExpandedIds(new Set(next));\n onExpandedIdsChange === null || onExpandedIdsChange === void 0 ? void 0 : onExpandedIdsChange([\n ...next\n ]);\n }, [\n controlledExpandedIds,\n onExpandedIdsChange\n ]);\n var [motion, setMotion] = (0, import_react2.useState)(null);\n var rowHeights = (0, import_react2.useRef)(/* @__PURE__ */ new Map());\n var getRowHeight = (0, import_react2.useCallback)(function(id) {\n var _rowHeights_current_get;\n return (_rowHeights_current_get = rowHeights.current.get(id)) !== null && _rowHeights_current_get !== void 0 ? _rowHeights_current_get : estimateSize;\n }, [\n estimateSize\n ]);\n var toggleNode = (0, import_react2.useCallback)(function(node) {\n cancelInitialScroll();\n var next = new Set(expandedIds);\n if (next.has(node.id)) {\n next.delete(node.id);\n } else {\n next.add(node.id);\n }\n setExpandedIds(next);\n onNodeToggle === null || onNodeToggle === void 0 ? void 0 : onNodeToggle(node);\n }, [\n expandedIds,\n setExpandedIds,\n onNodeToggle,\n cancelInitialScroll\n ]);\n var previousExpandedIds = (0, import_react2.useRef)(expandedIds);\n (0, import_react2.useLayoutEffect)(function() {\n var previous = previousExpandedIds.current;\n previousExpandedIds.current = expandedIds;\n if (previous.size === expandedIds.size && [\n ...previous\n ].every(function(id) {\n return expandedIds.has(id);\n })) return;\n if (transition) {\n var diff = (0, import_treeViewMotion.diffVisibleRows)((0, import_treeViewMotion.flattenVisibleIds)(nodes, previous), (0, import_treeViewMotion.flattenVisibleIds)(nodes, expandedIds), getRowHeight);\n setMotion((0, import_treeViewMotion.isEmptyDiff)(diff) ? null : {\n phase: \"armed\",\n ...diff\n });\n } else {\n setMotion(null);\n }\n }, [\n expandedIds,\n nodes,\n transition,\n getRowHeight\n ]);\n (0, import_react2.useLayoutEffect)(function() {\n if ((motion === null || motion === void 0 ? void 0 : motion.phase) !== \"armed\") return;\n var raf = requestAnimationFrame(function() {\n setMotion(function(m) {\n return m && m.phase === \"armed\" ? {\n ...m,\n phase: \"play\"\n } : m;\n });\n });\n return function() {\n return cancelAnimationFrame(raf);\n };\n }, [\n motion\n ]);\n var flatNodes = (0, import_react2.useMemo)(function() {\n var result = [];\n var walk = function walk1(items, depth, parentId) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var node = _step.value;\n var _ref13;\n var _node_children;\n var hasChildren = ((_ref13 = (_node_children = node.children) === null || _node_children === void 0 ? void 0 : _node_children.length) !== null && _ref13 !== void 0 ? _ref13 : 0) > 0;\n var isExpanded = expandedIds.has(node.id);\n result.push({\n node,\n depth,\n hasChildren,\n isExpanded,\n index: result.length,\n parentId\n });\n if (isExpanded && node.children) {\n walk(node.children, depth + 1, node.id);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n };\n walk(nodes, 0, null);\n return result;\n }, [\n nodes,\n expandedIds\n ]);\n var revealIntent = (0, import_react2.useRef)(void 0);\n var scrollFrame = (0, import_react2.useRef)(void 0);\n var scrollStep = (0, import_react2.useRef)(function() {\n });\n var renderedRows = (0, import_react2.useRef)(/* @__PURE__ */ new Set());\n var scrollBounds = (0, import_react2.useCallback)(function() {\n var list = flashListRef.current;\n if (!scrollActive.current || !listInstance.attached || !listInstance.loaded || !list) return;\n if (import_tamagui.isWeb) {\n var _containerRef_current;\n var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : _containerRef_current.getBoundingClientRect();\n if (!rect || !(rect.width > 0) || !(rect.height > 0)) return;\n }\n var viewport = list.getWindowSize();\n var contentHeight = list.getChildContainerDimensions().height + list.getFirstItemOffset();\n if (!Number.isFinite(viewport.width) || viewport.width <= 0 || !Number.isFinite(viewport.height) || viewport.height <= 0 || !Number.isFinite(contentHeight) || contentHeight <= 0) return;\n return {\n list,\n width: viewport.width,\n height: viewport.height,\n contentHeight,\n maxOffset: Math.max(0, contentHeight - viewport.height)\n };\n }, [\n listInstance\n ]);\n var observeOffset = (0, import_react2.useCallback)(function(offset) {\n var fromEvent = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n var _initialScroll_current;\n if (!scrollActive.current || !listInstance.attached || !Number.isFinite(offset)) return;\n if (fromEvent && ((_initialScroll_current = initialScroll.current) === null || _initialScroll_current === void 0 ? void 0 : _initialScroll_current.attempted) === void 0 && offset !== listInstance.offset) {\n cancelInitialScroll();\n }\n listInstance.offset = offset;\n var bounds = scrollBounds();\n if (!bounds) return;\n var bounded = Math.max(0, Math.min(offset, bounds.maxOffset));\n var initial = initialScroll.current;\n if (initial) {\n var target = Math.min(initial.offset, bounds.maxOffset);\n if (initial.attempted ? Math.abs(bounded - target) >= 1 : bounded !== target) return;\n initialScroll.current = void 0;\n }\n if (offsetCallback.current && lastReportedOffset.current !== bounded) {\n lastReportedOffset.current = bounded;\n offsetCallback.current(bounded);\n }\n }, [\n cancelInitialScroll,\n scrollBounds,\n listInstance\n ]);\n var scheduleScroll = (0, import_react2.useCallback)(function() {\n if (!scrollActive.current || !listInstance.attached || scrollFrame.current !== void 0) return;\n if (!initialScroll.current && (!revealIntent.current || revealIntent.current.complete) && !offsetCallback.current) return;\n scrollFrame.current = requestAnimationFrame(function() {\n scrollFrame.current = void 0;\n if (listInstance.attached) scrollStep.current();\n });\n }, [\n listInstance\n ]);\n var attachList = (0, import_react2.useCallback)(function(list) {\n flashListRef.current = list;\n listInstance.attached = list !== null;\n if (!list) {\n listInstance.loaded = false;\n if (initialScroll.current) initialScroll.current.attempted = void 0;\n if (scrollFrame.current !== void 0) cancelAnimationFrame(scrollFrame.current);\n scrollFrame.current = void 0;\n }\n }, [\n listInstance\n ]);\n (0, import_react2.useLayoutEffect)(function() {\n scrollActive.current = true;\n return function() {\n scrollActive.current = false;\n revealIntent.current = void 0;\n if (scrollFrame.current !== void 0) cancelAnimationFrame(scrollFrame.current);\n scrollFrame.current = void 0;\n };\n }, []);\n (0, import_react2.useLayoutEffect)(function() {\n var _revealIntent_current, _revealIntent_current1;\n if (!revealRequest) {\n revealIntent.current = void 0;\n } 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) {\n cancelInitialScroll();\n revealIntent.current = {\n ...revealRequest,\n complete: false\n };\n }\n var step = function step1() {\n var currentList = flashListRef.current;\n if (currentList) {\n observeOffset(listInstance.indexScrollRequested ? listInstance.offset : currentList.getAbsoluteLastScrollOffset());\n }\n if (!scrollActive.current) return;\n if (scrollStep.current !== step) {\n scheduleScroll();\n return;\n }\n var intent = revealIntent.current;\n if (!intent || intent.complete) {\n var initial = initialScroll.current;\n var bounds = scrollBounds();\n if (!initial || !bounds || flatNodes.length === 0) return;\n var target = Math.min(initial.offset, bounds.maxOffset);\n var attempted = initial.attempted;\n if (!attempted || attempted.target !== target || attempted.width !== bounds.width || attempted.height !== bounds.height || attempted.contentHeight !== bounds.contentHeight) {\n initial.attempted = {\n target,\n width: bounds.width,\n height: bounds.height,\n contentHeight: bounds.contentHeight\n };\n bounds.list.scrollToOffset({\n offset: target,\n animated: false\n });\n }\n return;\n }\n var next = (0, import_treeViewReveal.treeRevealExpansion)(nodes, expandedIds, intent.id);\n if (!next) return;\n if (next !== expandedIds) {\n var notified = intent.notifiedExpansion;\n if (!notified || notified.size !== next.size || [\n ...next\n ].some(function(id) {\n return !notified.has(id);\n })) {\n intent.notifiedExpansion = next;\n setExpandedIds(next);\n }\n return;\n }\n if (motion) {\n setMotion(null);\n return;\n }\n var list = flashListRef.current;\n var index = flatNodes.findIndex(function(item) {\n return item.node.id === intent.id;\n });\n if (!list || index < 0) return;\n if (import_tamagui.isWeb) {\n var _containerRef_current;\n var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : _containerRef_current.getBoundingClientRect();\n if (!rect || rect.width <= 0 || rect.height <= 0) return;\n }\n var viewport = list.getWindowSize();\n if (viewport.width <= 0) return;\n var layout = list.getLayout(index);\n if (!layout) return;\n var offset = listInstance.indexScrollRequested ? listInstance.offset : list.getAbsoluteLastScrollOffset();\n var top = layout.y + list.getFirstItemOffset();\n var nextOffset = (0, import_treeViewReveal.treeRevealOffset)({\n y: top,\n height: layout.height\n }, offset, viewport.height);\n if (nextOffset === void 0) return;\n if (Math.abs(nextOffset - offset) < 1) {\n var visible = top < offset + viewport.height && top + layout.height > offset;\n if (!listInstance.indexScrollRequested) {\n var range = list.computeVisibleIndices();\n visible = visible && index >= range.startIndex && index <= range.endIndex;\n }\n if (revealIntent.current === intent && layout.isHeightMeasured && renderedRows.current.has(intent.id) && visible) {\n intent.complete = true;\n onRevealComplete === null || onRevealComplete === void 0 ? void 0 : onRevealComplete({\n id: intent.id,\n requestId: intent.requestId\n });\n }\n return;\n }\n list.scrollToOffset({\n offset: nextOffset,\n animated: false\n });\n };\n scrollStep.current = step;\n scheduleScroll();\n }, [\n nodes,\n expandedIds,\n setExpandedIds,\n flatNodes,\n revealRequest === null || revealRequest === void 0 ? void 0 : revealRequest.id,\n revealRequest === null || revealRequest === void 0 ? void 0 : revealRequest.requestId,\n onRevealComplete,\n height,\n motion,\n scheduleScroll,\n cancelInitialScroll,\n observeOffset,\n scrollBounds,\n listInstance\n ]);\n var scrollToIndex = (0, import_react2.useCallback)(function(index) {\n if (index >= 0 && index < flatNodes.length) {\n var _flashListRef_current;\n cancelInitialScroll();\n listInstance.indexScrollRequested = true;\n (_flashListRef_current = flashListRef.current) === null || _flashListRef_current === void 0 ? void 0 : _flashListRef_current.scrollToIndex({\n index,\n animated: true\n });\n }\n }, [\n flatNodes.length,\n cancelInitialScroll,\n listInstance\n ]);\n var focusRow = (0, import_react2.useCallback)(function(index) {\n setKeyboardRing(true);\n setFocusedIndex(index);\n scrollToIndex(index);\n }, [\n scrollToIndex\n ]);\n var collapsedSelectedAncestors = (0, import_react2.useMemo)(function() {\n if (!selectedId) return /* @__PURE__ */ new Set();\n var path = findNodePath(nodes, selectedId);\n if (!path) return /* @__PURE__ */ new Set();\n return new Set(path.filter(function(id) {\n return !expandedIds.has(id);\n }));\n }, [\n nodes,\n selectedId,\n expandedIds\n ]);\n var canReorder = Boolean(onNodeMove);\n var [dragUi, setDragUi] = (0, import_react2.useState)(null);\n var [settle, setSettle] = (0, import_react2.useState)(null);\n var [announcement, setAnnouncement] = (0, import_react2.useState)(\"\");\n var [dragScrollY, setDragScrollY] = (0, import_react2.useState)(0);\n var dragUiRef = (0, import_react2.useRef)(null);\n dragUiRef.current = dragUi;\n var scrollOffsetRef = (0, import_react2.useRef)(0);\n var pointerPosRef = (0, import_react2.useRef)({\n x: 0,\n y: 0\n });\n var grabOffsetRef = (0, import_react2.useRef)({\n x: 0,\n y: 0\n });\n var suppressClickRef = (0, import_react2.useRef)(false);\n var sessionCleanupRef = (0, import_react2.useRef)(null);\n var autoScrollRafRef = (0, import_react2.useRef)(null);\n var pendingMoveFlipRef = (0, import_react2.useRef)(null);\n (0, import_react2.useEffect)(function() {\n return function() {\n var _sessionCleanupRef_current;\n return (_sessionCleanupRef_current = sessionCleanupRef.current) === null || _sessionCleanupRef_current === void 0 ? void 0 : _sessionCleanupRef_current.call(sessionCleanupRef);\n };\n }, []);\n var dndRows = (0, import_react2.useMemo)(function() {\n return (0, import_treeViewDnd.flattenDndRows)(nodes, expandedIds);\n }, [\n nodes,\n expandedIds\n ]);\n var topOfFlatIndex = (0, import_react2.useCallback)(function(flatIndex) {\n var top = 0;\n for (var i = 0; i < flatIndex && i < flatNodes.length; i++) {\n top += getRowHeight(flatNodes[i].node.id);\n }\n return top;\n }, [\n flatNodes,\n getRowHeight\n ]);\n var announce = (0, import_react2.useCallback)(function(a) {\n var _a_parent;\n var parent = (_a_parent = a.parent) !== null && _a_parent !== void 0 ? _a_parent : t(\"top level\");\n var text = a.type === \"lift\" ? t(\"Lifted {{node}} in {{parent}}, position {{position}} of {{count}}. Use arrow keys to move, space to drop, escape to cancel.\", {\n ...a,\n parent\n }) : a.type === \"move\" ? t(\"Moved {{node}} to {{parent}}, position {{position}} of {{count}}.\", {\n ...a,\n parent\n }) : a.type === \"drop\" ? t(\"Dropped {{node}} in {{parent}}, position {{position}} of {{count}}.\", {\n ...a,\n parent\n }) : t(\"Movement cancelled. {{node}} returned to {{parent}}.\", {\n ...a,\n parent\n });\n setAnnouncement(text);\n }, [\n t\n ]);\n var hitTest = (0, import_react2.useCallback)(function(clientY, ui) {\n var _containerRef_current_getBoundingClientRect, _containerRef_current;\n var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : (_containerRef_current_getBoundingClientRect = _containerRef_current.getBoundingClientRect) === null || _containerRef_current_getBoundingClientRect === void 0 ? void 0 : _containerRef_current_getBoundingClientRect.call(_containerRef_current);\n if (!rect) return null;\n return (0, import_treeViewDnd.treeDropTargetForY)({\n localY: clientY - rect.top + scrollOffsetRef.current,\n rows: dndRows,\n getHeight: getRowHeight,\n session: ui.session,\n draggedSubtree: ui.subtree\n });\n }, [\n dndRows,\n getRowHeight\n ]);\n var stopAutoScroll = (0, import_react2.useCallback)(function() {\n if (autoScrollRafRef.current !== null) cancelAnimationFrame(autoScrollRafRef.current);\n autoScrollRafRef.current = null;\n }, []);\n var startAutoScroll = (0, import_react2.useCallback)(function() {\n stopAutoScroll();\n var tick = function tick1() {\n var _containerRef_current_getBoundingClientRect, _containerRef_current;\n var ui = dragUiRef.current;\n if (!ui || ui.mode !== \"pointer\") {\n autoScrollRafRef.current = null;\n return;\n }\n var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : (_containerRef_current_getBoundingClientRect = _containerRef_current.getBoundingClientRect) === null || _containerRef_current_getBoundingClientRect === void 0 ? void 0 : _containerRef_current_getBoundingClientRect.call(_containerRef_current);\n if (rect) {\n var vy = (0, import_kanbanDnd.autoScrollVelocity)({\n pos: pointerPosRef.current.y,\n start: rect.top,\n end: rect.bottom,\n edge: AUTO_SCROLL_EDGE_PX,\n maxSpeed: AUTO_SCROLL_MAX_SPEED\n });\n if (vy !== 0) {\n var max = Math.max(0, topOfFlatIndex(flatNodes.length) - rect.height);\n var next = Math.min(max, Math.max(0, scrollOffsetRef.current + vy));\n if (next !== scrollOffsetRef.current) {\n var _flashListRef_current;\n scrollOffsetRef.current = next;\n (_flashListRef_current = flashListRef.current) === null || _flashListRef_current === void 0 ? void 0 : _flashListRef_current.scrollToOffset({\n offset: next,\n animated: false\n });\n setDragScrollY(next);\n var hit = hitTest(pointerPosRef.current.y, ui);\n if (hit) {\n setDragUi(function(prev) {\n return prev ? {\n ...prev,\n session: {\n ...prev.session,\n target: hit.target\n },\n indicator: hit.indicator\n } : prev;\n });\n }\n }\n }\n }\n autoScrollRafRef.current = requestAnimationFrame(tick);\n };\n autoScrollRafRef.current = requestAnimationFrame(tick);\n }, [\n flatNodes.length,\n hitTest,\n stopAutoScroll,\n topOfFlatIndex\n ]);\n var endDrag = (0, import_react2.useCallback)(function(commit) {\n var _sessionCleanupRef_current;\n var ui = dragUiRef.current;\n if (!ui) return;\n stopAutoScroll();\n (_sessionCleanupRef_current = sessionCleanupRef.current) === null || _sessionCleanupRef_current === void 0 ? void 0 : _sessionCleanupRef_current.call(sessionCleanupRef);\n sessionCleanupRef.current = null;\n var resolved = (0, import_treeViewDnd.resolveTreeDrop)(ui.session);\n var canCommit = commit && resolved.commit && Boolean(onNodeMove);\n var dest = null;\n var expectedIds = null;\n if (canCommit) {\n var _dndRows_find;\n var nextNodes = (0, import_treeViewDnd.applyTreeMove)(nodes, ui.session.nodeId, resolved.to);\n expectedIds = (0, import_treeViewMotion.flattenVisibleIds)(nextNodes, expandedIds);\n var destFlat = expectedIds.indexOf(ui.session.nodeId);\n var parentRow = resolved.to.parentId === null ? null : (_dndRows_find = dndRows.find(function(r) {\n return r.id === resolved.to.parentId;\n })) !== null && _dndRows_find !== void 0 ? _dndRows_find : null;\n var top = 0;\n if (destFlat >= 0) {\n for (var i = 0; i < destFlat; i++) top += getRowHeight(expectedIds[i]);\n } else if (parentRow) {\n top = topOfFlatIndex(dndRows.indexOf(parentRow));\n }\n dest = {\n x: ui.homeX,\n y: top - scrollOffsetRef.current\n };\n } else {\n var originFlat = flatNodes.findIndex(function(f) {\n return f.node.id === ui.session.nodeId;\n });\n dest = {\n x: ui.homeX,\n y: (originFlat >= 0 ? topOfFlatIndex(originFlat) : 0) - scrollOffsetRef.current\n };\n }\n setDragUi(null);\n dragUiRef.current = null;\n if (ui.mode === \"pointer\" && dest) {\n setSettle({\n node: ui.node,\n width: ui.width,\n height: ui.height,\n to: dest,\n hideId: canCommit ? ui.session.nodeId : void 0\n });\n }\n if (canCommit && expectedIds) {\n if (transition) {\n pendingMoveFlipRef.current = {\n prevIds: (0, import_treeViewMotion.flattenVisibleIds)(nodes, expandedIds),\n expectedIds\n };\n }\n announce((0, import_treeViewDnd.describeTreeDragState)(\"drop\", ui.session, nodes, ui.node.label));\n onNodeMove === null || onNodeMove === void 0 ? void 0 : onNodeMove(ui.session.nodeId, resolved.to);\n } else {\n announce((0, import_treeViewDnd.describeTreeCancel)(ui.session, nodes, ui.node.label));\n }\n }, [\n announce,\n dndRows,\n expandedIds,\n flatNodes,\n getRowHeight,\n nodes,\n onNodeMove,\n stopAutoScroll,\n topOfFlatIndex,\n transition\n ]);\n (0, import_react2.useLayoutEffect)(function() {\n var pending = pendingMoveFlipRef.current;\n if (!pending) return;\n var currentIds = flatNodes.map(function(f) {\n return f.node.id;\n });\n var same = function same2(a, b) {\n return a.length === b.length && a.every(function(v, i) {\n return v === b[i];\n });\n };\n if (same(currentIds, pending.prevIds)) return;\n pendingMoveFlipRef.current = null;\n if (!same(currentIds, pending.expectedIds)) return;\n var diff = (0, import_treeViewMotion.diffVisibleRows)(pending.prevIds, pending.expectedIds, getRowHeight);\n if (!(0, import_treeViewMotion.isEmptyDiff)(diff)) setMotion({\n phase: \"armed\",\n ...diff\n });\n }, [\n flatNodes,\n getRowHeight\n ]);\n (0, import_react2.useEffect)(function() {\n var _containerRef_current_querySelector, _containerRef_current;\n if (!settle) return;\n var el = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : (_containerRef_current_querySelector = _containerRef_current.querySelector) === null || _containerRef_current_querySelector === void 0 ? void 0 : _containerRef_current_querySelector.call(_containerRef_current, \"[data-treeview-overlay]\");\n if (!el || typeof requestAnimationFrame === \"undefined\") {\n setSettle(null);\n return;\n }\n var last = null;\n var stableFrames = 0;\n var raf = 0;\n var check = function check1() {\n var current = getComputedStyle(el).transform;\n if (current === last) stableFrames += 1;\n else {\n stableFrames = 0;\n last = current;\n }\n if (stableFrames >= 3) {\n setSettle(null);\n return;\n }\n raf = requestAnimationFrame(check);\n };\n raf = requestAnimationFrame(check);\n return function() {\n return cancelAnimationFrame(raf);\n };\n }, [\n settle\n ]);\n var beginPointerDrag = (0, import_react2.useCallback)(function(flat, rowEl, clientX, clientY) {\n var container = containerRef.current;\n if (!(container === null || container === void 0 ? void 0 : container.getBoundingClientRect)) return false;\n var session = (0, import_treeViewDnd.treeKeyboardLift)(nodes, flat.node.id);\n if (!session) return false;\n cancelInitialScroll();\n var rowRect = rowEl.getBoundingClientRect();\n var containerRect = container.getBoundingClientRect();\n grabOffsetRef.current = {\n x: clientX - rowRect.left,\n y: clientY - rowRect.top\n };\n pointerPosRef.current = {\n x: clientX,\n y: clientY\n };\n var ui = {\n mode: \"pointer\",\n node: flat.node,\n session,\n subtree: (0, import_treeViewDnd.subtreeIds)(nodes, flat.node.id),\n sourceDepth: flat.depth,\n homeX: rowRect.left - containerRect.left,\n width: rowRect.width,\n height: rowRect.height,\n indicator: null,\n ghost: {\n x: rowRect.left - containerRect.left,\n y: rowRect.top - containerRect.top\n }\n };\n setSettle(null);\n setDragScrollY(scrollOffsetRef.current);\n setDragUi(ui);\n dragUiRef.current = ui;\n announce((0, import_treeViewDnd.describeTreeDragState)(\"lift\", session, nodes, flat.node.label));\n startAutoScroll();\n return true;\n }, [\n announce,\n nodes,\n startAutoScroll,\n cancelInitialScroll\n ]);\n var handleDragHandlePointerDown = (0, import_react2.useCallback)(function(flat, e) {\n var _ref13, _e_pointerType;\n var _sessionCleanupRef_current, _e_stopPropagation, _handleEl_closest;\n if (!canReorder || typeof window === \"undefined\") return;\n if (e.button !== void 0 && e.button !== 0) return;\n if (dragUiRef.current) return;\n (_sessionCleanupRef_current = sessionCleanupRef.current) === null || _sessionCleanupRef_current === void 0 ? void 0 : _sessionCleanupRef_current.call(sessionCleanupRef);\n (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);\n var handleEl = e.currentTarget;\n var rowEl = (_ref13 = (_handleEl_closest = handleEl.closest) === null || _handleEl_closest === void 0 ? void 0 : _handleEl_closest.call(handleEl, \"[data-treeview-row]\")) !== null && _ref13 !== void 0 ? _ref13 : handleEl;\n var startX = e.clientX;\n var startY = e.clientY;\n var pointerType = (_e_pointerType = e.pointerType) !== null && _e_pointerType !== void 0 ? _e_pointerType : \"mouse\";\n var lifted = false;\n var longPressTimer = null;\n var prevUserSelect = \"\";\n var prevCursor = \"\";\n var lift = function lift2(x, y) {\n if (lifted) return;\n lifted = beginPointerDrag(flat, rowEl, x, y);\n if (!lifted) return;\n prevUserSelect = document.body.style.userSelect;\n document.body.style.userSelect = \"none\";\n prevCursor = document.documentElement.style.cursor;\n document.documentElement.style.cursor = \"grabbing\";\n };\n var teardown = function teardown2() {\n if (longPressTimer !== null) clearTimeout(longPressTimer);\n window.removeEventListener(\"pointermove\", onMove);\n window.removeEventListener(\"pointerup\", onUp);\n window.removeEventListener(\"pointercancel\", onCancel);\n window.removeEventListener(\"keydown\", onKey, true);\n window.removeEventListener(\"touchmove\", onTouchMove);\n window.removeEventListener(\"contextmenu\", onContextMenu, true);\n sessionCleanupRef.current = null;\n if (lifted) {\n document.body.style.userSelect = prevUserSelect;\n document.documentElement.style.cursor = prevCursor;\n suppressClickRef.current = true;\n setTimeout(function() {\n suppressClickRef.current = false;\n }, 0);\n }\n };\n var onMove = function onMove2(me) {\n var _ref14, _ref15;\n var _containerRef_current_getBoundingClientRect, _containerRef_current;\n pointerPosRef.current = {\n x: me.clientX,\n y: me.clientY\n };\n if (!lifted) {\n var travelled = Math.hypot(me.clientX - startX, me.clientY - startY);\n if (pointerType === \"mouse\") {\n if (travelled >= DRAG_THRESHOLD_PX) lift(me.clientX, me.clientY);\n } else if (travelled >= DRAG_THRESHOLD_PX) {\n teardown();\n }\n if (!lifted) return;\n }\n var containerRect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : (_containerRef_current_getBoundingClientRect = _containerRef_current.getBoundingClientRect) === null || _containerRef_current_getBoundingClientRect === void 0 ? void 0 : _containerRef_current_getBoundingClientRect.call(_containerRef_current);\n var ghost = {\n x: me.clientX - ((_ref14 = containerRect === null || containerRect === void 0 ? void 0 : containerRect.left) !== null && _ref14 !== void 0 ? _ref14 : 0) - grabOffsetRef.current.x,\n y: me.clientY - ((_ref15 = containerRect === null || containerRect === void 0 ? void 0 : containerRect.top) !== null && _ref15 !== void 0 ? _ref15 : 0) - grabOffsetRef.current.y\n };\n var ui = dragUiRef.current;\n if (!ui) return;\n var hit = hitTest(me.clientY, ui);\n setDragUi(function(prev) {\n return prev ? {\n ...prev,\n ghost,\n ...hit && {\n session: {\n ...prev.session,\n target: hit.target\n },\n indicator: hit.indicator\n }\n } : prev;\n });\n };\n var onUp = function onUp2() {\n var wasLifted = lifted;\n teardown();\n if (wasLifted) endDrag(true);\n };\n var onCancel = function onCancel2() {\n var wasLifted = lifted;\n teardown();\n if (wasLifted) endDrag(false);\n };\n var onKey = function onKey2(ke) {\n if (ke.key !== \"Escape\") return;\n ke.stopPropagation();\n var wasLifted = lifted;\n teardown();\n if (wasLifted) endDrag(false);\n };\n var onTouchMove = function onTouchMove2(te) {\n if (lifted) te.preventDefault();\n };\n var onContextMenu = function onContextMenu2(ce) {\n if (lifted || longPressTimer !== null) ce.preventDefault();\n };\n window.addEventListener(\"pointermove\", onMove);\n window.addEventListener(\"pointerup\", onUp);\n window.addEventListener(\"pointercancel\", onCancel);\n window.addEventListener(\"keydown\", onKey, true);\n window.addEventListener(\"touchmove\", onTouchMove, {\n passive: false\n });\n window.addEventListener(\"contextmenu\", onContextMenu, true);\n sessionCleanupRef.current = function() {\n var wasLifted = lifted;\n teardown();\n if (wasLifted) endDrag(false);\n };\n if (pointerType !== \"mouse\") {\n longPressTimer = setTimeout(function() {\n longPressTimer = null;\n var p = pointerPosRef.current;\n lift(p.x || startX, p.y || startY);\n }, TOUCH_LONG_PRESS_MS);\n pointerPosRef.current = {\n x: startX,\n y: startY\n };\n }\n }, [\n beginPointerDrag,\n canReorder,\n endDrag,\n hitTest\n ]);\n var liftFocusedNode = (0, import_react2.useCallback)(function() {\n if (!canReorder || dragUiRef.current) return false;\n var flat = flatNodes[focusedIndex];\n if (!flat) return false;\n var session = (0, import_treeViewDnd.treeKeyboardLift)(nodes, flat.node.id);\n if (!session) return false;\n cancelInitialScroll();\n var ui = {\n mode: \"keyboard\",\n node: flat.node,\n session,\n subtree: (0, import_treeViewDnd.subtreeIds)(nodes, flat.node.id),\n sourceDepth: flat.depth,\n homeX: 0,\n width: 0,\n height: getRowHeight(flat.node.id),\n indicator: (0, import_treeViewDnd.indicatorForTarget)(dndRows, session, session.target)\n };\n setSettle(null);\n setDragScrollY(scrollOffsetRef.current);\n setDragUi(ui);\n dragUiRef.current = ui;\n announce((0, import_treeViewDnd.describeTreeDragState)(\"lift\", session, nodes, flat.node.label));\n return true;\n }, [\n announce,\n canReorder,\n dndRows,\n flatNodes,\n focusedIndex,\n getRowHeight,\n nodes,\n cancelInitialScroll\n ]);\n var moveKeyboardDrag = (0, import_react2.useCallback)(function(direction) {\n var ui = dragUiRef.current;\n if (!ui || ui.mode !== \"keyboard\") return false;\n var next = (0, import_treeViewDnd.treeKeyboardMove)(ui.session, nodes, direction);\n if (next === ui.session) return true;\n var indicator = (0, import_treeViewDnd.indicatorForTarget)(dndRows, next, next.target);\n var updated = {\n ...ui,\n session: next,\n indicator\n };\n setDragUi(updated);\n dragUiRef.current = updated;\n if (indicator.kind === \"line\" && flatNodes.length > 0) {\n scrollToIndex(Math.min(indicator.flatIndex, flatNodes.length - 1));\n }\n announce((0, import_treeViewDnd.describeTreeDragState)(\"move\", next, nodes, ui.node.label));\n return true;\n }, [\n announce,\n dndRows,\n flatNodes.length,\n nodes,\n scrollToIndex\n ]);\n var hotkeyOpts = {\n target: containerRef\n };\n (0, import_react_hotkeys.useHotkey)((_ref = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.next) !== null && _ref !== void 0 ? _ref : \"ArrowDown\", function() {\n if (moveKeyboardDrag(\"down\")) return;\n setKeyboardRing(true);\n setFocusedIndex(function(prev) {\n var next = prev < 0 ? 0 : Math.min(prev + 1, Math.max(0, flatNodes.length - 1));\n scrollToIndex(next);\n return next;\n });\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)((_ref1 = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.prev) !== null && _ref1 !== void 0 ? _ref1 : \"ArrowUp\", function() {\n if (moveKeyboardDrag(\"up\")) return;\n setKeyboardRing(true);\n setFocusedIndex(function(prev) {\n var next = prev < 0 ? flatNodes.length - 1 : Math.max(prev - 1, 0);\n if (next >= 0) scrollToIndex(next);\n return next;\n });\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)((_ref2 = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.expand) !== null && _ref2 !== void 0 ? _ref2 : \"ArrowRight\", function() {\n if (moveKeyboardDrag(\"right\")) return;\n if (focusedIndex >= 0 && focusedIndex < flatNodes.length) {\n var flat = flatNodes[focusedIndex];\n if (flat.hasChildren && !flat.isExpanded) {\n setKeyboardRing(true);\n toggleNode(flat.node);\n } else if (flat.hasChildren && flat.isExpanded) {\n var child = focusedIndex + 1;\n if (child < flatNodes.length && flatNodes[child].parentId === flat.node.id) {\n focusRow(child);\n }\n }\n }\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)((_ref3 = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.collapse) !== null && _ref3 !== void 0 ? _ref3 : \"ArrowLeft\", function() {\n if (moveKeyboardDrag(\"left\")) return;\n if (focusedIndex >= 0 && focusedIndex < flatNodes.length) {\n var flat = flatNodes[focusedIndex];\n if (flat.hasChildren && flat.isExpanded) {\n setKeyboardRing(true);\n toggleNode(flat.node);\n } else if (flat.parentId) {\n var parentIndex = flatNodes.findIndex(function(f) {\n return f.node.id === flat.parentId;\n });\n if (parentIndex >= 0) focusRow(parentIndex);\n }\n }\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)((_ref4 = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.toggle) !== null && _ref4 !== void 0 ? _ref4 : \"Space\", function() {\n var _dragUiRef_current;\n if (((_dragUiRef_current = dragUiRef.current) === null || _dragUiRef_current === void 0 ? void 0 : _dragUiRef_current.mode) === \"keyboard\") {\n endDrag(true);\n return;\n }\n if (canReorder) {\n liftFocusedNode();\n return;\n }\n if (focusedIndex >= 0 && focusedIndex < flatNodes.length) {\n var { node, hasChildren } = flatNodes[focusedIndex];\n if (hasChildren) {\n toggleNode(node);\n }\n }\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)((_ref5 = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.select) !== null && _ref5 !== void 0 ? _ref5 : \"Enter\", function() {\n var _dragUiRef_current;\n if (((_dragUiRef_current = dragUiRef.current) === null || _dragUiRef_current === void 0 ? void 0 : _dragUiRef_current.mode) === \"keyboard\") {\n endDrag(true);\n return;\n }\n if (focusedIndex >= 0 && focusedIndex < flatNodes.length) {\n onNodeSelect === null || onNodeSelect === void 0 ? void 0 : onNodeSelect(flatNodes[focusedIndex].node);\n }\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)(\"Escape\", function() {\n var _dragUiRef_current;\n if (((_dragUiRef_current = dragUiRef.current) === null || _dragUiRef_current === void 0 ? void 0 : _dragUiRef_current.mode) === \"keyboard\") endDrag(false);\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)((_ref6 = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.first) !== null && _ref6 !== void 0 ? _ref6 : \"Home\", function() {\n if (flatNodes.length > 0) focusRow(0);\n }, hotkeyOpts);\n (0, import_react_hotkeys.useHotkey)((_ref7 = hotkeyOverrides === null || hotkeyOverrides === void 0 ? void 0 : hotkeyOverrides.last) !== null && _ref7 !== void 0 ? _ref7 : \"End\", function() {\n if (flatNodes.length > 0) focusRow(flatNodes.length - 1);\n }, hotkeyOpts);\n var handleTreeKeyDown = (0, import_react2.useCallback)(function(e) {\n var _e_preventDefault;\n var key = e === null || e === void 0 ? void 0 : e.key;\n if (!key || key.length !== 1) return;\n if (e.ctrlKey || e.metaKey || e.altKey) return;\n if (key === \" \") return;\n if (dragUiRef.current) return;\n if (flatNodes.length === 0) return;\n (_e_preventDefault = e.preventDefault) === null || _e_preventDefault === void 0 ? void 0 : _e_preventDefault.call(e);\n var now = Date.now();\n var state = typeaheadRef.current;\n state.buffer = now - state.at > TYPEAHEAD_MS ? key : state.buffer + key;\n state.at = now;\n var query = state.buffer.toLowerCase();\n var start = focusedIndex >= 0 ? focusedIndex : -1;\n var n = flatNodes.length;\n for (var i = 1; i <= n; i++) {\n var idx = (start + i) % n;\n if (flatNodes[idx].node.label.toLowerCase().startsWith(query)) {\n focusRow(idx);\n return;\n }\n }\n }, [\n flatNodes,\n focusedIndex,\n focusRow\n ]);\n if (nodes.length === 0) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_page.EmptyState, {\n compact: true,\n title: emptyMessage,\n ...stackProps\n });\n }\n var effectiveFocused = focusedIndex >= flatNodes.length ? -1 : focusedIndex;\n var resolvedAriaLabel = ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : typeof stackProps[\"aria-label\"] === \"string\" ? stackProps[\"aria-label\"] : void 0;\n var overlayNode = (dragUi === null || dragUi === void 0 ? void 0 : dragUi.mode) === \"pointer\" ? dragUi.node : settle === null || settle === void 0 ? void 0 : settle.node;\n var overlayHasChildren = ((_ref8 = overlayNode === null || overlayNode === void 0 ? void 0 : (_overlayNode_children = overlayNode.children) === null || _overlayNode_children === void 0 ? void 0 : _overlayNode_children.length) !== null && _ref8 !== void 0 ? _ref8 : 0) > 0;\n var handleOutset = Math.max(0, (import_theme.MIN_PRESS_TARGET - estimateSize) / 2);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.YStack, {\n ...knobProps.containerRadius,\n overflow: \"hidden\",\n ...stackProps,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.View, {\n ref: containerRef,\n role: \"tree\",\n \"aria-label\": resolvedAriaLabel,\n \"data-nested-px\": nestedPx,\n \"data-indent-step\": indentStep,\n \"data-space\": knobProps.space,\n \"data-size\": knobProps.size,\n \"data-viewport-height\": height,\n // Spec Part 3 TreeView: E-FLAT + SF-TRANSPARENT on this chromeless frame.\n \"data-elevation-class\": \"flat\",\n \"data-fill\": \"transparent\",\n \"aria-activedescendant\": effectiveFocused >= 0 ? `${treeId}-node-${effectiveFocused}` : void 0,\n tabIndex: 0,\n outlineWidth: 0,\n outlineStyle: \"none\",\n onFocus: handleContainerFocus,\n onBlur: handleContainerBlur,\n onKeyDown: handleTreeKeyDown,\n onLayout: scheduleScroll,\n ...import_tamagui.isWeb && {\n onWheel: cancelInitialScroll,\n onPointerDown: cancelInitialScroll\n },\n position: \"relative\",\n style: {\n height\n },\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_flash_list.FlashList, {\n ref: attachList,\n data: flatNodes,\n drawDistance: overscan * estimateSize,\n keyExtractor: function keyExtractor(item) {\n return item.node.id;\n },\n onLoad: function onLoad() {\n if (!scrollActive.current || !listInstance.attached) return;\n listInstance.loaded = true;\n scheduleScroll();\n },\n onCommitLayoutEffect: scheduleScroll,\n onContentSizeChange: scheduleScroll,\n onScrollBeginDrag: function onScrollBeginDrag() {\n if (scrollActive.current && listInstance.attached) cancelInitialScroll();\n },\n extraData: {\n focused: effectiveFocused,\n selectedId,\n expandedIds,\n motion,\n dragUi,\n settle,\n keyboardRing,\n collapsedSelectedAncestors\n },\n onScroll: function onScroll(e) {\n var _e_nativeEvent_contentOffset, _e_nativeEvent;\n if (!scrollActive.current || !listInstance.attached) return;\n 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;\n if (typeof y === \"number\" && Number.isFinite(y)) {\n scrollOffsetRef.current = y;\n if (dragUiRef.current) setDragScrollY(y);\n observeOffset(y, true);\n }\n scheduleScroll();\n },\n scrollEventThrottle: 16,\n renderItem: function renderItem(param2) {\n var { item, index } = param2;\n var _ref13, _ref14, _ref22;\n var _dragUi_indicator2;\n var { node, depth, hasChildren, isExpanded } = item;\n var isFocused = effectiveFocused === index;\n var isSelected = selectedId !== void 0 && selectedId === node.id;\n var leadingIcon = hasChildren && isExpanded && node.iconWhenExpanded ? node.iconWhenExpanded : node.icon ? node.icon : defaultNodeIcon(hasChildren, isExpanded, nodeIconSize);\n var containsSelected = collapsedSelectedAncestors.has(node.id);\n var groupPosition = (0, import_theme.getGroupPosition)(index, flatNodes.length);\n var labelContent = renderNode ? renderNode(node, depth) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n ...knobProps.body,\n ...knobProps.label,\n color: isSelected && onAccentLabel ? onAccentLabel : \"$color\",\n numberOfLines: 1,\n flexShrink: 1,\n children: node.label\n });\n var armed = (motion === null || motion === void 0 ? void 0 : motion.phase) === \"armed\";\n var entering = (_ref13 = motion === null || motion === void 0 ? void 0 : motion.entering.has(node.id)) !== null && _ref13 !== void 0 ? _ref13 : false;\n var delta = (_ref14 = motion === null || motion === void 0 ? void 0 : motion.deltas.get(node.id)) !== null && _ref14 !== void 0 ? _ref14 : 0;\n var rowY = armed ? entering ? ENTER_RISE_PX : delta : 0;\n var inDraggedSubtree = (_ref22 = dragUi === null || dragUi === void 0 ? void 0 : dragUi.subtree.has(node.id)) !== null && _ref22 !== void 0 ? _ref22 : false;\n var isSettleHidden = (settle === null || settle === void 0 ? void 0 : settle.hideId) === node.id;\n var isDropParent = (dragUi === null || dragUi === void 0 ? void 0 : (_dragUi_indicator2 = dragUi.indicator) === null || _dragUi_indicator2 === void 0 ? void 0 : _dragUi_indicator2.kind) === \"into\" && dragUi.indicator.parentId === node.id;\n var rowOpacity = isSettleHidden ? 0 : armed && entering ? 0 : inDraggedSubtree ? 0.4 : 1;\n var rowTransition = armed && (entering || delta !== 0) ? \"none\" : transition;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(\n import_tamagui.XStack,\n {\n ref: function ref(row) {\n if (row) renderedRows.current.add(node.id);\n else renderedRows.current.delete(node.id);\n scheduleScroll();\n },\n id: `${treeId}-node-${index}`,\n \"data-treeview-row\": node.id,\n ...isDropParent && {\n \"data-treeview-drop-parent\": \"true\"\n },\n ...isFocused && {\n \"data-focused\": true\n },\n \"data-group-position\": groupPosition,\n role: \"treeitem\",\n \"aria-expanded\": hasChildren ? isExpanded : void 0,\n \"aria-selected\": isSelected,\n \"aria-level\": depth + 1,\n \"aria-setsize\": flatNodes.length,\n \"aria-posinset\": index + 1,\n alignItems: \"center\",\n minHeight: estimateSize,\n paddingVertical: rowPad.paddingVertical,\n paddingInlineEnd: rowPad.paddingHorizontal,\n paddingInlineStart: rowPad.paddingHorizontal,\n gap: rowGap,\n cursor: \"pointer\",\n position: \"relative\",\n y: rowY,\n opacity: rowOpacity,\n transition: rowTransition,\n ...(0, import_theme.stackRadiusProps)(groupPosition, knobProps.borderRadius.borderRadius),\n onLayout: function onLayout(e) {\n var _e_nativeEvent_layout, _e_nativeEvent;\n 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;\n if (typeof h === \"number\" && h > 0) rowHeights.current.set(node.id, h);\n scheduleScroll();\n },\n backgroundColor: (\n // Nest-into parent highlight wins while a drag is active\n // (LC-42 drop-target affordance).\n isDropParent ? import_componentColors.componentColors.interactive.background : isSelected ? \"$accentBackground\" : containsSelected ? import_componentColors.componentColors.interactive.background : \"transparent\"\n ),\n // Row hover/press come from the knob state recipes (A-STATE);\n // selection tint stays sticky underneath them. Focus is the\n // ring channel (LC-71) — never a second fill.\n hoverStyle: {\n ...control.hoverKnobProps,\n ...isSelected && {\n backgroundColor: \"$accentBackground\"\n }\n },\n pressStyle: {\n ...control.pressKnobProps,\n ...isSelected && {\n backgroundColor: \"$accentBackground\"\n }\n },\n // LC-71: keyboard ring on the focused row only (activedescendant).\n // Selected is fill above; selected + keyboard-focused = both.\n ...isFocused && keyboardRing ? import_theme.keyboardFocusRingProps : {\n outlineWidth: 0\n },\n onPress: function onPress() {\n if (suppressClickRef.current) return;\n setKeyboardRing(false);\n setFocusedIndex(index);\n if (hasChildren) toggleNode(node);\n onNodeSelect === null || onNodeSelect === void 0 ? void 0 : onNodeSelect(node);\n },\n children: [\n depth > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n width: depth * indentStep,\n flexShrink: 0,\n alignSelf: \"stretch\",\n position: \"relative\",\n pointerEvents: \"none\",\n children: Array.from({\n length: depth\n }, function(_, guide) {\n var inset = guide * indentStep + expandIconSize / 2;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n position: \"absolute\",\n top: 0,\n bottom: 0,\n ...import_theme.hairline.vline,\n pointerEvents: \"none\",\n backgroundColor: isSelected ? \"$color1\" : \"$borderColor\",\n opacity: isSelected ? 0.35 : 0.5,\n ...isRTL ? {\n right: inset\n } : {\n left: inset\n }\n }, `guide-${guide}`);\n })\n }) : null,\n showExpansionArrows ? hasChildren ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n ...knobProps.controlIcon,\n alignItems: \"center\",\n justifyContent: \"center\",\n pointerEvents: \"none\",\n // Indicator only — the row is the toggle target. One\n // caret that rotates (transform, knob tween) instead of\n // an icon swap, so the state change is continuous.\n rotate: isExpanded ? expandedCaretRotation : \"0deg\",\n transition,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CollapsedCaretIcon, {\n size: caretSize,\n weight: \"bold\"\n })\n }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n ...knobProps.controlIcon\n }) : null,\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n ...knobProps.controlIcon,\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n children: leadingIcon\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n flex: 1,\n minWidth: 0,\n justifyContent: \"center\",\n children: labelContent\n }),\n canReorder ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DragHandleTarget, {\n \"data-treeview-handle\": node.id,\n role: \"button\",\n \"aria-label\": t(\"Drag {{label}} to reorder\", {\n label: node.label\n }),\n tabIndex: -1,\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n minWidth: import_theme.MIN_PRESS_TARGET,\n minHeight: import_theme.MIN_PRESS_TARGET,\n marginVertical: -handleOutset,\n hitSlop: (0, import_theme.pressTargetHitSlop)(caretSize),\n cursor: \"grab\",\n opacity: 0.45,\n transition,\n hoverStyle: {\n opacity: 1\n },\n onPress: function onPress(e) {\n var _e_stopPropagation;\n return e === null || e === void 0 ? void 0 : (_e_stopPropagation = e.stopPropagation) === null || _e_stopPropagation === void 0 ? void 0 : _e_stopPropagation.call(e);\n },\n onPointerDown: function onPointerDown(e) {\n return handleDragHandlePointerDown(item, e);\n },\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.DotsSixVerticalIcon, {\n size: caretSize,\n weight: \"bold\",\n color: knobProps.textAccentColor\n })\n }) : null\n ]\n },\n // Remount when a recycled cell switches nodes so state fills\n // and the caret never tween across two different rows.\n node.id\n );\n }\n }),\n (dragUi === null || dragUi === void 0 ? void 0 : (_dragUi_indicator = dragUi.indicator) === null || _dragUi_indicator === void 0 ? void 0 : _dragUi_indicator.kind) === \"line\" && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n \"data-treeview-drop-indicator\": \"line\",\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n y: topOfFlatIndex(dragUi.indicator.flatIndex) - dragScrollY - 1,\n height: 2,\n paddingInlineStart: rowPad.paddingHorizontal,\n paddingInlineEnd: rowPad.paddingHorizontal,\n pointerEvents: \"none\",\n zIndex: 999,\n transition: dragUi.mode === \"keyboard\" ? transition : \"none\",\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n width: dragUi.indicator.depth * indentStep,\n flexShrink: 0\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n flex: 1,\n height: 2,\n borderRadius: 1,\n backgroundColor: \"$accentBackground\"\n })\n ]\n }),\n /* Ghost overlay: clone of the dragged row outside the virtualized\n list. Pointer mode tracks 1:1 with no tween; the drop/cancel\n settle leap tweens with the animation knob (LC-42). */\n overlayNode !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n \"data-treeview-overlay\": \"true\",\n \"data-treeview-overlay-phase\": dragUi ? \"pointer\" : \"settling\",\n position: \"absolute\",\n top: 0,\n left: 0,\n x: (_ref9 = (dragUi === null || dragUi === void 0 ? void 0 : dragUi.mode) === \"pointer\" ? (_dragUi_ghost = dragUi.ghost) === null || _dragUi_ghost === void 0 ? void 0 : _dragUi_ghost.x : settle === null || settle === void 0 ? void 0 : settle.to.x) !== null && _ref9 !== void 0 ? _ref9 : 0,\n y: (_ref10 = (dragUi === null || dragUi === void 0 ? void 0 : dragUi.mode) === \"pointer\" ? (_dragUi_ghost1 = dragUi.ghost) === null || _dragUi_ghost1 === void 0 ? void 0 : _dragUi_ghost1.y : settle === null || settle === void 0 ? void 0 : settle.to.y) !== null && _ref10 !== void 0 ? _ref10 : 0,\n width: (_ref11 = dragUi === null || dragUi === void 0 ? void 0 : dragUi.width) !== null && _ref11 !== void 0 ? _ref11 : settle === null || settle === void 0 ? void 0 : settle.width,\n height: (_ref12 = dragUi === null || dragUi === void 0 ? void 0 : dragUi.height) !== null && _ref12 !== void 0 ? _ref12 : settle === null || settle === void 0 ? void 0 : settle.height,\n pointerEvents: \"none\",\n zIndex: 1e3,\n transition: dragUi ? \"none\" : transition,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {\n alignItems: \"center\",\n height: \"100%\",\n paddingHorizontal: rowPad.paddingHorizontal,\n gap: rowGap,\n ...knobProps.borderRadius,\n backgroundColor: \"$background\",\n borderWidth: 1,\n borderColor: \"$borderColor\",\n overflow: \"hidden\",\n transition,\n enterStyle: {\n scale: 1\n },\n scale: dragUi ? 1.03 : 1,\n ...dragUi ? LIFT_SHADOW : void 0,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n ...knobProps.controlIcon,\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n children: (_overlayNode_icon = overlayNode.icon) !== null && _overlayNode_icon !== void 0 ? _overlayNode_icon : defaultNodeIcon(overlayHasChildren, false, nodeIconSize)\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n ...knobProps.body,\n ...knobProps.label,\n color: \"$color\",\n numberOfLines: 1,\n flexShrink: 1,\n children: overlayNode.label\n })\n ]\n })\n }),\n /* Screen-reader drag announcements (WAI-ARIA drag pattern, LC-43). */\n canReorder && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.View, {\n \"aria-live\": \"assertive\",\n \"aria-atomic\": true,\n \"data-treeview-announcer\": \"true\",\n position: \"absolute\",\n width: 1,\n height: 1,\n overflow: \"hidden\",\n opacity: 0,\n pointerEvents: \"none\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_tamagui.Text, {\n children: announcement\n })\n })\n ]\n })\n });\n}\n//# sourceMappingURL=TreeView.js.map\n"],"mappings":"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","ignoreList":[]}