@multiplatform.one/components 7.10.0 → 7.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. package/README.md +100 -2
  2. package/dist/cjs/Accordion/index.cjs +2 -6
  3. package/dist/cjs/Accordion/index.native.js +2 -6
  4. package/dist/cjs/Accordion/index.native.js.map +1 -1
  5. package/dist/cjs/AnimateHeight/index.cjs +1 -3
  6. package/dist/cjs/AnimateHeight/index.native.js +1 -3
  7. package/dist/cjs/AnimateHeight/index.native.js.map +1 -1
  8. package/dist/cjs/Chip/index.cjs +8 -1
  9. package/dist/cjs/Chip/index.native.js +8 -1
  10. package/dist/cjs/Chip/index.native.js.map +1 -1
  11. package/dist/cjs/SheetModal/index.cjs +22 -3
  12. package/dist/cjs/SheetModal/index.native.js +115 -27
  13. package/dist/cjs/SheetModal/index.native.js.map +1 -1
  14. package/dist/cjs/Tabs/index.cjs +35 -18
  15. package/dist/cjs/Tabs/index.native.js +39 -18
  16. package/dist/cjs/Tabs/index.native.js.map +1 -1
  17. package/dist/cjs/Text.cjs +2 -0
  18. package/dist/cjs/Text.native.js +2 -0
  19. package/dist/cjs/Text.native.js.map +1 -1
  20. package/dist/cjs/TreeSelect/index.cjs +55 -52
  21. package/dist/cjs/TreeSelect/index.native.js +55 -52
  22. package/dist/cjs/TreeSelect/index.native.js.map +1 -1
  23. package/dist/cjs/Video/PlayerChrome.cjs +3 -9
  24. package/dist/cjs/Video/PlayerChrome.native.js +3 -9
  25. package/dist/cjs/Video/PlayerChrome.native.js.map +1 -1
  26. package/dist/cjs/code/Code/index.cjs +6 -0
  27. package/dist/cjs/code/Code/index.native.js +7 -4
  28. package/dist/cjs/code/Code/index.native.js.map +1 -1
  29. package/dist/cjs/code/CodeBlock/index.cjs +4 -5
  30. package/dist/cjs/code/CodeBlock/index.native.js +4 -5
  31. package/dist/cjs/code/CodeBlock/index.native.js.map +1 -1
  32. package/dist/cjs/icons/themed.cjs +2 -1
  33. package/dist/cjs/icons/themed.native.js +2 -1
  34. package/dist/cjs/icons/themed.native.js.map +1 -1
  35. package/dist/cjs/knobImmuneExports.cjs +3 -3
  36. package/dist/cjs/knobImmuneExports.native.js +3 -3
  37. package/dist/cjs/layouts/PaneScaffold.cjs +70 -42
  38. package/dist/cjs/layouts/PaneScaffold.native.js +75 -48
  39. package/dist/cjs/layouts/PaneScaffold.native.js.map +1 -1
  40. package/dist/cjs/layouts/page.cjs +2 -1
  41. package/dist/cjs/layouts/page.native.js +2 -1
  42. package/dist/cjs/layouts/page.native.js.map +1 -1
  43. package/dist/cjs/layouts/sidebar.cjs +1 -3
  44. package/dist/cjs/layouts/sidebar.native.js +1 -3
  45. package/dist/cjs/layouts/sidebar.native.js.map +1 -1
  46. package/dist/cjs/layouts/tags.native.js.map +1 -1
  47. package/dist/cjs/surfaces.cjs +0 -32
  48. package/dist/cjs/surfaces.native.js +0 -32
  49. package/dist/cjs/surfaces.native.js.map +1 -1
  50. package/dist/cjs/views/List.cjs +1 -3
  51. package/dist/cjs/views/List.native.js +1 -3
  52. package/dist/cjs/views/List.native.js.map +1 -1
  53. package/dist/cjs/views/Matrix.cjs +568 -0
  54. package/dist/cjs/views/Matrix.native.js +612 -0
  55. package/dist/cjs/views/Matrix.native.js.map +1 -0
  56. package/dist/cjs/views/TreeView.cjs +175 -43
  57. package/dist/cjs/views/TreeView.native.js +181 -46
  58. package/dist/cjs/views/TreeView.native.js.map +1 -1
  59. package/dist/cjs/views/ganttMath.cjs +2 -0
  60. package/dist/cjs/views/ganttMath.native.js +2 -0
  61. package/dist/cjs/views/ganttMath.native.js.map +1 -1
  62. package/dist/cjs/views/index.cjs +16 -0
  63. package/dist/cjs/views/index.native.js +16 -0
  64. package/dist/cjs/views/index.native.js.map +1 -1
  65. package/dist/cjs/views/matrixMath.cjs +157 -0
  66. package/dist/cjs/views/matrixMath.native.js +229 -0
  67. package/dist/cjs/views/matrixMath.native.js.map +1 -0
  68. package/dist/esm/Accordion/index.mjs +3 -7
  69. package/dist/esm/Accordion/index.mjs.map +1 -1
  70. package/dist/esm/Accordion/index.native.js +3 -7
  71. package/dist/esm/Accordion/index.native.js.map +1 -1
  72. package/dist/esm/AnimateHeight/index.mjs +2 -4
  73. package/dist/esm/AnimateHeight/index.mjs.map +1 -1
  74. package/dist/esm/AnimateHeight/index.native.js +2 -4
  75. package/dist/esm/AnimateHeight/index.native.js.map +1 -1
  76. package/dist/esm/Avatar/getInitials.native.js.map +1 -1
  77. package/dist/esm/Avatar/index.native.js.map +1 -1
  78. package/dist/esm/Badge/index.native.js.map +1 -1
  79. package/dist/esm/Button.native.js.map +1 -1
  80. package/dist/esm/Carousel/index.native.js.map +1 -1
  81. package/dist/esm/Chip/index.mjs +9 -2
  82. package/dist/esm/Chip/index.mjs.map +1 -1
  83. package/dist/esm/Chip/index.native.js +9 -2
  84. package/dist/esm/Chip/index.native.js.map +1 -1
  85. package/dist/esm/Collapsible.native.js.map +1 -1
  86. package/dist/esm/ContextMenu/index.native.js.map +1 -1
  87. package/dist/esm/CopyField/index.native.js.map +1 -1
  88. package/dist/esm/DotIndicator/index.native.js.map +1 -1
  89. package/dist/esm/DropdownMenu/index.native.js.map +1 -1
  90. package/dist/esm/ErrorBoundary/index.native.js.map +1 -1
  91. package/dist/esm/Heading.native.js.map +1 -1
  92. package/dist/esm/Meter/index.native.js.map +1 -1
  93. package/dist/esm/Meter/meter.native.js.map +1 -1
  94. package/dist/esm/Pagination.native.js.map +1 -1
  95. package/dist/esm/ProgressSteps/index.native.js.map +1 -1
  96. package/dist/esm/Quote/index.native.js.map +1 -1
  97. package/dist/esm/Separator/index.native.js.map +1 -1
  98. package/dist/esm/SheetModal/detents.native.js.map +1 -1
  99. package/dist/esm/SheetModal/index.mjs +22 -3
  100. package/dist/esm/SheetModal/index.mjs.map +1 -1
  101. package/dist/esm/SheetModal/index.native.js +117 -29
  102. package/dist/esm/SheetModal/index.native.js.map +1 -1
  103. package/dist/esm/Skeleton/index.native.js.map +1 -1
  104. package/dist/esm/SkipLink/index.native.js.map +1 -1
  105. package/dist/esm/SortableList/SortableHandle.native.js.map +1 -1
  106. package/dist/esm/SortableList/index.native.js.map +1 -1
  107. package/dist/esm/SortableList/useSortableRows.native.js.map +1 -1
  108. package/dist/esm/Tabs/index.mjs +36 -19
  109. package/dist/esm/Tabs/index.mjs.map +1 -1
  110. package/dist/esm/Tabs/index.native.js +40 -19
  111. package/dist/esm/Tabs/index.native.js.map +1 -1
  112. package/dist/esm/Text.mjs +3 -1
  113. package/dist/esm/Text.mjs.map +1 -1
  114. package/dist/esm/Text.native.js +3 -1
  115. package/dist/esm/Text.native.js.map +1 -1
  116. package/dist/esm/Toast/index.native.js.map +1 -1
  117. package/dist/esm/Toast/store.native.js.map +1 -1
  118. package/dist/esm/Tooltip/nativePress.native.js.map +1 -1
  119. package/dist/esm/Tooltip/tooltipShared.native.js.map +1 -1
  120. package/dist/esm/TreeSelect/index.mjs +56 -53
  121. package/dist/esm/TreeSelect/index.mjs.map +1 -1
  122. package/dist/esm/TreeSelect/index.native.js +56 -53
  123. package/dist/esm/TreeSelect/index.native.js.map +1 -1
  124. package/dist/esm/TreeSelect/treeSelectModel.native.js.map +1 -1
  125. package/dist/esm/Video/PlayerChrome.mjs +4 -10
  126. package/dist/esm/Video/PlayerChrome.mjs.map +1 -1
  127. package/dist/esm/Video/PlayerChrome.native.js +4 -10
  128. package/dist/esm/Video/PlayerChrome.native.js.map +1 -1
  129. package/dist/esm/Video/VideoFrame.native.js.map +1 -1
  130. package/dist/esm/Video/types.native.js.map +1 -1
  131. package/dist/esm/Wheel/index.native.js.map +1 -1
  132. package/dist/esm/Wizard/index.native.js.map +1 -1
  133. package/dist/esm/actions/ActionBar.native.js.map +1 -1
  134. package/dist/esm/actions/DestructiveAction.native.js.map +1 -1
  135. package/dist/esm/actions/devWarn.native.js.map +1 -1
  136. package/dist/esm/actions/index.native.js.map +1 -1
  137. package/dist/esm/actions/severity.native.js.map +1 -1
  138. package/dist/esm/charts/Axis.native.js.map +1 -1
  139. package/dist/esm/charts/BarChart.native.js.map +1 -1
  140. package/dist/esm/charts/ChartDataView.native.js.map +1 -1
  141. package/dist/esm/charts/ChartSurface.native.js.map +1 -1
  142. package/dist/esm/charts/LineChart.native.js.map +1 -1
  143. package/dist/esm/charts/PieChart.native.js.map +1 -1
  144. package/dist/esm/charts/Sparkline.native.js.map +1 -1
  145. package/dist/esm/charts/accessibility.native.js.map +1 -1
  146. package/dist/esm/charts/composeChart.native.js.map +1 -1
  147. package/dist/esm/charts/index.native.js.map +1 -1
  148. package/dist/esm/charts/math.native.js.map +1 -1
  149. package/dist/esm/charts/series.native.js.map +1 -1
  150. package/dist/esm/charts/svg.native.js.map +1 -1
  151. package/dist/esm/charts/types.native.js.map +1 -1
  152. package/dist/esm/charts/useChartTheme.native.js.map +1 -1
  153. package/dist/esm/code/Code/index.mjs +6 -0
  154. package/dist/esm/code/Code/index.mjs.map +1 -1
  155. package/dist/esm/code/Code/index.native.js +10 -7
  156. package/dist/esm/code/Code/index.native.js.map +1 -1
  157. package/dist/esm/code/CodeBlock/index.mjs +5 -6
  158. package/dist/esm/code/CodeBlock/index.mjs.map +1 -1
  159. package/dist/esm/code/CodeBlock/index.native.js +5 -6
  160. package/dist/esm/code/CodeBlock/index.native.js.map +1 -1
  161. package/dist/esm/code/HighlightedCode/index.native.js.map +1 -1
  162. package/dist/esm/code/Highlighter/index.native.js.map +1 -1
  163. package/dist/esm/code/Pre/index.native.js.map +1 -1
  164. package/dist/esm/code/index.native.js.map +1 -1
  165. package/dist/esm/componentColors.native.js.map +1 -1
  166. package/dist/esm/feedback/ConfirmDialog.native.js.map +1 -1
  167. package/dist/esm/feedback/NotifyHost.native.js.map +1 -1
  168. package/dist/esm/feedback/copy.native.js.map +1 -1
  169. package/dist/esm/feedback/index.native.js.map +1 -1
  170. package/dist/esm/feedback/notify.native.js.map +1 -1
  171. package/dist/esm/feedback/route.native.js.map +1 -1
  172. package/dist/esm/feedback/store.native.js.map +1 -1
  173. package/dist/esm/hooks/index.native.js.map +1 -1
  174. package/dist/esm/hooks/useClipboard.native.js.map +1 -1
  175. package/dist/esm/hooks/useDocumentTitle.native.js.map +1 -1
  176. package/dist/esm/icons/CheckRegular.native.js.map +1 -1
  177. package/dist/esm/icons/MinusRegular.native.js.map +1 -1
  178. package/dist/esm/icons/index.native.js.map +1 -1
  179. package/dist/esm/icons/lucide.native.js.map +1 -1
  180. package/dist/esm/icons/themed.mjs +3 -2
  181. package/dist/esm/icons/themed.mjs.map +1 -1
  182. package/dist/esm/icons/themed.native.js +3 -2
  183. package/dist/esm/icons/themed.native.js.map +1 -1
  184. package/dist/esm/images/Image/ImageFrame.native.js.map +1 -1
  185. package/dist/esm/images/Image/shared.native.js.map +1 -1
  186. package/dist/esm/images/Image/types.native.js.map +1 -1
  187. package/dist/esm/images/index.native.js.map +1 -1
  188. package/dist/esm/index.native.js.map +1 -1
  189. package/dist/esm/knobImmuneExports.mjs +3 -3
  190. package/dist/esm/knobImmuneExports.native.js +3 -3
  191. package/dist/esm/knobImmuneExports.native.js.map +1 -1
  192. package/dist/esm/layouts/AsyncBoundary.native.js.map +1 -1
  193. package/dist/esm/layouts/Debug/index.native.js.map +1 -1
  194. package/dist/esm/layouts/EmptyState.native.js.map +1 -1
  195. package/dist/esm/layouts/KeyboardAvoidingWrapper/behavior.native.js.map +1 -1
  196. package/dist/esm/layouts/PageTemplates.native.js.map +1 -1
  197. package/dist/esm/layouts/PaneScaffold.mjs +70 -42
  198. package/dist/esm/layouts/PaneScaffold.mjs.map +1 -1
  199. package/dist/esm/layouts/PaneScaffold.native.js +75 -48
  200. package/dist/esm/layouts/PaneScaffold.native.js.map +1 -1
  201. package/dist/esm/layouts/SafeAreaWrapper/insets.native.js.map +1 -1
  202. package/dist/esm/layouts/ViewSwitcher.native.js.map +1 -1
  203. package/dist/esm/layouts/attachments.native.js.map +1 -1
  204. package/dist/esm/layouts/breadcrumbs.native.js.map +1 -1
  205. package/dist/esm/layouts/index.native.js.map +1 -1
  206. package/dist/esm/layouts/page.mjs +3 -2
  207. package/dist/esm/layouts/page.mjs.map +1 -1
  208. package/dist/esm/layouts/page.native.js +3 -2
  209. package/dist/esm/layouts/page.native.js.map +1 -1
  210. package/dist/esm/layouts/pageHeadingScope.native.js.map +1 -1
  211. package/dist/esm/layouts/sidebar.mjs +2 -4
  212. package/dist/esm/layouts/sidebar.mjs.map +1 -1
  213. package/dist/esm/layouts/sidebar.native.js +2 -4
  214. package/dist/esm/layouts/sidebar.native.js.map +1 -1
  215. package/dist/esm/layouts/tags.mjs.map +1 -1
  216. package/dist/esm/layouts/tags.native.js.map +1 -1
  217. package/dist/esm/layouts/timeline.native.js.map +1 -1
  218. package/dist/esm/layouts/toolbar.native.js.map +1 -1
  219. package/dist/esm/shared/actionScan.native.js.map +1 -1
  220. package/dist/esm/shared/i18n.native.js.map +1 -1
  221. package/dist/esm/shared/t.native.js.map +1 -1
  222. package/dist/esm/shared/textRidesText.native.js.map +1 -1
  223. package/dist/esm/shared/useReturnFocusOnClose.native.js.map +1 -1
  224. package/dist/esm/surfaces.mjs +1 -33
  225. package/dist/esm/surfaces.mjs.map +1 -1
  226. package/dist/esm/surfaces.native.js +1 -33
  227. package/dist/esm/surfaces.native.js.map +1 -1
  228. package/dist/esm/tamagui.native.js.map +1 -1
  229. package/dist/esm/testSetup.native.js.map +1 -1
  230. package/dist/esm/utils/setTinted.native.js.map +1 -1
  231. package/dist/esm/utils/unwrapText.native.js.map +1 -1
  232. package/dist/esm/views/Calendar.native.js.map +1 -1
  233. package/dist/esm/views/Dashboard.native.js.map +1 -1
  234. package/dist/esm/views/Gantt.native.js.map +1 -1
  235. package/dist/esm/views/ImageGrid.native.js.map +1 -1
  236. package/dist/esm/views/List.mjs +2 -4
  237. package/dist/esm/views/List.mjs.map +1 -1
  238. package/dist/esm/views/List.native.js +2 -4
  239. package/dist/esm/views/List.native.js.map +1 -1
  240. package/dist/esm/views/Matrix.mjs +543 -0
  241. package/dist/esm/views/Matrix.mjs.map +1 -0
  242. package/dist/esm/views/Matrix.native.js +573 -0
  243. package/dist/esm/views/Matrix.native.js.map +1 -0
  244. package/dist/esm/views/ReportBuilder.native.js.map +1 -1
  245. package/dist/esm/views/TreeView.mjs +175 -43
  246. package/dist/esm/views/TreeView.mjs.map +1 -1
  247. package/dist/esm/views/TreeView.native.js +181 -46
  248. package/dist/esm/views/TreeView.native.js.map +1 -1
  249. package/dist/esm/views/calendarMath.native.js.map +1 -1
  250. package/dist/esm/views/ganttMath.mjs +1 -1
  251. package/dist/esm/views/ganttMath.mjs.map +1 -1
  252. package/dist/esm/views/ganttMath.native.js +1 -1
  253. package/dist/esm/views/ganttMath.native.js.map +1 -1
  254. package/dist/esm/views/index.mjs +4 -2
  255. package/dist/esm/views/index.mjs.map +1 -1
  256. package/dist/esm/views/index.native.js +4 -2
  257. package/dist/esm/views/index.native.js.map +1 -1
  258. package/dist/esm/views/kanbanDnd.native.js.map +1 -1
  259. package/dist/esm/views/matrixMath.mjs +122 -0
  260. package/dist/esm/views/matrixMath.mjs.map +1 -0
  261. package/dist/esm/views/matrixMath.native.js +191 -0
  262. package/dist/esm/views/matrixMath.native.js.map +1 -0
  263. package/dist/esm/views/treeViewDnd.native.js.map +1 -1
  264. package/dist/esm/views/treeViewLayout.native.js.map +1 -1
  265. package/dist/esm/views/treeViewMotion.native.js.map +1 -1
  266. package/dist/esm/views/treeViewReveal.native.js.map +1 -1
  267. package/dist/jsx/Accordion/index.mjs +3 -7
  268. package/dist/jsx/Accordion/index.mjs.map +1 -1
  269. package/dist/jsx/Accordion/index.native.js +2 -6
  270. package/dist/jsx/Accordion/index.native.js.map +1 -1
  271. package/dist/jsx/AnimateHeight/index.mjs +2 -4
  272. package/dist/jsx/AnimateHeight/index.mjs.map +1 -1
  273. package/dist/jsx/AnimateHeight/index.native.js +1 -3
  274. package/dist/jsx/AnimateHeight/index.native.js.map +1 -1
  275. package/dist/jsx/Chip/index.mjs +9 -2
  276. package/dist/jsx/Chip/index.mjs.map +1 -1
  277. package/dist/jsx/Chip/index.native.js +8 -1
  278. package/dist/jsx/Chip/index.native.js.map +1 -1
  279. package/dist/jsx/SheetModal/index.mjs +22 -3
  280. package/dist/jsx/SheetModal/index.mjs.map +1 -1
  281. package/dist/jsx/SheetModal/index.native.js +115 -27
  282. package/dist/jsx/SheetModal/index.native.js.map +1 -1
  283. package/dist/jsx/Tabs/index.mjs +36 -19
  284. package/dist/jsx/Tabs/index.mjs.map +1 -1
  285. package/dist/jsx/Tabs/index.native.js +39 -18
  286. package/dist/jsx/Tabs/index.native.js.map +1 -1
  287. package/dist/jsx/Text.mjs +3 -1
  288. package/dist/jsx/Text.mjs.map +1 -1
  289. package/dist/jsx/Text.native.js +2 -0
  290. package/dist/jsx/Text.native.js.map +1 -1
  291. package/dist/jsx/TreeSelect/index.mjs +56 -53
  292. package/dist/jsx/TreeSelect/index.mjs.map +1 -1
  293. package/dist/jsx/TreeSelect/index.native.js +55 -52
  294. package/dist/jsx/TreeSelect/index.native.js.map +1 -1
  295. package/dist/jsx/Video/PlayerChrome.mjs +4 -10
  296. package/dist/jsx/Video/PlayerChrome.mjs.map +1 -1
  297. package/dist/jsx/Video/PlayerChrome.native.js +3 -9
  298. package/dist/jsx/Video/PlayerChrome.native.js.map +1 -1
  299. package/dist/jsx/code/Code/index.mjs +6 -0
  300. package/dist/jsx/code/Code/index.mjs.map +1 -1
  301. package/dist/jsx/code/Code/index.native.js +7 -4
  302. package/dist/jsx/code/Code/index.native.js.map +1 -1
  303. package/dist/jsx/code/CodeBlock/index.mjs +5 -6
  304. package/dist/jsx/code/CodeBlock/index.mjs.map +1 -1
  305. package/dist/jsx/code/CodeBlock/index.native.js +4 -5
  306. package/dist/jsx/code/CodeBlock/index.native.js.map +1 -1
  307. package/dist/jsx/icons/themed.mjs +3 -2
  308. package/dist/jsx/icons/themed.mjs.map +1 -1
  309. package/dist/jsx/icons/themed.native.js +2 -1
  310. package/dist/jsx/icons/themed.native.js.map +1 -1
  311. package/dist/jsx/knobImmuneExports.mjs +3 -3
  312. package/dist/jsx/knobImmuneExports.native.js +3 -3
  313. package/dist/jsx/layouts/PaneScaffold.mjs +70 -42
  314. package/dist/jsx/layouts/PaneScaffold.mjs.map +1 -1
  315. package/dist/jsx/layouts/PaneScaffold.native.js +75 -48
  316. package/dist/jsx/layouts/PaneScaffold.native.js.map +1 -1
  317. package/dist/jsx/layouts/page.mjs +3 -2
  318. package/dist/jsx/layouts/page.mjs.map +1 -1
  319. package/dist/jsx/layouts/page.native.js +2 -1
  320. package/dist/jsx/layouts/page.native.js.map +1 -1
  321. package/dist/jsx/layouts/sidebar.mjs +2 -4
  322. package/dist/jsx/layouts/sidebar.mjs.map +1 -1
  323. package/dist/jsx/layouts/sidebar.native.js +1 -3
  324. package/dist/jsx/layouts/sidebar.native.js.map +1 -1
  325. package/dist/jsx/layouts/tags.mjs.map +1 -1
  326. package/dist/jsx/layouts/tags.native.js.map +1 -1
  327. package/dist/jsx/surfaces.mjs +1 -33
  328. package/dist/jsx/surfaces.mjs.map +1 -1
  329. package/dist/jsx/surfaces.native.js +0 -32
  330. package/dist/jsx/surfaces.native.js.map +1 -1
  331. package/dist/jsx/views/List.mjs +2 -4
  332. package/dist/jsx/views/List.mjs.map +1 -1
  333. package/dist/jsx/views/List.native.js +1 -3
  334. package/dist/jsx/views/List.native.js.map +1 -1
  335. package/dist/jsx/views/Matrix.mjs +543 -0
  336. package/dist/jsx/views/Matrix.mjs.map +1 -0
  337. package/dist/jsx/views/Matrix.native.js +612 -0
  338. package/dist/jsx/views/Matrix.native.js.map +1 -0
  339. package/dist/jsx/views/TreeView.mjs +175 -43
  340. package/dist/jsx/views/TreeView.mjs.map +1 -1
  341. package/dist/jsx/views/TreeView.native.js +181 -46
  342. package/dist/jsx/views/TreeView.native.js.map +1 -1
  343. package/dist/jsx/views/ganttMath.mjs +1 -1
  344. package/dist/jsx/views/ganttMath.mjs.map +1 -1
  345. package/dist/jsx/views/ganttMath.native.js +2 -0
  346. package/dist/jsx/views/ganttMath.native.js.map +1 -1
  347. package/dist/jsx/views/index.mjs +4 -2
  348. package/dist/jsx/views/index.mjs.map +1 -1
  349. package/dist/jsx/views/index.native.js +16 -0
  350. package/dist/jsx/views/index.native.js.map +1 -1
  351. package/dist/jsx/views/matrixMath.mjs +122 -0
  352. package/dist/jsx/views/matrixMath.mjs.map +1 -0
  353. package/dist/jsx/views/matrixMath.native.js +229 -0
  354. package/dist/jsx/views/matrixMath.native.js.map +1 -0
  355. package/package.json +12 -12
  356. package/src/Accordion/Accordion.spec.tsx +20 -0
  357. package/src/Accordion/index.tsx +8 -4
  358. package/src/AnimateHeight/index.tsx +143 -142
  359. package/src/Chip/Chip.borderLadder.spec.tsx +54 -0
  360. package/src/Chip/Chip.pressSlop.spec.tsx +57 -0
  361. package/src/Chip/index.tsx +15 -1
  362. package/src/Heading.native.spec.tsx +1 -1
  363. package/src/Separator/index.tsx +3 -3
  364. package/src/SheetModal/SheetModal.detentLayout.spec.tsx +173 -0
  365. package/src/SheetModal/SheetModal.fill.spec.tsx +147 -0
  366. package/src/SheetModal/SheetModal.ownedBody.spec.tsx +200 -0
  367. package/src/SheetModal/SheetModal.stories.spec.tsx +23 -2
  368. package/src/SheetModal/SheetModal.stories.tsx +275 -2
  369. package/src/SheetModal/SheetModal.touch.spec.tsx +63 -0
  370. package/src/SheetModal/index.native.tsx +143 -21
  371. package/src/SheetModal/index.tsx +40 -3
  372. package/src/Tabs/Tabs.hydration.spec.tsx +123 -0
  373. package/src/Tabs/Tabs.lifecycle.spec.tsx +123 -0
  374. package/src/Tabs/Tabs.measurement.spec.tsx +186 -0
  375. package/src/Tabs/Tabs.stories.tsx +43 -0
  376. package/src/Tabs/index.tsx +45 -15
  377. package/src/Text.spec.tsx +32 -2
  378. package/src/Text.tsx +7 -6
  379. package/src/Toast/Toast.spec.tsx +50 -0
  380. package/src/Tooltip/Tooltip.spec.tsx +55 -2
  381. package/src/TreeSelect/TreeSelect.spec.tsx +15 -15
  382. package/src/TreeSelect/index.tsx +53 -50
  383. package/src/Video/PlayerChrome.tsx +4 -3
  384. package/src/Wheel/Wheel.spec.tsx +4 -4
  385. package/src/adjacency.l1.spec.tsx +175 -0
  386. package/src/code/Code/code.spec.tsx +2 -19
  387. package/src/code/Code/index.tsx +0 -6
  388. package/src/code/CodeBlock/index.tsx +5 -3
  389. package/src/code/highlightedCode.spec.tsx +2 -2
  390. package/src/code/hostProps.spec.tsx +55 -0
  391. package/src/icons/themed.hydration.spec.tsx +60 -0
  392. package/src/icons/themed.tsx +3 -6
  393. package/src/knobImmuneExports.ts +3 -3
  394. package/src/layouts/PaneScaffold.spec.tsx +148 -2
  395. package/src/layouts/PaneScaffold.stories.tsx +33 -1
  396. package/src/layouts/PaneScaffold.tsx +101 -48
  397. package/src/layouts/page.designLaw.spec.tsx +20 -0
  398. package/src/layouts/page.tsx +2 -0
  399. package/src/layouts/sidebar.tsx +2 -3
  400. package/src/layouts/tags.tsx +2 -1
  401. package/src/overlayElevation.spec.tsx +39 -51
  402. package/src/surfaces.spec.tsx +13 -10
  403. package/src/surfaces.tsx +4 -33
  404. package/src/tamagui.spec.ts +4 -3
  405. package/src/textAccentSecondary.spec.tsx +100 -2
  406. package/src/views/List.tsx +2 -1
  407. package/src/views/Matrix.spec.tsx +339 -0
  408. package/src/views/Matrix.stories.spec.tsx +68 -0
  409. package/src/views/Matrix.stories.tsx +153 -0
  410. package/src/views/Matrix.tsx +738 -0
  411. package/src/views/TreeView.reveal.spec.tsx +7 -0
  412. package/src/views/TreeView.reveal.stories.tsx +134 -0
  413. package/src/views/TreeView.scroll-index.spec.tsx +246 -0
  414. package/src/views/TreeView.scroll.spec.tsx +711 -50
  415. package/src/views/TreeView.tsx +230 -49
  416. package/src/views/ganttMath.ts +4 -2
  417. package/src/views/index.ts +30 -0
  418. package/src/views/matrixMath.spec.ts +237 -0
  419. package/src/views/matrixMath.ts +251 -0
  420. package/src/views/views.spec.tsx +3 -1
  421. package/types/Accordion/index.d.ts.map +1 -1
  422. package/types/AnimateHeight/index.d.ts.map +1 -1
  423. package/types/Chip/index.d.ts.map +1 -1
  424. package/types/Separator/index.d.ts +3 -3
  425. package/types/SheetModal/index.d.ts +8 -1
  426. package/types/SheetModal/index.d.ts.map +1 -1
  427. package/types/SheetModal/index.native.d.ts +1 -1
  428. package/types/SheetModal/index.native.d.ts.map +1 -1
  429. package/types/Tabs/index.d.ts.map +1 -1
  430. package/types/Text.d.ts.map +1 -1
  431. package/types/TreeSelect/index.d.ts.map +1 -1
  432. package/types/Video/PlayerChrome.d.ts.map +1 -1
  433. package/types/code/Code/index.d.ts.map +1 -1
  434. package/types/code/CodeBlock/index.d.ts.map +1 -1
  435. package/types/icons/themed.d.ts.map +1 -1
  436. package/types/layouts/PaneScaffold.d.ts +14 -1
  437. package/types/layouts/PaneScaffold.d.ts.map +1 -1
  438. package/types/layouts/page.d.ts.map +1 -1
  439. package/types/layouts/sidebar.d.ts.map +1 -1
  440. package/types/layouts/tags.d.ts.map +1 -1
  441. package/types/surfaces.d.ts.map +1 -1
  442. package/types/views/List.d.ts.map +1 -1
  443. package/types/views/Matrix.d.ts +102 -0
  444. package/types/views/Matrix.d.ts.map +1 -0
  445. package/types/views/TreeView.d.ts +10 -1
  446. package/types/views/TreeView.d.ts.map +1 -1
  447. package/types/views/ganttMath.d.ts +4 -0
  448. package/types/views/ganttMath.d.ts.map +1 -1
  449. package/types/views/index.d.ts +3 -1
  450. package/types/views/index.d.ts.map +1 -1
  451. package/types/views/matrixMath.d.ts +114 -0
  452. package/types/views/matrixMath.d.ts.map +1 -0
