@multiplatform.one/components 7.83.2 → 7.84.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/Carousel/index.cjs +11 -9
- package/dist/cjs/Carousel/index.native.js +12 -10
- package/dist/cjs/Carousel/index.native.js.map +1 -1
- package/dist/cjs/Meter/meter.cjs +1 -1
- package/dist/cjs/Meter/meter.native.js +1 -1
- package/dist/cjs/Meter/meter.native.js.map +1 -1
- package/dist/cjs/SheetModal/index.cjs +33 -5
- package/dist/cjs/appShell/TabBar.cjs +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/TabHost.native.js +52 -5
- package/dist/cjs/appShell/TabHost.native.js.map +1 -1
- package/dist/cjs/layouts/PageTemplates.cjs +15 -12
- package/dist/cjs/layouts/PageTemplates.native.js +16 -13
- package/dist/cjs/layouts/PageTemplates.native.js.map +1 -1
- package/dist/cjs/layouts/bottomAccessory.cjs +25 -13
- package/dist/cjs/layouts/bottomAccessory.native.js +29 -13
- package/dist/cjs/layouts/bottomAccessory.native.js.map +1 -1
- package/dist/cjs/layouts/page.cjs +44 -6
- package/dist/cjs/layouts/page.native.js +48 -6
- package/dist/cjs/layouts/page.native.js.map +1 -1
- package/dist/esm/Carousel/index.mjs +12 -10
- package/dist/esm/Carousel/index.mjs.map +1 -1
- package/dist/esm/Carousel/index.native.js +13 -11
- package/dist/esm/Carousel/index.native.js.map +1 -1
- package/dist/esm/Meter/meter.mjs +1 -1
- package/dist/esm/Meter/meter.mjs.map +1 -1
- package/dist/esm/Meter/meter.native.js +1 -1
- package/dist/esm/Meter/meter.native.js.map +1 -1
- package/dist/esm/SheetModal/index.mjs +34 -6
- package/dist/esm/SheetModal/index.mjs.map +1 -1
- package/dist/esm/appShell/TabBar.mjs +2 -2
- package/dist/esm/appShell/TabBar.mjs.map +1 -1
- package/dist/esm/appShell/TabBar.native.js +2 -2
- package/dist/esm/appShell/TabBar.native.js.map +1 -1
- package/dist/esm/appShell/TabHost.native.js +53 -9
- package/dist/esm/appShell/TabHost.native.js.map +1 -1
- package/dist/esm/layouts/PageTemplates.mjs +16 -13
- package/dist/esm/layouts/PageTemplates.mjs.map +1 -1
- package/dist/esm/layouts/PageTemplates.native.js +17 -14
- package/dist/esm/layouts/PageTemplates.native.js.map +1 -1
- package/dist/esm/layouts/bottomAccessory.mjs +26 -15
- package/dist/esm/layouts/bottomAccessory.mjs.map +1 -1
- package/dist/esm/layouts/bottomAccessory.native.js +30 -15
- package/dist/esm/layouts/bottomAccessory.native.js.map +1 -1
- package/dist/esm/layouts/page.mjs +44 -8
- package/dist/esm/layouts/page.mjs.map +1 -1
- package/dist/esm/layouts/page.native.js +48 -8
- package/dist/esm/layouts/page.native.js.map +1 -1
- package/dist/jsx/Carousel/index.mjs +12 -10
- package/dist/jsx/Carousel/index.mjs.map +1 -1
- package/dist/jsx/Carousel/index.native.js +12 -10
- package/dist/jsx/Carousel/index.native.js.map +1 -1
- package/dist/jsx/Meter/meter.mjs +1 -1
- package/dist/jsx/Meter/meter.mjs.map +1 -1
- package/dist/jsx/Meter/meter.native.js +1 -1
- package/dist/jsx/Meter/meter.native.js.map +1 -1
- package/dist/jsx/SheetModal/index.mjs +34 -6
- package/dist/jsx/SheetModal/index.mjs.map +1 -1
- package/dist/jsx/appShell/TabBar.mjs +2 -2
- package/dist/jsx/appShell/TabBar.mjs.map +1 -1
- package/dist/jsx/appShell/TabBar.native.js +1 -1
- package/dist/jsx/appShell/TabBar.native.js.map +1 -1
- package/dist/jsx/appShell/TabHost.native.js +52 -5
- package/dist/jsx/appShell/TabHost.native.js.map +1 -1
- package/dist/jsx/layouts/PageTemplates.mjs +16 -13
- package/dist/jsx/layouts/PageTemplates.mjs.map +1 -1
- package/dist/jsx/layouts/PageTemplates.native.js +16 -13
- package/dist/jsx/layouts/PageTemplates.native.js.map +1 -1
- package/dist/jsx/layouts/bottomAccessory.mjs +26 -15
- package/dist/jsx/layouts/bottomAccessory.mjs.map +1 -1
- package/dist/jsx/layouts/bottomAccessory.native.js +29 -13
- package/dist/jsx/layouts/bottomAccessory.native.js.map +1 -1
- package/dist/jsx/layouts/page.mjs +44 -8
- package/dist/jsx/layouts/page.mjs.map +1 -1
- package/dist/jsx/layouts/page.native.js +48 -6
- package/dist/jsx/layouts/page.native.js.map +1 -1
- package/package.json +9 -9
- package/src/Carousel/Carousel.native.spec.tsx +25 -8
- package/src/Carousel/index.tsx +18 -11
- package/src/Meter/Meter.spec.tsx +5 -4
- package/src/Meter/meter.ts +6 -4
- package/src/SheetModal/SheetModal.regularWidth.spec.tsx +87 -0
- package/src/SheetModal/index.tsx +52 -5
- package/src/Text.stories.tsx +13 -0
- package/src/appShell/TabBar.spec.tsx +10 -4
- package/src/appShell/TabBar.tsx +4 -8
- package/src/appShell/TabHost.native.spec.tsx +109 -1
- package/src/appShell/TabHost.native.tsx +84 -13
- package/src/icons/themedButtonInk.spec.tsx +117 -0
- package/src/layouts/PageTemplates.tsx +14 -11
- package/src/layouts/Screen.chromeClearance.spec.tsx +28 -0
- package/src/layouts/bottomAccessory.tsx +40 -15
- package/src/layouts/page.tsx +73 -19
- package/src/layouts/pageTitleOneLine.spec.tsx +42 -0
- package/src/layouts/pushedPageTitle.spec.tsx +116 -0
- package/types/Carousel/index.d.ts.map +1 -1
- package/types/Meter/meter.d.ts +6 -4
- package/types/Meter/meter.d.ts.map +1 -1
- package/types/SheetModal/index.d.ts.map +1 -1
- package/types/appShell/TabBar.d.ts.map +1 -1
- package/types/appShell/TabHost.native.d.ts +13 -1
- package/types/appShell/TabHost.native.d.ts.map +1 -1
- package/types/layouts/PageTemplates.d.ts.map +1 -1
- package/types/layouts/bottomAccessory.d.ts +6 -1
- package/types/layouts/bottomAccessory.d.ts.map +1 -1
- package/types/layouts/page.d.ts +16 -1
- package/types/layouts/page.d.ts.map +1 -1
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useAccentTintedSurface,
|
|
2
|
+
import { useAccentTintedSurface, useActiveTabInk, useGlyphColor } from "@multiplatform.one/theme";
|
|
3
3
|
import { useEffect, useRef, useState } from "react";
|
|
4
4
|
import { Platform, UIManager } from "react-native";
|
|
5
|
-
import { YStack } from "tamagui";
|
|
6
|
-
import { setBottomChromeInset } from "./bottomChrome.native.js";
|
|
5
|
+
import { XStack, YStack } from "tamagui";
|
|
6
|
+
import { setBottomChromeInset, setFloatingBarMounted, useBottomAccessory } from "./bottomChrome.native.js";
|
|
7
7
|
import { useBottomInset } from "./bottomInset.native.js";
|
|
8
8
|
import { tabBarInactiveInk } from "./TabBar.native.js";
|
|
9
9
|
import { MpoTabHost } from "./MpoTabHost.native.js";
|
|
10
10
|
var nativeTabsComponents = ["RNSTabsHost", "RNSTabsScreen"];
|
|
11
11
|
var nativeTabBarHeight = 49;
|
|
12
|
+
var nativeTabsAccessoryComponent = "RNSTabsBottomAccessory";
|
|
13
|
+
var nativeTabsAccessoryHeight = 56;
|
|
12
14
|
var nativeTabsPlatforms = {
|
|
13
15
|
ios: true,
|
|
14
16
|
android: false
|
|
@@ -34,11 +36,26 @@ function resolveNativeTabs(sources, os) {
|
|
|
34
36
|
return null;
|
|
35
37
|
}
|
|
36
38
|
}
|
|
39
|
+
function resolveNativeAccessory(sources, os, version) {
|
|
40
|
+
if (os !== "ios" || Number.parseInt(String(version), 10) < 26) return false;
|
|
41
|
+
try {
|
|
42
|
+
return sources.hasComponent(nativeTabsAccessoryComponent);
|
|
43
|
+
} catch (unused) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
37
47
|
var cached;
|
|
48
|
+
var cachedAccessory;
|
|
38
49
|
function loadNativeTabs() {
|
|
39
50
|
if (cached === void 0) cached = resolveNativeTabs(appSources, Platform.OS);
|
|
40
51
|
return cached;
|
|
41
52
|
}
|
|
53
|
+
function loadNativeAccessory() {
|
|
54
|
+
if (cachedAccessory === void 0) {
|
|
55
|
+
cachedAccessory = resolveNativeAccessory(appSources, Platform.OS, Platform.Version);
|
|
56
|
+
}
|
|
57
|
+
return cachedAccessory;
|
|
58
|
+
}
|
|
42
59
|
function itemsHaveNativeIcons(items) {
|
|
43
60
|
var os = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "ios";
|
|
44
61
|
var glyph = function glyph2(item) {
|
|
@@ -70,20 +87,34 @@ function nativeIconFor(item) {
|
|
|
70
87
|
} : {})
|
|
71
88
|
};
|
|
72
89
|
}
|
|
90
|
+
function NativeAccessoryContent(param) {
|
|
91
|
+
var {
|
|
92
|
+
children
|
|
93
|
+
} = param;
|
|
94
|
+
return /* @__PURE__ */_jsx(XStack, {
|
|
95
|
+
flex: 1,
|
|
96
|
+
alignItems: "center",
|
|
97
|
+
justifyContent: "center",
|
|
98
|
+
paddingHorizontal: "$3",
|
|
99
|
+
"data-testid": "native-tab-accessory",
|
|
100
|
+
children
|
|
101
|
+
});
|
|
102
|
+
}
|
|
73
103
|
function NativeTabHost(param) {
|
|
74
104
|
var {
|
|
75
105
|
tabs,
|
|
76
106
|
items,
|
|
77
107
|
activeKey,
|
|
78
108
|
onTabPress,
|
|
79
|
-
children
|
|
109
|
+
children,
|
|
110
|
+
hostsAccessory = false
|
|
80
111
|
} = param;
|
|
81
112
|
var _items_;
|
|
82
113
|
var {
|
|
83
114
|
Host,
|
|
84
115
|
Screen
|
|
85
116
|
} = tabs;
|
|
86
|
-
var accent =
|
|
117
|
+
var accent = useActiveTabInk();
|
|
87
118
|
var ink = useGlyphColor(tabBarInactiveInk);
|
|
88
119
|
var surface = useGlyphColor("$color2");
|
|
89
120
|
var indicator = useAccentTintedSurface();
|
|
@@ -94,12 +125,19 @@ function NativeTabHost(param) {
|
|
|
94
125
|
var lastKey = useRef(activeKey !== null && activeKey !== void 0 ? activeKey : (_items_ = items[0]) === null || _items_ === void 0 ? void 0 : _items_.key);
|
|
95
126
|
if (activeKey) lastKey.current = activeKey;
|
|
96
127
|
var focusedKey = lastKey.current;
|
|
128
|
+
var hosting = hostsAccessory && Boolean(activeKey);
|
|
129
|
+
var pageAccessory = useBottomAccessory();
|
|
130
|
+
var accessory = hosting ? pageAccessory : null;
|
|
131
|
+
useEffect(function () {
|
|
132
|
+
setBottomChromeInset(id, activeKey ? nativeTabBarHeight + deviceInset + (accessory ? nativeTabsAccessoryHeight : 0) : null);
|
|
133
|
+
}, [activeKey, accessory, deviceInset, id]);
|
|
97
134
|
useEffect(function () {
|
|
98
|
-
|
|
99
|
-
}, [
|
|
135
|
+
setFloatingBarMounted(id, hosting);
|
|
136
|
+
}, [hosting, id]);
|
|
100
137
|
useEffect(function () {
|
|
101
138
|
return function () {
|
|
102
|
-
|
|
139
|
+
setBottomChromeInset(id, null);
|
|
140
|
+
setFloatingBarMounted(id, false);
|
|
103
141
|
};
|
|
104
142
|
}, [id]);
|
|
105
143
|
return /* @__PURE__ */_jsx(Host, {
|
|
@@ -112,6 +150,11 @@ function NativeTabHost(param) {
|
|
|
112
150
|
tabBarBackgroundColor: surface,
|
|
113
151
|
tabBarItemActiveIndicatorColor: indicator,
|
|
114
152
|
experimentalControlNavigationStateInJS: true,
|
|
153
|
+
bottomAccessory: accessory ? function () {
|
|
154
|
+
return /* @__PURE__ */_jsx(NativeAccessoryContent, {
|
|
155
|
+
children: accessory
|
|
156
|
+
});
|
|
157
|
+
} : void 0,
|
|
115
158
|
onNativeFocusChange: function onNativeFocusChange(event) {
|
|
116
159
|
var key = event.nativeEvent.tabKey;
|
|
117
160
|
if (key !== activeKey) onTabPress(key);
|
|
@@ -147,8 +190,9 @@ function TabHost(props) {
|
|
|
147
190
|
});
|
|
148
191
|
return /* @__PURE__ */_jsx(NativeTabHost, {
|
|
149
192
|
tabs,
|
|
193
|
+
hostsAccessory: loadNativeAccessory(),
|
|
150
194
|
...props
|
|
151
195
|
});
|
|
152
196
|
}
|
|
153
|
-
export { NativeTabHost, TabHost, itemsHaveNativeIcons, nativeIconFor, nativeTabBarHeight, nativeTabsComponents, nativeTabsPlatforms, resolveNativeTabs };
|
|
197
|
+
export { NativeTabHost, TabHost, itemsHaveNativeIcons, nativeIconFor, nativeTabBarHeight, nativeTabsAccessoryComponent, nativeTabsAccessoryHeight, nativeTabsComponents, nativeTabsPlatforms, resolveNativeAccessory, resolveNativeTabs };
|
|
154
198
|
//# sourceMappingURL=TabHost.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","useAccentTintedSurface","
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","useAccentTintedSurface","useActiveTabInk","useGlyphColor","useEffect","useRef","useState","Platform","UIManager","XStack","YStack","setBottomChromeInset","setFloatingBarMounted","useBottomAccessory","useBottomInset","tabBarInactiveInk","MpoTabHost","nativeTabsComponents","nativeTabBarHeight","nativeTabsAccessoryComponent","nativeTabsAccessoryHeight","nativeTabsPlatforms","ios","android","appSources","hasComponent","name","hasViewManagerConfig","screens","require","resolveNativeTabs","sources","os","platforms","arguments","length","every","tabs","Tabs","Host","Screen","unused","resolveNativeAccessory","version","Number","parseInt","String","cached","cachedAccessory","loadNativeTabs","OS","loadNativeAccessory","Version","itemsHaveNativeIcons","items","glyph","glyph2","item","_item_nativeIcon","_item_nativeIcon1","nativeIcon","sfSymbol","Boolean","nativeIconFor","type","imageSource","NativeAccessoryContent","param","children","flex","alignItems","justifyContent","paddingHorizontal","NativeTabHost","activeKey","onTabPress","hostsAccessory","_items_","accent","ink","surface","indicator","deviceInset","id","Symbol","lastKey","key","current","focusedKey","hosting","pageAccessory","accessory","tabBarHidden","tabBarTintColor","tabBarItemIconColor","tabBarItemIconColorActive","tabBarItemTitleFontColor","tabBarItemTitleFontColorActive","tabBarBackgroundColor","tabBarItemActiveIndicatorColor","experimentalControlNavigationStateInJS","bottomAccessory","onNativeFocusChange","event","nativeEvent","tabKey","map","title","label","isFocused","icon","selectedIcon","sfSymbolSelected","tabBarItemAccessibilityLabel","tabBarItemTestID","replace","overrideScrollViewContentInsetAdjustmentBehavior","backgroundColor","TabHost","props"],"sources":["../../../src/appShell/TabHost.native.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DETAIL_READABLE_WIDTH, defaultMaxPanes, layoutBreakpoints, useResolvedKnobs, useLayoutSizeClass, useSemanticGaps } from "@multiplatform.one/theme";
|
|
2
2
|
import { useState } from "react";
|
|
3
3
|
import { XStack, YStack, isWeb } from "tamagui";
|
|
4
|
-
import { PageHeader, Screen, ScreenToolbar } from "./page.mjs";
|
|
4
|
+
import { PageHeader, PushedPage, Screen, ScreenToolbar } from "./page.mjs";
|
|
5
5
|
import { SupportingPaneLayout } from "./PaneScaffold.mjs";
|
|
6
6
|
import { useShellSidebarPanel } from "./shellSidebarSlot.mjs";
|
|
7
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -173,19 +173,22 @@ function DetailPageLayout({
|
|
|
173
173
|
return (
|
|
174
174
|
// LC-157: the toolbar is the Screen's pinned top bar, so it stays put
|
|
175
175
|
// while the record scrolls and takes the title once the header scrolls away.
|
|
176
|
+
// LC-270: a detail page is pushed, so on a phone its title starts there.
|
|
176
177
|
/* @__PURE__ */
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
178
|
+
jsx(PushedPage, {
|
|
179
|
+
children: /* @__PURE__ */jsxs(Screen, {
|
|
180
|
+
"data-canonical": "detail-page",
|
|
181
|
+
topBar: toolbar,
|
|
182
|
+
maxWidth: aside == null ? DETAIL_READABLE_WIDTH : void 0,
|
|
183
|
+
...rest,
|
|
184
|
+
children: [renderTemplateHeader({
|
|
185
|
+
title,
|
|
186
|
+
subtitle,
|
|
187
|
+
actions,
|
|
188
|
+
header,
|
|
189
|
+
nav
|
|
190
|
+
}), body]
|
|
191
|
+
})
|
|
189
192
|
})
|
|
190
193
|
);
|
|
191
194
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DETAIL_READABLE_WIDTH","defaultMaxPanes","layoutBreakpoints","useResolvedKnobs","useLayoutSizeClass","useSemanticGaps","useState","XStack","YStack","isWeb","PageHeader","Screen","ScreenToolbar","SupportingPaneLayout","useShellSidebarPanel","Fragment","jsx","jsxs","renderTemplateHeader","title","subtitle","actions","nav","header","ListPageLayout","toolbar","sidebar","sidebarWidth","sidebarLabel","children","rest","main","flex","minWidth","ListPageSidebar","scrollViewProps","knobProps","component","scrollHeight","setScrollHeight","shellTookPanel","content","onLayout","event","height","nativeEvent","layout","gapLg","alignItems","render","width","flexShrink","display","style","position","top","maxHeight","overflowY","DetailPageLayout","toolbarLeading","toolbarTrailing","aside","sizeClass","sizeClassProp","liveClass","multi","gaps","leading","trailing","body","supporting","betweenGroups","topBar","maxWidth","SettingsPageLayout","expanded","DensePageLayout","status","measure","kind","gutter","compact","head","region","minHeight","paddingHorizontal","panelPadding","padding","containerRadius","overflow","scroll","bleed","noPadding","paddingBottom"],"sources":["../../../src/layouts/PageTemplates.tsx"],"sourcesContent":[null],"mappings":"AAuBA,SACEA,qBAAA,EACAC,eAAA,EACAC,iBAAA,EACAC,gBAAA,EACAC,kBAAA,EACAC,eAAA,QAEK;AACP,SAASC,QAAA,QAAgC;AACzC,SAASC,MAAA,EAAQC,MAAA,EAAQC,KAAA,QAA8B;AACvD,SAASC,UAAA,EAAYC,MAAA,EAAQC,aAAA,QAAuC;
|
|
1
|
+
{"version":3,"names":["DETAIL_READABLE_WIDTH","defaultMaxPanes","layoutBreakpoints","useResolvedKnobs","useLayoutSizeClass","useSemanticGaps","useState","XStack","YStack","isWeb","PageHeader","PushedPage","Screen","ScreenToolbar","SupportingPaneLayout","useShellSidebarPanel","Fragment","jsx","jsxs","renderTemplateHeader","title","subtitle","actions","nav","header","ListPageLayout","toolbar","sidebar","sidebarWidth","sidebarLabel","children","rest","main","flex","minWidth","ListPageSidebar","scrollViewProps","knobProps","component","scrollHeight","setScrollHeight","shellTookPanel","content","onLayout","event","height","nativeEvent","layout","gapLg","alignItems","render","width","flexShrink","display","style","position","top","maxHeight","overflowY","DetailPageLayout","toolbarLeading","toolbarTrailing","aside","sizeClass","sizeClassProp","liveClass","multi","gaps","leading","trailing","body","supporting","betweenGroups","topBar","maxWidth","SettingsPageLayout","expanded","DensePageLayout","status","measure","kind","gutter","compact","head","region","minHeight","paddingHorizontal","panelPadding","padding","containerRadius","overflow","scroll","bleed","noPadding","paddingBottom"],"sources":["../../../src/layouts/PageTemplates.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { DETAIL_READABLE_WIDTH, defaultMaxPanes, layoutBreakpoints, useResolvedKnobs, useLayoutSizeClass, useSemanticGaps } from "@multiplatform.one/theme";
|
|
3
3
|
import { useState } from "react";
|
|
4
4
|
import { XStack, YStack, isWeb } from "tamagui";
|
|
5
|
-
import { PageHeader, Screen, ScreenToolbar } from "./page.native.js";
|
|
5
|
+
import { PageHeader, PushedPage, Screen, ScreenToolbar } from "./page.native.js";
|
|
6
6
|
import { SupportingPaneLayout } from "./PaneScaffold.native.js";
|
|
7
7
|
import { useShellSidebarPanel } from "./shellSidebarSlot.native.js";
|
|
8
8
|
function renderTemplateHeader(param) {
|
|
@@ -181,20 +181,23 @@ function DetailPageLayout(param) {
|
|
|
181
181
|
return (
|
|
182
182
|
// LC-157: the toolbar is the Screen's pinned top bar, so it stays put
|
|
183
183
|
// while the record scrolls and takes the title once the header scrolls away.
|
|
184
|
+
// LC-270: a detail page is pushed, so on a phone its title starts there.
|
|
184
185
|
/* @__PURE__ */
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
186
|
+
_jsx(PushedPage, {
|
|
187
|
+
children: /* @__PURE__ */_jsxs(Screen, {
|
|
188
|
+
"data-canonical": "detail-page",
|
|
189
|
+
topBar: toolbar,
|
|
190
|
+
// LC-263: one readable column; a supporting pane gets the full width.
|
|
191
|
+
maxWidth: aside == null ? DETAIL_READABLE_WIDTH : void 0,
|
|
192
|
+
...rest,
|
|
193
|
+
children: [renderTemplateHeader({
|
|
194
|
+
title,
|
|
195
|
+
subtitle,
|
|
196
|
+
actions,
|
|
197
|
+
header,
|
|
198
|
+
nav
|
|
199
|
+
}), body]
|
|
200
|
+
})
|
|
198
201
|
})
|
|
199
202
|
);
|
|
200
203
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DETAIL_READABLE_WIDTH","defaultMaxPanes","layoutBreakpoints","useResolvedKnobs","useLayoutSizeClass","useSemanticGaps","useState","XStack","YStack","isWeb","PageHeader","Screen","ScreenToolbar","SupportingPaneLayout","useShellSidebarPanel","renderTemplateHeader","param","title","subtitle","actions","nav","header","ListPageLayout","toolbar","sidebar","sidebarWidth","sidebarLabel","children","rest","main","flex","minWidth","ListPageSidebar","scrollViewProps","knobProps","component","scrollHeight","setScrollHeight","shellTookPanel","content","onLayout","event","_scrollViewProps_onLayout","height","nativeEvent","layout","call","gapLg","alignItems","render","width","flexShrink","display","style","position","top","maxHeight","overflowY","DetailPageLayout","toolbarLeading","toolbarTrailing","aside","sizeClass","sizeClassProp","liveClass","multi","gaps","leading","trailing","body","supporting","betweenGroups","topBar","maxWidth","SettingsPageLayout","expanded","DensePageLayout","status","measure","kind","gutter","compact","head","region","minHeight","paddingHorizontal","panelPadding","padding","containerRadius","overflow"],"sources":["../../../src/layouts/PageTemplates.tsx"],"sourcesContent":[null],"mappings":"AAuBA,SAAAA,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAAA,SACEC,qBAAA,EAAAC,eAAA,EAAAC,iBAAA,EAAAC,gBAAA,EAAAC,kBAAA,EAAAC,eAAA;AAAA,SACAC,QAAA;AAAA,SACAC,MAAA,EAAAC,MAAA,EAAAC,KAAA;AAAA,SACAC,UAAA,EAAAC,MAAA,EAAAC,aAAA;AAAA,SACAC,oBAAA;AAAA,SACAC,oBAAA;AAAA,SAEKC,qBAAAC,KAAA;EACP;IAAAC,KAAS;IAAAC,QAAA;IAAgCC,OAAA;IAAAC,GAAA;IAAAC;EAAA,IAAAL,KAAA;EACzC,IAAAK,MAAS,KAAQ,QAAQ,OAAAA,MAA8B;EACvD,KAAAJ,KAAS,KAAAC,QAAY,IAAQ,CAAAC,
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DETAIL_READABLE_WIDTH","defaultMaxPanes","layoutBreakpoints","useResolvedKnobs","useLayoutSizeClass","useSemanticGaps","useState","XStack","YStack","isWeb","PageHeader","PushedPage","Screen","ScreenToolbar","SupportingPaneLayout","useShellSidebarPanel","renderTemplateHeader","param","title","subtitle","actions","nav","header","ListPageLayout","toolbar","sidebar","sidebarWidth","sidebarLabel","children","rest","main","flex","minWidth","ListPageSidebar","scrollViewProps","knobProps","component","scrollHeight","setScrollHeight","shellTookPanel","content","onLayout","event","_scrollViewProps_onLayout","height","nativeEvent","layout","call","gapLg","alignItems","render","width","flexShrink","display","style","position","top","maxHeight","overflowY","DetailPageLayout","toolbarLeading","toolbarTrailing","aside","sizeClass","sizeClassProp","liveClass","multi","gaps","leading","trailing","body","supporting","betweenGroups","topBar","maxWidth","SettingsPageLayout","expanded","DensePageLayout","status","measure","kind","gutter","compact","head","region","minHeight","paddingHorizontal","panelPadding","padding","containerRadius","overflow"],"sources":["../../../src/layouts/PageTemplates.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Surface, hairline, useResolvedKnobs } from "@multiplatform.one/theme";
|
|
2
2
|
import { Fragment, createContext, useContext, useEffect, useLayoutEffect, useRef, useState, useSyncExternalStore } from "react";
|
|
3
3
|
import { YStack, isWeb } from "tamagui";
|
|
4
|
-
import { setBottomAccessory, useFloatingBarMounted } from "../appShell/bottomChrome.mjs";
|
|
4
|
+
import { setBottomAccessory, useBottomChromeInset, useFloatingBarMounted } from "../appShell/bottomChrome.mjs";
|
|
5
5
|
import { componentColors } from "../componentColors.mjs";
|
|
6
6
|
import { BottomSafeArea } from "./bottomSafeArea.mjs";
|
|
7
7
|
import { Fragment as Fragment2, jsx } from "react/jsx-runtime";
|
|
@@ -85,6 +85,9 @@ function BottomAccessory({
|
|
|
85
85
|
children
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
|
+
function useBottomAccessoryOccupied(store) {
|
|
89
|
+
return useSyncExternalStore(store.subscribe, () => store.getSnapshot().length > 0, () => false);
|
|
90
|
+
}
|
|
88
91
|
function BottomAccessoryHost({
|
|
89
92
|
store,
|
|
90
93
|
inset,
|
|
@@ -112,6 +115,20 @@ function BottomAccessoryBar({
|
|
|
112
115
|
} = useResolvedKnobs({
|
|
113
116
|
component: "ScreenToolbar"
|
|
114
117
|
});
|
|
118
|
+
const chromeInset = useBottomChromeInset();
|
|
119
|
+
const lift = hosted && chromeInset > 0;
|
|
120
|
+
const controls = /* @__PURE__ */jsx(YStack, {
|
|
121
|
+
width: "100%",
|
|
122
|
+
...(maxWidth ? {
|
|
123
|
+
maxWidth,
|
|
124
|
+
alignSelf: "center"
|
|
125
|
+
} : null),
|
|
126
|
+
alignItems: "center",
|
|
127
|
+
paddingHorizontal: inset ?? knobProps.panelPadding.padding,
|
|
128
|
+
paddingVertical: knobProps.gap.gap,
|
|
129
|
+
...knobProps.gap,
|
|
130
|
+
children
|
|
131
|
+
});
|
|
115
132
|
return /* @__PURE__ */jsx(Surface, {
|
|
116
133
|
bar: true,
|
|
117
134
|
children: /* @__PURE__ */jsx(YStack, {
|
|
@@ -123,22 +140,16 @@ function BottomAccessoryBar({
|
|
|
123
140
|
...hairline.top,
|
|
124
141
|
borderColor: componentColors.divider,
|
|
125
142
|
style: webSticky,
|
|
126
|
-
children: /* @__PURE__ */jsx(
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
alignItems: "center",
|
|
134
|
-
paddingHorizontal: inset ?? knobProps.panelPadding.padding,
|
|
135
|
-
paddingVertical: knobProps.gap.gap,
|
|
136
|
-
...knobProps.gap,
|
|
137
|
-
children
|
|
138
|
-
})
|
|
143
|
+
children: lift ? /* @__PURE__ */jsx(YStack, {
|
|
144
|
+
width: "100%",
|
|
145
|
+
paddingBottom: chromeInset,
|
|
146
|
+
"data-testid": "bottom-accessory-lift",
|
|
147
|
+
children: controls
|
|
148
|
+
}) : /* @__PURE__ */jsx(BottomSafeArea, {
|
|
149
|
+
children: controls
|
|
139
150
|
})
|
|
140
151
|
})
|
|
141
152
|
});
|
|
142
153
|
}
|
|
143
|
-
export { BottomAccessory, BottomAccessoryHost, BottomAccessoryScope, createBottomAccessoryStore, useBottomAccessorySlot };
|
|
154
|
+
export { BottomAccessory, BottomAccessoryHost, BottomAccessoryScope, createBottomAccessoryStore, useBottomAccessoryOccupied, useBottomAccessorySlot };
|
|
144
155
|
//# sourceMappingURL=bottomAccessory.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Surface","hairline","useResolvedKnobs","Fragment","createContext","useContext","useEffect","useLayoutEffect","useRef","useState","useSyncExternalStore","YStack","isWeb","setBottomAccessory","useFloatingBarMounted","componentColors","BottomSafeArea","jsx","useIsomorphicLayoutEffect","window","empty","webSticky","position","bottom","createBottomAccessoryStore","entries","listeners","Set","emit","listener","set","id","node","at","findIndex","entry","map","remove","some","filter","subscribe","add","delete","getSnapshot","BottomAccessoryContext","BottomAccessoryScope","store","children","Provider","value","useBottomAccessorySlot","nextId","BottomAccessory","floating","slot","current","barId","Symbol","own","Fragment2","BottomAccessoryBar","BottomAccessoryHost","inset","maxWidth","
|
|
1
|
+
{"version":3,"names":["Surface","hairline","useResolvedKnobs","Fragment","createContext","useContext","useEffect","useLayoutEffect","useRef","useState","useSyncExternalStore","YStack","isWeb","setBottomAccessory","useBottomChromeInset","useFloatingBarMounted","componentColors","BottomSafeArea","jsx","useIsomorphicLayoutEffect","window","empty","webSticky","position","bottom","createBottomAccessoryStore","entries","listeners","Set","emit","listener","set","id","node","at","findIndex","entry","map","remove","some","filter","subscribe","add","delete","getSnapshot","BottomAccessoryContext","BottomAccessoryScope","store","children","Provider","value","useBottomAccessorySlot","nextId","BottomAccessory","floating","slot","current","barId","Symbol","own","Fragment2","BottomAccessoryBar","useBottomAccessoryOccupied","length","BottomAccessoryHost","inset","maxWidth","hosted","knobProps","component","chromeInset","lift","controls","width","alignSelf","alignItems","paddingHorizontal","panelPadding","padding","paddingVertical","gap","bar","flexShrink","zIndex","backgroundColor","top","borderColor","divider","style","paddingBottom"],"sources":["../../../src/layouts/bottomAccessory.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
|
2
2
|
import { Surface, hairline, useResolvedKnobs } from "@multiplatform.one/theme";
|
|
3
3
|
import { Fragment, createContext, useContext, useEffect, useLayoutEffect, useRef, useState, useSyncExternalStore } from "react";
|
|
4
4
|
import { YStack, isWeb } from "tamagui";
|
|
5
|
-
import { setBottomAccessory, useFloatingBarMounted } from "../appShell/bottomChrome.native.js";
|
|
5
|
+
import { setBottomAccessory, useBottomChromeInset, useFloatingBarMounted } from "../appShell/bottomChrome.native.js";
|
|
6
6
|
import { componentColors } from "../componentColors.native.js";
|
|
7
7
|
import { BottomSafeArea } from "./bottomSafeArea.native.js";
|
|
8
8
|
var useIsomorphicLayoutEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
|
|
@@ -128,6 +128,13 @@ function BottomAccessory(param) {
|
|
|
128
128
|
children
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
|
+
function useBottomAccessoryOccupied(store) {
|
|
132
|
+
return useSyncExternalStore(store.subscribe, function () {
|
|
133
|
+
return store.getSnapshot().length > 0;
|
|
134
|
+
}, function () {
|
|
135
|
+
return false;
|
|
136
|
+
});
|
|
137
|
+
}
|
|
131
138
|
function BottomAccessoryHost(param) {
|
|
132
139
|
var {
|
|
133
140
|
store,
|
|
@@ -161,6 +168,20 @@ function BottomAccessoryBar(param) {
|
|
|
161
168
|
} = useResolvedKnobs({
|
|
162
169
|
component: "ScreenToolbar"
|
|
163
170
|
});
|
|
171
|
+
var chromeInset = useBottomChromeInset();
|
|
172
|
+
var lift = hosted && chromeInset > 0;
|
|
173
|
+
var controls = /* @__PURE__ */_jsx(YStack, {
|
|
174
|
+
width: "100%",
|
|
175
|
+
...(maxWidth ? {
|
|
176
|
+
maxWidth,
|
|
177
|
+
alignSelf: "center"
|
|
178
|
+
} : null),
|
|
179
|
+
alignItems: "center",
|
|
180
|
+
paddingHorizontal: inset !== null && inset !== void 0 ? inset : knobProps.panelPadding.padding,
|
|
181
|
+
paddingVertical: knobProps.gap.gap,
|
|
182
|
+
...knobProps.gap,
|
|
183
|
+
children
|
|
184
|
+
});
|
|
164
185
|
return /* @__PURE__ */_jsx(Surface, {
|
|
165
186
|
bar: true,
|
|
166
187
|
children: /* @__PURE__ */_jsx(YStack, {
|
|
@@ -172,22 +193,16 @@ function BottomAccessoryBar(param) {
|
|
|
172
193
|
...hairline.top,
|
|
173
194
|
borderColor: componentColors.divider,
|
|
174
195
|
style: webSticky,
|
|
175
|
-
children: /* @__PURE__ */_jsx(
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
alignItems: "center",
|
|
183
|
-
paddingHorizontal: inset !== null && inset !== void 0 ? inset : knobProps.panelPadding.padding,
|
|
184
|
-
paddingVertical: knobProps.gap.gap,
|
|
185
|
-
...knobProps.gap,
|
|
186
|
-
children
|
|
187
|
-
})
|
|
196
|
+
children: lift ? /* @__PURE__ */_jsx(YStack, {
|
|
197
|
+
width: "100%",
|
|
198
|
+
paddingBottom: chromeInset,
|
|
199
|
+
"data-testid": "bottom-accessory-lift",
|
|
200
|
+
children: controls
|
|
201
|
+
}) : /* @__PURE__ */_jsx(BottomSafeArea, {
|
|
202
|
+
children: controls
|
|
188
203
|
})
|
|
189
204
|
})
|
|
190
205
|
});
|
|
191
206
|
}
|
|
192
|
-
export { BottomAccessory, BottomAccessoryHost, BottomAccessoryScope, createBottomAccessoryStore, useBottomAccessorySlot };
|
|
207
|
+
export { BottomAccessory, BottomAccessoryHost, BottomAccessoryScope, createBottomAccessoryStore, useBottomAccessoryOccupied, useBottomAccessorySlot };
|
|
193
208
|
//# sourceMappingURL=bottomAccessory.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","Fragment","_Fragment","Surface","hairline","useResolvedKnobs","createContext","useContext","useEffect","useLayoutEffect","useRef","useState","useSyncExternalStore","YStack","isWeb","setBottomAccessory","useFloatingBarMounted","componentColors","BottomSafeArea","useIsomorphicLayoutEffect","window","empty","webSticky","position","bottom","createBottomAccessoryStore","entries","listeners","Set","emit","emit2","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","listener","value","err","return","set","id","node","at","findIndex","entry","map","remove","some","filter","subscribe","add","delete","getSnapshot","BottomAccessoryContext","BottomAccessoryScope","param","store","children","Provider","useBottomAccessorySlot","nextId","BottomAccessory","floating","slot","current","barId","own"],"sources":["../../../src/layouts/bottomAccessory.tsx"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","Fragment","_Fragment","Surface","hairline","useResolvedKnobs","createContext","useContext","useEffect","useLayoutEffect","useRef","useState","useSyncExternalStore","YStack","isWeb","setBottomAccessory","useBottomChromeInset","useFloatingBarMounted","componentColors","BottomSafeArea","useIsomorphicLayoutEffect","window","empty","webSticky","position","bottom","createBottomAccessoryStore","entries","listeners","Set","emit","emit2","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","listener","value","err","return","set","id","node","at","findIndex","entry","map","remove","some","filter","subscribe","add","delete","getSnapshot","BottomAccessoryContext","BottomAccessoryScope","param","store","children","Provider","useBottomAccessorySlot","nextId","BottomAccessory","floating","slot","current","barId","own","BottomAccessoryBar"],"sources":["../../../src/layouts/bottomAccessory.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|