@multiplatform.one/components 7.81.2 → 7.82.1

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 (309) hide show
  1. package/dist/cjs/appShell/AppShell.cjs +1 -9
  2. package/dist/cjs/appShell/AppShell.native.js +1 -9
  3. package/dist/cjs/appShell/AppShell.native.js.map +1 -1
  4. package/dist/cjs/appShell/BottomChromeClearance.cjs +41 -0
  5. package/dist/cjs/appShell/BottomChromeClearance.native.js +45 -0
  6. package/dist/cjs/appShell/BottomChromeClearance.native.js.map +1 -0
  7. package/dist/cjs/appShell/bottomChrome.cjs +1 -12
  8. package/dist/cjs/appShell/bottomChrome.native.js +1 -13
  9. package/dist/cjs/appShell/bottomChrome.native.js.map +1 -1
  10. package/dist/cjs/appShell/index.cjs +3 -1
  11. package/dist/cjs/appShell/index.native.js +2 -0
  12. package/dist/cjs/appShell/index.native.js.map +1 -1
  13. package/dist/cjs/code/CodeBlock/index.cjs +38 -31
  14. package/dist/cjs/code/CodeBlock/index.native.js +38 -31
  15. package/dist/cjs/code/CodeBlock/index.native.js.map +1 -1
  16. package/dist/cjs/layouts/EmptyState.cjs +9 -43
  17. package/dist/cjs/layouts/EmptyState.native.js +9 -45
  18. package/dist/cjs/layouts/EmptyState.native.js.map +1 -1
  19. package/dist/cjs/layouts/barTitleSpan.cjs +54 -0
  20. package/dist/cjs/layouts/barTitleSpan.native.js +78 -0
  21. package/dist/cjs/layouts/barTitleSpan.native.js.map +1 -0
  22. package/dist/cjs/layouts/page.cjs +134 -49
  23. package/dist/cjs/layouts/page.native.js +147 -53
  24. package/dist/cjs/layouts/page.native.js.map +1 -1
  25. package/dist/esm/Accordion/index.native.js.map +1 -1
  26. package/dist/esm/AnimateHeight/index.native.js.map +1 -1
  27. package/dist/esm/Avatar/getInitials.native.js.map +1 -1
  28. package/dist/esm/Avatar/index.native.js.map +1 -1
  29. package/dist/esm/Badge/index.native.js.map +1 -1
  30. package/dist/esm/Button.native.js.map +1 -1
  31. package/dist/esm/Carousel/index.native.js.map +1 -1
  32. package/dist/esm/CheckGlyph/MenuCheckColumn.native.js.map +1 -1
  33. package/dist/esm/CheckGlyph/index.native.js.map +1 -1
  34. package/dist/esm/Chip/index.native.js.map +1 -1
  35. package/dist/esm/Collapsible.native.js.map +1 -1
  36. package/dist/esm/ContextMenu/index.native.js.map +1 -1
  37. package/dist/esm/CopyField/CopyMenuButton.native.js.map +1 -1
  38. package/dist/esm/CopyField/index.native.js.map +1 -1
  39. package/dist/esm/Dialog.native.js.map +1 -1
  40. package/dist/esm/Diff/diff.native.js.map +1 -1
  41. package/dist/esm/Diff/index.native.js.map +1 -1
  42. package/dist/esm/DotIndicator/index.native.js.map +1 -1
  43. package/dist/esm/DropdownMenu/index.native.js.map +1 -1
  44. package/dist/esm/DropdownMenu/menuSettle.native.js.map +1 -1
  45. package/dist/esm/ElapsedProgress/index.native.js.map +1 -1
  46. package/dist/esm/ErrorBoundary/index.native.js.map +1 -1
  47. package/dist/esm/Heading.native.js.map +1 -1
  48. package/dist/esm/Kbd/index.native.js.map +1 -1
  49. package/dist/esm/Kbd/keys.native.js.map +1 -1
  50. package/dist/esm/Lightbox/MediaControl.native.js.map +1 -1
  51. package/dist/esm/Lightbox/index.gnome.native.js.map +1 -1
  52. package/dist/esm/Lightbox/shared.native.js.map +1 -1
  53. package/dist/esm/Lightbox/useLightbox.native.js.map +1 -1
  54. package/dist/esm/MachineLiteral/index.native.js.map +1 -1
  55. package/dist/esm/Material/index.native.js.map +1 -1
  56. package/dist/esm/Meter/index.native.js.map +1 -1
  57. package/dist/esm/Meter/meter.native.js.map +1 -1
  58. package/dist/esm/OverflowRow/index.native.js.map +1 -1
  59. package/dist/esm/Pagination.native.js.map +1 -1
  60. package/dist/esm/Popover.native.js.map +1 -1
  61. package/dist/esm/ProgressSteps/index.native.js.map +1 -1
  62. package/dist/esm/Quote/index.native.js.map +1 -1
  63. package/dist/esm/SchemeToggle/index.native.js.map +1 -1
  64. package/dist/esm/ScrollView/revealFocusedField.native.js.map +1 -1
  65. package/dist/esm/Separator/index.native.js.map +1 -1
  66. package/dist/esm/Sheet.native.js.map +1 -1
  67. package/dist/esm/SheetModal/SheetHeader.native.js.map +1 -1
  68. package/dist/esm/SheetModal/SheetNavigation.native.js.map +1 -1
  69. package/dist/esm/SheetModal/detents.native.js.map +1 -1
  70. package/dist/esm/SheetModal/useSheetFrameFocus.native.js.map +1 -1
  71. package/dist/esm/Skeleton/index.native.js.map +1 -1
  72. package/dist/esm/SkipLink/index.native.js.map +1 -1
  73. package/dist/esm/SortableList/SortableHandle.native.js.map +1 -1
  74. package/dist/esm/SortableList/index.native.js.map +1 -1
  75. package/dist/esm/SortableList/useSortableRows.native.js.map +1 -1
  76. package/dist/esm/SortableList/useUserOrder.native.js.map +1 -1
  77. package/dist/esm/Tabs/index.native.js.map +1 -1
  78. package/dist/esm/Text.native.js.map +1 -1
  79. package/dist/esm/ThemePresetPicker/index.native.js.map +1 -1
  80. package/dist/esm/Toast/index.native.js.map +1 -1
  81. package/dist/esm/Toast/store.native.js.map +1 -1
  82. package/dist/esm/Tooltip/nativePress.native.js.map +1 -1
  83. package/dist/esm/Tooltip/tooltipShared.native.js.map +1 -1
  84. package/dist/esm/TreeSelect/index.native.js.map +1 -1
  85. package/dist/esm/TreeSelect/treeSelectModel.native.js.map +1 -1
  86. package/dist/esm/Video/PlayerChrome.native.js.map +1 -1
  87. package/dist/esm/Video/VideoFrame.native.js.map +1 -1
  88. package/dist/esm/Video/types.native.js.map +1 -1
  89. package/dist/esm/Wheel/index.native.js.map +1 -1
  90. package/dist/esm/Wizard/index.native.js.map +1 -1
  91. package/dist/esm/actions/ActionBar.native.js.map +1 -1
  92. package/dist/esm/actions/DangerSection.native.js.map +1 -1
  93. package/dist/esm/actions/DestructiveAction.native.js.map +1 -1
  94. package/dist/esm/actions/HeaderActions.native.js.map +1 -1
  95. package/dist/esm/actions/StandardAction.native.js.map +1 -1
  96. package/dist/esm/actions/devWarn.native.js.map +1 -1
  97. package/dist/esm/actions/index.native.js.map +1 -1
  98. package/dist/esm/actions/severity.native.js.map +1 -1
  99. package/dist/esm/appShell/AppShell.mjs +2 -10
  100. package/dist/esm/appShell/AppShell.mjs.map +1 -1
  101. package/dist/esm/appShell/AppShell.native.js +2 -10
  102. package/dist/esm/appShell/AppShell.native.js.map +1 -1
  103. package/dist/esm/appShell/BottomChromeClearance.mjs +16 -0
  104. package/dist/esm/appShell/BottomChromeClearance.mjs.map +1 -0
  105. package/dist/esm/appShell/BottomChromeClearance.native.js +17 -0
  106. package/dist/esm/appShell/BottomChromeClearance.native.js.map +1 -0
  107. package/dist/esm/appShell/Dock.native.js.map +1 -1
  108. package/dist/esm/appShell/MpoTabHost.native.js.map +1 -1
  109. package/dist/esm/appShell/ScopeMenu.native.js.map +1 -1
  110. package/dist/esm/appShell/SettingsSplit.native.js.map +1 -1
  111. package/dist/esm/appShell/Springboard.native.js.map +1 -1
  112. package/dist/esm/appShell/SystemBar.native.js.map +1 -1
  113. package/dist/esm/appShell/TabBar.native.js.map +1 -1
  114. package/dist/esm/appShell/appTile.native.js.map +1 -1
  115. package/dist/esm/appShell/bottomChrome.mjs +3 -13
  116. package/dist/esm/appShell/bottomChrome.mjs.map +1 -1
  117. package/dist/esm/appShell/bottomChrome.native.js +3 -14
  118. package/dist/esm/appShell/bottomChrome.native.js.map +1 -1
  119. package/dist/esm/appShell/index.mjs +2 -1
  120. package/dist/esm/appShell/index.mjs.map +1 -1
  121. package/dist/esm/appShell/index.native.js +2 -1
  122. package/dist/esm/appShell/index.native.js.map +1 -1
  123. package/dist/esm/charts/Axis.native.js.map +1 -1
  124. package/dist/esm/charts/BarChart.native.js.map +1 -1
  125. package/dist/esm/charts/ChartDataView.native.js.map +1 -1
  126. package/dist/esm/charts/ChartSurface.native.js.map +1 -1
  127. package/dist/esm/charts/LineChart.native.js.map +1 -1
  128. package/dist/esm/charts/PieChart.native.js.map +1 -1
  129. package/dist/esm/charts/Sparkline.native.js.map +1 -1
  130. package/dist/esm/charts/accessibility.native.js.map +1 -1
  131. package/dist/esm/charts/chartHeight.native.js.map +1 -1
  132. package/dist/esm/charts/composeChart.native.js.map +1 -1
  133. package/dist/esm/charts/index.native.js.map +1 -1
  134. package/dist/esm/charts/math.native.js.map +1 -1
  135. package/dist/esm/charts/series.native.js.map +1 -1
  136. package/dist/esm/charts/svg.native.js.map +1 -1
  137. package/dist/esm/charts/types.native.js.map +1 -1
  138. package/dist/esm/charts/useChartTheme.native.js.map +1 -1
  139. package/dist/esm/code/Code/index.native.js.map +1 -1
  140. package/dist/esm/code/CodeBlock/index.mjs +39 -32
  141. package/dist/esm/code/CodeBlock/index.mjs.map +1 -1
  142. package/dist/esm/code/CodeBlock/index.native.js +39 -32
  143. package/dist/esm/code/CodeBlock/index.native.js.map +1 -1
  144. package/dist/esm/code/HighlightedCode/index.native.js.map +1 -1
  145. package/dist/esm/code/Highlighter/houseSyntaxTheme.native.js.map +1 -1
  146. package/dist/esm/code/Highlighter/index.native.js.map +1 -1
  147. package/dist/esm/code/Highlighter/namedGroupMatchAll.native.js.map +1 -1
  148. package/dist/esm/code/LogView.native.js.map +1 -1
  149. package/dist/esm/code/Pre/index.native.js.map +1 -1
  150. package/dist/esm/code/index.native.js.map +1 -1
  151. package/dist/esm/componentColors.native.js.map +1 -1
  152. package/dist/esm/feedback/ConfirmDialog.native.js.map +1 -1
  153. package/dist/esm/feedback/NotifyHost.native.js.map +1 -1
  154. package/dist/esm/feedback/copy.native.js.map +1 -1
  155. package/dist/esm/feedback/index.native.js.map +1 -1
  156. package/dist/esm/feedback/notify.native.js.map +1 -1
  157. package/dist/esm/feedback/route.native.js.map +1 -1
  158. package/dist/esm/feedback/store.native.js.map +1 -1
  159. package/dist/esm/formLayouts/FormLayouts.native.js.map +1 -1
  160. package/dist/esm/formLayouts/PreferencePanel.native.js.map +1 -1
  161. package/dist/esm/formLayouts/index.native.js.map +1 -1
  162. package/dist/esm/hooks/index.native.js.map +1 -1
  163. package/dist/esm/hooks/useClipboard.native.js.map +1 -1
  164. package/dist/esm/hooks/useDocumentTitle.native.js.map +1 -1
  165. package/dist/esm/hooks/useHoldCue.native.js.map +1 -1
  166. package/dist/esm/icons/CheckRegular.native.js.map +1 -1
  167. package/dist/esm/icons/MinusRegular.native.js.map +1 -1
  168. package/dist/esm/icons/index.native.js.map +1 -1
  169. package/dist/esm/icons/lucide.native.js.map +1 -1
  170. package/dist/esm/icons/themed.native.js.map +1 -1
  171. package/dist/esm/images/Image/ImageFrame.native.js.map +1 -1
  172. package/dist/esm/images/Image/framing.native.js.map +1 -1
  173. package/dist/esm/images/Image/mediaRadius.native.js.map +1 -1
  174. package/dist/esm/images/Image/shared.native.js.map +1 -1
  175. package/dist/esm/images/Image/types.native.js.map +1 -1
  176. package/dist/esm/images/index.native.js.map +1 -1
  177. package/dist/esm/index.native.js.map +1 -1
  178. package/dist/esm/knobImmuneExports.native.js.map +1 -1
  179. package/dist/esm/layouts/AsyncBoundary.native.js.map +1 -1
  180. package/dist/esm/layouts/Debug/index.native.js.map +1 -1
  181. package/dist/esm/layouts/EmptyState.mjs +9 -43
  182. package/dist/esm/layouts/EmptyState.mjs.map +1 -1
  183. package/dist/esm/layouts/EmptyState.native.js +9 -45
  184. package/dist/esm/layouts/EmptyState.native.js.map +1 -1
  185. package/dist/esm/layouts/IdentityPlate.native.js.map +1 -1
  186. package/dist/esm/layouts/KeyboardAvoidingWrapper/behavior.native.js.map +1 -1
  187. package/dist/esm/layouts/PageTemplates.native.js.map +1 -1
  188. package/dist/esm/layouts/PaneScaffold.native.js.map +1 -1
  189. package/dist/esm/layouts/SafeAreaWrapper/insets.native.js.map +1 -1
  190. package/dist/esm/layouts/StatusDot.native.js.map +1 -1
  191. package/dist/esm/layouts/StatusGlyphStrip.native.js.map +1 -1
  192. package/dist/esm/layouts/ViewSwitcher.native.js.map +1 -1
  193. package/dist/esm/layouts/attachments.native.js.map +1 -1
  194. package/dist/esm/layouts/barTitleSpan.mjs +27 -0
  195. package/dist/esm/layouts/barTitleSpan.mjs.map +1 -0
  196. package/dist/esm/layouts/barTitleSpan.native.js +48 -0
  197. package/dist/esm/layouts/barTitleSpan.native.js.map +1 -0
  198. package/dist/esm/layouts/bottomAccessory.native.js.map +1 -1
  199. package/dist/esm/layouts/breadcrumbs.native.js.map +1 -1
  200. package/dist/esm/layouts/index.native.js.map +1 -1
  201. package/dist/esm/layouts/page.mjs +136 -51
  202. package/dist/esm/layouts/page.mjs.map +1 -1
  203. package/dist/esm/layouts/page.native.js +149 -55
  204. package/dist/esm/layouts/page.native.js.map +1 -1
  205. package/dist/esm/layouts/pageHeadingScope.native.js.map +1 -1
  206. package/dist/esm/layouts/screenScroll.native.js.map +1 -1
  207. package/dist/esm/layouts/shellSidebarSlot.native.js.map +1 -1
  208. package/dist/esm/layouts/sidebar.native.js.map +1 -1
  209. package/dist/esm/layouts/tags.native.js.map +1 -1
  210. package/dist/esm/layouts/timeline.native.js.map +1 -1
  211. package/dist/esm/layouts/toolbar.native.js.map +1 -1
  212. package/dist/esm/shared/actionScan.native.js.map +1 -1
  213. package/dist/esm/shared/i18n.native.js.map +1 -1
  214. package/dist/esm/shared/restoreRetries.native.js.map +1 -1
  215. package/dist/esm/shared/t.native.js.map +1 -1
  216. package/dist/esm/shared/textRidesText.native.js.map +1 -1
  217. package/dist/esm/shared/useReturnFocusOnClose.native.js.map +1 -1
  218. package/dist/esm/surfaces.native.js.map +1 -1
  219. package/dist/esm/tamagui.native.js.map +1 -1
  220. package/dist/esm/testSetup.native.js.map +1 -1
  221. package/dist/esm/utils/setTinted.native.js.map +1 -1
  222. package/dist/esm/utils/unwrapText.native.js.map +1 -1
  223. package/dist/esm/views/Calendar.native.js.map +1 -1
  224. package/dist/esm/views/Dashboard.native.js.map +1 -1
  225. package/dist/esm/views/Gantt.native.js.map +1 -1
  226. package/dist/esm/views/GanttDateGrip.native.js.map +1 -1
  227. package/dist/esm/views/ImageGrid.native.js.map +1 -1
  228. package/dist/esm/views/List.native.js.map +1 -1
  229. package/dist/esm/views/ListGroup.native.js.map +1 -1
  230. package/dist/esm/views/ListRow.native.js.map +1 -1
  231. package/dist/esm/views/Matrix.native.js.map +1 -1
  232. package/dist/esm/views/ReportBuilder.native.js.map +1 -1
  233. package/dist/esm/views/ShortcutCard.native.js.map +1 -1
  234. package/dist/esm/views/TreeView.native.js.map +1 -1
  235. package/dist/esm/views/calendarMath.native.js.map +1 -1
  236. package/dist/esm/views/ganttIntervals.native.js.map +1 -1
  237. package/dist/esm/views/ganttMath.native.js.map +1 -1
  238. package/dist/esm/views/index.native.js.map +1 -1
  239. package/dist/esm/views/kanbanDnd.native.js.map +1 -1
  240. package/dist/esm/views/matrixMath.native.js.map +1 -1
  241. package/dist/esm/views/sameNameScope.native.js.map +1 -1
  242. package/dist/esm/views/treeViewDnd.native.js.map +1 -1
  243. package/dist/esm/views/treeViewLayout.native.js.map +1 -1
  244. package/dist/esm/views/treeViewMotion.native.js.map +1 -1
  245. package/dist/esm/views/treeViewReveal.native.js.map +1 -1
  246. package/dist/esm/views/usePageFlowLoadMore.native.js.map +1 -1
  247. package/dist/esm/views/widgetChrome.native.js.map +1 -1
  248. package/dist/jsx/appShell/AppShell.mjs +2 -10
  249. package/dist/jsx/appShell/AppShell.mjs.map +1 -1
  250. package/dist/jsx/appShell/AppShell.native.js +1 -9
  251. package/dist/jsx/appShell/AppShell.native.js.map +1 -1
  252. package/dist/jsx/appShell/BottomChromeClearance.mjs +16 -0
  253. package/dist/jsx/appShell/BottomChromeClearance.mjs.map +1 -0
  254. package/dist/jsx/appShell/BottomChromeClearance.native.js +45 -0
  255. package/dist/jsx/appShell/BottomChromeClearance.native.js.map +1 -0
  256. package/dist/jsx/appShell/bottomChrome.mjs +3 -13
  257. package/dist/jsx/appShell/bottomChrome.mjs.map +1 -1
  258. package/dist/jsx/appShell/bottomChrome.native.js +1 -13
  259. package/dist/jsx/appShell/bottomChrome.native.js.map +1 -1
  260. package/dist/jsx/appShell/index.mjs +2 -1
  261. package/dist/jsx/appShell/index.mjs.map +1 -1
  262. package/dist/jsx/appShell/index.native.js +2 -0
  263. package/dist/jsx/appShell/index.native.js.map +1 -1
  264. package/dist/jsx/code/CodeBlock/index.mjs +39 -32
  265. package/dist/jsx/code/CodeBlock/index.mjs.map +1 -1
  266. package/dist/jsx/code/CodeBlock/index.native.js +38 -31
  267. package/dist/jsx/code/CodeBlock/index.native.js.map +1 -1
  268. package/dist/jsx/layouts/EmptyState.mjs +9 -43
  269. package/dist/jsx/layouts/EmptyState.mjs.map +1 -1
  270. package/dist/jsx/layouts/EmptyState.native.js +9 -45
  271. package/dist/jsx/layouts/EmptyState.native.js.map +1 -1
  272. package/dist/jsx/layouts/barTitleSpan.mjs +27 -0
  273. package/dist/jsx/layouts/barTitleSpan.mjs.map +1 -0
  274. package/dist/jsx/layouts/barTitleSpan.native.js +78 -0
  275. package/dist/jsx/layouts/barTitleSpan.native.js.map +1 -0
  276. package/dist/jsx/layouts/page.mjs +136 -51
  277. package/dist/jsx/layouts/page.mjs.map +1 -1
  278. package/dist/jsx/layouts/page.native.js +147 -53
  279. package/dist/jsx/layouts/page.native.js.map +1 -1
  280. package/package.json +9 -9
  281. package/src/appShell/AppShell.spec.tsx +11 -7
  282. package/src/appShell/AppShell.tsx +2 -9
  283. package/src/appShell/BottomChromeClearance.spec.tsx +42 -0
  284. package/src/appShell/BottomChromeClearance.tsx +15 -0
  285. package/src/appShell/bottomChrome.ts +3 -24
  286. package/src/appShell/index.ts +1 -0
  287. package/src/code/CodeBlock/CodeBlock.copy.spec.tsx +13 -0
  288. package/src/code/CodeBlock/index.tsx +46 -30
  289. package/src/layouts/EmptyState.spec.tsx +2 -0
  290. package/src/layouts/EmptyState.tsx +6 -39
  291. package/src/layouts/PageHeader.stories.tsx +238 -38
  292. package/src/layouts/barTitleSpan.spec.ts +35 -0
  293. package/src/layouts/barTitleSpan.ts +44 -0
  294. package/src/layouts/glyphCentre.spec.tsx +218 -0
  295. package/src/layouts/navBar.spec.tsx +58 -2
  296. package/src/layouts/page.tsx +128 -45
  297. package/types/appShell/AppShell.d.ts.map +1 -1
  298. package/types/appShell/BottomChromeClearance.d.ts +10 -0
  299. package/types/appShell/BottomChromeClearance.d.ts.map +1 -0
  300. package/types/appShell/bottomChrome.d.ts +1 -11
  301. package/types/appShell/bottomChrome.d.ts.map +1 -1
  302. package/types/appShell/index.d.ts +1 -0
  303. package/types/appShell/index.d.ts.map +1 -1
  304. package/types/code/CodeBlock/index.d.ts.map +1 -1
  305. package/types/layouts/EmptyState.d.ts.map +1 -1
  306. package/types/layouts/barTitleSpan.d.ts +29 -0
  307. package/types/layouts/barTitleSpan.d.ts.map +1 -0
  308. package/types/layouts/page.d.ts +6 -1
  309. package/types/layouts/page.d.ts.map +1 -1
