@multiplatform.one/components 7.81.2 → 7.82.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.
- package/dist/cjs/Accordion/index.native.js +1 -1
- package/dist/cjs/Accordion/index.native.js.map +1 -1
- package/dist/cjs/Alert/index.native.js.map +1 -1
- package/dist/cjs/AnimateHeight/index.native.js.map +1 -1
- package/dist/cjs/Avatar/getInitials.native.js.map +1 -1
- package/dist/cjs/Avatar/index.native.js.map +1 -1
- package/dist/cjs/Badge/index.native.js.map +1 -1
- package/dist/cjs/Button.native.js.map +1 -1
- package/dist/cjs/Card.native.js.map +1 -1
- package/dist/cjs/CardFooter.native.js.map +1 -1
- package/dist/cjs/CardHeader.native.js.map +1 -1
- package/dist/cjs/Carousel/index.native.js +3 -3
- package/dist/cjs/Carousel/index.native.js.map +1 -1
- package/dist/cjs/CheckGlyph/MenuCheckColumn.native.js.map +1 -1
- package/dist/cjs/CheckGlyph/index.native.js.map +1 -1
- package/dist/cjs/Chip/index.native.js.map +1 -1
- package/dist/cjs/Collapsible.native.js.map +1 -1
- package/dist/cjs/ContextMenu/index.native.js.map +1 -1
- package/dist/cjs/CopyField/CopyMenuButton.native.js +1 -1
- package/dist/cjs/CopyField/CopyMenuButton.native.js.map +1 -1
- package/dist/cjs/CopyField/index.native.js.map +1 -1
- package/dist/cjs/Dialog.native.js.map +1 -1
- package/dist/cjs/Diff/diff.native.js.map +1 -1
- package/dist/cjs/Diff/index.native.js.map +1 -1
- package/dist/cjs/DotIndicator/index.native.js.map +1 -1
- package/dist/cjs/DropdownMenu/index.native.js.map +1 -1
- package/dist/cjs/DropdownMenu/menuSettle.native.js.map +1 -1
- package/dist/cjs/ElapsedProgress/index.native.js.map +1 -1
- package/dist/cjs/ErrorBoundary/index.native.js.map +1 -1
- package/dist/cjs/Heading.native.js.map +1 -1
- package/dist/cjs/Kbd/index.native.js.map +1 -1
- package/dist/cjs/Kbd/keys.native.js.map +1 -1
- package/dist/cjs/Lightbox/MediaControl.native.js.map +1 -1
- package/dist/cjs/Lightbox/index.gnome.native.js.map +1 -1
- package/dist/cjs/Lightbox/index.native.js +1 -1
- package/dist/cjs/Lightbox/shared.native.js.map +1 -1
- package/dist/cjs/Lightbox/useLightbox.native.js.map +1 -1
- package/dist/cjs/MachineLiteral/index.native.js.map +1 -1
- package/dist/cjs/Material/index.native.js.map +1 -1
- package/dist/cjs/Meter/index.native.js +1 -1
- package/dist/cjs/Meter/index.native.js.map +1 -1
- package/dist/cjs/Meter/meter.native.js.map +1 -1
- package/dist/cjs/OverflowRow/index.native.js +1 -1
- package/dist/cjs/OverflowRow/index.native.js.map +1 -1
- package/dist/cjs/Pagination.native.js +1 -1
- package/dist/cjs/Pagination.native.js.map +1 -1
- package/dist/cjs/Popover.native.js +1 -1
- package/dist/cjs/Popover.native.js.map +1 -1
- package/dist/cjs/ProgressSteps/index.native.js.map +1 -1
- package/dist/cjs/Quote/index.native.js.map +1 -1
- package/dist/cjs/SchemeToggle/index.native.js +1 -1
- package/dist/cjs/SchemeToggle/index.native.js.map +1 -1
- package/dist/cjs/ScrollView/revealFocusedField.native.js.map +1 -1
- package/dist/cjs/Separator/index.native.js.map +1 -1
- package/dist/cjs/Sheet.native.js.map +1 -1
- package/dist/cjs/SheetModal/SheetHeader.native.js.map +1 -1
- package/dist/cjs/SheetModal/SheetNavigation.native.js.map +1 -1
- package/dist/cjs/SheetModal/detents.native.js.map +1 -1
- package/dist/cjs/SheetModal/useSheetFrameFocus.native.js.map +1 -1
- package/dist/cjs/Skeleton/index.native.js.map +1 -1
- package/dist/cjs/SkipLink/index.native.js.map +1 -1
- package/dist/cjs/SortableList/SortableHandle.native.js.map +1 -1
- package/dist/cjs/SortableList/index.native.js.map +1 -1
- package/dist/cjs/SortableList/useSortableRows.native.js.map +1 -1
- package/dist/cjs/SortableList/useUserOrder.native.js.map +1 -1
- package/dist/cjs/Tabs/index.native.js +1 -1
- package/dist/cjs/Tabs/index.native.js.map +1 -1
- package/dist/cjs/Text.native.js.map +1 -1
- package/dist/cjs/ThemePresetPicker/index.native.js +2 -2
- package/dist/cjs/ThemePresetPicker/index.native.js.map +1 -1
- package/dist/cjs/Toast/index.native.js.map +1 -1
- package/dist/cjs/Toast/store.native.js.map +1 -1
- package/dist/cjs/Tooltip/nativePress.native.js.map +1 -1
- package/dist/cjs/Tooltip/tooltipShared.native.js.map +1 -1
- package/dist/cjs/TreeSelect/index.native.js +2 -2
- package/dist/cjs/TreeSelect/index.native.js.map +1 -1
- package/dist/cjs/TreeSelect/treeSelectModel.native.js.map +1 -1
- package/dist/cjs/Video/PlayerChrome.native.js.map +1 -1
- package/dist/cjs/Video/VideoFrame.native.js.map +1 -1
- package/dist/cjs/Video/types.native.js.map +1 -1
- package/dist/cjs/Wheel/index.native.js.map +1 -1
- package/dist/cjs/Wizard/index.native.js +2 -2
- package/dist/cjs/Wizard/index.native.js.map +1 -1
- package/dist/cjs/actions/ActionBar.native.js.map +1 -1
- package/dist/cjs/actions/DangerSection.native.js.map +1 -1
- package/dist/cjs/actions/DestructiveAction.native.js.map +1 -1
- package/dist/cjs/actions/HeaderActions.native.js +2 -2
- package/dist/cjs/actions/HeaderActions.native.js.map +1 -1
- package/dist/cjs/actions/StandardAction.native.js +1 -1
- package/dist/cjs/actions/StandardAction.native.js.map +1 -1
- package/dist/cjs/actions/devWarn.native.js.map +1 -1
- package/dist/cjs/actions/index.native.js.map +1 -1
- package/dist/cjs/actions/severity.native.js.map +1 -1
- package/dist/cjs/appShell/AppShell.native.js +1 -1
- package/dist/cjs/appShell/AppShell.native.js.map +1 -1
- package/dist/cjs/appShell/Dock.native.js.map +1 -1
- package/dist/cjs/appShell/MpoTabHost.native.js.map +1 -1
- package/dist/cjs/appShell/ScopeMenu.native.js +1 -1
- package/dist/cjs/appShell/ScopeMenu.native.js.map +1 -1
- package/dist/cjs/appShell/SettingsSplit.native.js +1 -1
- package/dist/cjs/appShell/SettingsSplit.native.js.map +1 -1
- package/dist/cjs/appShell/Springboard.native.js +1 -1
- package/dist/cjs/appShell/Springboard.native.js.map +1 -1
- package/dist/cjs/appShell/SystemBar.native.js.map +1 -1
- package/dist/cjs/appShell/TabBar.native.js +1 -1
- package/dist/cjs/appShell/TabBar.native.js.map +1 -1
- package/dist/cjs/appShell/appTile.native.js +1 -1
- package/dist/cjs/appShell/appTile.native.js.map +1 -1
- package/dist/cjs/appShell/bottomChrome.native.js.map +1 -1
- package/dist/cjs/appShell/index.native.js.map +1 -1
- package/dist/cjs/charts/Axis.native.js.map +1 -1
- package/dist/cjs/charts/BarChart.native.js.map +1 -1
- package/dist/cjs/charts/ChartDataView.native.js +2 -2
- package/dist/cjs/charts/ChartDataView.native.js.map +1 -1
- package/dist/cjs/charts/ChartSurface.native.js.map +1 -1
- package/dist/cjs/charts/LineChart.native.js.map +1 -1
- package/dist/cjs/charts/PieChart.native.js.map +1 -1
- package/dist/cjs/charts/Sparkline.native.js.map +1 -1
- package/dist/cjs/charts/accessibility.native.js.map +1 -1
- package/dist/cjs/charts/chartHeight.native.js.map +1 -1
- package/dist/cjs/charts/composeChart.native.js.map +1 -1
- package/dist/cjs/charts/index.native.js.map +1 -1
- package/dist/cjs/charts/math.native.js.map +1 -1
- package/dist/cjs/charts/series.native.js.map +1 -1
- package/dist/cjs/charts/svg.native.js.map +1 -1
- package/dist/cjs/charts/types.native.js.map +1 -1
- package/dist/cjs/charts/useChartTheme.native.js.map +1 -1
- package/dist/cjs/code/Code/index.native.js.map +1 -1
- package/dist/cjs/code/CodeBlock/index.cjs +38 -31
- package/dist/cjs/code/CodeBlock/index.native.js +45 -38
- package/dist/cjs/code/CodeBlock/index.native.js.map +1 -1
- package/dist/cjs/code/HighlightedCode/index.native.js.map +1 -1
- package/dist/cjs/code/Highlighter/houseSyntaxTheme.native.js.map +1 -1
- package/dist/cjs/code/Highlighter/index.native.js.map +1 -1
- package/dist/cjs/code/Highlighter/namedGroupMatchAll.native.js.map +1 -1
- package/dist/cjs/code/LogView.native.js.map +1 -1
- package/dist/cjs/code/Pre/index.native.js.map +1 -1
- package/dist/cjs/code/index.native.js +5 -5
- package/dist/cjs/code/index.native.js.map +1 -1
- package/dist/cjs/componentColors.native.js.map +1 -1
- package/dist/cjs/feedback/ConfirmDialog.native.js.map +1 -1
- package/dist/cjs/feedback/NotifyHost.native.js +2 -2
- package/dist/cjs/feedback/NotifyHost.native.js.map +1 -1
- package/dist/cjs/feedback/copy.native.js.map +1 -1
- package/dist/cjs/feedback/index.native.js.map +1 -1
- package/dist/cjs/feedback/notify.native.js.map +1 -1
- package/dist/cjs/feedback/route.native.js.map +1 -1
- package/dist/cjs/feedback/store.native.js.map +1 -1
- package/dist/cjs/formLayouts/FormLayouts.native.js +1 -1
- package/dist/cjs/formLayouts/FormLayouts.native.js.map +1 -1
- package/dist/cjs/formLayouts/PreferencePanel.native.js +2 -2
- package/dist/cjs/formLayouts/PreferencePanel.native.js.map +1 -1
- package/dist/cjs/formLayouts/index.native.js.map +1 -1
- package/dist/cjs/hooks/index.native.js +1 -1
- package/dist/cjs/hooks/index.native.js.map +1 -1
- package/dist/cjs/hooks/useClipboard.native.js.map +1 -1
- package/dist/cjs/hooks/useDocumentTitle.native.js.map +1 -1
- package/dist/cjs/hooks/useHoldCue.native.js.map +1 -1
- package/dist/cjs/icons/CheckRegular.native.js.map +1 -1
- package/dist/cjs/icons/MinusRegular.native.js.map +1 -1
- package/dist/cjs/icons/index.native.js.map +1 -1
- package/dist/cjs/icons/lucide.native.js.map +1 -1
- package/dist/cjs/icons/themed.native.js.map +1 -1
- package/dist/cjs/images/Image/ImageFrame.native.js +1 -1
- package/dist/cjs/images/Image/ImageFrame.native.js.map +1 -1
- package/dist/cjs/images/Image/framing.native.js.map +1 -1
- package/dist/cjs/images/Image/index.native.js +1 -1
- package/dist/cjs/images/Image/mediaRadius.native.js.map +1 -1
- package/dist/cjs/images/Image/shared.native.js +1 -1
- package/dist/cjs/images/Image/shared.native.js.map +1 -1
- package/dist/cjs/images/Image/types.native.js.map +1 -1
- package/dist/cjs/images/index.native.js.map +1 -1
- package/dist/cjs/index.native.js +39 -39
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/knobImmuneExports.native.js.map +1 -1
- package/dist/cjs/layouts/AsyncBoundary.native.js +2 -2
- package/dist/cjs/layouts/AsyncBoundary.native.js.map +1 -1
- package/dist/cjs/layouts/Debug/index.native.js.map +1 -1
- package/dist/cjs/layouts/EmptyState.cjs +9 -43
- package/dist/cjs/layouts/EmptyState.native.js +9 -45
- package/dist/cjs/layouts/EmptyState.native.js.map +1 -1
- package/dist/cjs/layouts/IdentityPlate.native.js.map +1 -1
- package/dist/cjs/layouts/KeyboardAvoidingWrapper/behavior.native.js.map +1 -1
- package/dist/cjs/layouts/PageTemplates.native.js.map +1 -1
- package/dist/cjs/layouts/PaneScaffold.native.js.map +1 -1
- package/dist/cjs/layouts/SafeAreaWrapper/insets.native.js.map +1 -1
- package/dist/cjs/layouts/StatusDot.native.js.map +1 -1
- package/dist/cjs/layouts/StatusGlyphStrip.native.js +1 -1
- package/dist/cjs/layouts/StatusGlyphStrip.native.js.map +1 -1
- package/dist/cjs/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/cjs/layouts/attachments.native.js +1 -1
- package/dist/cjs/layouts/attachments.native.js.map +1 -1
- package/dist/cjs/layouts/barTitleSpan.cjs +54 -0
- package/dist/cjs/layouts/barTitleSpan.native.js +78 -0
- package/dist/cjs/layouts/barTitleSpan.native.js.map +1 -0
- package/dist/cjs/layouts/bottomAccessory.native.js.map +1 -1
- package/dist/cjs/layouts/breadcrumbs.native.js.map +1 -1
- package/dist/cjs/layouts/index.native.js +3 -3
- package/dist/cjs/layouts/index.native.js.map +1 -1
- package/dist/cjs/layouts/page.cjs +130 -41
- package/dist/cjs/layouts/page.native.js +145 -47
- package/dist/cjs/layouts/page.native.js.map +1 -1
- package/dist/cjs/layouts/pageHeadingScope.native.js.map +1 -1
- package/dist/cjs/layouts/screenScroll.native.js.map +1 -1
- package/dist/cjs/layouts/shellSidebarSlot.native.js.map +1 -1
- package/dist/cjs/layouts/sidebar.native.js +1 -1
- package/dist/cjs/layouts/sidebar.native.js.map +1 -1
- package/dist/cjs/layouts/tags.native.js +2 -2
- package/dist/cjs/layouts/tags.native.js.map +1 -1
- package/dist/cjs/layouts/timeline.native.js +2 -2
- package/dist/cjs/layouts/timeline.native.js.map +1 -1
- package/dist/cjs/layouts/toolbar.native.js +1 -1
- package/dist/cjs/layouts/toolbar.native.js.map +1 -1
- package/dist/cjs/shared/actionScan.native.js.map +1 -1
- package/dist/cjs/shared/i18n.native.js.map +1 -1
- package/dist/cjs/shared/restoreRetries.native.js.map +1 -1
- package/dist/cjs/shared/t.native.js.map +1 -1
- package/dist/cjs/shared/textRidesText.native.js.map +1 -1
- package/dist/cjs/shared/useReturnFocusOnClose.native.js.map +1 -1
- package/dist/cjs/surfaces.native.js +1 -1
- package/dist/cjs/surfaces.native.js.map +1 -1
- package/dist/cjs/tamagui.native.js +1 -1
- package/dist/cjs/tamagui.native.js.map +1 -1
- package/dist/cjs/testSetup.native.js.map +1 -1
- package/dist/cjs/utils/setTinted.native.js.map +1 -1
- package/dist/cjs/utils/unwrapText.native.js.map +1 -1
- package/dist/cjs/views/Calendar.native.js +1 -1
- package/dist/cjs/views/Calendar.native.js.map +1 -1
- package/dist/cjs/views/Dashboard.native.js +2 -2
- package/dist/cjs/views/Dashboard.native.js.map +1 -1
- package/dist/cjs/views/Gantt.native.js +2 -2
- package/dist/cjs/views/Gantt.native.js.map +1 -1
- package/dist/cjs/views/GanttDateGrip.native.js.map +1 -1
- package/dist/cjs/views/ImageGrid.native.js +2 -2
- package/dist/cjs/views/ImageGrid.native.js.map +1 -1
- package/dist/cjs/views/Kanban.native.js +1 -1
- package/dist/cjs/views/List.native.js.map +1 -1
- package/dist/cjs/views/ListGroup.native.js.map +1 -1
- package/dist/cjs/views/ListRow.native.js.map +1 -1
- package/dist/cjs/views/Matrix.native.js +2 -2
- package/dist/cjs/views/Matrix.native.js.map +1 -1
- package/dist/cjs/views/ReportBuilder.native.js +2 -2
- package/dist/cjs/views/ReportBuilder.native.js.map +1 -1
- package/dist/cjs/views/ShortcutCard.native.js.map +1 -1
- package/dist/cjs/views/TreeView.native.js.map +1 -1
- package/dist/cjs/views/calendarMath.native.js.map +1 -1
- package/dist/cjs/views/ganttIntervals.native.js.map +1 -1
- package/dist/cjs/views/ganttMath.native.js.map +1 -1
- package/dist/cjs/views/index.native.js +1 -1
- package/dist/cjs/views/index.native.js.map +1 -1
- package/dist/cjs/views/kanbanDnd.native.js.map +1 -1
- package/dist/cjs/views/matrixMath.native.js.map +1 -1
- package/dist/cjs/views/sameNameScope.native.js.map +1 -1
- package/dist/cjs/views/treeViewDnd.native.js.map +1 -1
- package/dist/cjs/views/treeViewLayout.native.js.map +1 -1
- package/dist/cjs/views/treeViewMotion.native.js.map +1 -1
- package/dist/cjs/views/treeViewReveal.native.js.map +1 -1
- package/dist/cjs/views/usePageFlowLoadMore.native.js.map +1 -1
- package/dist/cjs/views/widgetChrome.native.js.map +1 -1
- package/dist/esm/code/CodeBlock/index.mjs +39 -32
- package/dist/esm/code/CodeBlock/index.mjs.map +1 -1
- package/dist/esm/code/CodeBlock/index.native.js +39 -32
- package/dist/esm/code/CodeBlock/index.native.js.map +1 -1
- package/dist/esm/layouts/EmptyState.mjs +9 -43
- package/dist/esm/layouts/EmptyState.mjs.map +1 -1
- package/dist/esm/layouts/EmptyState.native.js +9 -45
- package/dist/esm/layouts/EmptyState.native.js.map +1 -1
- package/dist/esm/layouts/barTitleSpan.mjs +27 -0
- package/dist/esm/layouts/barTitleSpan.mjs.map +1 -0
- package/dist/esm/layouts/barTitleSpan.native.js +48 -0
- package/dist/esm/layouts/barTitleSpan.native.js.map +1 -0
- package/dist/esm/layouts/page.mjs +132 -43
- package/dist/esm/layouts/page.mjs.map +1 -1
- package/dist/esm/layouts/page.native.js +145 -47
- package/dist/esm/layouts/page.native.js.map +1 -1
- package/dist/jsx/code/CodeBlock/index.mjs +39 -32
- package/dist/jsx/code/CodeBlock/index.mjs.map +1 -1
- package/dist/jsx/code/CodeBlock/index.native.js +38 -31
- package/dist/jsx/code/CodeBlock/index.native.js.map +1 -1
- package/dist/jsx/layouts/EmptyState.mjs +9 -43
- package/dist/jsx/layouts/EmptyState.mjs.map +1 -1
- package/dist/jsx/layouts/EmptyState.native.js +9 -45
- package/dist/jsx/layouts/EmptyState.native.js.map +1 -1
- package/dist/jsx/layouts/barTitleSpan.mjs +27 -0
- package/dist/jsx/layouts/barTitleSpan.mjs.map +1 -0
- package/dist/jsx/layouts/barTitleSpan.native.js +78 -0
- package/dist/jsx/layouts/barTitleSpan.native.js.map +1 -0
- package/dist/jsx/layouts/page.mjs +132 -43
- package/dist/jsx/layouts/page.mjs.map +1 -1
- package/dist/jsx/layouts/page.native.js +143 -45
- package/dist/jsx/layouts/page.native.js.map +1 -1
- package/package.json +9 -9
- package/src/code/CodeBlock/CodeBlock.copy.spec.tsx +13 -0
- package/src/code/CodeBlock/index.tsx +46 -30
- package/src/layouts/EmptyState.spec.tsx +2 -0
- package/src/layouts/EmptyState.tsx +6 -39
- package/src/layouts/PageHeader.stories.tsx +238 -38
- package/src/layouts/barTitleSpan.spec.ts +35 -0
- package/src/layouts/barTitleSpan.ts +44 -0
- package/src/layouts/glyphCentre.spec.tsx +218 -0
- package/src/layouts/navBar.spec.tsx +58 -2
- package/src/layouts/page.tsx +126 -34
- package/types/code/CodeBlock/index.d.ts.map +1 -1
- package/types/layouts/EmptyState.d.ts.map +1 -1
- package/types/layouts/barTitleSpan.d.ts +29 -0
- package/types/layouts/barTitleSpan.d.ts.map +1 -0
- package/types/layouts/page.d.ts +6 -1
- package/types/layouts/page.d.ts.map +1 -1
|
@@ -40,6 +40,7 @@ var import_theme = require("@multiplatform.one/theme");
|
|
|
40
40
|
var import_forms = require("@multiplatform.one/forms");
|
|
41
41
|
var import_react = require("@phosphor-icons/react");
|
|
42
42
|
var import_react2 = require("react");
|
|
43
|
+
var import_barTitleSpan = require("./barTitleSpan.cjs");
|
|
43
44
|
var import_tamagui = require("tamagui");
|
|
44
45
|
var import_bottomChrome = require("../appShell/bottomChrome.cjs");
|
|
45
46
|
var import_componentColors = require("../componentColors.cjs");
|
|
@@ -455,6 +456,94 @@ function PageSection({
|
|
|
455
456
|
}) : children]
|
|
456
457
|
});
|
|
457
458
|
}
|
|
459
|
+
function useBarTitleSpan() {
|
|
460
|
+
const none = {
|
|
461
|
+
x: 0,
|
|
462
|
+
width: 0
|
|
463
|
+
};
|
|
464
|
+
const [box, setBox] = (0, import_react2.useState)({
|
|
465
|
+
row: 0,
|
|
466
|
+
leading: none,
|
|
467
|
+
trailing: none,
|
|
468
|
+
title: 0
|
|
469
|
+
});
|
|
470
|
+
const set = (key, value) => setBox(prev => JSON.stringify(prev[key]) === JSON.stringify(value) ? prev : {
|
|
471
|
+
...prev,
|
|
472
|
+
[key]: value
|
|
473
|
+
});
|
|
474
|
+
const extent = event => {
|
|
475
|
+
const {
|
|
476
|
+
x,
|
|
477
|
+
width
|
|
478
|
+
} = event.nativeEvent.layout;
|
|
479
|
+
return {
|
|
480
|
+
x,
|
|
481
|
+
width
|
|
482
|
+
};
|
|
483
|
+
};
|
|
484
|
+
return {
|
|
485
|
+
span: (0, import_barTitleSpan.barTitleSpan)({
|
|
486
|
+
row: box.row,
|
|
487
|
+
title: box.title,
|
|
488
|
+
...(0, import_barTitleSpan.sideExtents)(box.row, box.leading, box.trailing)
|
|
489
|
+
}),
|
|
490
|
+
measureRow: event => set("row", Math.floor(extent(event).width)),
|
|
491
|
+
measureLeading: event => set("leading", extent(event)),
|
|
492
|
+
measureTrailing: event => set("trailing", extent(event)),
|
|
493
|
+
measureTitle: event => set("title", Math.ceil(extent(event).width))
|
|
494
|
+
};
|
|
495
|
+
}
|
|
496
|
+
function BarTitle({
|
|
497
|
+
title,
|
|
498
|
+
span,
|
|
499
|
+
onTitleWidth,
|
|
500
|
+
shown = true,
|
|
501
|
+
...rest
|
|
502
|
+
}) {
|
|
503
|
+
const {
|
|
504
|
+
knobProps
|
|
505
|
+
} = (0, import_theme.useResolvedKnobs)({
|
|
506
|
+
component: "ScreenToolbar"
|
|
507
|
+
});
|
|
508
|
+
const text = {
|
|
509
|
+
...knobProps.body,
|
|
510
|
+
fontWeight: "600",
|
|
511
|
+
color: "$color12",
|
|
512
|
+
numberOfLines: 1
|
|
513
|
+
};
|
|
514
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
|
|
515
|
+
children: [shown ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
|
|
516
|
+
position: "absolute",
|
|
517
|
+
top: 0,
|
|
518
|
+
left: 0,
|
|
519
|
+
opacity: 0,
|
|
520
|
+
pointerEvents: "none",
|
|
521
|
+
"aria-hidden": true,
|
|
522
|
+
onLayout: onTitleWidth,
|
|
523
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.SizableText, {
|
|
524
|
+
...text,
|
|
525
|
+
children: title
|
|
526
|
+
})
|
|
527
|
+
}) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
|
|
528
|
+
position: "absolute",
|
|
529
|
+
top: 0,
|
|
530
|
+
bottom: 0,
|
|
531
|
+
left: span.left,
|
|
532
|
+
right: span.right,
|
|
533
|
+
alignItems: "center",
|
|
534
|
+
justifyContent: "center",
|
|
535
|
+
pointerEvents: "none",
|
|
536
|
+
"aria-hidden": !shown,
|
|
537
|
+
"data-bar-title": "",
|
|
538
|
+
opacity: shown ? 1 : 0,
|
|
539
|
+
...rest,
|
|
540
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.SizableText, {
|
|
541
|
+
...text,
|
|
542
|
+
children: title
|
|
543
|
+
})
|
|
544
|
+
})]
|
|
545
|
+
});
|
|
546
|
+
}
|
|
458
547
|
function ScreenToolbar(props) {
|
|
459
548
|
const slot = (0, import_screenScroll.useTopBarSlot)();
|
|
460
549
|
return slot ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(PinnedTopBar, {
|
|
@@ -467,6 +556,7 @@ function ScreenToolbar(props) {
|
|
|
467
556
|
function InlineToolbar({
|
|
468
557
|
leading,
|
|
469
558
|
trailing,
|
|
559
|
+
title,
|
|
470
560
|
children,
|
|
471
561
|
...rest
|
|
472
562
|
}) {
|
|
@@ -475,6 +565,7 @@ function InlineToolbar({
|
|
|
475
565
|
} = (0, import_theme.useResolvedKnobs)({
|
|
476
566
|
component: "ScreenToolbar"
|
|
477
567
|
});
|
|
568
|
+
const titleSpan = useBarTitleSpan();
|
|
478
569
|
const insetToken = (0, import_pageHeadingScope.usePageChromeInset)();
|
|
479
570
|
const bleed = insetToken ? {
|
|
480
571
|
marginHorizontal: negateSpaceToken(insetToken)
|
|
@@ -486,8 +577,12 @@ function InlineToolbar({
|
|
|
486
577
|
"data-testid": "screen-toolbar",
|
|
487
578
|
justifyContent: "space-between",
|
|
488
579
|
alignItems: "center",
|
|
489
|
-
flexWrap: oneRow ? "nowrap" : "wrap",
|
|
580
|
+
flexWrap: oneRow || title ? "nowrap" : "wrap",
|
|
490
581
|
minHeight: import_theme.MIN_PRESS_TARGET,
|
|
582
|
+
...(title ? {
|
|
583
|
+
position: "relative",
|
|
584
|
+
onLayout: titleSpan.measureRow
|
|
585
|
+
} : null),
|
|
491
586
|
...bleed,
|
|
492
587
|
...(insetToken ? {
|
|
493
588
|
paddingHorizontal: insetToken
|
|
@@ -500,6 +595,9 @@ function InlineToolbar({
|
|
|
500
595
|
flexWrap: "wrap",
|
|
501
596
|
flexShrink: oneRow ? 1e3 : 1,
|
|
502
597
|
minWidth: 0,
|
|
598
|
+
...(title ? {
|
|
599
|
+
onLayout: titleSpan.measureLeading
|
|
600
|
+
} : null),
|
|
503
601
|
children: leading
|
|
504
602
|
}), children, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.IconButtonGroup, {
|
|
505
603
|
...knobProps.gap,
|
|
@@ -507,14 +605,22 @@ function InlineToolbar({
|
|
|
507
605
|
flexShrink: 1,
|
|
508
606
|
minWidth: 0,
|
|
509
607
|
justifyContent: "flex-end",
|
|
608
|
+
...(title ? {
|
|
609
|
+
onLayout: titleSpan.measureTrailing
|
|
610
|
+
} : null),
|
|
510
611
|
children: trailing
|
|
511
|
-
})
|
|
612
|
+
}), title ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(BarTitle, {
|
|
613
|
+
title,
|
|
614
|
+
span: titleSpan.span,
|
|
615
|
+
onTitleWidth: titleSpan.measureTitle
|
|
616
|
+
}) : null]
|
|
512
617
|
})
|
|
513
618
|
});
|
|
514
619
|
}
|
|
515
620
|
function PinnedTopBar({
|
|
516
621
|
leading,
|
|
517
622
|
trailing,
|
|
623
|
+
title: inlineTitle,
|
|
518
624
|
children,
|
|
519
625
|
slot,
|
|
520
626
|
...rest
|
|
@@ -527,21 +633,11 @@ function PinnedTopBar({
|
|
|
527
633
|
const {
|
|
528
634
|
scrolled,
|
|
529
635
|
collapsed,
|
|
530
|
-
title
|
|
636
|
+
title: largeTitle
|
|
531
637
|
} = (0, import_screenScroll.useScreenScroll)();
|
|
532
|
-
const
|
|
533
|
-
leading: 0,
|
|
534
|
-
trailing: 0
|
|
535
|
-
});
|
|
536
|
-
const measureSide = side => event => {
|
|
537
|
-
const width = Math.ceil(event.nativeEvent.layout.width);
|
|
538
|
-
setSides(prev => prev[side] === width ? prev : {
|
|
539
|
-
...prev,
|
|
540
|
-
[side]: width
|
|
541
|
-
});
|
|
542
|
-
};
|
|
638
|
+
const titleSpan = useBarTitleSpan();
|
|
543
639
|
const motion = (0, import_theme.transitionProps)(knobProps.motion.control);
|
|
544
|
-
const
|
|
640
|
+
const title = inlineTitle ?? largeTitle;
|
|
545
641
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_theme.Surface, {
|
|
546
642
|
bar: true,
|
|
547
643
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
|
|
@@ -564,6 +660,7 @@ function PinnedTopBar({
|
|
|
564
660
|
alignItems: "center",
|
|
565
661
|
flexWrap: "nowrap",
|
|
566
662
|
position: "relative",
|
|
663
|
+
onLayout: titleSpan.measureRow,
|
|
567
664
|
paddingHorizontal: slot.inset ?? knobProps.panelPadding.padding,
|
|
568
665
|
...knobProps.gap,
|
|
569
666
|
...rest,
|
|
@@ -572,7 +669,7 @@ function PinnedTopBar({
|
|
|
572
669
|
alignItems: "center",
|
|
573
670
|
flexShrink: 1e3,
|
|
574
671
|
minWidth: 0,
|
|
575
|
-
onLayout:
|
|
672
|
+
onLayout: titleSpan.measureLeading,
|
|
576
673
|
children: leading
|
|
577
674
|
}), children, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
|
|
578
675
|
flexGrow: 1
|
|
@@ -581,28 +678,14 @@ function PinnedTopBar({
|
|
|
581
678
|
flexShrink: 1,
|
|
582
679
|
minWidth: 0,
|
|
583
680
|
justifyContent: "flex-end",
|
|
584
|
-
onLayout:
|
|
681
|
+
onLayout: titleSpan.measureTrailing,
|
|
585
682
|
children: trailing
|
|
586
|
-
}), title ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
alignItems: "center",
|
|
593
|
-
justifyContent: "center",
|
|
594
|
-
pointerEvents: "none",
|
|
595
|
-
"aria-hidden": !collapsed,
|
|
596
|
-
"data-bar-title": "",
|
|
597
|
-
opacity: collapsed ? 1 : 0,
|
|
598
|
-
...motion,
|
|
599
|
-
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.SizableText, {
|
|
600
|
-
...knobProps.body,
|
|
601
|
-
fontWeight: "600",
|
|
602
|
-
color: "$color12",
|
|
603
|
-
numberOfLines: 1,
|
|
604
|
-
children: title
|
|
605
|
-
})
|
|
683
|
+
}), title ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(BarTitle, {
|
|
684
|
+
title,
|
|
685
|
+
span: titleSpan.span,
|
|
686
|
+
onTitleWidth: titleSpan.measureTitle,
|
|
687
|
+
shown: Boolean(inlineTitle) || collapsed,
|
|
688
|
+
...motion
|
|
606
689
|
}) : null]
|
|
607
690
|
})
|
|
608
691
|
})
|
|
@@ -621,16 +704,22 @@ function useTopBarControl() {
|
|
|
621
704
|
};
|
|
622
705
|
}
|
|
623
706
|
const CARET_OPTICAL_INSET = 72 / 256;
|
|
624
|
-
|
|
707
|
+
const CARET_INK_OFFSET = 8 / 256;
|
|
708
|
+
function backCaret(Caret, inkSign) {
|
|
625
709
|
return function BackCaret({
|
|
626
710
|
size = 22,
|
|
627
711
|
color,
|
|
628
712
|
weight,
|
|
629
713
|
...stroke
|
|
630
714
|
}) {
|
|
715
|
+
const plated = (0, import_forms.useGlyphOnPlate)();
|
|
631
716
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
|
|
632
717
|
"data-back-caret": "",
|
|
633
|
-
|
|
718
|
+
...(plated ? {
|
|
719
|
+
x: inkSign * size * CARET_INK_OFFSET
|
|
720
|
+
} : {
|
|
721
|
+
marginInlineStart: -Math.round(size * CARET_OPTICAL_INSET)
|
|
722
|
+
}),
|
|
634
723
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Caret, {
|
|
635
724
|
size,
|
|
636
725
|
color,
|
|
@@ -640,8 +729,8 @@ function backCaret(Caret) {
|
|
|
640
729
|
});
|
|
641
730
|
};
|
|
642
731
|
}
|
|
643
|
-
const BackCaretLeft = backCaret(import_react.CaretLeftIcon);
|
|
644
|
-
const BackCaretRight = backCaret(import_react.CaretRightIcon);
|
|
732
|
+
const BackCaretLeft = backCaret(import_react.CaretLeftIcon, 1);
|
|
733
|
+
const BackCaretRight = backCaret(import_react.CaretRightIcon, -1);
|
|
645
734
|
function PageBackButton({
|
|
646
735
|
label,
|
|
647
736
|
...props
|
|
@@ -43,13 +43,14 @@ 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
48
|
var import_bottomChrome = require("../appShell/bottomChrome.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");
|
|
51
|
-
var import_ScrollView = require("../ScrollView");
|
|
52
|
-
var import_KeyboardAvoidingWrapper = require("./KeyboardAvoidingWrapper");
|
|
52
|
+
var import_ScrollView = require("../ScrollView/index.native.js");
|
|
53
|
+
var import_KeyboardAvoidingWrapper = require("./KeyboardAvoidingWrapper/index.native.js");
|
|
53
54
|
var import_bottomAccessory = require("./bottomAccessory.native.js");
|
|
54
55
|
var import_screenScroll = require("./screenScroll.native.js");
|
|
55
56
|
var import_pageHeadingScope = require("./pageHeadingScope.native.js");
|
|
@@ -476,6 +477,107 @@ function PageSection(param) {
|
|
|
476
477
|
}) : children]
|
|
477
478
|
});
|
|
478
479
|
}
|
|
480
|
+
function useBarTitleSpan() {
|
|
481
|
+
var none = {
|
|
482
|
+
x: 0,
|
|
483
|
+
width: 0
|
|
484
|
+
};
|
|
485
|
+
var [box, setBox] = (0, import_react2.useState)({
|
|
486
|
+
row: 0,
|
|
487
|
+
leading: none,
|
|
488
|
+
trailing: none,
|
|
489
|
+
title: 0
|
|
490
|
+
});
|
|
491
|
+
var set = function set2(key, value) {
|
|
492
|
+
return setBox(function (prev) {
|
|
493
|
+
return JSON.stringify(prev[key]) === JSON.stringify(value) ? prev : {
|
|
494
|
+
...prev,
|
|
495
|
+
[key]: value
|
|
496
|
+
};
|
|
497
|
+
});
|
|
498
|
+
};
|
|
499
|
+
var extent = function extent2(event) {
|
|
500
|
+
var {
|
|
501
|
+
x,
|
|
502
|
+
width
|
|
503
|
+
} = event.nativeEvent.layout;
|
|
504
|
+
return {
|
|
505
|
+
x,
|
|
506
|
+
width
|
|
507
|
+
};
|
|
508
|
+
};
|
|
509
|
+
return {
|
|
510
|
+
span: (0, import_barTitleSpan.barTitleSpan)({
|
|
511
|
+
row: box.row,
|
|
512
|
+
title: box.title,
|
|
513
|
+
...(0, import_barTitleSpan.sideExtents)(box.row, box.leading, box.trailing)
|
|
514
|
+
}),
|
|
515
|
+
measureRow: function measureRow(event) {
|
|
516
|
+
return set("row", Math.floor(extent(event).width));
|
|
517
|
+
},
|
|
518
|
+
measureLeading: function measureLeading(event) {
|
|
519
|
+
return set("leading", extent(event));
|
|
520
|
+
},
|
|
521
|
+
measureTrailing: function measureTrailing(event) {
|
|
522
|
+
return set("trailing", extent(event));
|
|
523
|
+
},
|
|
524
|
+
measureTitle: function measureTitle(event) {
|
|
525
|
+
return set("title", Math.ceil(extent(event).width));
|
|
526
|
+
}
|
|
527
|
+
};
|
|
528
|
+
}
|
|
529
|
+
function BarTitle(param) {
|
|
530
|
+
var {
|
|
531
|
+
title,
|
|
532
|
+
span,
|
|
533
|
+
onTitleWidth,
|
|
534
|
+
shown = true,
|
|
535
|
+
...rest
|
|
536
|
+
} = param;
|
|
537
|
+
var {
|
|
538
|
+
knobProps
|
|
539
|
+
} = (0, import_theme.useResolvedKnobs)({
|
|
540
|
+
component: "ScreenToolbar"
|
|
541
|
+
});
|
|
542
|
+
var text = {
|
|
543
|
+
...knobProps.body,
|
|
544
|
+
fontWeight: "600",
|
|
545
|
+
color: "$color12",
|
|
546
|
+
numberOfLines: 1
|
|
547
|
+
};
|
|
548
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
|
|
549
|
+
children: [shown ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
|
|
550
|
+
position: "absolute",
|
|
551
|
+
top: 0,
|
|
552
|
+
left: 0,
|
|
553
|
+
opacity: 0,
|
|
554
|
+
pointerEvents: "none",
|
|
555
|
+
"aria-hidden": true,
|
|
556
|
+
onLayout: onTitleWidth,
|
|
557
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.SizableText, {
|
|
558
|
+
...text,
|
|
559
|
+
children: title
|
|
560
|
+
})
|
|
561
|
+
}) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
|
|
562
|
+
position: "absolute",
|
|
563
|
+
top: 0,
|
|
564
|
+
bottom: 0,
|
|
565
|
+
left: span.left,
|
|
566
|
+
right: span.right,
|
|
567
|
+
alignItems: "center",
|
|
568
|
+
justifyContent: "center",
|
|
569
|
+
pointerEvents: "none",
|
|
570
|
+
"aria-hidden": !shown,
|
|
571
|
+
"data-bar-title": "",
|
|
572
|
+
opacity: shown ? 1 : 0,
|
|
573
|
+
...rest,
|
|
574
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.SizableText, {
|
|
575
|
+
...text,
|
|
576
|
+
children: title
|
|
577
|
+
})
|
|
578
|
+
})]
|
|
579
|
+
});
|
|
580
|
+
}
|
|
479
581
|
function ScreenToolbar(props) {
|
|
480
582
|
var slot = (0, import_screenScroll.useTopBarSlot)();
|
|
481
583
|
return slot ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(PinnedTopBar, {
|
|
@@ -489,6 +591,7 @@ function InlineToolbar(param) {
|
|
|
489
591
|
var {
|
|
490
592
|
leading,
|
|
491
593
|
trailing,
|
|
594
|
+
title,
|
|
492
595
|
children,
|
|
493
596
|
...rest
|
|
494
597
|
} = param;
|
|
@@ -497,6 +600,7 @@ function InlineToolbar(param) {
|
|
|
497
600
|
} = (0, import_theme.useResolvedKnobs)({
|
|
498
601
|
component: "ScreenToolbar"
|
|
499
602
|
});
|
|
603
|
+
var titleSpan = useBarTitleSpan();
|
|
500
604
|
var insetToken = (0, import_pageHeadingScope.usePageChromeInset)();
|
|
501
605
|
var bleed = insetToken ? {
|
|
502
606
|
marginHorizontal: negateSpaceToken(insetToken)
|
|
@@ -508,8 +612,12 @@ function InlineToolbar(param) {
|
|
|
508
612
|
"data-testid": "screen-toolbar",
|
|
509
613
|
justifyContent: "space-between",
|
|
510
614
|
alignItems: "center",
|
|
511
|
-
flexWrap: oneRow ? "nowrap" : "wrap",
|
|
615
|
+
flexWrap: oneRow || title ? "nowrap" : "wrap",
|
|
512
616
|
minHeight: import_theme.MIN_PRESS_TARGET,
|
|
617
|
+
...(title ? {
|
|
618
|
+
position: "relative",
|
|
619
|
+
onLayout: titleSpan.measureRow
|
|
620
|
+
} : null),
|
|
513
621
|
...bleed,
|
|
514
622
|
...(insetToken ? {
|
|
515
623
|
paddingHorizontal: insetToken
|
|
@@ -523,6 +631,9 @@ function InlineToolbar(param) {
|
|
|
523
631
|
// Shrink weight, not a size: the back label gives way before the actions wrap.
|
|
524
632
|
flexShrink: oneRow ? 1e3 : 1,
|
|
525
633
|
minWidth: 0,
|
|
634
|
+
...(title ? {
|
|
635
|
+
onLayout: titleSpan.measureLeading
|
|
636
|
+
} : null),
|
|
526
637
|
children: leading
|
|
527
638
|
}), children, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.IconButtonGroup, {
|
|
528
639
|
...knobProps.gap,
|
|
@@ -530,8 +641,15 @@ function InlineToolbar(param) {
|
|
|
530
641
|
flexShrink: 1,
|
|
531
642
|
minWidth: 0,
|
|
532
643
|
justifyContent: "flex-end",
|
|
644
|
+
...(title ? {
|
|
645
|
+
onLayout: titleSpan.measureTrailing
|
|
646
|
+
} : null),
|
|
533
647
|
children: trailing
|
|
534
|
-
})
|
|
648
|
+
}), title ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(BarTitle, {
|
|
649
|
+
title,
|
|
650
|
+
span: titleSpan.span,
|
|
651
|
+
onTitleWidth: titleSpan.measureTitle
|
|
652
|
+
}) : null]
|
|
535
653
|
})
|
|
536
654
|
});
|
|
537
655
|
}
|
|
@@ -539,6 +657,7 @@ function PinnedTopBar(param) {
|
|
|
539
657
|
var {
|
|
540
658
|
leading,
|
|
541
659
|
trailing,
|
|
660
|
+
title: inlineTitle,
|
|
542
661
|
children,
|
|
543
662
|
slot,
|
|
544
663
|
...rest
|
|
@@ -552,25 +671,11 @@ function PinnedTopBar(param) {
|
|
|
552
671
|
var {
|
|
553
672
|
scrolled,
|
|
554
673
|
collapsed,
|
|
555
|
-
title
|
|
674
|
+
title: largeTitle
|
|
556
675
|
} = (0, import_screenScroll.useScreenScroll)();
|
|
557
|
-
var
|
|
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
|
-
};
|
|
676
|
+
var titleSpan = useBarTitleSpan();
|
|
572
677
|
var motion = (0, import_theme.transitionProps)(knobProps.motion.control);
|
|
573
|
-
var
|
|
678
|
+
var title = inlineTitle !== null && inlineTitle !== void 0 ? inlineTitle : largeTitle;
|
|
574
679
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_theme.Surface, {
|
|
575
680
|
bar: true,
|
|
576
681
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
|
|
@@ -594,6 +699,7 @@ function PinnedTopBar(param) {
|
|
|
594
699
|
flexWrap: "nowrap",
|
|
595
700
|
// The collapsed title is placed against this row, not the page.
|
|
596
701
|
position: "relative",
|
|
702
|
+
onLayout: titleSpan.measureRow,
|
|
597
703
|
paddingHorizontal: (_slot_inset = slot.inset) !== null && _slot_inset !== void 0 ? _slot_inset : knobProps.panelPadding.padding,
|
|
598
704
|
...knobProps.gap,
|
|
599
705
|
...rest,
|
|
@@ -602,7 +708,7 @@ function PinnedTopBar(param) {
|
|
|
602
708
|
alignItems: "center",
|
|
603
709
|
flexShrink: 1e3,
|
|
604
710
|
minWidth: 0,
|
|
605
|
-
onLayout:
|
|
711
|
+
onLayout: titleSpan.measureLeading,
|
|
606
712
|
children: leading
|
|
607
713
|
}), children,
|
|
608
714
|
/* Pushes the actions to the trailing edge (LC-102: no space-between)
|
|
@@ -615,28 +721,14 @@ function PinnedTopBar(param) {
|
|
|
615
721
|
flexShrink: 1,
|
|
616
722
|
minWidth: 0,
|
|
617
723
|
justifyContent: "flex-end",
|
|
618
|
-
onLayout:
|
|
724
|
+
onLayout: titleSpan.measureTrailing,
|
|
619
725
|
children: trailing
|
|
620
|
-
}), title ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
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
|
-
})
|
|
726
|
+
}), title ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(BarTitle, {
|
|
727
|
+
title,
|
|
728
|
+
span: titleSpan.span,
|
|
729
|
+
onTitleWidth: titleSpan.measureTitle,
|
|
730
|
+
shown: Boolean(inlineTitle) || collapsed,
|
|
731
|
+
...motion
|
|
640
732
|
}) : null]
|
|
641
733
|
})
|
|
642
734
|
})
|
|
@@ -655,7 +747,8 @@ function useTopBarControl() {
|
|
|
655
747
|
};
|
|
656
748
|
}
|
|
657
749
|
var CARET_OPTICAL_INSET = 72 / 256;
|
|
658
|
-
|
|
750
|
+
var CARET_INK_OFFSET = 8 / 256;
|
|
751
|
+
function backCaret(Caret, inkSign) {
|
|
659
752
|
return function BackCaret(param) {
|
|
660
753
|
var {
|
|
661
754
|
size = 22,
|
|
@@ -663,9 +756,14 @@ function backCaret(Caret) {
|
|
|
663
756
|
weight,
|
|
664
757
|
...stroke
|
|
665
758
|
} = param;
|
|
759
|
+
var plated = (0, import_forms.useGlyphOnPlate)();
|
|
666
760
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.XStack, {
|
|
667
761
|
"data-back-caret": "",
|
|
668
|
-
|
|
762
|
+
...(plated ? {
|
|
763
|
+
x: inkSign * size * CARET_INK_OFFSET
|
|
764
|
+
} : {
|
|
765
|
+
marginInlineStart: -Math.round(size * CARET_OPTICAL_INSET)
|
|
766
|
+
}),
|
|
669
767
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Caret, {
|
|
670
768
|
size,
|
|
671
769
|
color,
|
|
@@ -675,8 +773,8 @@ function backCaret(Caret) {
|
|
|
675
773
|
});
|
|
676
774
|
};
|
|
677
775
|
}
|
|
678
|
-
var BackCaretLeft = backCaret(import_react.CaretLeftIcon);
|
|
679
|
-
var BackCaretRight = backCaret(import_react.CaretRightIcon);
|
|
776
|
+
var BackCaretLeft = backCaret(import_react.CaretLeftIcon, 1);
|
|
777
|
+
var BackCaretRight = backCaret(import_react.CaretRightIcon, -1);
|
|
680
778
|
function PageBackButton(param) {
|
|
681
779
|
var {
|
|
682
780
|
label,
|