@@ -30,6 +30,7 @@ module.exports = __toCommonJS(index_native_exports);
30
30
  var import_jsx_runtime = require("react/jsx-runtime");
31
31
  var import_react = require("react");
32
32
  var import_react_native = require("react-native");
33
+ var import_react_native_safe_area_context = require("react-native-safe-area-context");
33
34
  var import_theme = require("@multiplatform.one/theme");
34
35
  var import_detents = require("./detents.native.js");
35
36
  var import_i18n = require("../shared/i18n.native.js");
@@ -43,6 +44,13 @@ var dismissThreshold = 56;
43
44
  var IN_DIALOG_REGION = {
44
45
  inDialogRegion: true
45
46
  };
47
+ var fillSlot = {
48
+ flex: 1,
49
+ minHeight: 0
50
+ };
51
+ var nonShrinking = {
52
+ flexShrink: 0
53
+ };
46
54
  function SheetModal(param) {
47
55
  var {
48
56
  open,
@@ -50,8 +58,11 @@ function SheetModal(param) {
50
58
  children,
51
59
  header,
52
60
  snapPoint,
53
- scrollable
61
+ scrollable,
62
+ fill = false
54
63
  } = param;
64
+ var _ref, _ref1;
65
+ var _useContext;
55
66
  var {
56
67
  t
57
68
  } = (0, import_i18n.useTranslation)();
@@ -62,6 +73,7 @@ function SheetModal(param) {
62
73
  height: windowHeight
63
74
  } = (0, import_react_native.useWindowDimensions)();
64
75
  var keyboardInset = (0, import_useKeyboardInset.useKeyboardInset)();
76
+ var topInset = (_ref = (_ref1 = (_useContext = (0, import_react.useContext)(import_react_native_safe_area_context.SafeAreaInsetsContext)) === null || _useContext === void 0 ? void 0 : _useContext.top) !== null && _ref1 !== void 0 ? _ref1 : import_react_native_safe_area_context.initialWindowMetrics === null || import_react_native_safe_area_context.initialWindowMetrics === void 0 ? void 0 : import_react_native_safe_area_context.initialWindowMetrics.insets.top) !== null && _ref !== void 0 ? _ref : 0;
65
77
  var [backdropArmed, setBackdropArmed] = (0, import_react.useState)(false);
66
78
  var armTimerRef = (0, import_react.useRef)(null);
67
79
  var close = (0, import_react.useCallback)(function () {
@@ -71,7 +83,7 @@ function SheetModal(param) {
71
83
  if (backdropArmed) close();
72
84
  }, [backdropArmed, close]);
73
85
  var available = Math.max(0, windowHeight - keyboardInset);
74
- var maxHeight = Math.max(import_detents.minSheetHeight, Math.round(Math.min(windowHeight * sheetMaxHeightRatio, available - backdropStrip)));
86
+ var maxHeight = Math.max(import_detents.minSheetHeight, Math.round(Math.min(windowHeight * sheetMaxHeightRatio, available - topInset - backdropStrip)));
75
87
  var [measuredHeight, setMeasuredHeight] = (0, import_react.useState)(0);
76
88
  var travel = measuredHeight || maxHeight;
77
89
  var detents = (0, import_react.useMemo)(function () {
@@ -89,8 +101,38 @@ function SheetModal(param) {
89
101
  detentsRef.current = detents;
90
102
  var presentationRef = (0, import_react.useRef)(0);
91
103
  var activeRef = (0, import_react.useRef)(false);
92
- var settleTo = (0, import_react.useCallback)(function (toValue) {
104
+ var frameCap = (0, import_react.useRef)(new import_react_native.Animated.Value(maxHeight)).current;
105
+ var maxHeightRef = (0, import_react.useRef)(maxHeight);
106
+ var restHeightRef = (0, import_react.useRef)(null);
107
+ var naturalRef = (0, import_react.useRef)(0);
108
+ var filledRef = (0, import_react.useRef)(false);
109
+ (0, import_react.useLayoutEffect)(function () {
110
+ maxHeightRef.current = maxHeight;
111
+ var rest = restHeightRef.current;
112
+ frameCap.setValue(rest === null ? maxHeight : Math.min(maxHeight, rest));
113
+ if (rest !== null && naturalRef.current > 0) {
114
+ setMeasuredHeight(filledRef.current ? maxHeight : Math.min(naturalRef.current, maxHeight));
115
+ }
116
+ }, [frameCap, maxHeight]);
117
+ var restAt = (0, import_react.useCallback)(function (height) {
118
+ restHeightRef.current = height;
119
+ frameCap.setValue(Math.min(maxHeightRef.current, height));
120
+ restRef.current = 0;
121
+ translateY.setValue(0);
122
+ }, [frameCap, translateY]);
123
+ var releaseRest = (0, import_react.useCallback)(function () {
124
+ var rest = restHeightRef.current;
125
+ if (rest === null) return;
126
+ restHeightRef.current = null;
127
+ var offset = Math.max(0, travelRef.current - Math.min(maxHeightRef.current, rest));
128
+ frameCap.setValue(maxHeightRef.current);
129
+ restRef.current = offset;
130
+ translateY.setValue(offset);
131
+ }, [frameCap, translateY]);
132
+ var settleTo = (0, import_react.useCallback)(function (height) {
93
133
  var velocity = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
134
+ var presentation = presentationRef.current;
135
+ var toValue = Math.max(0, travelRef.current - height);
94
136
  restRef.current = toValue;
95
137
  import_react_native.Animated.spring(translateY, {
96
138
  toValue,
@@ -103,8 +145,14 @@ function SheetModal(param) {
103
145
  // Modal does not advance on the New Architecture, and the drag path
104
146
  // already writes this value from JS.
105
147
  useNativeDriver: false
106
- }).start();
107
- }, [translateY]);
148
+ }).start(function (param2) {
149
+ var {
150
+ finished
151
+ } = param2;
152
+ if (!finished || toValue === 0) return;
153
+ if (activeRef.current && presentation === presentationRef.current) restAt(height);
154
+ });
155
+ }, [restAt, translateY]);
108
156
  var dismiss = (0, import_react.useCallback)(function () {
109
157
  var velocity = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
110
158
  if (!activeRef.current) return;
@@ -133,10 +181,17 @@ function SheetModal(param) {
133
181
  onMoveShouldSetPanResponder: function onMoveShouldSetPanResponder(_evt, g) {
134
182
  return Math.abs(g.dy) > 2;
135
183
  },
184
+ // Lifting a rest cap can scroll the list inside, and a scroll lets
185
+ // any ancestor ScrollView the finger started under claim the touch,
186
+ // ending the drag and blurring a focused input on release.
187
+ onPanResponderTerminationRequest: function onPanResponderTerminationRequest() {
188
+ return false;
189
+ },
136
190
  onPanResponderGrant: function onPanResponderGrant() {
137
191
  translateY.stopAnimation(function (value) {
138
192
  if (typeof value === "number" && Number.isFinite(value)) restRef.current = value;
139
193
  });
194
+ releaseRest();
140
195
  },
141
196
  onPanResponderMove: function onPanResponderMove(_evt, g) {
142
197
  var next = restRef.current + g.dy;
@@ -180,13 +235,13 @@ function SheetModal(param) {
180
235
  }
181
236
  }
182
237
  }
183
- settleTo(tvl - best, g.vy);
238
+ settleTo(best, g.vy);
184
239
  },
185
240
  onPanResponderTerminate: function onPanResponderTerminate() {
186
- return settleTo(restRef.current);
241
+ return settleTo(travelRef.current - restRef.current);
187
242
  }
188
243
  });
189
- }, [dismiss, settleTo, translateY]);
244
+ }, [dismiss, releaseRest, settleTo, translateY]);
190
245
  var enteredRef = (0, import_react.useRef)(false);
