@multiplatform.one/components 7.79.0 → 7.81.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 (411) hide show
  1. package/dist/cjs/CheckGlyph/MenuCheckColumn.cjs +56 -0
  2. package/dist/cjs/CheckGlyph/MenuCheckColumn.native.js +60 -0
  3. package/dist/cjs/CheckGlyph/MenuCheckColumn.native.js.map +1 -0
  4. package/dist/cjs/CheckGlyph/index.cjs +40 -0
  5. package/dist/cjs/CheckGlyph/index.native.js +44 -0
  6. package/dist/cjs/CheckGlyph/index.native.js.map +1 -0
  7. package/dist/cjs/ContextMenu/index.cjs +5 -22
  8. package/dist/cjs/ContextMenu/index.native.js +7 -25
  9. package/dist/cjs/ContextMenu/index.native.js.map +1 -1
  10. package/dist/cjs/DropdownMenu/index.cjs +5 -17
  11. package/dist/cjs/DropdownMenu/index.native.js +7 -19
  12. package/dist/cjs/DropdownMenu/index.native.js.map +1 -1
  13. package/dist/cjs/Popover.cjs +2 -2
  14. package/dist/cjs/Popover.native.js +2 -2
  15. package/dist/cjs/Popover.native.js.map +1 -1
  16. package/dist/cjs/SchemeToggle/index.cjs +2 -2
  17. package/dist/cjs/SchemeToggle/index.native.js +2 -2
  18. package/dist/cjs/SchemeToggle/index.native.js.map +1 -1
  19. package/dist/cjs/SheetModal/index.cjs +4 -1
  20. package/dist/cjs/SheetModal/index.native.js +1 -1
  21. package/dist/cjs/SheetModal/index.native.js.map +1 -1
  22. package/dist/cjs/TreeSelect/index.cjs +2 -6
  23. package/dist/cjs/TreeSelect/index.native.js +2 -6
  24. package/dist/cjs/TreeSelect/index.native.js.map +1 -1
  25. package/dist/cjs/appShell/AppShell.cjs +438 -0
  26. package/dist/cjs/appShell/AppShell.native.js +505 -0
  27. package/dist/cjs/appShell/AppShell.native.js.map +1 -0
  28. package/dist/cjs/appShell/ScopeMenu.cjs +39 -16
  29. package/dist/cjs/appShell/ScopeMenu.native.js +43 -17
  30. package/dist/cjs/appShell/ScopeMenu.native.js.map +1 -1
  31. package/dist/cjs/appShell/TabHost.native.js +41 -10
  32. package/dist/cjs/appShell/TabHost.native.js.map +1 -1
  33. package/dist/cjs/appShell/index.cjs +1 -0
  34. package/dist/cjs/appShell/index.native.js +1 -0
  35. package/dist/cjs/appShell/index.native.js.map +1 -1
  36. package/dist/cjs/layouts/page.cjs +3 -0
  37. package/dist/cjs/layouts/page.native.js +3 -0
  38. package/dist/cjs/layouts/page.native.js.map +1 -1
  39. package/dist/cjs/layouts/screenScroll.cjs +55 -0
  40. package/dist/cjs/layouts/screenScroll.native.js +59 -0
  41. package/dist/cjs/layouts/screenScroll.native.js.map +1 -1
  42. package/dist/cjs/layouts/sidebar.cjs +74 -16
  43. package/dist/cjs/layouts/sidebar.native.js +78 -16
  44. package/dist/cjs/layouts/sidebar.native.js.map +1 -1
  45. package/dist/esm/Accordion/index.native.js.map +1 -1
  46. package/dist/esm/AnimateHeight/index.native.js.map +1 -1
  47. package/dist/esm/Avatar/getInitials.native.js.map +1 -1
  48. package/dist/esm/Avatar/index.native.js.map +1 -1
  49. package/dist/esm/Badge/index.native.js.map +1 -1
  50. package/dist/esm/Button.native.js.map +1 -1
  51. package/dist/esm/Carousel/index.native.js.map +1 -1
  52. package/dist/esm/CheckGlyph/MenuCheckColumn.mjs +31 -0
  53. package/dist/esm/CheckGlyph/MenuCheckColumn.mjs.map +1 -0
  54. package/dist/esm/CheckGlyph/MenuCheckColumn.native.js +32 -0
  55. package/dist/esm/CheckGlyph/MenuCheckColumn.native.js.map +1 -0
  56. package/dist/esm/CheckGlyph/index.mjs +15 -0
  57. package/dist/esm/CheckGlyph/index.mjs.map +1 -0
  58. package/dist/esm/CheckGlyph/index.native.js +16 -0
  59. package/dist/esm/CheckGlyph/index.native.js.map +1 -0
  60. package/dist/esm/Chip/index.native.js.map +1 -1
  61. package/dist/esm/Collapsible.native.js.map +1 -1
  62. package/dist/esm/ContextMenu/index.mjs +6 -23
  63. package/dist/esm/ContextMenu/index.mjs.map +1 -1
  64. package/dist/esm/ContextMenu/index.native.js +8 -26
  65. package/dist/esm/ContextMenu/index.native.js.map +1 -1
  66. package/dist/esm/CopyField/CopyMenuButton.native.js.map +1 -1
  67. package/dist/esm/CopyField/index.native.js.map +1 -1
  68. package/dist/esm/Dialog.native.js.map +1 -1
  69. package/dist/esm/Diff/diff.native.js.map +1 -1
  70. package/dist/esm/Diff/index.native.js.map +1 -1
  71. package/dist/esm/DotIndicator/index.native.js.map +1 -1
  72. package/dist/esm/DropdownMenu/index.mjs +6 -18
  73. package/dist/esm/DropdownMenu/index.mjs.map +1 -1
  74. package/dist/esm/DropdownMenu/index.native.js +8 -20
  75. package/dist/esm/DropdownMenu/index.native.js.map +1 -1
  76. package/dist/esm/DropdownMenu/menuSettle.native.js.map +1 -1
  77. package/dist/esm/ElapsedProgress/index.native.js.map +1 -1
  78. package/dist/esm/ErrorBoundary/index.native.js.map +1 -1
  79. package/dist/esm/Heading.native.js.map +1 -1
  80. package/dist/esm/Kbd/index.native.js.map +1 -1
  81. package/dist/esm/Kbd/keys.native.js.map +1 -1
  82. package/dist/esm/Lightbox/MediaControl.native.js.map +1 -1
  83. package/dist/esm/Lightbox/index.gnome.native.js.map +1 -1
  84. package/dist/esm/Lightbox/shared.native.js.map +1 -1
  85. package/dist/esm/Lightbox/useLightbox.native.js.map +1 -1
  86. package/dist/esm/MachineLiteral/index.native.js.map +1 -1
  87. package/dist/esm/Material/index.native.js.map +1 -1
  88. package/dist/esm/Meter/index.native.js.map +1 -1
  89. package/dist/esm/Meter/meter.native.js.map +1 -1
  90. package/dist/esm/OverflowRow/index.native.js.map +1 -1
  91. package/dist/esm/Pagination.native.js.map +1 -1
  92. package/dist/esm/Popover.mjs +2 -2
  93. package/dist/esm/Popover.mjs.map +1 -1
  94. package/dist/esm/Popover.native.js +2 -2
  95. package/dist/esm/Popover.native.js.map +1 -1
  96. package/dist/esm/ProgressSteps/index.native.js.map +1 -1
  97. package/dist/esm/Quote/index.native.js.map +1 -1
  98. package/dist/esm/SchemeToggle/index.mjs +3 -3
  99. package/dist/esm/SchemeToggle/index.mjs.map +1 -1
  100. package/dist/esm/SchemeToggle/index.native.js +3 -3
  101. package/dist/esm/SchemeToggle/index.native.js.map +1 -1
  102. package/dist/esm/ScrollView/revealFocusedField.native.js.map +1 -1
  103. package/dist/esm/Separator/index.native.js.map +1 -1
  104. package/dist/esm/Sheet.native.js.map +1 -1
  105. package/dist/esm/SheetModal/SheetHeader.native.js.map +1 -1
  106. package/dist/esm/SheetModal/SheetNavigation.native.js.map +1 -1
  107. package/dist/esm/SheetModal/detents.native.js.map +1 -1
  108. package/dist/esm/SheetModal/index.mjs +5 -2
  109. package/dist/esm/SheetModal/index.mjs.map +1 -1
  110. package/dist/esm/SheetModal/index.native.js +2 -2
  111. package/dist/esm/SheetModal/index.native.js.map +1 -1
  112. package/dist/esm/SheetModal/useSheetFrameFocus.native.js.map +1 -1
  113. package/dist/esm/Skeleton/index.native.js.map +1 -1
  114. package/dist/esm/SkipLink/index.native.js.map +1 -1
  115. package/dist/esm/SortableList/SortableHandle.native.js.map +1 -1
  116. package/dist/esm/SortableList/index.native.js.map +1 -1
  117. package/dist/esm/SortableList/useSortableRows.native.js.map +1 -1
  118. package/dist/esm/SortableList/useUserOrder.native.js.map +1 -1
  119. package/dist/esm/Tabs/index.native.js.map +1 -1
  120. package/dist/esm/Text.native.js.map +1 -1
  121. package/dist/esm/ThemePresetPicker/index.native.js.map +1 -1
  122. package/dist/esm/Toast/index.native.js.map +1 -1
  123. package/dist/esm/Toast/store.native.js.map +1 -1
  124. package/dist/esm/Tooltip/nativePress.native.js.map +1 -1
  125. package/dist/esm/Tooltip/tooltipShared.native.js.map +1 -1
  126. package/dist/esm/TreeSelect/index.mjs +4 -8
  127. package/dist/esm/TreeSelect/index.mjs.map +1 -1
  128. package/dist/esm/TreeSelect/index.native.js +4 -8
  129. package/dist/esm/TreeSelect/index.native.js.map +1 -1
  130. package/dist/esm/TreeSelect/treeSelectModel.native.js.map +1 -1
  131. package/dist/esm/Video/PlayerChrome.native.js.map +1 -1
  132. package/dist/esm/Video/VideoFrame.native.js.map +1 -1
  133. package/dist/esm/Video/types.native.js.map +1 -1
  134. package/dist/esm/Wheel/index.native.js.map +1 -1
  135. package/dist/esm/Wizard/index.native.js.map +1 -1
  136. package/dist/esm/actions/ActionBar.native.js.map +1 -1
  137. package/dist/esm/actions/DangerSection.native.js.map +1 -1
  138. package/dist/esm/actions/DestructiveAction.native.js.map +1 -1
  139. package/dist/esm/actions/HeaderActions.native.js.map +1 -1
  140. package/dist/esm/actions/StandardAction.native.js.map +1 -1
  141. package/dist/esm/actions/devWarn.native.js.map +1 -1
  142. package/dist/esm/actions/index.native.js.map +1 -1
  143. package/dist/esm/actions/severity.native.js.map +1 -1
  144. package/dist/esm/appShell/AppShell.mjs +412 -0
  145. package/dist/esm/appShell/AppShell.mjs.map +1 -0
  146. package/dist/esm/appShell/AppShell.native.js +476 -0
  147. package/dist/esm/appShell/AppShell.native.js.map +1 -0
  148. package/dist/esm/appShell/Dock.native.js.map +1 -1
  149. package/dist/esm/appShell/MpoTabHost.native.js.map +1 -1
  150. package/dist/esm/appShell/ScopeMenu.mjs +43 -20
  151. package/dist/esm/appShell/ScopeMenu.mjs.map +1 -1
  152. package/dist/esm/appShell/ScopeMenu.native.js +47 -21
  153. package/dist/esm/appShell/ScopeMenu.native.js.map +1 -1
  154. package/dist/esm/appShell/SettingsSplit.native.js.map +1 -1
  155. package/dist/esm/appShell/Springboard.native.js.map +1 -1
  156. package/dist/esm/appShell/SystemBar.native.js.map +1 -1
  157. package/dist/esm/appShell/TabBar.mjs.map +1 -1
  158. package/dist/esm/appShell/TabBar.native.js.map +1 -1
  159. package/dist/esm/appShell/TabHost.native.js +41 -12
  160. package/dist/esm/appShell/TabHost.native.js.map +1 -1
  161. package/dist/esm/appShell/appTile.native.js.map +1 -1
  162. package/dist/esm/appShell/bottomChrome.native.js.map +1 -1
  163. package/dist/esm/appShell/index.mjs +1 -0
  164. package/dist/esm/appShell/index.mjs.map +1 -1
  165. package/dist/esm/appShell/index.native.js +1 -0
  166. package/dist/esm/appShell/index.native.js.map +1 -1
  167. package/dist/esm/charts/Axis.native.js.map +1 -1
  168. package/dist/esm/charts/BarChart.native.js.map +1 -1
  169. package/dist/esm/charts/ChartDataView.native.js.map +1 -1
  170. package/dist/esm/charts/ChartSurface.native.js.map +1 -1
  171. package/dist/esm/charts/LineChart.native.js.map +1 -1
  172. package/dist/esm/charts/PieChart.native.js.map +1 -1
  173. package/dist/esm/charts/Sparkline.native.js.map +1 -1
  174. package/dist/esm/charts/accessibility.native.js.map +1 -1
  175. package/dist/esm/charts/chartHeight.native.js.map +1 -1
  176. package/dist/esm/charts/composeChart.native.js.map +1 -1
  177. package/dist/esm/charts/index.native.js.map +1 -1
  178. package/dist/esm/charts/math.native.js.map +1 -1
  179. package/dist/esm/charts/series.native.js.map +1 -1
  180. package/dist/esm/charts/svg.native.js.map +1 -1
  181. package/dist/esm/charts/types.native.js.map +1 -1
  182. package/dist/esm/charts/useChartTheme.native.js.map +1 -1
  183. package/dist/esm/code/Code/index.native.js.map +1 -1
  184. package/dist/esm/code/CodeBlock/index.native.js.map +1 -1
  185. package/dist/esm/code/HighlightedCode/index.native.js.map +1 -1
  186. package/dist/esm/code/Highlighter/houseSyntaxTheme.native.js.map +1 -1
  187. package/dist/esm/code/Highlighter/index.native.js.map +1 -1
  188. package/dist/esm/code/Highlighter/namedGroupMatchAll.native.js.map +1 -1
  189. package/dist/esm/code/Pre/index.native.js.map +1 -1
  190. package/dist/esm/code/index.native.js.map +1 -1
  191. package/dist/esm/componentColors.native.js.map +1 -1
  192. package/dist/esm/feedback/ConfirmDialog.native.js.map +1 -1
  193. package/dist/esm/feedback/NotifyHost.native.js.map +1 -1
  194. package/dist/esm/feedback/copy.native.js.map +1 -1
  195. package/dist/esm/feedback/index.native.js.map +1 -1
  196. package/dist/esm/feedback/notify.native.js.map +1 -1
  197. package/dist/esm/feedback/route.native.js.map +1 -1
  198. package/dist/esm/feedback/store.native.js.map +1 -1
  199. package/dist/esm/formLayouts/FormLayouts.native.js.map +1 -1
  200. package/dist/esm/formLayouts/PreferencePanel.native.js.map +1 -1
  201. package/dist/esm/formLayouts/index.native.js.map +1 -1
  202. package/dist/esm/hooks/index.native.js.map +1 -1
  203. package/dist/esm/hooks/useClipboard.native.js.map +1 -1
  204. package/dist/esm/hooks/useDocumentTitle.native.js.map +1 -1
  205. package/dist/esm/hooks/useHoldCue.native.js.map +1 -1
  206. package/dist/esm/icons/CheckRegular.native.js.map +1 -1
  207. package/dist/esm/icons/MinusRegular.native.js.map +1 -1
  208. package/dist/esm/icons/index.native.js.map +1 -1
  209. package/dist/esm/icons/lucide.native.js.map +1 -1
  210. package/dist/esm/icons/themed.native.js.map +1 -1
  211. package/dist/esm/images/Image/ImageFrame.native.js.map +1 -1
  212. package/dist/esm/images/Image/framing.native.js.map +1 -1
  213. package/dist/esm/images/Image/mediaRadius.native.js.map +1 -1
  214. package/dist/esm/images/Image/shared.native.js.map +1 -1
  215. package/dist/esm/images/Image/types.native.js.map +1 -1
  216. package/dist/esm/images/index.native.js.map +1 -1
  217. package/dist/esm/index.native.js.map +1 -1
  218. package/dist/esm/knobImmuneExports.native.js.map +1 -1
  219. package/dist/esm/layouts/AsyncBoundary.native.js.map +1 -1
  220. package/dist/esm/layouts/Debug/index.native.js.map +1 -1
  221. package/dist/esm/layouts/EmptyState.native.js.map +1 -1
  222. package/dist/esm/layouts/IdentityPlate.native.js.map +1 -1
  223. package/dist/esm/layouts/KeyboardAvoidingWrapper/behavior.native.js.map +1 -1
  224. package/dist/esm/layouts/PageTemplates.native.js.map +1 -1
  225. package/dist/esm/layouts/PaneScaffold.native.js.map +1 -1
  226. package/dist/esm/layouts/SafeAreaWrapper/insets.native.js.map +1 -1
  227. package/dist/esm/layouts/StatusDot.native.js.map +1 -1
  228. package/dist/esm/layouts/StatusGlyphStrip.native.js.map +1 -1
  229. package/dist/esm/layouts/ViewSwitcher.native.js.map +1 -1
  230. package/dist/esm/layouts/attachments.native.js.map +1 -1
  231. package/dist/esm/layouts/bottomAccessory.native.js.map +1 -1
  232. package/dist/esm/layouts/breadcrumbs.native.js.map +1 -1
  233. package/dist/esm/layouts/index.native.js.map +1 -1
  234. package/dist/esm/layouts/page.mjs +4 -2
  235. package/dist/esm/layouts/page.mjs.map +1 -1
  236. package/dist/esm/layouts/page.native.js +4 -2
  237. package/dist/esm/layouts/page.native.js.map +1 -1
  238. package/dist/esm/layouts/pageHeadingScope.native.js.map +1 -1
  239. package/dist/esm/layouts/screenScroll.mjs +53 -1
  240. package/dist/esm/layouts/screenScroll.mjs.map +1 -1
  241. package/dist/esm/layouts/screenScroll.native.js +57 -1
  242. package/dist/esm/layouts/screenScroll.native.js.map +1 -1
  243. package/dist/esm/layouts/shellSidebarSlot.native.js.map +1 -1
  244. package/dist/esm/layouts/sidebar.mjs +74 -19
  245. package/dist/esm/layouts/sidebar.mjs.map +1 -1
  246. package/dist/esm/layouts/sidebar.native.js +78 -19
  247. package/dist/esm/layouts/sidebar.native.js.map +1 -1
  248. package/dist/esm/layouts/tags.native.js.map +1 -1
  249. package/dist/esm/layouts/timeline.native.js.map +1 -1
  250. package/dist/esm/layouts/toolbar.native.js.map +1 -1
  251. package/dist/esm/shared/actionScan.native.js.map +1 -1
  252. package/dist/esm/shared/i18n.native.js.map +1 -1
  253. package/dist/esm/shared/restoreRetries.native.js.map +1 -1
  254. package/dist/esm/shared/t.native.js.map +1 -1
  255. package/dist/esm/shared/textRidesText.native.js.map +1 -1
  256. package/dist/esm/shared/useReturnFocusOnClose.native.js.map +1 -1
  257. package/dist/esm/surfaces.native.js.map +1 -1
  258. package/dist/esm/tamagui.native.js.map +1 -1
  259. package/dist/esm/testSetup.native.js.map +1 -1
  260. package/dist/esm/utils/setTinted.native.js.map +1 -1
  261. package/dist/esm/utils/unwrapText.native.js.map +1 -1
  262. package/dist/esm/views/Calendar.native.js.map +1 -1
  263. package/dist/esm/views/Dashboard.native.js.map +1 -1
  264. package/dist/esm/views/Gantt.native.js.map +1 -1
  265. package/dist/esm/views/GanttDateGrip.native.js.map +1 -1
  266. package/dist/esm/views/ImageGrid.native.js.map +1 -1
  267. package/dist/esm/views/List.native.js.map +1 -1
  268. package/dist/esm/views/ListGroup.native.js.map +1 -1
  269. package/dist/esm/views/ListRow.native.js.map +1 -1
  270. package/dist/esm/views/Matrix.native.js.map +1 -1
  271. package/dist/esm/views/ReportBuilder.native.js.map +1 -1
  272. package/dist/esm/views/ShortcutCard.native.js.map +1 -1
  273. package/dist/esm/views/TreeView.native.js.map +1 -1
  274. package/dist/esm/views/calendarMath.native.js.map +1 -1
  275. package/dist/esm/views/ganttIntervals.native.js.map +1 -1
  276. package/dist/esm/views/ganttMath.native.js.map +1 -1
  277. package/dist/esm/views/index.native.js.map +1 -1
  278. package/dist/esm/views/kanbanDnd.native.js.map +1 -1
  279. package/dist/esm/views/matrixMath.native.js.map +1 -1
  280. package/dist/esm/views/sameNameScope.native.js.map +1 -1
  281. package/dist/esm/views/treeViewDnd.native.js.map +1 -1
  282. package/dist/esm/views/treeViewLayout.native.js.map +1 -1
  283. package/dist/esm/views/treeViewMotion.native.js.map +1 -1
  284. package/dist/esm/views/treeViewReveal.native.js.map +1 -1
  285. package/dist/esm/views/usePageFlowLoadMore.native.js.map +1 -1
  286. package/dist/esm/views/widgetChrome.native.js.map +1 -1
  287. package/dist/jsx/CheckGlyph/MenuCheckColumn.mjs +31 -0
  288. package/dist/jsx/CheckGlyph/MenuCheckColumn.mjs.map +1 -0
  289. package/dist/jsx/CheckGlyph/MenuCheckColumn.native.js +60 -0
  290. package/dist/jsx/CheckGlyph/MenuCheckColumn.native.js.map +1 -0
  291. package/dist/jsx/CheckGlyph/index.mjs +15 -0
  292. package/dist/jsx/CheckGlyph/index.mjs.map +1 -0
  293. package/dist/jsx/CheckGlyph/index.native.js +44 -0
  294. package/dist/jsx/CheckGlyph/index.native.js.map +1 -0
  295. package/dist/jsx/ContextMenu/index.mjs +6 -23
  296. package/dist/jsx/ContextMenu/index.mjs.map +1 -1
  297. package/dist/jsx/ContextMenu/index.native.js +7 -25
  298. package/dist/jsx/ContextMenu/index.native.js.map +1 -1
  299. package/dist/jsx/DropdownMenu/index.mjs +6 -18
  300. package/dist/jsx/DropdownMenu/index.mjs.map +1 -1
  301. package/dist/jsx/DropdownMenu/index.native.js +7 -19
  302. package/dist/jsx/DropdownMenu/index.native.js.map +1 -1
  303. package/dist/jsx/Popover.mjs +2 -2
  304. package/dist/jsx/Popover.mjs.map +1 -1
  305. package/dist/jsx/Popover.native.js +2 -2
  306. package/dist/jsx/Popover.native.js.map +1 -1
  307. package/dist/jsx/SchemeToggle/index.mjs +3 -3
  308. package/dist/jsx/SchemeToggle/index.mjs.map +1 -1
  309. package/dist/jsx/SchemeToggle/index.native.js +2 -2
  310. package/dist/jsx/SchemeToggle/index.native.js.map +1 -1
  311. package/dist/jsx/SheetModal/index.mjs +5 -2
  312. package/dist/jsx/SheetModal/index.mjs.map +1 -1
  313. package/dist/jsx/SheetModal/index.native.js +1 -1
  314. package/dist/jsx/SheetModal/index.native.js.map +1 -1
  315. package/dist/jsx/TreeSelect/index.mjs +4 -8
  316. package/dist/jsx/TreeSelect/index.mjs.map +1 -1
  317. package/dist/jsx/TreeSelect/index.native.js +2 -6
  318. package/dist/jsx/TreeSelect/index.native.js.map +1 -1
  319. package/dist/jsx/appShell/AppShell.mjs +412 -0
  320. package/dist/jsx/appShell/AppShell.mjs.map +1 -0
  321. package/dist/jsx/appShell/AppShell.native.js +505 -0
  322. package/dist/jsx/appShell/AppShell.native.js.map +1 -0
  323. package/dist/jsx/appShell/ScopeMenu.mjs +43 -20
  324. package/dist/jsx/appShell/ScopeMenu.mjs.map +1 -1
  325. package/dist/jsx/appShell/ScopeMenu.native.js +43 -17
  326. package/dist/jsx/appShell/ScopeMenu.native.js.map +1 -1
  327. package/dist/jsx/appShell/TabBar.mjs.map +1 -1
  328. package/dist/jsx/appShell/TabBar.native.js.map +1 -1
  329. package/dist/jsx/appShell/TabHost.native.js +41 -10
  330. package/dist/jsx/appShell/TabHost.native.js.map +1 -1
  331. package/dist/jsx/appShell/index.mjs +1 -0
  332. package/dist/jsx/appShell/index.mjs.map +1 -1
  333. package/dist/jsx/appShell/index.native.js +1 -0
  334. package/dist/jsx/appShell/index.native.js.map +1 -1
  335. package/dist/jsx/feedback/NotifyHost.native.js +1 -1
  336. package/dist/jsx/formLayouts/PreferencePanel.native.js +1 -1
  337. package/dist/jsx/index.native.js +1 -1
  338. package/dist/jsx/layouts/AsyncBoundary.native.js +1 -1
  339. package/dist/jsx/layouts/AsyncBoundary.native.js.map +1 -1
  340. package/dist/jsx/layouts/page.mjs +4 -2
  341. package/dist/jsx/layouts/page.mjs.map +1 -1
  342. package/dist/jsx/layouts/page.native.js +3 -0
  343. package/dist/jsx/layouts/page.native.js.map +1 -1
  344. package/dist/jsx/layouts/screenScroll.mjs +53 -1
  345. package/dist/jsx/layouts/screenScroll.mjs.map +1 -1
  346. package/dist/jsx/layouts/screenScroll.native.js +59 -0
  347. package/dist/jsx/layouts/screenScroll.native.js.map +1 -1
  348. package/dist/jsx/layouts/sidebar.mjs +74 -19
  349. package/dist/jsx/layouts/sidebar.mjs.map +1 -1
  350. package/dist/jsx/layouts/sidebar.native.js +78 -16
  351. package/dist/jsx/layouts/sidebar.native.js.map +1 -1
  352. package/package.json +9 -9
  353. package/src/CheckGlyph/CheckGlyph.spec.tsx +46 -0
  354. package/src/CheckGlyph/MenuCheckColumn.tsx +32 -0
  355. package/src/CheckGlyph/index.tsx +12 -0
  356. package/src/ContextMenu/ContextMenu.spec.tsx +46 -1
  357. package/src/ContextMenu/index.tsx +5 -22
  358. package/src/DropdownMenu/DropdownMenu.avatarTrigger.spec.tsx +6 -9
  359. package/src/DropdownMenu/index.tsx +5 -18
  360. package/src/Popover.coverTrigger.spec.tsx +3 -3
  361. package/src/Popover.tsx +5 -5
  362. package/src/SchemeToggle/SchemeToggle.spec.tsx +5 -11
  363. package/src/SchemeToggle/SchemeToggle.stories.tsx +21 -0
  364. package/src/SchemeToggle/index.tsx +2 -1
  365. package/src/SheetModal/index.native.tsx +2 -1
  366. package/src/SheetModal/index.tsx +5 -2
  367. package/src/TreeSelect/index.tsx +2 -4
  368. package/src/appShell/AppShell.spec.tsx +289 -0
  369. package/src/appShell/AppShell.stories.tsx +112 -0
  370. package/src/appShell/AppShell.tsx +535 -0
  371. package/src/appShell/ScopeMenu.spec.tsx +22 -0
  372. package/src/appShell/ScopeMenu.tsx +57 -18
  373. package/src/appShell/TabBar.tsx +13 -3
  374. package/src/appShell/TabHost.native.spec.tsx +53 -6
  375. package/src/appShell/TabHost.native.tsx +50 -14
  376. package/src/appShell/TabHost.stories.tsx +72 -0
  377. package/src/appShell/index.ts +1 -0
  378. package/src/layouts/PageHeader.stories.tsx +3 -3
  379. package/src/layouts/Sidebar.spec.tsx +92 -1
  380. package/src/layouts/page.tsx +8 -0
  381. package/src/layouts/pageActionButton.spec.tsx +7 -3
  382. package/src/layouts/screenScroll.tsx +71 -0
  383. package/src/layouts/sidebar.tsx +102 -10
  384. package/types/CheckGlyph/MenuCheckColumn.d.ts +11 -0
  385. package/types/CheckGlyph/MenuCheckColumn.d.ts.map +1 -0
  386. package/types/CheckGlyph/index.d.ts +10 -0
  387. package/types/CheckGlyph/index.d.ts.map +1 -0
  388. package/types/ContextMenu/index.d.ts.map +1 -1
  389. package/types/DropdownMenu/index.d.ts.map +1 -1
  390. package/types/Popover.d.ts +1 -1
  391. package/types/Popover.d.ts.map +1 -1
  392. package/types/SchemeToggle/index.d.ts.map +1 -1
  393. package/types/SheetModal/index.d.ts.map +1 -1
  394. package/types/SheetModal/index.native.d.ts.map +1 -1
  395. package/types/TreeSelect/index.d.ts.map +1 -1
  396. package/types/appShell/AppShell.d.ts +47 -0
  397. package/types/appShell/AppShell.d.ts.map +1 -0
  398. package/types/appShell/ScopeMenu.d.ts +0 -18
  399. package/types/appShell/ScopeMenu.d.ts.map +1 -1
  400. package/types/appShell/TabBar.d.ts +12 -6
  401. package/types/appShell/TabBar.d.ts.map +1 -1
  402. package/types/appShell/TabHost.native.d.ts +23 -5
  403. package/types/appShell/TabHost.native.d.ts.map +1 -1
  404. package/types/appShell/index.d.ts +1 -0
  405. package/types/appShell/index.d.ts.map +1 -1
  406. package/types/layouts/page.d.ts +5 -0
  407. package/types/layouts/page.d.ts.map +1 -1
  408. package/types/layouts/screenScroll.d.ts +24 -0
  409. package/types/layouts/screenScroll.d.ts.map +1 -1
  410. package/types/layouts/sidebar.d.ts +37 -1
  411. package/types/layouts/sidebar.d.ts.map +1 -1