@@ -43,8 +43,9 @@ var import_theme = require("@multiplatform.one/theme");
43
43
  var import_forms = require("@multiplatform.one/forms");
44
44
  var import_react = require("@phosphor-icons/react");
45
45
  var import_react2 = require("react");
46
+ var import_barTitleSpan = require("./barTitleSpan.native.js");
46
47
  var import_tamagui = require("tamagui");
47
- var import_bottomChrome = require("../appShell/bottomChrome.native.js");
48
+ var import_BottomChromeClearance = require("../appShell/BottomChromeClearance.native.js");
48
49
  var import_componentColors = require("../componentColors.native.js");
49
50
  var import_useDirection = require("../hooks/useDirection.native.js");
50
51
  var import_i18n = require("../shared/i18n.native.js");
@@ -200,7 +201,6 @@ function PageShell(param) {
200
201
  var scrollState = (0, import_screenScroll.useScreenScrollController)();
201
202
  (0, import_screenScroll.useReportScreenScroll)(scrollState.state, Boolean(topBar));
202
203
  var [accessories] = (0, import_react2.useState)(import_bottomAccessory.createBottomAccessoryStore);
203
- var chromeInset = (0, import_bottomChrome.useBottomChromeInset)();
204
204
  var inset = noPadding ? null : knobProps.panelPadding.padding;
205
205
  var cap = maxWidth && !bleed ? maxWidth : null;
206
206
  var inner = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
@@ -254,12 +254,9 @@ function PageShell(param) {
254
254
  children: scoped
255
255
  });