191
246
  var enter = (0, import_react.useCallback)(function () {
192
247
  if (!activeRef.current || enteredRef.current) return;
@@ -216,6 +271,8 @@ function SheetModal(param) {
216
271
  (0, import_react.useEffect)(function () {
217
272
  presentationRef.current += 1;
218
273
  activeRef.current = open;
274
+ restHeightRef.current = null;
275
+ frameCap.setValue(maxHeightRef.current);
219
276
  if (open) {
220
277
  enter();
221
278
  } else {
@@ -234,7 +291,7 @@ function SheetModal(param) {
234
291
  }
235
292
  translateY.stopAnimation();
236
293
  };
237
- }, [open, enter, translateY]);
294
+ }, [open, enter, frameCap, translateY]);
238
295
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.Modal, {
239
296
  visible: open,
240
297
  transparent: true,
@@ -259,36 +316,46 @@ function SheetModal(param) {
259
316
  })
260
317
  }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.Animated.View, {
261
318
  onLayout: function onLayout(e) {
319
+ if (restHeightRef.current !== null) return;
262
320
  var h = Math.round(e.nativeEvent.layout.height);
263
- if (h > 0 && h !== measuredHeight) setMeasuredHeight(h);
321
+ if (h <= 0) return;
322
+ naturalRef.current = h;
323
+ filledRef.current = h >= maxHeightRef.current - 1;
324
+ if (h !== measuredHeight) setMeasuredHeight(h);
264
325
  },
326
+ testID: "sheet-modal-frame",
265
327
  style: {
266
328
  // MPO-64: flex children default to flexShrink 0, so without this
267
329
  // the sheet cannot give way to the keyboard.
268
330
  flexShrink: 1,
269
331
  minHeight: 0,
270
- maxHeight,
332
+ maxHeight: frameCap,
333
+ // The cap is already keyboard- and window-aware; fill only asks
334
+ // for it as a definite height rather than an upper bound.
335
+ ...(fill ? {
336
+ height: frameCap
337
+ } : null),
271
338
  transform: [{
272
339
  translateY
273
340
  }]
274
341
  },
275
342
  children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
343
+ testID: "sheet-modal-surface",
276
344
  ...knobProps.surface,
277
345
  ...knobProps.borderRadius,
278
346
  borderBottomLeftRadius: 0,
279
347
  borderBottomRightRadius: 0,
280
348
  elevation: knobProps.elevation,
281
349
  maxHeight,
350
+ flexShrink: 1,
351
+ minHeight: 0,
352
+ ...(fill ? fillSlot : null),
282
353
  paddingTop: "$2",
283
354
  paddingBottom: keyboardInset > 0 ? 8 : bottomInset,
284
355
  overflow: "hidden",
285
- outlineWidth: 0,
286
- focusStyle: {
287
- outlineWidth: 0
288
- },
289
- focusVisibleStyle: {
290
- outlineWidth: 0
291
- },
356
+ // No focus or press pseudo on this surface: on native tamagui
357
+ // turns one into a touch-responder claim, and a responder here
358
+ // takes every drag from the ScrollView inside (MPO-299).
292
359
  accessibilityViewIsModal: true,
293
360
  onAccessibilityEscape: close,
294
361
  children: [
@@ -303,11 +370,13 @@ function SheetModal(param) {
303
370
  ...panResponder.panHandlers,
304
371
  accessibilityRole: "adjustable",
305
372
  accessibilityLabel: t("Drag to resize"),
373
+ testID: "sheet-modal-grabber",
306
374
  style: {
307
375
  alignSelf: "stretch",
308
376
  alignItems: "center",
309
377
  paddingTop: 3,
310
- paddingBottom: 11
378
+ paddingBottom: 11,
379
+ ...(fill ? nonShrinking : null)
311
380
  },
312
381
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
313
382
  width: 36,
@@ -319,17 +388,36 @@ function SheetModal(param) {
319
388
  })
320
389
  }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_surfaces.DialogRegionContext.Provider, {
321
390
  value: IN_DIALOG_REGION,
322
- children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
391
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
392
+ testID: "sheet-modal-content",
323
393
  padding: knobProps.panelPadding.padding,
324
394
  gap: knobProps.gap.gap,
325
395
  flexShrink: 1,
326
- children: [header, scrollable ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.ScrollView, {
327
- style: {
328
- flexGrow: 0
329
- },
330
- keyboardShouldPersistTaps: "handled",
331
- children
332
- }) : children]
396
+ ...(fill ? fillSlot : null),
397
+ children: fill ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
398
+ children: [header ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.View, {
399
+ style: nonShrinking,
400
+ children: header
401
+ }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.View, {
402
+ testID: "sheet-modal-body",
403
+ style: fillSlot,
404
+ children: scrollable ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.ScrollView, {
405
+ testID: "sheet-modal-scroll",
406
+ style: fillSlot,
407
+ keyboardShouldPersistTaps: "handled",
408
+ children
409
+ }) : children
410
+ })]
411
+ }) : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
412
+ children: [header, scrollable ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.ScrollView, {
413
+ testID: "sheet-modal-scroll",
414
+ style: {
415
+ flexGrow: 0
416
+ },
417
+ keyboardShouldPersistTaps: "handled",
418
+ children
419
+ }) : children]
420
+ })
333
421
  })
