@multiplatform.one/components 7.15.0 → 7.16.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 (349) hide show
  1. package/dist/cjs/Accordion/index.native.js +1 -1
  2. package/dist/cjs/Accordion/index.native.js.map +1 -1
  3. package/dist/cjs/Alert/index.native.js.map +1 -1
  4. package/dist/cjs/AnimateHeight/index.native.js.map +1 -1
  5. package/dist/cjs/Avatar/getInitials.native.js.map +1 -1
  6. package/dist/cjs/Avatar/index.native.js.map +1 -1
  7. package/dist/cjs/Badge/index.native.js.map +1 -1
  8. package/dist/cjs/Button.native.js.map +1 -1
  9. package/dist/cjs/Card.native.js.map +1 -1
  10. package/dist/cjs/CardFooter.native.js.map +1 -1
  11. package/dist/cjs/CardHeader.native.js.map +1 -1
  12. package/dist/cjs/Carousel/index.cjs +2 -1
  13. package/dist/cjs/Carousel/index.native.js +3 -2
  14. package/dist/cjs/Carousel/index.native.js.map +1 -1
  15. package/dist/cjs/Chip/index.cjs +5 -2
  16. package/dist/cjs/Chip/index.native.js +5 -2
  17. package/dist/cjs/Chip/index.native.js.map +1 -1
  18. package/dist/cjs/Collapsible.native.js.map +1 -1
  19. package/dist/cjs/ContextMenu/index.native.js.map +1 -1
  20. package/dist/cjs/CopyField/index.native.js.map +1 -1
  21. package/dist/cjs/DotIndicator/index.native.js.map +1 -1
  22. package/dist/cjs/DropdownMenu/index.native.js.map +1 -1
  23. package/dist/cjs/ErrorBoundary/index.native.js.map +1 -1
  24. package/dist/cjs/Heading.native.js.map +1 -1
  25. package/dist/cjs/Meter/index.native.js +1 -1
  26. package/dist/cjs/Meter/index.native.js.map +1 -1
  27. package/dist/cjs/Meter/meter.native.js.map +1 -1
  28. package/dist/cjs/Pagination.native.js +1 -1
  29. package/dist/cjs/Pagination.native.js.map +1 -1
  30. package/dist/cjs/ProgressSteps/index.native.js.map +1 -1
  31. package/dist/cjs/Quote/index.native.js.map +1 -1
  32. package/dist/cjs/ScrollView/index.cjs +28 -0
  33. package/dist/cjs/ScrollView/index.native.js +72 -0
  34. package/dist/cjs/ScrollView/index.native.js.map +1 -0
  35. package/dist/cjs/Separator/index.native.js.map +1 -1
  36. package/dist/cjs/SheetModal/detents.native.js.map +1 -1
  37. package/dist/cjs/Skeleton/index.cjs +1 -13
  38. package/dist/cjs/Skeleton/index.native.js +1 -13
  39. package/dist/cjs/Skeleton/index.native.js.map +1 -1
  40. package/dist/cjs/SkipLink/index.native.js.map +1 -1
  41. package/dist/cjs/SortableList/SortableHandle.native.js.map +1 -1
  42. package/dist/cjs/SortableList/index.native.js.map +1 -1
  43. package/dist/cjs/SortableList/useSortableRows.native.js.map +1 -1
  44. package/dist/cjs/Tabs/index.cjs +2 -1
  45. package/dist/cjs/Tabs/index.native.js +2 -1
  46. package/dist/cjs/Tabs/index.native.js.map +1 -1
  47. package/dist/cjs/Text.native.js.map +1 -1
  48. package/dist/cjs/Toast/index.native.js.map +1 -1
  49. package/dist/cjs/Toast/store.native.js.map +1 -1
  50. package/dist/cjs/Tooltip/nativePress.native.js.map +1 -1
  51. package/dist/cjs/Tooltip/tooltipShared.native.js.map +1 -1
  52. package/dist/cjs/TreeSelect/index.native.js +1 -1
  53. package/dist/cjs/TreeSelect/index.native.js.map +1 -1
  54. package/dist/cjs/TreeSelect/treeSelectModel.native.js.map +1 -1
  55. package/dist/cjs/Video/PlayerChrome.native.js.map +1 -1
  56. package/dist/cjs/Video/VideoFrame.native.js.map +1 -1
  57. package/dist/cjs/Video/types.native.js.map +1 -1
  58. package/dist/cjs/Wheel/index.native.js.map +1 -1
  59. package/dist/cjs/Wizard/index.native.js +2 -2
  60. package/dist/cjs/Wizard/index.native.js.map +1 -1
  61. package/dist/cjs/actions/ActionBar.native.js.map +1 -1
  62. package/dist/cjs/actions/DestructiveAction.native.js.map +1 -1
  63. package/dist/cjs/actions/devWarn.native.js.map +1 -1
  64. package/dist/cjs/actions/index.native.js.map +1 -1
  65. package/dist/cjs/actions/severity.native.js.map +1 -1
  66. package/dist/cjs/charts/Axis.native.js.map +1 -1
  67. package/dist/cjs/charts/BarChart.native.js.map +1 -1
  68. package/dist/cjs/charts/ChartDataView.native.js.map +1 -1
  69. package/dist/cjs/charts/ChartSurface.native.js.map +1 -1
  70. package/dist/cjs/charts/LineChart.native.js.map +1 -1
  71. package/dist/cjs/charts/PieChart.native.js.map +1 -1
  72. package/dist/cjs/charts/Sparkline.native.js.map +1 -1
  73. package/dist/cjs/charts/accessibility.native.js.map +1 -1
  74. package/dist/cjs/charts/composeChart.native.js.map +1 -1
  75. package/dist/cjs/charts/index.native.js.map +1 -1
  76. package/dist/cjs/charts/math.cjs +18 -0
  77. package/dist/cjs/charts/math.native.js +18 -0
  78. package/dist/cjs/charts/math.native.js.map +1 -1
  79. package/dist/cjs/charts/series.cjs +17 -8
  80. package/dist/cjs/charts/series.native.js +17 -8
  81. package/dist/cjs/charts/series.native.js.map +1 -1
  82. package/dist/cjs/charts/svg.cjs +6 -0
  83. package/dist/cjs/charts/svg.native.js +6 -0
  84. package/dist/cjs/charts/svg.native.js.map +1 -1
  85. package/dist/cjs/charts/types.native.js.map +1 -1
  86. package/dist/cjs/charts/useChartTheme.cjs +3 -9
  87. package/dist/cjs/charts/useChartTheme.native.js +4 -10
  88. package/dist/cjs/charts/useChartTheme.native.js.map +1 -1
  89. package/dist/cjs/code/Code/index.native.js.map +1 -1
  90. package/dist/cjs/code/CodeBlock/index.native.js +6 -6
  91. package/dist/cjs/code/CodeBlock/index.native.js.map +1 -1
  92. package/dist/cjs/code/HighlightedCode/index.native.js.map +1 -1
  93. package/dist/cjs/code/Highlighter/index.native.js.map +1 -1
  94. package/dist/cjs/code/Pre/index.native.js.map +1 -1
  95. package/dist/cjs/code/index.native.js +5 -5
  96. package/dist/cjs/code/index.native.js.map +1 -1
  97. package/dist/cjs/componentColors.native.js.map +1 -1
  98. package/dist/cjs/feedback/ConfirmDialog.native.js.map +1 -1
  99. package/dist/cjs/feedback/NotifyHost.native.js +2 -2
  100. package/dist/cjs/feedback/NotifyHost.native.js.map +1 -1
  101. package/dist/cjs/feedback/copy.native.js.map +1 -1
  102. package/dist/cjs/feedback/index.native.js.map +1 -1
  103. package/dist/cjs/feedback/notify.native.js.map +1 -1
  104. package/dist/cjs/feedback/route.native.js.map +1 -1
  105. package/dist/cjs/feedback/store.native.js.map +1 -1
  106. package/dist/cjs/hooks/index.native.js +1 -1
  107. package/dist/cjs/hooks/index.native.js.map +1 -1
  108. package/dist/cjs/hooks/useClipboard.native.js.map +1 -1
  109. package/dist/cjs/hooks/useDocumentTitle.native.js.map +1 -1
  110. package/dist/cjs/icons/CheckRegular.native.js.map +1 -1
  111. package/dist/cjs/icons/MinusRegular.native.js.map +1 -1
  112. package/dist/cjs/icons/index.native.js.map +1 -1
  113. package/dist/cjs/icons/lucide.native.js.map +1 -1
  114. package/dist/cjs/icons/themed.native.js.map +1 -1
  115. package/dist/cjs/images/Image/ImageFrame.native.js +1 -1
  116. package/dist/cjs/images/Image/ImageFrame.native.js.map +1 -1
  117. package/dist/cjs/images/Image/index.native.js +1 -1
  118. package/dist/cjs/images/Image/shared.native.js +1 -1
  119. package/dist/cjs/images/Image/shared.native.js.map +1 -1
  120. package/dist/cjs/images/Image/types.native.js.map +1 -1
  121. package/dist/cjs/images/index.native.js.map +1 -1
  122. package/dist/cjs/index.native.js +29 -29
  123. package/dist/cjs/index.native.js.map +1 -1
  124. package/dist/cjs/knobImmuneExports.native.js.map +1 -1
  125. package/dist/cjs/layouts/AsyncBoundary.native.js +2 -2
  126. package/dist/cjs/layouts/AsyncBoundary.native.js.map +1 -1
  127. package/dist/cjs/layouts/Debug/index.native.js.map +1 -1
  128. package/dist/cjs/layouts/EmptyState.native.js.map +1 -1
  129. package/dist/cjs/layouts/KeyboardAvoidingWrapper/behavior.native.js.map +1 -1
  130. package/dist/cjs/layouts/PageTemplates.native.js.map +1 -1
  131. package/dist/cjs/layouts/PaneScaffold.native.js.map +1 -1
  132. package/dist/cjs/layouts/SafeAreaWrapper/insets.native.js.map +1 -1
  133. package/dist/cjs/layouts/ViewSwitcher.native.js.map +1 -1
  134. package/dist/cjs/layouts/attachments.cjs +2 -1
  135. package/dist/cjs/layouts/attachments.native.js +3 -2
  136. package/dist/cjs/layouts/attachments.native.js.map +1 -1
  137. package/dist/cjs/layouts/breadcrumbs.native.js.map +1 -1
  138. package/dist/cjs/layouts/index.native.js +3 -3
  139. package/dist/cjs/layouts/index.native.js.map +1 -1
  140. package/dist/cjs/layouts/page.native.js.map +1 -1
  141. package/dist/cjs/layouts/pageHeadingScope.native.js.map +1 -1
  142. package/dist/cjs/layouts/sidebar.native.js.map +1 -1
  143. package/dist/cjs/layouts/tags.native.js +1 -1
  144. package/dist/cjs/layouts/tags.native.js.map +1 -1
  145. package/dist/cjs/layouts/timeline.cjs +9 -1
  146. package/dist/cjs/layouts/timeline.native.js +11 -3
  147. package/dist/cjs/layouts/timeline.native.js.map +1 -1
  148. package/dist/cjs/layouts/toolbar.native.js.map +1 -1
  149. package/dist/cjs/shared/actionScan.native.js.map +1 -1
  150. package/dist/cjs/shared/i18n.native.js.map +1 -1
  151. package/dist/cjs/shared/t.native.js.map +1 -1
  152. package/dist/cjs/shared/textRidesText.native.js.map +1 -1
  153. package/dist/cjs/shared/useReturnFocusOnClose.native.js.map +1 -1
  154. package/dist/cjs/surfaces.native.js +1 -1
  155. package/dist/cjs/surfaces.native.js.map +1 -1
  156. package/dist/cjs/tamagui.cjs +2 -1
  157. package/dist/cjs/tamagui.native.js +2 -1
  158. package/dist/cjs/tamagui.native.js.map +1 -1
  159. package/dist/cjs/testSetup.native.js.map +1 -1
  160. package/dist/cjs/utils/setTinted.native.js.map +1 -1
  161. package/dist/cjs/utils/unwrapText.native.js.map +1 -1
  162. package/dist/cjs/views/Calendar.native.js.map +1 -1
  163. package/dist/cjs/views/Dashboard.native.js +1 -1
  164. package/dist/cjs/views/Dashboard.native.js.map +1 -1
  165. package/dist/cjs/views/Gantt.native.js +1 -1
  166. package/dist/cjs/views/Gantt.native.js.map +1 -1
  167. package/dist/cjs/views/ImageGrid.native.js +1 -1
  168. package/dist/cjs/views/ImageGrid.native.js.map +1 -1
  169. package/dist/cjs/views/Kanban.cjs +1 -0
  170. package/dist/cjs/views/Kanban.native.js +3 -1
  171. package/dist/cjs/views/Kanban.native.js.map +1 -1
  172. package/dist/cjs/views/List.cjs +3 -1
  173. package/dist/cjs/views/List.native.js +6 -4
  174. package/dist/cjs/views/List.native.js.map +1 -1
  175. package/dist/cjs/views/Matrix.native.js +1 -1
  176. package/dist/cjs/views/Matrix.native.js.map +1 -1
  177. package/dist/cjs/views/ReportBuilder.native.js +1 -1
  178. package/dist/cjs/views/ReportBuilder.native.js.map +1 -1
  179. package/dist/cjs/views/TreeView.native.js.map +1 -1
  180. package/dist/cjs/views/calendarMath.native.js.map +1 -1
  181. package/dist/cjs/views/ganttMath.native.js.map +1 -1
  182. package/dist/cjs/views/index.native.js +1 -1
  183. package/dist/cjs/views/index.native.js.map +1 -1
  184. package/dist/cjs/views/kanbanDnd.native.js.map +1 -1
  185. package/dist/cjs/views/matrixMath.native.js.map +1 -1
  186. package/dist/cjs/views/treeViewDnd.native.js.map +1 -1
  187. package/dist/cjs/views/treeViewLayout.native.js.map +1 -1
  188. package/dist/cjs/views/treeViewMotion.native.js.map +1 -1
  189. package/dist/cjs/views/treeViewReveal.native.js.map +1 -1
  190. package/dist/esm/Carousel/index.mjs +2 -1
  191. package/dist/esm/Carousel/index.mjs.map +1 -1
  192. package/dist/esm/Carousel/index.native.js +2 -1
  193. package/dist/esm/Carousel/index.native.js.map +1 -1
  194. package/dist/esm/Chip/index.mjs +6 -3
  195. package/dist/esm/Chip/index.mjs.map +1 -1
  196. package/dist/esm/Chip/index.native.js +6 -3
  197. package/dist/esm/Chip/index.native.js.map +1 -1
  198. package/dist/esm/ScrollView/index.mjs +3 -0
  199. package/dist/esm/ScrollView/index.mjs.map +1 -0
  200. package/dist/esm/ScrollView/index.native.js +44 -0
  201. package/dist/esm/ScrollView/index.native.js.map +1 -0
  202. package/dist/esm/Skeleton/index.mjs +1 -13
  203. package/dist/esm/Skeleton/index.mjs.map +1 -1
  204. package/dist/esm/Skeleton/index.native.js +1 -13
  205. package/dist/esm/Skeleton/index.native.js.map +1 -1
  206. package/dist/esm/Tabs/index.mjs +2 -1
  207. package/dist/esm/Tabs/index.mjs.map +1 -1
  208. package/dist/esm/Tabs/index.native.js +2 -1
  209. package/dist/esm/Tabs/index.native.js.map +1 -1
  210. package/dist/esm/charts/math.mjs +18 -1
  211. package/dist/esm/charts/math.mjs.map +1 -1
  212. package/dist/esm/charts/math.native.js +18 -1
  213. package/dist/esm/charts/math.native.js.map +1 -1
  214. package/dist/esm/charts/series.mjs +19 -10
  215. package/dist/esm/charts/series.mjs.map +1 -1
  216. package/dist/esm/charts/series.native.js +19 -10
  217. package/dist/esm/charts/series.native.js.map +1 -1
  218. package/dist/esm/charts/svg.mjs +6 -1
  219. package/dist/esm/charts/svg.mjs.map +1 -1
  220. package/dist/esm/charts/svg.native.js +6 -1
  221. package/dist/esm/charts/svg.native.js.map +1 -1
  222. package/dist/esm/charts/useChartTheme.mjs +4 -10
  223. package/dist/esm/charts/useChartTheme.mjs.map +1 -1
  224. package/dist/esm/charts/useChartTheme.native.js +5 -11
  225. package/dist/esm/charts/useChartTheme.native.js.map +1 -1
  226. package/dist/esm/layouts/attachments.mjs +3 -2
  227. package/dist/esm/layouts/attachments.mjs.map +1 -1
  228. package/dist/esm/layouts/attachments.native.js +3 -2
  229. package/dist/esm/layouts/attachments.native.js.map +1 -1
  230. package/dist/esm/layouts/timeline.mjs +11 -3
  231. package/dist/esm/layouts/timeline.mjs.map +1 -1
  232. package/dist/esm/layouts/timeline.native.js +11 -3
  233. package/dist/esm/layouts/timeline.native.js.map +1 -1
  234. package/dist/esm/tamagui.mjs +2 -1
  235. package/dist/esm/tamagui.mjs.map +1 -1
  236. package/dist/esm/tamagui.native.js +2 -1
  237. package/dist/esm/tamagui.native.js.map +1 -1
  238. package/dist/esm/views/Kanban.mjs +1 -0
  239. package/dist/esm/views/Kanban.mjs.map +1 -1
  240. package/dist/esm/views/Kanban.native.js +3 -1
  241. package/dist/esm/views/Kanban.native.js.map +1 -1
  242. package/dist/esm/views/List.mjs +4 -2
  243. package/dist/esm/views/List.mjs.map +1 -1
  244. package/dist/esm/views/List.native.js +7 -5
  245. package/dist/esm/views/List.native.js.map +1 -1
  246. package/dist/jsx/Carousel/index.mjs +2 -1
  247. package/dist/jsx/Carousel/index.mjs.map +1 -1
  248. package/dist/jsx/Carousel/index.native.js +2 -1
  249. package/dist/jsx/Carousel/index.native.js.map +1 -1
  250. package/dist/jsx/Chip/index.mjs +6 -3
  251. package/dist/jsx/Chip/index.mjs.map +1 -1
  252. package/dist/jsx/Chip/index.native.js +5 -2
  253. package/dist/jsx/Chip/index.native.js.map +1 -1
  254. package/dist/jsx/ScrollView/index.mjs +3 -0
  255. package/dist/jsx/ScrollView/index.mjs.map +1 -0
  256. package/dist/jsx/ScrollView/index.native.js +72 -0
  257. package/dist/jsx/ScrollView/index.native.js.map +1 -0
  258. package/dist/jsx/Skeleton/index.mjs +1 -13
  259. package/dist/jsx/Skeleton/index.mjs.map +1 -1
  260. package/dist/jsx/Skeleton/index.native.js +1 -13
  261. package/dist/jsx/Skeleton/index.native.js.map +1 -1
  262. package/dist/jsx/Tabs/index.mjs +2 -1
  263. package/dist/jsx/Tabs/index.mjs.map +1 -1
  264. package/dist/jsx/Tabs/index.native.js +2 -1
  265. package/dist/jsx/Tabs/index.native.js.map +1 -1
  266. package/dist/jsx/charts/math.mjs +18 -1
  267. package/dist/jsx/charts/math.mjs.map +1 -1
  268. package/dist/jsx/charts/math.native.js +18 -0
  269. package/dist/jsx/charts/math.native.js.map +1 -1
  270. package/dist/jsx/charts/series.mjs +19 -10
  271. package/dist/jsx/charts/series.mjs.map +1 -1
  272. package/dist/jsx/charts/series.native.js +17 -8
  273. package/dist/jsx/charts/series.native.js.map +1 -1
  274. package/dist/jsx/charts/svg.mjs +6 -1
  275. package/dist/jsx/charts/svg.mjs.map +1 -1
  276. package/dist/jsx/charts/svg.native.js +6 -0
  277. package/dist/jsx/charts/svg.native.js.map +1 -1
  278. package/dist/jsx/charts/useChartTheme.mjs +4 -10
  279. package/dist/jsx/charts/useChartTheme.mjs.map +1 -1
  280. package/dist/jsx/charts/useChartTheme.native.js +4 -10
  281. package/dist/jsx/charts/useChartTheme.native.js.map +1 -1
  282. package/dist/jsx/layouts/attachments.mjs +3 -2
  283. package/dist/jsx/layouts/attachments.mjs.map +1 -1
  284. package/dist/jsx/layouts/attachments.native.js +2 -1
  285. package/dist/jsx/layouts/attachments.native.js.map +1 -1
  286. package/dist/jsx/layouts/timeline.mjs +11 -3
  287. package/dist/jsx/layouts/timeline.mjs.map +1 -1
  288. package/dist/jsx/layouts/timeline.native.js +9 -1
  289. package/dist/jsx/layouts/timeline.native.js.map +1 -1
  290. package/dist/jsx/tamagui.mjs +2 -1
  291. package/dist/jsx/tamagui.mjs.map +1 -1
  292. package/dist/jsx/tamagui.native.js +2 -1
  293. package/dist/jsx/tamagui.native.js.map +1 -1
  294. package/dist/jsx/views/Kanban.mjs +1 -0
  295. package/dist/jsx/views/Kanban.mjs.map +1 -1
  296. package/dist/jsx/views/Kanban.native.js +3 -1
  297. package/dist/jsx/views/Kanban.native.js.map +1 -1
  298. package/dist/jsx/views/List.mjs +4 -2
  299. package/dist/jsx/views/List.mjs.map +1 -1
  300. package/dist/jsx/views/List.native.js +6 -4
  301. package/dist/jsx/views/List.native.js.map +1 -1
  302. package/package.json +9 -9
  303. package/src/Carousel/index.tsx +2 -1
  304. package/src/Chip/Chip.spec.tsx +21 -16
  305. package/src/Chip/index.tsx +10 -2
  306. package/src/ScrollView/ScrollView.native.spec.tsx +157 -0
  307. package/src/ScrollView/index.native.tsx +45 -0
  308. package/src/ScrollView/index.tsx +2 -0
  309. package/src/Skeleton/Skeleton.spec.tsx +3 -3
  310. package/src/Skeleton/index.tsx +2 -15
  311. package/src/Tabs/index.tsx +1 -1
  312. package/src/charts/charts.spec.tsx +49 -6
  313. package/src/charts/math.spec.ts +30 -0
  314. package/src/charts/math.ts +36 -0
  315. package/src/charts/series.tsx +14 -9
  316. package/src/charts/svg.ts +13 -0
  317. package/src/charts/useChartTheme.ts +14 -15
  318. package/src/layouts/attachments.radius.spec.tsx +74 -0
  319. package/src/layouts/attachments.tsx +3 -1
  320. package/src/layouts/timeline-radius.spec.tsx +38 -0
  321. package/src/layouts/timeline.tsx +16 -1
  322. package/src/tamagui.ts +4 -1
  323. package/src/views/Kanban.native.tsx +3 -1
  324. package/src/views/Kanban.spec.tsx +15 -0
  325. package/src/views/Kanban.tsx +1 -0
  326. package/src/views/List.spec.tsx +50 -0
  327. package/src/views/List.tsx +11 -4
  328. package/types/Carousel/index.d.ts.map +1 -1
  329. package/types/Chip/index.d.ts.map +1 -1
  330. package/types/ScrollView/index.d.ts +3 -0
  331. package/types/ScrollView/index.d.ts.map +1 -0
  332. package/types/ScrollView/index.native.d.ts +4 -0
  333. package/types/ScrollView/index.native.d.ts.map +1 -0
  334. package/types/Skeleton/index.d.ts.map +1 -1
  335. package/types/Tabs/index.d.ts.map +1 -1
  336. package/types/charts/math.d.ts +18 -0
  337. package/types/charts/math.d.ts.map +1 -1
  338. package/types/charts/series.d.ts +2 -1
  339. package/types/charts/series.d.ts.map +1 -1
  340. package/types/charts/svg.d.ts +8 -0
  341. package/types/charts/svg.d.ts.map +1 -1
  342. package/types/charts/useChartTheme.d.ts +4 -3
  343. package/types/charts/useChartTheme.d.ts.map +1 -1
  344. package/types/layouts/attachments.d.ts.map +1 -1
  345. package/types/layouts/timeline.d.ts.map +1 -1
  346. package/types/tamagui.d.ts +2 -1
  347. package/types/tamagui.d.ts.map +1 -1
  348. package/types/views/Kanban.native.d.ts.map +1 -1
  349. package/types/views/List.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","List_exports","List","ListRow","ListRowMeta","useListItemState","module","exports","import_jsx_runtime","require","import_componentColors","import_AsyncBoundary","import_forms","import_flash_list","import_theme","import_react_hotkeys","import_react","import_i18n","import_tamagui","ListItemStateContext","createContext","selected","focused","useContext","RowText","param","children","props","jsx","Text","Fragment","width","color","knobProps","useResolvedKnobs","onAccent","resolved","textAccentColor","label","numberOfLines","minWidth","textAlign","userSelect","icon","title","subtitle","meta","ink","iconSize","controlIcon","leading","default","isValidElement","cloneElement","size","jsxs","XStack","alignItems","gap","flex","View","flexShrink","justifyContent","YStack","body","textWeight","opacity","items","renderItem","onItemClick","onLoadMore","hasMore","isLoading","error","onRetry","estimateSize","estimateSizeProp","overscan","emptyMessage","emptyMessageProp","height","heightProp","selectedIndex","selectedIndexProp","defaultSelectedIndex","onSelectionChange","ariaLabel","hotkeys","hotkeyOverrides","stackProps","_ref","_ref1","_ref2","_ref3","_ref4","_ref5","_ref6","t","useTranslation","Math","max","MIN_PRESS_TARGET","control","rowPad","panelPadding","padding","useReadableTextOn","cornersRadius","borderRadius","STREAMING_VIEWPORT_ROWS","scrollCap","measuredContentHeight","setMeasuredContentHeight","useState","length","hairlineWidth","listId","useId","containerRef","useRef","flashListRef","isControlled","uncontrolledSelected","setUncontrolledSelected","selectedRef","current","containerKeyboardFocused","setContainerKeyboardFocused","document","ensureKeyboardModalityTracking","commitSelection","useCallback","index","handleContainerFocus","wasKeyboardFocus","handleContainerBlur","scrollToIndex","_flashListRef_current","animated","moveSelection","next","clamped","min","hotkeyOpts","useHotkey","prev","select","first","last","pageDown","pageUp","handleEndReached","effectiveSelected","showKeyboardRing","listBody","ref","role","tabIndex","outlineWidth","onFocus","onBlur","style","FlashList","data","extraData","ring","drawDistance","onEndReached","onEndReachedThreshold","onContentSizeChange","_w","contentHeight","keyExtractor","_","renderItem1","param2","item","isSelected","position","getGroupPosition","corners","stackRadiusProps","state","hairline","line","id","minHeight","paddingHorizontal","paddingVertical","overflow","backgroundColor","keyboardFocusRingProps","outlineColor","hoverStyle","componentColors","interactive","background","pressStyle","hover","cursor","transitionProps","transition","onPress","Provider","ListFooterComponent","Spinner"],"sources":["../../../src/views/List.tsx"],"sourcesContent":[null],"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","List_exports","List","ListRow","ListRowMeta","useListItemState","module","exports","import_jsx_runtime","require","import_componentColors","import_AsyncBoundary","import_forms","import_flash_list","import_theme","import_react_hotkeys","import_react","import_i18n","import_tamagui","ListItemStateContext","createContext","selected","focused","useContext","RowText","param","children","props","jsx","Text","Fragment","width","color","knobProps","useResolvedKnobs","onAccent","resolved","textAccentColor","label","numberOfLines","minWidth","textAlign","userSelect","icon","title","subtitle","meta","ink","iconSize","controlIcon","leading","default","isValidElement","cloneElement","size","jsxs","XStack","alignItems","gap","flex","View","flexShrink","justifyContent","YStack","body","textWeight","opacity","items","renderItem","onItemClick","onLoadMore","hasMore","isLoading","error","onRetry","estimateSize","estimateSizeProp","overscan","emptyMessage","emptyMessageProp","height","heightProp","selectedIndex","selectedIndexProp","defaultSelectedIndex","onSelectionChange","ariaLabel","hotkeys","hotkeyOverrides","stackProps","_ref","_ref1","_ref2","_ref3","_ref4","_ref5","_ref6","t","useTranslation","Math","max","MIN_PRESS_TARGET","control","rowPad","panelPadding","padding","useReadableTextOn","cornersRadius","containerRadius","borderRadius","STREAMING_VIEWPORT_ROWS","scrollCap","measuredContentHeight","setMeasuredContentHeight","useState","length","hairlineWidth","listId","useId","containerRef","useRef","flashListRef","isControlled","uncontrolledSelected","setUncontrolledSelected","selectedRef","current","containerKeyboardFocused","setContainerKeyboardFocused","document","ensureKeyboardModalityTracking","commitSelection","useCallback","index","handleContainerFocus","wasKeyboardFocus","handleContainerBlur","scrollToIndex","_flashListRef_current","animated","moveSelection","next","clamped","min","hotkeyOpts","useHotkey","prev","select","first","last","pageDown","pageUp","handleEndReached","effectiveSelected","showKeyboardRing","listBody","ref","role","tabIndex","outlineWidth","onFocus","onBlur","style","FlashList","data","extraData","ring","drawDistance","onEndReached","onEndReachedThreshold","onContentSizeChange","_w","contentHeight","keyExtractor","_","renderItem1","param2","item","isSelected","position","getGroupPosition","corners","stackRadiusProps","state","hairline","line","id","containerCapProps","space","minHeight","paddingHorizontal","paddingVertical","overflow","backgroundColor","keyboardFocusRingProps","outlineColor","hoverStyle","componentColors","interactive","background","pressStyle","hover","cursor","transitionProps","transition","onPress","Provider","ListFooterComponent","Spinner","AsyncBoundary","loading","empty"],"sources":["../../../src/views/List.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/components",