256
256
  };
257
- var chromeClearance = chromeInset > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
258
- height: chromeInset,
259
- flexShrink: 0,
260
- "aria-hidden": true,
261
- "data-testid": "screen-chrome-clearance"
262
- }) : null;
257
+ var chromeClearance = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_BottomChromeClearance.BottomChromeClearance, {
258
+ testID: "screen-chrome-clearance"
259
+ });
263
260
  if (!scroll) {
264
261
  return shell(/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
265
262
  flex: 1,
@@ -476,6 +473,107 @@ function PageSection(param) {
476
473
  }) : children]
477
474
  });
478
475
  }
476
+ function useBarTitleSpan() {
477
+ var none = {
478
+ x: 0,
479
+ width: 0
480
+ };
481
+ var [box, setBox] = (0, import_react2.useState)({
482
+ row: 0,
483
+ leading: none,
484
+ trailing: none,
485
+ title: 0
486
+ });
487
+ var set = function set2(key, value) {
488
+ return setBox(function (prev) {
489
+ return JSON.stringify(prev[key]) === JSON.stringify(value) ? prev : {
490
+ ...prev,
491
+ [key]: value
492
+ };
493
+ });
494
+ };
495
+ var extent = function extent2(event) {
496
+ var {
497
+ x,
498
+ width
499
+ } = event.nativeEvent.layout;
500
+ return {
501
+ x,
502
+ width
503
+ };
504
+ };
505
+ return {
506
+ span: (0, import_barTitleSpan.barTitleSpan)({
507
+ row: box.row,
508
+ title: box.title,
509
+ ...(0, import_barTitleSpan.sideExtents)(box.row, box.leading, box.trailing)
510
+ }),
511
+ measureRow: function measureRow(event) {
512
+ return set("row", Math.floor(extent(event).width));
513
+ },
514
+ measureLeading: function measureLeading(event) {
515
+ return set("leading", extent(event));
516
+ },
517
+ measureTrailing: function measureTrailing(event) {
518
+ return set("trailing", extent(event));
519
+ },
520
+ measureTitle: function measureTitle(event) {
521
+ return set("title", Math.ceil(extent(event).width));
522
+ }
523
+ };
524
+ }
525
+ function BarTitle(param) {
526
+ var {
527
+ title,
528
+ span,
529
+ onTitleWidth,
530
+ shown = true,
531
+ ...rest
532
+ } = param;
533
+ var {
534
+ knobProps
535
+ } = (0, import_theme.useResolvedKnobs)({
536
+ component: "ScreenToolbar"
537
+ });
538
+ var text = {
539
+ ...knobProps.body,
540
+ fontWeight: "600",
541
+ color: "$color12",
542
+ numberOfLines: 1
543
+ };
544
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
545
+ children: [shown ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
546
+ position: "absolute",
547
+ top: 0,
548
+ left: 0,
549
+ opacity: 0,
550
+ pointerEvents: "none",
551
+ "aria-hidden": true,
552
+ onLayout: onTitleWidth,
553
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.SizableText, {
554
+ ...text,
555
+ children: title
556
+ })
557
+ }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
558
+ position: "absolute",
559
+ top: 0,
560
+ bottom: 0,
561
+ left: span.left,
562
+ right: span.right,
563
+ alignItems: "center",
564
+ justifyContent: "center",
565
+ pointerEvents: "none",
566
+ "aria-hidden": !shown,
567
+ "data-bar-title": "",
568
+ opacity: shown ? 1 : 0,
569
+ ...rest,
570
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.SizableText, {
571
+ ...text,
572
+ children: title
573
+ })
574
+ })]
575
+ });
576
+ }
479
577
  function ScreenToolbar(props) {
480
578
  var slot = (0, import_screenScroll.useTopBarSlot)();
481
579
  return slot ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(PinnedTopBar, {
@@ -489,6 +587,7 @@ function InlineToolbar(param) {
489
587
  var {
490
588
  leading,
491
589
  trailing,
590
+ title,
492
591
  children,
493
592
  ...rest
494
593
  } = param;
@@ -497,6 +596,7 @@ function InlineToolbar(param) {
497
596
  } = (0, import_theme.useResolvedKnobs)({
498
597
  component: "ScreenToolbar"
499
598
  });
599
+ var titleSpan = useBarTitleSpan();
500
600
  var insetToken = (0, import_pageHeadingScope.usePageChromeInset)();
501
601
  var bleed = insetToken ? {
502
602
  marginHorizontal: negateSpaceToken(insetToken)
@@ -508,8 +608,12 @@ function InlineToolbar(param) {
508
608
  "data-testid": "screen-toolbar",
509
609
  justifyContent: "space-between",
510
610
  alignItems: "center",
511
- flexWrap: oneRow ? "nowrap" : "wrap",
611
+ flexWrap: oneRow || title ? "nowrap" : "wrap",
512
612
  minHeight: import_theme.MIN_PRESS_TARGET,
613
+ ...(title ? {
614
+ position: "relative",
615
+ onLayout: titleSpan.measureRow
616
+ } : null),
513
617
  ...bleed,
514
618
  ...(insetToken ? {
515
619
  paddingHorizontal: insetToken
@@ -523,6 +627,9 @@ function InlineToolbar(param) {
523
627
  // Shrink weight, not a size: the back label gives way before the actions wrap.
524
628
  flexShrink: oneRow ? 1e3 : 1,
525
629
  minWidth: 0,
630
+ ...(title ? {
631
+ onLayout: titleSpan.measureLeading
632
+ } : null),
526
633
  children: leading
527
634
  }), children, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.IconButtonGroup, {
528
635
  ...knobProps.gap,
@@ -530,8 +637,15 @@ function InlineToolbar(param) {
530
637
  flexShrink: 1,
531
638
  minWidth: 0,
532
639
  justifyContent: "flex-end",
640
+ ...(title ? {
641
+ onLayout: titleSpan.measureTrailing
642
+ } : null),
533
643
  children: trailing
534
- })]
644
+ }), title ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(BarTitle, {
645
+ title,
646
+ span: titleSpan.span,
647
+ onTitleWidth: titleSpan.measureTitle
648
+ }) : null]
535
649
  })
536
650
  });