334
422
  })]
335
423
  })
@@ -1 +1 @@
1
- {"version":3,"names":["index_native_exports","__export","SheetModal","module","exports","__toCommonJS","import_jsx_runtime","require","import_react","import_react_native","import_theme","import_detents","import_i18n","import_useKeyboardInset","import_tamagui","import_surfaces","sheetMaxHeightRatio","bottomInset","Platform","OS","backdropStrip","dismissThreshold","IN_DIALOG_REGION","inDialogRegion","param","open","onOpenChange","children","header","snapPoint","scrollable","t","useTranslation","knobProps","useResolvedKnobs","height","windowHeight","useWindowDimensions","keyboardInset","useKeyboardInset","backdropArmed","setBackdropArmed","useState","armTimerRef","useRef","close","useCallback","handleBackdropPress","available","Math","max","maxHeight","minSheetHeight","round","min","measuredHeight","setMeasuredHeight","travel","detents","useMemo","resolveSheetDetents","translateY","Animated","Value","current","restRef","travelRef","detentsRef","presentationRef","activeRef","settleTo","toValue","velocity","arguments","length","spring","damping","stiffness","mass","overshootClamping","useNativeDriver","start","dismiss","presentation","param2","finished","panResponder","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_evt","g","abs","dy","onPanResponderGrant","stopAnimation","value","Number","isFinite","onPanResponderMove","next","setValue","onPanResponderRelease","points","tvl","projected","vy","smallestRest","best","bestDelta","POSITIVE_INFINITY","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","delta","err","return","onPanResponderTerminate","enteredRef","enter","clearTimeout","setTimeout","timing","duration","easing","Easing","out","cubic","useEffect","parked","jsx","Modal","visible","transparent","animationType","statusBarTranslucent","onRequestClose","onShow","jsxs","View","style","flex","justifyContent","paddingBottom","Pressable","StyleSheet","absoluteFill","onPress","accessibilityRole","accessibilityLabel","backgroundColor","onLayout","e","h","nativeEvent","layout","flexShrink","minHeight","transform","YStack","surface","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","elevation","paddingTop","overflow","outlineWidth","focusStyle","focusVisibleStyle","accessibilityViewIsModal","onAccessibilityEscape","panHandlers","alignSelf","alignItems","width","opacity","accessible","DialogRegionContext","Provider","padding","panelPadding","gap","ScrollView","flexGrow","keyboardShouldPersistTaps"],"sources":["../../../src/SheetModal/index.native.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["index_native_exports","__export","SheetModal","module","exports","__toCommonJS","import_jsx_runtime","require","import_react","import_react_native","import_react_native_safe_area_context","import_theme","import_detents","import_i18n","import_useKeyboardInset","import_tamagui","import_surfaces","sheetMaxHeightRatio","bottomInset","Platform","OS","backdropStrip","dismissThreshold","IN_DIALOG_REGION","inDialogRegion","fillSlot","flex","minHeight","nonShrinking","flexShrink","param","open","onOpenChange","children","header","snapPoint","scrollable","fill","_ref","_ref1","_useContext","t","useTranslation","knobProps","useResolvedKnobs","height","windowHeight","useWindowDimensions","keyboardInset","useKeyboardInset","topInset","useContext","SafeAreaInsetsContext","top","initialWindowMetrics","insets","backdropArmed","setBackdropArmed","useState","armTimerRef","useRef","close","useCallback","handleBackdropPress","available","Math","max","maxHeight","minSheetHeight","round","min","measuredHeight","setMeasuredHeight","travel","detents","useMemo","resolveSheetDetents","translateY","Animated","Value","current","restRef","travelRef","detentsRef","presentationRef","activeRef","frameCap","maxHeightRef","restHeightRef","naturalRef","filledRef","useLayoutEffect","rest","setValue","restAt","releaseRest","offset","settleTo","velocity","arguments","length","presentation","toValue","spring","damping","stiffness","mass","overshootClamping","useNativeDriver","start","param2","finished","dismiss","panResponder","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_evt","g","abs","dy","onPanResponderTerminationRequest","onPanResponderGrant","stopAnimation","value","Number","isFinite","onPanResponderMove","next","onPanResponderRelease","points","tvl","projected","vy","smallestRest","best","bestDelta","POSITIVE_INFINITY","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","delta","err","return","onPanResponderTerminate","enteredRef","enter","clearTimeout","setTimeout","timing","duration","easing","Easing","out","cubic","useEffect","parked","jsx","Modal","visible","transparent","animationType","statusBarTranslucent","onRequestClose","onShow","jsxs","View","style","justifyContent","paddingBottom","Pressable","StyleSheet","absoluteFill","onPress","accessibilityRole","accessibilityLabel","backgroundColor","onLayout","e","h","nativeEvent","layout","testID","transform","YStack","surface","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","elevation","paddingTop","overflow","accessibilityViewIsModal","onAccessibilityEscape","panHandlers","alignSelf","alignItems","width","opacity","accessible","DialogRegionContext","Provider","padding","panelPadding","gap","Fragment","ScrollView","keyboardShouldPersistTaps","flexGrow"],"sources":["../../../src/SheetModal/index.native.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -57,6 +57,7 @@ function tabsOverflowFades(offset, viewport, content, direction, threshold = 4)
57
57
  };
58
58
  }