@@ -0,0 +1,476 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { zIndex } from "@multiplatform.one/forms";
3
+ import { isWeb } from "@multiplatform.one/platform";
4
+ import { MIN_PRESS_TARGET, Surface, hairline, transitionProps, useLayoutSizeClass, useResolvedKnobs } from "@multiplatform.one/theme";
5
+ import { ListIcon } from "@phosphor-icons/react";
6
+ import { createElement, useEffect, useMemo, useState } from "react";
7
+ import { SizableText, XStack, YStack } from "tamagui";
8
+ import { componentColors } from "../componentColors.native.js";
9
+ import { DropdownMenu } from "../DropdownMenu/index.native.js";
10
+ import { PageBackButton, PageBarButton, READABLE_MAX_WIDTH } from "../layouts/page.native.js";
11
+ import { ShellScrollReportScope, useShellScrollReports } from "../layouts/screenScroll.native.js";
12
+ import { ShellSidebarSlotProvider, useShellSidebarSlotState } from "../layouts/shellSidebarSlot.native.js";
13
+ import { BottomAccessory } from "../layouts/bottomAccessory.native.js";
14
+ import { Sidebar } from "../layouts/sidebar.native.js";
15
+ import { useTranslation } from "../shared/i18n.native.js";
16
+ import { TabHost } from "./TabHost.native.js";
17
+ import { useBottomChromeInset, useFloatingBarMounted } from "./bottomChrome.native.js";
18
+ function underKey(path, key) {
19
+ if (key === "/") return path === "/";
20
+ return path === key || path.startsWith(`${key}/`);
21
+ }
22
+ function appShellRoute(destinations, path) {
23
+ var normal = path.length > 1 ? path.replace(/\/+$/, "") : path;
24
+ var destination;
25
+ var _iteratorNormalCompletion = true,
26
+ _didIteratorError = false,
27
+ _iteratorError = void 0;
28
+ try {
29
+ for (var _iterator = destinations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
30
+ var candidate = _step.value;
31
+ if (candidate.onPress || !underKey(normal, candidate.key)) continue;
32
+ if (!destination || candidate.key.length > destination.key.length) destination = candidate;
33
+ }
34
+ } catch (err) {
35
+ _didIteratorError = true;
36
+ _iteratorError = err;
37
+ } finally {
38
+ try {
39
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
40
+ _iterator.return();
41
+ }
42
+ } finally {
43
+ if (_didIteratorError) {
44
+ throw _iteratorError;
45
+ }
46
+ }
47
+ }
48
+ return {
49
+ destination,
50
+ pushed: Boolean(destination && normal !== destination.key)
51
+ };
52
+ }
53
+ function useDocumentScrolled(enabled) {
54
+ var [scrolled, setScrolled] = useState(false);
55
+ useEffect(function () {
56
+ if (!enabled || typeof document === "undefined") return;
57
+ var sync = function sync2() {
58
+ return setScrolled(window.scrollY > 1);
59
+ };
60
+ sync();
61
+ window.addEventListener("scroll", sync, {
62
+ passive: true
63
+ });
64
+ return function () {
65
+ return window.removeEventListener("scroll", sync);
66
+ };
67
+ }, [enabled]);
68
+ return scrolled;
69
+ }
70
+ var sticky = function sticky2(edge) {
71
+ return isWeb ? {
72
+ position: "sticky",
73
+ [edge]: 0,
74
+ zIndex: zIndex.stickyHeader
75
+ } : null;
76
+ };
77
+ function HomeControl(param) {
78
+ var {
79
+ title,
80
+ onPress,
81
+ children
82
+ } = param;
83
+ return /* @__PURE__ */_jsx(XStack, {
84
+ role: "link",
85
+ "aria-label": title,
86
+ alignItems: "center",
87
+ minHeight: MIN_PRESS_TARGET,
88
+ flexShrink: 1,
89
+ minWidth: 0,
90
+ gap: "$2",
91
+ cursor: "pointer",
92
+ onPress,
93
+ "data-testid": "app-shell-home",
94
+ children
95
+ });
96
+ }
97
+ function AppShellNavBar(param) {
98
+ var {
99
+ maxWidth,
100
+ leading,
101
+ trailing,
102
+ title,
103
+ showTitle,
104
+ scrolled
105
+ } = param;
106
+ var {
107
+ knobProps
108
+ } = useResolvedKnobs({
109
+ component: "ScreenToolbar"
110
+ });
111
+ var [sides, setSides] = useState({
112
+ leading: 0,
113
+ trailing: 0
114
+ });
115
+ var measure = function measure2(side) {
116
+ return function (event) {
117
+ var width = Math.ceil(event.nativeEvent.layout.width);
118
+ setSides(function (prev) {
119
+ return prev[side] === width ? prev : {
120
+ ...prev,
121
+ [side]: width
122
+ };
123
+ });
124
+ };
125
+ };
126
+ var motion = transitionProps(knobProps.motion.control);
127
+ var clearance = Math.max(sides.leading, sides.trailing);
128
+ return /* @__PURE__ */_jsx(Surface, {
129
+ bar: true,
130
+ children: /* @__PURE__ */_jsx(YStack, {
131
+ role: "banner",
132
+ "data-testid": "app-shell-bar",
133
+ "data-scroll-edge": scrolled ? "" : void 0,
134
+ backgroundColor: "$background",
135
+ flexShrink: 0,
136
+ ...hairline.bottom,
137
+ borderColor: scrolled ? componentColors.divider : "transparent",
138
+ ...motion,
139
+ ...sticky("top"),
140
+ children: /* @__PURE__ */_jsxs(XStack, {
141
+ position: "relative",
142
+ width: "100%",
143
+ ...(maxWidth ? {
144
+ maxWidth,
145
+ alignSelf: "center"
146
+ } : null),
147
+ minHeight: MIN_PRESS_TARGET,
148
+ alignItems: "center",
149
+ flexWrap: "nowrap",
150
+ paddingHorizontal: knobProps.panelPadding.padding,
151
+ ...knobProps.gap,
152
+ children: [/* @__PURE__ */_jsx(XStack, {
153
+ alignItems: "center",
154
+ flexShrink: 1e3,
155
+ minWidth: 0,
156
+ ...knobProps.gap,
157
+ onLayout: measure("leading"),
158
+ children: leading
159
+ }), /* @__PURE__ */_jsx(XStack, {
160
+ flexGrow: 1
161
+ }), /* @__PURE__ */_jsx(XStack, {
162
+ alignItems: "center",
163
+ flexShrink: 1,
164
+ minWidth: 0,
165
+ justifyContent: "flex-end",
166
+ ...knobProps.gap,
167
+ onLayout: measure("trailing"),
168
+ children: trailing
169
+ }), title ? /* @__PURE__ */_jsx(XStack, {
170
+ position: "absolute",
171
+ top: 0,
172
+ bottom: 0,
173
+ left: clearance,
174
+ right: clearance,
175
+ alignItems: "center",
176
+ justifyContent: "center",
177
+ pointerEvents: "none",
178
+ "aria-hidden": !showTitle,
179
+ "data-testid": "app-shell-bar-title",
180
+ opacity: showTitle ? 1 : 0,
181
+ ...motion,
182
+ children: /* @__PURE__ */_jsx(SizableText, {
183
+ ...knobProps.body,
184
+ fontWeight: "600",
185
+ color: "$color12",
186
+ numberOfLines: 1,
187
+ children: title
188
+ })
189
+ }) : null]
190
+ })
191
+ })
192
+ });
193
+ }
194
+ function StackedPanel(param) {
195
+ var {
196
+ panel
197
+ } = param;
198
+ var {
199
+ knobProps
200
+ } = useResolvedKnobs();
201
+ return /* @__PURE__ */_jsxs(YStack, {
202
+ paddingHorizontal: knobProps.panelPadding.padding,
203
+ ...knobProps.gap,
204
+ "data-testid": "app-shell-page-panel",
205
+ children: [/* @__PURE__ */_jsx(SizableText, {
206
+ ...knobProps.body,
207
+ size: "$2",
208
+ textTransform: "uppercase",
209
+ color: knobProps.textAccentColor,
210
+ numberOfLines: 1,
211
+ children: panel.title
212
+ }), panel.content]
213
+ });
214
+ }
215
+ function AppShell(param) {
216
+ var {
217
+ destinations,
218
+ path,
219
+ onNavigate,
220
+ title,
221
+ logo,
222
+ onTitlePress,
223
+ actions,
224
+ onBack,
225
+ accessory,
226
+ ownChrome = [],
227
+ children,
228
+ testID = "app-shell"
229
+ } = param;
230
+ var _ref, _ref1;
231
+ var {
232
+ t
233
+ } = useTranslation();
234
+ var {
235
+ knobProps
236
+ } = useResolvedKnobs();
237
+ var compact = useLayoutSizeClass() === "compact";
238
+ var {
239
+ report,
240
+ reporter
241
+ } = useShellScrollReports();
242
+ var sidebarSlot = useShellSidebarSlotState();
243
+ var documentScrolled = useDocumentScrolled(isWeb);
244
+ var chromeInset = useBottomChromeInset();
245
+ var floatingBar = useFloatingBarMounted();
246
+ var {
247
+ destination,
248
+ pushed
249
+ } = appShellRoute(destinations, path);
250
+ var ownsChrome = ownChrome.some(function (prefix) {
251
+ return underKey(path, prefix);
252
+ });
253
+ var go = function go2(item) {
254
+ return item.onPress ? item.onPress() : onNavigate(item.key);
255
+ };
256
+ var goHome = onTitlePress !== null && onTitlePress !== void 0 ? onTitlePress : function () {
257
+ return destinations[0] && go(destinations[0]);
258
+ };
259
+ var tabs = useMemo(function () {
260
+ return destinations.filter(function (item) {
261
+ var _item_placement;
262
+ return ((_item_placement = item.placement) !== null && _item_placement !== void 0 ? _item_placement : "tab") === "tab";
263
+ });
264
+ }, [destinations]);
265
+ var more = useMemo(function () {
266
+ return destinations.filter(function (item) {
267
+ return item.placement === "more";
268
+ });
269
+ }, [destinations]);
270
+ var showTabs = compact && Boolean(destination && tabs.includes(destination));
271
+ var tabItems = tabs.map(function (param2) {
272
+ var {
273
+ key,
274
+ label,
275
+ icon,
276
+ nativeIcon
277
+ } = param2;
278
+ return {
279
+ key,
280
+ label,
281
+ icon,
282
+ nativeIcon
283
+ };
284
+ });
285
+ var onTabPress = function onTabPress2(key) {
286
+ var item = tabs.find(function (tab) {
287
+ return tab.key === key;
288
+ });
289
+ if (item) go(item);
290
+ };
291
+ if (ownsChrome) {
292
+ return /* @__PURE__ */_jsx(YStack, {
293
+ flex: 1,
294
+ minHeight: 0,
295
+ backgroundColor: "$background",
296
+ ...(isWeb ? {
297
+ height: "100dvh"
298
+ } : null),
299
+ "data-testid": testID,
300
+ "data-chrome": "own",
301
+ children: showTabs ? /* @__PURE__ */_jsx(TabHost, {
302
+ items: tabItems,
303
+ activeKey: destination === null || destination === void 0 ? void 0 : destination.key,
304
+ onTabPress,
305
+ children
306
+ }) : children
307
+ });
308
+ }
309
+ var pageBar = Boolean(report === null || report === void 0 ? void 0 : report.ownTopBar);
310
+ var scrolled = isWeb ? documentScrolled : Boolean(report === null || report === void 0 ? void 0 : report.scrolled);
311
+ var largeTitle = (_ref = report === null || report === void 0 ? void 0 : report.title) !== null && _ref !== void 0 ? _ref : null;
312
+ var barTitle = (_ref1 = largeTitle !== null && largeTitle !== void 0 ? largeTitle : destination === null || destination === void 0 ? void 0 : destination.label) !== null && _ref1 !== void 0 ? _ref1 : null;
313
+ var showTitle = largeTitle ? Boolean(report === null || report === void 0 ? void 0 : report.collapsed) : Boolean(barTitle);
314
+ var back = pushed && onBack && destination && !pageBar ? /* @__PURE__ */_jsx(PageBackButton, {
315
+ label: destination.label,
316
+ onPress: function onPress() {
317
+ return onBack(destination.key);
318
+ }
319
+ }) : null;
320
+ var showBar = compact ? !pageBar : Boolean(back);
321
+ var moreMenu = compact && more.length > 0 ? /* @__PURE__ */_jsx(DropdownMenu, {
322
+ placement: "bottom-end",
323
+ items: more.map(function (item) {
324
+ return {
325
+ key: item.key,
326
+ label: item.label,
327
+ icon: /* @__PURE__ */createElement(item.icon),
328
+ onSelect: function onSelect() {
329
+ return go(item);
330
+ }
331
+ };
332
+ }),
333
+ children: /* @__PURE__ */_jsx(PageBarButton, {
334
+ edge: "end",
335
+ icon: ListIcon,
336
+ "aria-label": t("More"),
337
+ "data-testid": "app-shell-more"
338
+ })
339
+ }) : null;
340
+ var bar = showBar ? /* @__PURE__ */_jsx(AppShellNavBar, {
341
+ leading: back !== null && back !== void 0 ? back : compact && logo ? /* @__PURE__ */_jsx(HomeControl, {
342
+ title,
343
+ onPress: goHome,
344
+ children: logo
345
+ }) : null,
346
+ trailing: compact ? /* @__PURE__ */_jsxs(_Fragment, {
347
+ children: [actions, moreMenu]
348
+ }) : null,
349
+ maxWidth: compact ? void 0 : READABLE_MAX_WIDTH,
350
+ title: barTitle,
351
+ showTitle,
352
+ scrolled
353
+ }) : null;
354
+ var content = /* @__PURE__ */_jsx(YStack, {
355
+ role: "main",
356
+ flex: 1,
357
+ minWidth: 0,
358
+ ...(isWeb ? null : {
359
+ minHeight: 0
360
+ }),
361
+ "data-testid": "app-shell-content",
362
+ children: compact ? children : /* @__PURE__ */_jsx(YStack, {
363
+ flex: 1,
364
+ width: "100%",
365
+ maxWidth: READABLE_MAX_WIDTH,
366
+ alignSelf: "center",
367
+ ...(isWeb ? null : {
368
+ minHeight: 0
369
+ }),
370
+ "data-testid": "app-shell-readable",
371
+ children
372
+ })
373
+ });
374
+ var pageAccessory = accessory ? /* @__PURE__ */_jsx(YStack, {
375
+ flexShrink: 0,
376
+ ...(isWeb || floatingBar ? null : {
377
+ paddingBottom: chromeInset
378
+ }),
379
+ children: /* @__PURE__ */_jsx(BottomAccessory, {
380
+ children: accessory
381
+ })
382
+ }) : null;
383
+ var frame = compact ? /* @__PURE__ */_jsxs(YStack, {
384
+ flex: 1,
385
+ backgroundColor: "$background",
386
+ ...(isWeb ? {
387
+ minHeight: "100dvh"
388
+ } : null),
389
+ "data-testid": testID,
390
+ "data-size": "compact",
391
+ children: [bar, tabItems.length > 0 ? /* @__PURE__ */_jsxs(TabHost, {
392
+ items: tabItems,
393
+ activeKey: showTabs ? destination === null || destination === void 0 ? void 0 : destination.key : void 0,
394
+ onTabPress,
395
+ children: [content, pageAccessory]
396
+ }) : /* @__PURE__ */_jsxs(_Fragment, {
397
+ children: [content, pageAccessory]
398
+ })]
399
+ }) : /* @__PURE__ */_jsxs(XStack, {
400
+ flex: 1,
401
+ backgroundColor: "$background",
402
+ ...(isWeb ? {
403
+ minHeight: "100dvh"
404
+ } : null),
405
+ "data-testid": testID,
406
+ "data-size": "regular",
407
+ children: [/* @__PURE__ */_jsx(YStack, {
408
+ flexShrink: 0,
409
+ alignSelf: "stretch",
410
+ ...(isWeb ? {
411
+ position: "sticky",
412
+ top: 0,
413
+ height: "100dvh"
414
+ } : null),
415
+ "data-testid": "app-shell-sidebar",
416
+ children: /* @__PURE__ */_jsx(Sidebar, {
417
+ material: true,
418
+ "aria-label": title,
419
+ header: /* @__PURE__ */_jsx(XStack, {
420
+ paddingHorizontal: knobProps.panelPadding.padding,
421
+ alignItems: "center",
422
+ minHeight: MIN_PRESS_TARGET,
423
+ children: /* @__PURE__ */_jsxs(HomeControl, {
424
+ title,
425
+ onPress: goHome,
426
+ children: [logo, /* @__PURE__ */_jsx(SizableText, {
427
+ ...knobProps.heading,
428
+ fontWeight: "700",
429
+ color: "$color12",
430
+ numberOfLines: 1,
431
+ children: title
432
+ })]
433
+ })
434
+ }),
435
+ footer: actions ? /* @__PURE__ */_jsx(XStack, {
436
+ paddingHorizontal: knobProps.panelPadding.padding,
437
+ alignItems: "center",
438
+ minHeight: MIN_PRESS_TARGET,
439
+ flexWrap: "wrap",
440
+ ...knobProps.gap,
441
+ "data-testid": "app-shell-sidebar-actions",
442
+ children: actions
443
+ }) : void 0,
444
+ sections: [{
445
+ items: destinations.map(function (item) {
446
+ return {
447
+ label: item.label,
448
+ value: item.key,
449
+ icon: /* @__PURE__ */createElement(item.icon),
450
+ active: item === destination,
451
+ onPress: function onPress() {
452
+ return go(item);
453
+ }
454
+ };
455
+ })
456
+ }],
457
+ children: sidebarSlot.panel ? /* @__PURE__ */_jsx(StackedPanel, {
458
+ panel: sidebarSlot.panel
459
+ }) : null
460
+ })
461
+ }), /* @__PURE__ */_jsxs(YStack, {
462
+ flex: 1,
463
+ minWidth: 0,
464
+ children: [bar, content, pageAccessory]
465
+ })]
466
+ });
467
+ return /* @__PURE__ */_jsx(ShellSidebarSlotProvider, {
468
+ value: compact ? null : sidebarSlot.value,
469
+ children: /* @__PURE__ */_jsx(ShellScrollReportScope, {
470
+ reporter,
471
+ children: frame
472
+ })
473
+ });
474
+ }
475
+ export { AppShell, appShellRoute };
476
+ //# sourceMappingURL=AppShell.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","zIndex","isWeb","MIN_PRESS_TARGET","Surface","hairline","transitionProps","useLayoutSizeClass","useResolvedKnobs","ListIcon","createElement","useEffect","useMemo","useState","SizableText","XStack","YStack","componentColors","DropdownMenu","PageBackButton","PageBarButton","READABLE_MAX_WIDTH","ShellScrollReportScope","useShellScrollReports","ShellSidebarSlotProvider","useShellSidebarSlotState","BottomAccessory","Sidebar","useTranslation","TabHost","useBottomChromeInset","useFloatingBarMounted","underKey","path","key","startsWith","appShellRoute","destinations","normal","length","replace","destination","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","candidate","value","onPress","err","return","pushed","Boolean","useDocumentScrolled","enabled","scrolled","setScrolled","document","sync","sync2","window","scrollY","addEventListener","passive","removeEventListener","sticky","sticky2","edge","position","stickyHeader","HomeControl","param","title","children","role","alignItems","minHeight","flexShrink","minWidth","gap","cursor","AppShellNavBar","maxWidth","leading","trailing","showTitle","knobProps","component","sides","setSides","measure","measure2","side","event","width","Math","ceil","nativeEvent","layout","prev","motion","control","clearance","max","bar","backgroundColor","bottom","borderColor","divider","alignSelf","flexWrap","paddingHorizontal","panelPadding","padding","onLayout","flexGrow","justifyContent","top","left","right","pointerEvents","opacity","body","fontWeight","color","numberOfLines","StackedPanel","panel","size","textTransform","textAccentColor","content","AppShell","onNavigate","logo","onTitlePress","actions","onBack","accessory","ownChrome","testID","_ref","_ref1","t","compact","report","reporter","sidebarSlot","documentScrolled","chromeInset","floatingBar","ownsChrome","some","prefix","go","go2","item","goHome","tabs","filter","_item_placement","placement","more","showTabs","includes","tabItems","map","param2","label","icon","nativeIcon","onTabPress","onTabPress2","find","tab","flex","height","items","activeKey","pageBar","ownTopBar","largeTitle","barTitle","collapsed","back","showBar","moreMenu","onSelect","pageAccessory","paddingBottom","frame","material","header","heading","footer","sections","active"],"sources":["AppShell.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { zIndex } from \"@multiplatform.one/forms\";\nimport { isWeb } from \"@multiplatform.one/platform\";\nimport { MIN_PRESS_TARGET, Surface, hairline, transitionProps, useLayoutSizeClass, useResolvedKnobs } from \"@multiplatform.one/theme\";\nimport { ListIcon } from \"@phosphor-icons/react\";\nimport { createElement, useEffect, useMemo, useState } from \"react\";\nimport { SizableText, XStack, YStack } from \"tamagui\";\nimport { componentColors } from \"../componentColors\";\nimport { DropdownMenu } from \"../DropdownMenu\";\nimport { PageBackButton, PageBarButton, READABLE_MAX_WIDTH } from \"../layouts/page\";\nimport { ShellScrollReportScope, useShellScrollReports } from \"../layouts/screenScroll\";\nimport { ShellSidebarSlotProvider, useShellSidebarSlotState } from \"../layouts/shellSidebarSlot\";\nimport { BottomAccessory } from \"../layouts/bottomAccessory\";\nimport { Sidebar } from \"../layouts/sidebar\";\nimport { useTranslation } from \"../shared/i18n\";\nimport { TabHost } from \"./TabHost\";\nimport { useBottomChromeInset, useFloatingBarMounted } from \"./bottomChrome\";\nfunction underKey(path, key) {\n if (key === \"/\") return path === \"/\";\n return path === key || path.startsWith(`${key}/`);\n}\nfunction appShellRoute(destinations, path) {\n var normal = path.length > 1 ? path.replace(/\\/+$/, \"\") : path;\n var destination;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = destinations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var candidate = _step.value;\n if (candidate.onPress || !underKey(normal, candidate.key)) continue;\n if (!destination || candidate.key.length > destination.key.length) destination = candidate;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return {\n destination,\n pushed: Boolean(destination && normal !== destination.key)\n };\n}\nfunction useDocumentScrolled(enabled) {\n var [scrolled, setScrolled] = useState(false);\n useEffect(function() {\n if (!enabled || typeof document === \"undefined\") return;\n var sync = function sync2() {\n return setScrolled(window.scrollY > 1);\n };\n sync();\n window.addEventListener(\"scroll\", sync, {\n passive: true\n });\n return function() {\n return window.removeEventListener(\"scroll\", sync);\n };\n }, [\n enabled\n ]);\n return scrolled;\n}\nvar sticky = function sticky2(edge) {\n return isWeb ? {\n position: \"sticky\",\n [edge]: 0,\n zIndex: zIndex.stickyHeader\n } : null;\n};\nfunction HomeControl(param) {\n var { title, onPress, children } = param;\n return /* @__PURE__ */ _jsx(XStack, {\n role: \"link\",\n \"aria-label\": title,\n alignItems: \"center\",\n minHeight: MIN_PRESS_TARGET,\n flexShrink: 1,\n minWidth: 0,\n gap: \"$2\",\n cursor: \"pointer\",\n onPress,\n \"data-testid\": \"app-shell-home\",\n children\n });\n}\nfunction AppShellNavBar(param) {\n var { maxWidth, leading, trailing, title, showTitle, scrolled } = param;\n var { knobProps } = useResolvedKnobs({\n component: \"ScreenToolbar\"\n });\n var [sides, setSides] = useState({\n leading: 0,\n trailing: 0\n });\n var measure = function measure2(side) {\n return function(event) {\n var width = Math.ceil(event.nativeEvent.layout.width);\n setSides(function(prev) {\n return prev[side] === width ? prev : {\n ...prev,\n [side]: width\n };\n });\n };\n };\n var motion = transitionProps(knobProps.motion.control);\n var clearance = Math.max(sides.leading, sides.trailing);\n return /* @__PURE__ */ _jsx(Surface, {\n bar: true,\n children: /* @__PURE__ */ _jsx(YStack, {\n role: \"banner\",\n \"data-testid\": \"app-shell-bar\",\n \"data-scroll-edge\": scrolled ? \"\" : void 0,\n backgroundColor: \"$background\",\n flexShrink: 0,\n ...hairline.bottom,\n borderColor: scrolled ? componentColors.divider : \"transparent\",\n ...motion,\n ...sticky(\"top\"),\n children: /* @__PURE__ */ _jsxs(XStack, {\n position: \"relative\",\n width: \"100%\",\n ...maxWidth ? {\n maxWidth,\n alignSelf: \"center\"\n } : null,\n minHeight: MIN_PRESS_TARGET,\n alignItems: \"center\",\n flexWrap: \"nowrap\",\n paddingHorizontal: knobProps.panelPadding.padding,\n ...knobProps.gap,\n children: [\n /* @__PURE__ */ _jsx(XStack, {\n alignItems: \"center\",\n flexShrink: 1e3,\n minWidth: 0,\n ...knobProps.gap,\n onLayout: measure(\"leading\"),\n children: leading\n }),\n /* @__PURE__ */ _jsx(XStack, {\n flexGrow: 1\n }),\n /* @__PURE__ */ _jsx(XStack, {\n alignItems: \"center\",\n flexShrink: 1,\n minWidth: 0,\n justifyContent: \"flex-end\",\n ...knobProps.gap,\n onLayout: measure(\"trailing\"),\n children: trailing\n }),\n title ? /* @__PURE__ */ _jsx(XStack, {\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: clearance,\n right: clearance,\n alignItems: \"center\",\n justifyContent: \"center\",\n pointerEvents: \"none\",\n \"aria-hidden\": !showTitle,\n \"data-testid\": \"app-shell-bar-title\",\n opacity: showTitle ? 1 : 0,\n ...motion,\n children: /* @__PURE__ */ _jsx(SizableText, {\n ...knobProps.body,\n fontWeight: \"600\",\n color: \"$color12\",\n numberOfLines: 1,\n children: title\n })\n }) : null\n ]\n })\n })\n });\n}\nfunction StackedPanel(param) {\n var { panel } = param;\n var { knobProps } = useResolvedKnobs();\n return /* @__PURE__ */ _jsxs(YStack, {\n paddingHorizontal: knobProps.panelPadding.padding,\n ...knobProps.gap,\n \"data-testid\": \"app-shell-page-panel\",\n children: [\n /* @__PURE__ */ _jsx(SizableText, {\n ...knobProps.body,\n size: \"$2\",\n textTransform: \"uppercase\",\n color: knobProps.textAccentColor,\n numberOfLines: 1,\n children: panel.title\n }),\n panel.content\n ]\n });\n}\nfunction AppShell(param) {\n var { destinations, path, onNavigate, title, logo, onTitlePress, actions, onBack, accessory, ownChrome = [], children, testID = \"app-shell\" } = param;\n var _ref, _ref1;\n var { t } = useTranslation();\n var { knobProps } = useResolvedKnobs();\n var compact = useLayoutSizeClass() === \"compact\";\n var { report, reporter } = useShellScrollReports();\n var sidebarSlot = useShellSidebarSlotState();\n var documentScrolled = useDocumentScrolled(isWeb);\n var chromeInset = useBottomChromeInset();\n var floatingBar = useFloatingBarMounted();\n var { destination, pushed } = appShellRoute(destinations, path);\n var ownsChrome = ownChrome.some(function(prefix) {\n return underKey(path, prefix);\n });\n var go = function go2(item) {\n return item.onPress ? item.onPress() : onNavigate(item.key);\n };\n var goHome = onTitlePress !== null && onTitlePress !== void 0 ? onTitlePress : function() {\n return destinations[0] && go(destinations[0]);\n };\n var tabs = useMemo(function() {\n return destinations.filter(function(item) {\n var _item_placement;\n return ((_item_placement = item.placement) !== null && _item_placement !== void 0 ? _item_placement : \"tab\") === \"tab\";\n });\n }, [\n destinations\n ]);\n var more = useMemo(function() {\n return destinations.filter(function(item) {\n return item.placement === \"more\";\n });\n }, [\n destinations\n ]);\n var showTabs = compact && Boolean(destination && tabs.includes(destination));\n var tabItems = tabs.map(function(param2) {\n var { key, label, icon, nativeIcon } = param2;\n return {\n key,\n label,\n icon,\n nativeIcon\n };\n });\n var onTabPress = function onTabPress2(key) {\n var item = tabs.find(function(tab) {\n return tab.key === key;\n });\n if (item) go(item);\n };\n if (ownsChrome) {\n return /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n minHeight: 0,\n backgroundColor: \"$background\",\n ...isWeb ? {\n height: \"100dvh\"\n } : null,\n \"data-testid\": testID,\n \"data-chrome\": \"own\",\n children: showTabs ? /* @__PURE__ */ _jsx(TabHost, {\n items: tabItems,\n activeKey: destination === null || destination === void 0 ? void 0 : destination.key,\n onTabPress,\n children\n }) : children\n });\n }\n var pageBar = Boolean(report === null || report === void 0 ? void 0 : report.ownTopBar);\n var scrolled = isWeb ? documentScrolled : Boolean(report === null || report === void 0 ? void 0 : report.scrolled);\n var largeTitle = (_ref = report === null || report === void 0 ? void 0 : report.title) !== null && _ref !== void 0 ? _ref : null;\n var barTitle = (_ref1 = largeTitle !== null && largeTitle !== void 0 ? largeTitle : destination === null || destination === void 0 ? void 0 : destination.label) !== null && _ref1 !== void 0 ? _ref1 : null;\n var showTitle = largeTitle ? Boolean(report === null || report === void 0 ? void 0 : report.collapsed) : Boolean(barTitle);\n var back = pushed && onBack && destination && !pageBar ? /* @__PURE__ */ _jsx(PageBackButton, {\n label: destination.label,\n onPress: function onPress() {\n return onBack(destination.key);\n }\n }) : null;\n var showBar = compact ? !pageBar : Boolean(back);\n var moreMenu = compact && more.length > 0 ? /* @__PURE__ */ _jsx(DropdownMenu, {\n placement: \"bottom-end\",\n items: more.map(function(item) {\n return {\n key: item.key,\n label: item.label,\n icon: /* @__PURE__ */ createElement(item.icon),\n onSelect: function onSelect() {\n return go(item);\n }\n };\n }),\n children: /* @__PURE__ */ _jsx(PageBarButton, {\n edge: \"end\",\n icon: ListIcon,\n \"aria-label\": t(\"More\"),\n \"data-testid\": \"app-shell-more\"\n })\n }) : null;\n var bar = showBar ? /* @__PURE__ */ _jsx(AppShellNavBar, {\n leading: back !== null && back !== void 0 ? back : compact && logo ? /* @__PURE__ */ _jsx(HomeControl, {\n title,\n onPress: goHome,\n children: logo\n }) : null,\n trailing: compact ? /* @__PURE__ */ _jsxs(_Fragment, {\n children: [\n actions,\n moreMenu\n ]\n }) : null,\n maxWidth: compact ? void 0 : READABLE_MAX_WIDTH,\n title: barTitle,\n showTitle,\n scrolled\n }) : null;\n var content = /* @__PURE__ */ _jsx(YStack, {\n role: \"main\",\n flex: 1,\n minWidth: 0,\n ...isWeb ? null : {\n minHeight: 0\n },\n \"data-testid\": \"app-shell-content\",\n children: compact ? children : /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n width: \"100%\",\n maxWidth: READABLE_MAX_WIDTH,\n alignSelf: \"center\",\n ...isWeb ? null : {\n minHeight: 0\n },\n \"data-testid\": \"app-shell-readable\",\n children\n })\n });\n var pageAccessory = accessory ? /* @__PURE__ */ _jsx(YStack, {\n flexShrink: 0,\n ...isWeb || floatingBar ? null : {\n paddingBottom: chromeInset\n },\n children: /* @__PURE__ */ _jsx(BottomAccessory, {\n children: accessory\n })\n }) : null;\n var frame = compact ? /* @__PURE__ */ _jsxs(YStack, {\n flex: 1,\n backgroundColor: \"$background\",\n ...isWeb ? {\n minHeight: \"100dvh\"\n } : null,\n \"data-testid\": testID,\n \"data-size\": \"compact\",\n children: [\n bar,\n tabItems.length > 0 ? /* @__PURE__ */ _jsxs(TabHost, {\n items: tabItems,\n activeKey: showTabs ? destination === null || destination === void 0 ? void 0 : destination.key : void 0,\n onTabPress,\n children: [\n content,\n pageAccessory\n ]\n }) : /* @__PURE__ */ _jsxs(_Fragment, {\n children: [\n content,\n pageAccessory\n ]\n })\n ]\n }) : /* @__PURE__ */ _jsxs(XStack, {\n flex: 1,\n backgroundColor: \"$background\",\n ...isWeb ? {\n minHeight: \"100dvh\"\n } : null,\n \"data-testid\": testID,\n \"data-size\": \"regular\",\n children: [\n /* @__PURE__ */ _jsx(YStack, {\n flexShrink: 0,\n alignSelf: \"stretch\",\n ...isWeb ? {\n position: \"sticky\",\n top: 0,\n height: \"100dvh\"\n } : null,\n \"data-testid\": \"app-shell-sidebar\",\n children: /* @__PURE__ */ _jsx(Sidebar, {\n material: true,\n \"aria-label\": title,\n header: /* @__PURE__ */ _jsx(XStack, {\n paddingHorizontal: knobProps.panelPadding.padding,\n alignItems: \"center\",\n minHeight: MIN_PRESS_TARGET,\n children: /* @__PURE__ */ _jsxs(HomeControl, {\n title,\n onPress: goHome,\n children: [\n logo,\n /* @__PURE__ */ _jsx(SizableText, {\n ...knobProps.heading,\n fontWeight: \"700\",\n color: \"$color12\",\n numberOfLines: 1,\n children: title\n })\n ]\n })\n }),\n footer: actions ? /* @__PURE__ */ _jsx(XStack, {\n paddingHorizontal: knobProps.panelPadding.padding,\n alignItems: \"center\",\n minHeight: MIN_PRESS_TARGET,\n flexWrap: \"wrap\",\n ...knobProps.gap,\n \"data-testid\": \"app-shell-sidebar-actions\",\n children: actions\n }) : void 0,\n sections: [\n {\n items: destinations.map(function(item) {\n return {\n label: item.label,\n value: item.key,\n icon: /* @__PURE__ */ createElement(item.icon),\n active: item === destination,\n onPress: function onPress() {\n return go(item);\n }\n };\n })\n }\n ],\n children: sidebarSlot.panel ? /* @__PURE__ */ _jsx(StackedPanel, {\n panel: sidebarSlot.panel\n }) : null\n })\n }),\n /* @__PURE__ */ _jsxs(YStack, {\n flex: 1,\n minWidth: 0,\n children: [\n bar,\n content,\n pageAccessory\n ]\n })\n ]\n });\n return /* @__PURE__ */ _jsx(ShellSidebarSlotProvider, {\n value: compact ? null : sidebarSlot.value,\n children: /* @__PURE__ */ _jsx(ShellScrollReportScope, {\n reporter,\n children: frame\n })\n });\n}\nexport {\n AppShell,\n appShellRoute\n};\n//# sourceMappingURL=AppShell.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","hairline","useResolvedKnobs","XStack","YStack","AppGlyph","appAccessibleLabel","DockTile","param","item","control","role","tabIndex","alignItems","gap","padding","cursor","onPress","hoverStyle","hoverKnobProps","pressStyle","pressKnobProps","focusVisibleStyle","focusVisibleKnobProps","key","children","icon","badge","tileSize","width","height","borderRadius","backgroundColor","active","Dock","apps","places","label","testID","knobProps","alignSelf","elevatedSurface","map","length","vline"],"sources":["../../../src/appShell/Dock.tsx"],"sourcesContent":[null],"mappings":"AASA,SAASA,GAAA,IAAAC,IAAU,EAAAC,IAAA,IAAAC,KAAA,QAAwB;AAC3C,SAASC,QAAQ,EAAAC,gBAAc;AAC/B,SAASC,MAAA,EAAAC,MAAU;AAoBf,SAcEC,QAdF,EAAAC,kBAAA;AAHJ,SAASC,SAASC,KAAE,EAAK;EACvB;IAAMC;EAAE,IAAAD,KAAY;EACpB;IAAAE;EACE,IAAAR,gBAAA;EAAA,OAAC,eAAAF,KAAA,CAAAI,MAAA;IAAAO,IAAA;IAAAC,QACM;IAAA,YACK,EAAAN,kBAAA,CAAAG,IAAA;IAAAI,UACV,UAAY;IAAuBC,GACnC;IAAWC,OACP;IAAAC,MACJ,WAAQ;IAAAC,OACR,EAAAR,IAAO,CAAAQ,OAAA;IAAAC,UACP,EAAS;MACT,GAAAR,OAAA,CAAAS;IAAwC;IACAC,UACxC;MACA,GAAAV,OAAA,CAAAW;IAAkC;IAElCC,iBAAA;MAA4D,GAC5DZ,OAAA,CAAAa;IAAA;IAAC,4BAAAd,IAAA,CAAAe,GAAA;IAAAC,QACC,GAAM,eACC3B,IAAA,CAAAO,QAAA;MAAAqB,IACP,EAAAjB,IAAA,CAAAiB,IAAA;MAAaC,KACb,EAAAlB,IAAA,CAAAkB,KAAA;MAA4CC,QAC5C;IAAW,IACiD,eAAA9B,IAAA,CAAAM,MAAA;MAC9DyB,KAAA;MAAAC,MAAA;MAAAC,YAAA;MACFC,eAAA,EAAAvB,IAAA,CAAAwB,MAAA;MAEJ;MAEO,aAAgB,EAAMxB,IAAA,CAAAwB,MAAU,GAAG,aAAQxB,IAAQ,CAAAe,GAAA,SAAgB,GAAc;IACtF,EAAM;EAEJ,EAAC;AAAA;AAAA,SACCU,IAAKA,CAAA1B,KAAA;EAAA,IACL;IAAA2B,IAAA;IAAAC,MAAY;IAAAC,KAAA;IAAAC,MAAA;EAAA,IAAA9B,KAAA;EAAA,IACZ;IAAA+B;EAAU,IAAArC,gBAAA;EAAA,OACV,eAAWF,KAAA,CAAAG,MAAA;IAAAQ,IACX,WAAI;IAAA,YACI,EAAA0B,KAAA;IAAAG,SACJ,UAAU;IAAA3B,UACd,UAAa;IAAAC,GAEZ;IAAAC,OAAA,EAAK,IAAI;IAET,GAAAwB,SACK,CAAAE,eAAc;IAClB,aAAC,EAAAH,MAAA;IAAAb,QAAA,GAAAU,IAAA,CAAAO,GACE,CAAG,UAASjC,IAAA;MAAA,OACb,eAAUX,IAAA,CAAAS,QAAA;QAAAE;MACL,GAAAA,IACL,CAAAe,GAAA;IAAiB,IACKW,IAAA,CAAAQ,MAAA,QAAAP,MAAA,CAAAO,MAAA,sBAAA7C,IAAA,CAAAM,MAAA;MACxB,GAAAH,QACE,CAAA2C,KAAA;MACHJ,SAAO,EAAI,SAAC;MAEZ7B,IAAA;MAAA;MACH,kBAAA2B,MAAA;IAEJ,W","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","hairline","useResolvedKnobs","XStack","YStack","AppGlyph","appAccessibleLabel","DockTile","param","item","control","role","tabIndex","alignItems","gap","padding","cursor","onPress","hoverStyle","hoverKnobProps","pressStyle","pressKnobProps","focusVisibleStyle","focusVisibleKnobProps","key","children","icon","badge","tileSize","width","height","borderRadius","backgroundColor","active","Dock","apps","places","label","testID","knobProps","alignSelf","elevatedSurface","map","length","vline"],"sources":["Dock.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { hairline, useResolvedKnobs } from \"@multiplatform.one/theme\";\nimport { XStack, YStack } from \"tamagui\";\nimport { AppGlyph, appAccessibleLabel } from \"./appTile\";\nfunction DockTile(param) {\n var { item } = param;\n var { control } = useResolvedKnobs();\n return /* @__PURE__ */ _jsxs(YStack, {\n role: \"button\",\n tabIndex: 0,\n \"aria-label\": appAccessibleLabel(item),\n alignItems: \"center\",\n gap: \"$1\",\n padding: \"$1\",\n cursor: \"pointer\",\n onPress: item.onPress,\n hoverStyle: {\n ...control.hoverKnobProps\n },\n pressStyle: {\n ...control.pressKnobProps\n },\n focusVisibleStyle: {\n ...control.focusVisibleKnobProps\n },\n \"data-testid\": `dock-item-${item.key}`,\n children: [\n /* @__PURE__ */ _jsx(AppGlyph, {\n icon: item.icon,\n badge: item.badge,\n tileSize: \"$5\"\n }),\n /* @__PURE__ */ _jsx(YStack, {\n width: \"$0.5\",\n height: \"$0.5\",\n borderRadius: \"$10\",\n backgroundColor: item.active ? \"$color11\" : \"transparent\",\n \"aria-hidden\": true,\n \"data-testid\": item.active ? `dock-item-${item.key}-active` : void 0\n })\n ]\n });\n}\nfunction Dock(param) {\n var { apps, places = [], label = \"Dock\", testID = \"dock\" } = param;\n var { knobProps } = useResolvedKnobs();\n return /* @__PURE__ */ _jsxs(XStack, {\n role: \"toolbar\",\n \"aria-label\": label,\n alignSelf: \"center\",\n alignItems: \"center\",\n gap: \"$2\",\n padding: \"$2\",\n ...knobProps.elevatedSurface,\n \"data-testid\": testID,\n children: [\n apps.map(function(item) {\n return /* @__PURE__ */ _jsx(DockTile, {\n item\n }, item.key);\n }),\n apps.length > 0 && places.length > 0 ? /* @__PURE__ */ _jsx(YStack, {\n ...hairline.vline,\n alignSelf: \"stretch\",\n role: \"separator\",\n \"aria-orientation\": \"vertical\",\n \"data-testid\": `${testID}-divider`\n }) : null,\n places.map(function(item) {\n return /* @__PURE__ */ _jsx(DockTile, {\n item\n }, item.key);\n })\n ]\n });\n}\nexport {\n Dock\n};\n//# sourceMappingURL=Dock.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TabBar","MpoTabHost","param","items","activeKey","onTabPress","label","children"],"sources":["../../../src/appShell/MpoTabHost.tsx"],"sourcesContent":[null],"mappings":"AAOA,SAASA,GAAA,IAAAC,IAAA,EAAAC,IAA+B,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAepC,SAAAC,MAAA,QAGI,oBAHJ;AAFG,SAASC,WAAWC,KAAE;EAC3B;IAAAC,KACE;IAAAC,SAAA;IAAAC,UAAA;IAAAC,KACG;IAAAC;EAAA,IAAAL,KAAA;EAAA,sBAAAL,KAAA,CAAAE,SAAA;IACAQ,QAAA,GAGHA,QAAA,EAEJH,SAAA,kBAAAT,IAAA,CAAAK,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TabBar","MpoTabHost","param","items","activeKey","onTabPress","label","children"],"sources":["MpoTabHost.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { TabBar } from \"./TabBar\";\nfunction MpoTabHost(param) {\n var { items, activeKey, onTabPress, label, children } = param;\n return /* @__PURE__ */ _jsxs(_Fragment, {\n children: [\n children,\n activeKey ? /* @__PURE__ */ _jsx(TabBar, {\n items,\n activeKey,\n onTabPress,\n label\n }) : null\n ]\n });\n}\nexport {\n MpoTabHost\n};\n//# sourceMappingURL=MpoTabHost.js.map\n"],"mappings":"AAAA,SAASA,GAAG,IAAIC,IAAI,EAAEC,IAAI,IAAIC,KAAK,EAAEC,QAAQ,IAAIC,SAAS,QAAQ,mBAAmB;AACrF,SAASC,MAAM,QAAQ,oBAAU;AACjC,SAASC,UAAUA,CAACC,KAAK,EAAE;EACzB,IAAI;IAAEC,KAAK;IAAEC,SAAS;IAAEC,UAAU;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGL,KAAK;EAC7D,OAAO,eAAgBL,KAAK,CAACE,SAAS,EAAE;IACtCQ,QAAQ,EAAE,CACRA,QAAQ,EACRH,SAAS,GAAG,eAAgBT,IAAI,CAACK,MAAM,EAAE;MACvCG,KAAK;MACLC,SAAS;MACTC,UAAU;MACVC;IACF,CAAC,CAAC,GAAG,IAAI;EAEb,CAAC,CAAC;AACJ;AACA,SACEL,UAAU","ignoreList":[]}