537
651
  }
@@ -539,6 +653,7 @@ function PinnedTopBar(param) {
539
653
  var {
540
654
  leading,
541
655
  trailing,
656
+ title: inlineTitle,
542
657
  children,
543
658
  slot,
544
659
  ...rest
@@ -552,25 +667,11 @@ function PinnedTopBar(param) {
552
667
  var {
553
668
  scrolled,
554
669
  collapsed,
555
- title
670
+ title: largeTitle
556
671
  } = (0, import_screenScroll.useScreenScroll)();
557
- var [sides, setSides] = (0, import_react2.useState)({
558
- leading: 0,
559
- trailing: 0
560
- });
561
- var measureSide = function measureSide2(side) {
562
- return function (event) {
563
- var width = Math.ceil(event.nativeEvent.layout.width);
564
- setSides(function (prev) {
565
- return prev[side] === width ? prev : {
566
- ...prev,
567
- [side]: width
568
- };
569
- });
570
- };
571
- };
672
+ var titleSpan = useBarTitleSpan();
572
673
  var motion = (0, import_theme.transitionProps)(knobProps.motion.control);
573
- var clearance = Math.max(sides.leading, sides.trailing);
674
+ var title = inlineTitle !== null && inlineTitle !== void 0 ? inlineTitle : largeTitle;
574
675
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_theme.Surface, {
575
676
  bar: true,
576
677
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
@@ -594,6 +695,7 @@ function PinnedTopBar(param) {
594
695
  flexWrap: "nowrap",
595
696
  // The collapsed title is placed against this row, not the page.
596
697
  position: "relative",
698
+ onLayout: titleSpan.measureRow,
597
699
  paddingHorizontal: (_slot_inset = slot.inset) !== null && _slot_inset !== void 0 ? _slot_inset : knobProps.panelPadding.padding,
598
700
  ...knobProps.gap,
599
701
  ...rest,
@@ -602,7 +704,7 @@ function PinnedTopBar(param) {
602
704
  alignItems: "center",
603
705
  flexShrink: 1e3,
604
706
  minWidth: 0,
605
- onLayout: measureSide("leading"),
707
+ onLayout: titleSpan.measureLeading,
606
708
  children: leading
607
709
  }), children,
608
710
  /* Pushes the actions to the trailing edge (LC-102: no space-between)
@@ -615,28 +717,14 @@ function PinnedTopBar(param) {
615
717
  flexShrink: 1,
616
718
  minWidth: 0,
617
719
  justifyContent: "flex-end",
618
- onLayout: measureSide("trailing"),
720
+ onLayout: titleSpan.measureTrailing,
619
721
  children: trailing
620
- }), title ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
621
- position: "absolute",
622
- top: 0,
623
- bottom: 0,
624
- left: clearance,
625
- right: clearance,
626
- alignItems: "center",
627
- justifyContent: "center",
628
- pointerEvents: "none",
629
- "aria-hidden": !collapsed,
630
- "data-bar-title": "",
631
- opacity: collapsed ? 1 : 0,
632
- ...motion,
633
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.SizableText, {
634
- ...knobProps.body,
635
- fontWeight: "600",
636
- color: "$color12",
637
- numberOfLines: 1,
638
- children: title
639
- })
722
+ }), title ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(BarTitle, {
723
+ title,
724
+ span: titleSpan.span,
725
+ onTitleWidth: titleSpan.measureTitle,
726
+ shown: Boolean(inlineTitle) || collapsed,
727
+ ...motion
640
728
  }) : null]
641
729
  })
642
730
  })
@@ -655,7 +743,8 @@ function useTopBarControl() {
655
743
  };
656
744
  }
657
745
  var CARET_OPTICAL_INSET = 72 / 256;
658
- function backCaret(Caret) {
746
+ var CARET_INK_OFFSET = 8 / 256;
747
+ function backCaret(Caret, inkSign) {
659
748
  return function BackCaret(param) {
660
749
  var {
661
750
  size = 22,
@@ -663,9 +752,14 @@ function backCaret(Caret) {
663
752
  weight,
664
753
  ...stroke
665
754
  } = param;
755
+ var plated = (0, import_forms.useGlyphOnPlate)();
666
756
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
667
757
  "data-back-caret": "",
668
- marginInlineStart: -Math.round(size * CARET_OPTICAL_INSET),
758
+ ...(plated ? {
759
+ x: inkSign * size * CARET_INK_OFFSET
760
+ } : {
761
+ marginInlineStart: -Math.round(size * CARET_OPTICAL_INSET)
762
+ }),
669
763
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Caret, {
670
764
  size,
671
765
  color,
@@ -675,8 +769,8 @@ function backCaret(Caret) {
675
769
  });
676
770
  };
677
771
  }
678
- var BackCaretLeft = backCaret(import_react.CaretLeftIcon);
679
- var BackCaretRight = backCaret(import_react.CaretRightIcon);
772
+ var BackCaretLeft = backCaret(import_react.CaretLeftIcon, 1);
773
+ var BackCaretRight = backCaret(import_react.CaretRightIcon, -1);
680
774
  function PageBackButton(param) {
681
775
  var {
682
776
  label,
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","page_exports","CONTENT_MAX_WIDTH","EmptyState","import_EmptyState","GutterFrame","PageActionButton","PageBackButton","PageBarButton","PageHeader","PageMenuButton","PageSection","READABLE_MAX_WIDTH","Screen","ScreenToolbar","module","exports","import_jsx_runtime","require","import_theme","import_forms","import_react","import_react2","import_tamagui","import_bottomChrome","import_componentColors","import_useDirection","import_i18n","import_ScrollView","import_KeyboardAvoidingWrapper","import_bottomAccessory","import_screenScroll","import_pageHeadingScope","import_screenScroll2","PAGE_HEADING_TAGS","H1","H2","H3","H4","H5","H6","negateSpaceToken","token","startsWith","slice","layoutBreakpoints","xl","expanded","props","parent","useParentScreen","jsx","NestedScreen","PageShell","param","children","scroll","maxWidth","bleed","noPadding","scrollViewProps","avoidKeyboard","_avoidKeyboard","topBar","rest","knobProps","useResolvedKnobs","component","scrollState","useScreenScrollController","ownInset","inset","panelPadding","padding","cap","capped","ownsScroll","scrolls","content","PageHeadingScope","insetToken","ScreenNesting","PageGutter","column","jsxs","YStack","ref","contentRoot","flex","width","alignSelf","gapLg","ParentScrollScope","ScreenScrollScope","controller","minHeight","ScrollView","contentContainerStyle","flexGrow","scrollEventThrottle","onScroll","event","_scrollViewProps_onScroll","pageGutter","usePageGutter","useReportScreenScroll","state","Boolean","accessories","useState","createBottomAccessoryStore","chromeInset","useBottomChromeInset","inner","bar","TopBarSlot","accessory","BottomAccessoryHost","store","shell","shell2","page","scoped","BottomAccessoryScope","isWeb","KeyboardAvoidingWrapper","chromeClearance","height","flexShrink","backgroundColor","scroller","title","subtitle","status","heading","actions","nav","divider","headingLevel","titleScale","usePageChromeInset","useRegisterPageHeading","level","label","enabled","TitleTag","largeTitle","useLargeTitle","titleSize","resolvePageTitleScale","pageTitle","titleNode","margin","fontWeight","showHairline","rule","hairline","bottom","borderColor","componentColors","marginHorizontal","contentPad","paddingHorizontal","overflow","position","gap","paddingBottom","XStack","justifyContent","alignItems","minWidth","Paragraph","body","color","textAccentColor","Surface","IconButtonGroup","left","right","pointerEvents","description","surface","headingFamily","SectionTag","headingNode","sectionHeading","surfaceProps","containerRadius","containerCapProps","borderRadius","headerBlock","gapSm","Separator","line","slot","useTopBarSlot","PinnedTopBar","InlineToolbar","leading","trailing","oneRow","useLayoutSizeClass","flexWrap","MIN_PRESS_TARGET","_knobProps_motion_control_transition","_slot_inset","scrolled","collapsed","useScreenScroll","sides","setSides","measureSide","measureSide2","side","Math","ceil","nativeEvent","layout","prev","motion","transitionProps","control","clearance","max","String","transition","zIndex"],"sources":["../../../src/layouts/page.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","page_exports","CONTENT_MAX_WIDTH","EmptyState","import_EmptyState","GutterFrame","PageActionButton","PageBackButton","PageBarButton","PageHeader","PageMenuButton","PageSection","READABLE_MAX_WIDTH","Screen","ScreenToolbar","module","exports","import_jsx_runtime","require","import_theme","import_forms","import_react","import_react2","import_barTitleSpan","import_tamagui","import_BottomChromeClearance","import_componentColors","import_useDirection","import_i18n","import_ScrollView","import_KeyboardAvoidingWrapper","import_bottomAccessory","import_screenScroll","import_pageHeadingScope","import_screenScroll2","PAGE_HEADING_TAGS","H1","H2","H3","H4","H5","H6","negateSpaceToken","token","startsWith","slice","layoutBreakpoints","xl","expanded","props","parent","useParentScreen","jsx","NestedScreen","PageShell","param","children","scroll","maxWidth","bleed","noPadding","scrollViewProps","avoidKeyboard","_avoidKeyboard","topBar","rest","knobProps","useResolvedKnobs","component","scrollState","useScreenScrollController","ownInset","inset","panelPadding","padding","cap","capped","ownsScroll","scrolls","content","PageHeadingScope","insetToken","ScreenNesting","PageGutter","column","jsxs","YStack","ref","contentRoot","flex","width","alignSelf","gapLg","ParentScrollScope","ScreenScrollScope","controller","minHeight","ScrollView","contentContainerStyle","flexGrow","scrollEventThrottle","onScroll","event","_scrollViewProps_onScroll","pageGutter","usePageGutter","useReportScreenScroll","state","Boolean","accessories","useState","createBottomAccessoryStore","inner","bar","TopBarSlot","accessory","BottomAccessoryHost","store","shell","shell2","page","scoped","BottomAccessoryScope","isWeb","KeyboardAvoidingWrapper","chromeClearance","BottomChromeClearance","testID","backgroundColor","scroller","title","subtitle","status","heading","actions","nav","divider","headingLevel","titleScale","usePageChromeInset","useRegisterPageHeading","level","label","enabled","TitleTag","largeTitle","useLargeTitle","titleSize","resolvePageTitleScale","pageTitle","titleNode","margin","fontWeight","showHairline","rule","hairline","bottom","borderColor","componentColors","marginHorizontal","contentPad","paddingHorizontal","overflow","position","gap","paddingBottom","XStack","justifyContent","alignItems","flexShrink","minWidth","Paragraph","body","color","textAccentColor","Surface","IconButtonGroup","left","right","pointerEvents","description","surface","headingFamily","SectionTag","headingNode","sectionHeading","surfaceProps","containerRadius","containerCapProps","borderRadius","headerBlock","gapSm","Separator","line","useBarTitleSpan","none","x","box","setBox","row","leading","trailing","set","set2","prev","JSON","stringify","extent","extent2","nativeEvent","layout","span","barTitleSpan","sideExtents","measureRow","Math","floor","measureLeading","measureTrailing","measureTitle","ceil","BarTitle","onTitleWidth","shown","text","numberOfLines","Fragment","top","opacity","onLayout","SizableText","slot","useTopBarSlot","PinnedTopBar","InlineToolbar","titleSpan","oneRow","useLayoutSizeClass","flexWrap","MIN_PRESS_TARGET"],"sources":["../../../src/layouts/page.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.81.2",
3
+ "version": "7.82.1",
4
4
  "description": "multiplatform.one ui components",
5
5
  "keywords": [
6
6
  "components",
@@ -58,11 +58,11 @@
58
58
  },
59
59
  "dependencies": {
60
60
  "@floating-ui/react": "^0.27.20",
61
- "@multiplatform.one/forms": "^7.81.2",
62
- "@multiplatform.one/i18n": "^7.81.2",
63
- "@multiplatform.one/platform": "^7.81.2",
64
- "@multiplatform.one/router": "^7.81.2",
65
- "@multiplatform.one/theme": "^7.81.2",
61
+ "@multiplatform.one/forms": "^7.82.1",
62
+ "@multiplatform.one/i18n": "^7.82.1",
63
+ "@multiplatform.one/platform": "^7.82.1",
64
+ "@multiplatform.one/router": "^7.82.1",
65
+ "@multiplatform.one/theme": "^7.82.1",
66
66
  "@phosphor-icons/react": "^2.1.10",
67
67
  "@shopify/flash-list": "^2.3.1",
68
68
  "@tamagui/colors": "2.7.6",
@@ -89,9 +89,9 @@
89
89
  "tamagui": "2.7.6"
90
90
  },
91
91
  "devDependencies": {
92
- "@multiplatform.one/config": "7.81.2",
93
- "@multiplatform.one/storybook": "7.81.2",
94
- "@multiplatform.one/test-utils": "7.81.2",
92
+ "@multiplatform.one/config": "7.82.1",
93
+ "@multiplatform.one/storybook": "7.82.1",
94
+ "@multiplatform.one/test-utils": "7.82.1",
95
95
  "@tamagui/build": "2.7.6",
96
96
  "@testing-library/jest-dom": "^7.0.1",
97
97
  "@testing-library/react": "^16.3.3",
@@ -206,7 +206,7 @@ describe("AppShell on a phone", () => {
206
206
  }
207
207
  });
208
208
 
209
- it("ends an own-chrome tab route above the tab bar it keeps, and clears it once", () => {
209
+ it("runs an own-chrome tab route full height under the tab bar it keeps, its content clearing it once", () => {
210
210
  const bar = Symbol("bar");
211
211
  act(() => setBottomChromeInset(bar, 77));
212
212
  try {
@@ -214,13 +214,17 @@ describe("AppShell on a phone", () => {
214
214
  destinations: [...destinations, { key: "/desk", label: "Desk", icon: HouseIcon }],
215
215
  children: <Screen>row</Screen>,
216
216
  });
217
- const frame = screen.getByTestId("app-shell-own-chrome");
218
- expect(
219
- getComputedStyle(frame).paddingBottom === "77px" ||
220
- /\b_pb-77px\b|padding-bottom: 77px/.test(frame.outerHTML),
221
- ).toBe(true);
217
+ const frame = document.querySelector('[data-chrome="own"]') as HTMLElement;
222
218
  expect(frame.contains(screen.getByText("row"))).toBe(true);
223
- expect(screen.queryByTestId("screen-chrome-clearance")).toBeNull();
219
+ expect(screen.queryByTestId("app-shell-own-chrome")).toBeNull();
220
+ for (let node = screen.getByText("row").parentElement; node; node = node.parentElement) {
221
+ expect(/\b_pb-77px\b|padding-bottom: 77px/.test(node.getAttribute("style") ?? "")).toBe(
222
+ false,
223
+ );
224
+ expect(node.className).not.toMatch(/\b_pb-77px\b/);
225
+ if (node === frame) break;
226
+ }
227
+ expect(screen.getAllByTestId("screen-chrome-clearance")).toHaveLength(1);
224
228
  } finally {
225
229
  act(() => setBottomChromeInset(bar, null));
226
230
  }
@@ -49,7 +49,7 @@ import { Sidebar } from "../layouts/sidebar";
49
49
  import { useTranslation } from "../shared/i18n";
50
50
  import type { TabBarIcon, TabBarItem } from "./TabBar";
51
51
  import { TabHost } from "./TabHost";
52
- import { BottomChromeCleared, useBottomChromeInset, useFloatingBarMounted } from "./bottomChrome";
52
+ import { useBottomChromeInset, useFloatingBarMounted } from "./bottomChrome";
53
53
 
54
54
  export interface AppShellDestination {
55
55
  /** The destination's route; a path under it keeps it selected. */
@@ -330,14 +330,7 @@ export function AppShell({
330
330
  >
331
331
  {showTabs ? (
332
332
  <TabHost items={tabItems} activeKey={destination?.key} onTabPress={onTabPress}>
333
- <YStack
334
- flex={1}
335
- minHeight={0}
336
- paddingBottom={chromeInset}
337
- data-testid="app-shell-own-chrome"
338
- >
339
- <BottomChromeCleared>{children}</BottomChromeCleared>
340
- </YStack>
333
+ {children}
341
334
  </TabHost>
342
335
  ) : (
343
336
  children
@@ -0,0 +1,42 @@
1
+ /**
2
+ * LC-150 (FZ-8105): a desk's own scroll view runs under the translucent tab
3
+ * bar and ends its content with the height the bar covers, so the last row
4
+ * scrolls clear of it.
5
+ */
6
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
7
+ import { act, cleanup, screen } from "@testing-library/react";
8
+ import { afterEach, expect, it } from "vitest";
9
+ import { ScrollView } from "../ScrollView";
10
+ import { BottomChromeClearance } from "./BottomChromeClearance";
11
+ import { setBottomChromeInset } from "./bottomChrome";
12
+
13
+ const bar = Symbol("bar");
14
+
15
+ afterEach(() => {
16
+ cleanup();
17
+ act(() => setBottomChromeInset(bar, null));
18
+ });
19
+
20
+ it("renders nothing when no tab bar is mounted", () => {
21
+ renderWithProviders(<BottomChromeClearance />);
22
+ expect(screen.queryByTestId("chrome-clearance")).toBeNull();
23
+ });
24
+
25
+ it("ends a scroll view's content with the height the tab bar covers", () => {
26
+ act(() => setBottomChromeInset(bar, 83 + 34));
27
+ renderWithProviders(
28
+ <ScrollView>
29
+ <span>Sprite Back</span>
30
+ <BottomChromeClearance />
31
+ </ScrollView>,
32
+ );
33
+ const clearance = screen.getByTestId("chrome-clearance");
34
+ expect(
35
+ getComputedStyle(clearance).height === "117px" ||
36
+ /\b_h-117px\b|height: 117px/.test(clearance.outerHTML),
37
+ ).toBe(true);
38
+ expect(
39
+ screen.getByText("Sprite Back").compareDocumentPosition(clearance) &
40
+ Node.DOCUMENT_POSITION_FOLLOWING,
41
+ ).toBeTruthy();
42
+ });
@@ -0,0 +1,15 @@
1
+ import { YStack } from "tamagui";
2
+ import { useBottomChromeInset } from "./bottomChrome";
3
+
4
+ /**
5
+ * Ends a scroll view's content with the height the bottom chrome covers, so
6
+ * content scrolls under a translucent tab bar and its last row still clears it.
7
+ * Renders nothing when no bar is mounted. One per scroll view: `Screen` ends
8
+ * its own content with one.
9
+ */
10
+ export function BottomChromeClearance({ testID = "chrome-clearance" }: { testID?: string }) {
11
+ const inset = useBottomChromeInset();
12
+ return inset > 0 ? (
13
+ <YStack height={inset} flexShrink={0} aria-hidden data-testid={testID} />
14
+ ) : null;
15
+ }
@@ -6,13 +6,7 @@
6
6
  * bar and the page are siblings in every host, so both live in a store, not
7
7
  * a context a host would have to wire.
8
8
  */
9
- import {
10
- createContext,
11
- createElement,
12
- type ReactNode,
13
- useContext,
14
- useSyncExternalStore,
15
- } from "react";
9
+ import { type ReactNode, useSyncExternalStore } from "react";
16
10
 
17
11
  function createStore<T>(empty: T) {
18
12
  const entries = new Map<symbol, T>();
@@ -45,24 +39,9 @@ export function setBottomChromeInset(id: symbol, next: number | null) {
45
39
  insets.set(id, next, (values) => Math.max(...values));
46
40
  }
47
41
 
48
- const Cleared = createContext(false);
49
-
50
- /**
51
- * A region whose frame already ends above the bottom chrome, so nothing in it
52
- * pads by the inset again.
53
- */
54
- export function BottomChromeCleared({ children }: { children?: ReactNode }) {
55
- return createElement(Cleared.Provider, { value: true }, children);
56
- }
57
-
58
- /**
59
- * Points of screen the bottom chrome covers; 0 when no floating tab bar is
60
- * mounted, or inside a `BottomChromeCleared` region.
61
- */
42
+ /** Points of screen the bottom chrome covers; 0 when no floating tab bar is mounted. */
62
43
  export function useBottomChromeInset(): number {
63
- const cleared = useContext(Cleared);
64
- const inset = useSyncExternalStore(insets.subscribe, insets.get, insets.empty);
65
- return cleared ? 0 : inset;
44
+ return useSyncExternalStore(insets.subscribe, insets.get, insets.empty);
66
45
  }
67
46
 
68
47
  const accessories = createStore<ReactNode>(null);
@@ -8,3 +8,4 @@ export type { AppEntry } from "./appTile";
8
8
  export * from "./SettingsSplit";
9
9
  export * from "./AppShell";
10
10
  export { useBottomChromeInset } from "./bottomChrome";
11
+ export { BottomChromeClearance } from "./BottomChromeClearance";
@@ -46,6 +46,19 @@ describe("CodeBlock copy (Input.Button + notify)", () => {
46
46
  expect(style.display).not.toBe("none");
47
47
  });
48
48
 
49
+ it("a command is one code surface with its copy inside, top-trailing (LC-267)", () => {
50
+ const result = renderWithProviders(<CodeBlock language="sh">shc node join</CodeBlock>);
51
+ const surface = result.container.querySelector("[data-code-surface]") as HTMLElement | null;
52
+ if (!surface) throw new Error("code surface missing");
53
+ const copy = copyOf(result.container);
54
+ expect(copy && surface.contains(copy)).toBe(true);
55
+ const cell = surface.querySelector("[data-code-copy]") as HTMLElement;
56
+ expect(surface.lastElementChild).toBe(cell);
57
+ expect(getComputedStyle(cell).position).not.toBe("absolute");
58
+ const code = surface.querySelector("[data-register='code']") as HTMLElement;
59
+ expect(code.compareDocumentPosition(cell) & Node.DOCUMENT_POSITION_FOLLOWING).toBeTruthy();
60
+ });
61
+
49
62
  it("empty code omits the copy cap", () => {
50
63
  const result = renderWithProviders(<CodeBlock>{""}</CodeBlock>);
51
64
  expect(copyOf(result.container)).toBeNull();