59
59
  function tabsScrollIntoViewX(layout, offset, viewport, content, direction, pad = 32) {
60
+ if (![layout.x, layout.width, layout.height, offset, viewport, content].every(Number.isFinite) || layout.width <= 0 || layout.height <= 0 || viewport <= 0 || content <= 0) return void 0;
60
61
  const range = Math.max(content - viewport, 0);
61
62
  if (range <= 0) return void 0;
62
63
  const minScrollLeft = direction === "rtl" ? -range : 0;
@@ -215,16 +216,21 @@ function TabsRoot({
215
216
  onChange?.(next);
216
217
  };
217
218
  const [activeLayout, setActiveLayout] = import_react.default.useState(null);
218
- const handleInteraction = (type, layout) => {
219
- if (type !== "select" || !layout) return;
220
- setActiveLayout(prev => prev && prev.x === layout.x && prev.y === layout.y && prev.width === layout.width && prev.height === layout.height ? prev : layout);
219
+ const handleInteraction = (tabValue, type, layout) => {
220
+ if (type !== "select" || !layout || tabValue !== currentValue) return;
221
+ setActiveLayout(prev => prev && prev.value === tabValue && prev.x === layout.x && prev.y === layout.y && prev.width === layout.width && prev.height === layout.height ? prev : {
222
+ ...layout,
223
+ value: tabValue
224
+ });
221
225
  };
222
226
  const scrollRef = import_react.default.useRef(null);
227
+ const tabRefs = import_react.default.useRef(/* @__PURE__ */new Map());
223
228
  const scrollMetrics = import_react.default.useRef({
224
229
  offset: 0,
225
230
  viewport: 0,
226
231
  content: 0
227
232
  });
233
+ const [sizeRevision, setSizeRevision] = import_react.default.useState(0);
228
234
  const [fades, setFades] = import_react.default.useState({
229
235
  left: false,
230
236
  right: false
@@ -238,25 +244,42 @@ function TabsRoot({
238
244
  const next = tabsOverflowFades(offset, viewport, content, direction);
239
245
  setFades(prev => prev.left === next.left && prev.right === next.right ? prev : next);
240
246
  };
247
+ const updateScrollSize = (dimension, size2) => {
248
+ if (!Object.is(scrollMetrics.current[dimension], size2)) {
249
+ scrollMetrics.current[dimension] = size2;
250
+ if (import_tamagui.isWeb) {
251
+ const selected = tabRefs.current.get(currentValue);
252
+ if (selected && selected.offsetWidth > 0 && selected.offsetHeight > 0) {
253
+ handleInteraction(currentValue, "select", {
254
+ x: selected.offsetLeft,
255
+ y: selected.offsetTop,
256
+ width: selected.offsetWidth,
257
+ height: selected.offsetHeight
258
+ });
259
+ }
260
+ }
261
+ setSizeRevision(current => current + 1);
262
+ }
263
+ updateFades();
264
+ };
241
265
  import_react.default.useEffect(() => {
242
- if (!activeLayout) return;
266
+ if (!activeLayout || activeLayout.value !== currentValue) return;
243
267
  const {
244
268
  offset,
245
269
  viewport,
246
270
  content
247
271
  } = scrollMetrics.current;
248
272
  const target = tabsScrollIntoViewX(activeLayout, offset, viewport, content, direction);
249
- if (target !== void 0) {
273
+ if (target !== void 0 && Math.abs(target - offset) >= 1) {
250
274
  scrollRef.current?.scrollTo({
251
275
  x: target,
252
276
  animated: true
253
277
  });
254
278
  }
255
- }, [activeLayout, direction]);
279
+ }, [activeLayout, currentValue, direction, sizeRevision]);
256
280
  const isUnderline = variant === "underline";
257
281
  const isBand = variant === "band";
258
282
  const equalDistribution = isBand || distribution === "equal";
259
- const tabRefs = import_react.default.useRef(/* @__PURE__ */new Map());
260
283
  const onTabKeyDown = (event, value2) => {
261
284
  if (!["Home", "End", "ArrowLeft", "ArrowRight"].includes(event.key)) return;
262
285
  const enabled = items.filter(item => !disabled && !item.disabled);
@@ -295,9 +318,7 @@ function TabsRoot({
295
318
  x: activeLayout.x,
296
319
  width: activeLayout.width,
297
320
  "data-tabs-indicator": "underline",
298
- ...(transition ? {
299
- transition
300
- } : void 0)
321
+ ...(0, import_theme.transitionProps)(transition)
301
322
  })
302
323
  }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Theme, {
303
324
  name: indicatorTheme,
@@ -312,9 +333,7 @@ function TabsRoot({
312
333
  ...(knobProps.elevation !== void 0 ? {
313
334
  elevation: knobProps.elevation
314
335
  } : void 0),
315
- ...(transition ? {
316
- transition
317
- } : void 0)
336
+ ...(0, import_theme.transitionProps)(transition)
318
337
  })
319
338
  }) : null;
320
339
  if (items.length === 0) return null;
@@ -382,7 +401,7 @@ function TabsRoot({
382
401
  }
383
402
  }),
384
403
  hitSlop: tabHitSlop,
385
- onInteraction: handleInteraction,
404
+ onInteraction: (type, layout) => handleInteraction(item.value, type, layout),
386
405
  cursor: isDisabled ? "not-allowed" : "pointer",
387
406
  backgroundColor: isBand ? isActive ? import_componentColors.componentColors.surface.background : isDisabled ? "transparent" : feedbackBackground : "transparent",
388
407
  borderRadius: 0,
@@ -479,12 +498,10 @@ function TabsRoot({
479
498
  updateFades();
480
499
  },
481
500
  onLayout: e => {
482
- scrollMetrics.current.viewport = e.nativeEvent.layout.width;
483
- updateFades();
501
+ updateScrollSize("viewport", e.nativeEvent.layout.width);
484
502
  },
485
503
  onContentSizeChange: w => {
486
- scrollMetrics.current.content = w;
487
- updateFades();
504
+ updateScrollSize("content", w);
488
505
  },
489
506
  children: tabList
490
507
  })
@@ -61,6 +61,7 @@ function tabsOverflowFades(offset, viewport, content, direction) {
61
61
  }
62
62
  function tabsScrollIntoViewX(layout, offset, viewport, content, direction) {
63
63
  var pad = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 32;
64
+ if (![layout.x, layout.width, layout.height, offset, viewport, content].every(Number.isFinite) || layout.width <= 0 || layout.height <= 0 || viewport <= 0 || content <= 0) return void 0;
64
65
  var range = Math.max(content - viewport, 0);
65
66
  if (range <= 0) return void 0;
66
67
  var minScrollLeft = direction === "rtl" ? -range : 0;
@@ -226,18 +227,23 @@ function TabsRoot(param) {
226
227
  onChange === null || onChange === void 0 ? void 0 : onChange(next);
227
228
  };
228
229
  var [activeLayout, setActiveLayout] = import_react.default.useState(null);
229
- var handleInteraction = function handleInteraction2(type, layout) {
230
- if (type !== "select" || !layout) return;
230
+ var handleInteraction = function handleInteraction2(tabValue, type, layout) {
231
+ if (type !== "select" || !layout || tabValue !== currentValue) return;
231
232
  setActiveLayout(function (prev) {
232
- return prev && prev.x === layout.x && prev.y === layout.y && prev.width === layout.width && prev.height === layout.height ? prev : layout;
233
+ return prev && prev.value === tabValue && prev.x === layout.x && prev.y === layout.y && prev.width === layout.width && prev.height === layout.height ? prev : {
234
+ ...layout,
235
+ value: tabValue
236
+ };
233
237
  });
234
238
  };
235
239
  var scrollRef = import_react.default.useRef(null);
240
+ var tabRefs = import_react.default.useRef(/* @__PURE__ */new Map());
236
241
  var scrollMetrics = import_react.default.useRef({
237
242
  offset: 0,
238
243
  viewport: 0,
239
244
  content: 0
240
245
  });
246
+ var [sizeRevision, setSizeRevision] = import_react.default.useState(0);
241
247
  var [fades, setFades] = import_react.default.useState({
242
248
  left: false,
243
249
  right: false
@@ -253,26 +259,45 @@ function TabsRoot(param) {
253
259
  return prev.left === next.left && prev.right === next.right ? prev : next;
254
260
  });
255
261
  };
262
+ var updateScrollSize = function updateScrollSize2(dimension, size2) {
263
+ if (!Object.is(scrollMetrics.current[dimension], size2)) {
264
+ scrollMetrics.current[dimension] = size2;
265
+ if (import_tamagui.isWeb) {
266
+ var selected = tabRefs.current.get(currentValue);
267
+ if (selected && selected.offsetWidth > 0 && selected.offsetHeight > 0) {
268
+ handleInteraction(currentValue, "select", {
269
+ x: selected.offsetLeft,
270
+ y: selected.offsetTop,
271
+ width: selected.offsetWidth,
272
+ height: selected.offsetHeight
273
+ });
274
+ }
275
+ }
276
+ setSizeRevision(function (current) {
277
+ return current + 1;
278
+ });
279
+ }
280
+ updateFades();
281
+ };
256
282
  import_react.default.useEffect(function () {
257
- if (!activeLayout) return;
283
+ if (!activeLayout || activeLayout.value !== currentValue) return;
258
284
  var {
259
285
  offset,
260
286
  viewport,
261
287
  content
262
288
  } = scrollMetrics.current;
263
289
  var target = tabsScrollIntoViewX(activeLayout, offset, viewport, content, direction);
264
- if (target !== void 0) {
290
+ if (target !== void 0 && Math.abs(target - offset) >= 1) {
265
291
  var _scrollRef_current;
266
292
  (_scrollRef_current = scrollRef.current) === null || _scrollRef_current === void 0 ? void 0 : _scrollRef_current.scrollTo({
267
293
  x: target,
268
294
  animated: true
269
295
  });
270
296
  }
271
- }, [activeLayout, direction]);
297
+ }, [activeLayout, currentValue, direction, sizeRevision]);
272
298
  var isUnderline = variant === "underline";
273
299
  var isBand = variant === "band";
274
300
  var equalDistribution = isBand || distribution === "equal";
275
- var tabRefs = import_react.default.useRef(/* @__PURE__ */new Map());
276
301
  var onTabKeyDown = function onTabKeyDown2(event, value2) {
277
302
  var _tabRefs_current_get;
278
303
  if (!["Home", "End", "ArrowLeft", "ArrowRight"].includes(event.key)) return;
@@ -318,9 +343,7 @@ function TabsRoot(param) {
318
343
  x: activeLayout.x,
319
344
  width: activeLayout.width,
320
345
  "data-tabs-indicator": "underline",
321
- ...(transition ? {
322
- transition
323
- } : void 0)
346
+ ...(0, import_theme.transitionProps)(transition)
324
347
  })
325
348
  }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Theme, {
326
349
  name: indicatorTheme,
@@ -335,9 +358,7 @@ function TabsRoot(param) {
335
358
  ...(knobProps.elevation !== void 0 ? {
336
359
  elevation: knobProps.elevation
337
360
  } : void 0),
338
- ...(transition ? {
339
- transition
340
- } : void 0)
361
+ ...(0, import_theme.transitionProps)(transition)
341
362
  })
342
363
  }) : null;
343
364
  if (items.length === 0) return null;
@@ -417,7 +438,9 @@ function TabsRoot(param) {
417
438
  }
418
439
  }),
419
440
  hitSlop: tabHitSlop,
420
- onInteraction: handleInteraction,
441
+ onInteraction: function onInteraction(type, layout) {
442
+ return handleInteraction(item.value, type, layout);
443
+ },
421
444
  cursor: isDisabled ? "not-allowed" : "pointer",
422
445
  backgroundColor: isBand ? isActive ? import_componentColors.componentColors.surface.background : isDisabled ? "transparent" : feedbackBackground : "transparent",
423
446
  borderRadius: 0,
@@ -544,12 +567,10 @@ function TabsRoot(param) {
544
567
  updateFades();
545
568
  },
546
569
  onLayout: function onLayout(e) {
547
- scrollMetrics.current.viewport = e.nativeEvent.layout.width;
548
- updateFades();
570
+ updateScrollSize("viewport", e.nativeEvent.layout.width);
549
571
  },
550
572
  onContentSizeChange: function onContentSizeChange(w) {
551
- scrollMetrics.current.content = w;
552
- updateFades();
573
+ updateScrollSize("content", w);
553
574
  },
554
575
  children: tabList
555
576
  })