3
- "version": "7.15.0",
3
+ "version": "7.16.0",
4
4
  "description": "multiplatform.one ui components",
5
5
  "keywords": [
6
6
  "components",
@@ -57,11 +57,11 @@
57
57
  },
58
58
  "dependencies": {
59
59
  "@floating-ui/react": "^0.27.19",
60
- "@multiplatform.one/forms": "7.15.0",
61
- "@multiplatform.one/i18n": "7.15.0",
62
- "@multiplatform.one/platform": "7.15.0",
63
- "@multiplatform.one/router": "7.15.0",
64
- "@multiplatform.one/theme": "7.15.0",
60
+ "@multiplatform.one/forms": "7.16.0",
61
+ "@multiplatform.one/i18n": "7.16.0",
62
+ "@multiplatform.one/platform": "7.16.0",
63
+ "@multiplatform.one/router": "7.16.0",
64
+ "@multiplatform.one/theme": "7.16.0",
65
65
  "@phosphor-icons/react": "^2.1.10",
66
66
  "@shopify/flash-list": "^2.3.1",
67
67
  "@tamagui/core": "2.7.6",
@@ -84,9 +84,9 @@
84
84
  "tamagui": "2.7.6"
85
85
  },
86
86
  "devDependencies": {
87
- "@multiplatform.one/config": "7.15.0",
88
- "@multiplatform.one/storybook": "7.15.0",
89
- "@multiplatform.one/test-utils": "7.15.0",
87
+ "@multiplatform.one/config": "7.16.0",
88
+ "@multiplatform.one/storybook": "7.16.0",
89
+ "@multiplatform.one/test-utils": "7.16.0",
90
90
  "@tamagui/build": "2.7.6",
91
91
  "@testing-library/jest-dom": "^6.9.1",
92
92
  "@testing-library/react": "^16.3.2",
@@ -19,8 +19,9 @@ import {
19
19
  useResolvedKnobs,
20
20
  } from "@multiplatform.one/theme";
21
21
  import type { GetProps, ScrollView as TamaguiScrollView } from "tamagui";
22
- import { View, XStack, ScrollView, getTokens, isWeb, styled } from "tamagui";
22
+ import { View, XStack, getTokens, isWeb, styled } from "tamagui";
23
23
  import { DotIndicator } from "../DotIndicator";
24
+ import { ScrollView } from "../ScrollView";
24
25
  import { useDirection } from "../hooks/useDirection";
25
26
  import { withInterp } from "../shared/t";
26
27
 
@@ -199,21 +199,26 @@ describe("Chip", () => {
199
199
  ).toEqual(["_btlr-t-radius-12"]);
200
200
  });
201
201
 
202
- it("dismiss is R-BINARY: square at none, round at every other stop", () => {
203
- const none = renderWithProviders(
204
- <Preset overrides={{ borderRadius: "none" }}>
205
- <Chip onDismiss={() => {}}>None</Chip>
206
- </Preset>,
207
- );
208
- const noneDismiss = none.container.querySelector("[aria-label='Remove']") as HTMLElement;
209
- expect(noneDismiss.className).toMatch(/_btlr-0px\b/);
210
-
211
- const full = renderWithProviders(
212
- <Preset overrides={{ borderRadius: "full" }}>
213
- <Chip onDismiss={() => {}}>Full</Chip>
214
- </Preset>,
215
- );
216
- const fullDismiss = full.container.querySelector("[aria-label='Remove']") as HTMLElement;
217
- expect(fullDismiss.className).toMatch(/_btlr-1000px\b/);
202
+ it("dismiss is CIRCULAR-AT-FULL: the token below full, a circle at full (DG-RAD-02)", () => {
203
+ const radiusAt = (borderRadius: "none" | "small" | "medium" | "full") => {
204
+ const result = renderWithProviders(
205
+ <Preset overrides={{ borderRadius }}>
206
+ <Chip onDismiss={() => {}}>Dismiss</Chip>
207
+ </Preset>,
208
+ );
209
+ const button = result.container.querySelector("[aria-label='Remove']") as HTMLElement;
210
+ const ring = button.querySelector(".mp-chip-dismiss-ring") as HTMLElement;
211
+ const atoms = [button, ring].map((el) =>
212
+ String(el.className)
213
+ .split(" ")
214
+ .filter((c) => c.startsWith("_btlr-")),
215
+ );
216
+ result.unmount();
217
+ return atoms;
218
+ };
219
+ expect(radiusAt("none")).toEqual([["_btlr-0px"], ["_btlr-0px"]]);
220
+ expect(radiusAt("small")).toEqual([["_btlr-5px"], ["_btlr-5px"]]);
221
+ expect(radiusAt("medium")).toEqual([["_btlr-9px"], ["_btlr-9px"]]);
222
+ expect(radiusAt("full")).toEqual([["_btlr-1000px"], ["_btlr-1000px"]]);
218
223
  });
219
224
  });
@@ -6,6 +6,8 @@ import {
6
6
  ensureFocusVisibleRing,
7
7
  pressTargetHitSlop,
8
8
  pressTargetStyle,
9
+ radiusStopFromToken,
10
+ resolveRadiusClass,
9
11
  sizeRecipeForToken,
10
12
  useAccentTintedSurface,
11
13
  useReadableTextOn,
@@ -346,6 +348,12 @@ export function Chip({
346
348
  const RING_INSET = 2;
347
349
  const dismissVisual = iconSize + RING_INSET * 2;
348
350
  const dismissOutset = Math.max(0, Math.ceil((MIN_PRESS_TARGET - dismissVisual) / 2));
351
+ // DG-RAD-02 CIRCULAR-AT-FULL. At full, 1000 paints the same h/2 circle
352
+ // and stays a token the constraint audit reads as a pill.
353
+ const dismissStop = radiusStopFromToken(knobProps.borderRadius.borderRadius);
354
+ let dismissRadius: string | number = knobProps.borderRadius.borderRadius;
355
+ if (dismissStop === "full") dismissRadius = 1000;
356
+ else if (dismissStop) dismissRadius = resolveRadiusClass("CIRCULAR-AT-FULL", dismissStop);
349
357
 
350
358
  let backgroundColor: ColorTokens | "transparent" | string = colors.tint;
351
359
  let textColor: ColorTokens | string = colors.text;
@@ -477,7 +485,7 @@ export function Chip({
477
485
  aria-label={t("Remove")}
478
486
  tabIndex={0}
479
487
  className="mp-chip-dismiss"
480
- borderRadius={knobProps.pointy ? 0 : 1000}
488
+ borderRadius={dismissRadius}
481
489
  {...pressTargetStyle()}
482
490
  marginVertical={-dismissOutset}
483
491
  marginHorizontal={-dismissOutset}
@@ -496,7 +504,7 @@ export function Chip({
496
504
  }) as unknown as () => void
497
505
  }
498
506
  >
499
- <DismissRing className="mp-chip-dismiss-ring" borderRadius={knobProps.pointy ? 0 : 1000}>
507
+ <DismissRing className="mp-chip-dismiss-ring" borderRadius={dismissRadius}>
500
508
  <XIcon size={iconSize} />
501
509
  </DismissRing>
502
510
  </DismissButton>
@@ -0,0 +1,157 @@
1
+ /**
2
+ * MPO-368: on native, a consumer onScroll must reach the React Native
3
+ * ScrollView. These cases run tamagui's NATIVE build (see
4
+ * ../../tests/nativeTamagui.ts); vitest's usual web build keeps onScroll and
5
+ * would pass with or without the fix.
6
+ */
7
+ import { readdirSync, readFileSync } from "node:fs";
8
+ import { join, relative } from "node:path";
9
+ import { act, createElement, createRef } from "react";
10
+ import { createRoot, type Root } from "react-dom/client";
11
+ import { afterAll, afterEach, beforeAll, describe, expect, it, vi } from "vitest";
12
+
13
+ const runtime = await vi.hoisted(async () => {
14
+ const { loadNativeTamagui } = await import("../../tests/nativeTamagui");
15
+ return loadNativeTamagui();
16
+ });
17
+
18
+ vi.mock("react-native-web", () => runtime.reactNative);
19
+ vi.mock("tamagui", () => ({ ...runtime.core, ScrollView: runtime.RawScrollView }));
20
+
21
+ const { ScrollView } = await import("./index.native");
22
+
23
+ const { TamaguiProvider, createTamagui, createTokens, styled } = runtime.core;
24
+ const previousGlobalConfig = (globalThis as { __tamaguiConfig?: unknown }).__tamaguiConfig;
25
+ const config = createTamagui({
26
+ tokens: createTokens({ size: {}, space: {}, radius: {}, zIndex: {}, color: {} }),
27
+ themes: { light: {} },
28
+ shorthands: {},
29
+ media: {},
30
+ });
31
+
32
+ let container: HTMLDivElement;
33
+ let root: Root;
34
+
35
+ beforeAll(() => {
36
+ (globalThis as { IS_REACT_ACT_ENVIRONMENT?: boolean }).IS_REACT_ACT_ENVIRONMENT = true;
37
+ });
38
+
39
+ afterEach(() => {
40
+ act(() => root?.unmount());
41
+ container?.remove();
42
+ runtime.resetHosts();
43
+ });
44
+
45
+ afterAll(() => {
46
+ (globalThis as { __tamaguiConfig?: unknown }).__tamaguiConfig = previousGlobalConfig;
47
+ });
48
+
49
+ function render(element: React.ReactElement) {
50
+ container = document.createElement("div");
51
+ document.body.append(container);
52
+ root = createRoot(container);
53
+ act(() => {
54
+ root.render(createElement(TamaguiProvider, { config, defaultTheme: "light" }, element));
55
+ });
56
+ return runtime.lastHostProps("ScrollView") ?? {};
57
+ }
58
+
59
+ type AnyScrollView = React.ComponentType<Record<string, unknown>>;
60
+
61
+ function scrollProps(): Record<string, unknown> {
62
+ return {
63
+ testID: "probe",
64
+ scrollEventThrottle: 32,
65
+ onScroll: vi.fn(),
66
+ onContentSizeChange: vi.fn(),
67
+ };
68
+ }
69
+
70
+ describe("tamagui native ScrollView (upstream control)", () => {
71
+ it("lists onScroll in its native skip props", () => {
72
+ expect(runtime.skipProps.onScroll).toBe(1);
73
+ });
74
+
75
+ it("drops a consumer onScroll before the RN ScrollView while other handlers pass", () => {
76
+ const props = scrollProps();
77
+ const host = render(createElement(runtime.RawScrollView as AnyScrollView, props));
78
+ expect(host.onContentSizeChange).toBe(props.onContentSizeChange);
79
+ expect(host.onScroll).toBeUndefined();
80
+ });
81
+ });
82
+
83
+ describe("components ScrollView on native", () => {
84
+ it("hands the consumer onScroll to the RN ScrollView", () => {
85
+ const props = scrollProps();
86
+ const host = render(createElement(ScrollView as unknown as AnyScrollView, props));
87
+ expect(host.onScroll).toBe(props.onScroll);
88
+ expect(host.onContentSizeChange).toBe(props.onContentSizeChange);
89
+ expect(host.scrollEventThrottle).toBe(32);
90
+ expect(host.testID).toBe("probe");
91
+ });
92
+
93
+ it("gives the RN ScrollView the same props as tamagui's apart from onScroll", () => {
94
+ const shared = {
95
+ flex: 1,
96
+ minHeight: 0,
97
+ fullscreen: true,
98
+ horizontal: true,
99
+ contentContainerStyle: { paddingVertical: 4 },
100
+ keyboardShouldPersistTaps: "handled",
101
+ };
102
+ const raw = { ...render(createElement(runtime.RawScrollView as AnyScrollView, shared)) };
103
+ act(() => root.unmount());
104
+ const house = { ...render(createElement(ScrollView as unknown as AnyScrollView, shared)) };
105
+ delete house.onScroll;
106
+ expect(house).toEqual(raw);
107
+ });
108
+
109
+ it("forwards its ref to the RN ScrollView instance", () => {
110
+ const ref = createRef<unknown>();
111
+ render(createElement(ScrollView as unknown as AnyScrollView, { ref }));
112
+ expect(ref.current).toBe(runtime.hostInstance("ScrollView"));
113
+ });
114
+
115
+ it("keeps forwarding onScroll through a styled() extension", () => {
116
+ const Extended = styled(ScrollView, { name: "Extended" });
117
+ const props = scrollProps();
118
+ const host = render(createElement(Extended as unknown as AnyScrollView, props));
119
+ expect(host.onScroll).toBe(props.onScroll);
120
+ });
121
+ });
122
+
123
+ describe("catalog onScroll consumers", () => {
124
+ it("take the components ScrollView, or route native to the RN ScrollView", () => {
125
+ const src = join(import.meta.dirname, "..");
126
+ const offenders = sourceFiles(src)
127
+ .filter((file) => {
128
+ const code = readFileSync(file, "utf8");
129
+ return (
130
+ /\bonScroll\b/.test(code) &&
131
+ importsScrollView(code, "tamagui") &&
132
+ !importsScrollView(code, "react-native")
133
+ );
134
+ })
135
+ .map((file) => relative(src, file));
136
+ expect(offenders).toEqual([]);
137
+ });
138
+ });
139
+
140
+ function sourceFiles(dir: string): string[] {
141
+ const out: string[] = [];
142
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
143
+ const path = join(dir, entry.name);
144
+ if (entry.isDirectory()) out.push(...sourceFiles(path));
145
+ else if (/\.tsx?$/.test(entry.name) && !/\.(spec|test|stories)\./.test(entry.name)) {
146
+ out.push(path);
147
+ }
148
+ }
149
+ return out;
150
+ }
151
+
152
+ function importsScrollView(code: string, from: string): boolean {
153
+ const re = new RegExp(`import\\s+\\{([^}]*)\\}\\s+from\\s+["']${from}["']`, "g");
154
+ return [...code.matchAll(re)].some((match) =>
155
+ match[1]!.split(",").some((part) => /^ScrollView\b/.test(part.trim())),
156
+ );
157
+ }
@@ -0,0 +1,45 @@
1
+ import { forwardRef } from "react";
2
+ import {
3
+ ScrollView as RNScrollView,
4
+ type ScrollViewProps as RNScrollViewProps,
5
+ } from "react-native";
6
+ import { styled, type ScrollView as TamaguiScrollView } from "tamagui";
7
+
8
+ export type { ScrollViewProps } from "tamagui";
9
+
10
+ // tamagui 2.7.6 drops every key in helpers/webPropsToSkip.native (onScroll is
11
+ // one) before a non-HOC styled component reaches its host, so its own
12
+ // styled(RN ScrollView) never delivers onScroll (MPO-368). The handler rides
13
+ // past getSplitStyles under another name and is restored at the RN boundary.
14
+ // Drop this file once tamagui forwards onScroll on native; the upstream
15
+ // control in ScrollView.native.spec.tsx fails when it does.
16
+
17
+ type ScrollHandler = RNScrollViewProps["onScroll"];
18
+
19
+ const ScrollHost = forwardRef<RNScrollView, RNScrollViewProps & { scrollHandler?: ScrollHandler }>(
20
+ function ScrollHost({ scrollHandler, ...props }, ref) {
21
+ return <RNScrollView ref={ref} {...props} onScroll={scrollHandler} />;
22
+ },
23
+ );
24
+
25
+ const ScrollFrame = styled(
26
+ ScrollHost,
27
+ {
28
+ name: "ScrollView",
29
+ scrollEnabled: true,
30
+ variants: {
31
+ fullscreen: {
32
+ true: { position: "absolute", inset: 0 },
33
+ },
34
+ } as const,
35
+ },
36
+ {
37
+ accept: {
38
+ contentContainerStyle: "style",
39
+ } as const,
40
+ },
41
+ );
42
+
43
+ export const ScrollView = ScrollFrame.styleable(function ScrollView({ onScroll, ...props }, ref) {
44
+ return <ScrollFrame ref={ref} {...props} scrollHandler={onScroll} />;
45
+ }) as unknown as typeof TamaguiScrollView;
@@ -0,0 +1,2 @@
1
+ export { ScrollView } from "tamagui";
2
+ export type { ScrollViewProps } from "tamagui";
@@ -108,14 +108,14 @@ describe("Skeleton — LC-20 / LC-61 announcer and motion", () => {
108
108
  });
109
109
 
110
110
  describe("Skeleton — radius classes (LC-20 / LC-60)", () => {
111
- it("text bones go square at radius:none and clamp at full (R-CLAMP)", () => {
111
+ it("text bones ride DEFAULT: square at radius:none, the token at full (MPO-56)", () => {
112
112
  const none = renderWithProviders(
113
113
  <Preset overrides={{ borderRadius: "none" }}>
114
114
  <Skeleton variant="text" width={120} />
115
115
  </Preset>,
116
116
  );
117
117
  expect(radiusClasses(none.container.querySelector("[data-skeleton]") as Element)).toEqual([
118
- "_btlr-0px",
118
+ "_btlr-t-radius-0",
119
119
  ]);
120
120
  cleanup();
121
121
 
@@ -125,7 +125,7 @@ describe("Skeleton — radius classes (LC-20 / LC-60)", () => {
125
125
  </Preset>,
126
126
  );
127
127
  expect(radiusClasses(full.container.querySelector("[data-skeleton]") as Element)).toEqual([
128
- "_btlr-t-radius-2",
128
+ "_btlr-t-radius-12",
129
129
  ]);
130
130
  });
131
131
 
@@ -4,16 +4,6 @@ import { radiusClassProps, sizeRecipeForToken, useResolvedKnobs } from "@multipl
4
4
  import type { GetProps } from "tamagui";
5
5
  import { View, styled, isWeb } from "tamagui";
6
6
 
7
- function clampTextRadius(radiusToken: string | undefined) {
8
- if (!radiusToken) return "$2";
9
- if (radiusToken === "$0") return 0;
10
- if (radiusToken.startsWith("$")) {
11
- const num = Number.parseInt(radiusToken.slice(1), 10);
12
- return Number.isFinite(num) && num > 2 ? "$2" : radiusToken;
13
- }
14
- return radiusToken;
15
- }
16
-
17
7
  export type SkeletonVariant = "text" | "circular" | "rectangular" | "rounded";
18
8
  export type SkeletonTextSize = "body" | "display";
19
9
 
@@ -106,7 +96,7 @@ export function Skeleton({
106
96
  if (isWeb) ensureShimmerStyles();
107
97
 
108
98
  const decorative = props["aria-hidden"] === true || !shouldAnnounce;
109
- // Corner-smoothing is an R-SCALE/R-CLAMP arc. Circular is R-PILL (a
99
+ // Corner-smoothing is an R-SCALE arc. Circular is R-PILL (a
110
100
  // squircle would break 1:1); rectangular is square by variant.
111
101
  const smoothingClass =
112
102
  variant === "text" || variant === "rounded" ? knobProps.borderRadius.className : undefined;
@@ -119,15 +109,12 @@ export function Skeleton({
119
109
  .filter(Boolean)
120
110
  .join(" ");
121
111
 
122
- const textRadius = knobProps.pointy ? 0 : clampTextRadius(knobProps.borderRadius.borderRadius);
123
112
  const radiusProps =
124
113
  variant === "circular"
125
114
  ? { borderRadius: 1000, ...radiusClassProps("R-PILL", "SkeletonCircle") }
126
115
  : variant === "rectangular"
127
116
  ? { borderRadius: 0 }
128
- : variant === "rounded"
129
- ? { borderRadius: knobProps.borderRadius.borderRadius }
130
- : { borderRadius: textRadius };
117
+ : { borderRadius: knobProps.borderRadius.borderRadius };
131
118
 
132
119
  return (
133
120
  <SkeletonFrame
@@ -46,7 +46,6 @@ import { useTranslation } from "../shared/i18n";
46
46
  import { wrapBareTextChildren } from "../shared/textRidesText";
47
47
  import type { GetProps, ThemeName } from "tamagui";
48
48
  import {
49
- ScrollView,
50
49
  Tabs as TamaguiTabs,
51
50
  Text,
52
51
  Theme,
@@ -57,6 +56,7 @@ import {
57
56
  withStaticProperties,
58
57
  } from "tamagui";
59
58
  import { componentColors } from "../componentColors";
59
+ import { ScrollView } from "../ScrollView";
60
60
 
61
61
  // ── Types ─────────────────────────────────────────────────────
62
62
 
@@ -33,10 +33,15 @@ function PaletteProbe({ into }: { into: { current?: ChartPalette } }) {
33
33
  }
34
34
 
35
35
  function markRects(): Element[] {
36
- // Mark rects carry a resolved fill; interaction targets are transparent.
37
- return Array.from(document.querySelectorAll("svg rect")).filter(
38
- (rect) => rect.getAttribute("fill") !== "transparent",
39
- );
36
+ // Bar marks are value-end-rounded paths with a resolved fill.
37
+ return Array.from(document.querySelectorAll("svg [data-mpo-chart-bar]"));
38
+ }
39
+
40
+ function barBox(bar: Element) {
41
+ const [x, y, width, height, radius] = String(bar.getAttribute("data-mpo-chart-bar"))
42
+ .split(",")
43
+ .map(Number);
44
+ return { x, y, width, height, radius };
40
45
  }
41
46
 
42
47
  function targetRects(): Element[] {
@@ -165,13 +170,13 @@ describe("BarChart", () => {
165
170
  const { unmount: unmountShort } = renderWithProviders(
166
171
  <BarChart data={[{ label: "atk", value: 90 }]} width={WIDTH} domain={[0, 180]} />,
167
172
  );
168
- const shortHeight = Number(markRects()[0].getAttribute("height"));
173
+ const shortHeight = barBox(markRects()[0]).height;
169
174
  unmountShort();
170
175
 
171
176
  const { unmount: unmountFull } = renderWithProviders(
172
177
  <BarChart data={[{ label: "atk", value: 180 }]} width={WIDTH} domain={[0, 180]} />,
173
178
  );
174
- const fullHeight = Number(markRects()[0].getAttribute("height"));
179
+ const fullHeight = barBox(markRects()[0]).height;
175
180
  expect(fullHeight).toBeGreaterThan(0);
176
181
  expect(shortHeight / fullHeight).toBeCloseTo(0.5, 1);
177
182
  unmountFull();
@@ -461,3 +466,41 @@ describe("charts barrel", () => {
461
466
  }
462
467
  });
463
468
  });
469
+
470
+ describe("BarChart corners: DEFAULT class on the value end only (Part 2b, R-SCALE-DATA, MPO-56)", () => {
471
+ const radii = (borderRadius: "none" | "small" | "medium" | "large" | "full") => {
472
+ renderWithProviders(
473
+ <Preset overrides={{ borderRadius }}>
474
+ <BarChart data={data} width={WIDTH} />
475
+ </Preset>,
476
+ );
477
+ const boxes = markRects().map(barBox);
478
+ cleanup();
479
+ return boxes;
480
+ };
481
+
482
+ it("takes 0 / 5 / 9 / 16 px below full", () => {
483
+ expect(radii("none").map((b) => b.radius)).toEqual(data.map(() => 0));
484
+ expect(radii("small").map((b) => b.radius)).toEqual(data.map(() => 5));
485
+ expect(radii("medium").map((b) => b.radius)).toEqual(data.map(() => 9));
486
+ for (const box of radii("large")) expect(box.radius).toBe(Math.min(16, box.width / 2));
487
+ });
488
+
489
+ it("caps full at half the band, a round value end on a square foot", () => {
490
+ for (const box of radii("full")) {
491
+ expect(box.radius).toBe(Math.min(box.width / 2, box.height));
492
+ }
493
+ });
494
+
495
+ it("draws the baseline corners square", () => {
496
+ renderWithProviders(
497
+ <Preset overrides={{ borderRadius: "large" }}>
498
+ <BarChart data={data} width={WIDTH} />
499
+ </Preset>,
500
+ );
501
+ for (const bar of markRects()) {
502
+ const { x, y, height } = barBox(bar);
503
+ expect(bar.getAttribute("d")).toMatch(new RegExp(`^M${x},${y + height}V`));
504
+ }
505
+ });
506
+ });
@@ -2,6 +2,7 @@ import { describe, expect, it } from "vitest";
2
2
  import { describeChart, describeDatum } from "./accessibility";
3
3
  import {
4
4
  approximateTextWidth,
5
+ barPath,
5
6
  arcCentroid,
6
7
  arcPath,
7
8
  areaPath,
@@ -201,3 +202,32 @@ describe("charts/accessibility", () => {
201
202
  expect(describeDatum({ datum: data[1], total: 2400 })).toBe("May: 1,200 (50%)");
202
203
  });
203
204
  });
205
+
206
+ describe("charts/math barPath rounds only the value end (R-SCALE-DATA, MPO-56)", () => {
207
+ it("draws a square box at radius 0", () => {
208
+ expect(barPath({ x: 0, y: 10, width: 20, height: 40, radius: 0, valueEnd: "top" })).toBe(
209
+ "M0,10H20V50H0Z",
210
+ );
211
+ });
212
+
213
+ it("rounds the top corners of a positive bar and keeps the baseline square", () => {
214
+ expect(barPath({ x: 0, y: 10, width: 20, height: 40, radius: 5, valueEnd: "top" })).toBe(
215
+ "M0,50V15A5,5 0 0 1 5,10H15A5,5 0 0 1 20,15V50Z",
216
+ );
217
+ });
218
+
219
+ it("rounds the bottom corners of a negative bar", () => {
220
+ expect(barPath({ x: 0, y: 10, width: 20, height: 40, radius: 5, valueEnd: "bottom" })).toBe(
221
+ "M0,10H20V45A5,5 0 0 1 15,50H5A5,5 0 0 1 0,45Z",
222
+ );
223
+ });
224
+
225
+ it("clamps the radius to half the width and to the height", () => {
226
+ expect(barPath({ x: 0, y: 0, width: 20, height: 40, radius: 50, valueEnd: "top" })).toBe(
227
+ "M0,40V10A10,10 0 0 1 10,0H10A10,10 0 0 1 20,10V40Z",
228
+ );
229
+ expect(barPath({ x: 0, y: 0, width: 20, height: 4, radius: 9, valueEnd: "top" })).toBe(
230
+ "M0,4V4A4,4 0 0 1 4,0H16A4,4 0 0 1 20,4V4Z",
231
+ );
232
+ });
233
+ });