@oxy.so/bloom 4.15.0 → 4.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/app-shell.mdx +74 -6
- package/docs/bottom-bar.mdx +9 -1
- package/docs/hooks.mdx +23 -0
- package/docs/sidebar.mdx +15 -2
- package/docs/tab-bar.mdx +1 -1
- package/lib/commonjs/app-shell/AppShell.js +3 -1
- package/lib/commonjs/app-shell/AppShell.js.map +1 -1
- package/lib/commonjs/app-shell/AppShellEngine.js +54 -28
- package/lib/commonjs/app-shell/AppShellEngine.js.map +1 -1
- package/lib/commonjs/app-shell/AppShellHeader.js +4 -3
- package/lib/commonjs/app-shell/AppShellHeader.js.map +1 -1
- package/lib/commonjs/app-shell/NotificationBell.js +8 -4
- package/lib/commonjs/app-shell/NotificationBell.js.map +1 -1
- package/lib/commonjs/app-shell/ProOfferCard.js +19 -11
- package/lib/commonjs/app-shell/ProOfferCard.js.map +1 -1
- package/lib/commonjs/bottom-bar/BottomBarBase.js +9 -2
- package/lib/commonjs/bottom-bar/BottomBarBase.js.map +1 -1
- package/lib/commonjs/hooks/index.js +7 -0
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/use-is-rtl.js +104 -0
- package/lib/commonjs/hooks/use-is-rtl.js.map +1 -0
- package/lib/commonjs/sidebar/Sidebar.js +41 -22
- package/lib/commonjs/sidebar/Sidebar.js.map +1 -1
- package/lib/commonjs/sidebar/SidebarFolder.js +11 -5
- package/lib/commonjs/sidebar/SidebarFolder.js.map +1 -1
- package/lib/commonjs/sidebar/SidebarLogoView.js +2 -2
- package/lib/commonjs/sidebar/SidebarLogoView.js.map +1 -1
- package/lib/commonjs/sidebar/SidebarModeSwitcher.js +1 -1
- package/lib/commonjs/sidebar/SidebarModeSwitcher.js.map +1 -1
- package/lib/commonjs/sidebar/SidebarPlanCard.js +3 -3
- package/lib/commonjs/sidebar/SidebarPlanCard.js.map +1 -1
- package/lib/commonjs/sidebar/SidebarRail.js +7 -1
- package/lib/commonjs/sidebar/SidebarRail.js.map +1 -1
- package/lib/commonjs/sidebar/SidebarRailItem.js +2 -2
- package/lib/commonjs/sidebar/SidebarRailItem.js.map +1 -1
- package/lib/commonjs/sidebar/SidebarTeamMenu.js +12 -7
- package/lib/commonjs/sidebar/SidebarTeamMenu.js.map +1 -1
- package/lib/commonjs/sidebar/SidebarUserMenu.js +9 -5
- package/lib/commonjs/sidebar/SidebarUserMenu.js.map +1 -1
- package/lib/commonjs/tab-bar/TabBarBase.js +57 -21
- package/lib/commonjs/tab-bar/TabBarBase.js.map +1 -1
- package/lib/module/app-shell/AppShell.js +3 -1
- package/lib/module/app-shell/AppShell.js.map +1 -1
- package/lib/module/app-shell/AppShellEngine.js +54 -28
- package/lib/module/app-shell/AppShellEngine.js.map +1 -1
- package/lib/module/app-shell/AppShellHeader.js +4 -3
- package/lib/module/app-shell/AppShellHeader.js.map +1 -1
- package/lib/module/app-shell/NotificationBell.js +8 -4
- package/lib/module/app-shell/NotificationBell.js.map +1 -1
- package/lib/module/app-shell/ProOfferCard.js +19 -11
- package/lib/module/app-shell/ProOfferCard.js.map +1 -1
- package/lib/module/bottom-bar/BottomBarBase.js +9 -2
- package/lib/module/bottom-bar/BottomBarBase.js.map +1 -1
- package/lib/module/hooks/index.js +1 -0
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/use-is-rtl.js +97 -0
- package/lib/module/hooks/use-is-rtl.js.map +1 -0
- package/lib/module/sidebar/Sidebar.js +41 -22
- package/lib/module/sidebar/Sidebar.js.map +1 -1
- package/lib/module/sidebar/SidebarFolder.js +11 -5
- package/lib/module/sidebar/SidebarFolder.js.map +1 -1
- package/lib/module/sidebar/SidebarLogoView.js +2 -2
- package/lib/module/sidebar/SidebarLogoView.js.map +1 -1
- package/lib/module/sidebar/SidebarModeSwitcher.js +1 -1
- package/lib/module/sidebar/SidebarModeSwitcher.js.map +1 -1
- package/lib/module/sidebar/SidebarPlanCard.js +3 -3
- package/lib/module/sidebar/SidebarPlanCard.js.map +1 -1
- package/lib/module/sidebar/SidebarRail.js +7 -1
- package/lib/module/sidebar/SidebarRail.js.map +1 -1
- package/lib/module/sidebar/SidebarRailItem.js +2 -2
- package/lib/module/sidebar/SidebarRailItem.js.map +1 -1
- package/lib/module/sidebar/SidebarTeamMenu.js +12 -7
- package/lib/module/sidebar/SidebarTeamMenu.js.map +1 -1
- package/lib/module/sidebar/SidebarUserMenu.js +9 -5
- package/lib/module/sidebar/SidebarUserMenu.js.map +1 -1
- package/lib/module/tab-bar/TabBarBase.js +57 -21
- package/lib/module/tab-bar/TabBarBase.js.map +1 -1
- package/lib/typescript/commonjs/app-shell/AppShellEngine.d.ts.map +1 -1
- package/lib/typescript/commonjs/app-shell/AppShellHeader.d.ts.map +1 -1
- package/lib/typescript/commonjs/app-shell/NotificationBell.d.ts.map +1 -1
- package/lib/typescript/commonjs/app-shell/ProOfferCard.d.ts.map +1 -1
- package/lib/typescript/commonjs/app-shell/types.d.ts +16 -5
- package/lib/typescript/commonjs/app-shell/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/bottom-bar/BottomBarBase.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/index.d.ts +1 -0
- package/lib/typescript/commonjs/hooks/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/use-is-rtl.d.ts +53 -0
- package/lib/typescript/commonjs/hooks/use-is-rtl.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/shared.d.ts +10 -10
- package/lib/typescript/commonjs/sidebar/Sidebar.d.ts.map +1 -1
- package/lib/typescript/commonjs/sidebar/SidebarFolder.d.ts.map +1 -1
- package/lib/typescript/commonjs/sidebar/SidebarRail.d.ts +1 -1
- package/lib/typescript/commonjs/sidebar/SidebarRail.d.ts.map +1 -1
- package/lib/typescript/commonjs/sidebar/SidebarTeamMenu.d.ts.map +1 -1
- package/lib/typescript/commonjs/sidebar/SidebarUserMenu.d.ts.map +1 -1
- package/lib/typescript/commonjs/sidebar/types.d.ts +24 -3
- package/lib/typescript/commonjs/sidebar/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/tab-bar/TabBarBase.d.ts.map +1 -1
- package/lib/typescript/module/app-shell/AppShellEngine.d.ts.map +1 -1
- package/lib/typescript/module/app-shell/AppShellHeader.d.ts.map +1 -1
- package/lib/typescript/module/app-shell/NotificationBell.d.ts.map +1 -1
- package/lib/typescript/module/app-shell/ProOfferCard.d.ts.map +1 -1
- package/lib/typescript/module/app-shell/types.d.ts +16 -5
- package/lib/typescript/module/app-shell/types.d.ts.map +1 -1
- package/lib/typescript/module/bottom-bar/BottomBarBase.d.ts.map +1 -1
- package/lib/typescript/module/hooks/index.d.ts +1 -0
- package/lib/typescript/module/hooks/index.d.ts.map +1 -1
- package/lib/typescript/module/hooks/use-is-rtl.d.ts +53 -0
- package/lib/typescript/module/hooks/use-is-rtl.d.ts.map +1 -0
- package/lib/typescript/module/icons/shared.d.ts +10 -10
- package/lib/typescript/module/sidebar/Sidebar.d.ts.map +1 -1
- package/lib/typescript/module/sidebar/SidebarFolder.d.ts.map +1 -1
- package/lib/typescript/module/sidebar/SidebarRail.d.ts +1 -1
- package/lib/typescript/module/sidebar/SidebarRail.d.ts.map +1 -1
- package/lib/typescript/module/sidebar/SidebarTeamMenu.d.ts.map +1 -1
- package/lib/typescript/module/sidebar/SidebarUserMenu.d.ts.map +1 -1
- package/lib/typescript/module/sidebar/types.d.ts +24 -3
- package/lib/typescript/module/sidebar/types.d.ts.map +1 -1
- package/lib/typescript/module/tab-bar/TabBarBase.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/app-shell/AppShell.tsx +1 -1
- package/src/app-shell/AppShellEngine.tsx +45 -24
- package/src/app-shell/AppShellHeader.tsx +4 -3
- package/src/app-shell/NotificationBell.tsx +8 -4
- package/src/app-shell/ProOfferCard.tsx +18 -10
- package/src/app-shell/types.ts +16 -5
- package/src/bottom-bar/BottomBarBase.tsx +9 -3
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-is-rtl.ts +102 -0
- package/src/sidebar/Sidebar.tsx +41 -21
- package/src/sidebar/SidebarFolder.tsx +7 -4
- package/src/sidebar/SidebarLogoView.tsx +2 -2
- package/src/sidebar/SidebarModeSwitcher.tsx +1 -1
- package/src/sidebar/SidebarPlanCard.tsx +3 -3
- package/src/sidebar/SidebarRail.tsx +7 -1
- package/src/sidebar/SidebarRailItem.tsx +2 -2
- package/src/sidebar/SidebarTeamMenu.tsx +10 -6
- package/src/sidebar/SidebarUserMenu.tsx +8 -5
- package/src/sidebar/types.ts +25 -3
- package/src/tab-bar/TabBarBase.tsx +58 -21
|
@@ -5,6 +5,7 @@ import { Platform, StyleSheet, View, useWindowDimensions } from 'react-native';
|
|
|
5
5
|
import Animated, { Easing, useAnimatedStyle, useReducedMotion, useSharedValue, withDelay, withRepeat, withSequence, withTiming } from 'react-native-reanimated';
|
|
6
6
|
import Svg, { Defs, LinearGradient, Mask, Rect, Stop } from 'react-native-svg';
|
|
7
7
|
import { Button, CloseButton } from '../button';
|
|
8
|
+
import { useDirectionProps, useIsRtl } from "../hooks/use-is-rtl.js";
|
|
8
9
|
import { BREAKPOINTS } from "../styles/breakpoints.js";
|
|
9
10
|
import { WEB_POSITION_FIXED } from "../styles/web-view-style.js";
|
|
10
11
|
import { Z_INDEX } from "../styles/z-index.js";
|
|
@@ -13,18 +14,19 @@ import { Text } from "../typography/index.js";
|
|
|
13
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
15
|
/**
|
|
15
16
|
* `ProOfferCard`: the upgrade prompt anchored
|
|
16
|
-
* bottom-
|
|
17
|
+
* bottom-start of the app (bottom-left in LTR, bottom-right in RTL).
|
|
17
18
|
*
|
|
18
19
|
* card 280 wide (full width minus 12 each side under `sm`), 12 from
|
|
19
|
-
* the bottom-
|
|
20
|
+
* the bottom-start corner, radius 16, 1px border-button-white,
|
|
20
21
|
* background-secondary, p16, gap 12, shadow-waitlist
|
|
21
22
|
* backdrop a tonal band across the top (card → raised surface →
|
|
22
23
|
* clear, diagonal, 70%), masked from opaque at 38% to clear
|
|
23
24
|
* copy mark, then title body-medium / description body-2-regular
|
|
24
25
|
* secondary, 4 apart
|
|
25
26
|
* cta full-width button with a white 40% shimmer sweeping across it
|
|
26
|
-
* every 2.5s (skewed −12°), hidden under
|
|
27
|
-
*
|
|
27
|
+
* every 2.5s (skewed −12°) toward the end edge, hidden under
|
|
28
|
+
* reduced motion
|
|
29
|
+
* close xs close button 12 from the top-end corner
|
|
28
30
|
* enter fades up 16px over 300ms after a 1.2s delay
|
|
29
31
|
*
|
|
30
32
|
* No shader backdrop ships by default; pass your own
|
|
@@ -109,6 +111,8 @@ function Shimmer({
|
|
|
109
111
|
width
|
|
110
112
|
}) {
|
|
111
113
|
const reducedMotion = useReducedMotion();
|
|
114
|
+
// The sweep runs start → end, so under RTL both its travel and its lean flip.
|
|
115
|
+
const dir = useIsRtl() ? -1 : 1;
|
|
112
116
|
const travel = useSharedValue(0);
|
|
113
117
|
useEffect(() => {
|
|
114
118
|
if (reducedMotion || width === 0) return;
|
|
@@ -125,11 +129,11 @@ function Shimmer({
|
|
|
125
129
|
const barWidth = width * 0.45;
|
|
126
130
|
const style = useAnimatedStyle(() => ({
|
|
127
131
|
transform: [{
|
|
128
|
-
translateX: travel.value * barWidth * 3.5
|
|
132
|
+
translateX: dir * travel.value * barWidth * 3.5
|
|
129
133
|
}, {
|
|
130
|
-
skewX:
|
|
134
|
+
skewX: `${dir * -12}deg`
|
|
131
135
|
}]
|
|
132
|
-
}), [travel, barWidth]);
|
|
136
|
+
}), [travel, barWidth, dir]);
|
|
133
137
|
if (reducedMotion || width === 0) return null;
|
|
134
138
|
return /*#__PURE__*/_jsx(Animated.View, {
|
|
135
139
|
pointerEvents: "none",
|
|
@@ -137,7 +141,7 @@ function Shimmer({
|
|
|
137
141
|
position: 'absolute',
|
|
138
142
|
top: 0,
|
|
139
143
|
bottom: 0,
|
|
140
|
-
|
|
144
|
+
insetInlineStart: -width * 0.55,
|
|
141
145
|
width: barWidth
|
|
142
146
|
}, style],
|
|
143
147
|
children: /*#__PURE__*/_jsxs(Svg, {
|
|
@@ -191,6 +195,9 @@ const ProOfferCardComponent = ({
|
|
|
191
195
|
testID
|
|
192
196
|
}) => {
|
|
193
197
|
const theme = useTheme();
|
|
198
|
+
// Fixed to the viewport, usually outside any shell: it hands react-native-web
|
|
199
|
+
// the document's direction itself so its logical insets resolve against it.
|
|
200
|
+
const dirProps = useDirectionProps();
|
|
194
201
|
const {
|
|
195
202
|
width: viewport
|
|
196
203
|
} = useWindowDimensions();
|
|
@@ -224,9 +231,9 @@ const ProOfferCardComponent = ({
|
|
|
224
231
|
const position = placement === 'fixed' ? {
|
|
225
232
|
position: IS_WEB ? WEB_POSITION_FIXED : 'absolute',
|
|
226
233
|
bottom: 12,
|
|
227
|
-
|
|
234
|
+
insetInlineStart: 12,
|
|
228
235
|
...(narrow ? {
|
|
229
|
-
|
|
236
|
+
insetInlineEnd: 12
|
|
230
237
|
} : {
|
|
231
238
|
width: 280
|
|
232
239
|
}),
|
|
@@ -247,6 +254,7 @@ const ProOfferCardComponent = ({
|
|
|
247
254
|
} : null)
|
|
248
255
|
};
|
|
249
256
|
return /*#__PURE__*/_jsxs(Animated.View, {
|
|
257
|
+
...dirProps,
|
|
250
258
|
role: "complementary",
|
|
251
259
|
accessibilityLabel: accessibilityLabel,
|
|
252
260
|
testID: testID,
|
|
@@ -330,7 +338,7 @@ const ProOfferCardComponent = ({
|
|
|
330
338
|
style: {
|
|
331
339
|
position: 'absolute',
|
|
332
340
|
top: 12,
|
|
333
|
-
|
|
341
|
+
insetInlineEnd: 12,
|
|
334
342
|
zIndex: Z_INDEX.raised
|
|
335
343
|
},
|
|
336
344
|
testID: testID ? `${testID}-dismiss` : undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","useEffect","useMemo","useState","Platform","StyleSheet","View","useWindowDimensions","Animated","Easing","useAnimatedStyle","useReducedMotion","useSharedValue","withDelay","withRepeat","withSequence","withTiming","Svg","Defs","LinearGradient","Mask","Rect","Stop","Button","CloseButton","BREAKPOINTS","WEB_POSITION_FIXED","Z_INDEX","useTheme","Text","jsx","_jsx","jsxs","_jsxs","IS_WEB","OS","EASE_OUT","bezier","EASE_IN_OUT","WAITLIST_SHADOW","light","dark","ids","DefaultBackdrop","from","via","id","width","height","style","absoluteFill","children","x1","y1","x2","y2","offset","stopColor","stopOpacity","x","y","fill","mask","Shimmer","reducedMotion","travel","value","duration","easing","barWidth","transform","translateX","skewX","pointerEvents","position","top","bottom","left","ProOfferCardComponent","title","description","ctaLabel","onCtaPress","onDismiss","logo","backdrop","backdropHeight","accessibilityLabel","dismissLabel","placement","enterDelay","testID","theme","viewport","ctaWidth","setCtaWidth","palette","surface","colors","backgroundSecondary","border","borderLight","shadow","isDark","card","backgroundTertiary","text","secondary","textSecondary","enter","enterStyle","opacity","translateY","narrow","sm","right","zIndex","floating","backdropStyle","overflow","maskImage","WebkitMaskImage","role","flexDirection","alignItems","gap","borderRadius","borderWidth","borderColor","backgroundColor","padding","boxShadow","flexShrink","minWidth","variant","color","onLayout","event","nativeEvent","layout","size","onPress","appearance","tone","raised","undefined","ProOfferCard","displayName"],"sourceRoot":"../../../src","sources":["app-shell/ProOfferCard.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","memo","useEffect","useMemo","useState","Platform","StyleSheet","View","useWindowDimensions","Animated","Easing","useAnimatedStyle","useReducedMotion","useSharedValue","withDelay","withRepeat","withSequence","withTiming","Svg","Defs","LinearGradient","Mask","Rect","Stop","Button","CloseButton","useDirectionProps","useIsRtl","BREAKPOINTS","WEB_POSITION_FIXED","Z_INDEX","useTheme","Text","jsx","_jsx","jsxs","_jsxs","IS_WEB","OS","EASE_OUT","bezier","EASE_IN_OUT","WAITLIST_SHADOW","light","dark","ids","DefaultBackdrop","from","via","id","width","height","style","absoluteFill","children","x1","y1","x2","y2","offset","stopColor","stopOpacity","x","y","fill","mask","Shimmer","reducedMotion","dir","travel","value","duration","easing","barWidth","transform","translateX","skewX","pointerEvents","position","top","bottom","insetInlineStart","ProOfferCardComponent","title","description","ctaLabel","onCtaPress","onDismiss","logo","backdrop","backdropHeight","accessibilityLabel","dismissLabel","placement","enterDelay","testID","theme","dirProps","viewport","ctaWidth","setCtaWidth","palette","surface","colors","backgroundSecondary","border","borderLight","shadow","isDark","card","backgroundTertiary","text","secondary","textSecondary","enter","enterStyle","opacity","translateY","narrow","sm","insetInlineEnd","zIndex","floating","backdropStyle","left","right","overflow","maskImage","WebkitMaskImage","role","flexDirection","alignItems","gap","borderRadius","borderWidth","borderColor","backgroundColor","padding","boxShadow","flexShrink","minWidth","variant","color","onLayout","event","nativeEvent","layout","size","onPress","appearance","tone","raised","undefined","ProOfferCard","displayName"],"sourceRoot":"../../../src","sources":["app-shell/ProOfferCard.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ import { View, ScrollView, Keyboard, Platform } from 'react-native';
|
|
|
5
5
|
import { useEffect } from 'react';
|
|
6
6
|
import Animated, { useAnimatedReaction, useAnimatedStyle, interpolate, runOnJS, useReducedMotion } from 'react-native-reanimated';
|
|
7
7
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
8
|
+
import { useDirectionProps } from "../hooks/use-is-rtl.js";
|
|
8
9
|
import { BottomBarSlotContext } from "../layout/bottom-bar-slot.js";
|
|
9
10
|
import { useClaimBottomEdge } from "../layout/bottom-edge.js";
|
|
10
11
|
import { FAB_METRICS } from "../fab/constants.js";
|
|
@@ -32,6 +33,8 @@ export function BottomBarBase({
|
|
|
32
33
|
testID
|
|
33
34
|
}) {
|
|
34
35
|
const insets = useSafeAreaInsets();
|
|
36
|
+
// Logical insets below; react-native-web needs the direction handed to it.
|
|
37
|
+
const dirProps = useDirectionProps();
|
|
35
38
|
const minimize = useMinimizeState();
|
|
36
39
|
const progress = minimizeProgress ?? minimize.progress;
|
|
37
40
|
const reducedMotion = useReducedMotion();
|
|
@@ -78,7 +81,10 @@ export function BottomBarBase({
|
|
|
78
81
|
...(actionWidth == null ? {} : {
|
|
79
82
|
width: actionWidth * (1 - amount)
|
|
80
83
|
}),
|
|
81
|
-
|
|
84
|
+
// Logical, and the CSS name rather than RN's `marginStart`: reanimated's
|
|
85
|
+
// web writer hands a mapper's result to RNW's `createReactDOMStyle`,
|
|
86
|
+
// which never rewrites `marginStart`, so the browser would drop it.
|
|
87
|
+
marginInlineStart: items.length && !above ? 10 * (1 - amount) : 0,
|
|
82
88
|
opacity: 1 - amount,
|
|
83
89
|
transform: [{
|
|
84
90
|
scale: 1 - amount * 0.15
|
|
@@ -87,6 +93,7 @@ export function BottomBarBase({
|
|
|
87
93
|
}, [progress, hideAction, reducedMotion, actionWidth, items.length, above]);
|
|
88
94
|
if (keyboardVisible || !items.length && !action) return null;
|
|
89
95
|
return /*#__PURE__*/_jsxs(View, {
|
|
96
|
+
...dirProps,
|
|
90
97
|
testID: testID,
|
|
91
98
|
pointerEvents: "box-none",
|
|
92
99
|
style: [{
|
|
@@ -167,7 +174,7 @@ export function BottomBarBase({
|
|
|
167
174
|
justifyContent: 'center'
|
|
168
175
|
}, above ? {
|
|
169
176
|
position: 'absolute',
|
|
170
|
-
|
|
177
|
+
insetInlineEnd: 12,
|
|
171
178
|
bottom: '100%',
|
|
172
179
|
marginBottom: 10
|
|
173
180
|
} : undefined, actionStyle],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useContext","useRef","useState","View","ScrollView","Keyboard","Platform","useEffect","Animated","useAnimatedReaction","useAnimatedStyle","interpolate","runOnJS","useReducedMotion","useSafeAreaInsets","BottomBarSlotContext","useClaimBottomEdge","FAB_METRICS","windowEdgeGap","useMinimizeState","EXPANDED_HEIGHT","MINIMIZED_HEIGHT","BLUR_BLEED","MAX_EXPANDED_ITEM_WIDTH","ROW_PAD_H","jsx","_jsx","jsxs","_jsxs","BottomBarBase","Navigation","Item","Blur","items","value","onValueChange","activeProgress","onValueLongPress","action","actionPlacement","actionBehavior","material","minimizeProgress","blur","maxWidth","style","testID","insets","minimize","progress","reducedMotion","hideAction","length","actionHidden","setActionHidden","actionRef","actionWidth","setActionWidth","actionHeight","setActionHeight","md","diameter","rowWidth","setRowWidth","actionSpace","above","Boolean","footprint","Math","max","navigationWidth","min","hidden","previous","OS","node","current","contains","document","activeElement","inert","keyboardVisible","setKeyboardVisible","suppliedBottomInset","bottom","show","addListener","hide","remove","undefined","rowStyle","height","Number","actionStyle","amount","width","
|
|
1
|
+
{"version":3,"names":["useContext","useRef","useState","View","ScrollView","Keyboard","Platform","useEffect","Animated","useAnimatedReaction","useAnimatedStyle","interpolate","runOnJS","useReducedMotion","useSafeAreaInsets","useDirectionProps","BottomBarSlotContext","useClaimBottomEdge","FAB_METRICS","windowEdgeGap","useMinimizeState","EXPANDED_HEIGHT","MINIMIZED_HEIGHT","BLUR_BLEED","MAX_EXPANDED_ITEM_WIDTH","ROW_PAD_H","jsx","_jsx","jsxs","_jsxs","BottomBarBase","Navigation","Item","Blur","items","value","onValueChange","activeProgress","onValueLongPress","action","actionPlacement","actionBehavior","material","minimizeProgress","blur","maxWidth","style","testID","insets","dirProps","minimize","progress","reducedMotion","hideAction","length","actionHidden","setActionHidden","actionRef","actionWidth","setActionWidth","actionHeight","setActionHeight","md","diameter","rowWidth","setRowWidth","actionSpace","above","Boolean","footprint","Math","max","navigationWidth","min","hidden","previous","OS","node","current","contains","document","activeElement","inert","keyboardVisible","setKeyboardVisible","suppliedBottomInset","bottom","show","addListener","hide","remove","undefined","rowStyle","height","Number","actionStyle","amount","width","marginInlineStart","opacity","transform","scale","pointerEvents","justifyContent","children","direction","position","left","right","onLayout","event","nativeEvent","layout","alignSelf","paddingLeft","paddingRight","marginBottom","flexDirection","alignItems","minWidth","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","scrollable","embedded","onIndexLongPress","index","name","activeIndex","findIndex","item","onIndexChange","map","ref","accessibilityElementsHidden","importantForAccessibility","flexShrink","insetInlineEnd"],"sourceRoot":"../../../src","sources":["bottom-bar/BottomBarBase.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,4 +11,5 @@ export { useGutters } from "./use-gutters.js";
|
|
|
11
11
|
export { useImagePreload, preloadImage } from "./use-image-preload.js";
|
|
12
12
|
export { useContainerWidth } from "./use-container-width.js";
|
|
13
13
|
export { moveItem, dragTarget, dragShift } from "./list-reorder.js";
|
|
14
|
+
export { useIsRtl } from "./use-is-rtl.js";
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useInteractionState","useInteractionStates","useAccessibilityFocus","useRestoreAccessibilityFocus","useDelayedLoading","useThrottledValue","usePressAnimation","mergeRefs","useHaptics","BloomHapticsProvider","useGutters","useImagePreload","preloadImage","useContainerWidth","moveItem","dragTarget","dragShift"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA,SAASA,mBAAmB,EAAEC,oBAAoB,QAAQ,4BAAyB;AACnF,SACEC,qBAAqB,EACrBC,4BAA4B,QACvB,8BAA2B;AAClC,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,SAAS,QAAQ,iBAAc;AACxC,SAASC,UAAU,EAAEC,oBAAoB,QAAQ,kBAAe;AAEhE,SAASC,UAAU,QAAQ,kBAAe;AAE1C,SAASC,eAAe,EAAEC,YAAY,QAAQ,wBAAqB;AACnE,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,QAAQ,EAAEC,UAAU,EAAEC,SAAS,QAAQ,mBAAgB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useInteractionState","useInteractionStates","useAccessibilityFocus","useRestoreAccessibilityFocus","useDelayedLoading","useThrottledValue","usePressAnimation","mergeRefs","useHaptics","BloomHapticsProvider","useGutters","useImagePreload","preloadImage","useContainerWidth","moveItem","dragTarget","dragShift","useIsRtl"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA,SAASA,mBAAmB,EAAEC,oBAAoB,QAAQ,4BAAyB;AACnF,SACEC,qBAAqB,EACrBC,4BAA4B,QACvB,8BAA2B;AAClC,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,SAAS,QAAQ,iBAAc;AACxC,SAASC,UAAU,EAAEC,oBAAoB,QAAQ,kBAAe;AAEhE,SAASC,UAAU,QAAQ,kBAAe;AAE1C,SAASC,eAAe,EAAEC,YAAY,QAAQ,wBAAqB;AACnE,SAASC,iBAAiB,QAAQ,0BAAuB;AACzD,SAASC,QAAQ,EAAEC,UAAU,EAAEC,SAAS,QAAQ,mBAAgB;AAChE,SAASC,QAAQ,QAAQ,iBAAc","ignoreList":[]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useSyncExternalStore } from 'react';
|
|
4
|
+
import { I18nManager, Platform } from 'react-native';
|
|
5
|
+
/**
|
|
6
|
+
* Whether the layout around the caller is mirrored (right-to-left), read from
|
|
7
|
+
* the SAME place each platform's layout engine reads it, so a sign computed
|
|
8
|
+
* from it agrees with the flex order and the logical insets by construction:
|
|
9
|
+
*
|
|
10
|
+
* web `document.documentElement.dir === 'rtl'`, observed live — an app
|
|
11
|
+
* that switches language sets `dir` on `<html>` and every caller
|
|
12
|
+
* re-renders. Bloom never writes `dir` itself.
|
|
13
|
+
* native `I18nManager.isRTL`. `I18nManager.forceRTL` takes effect on the
|
|
14
|
+
* NEXT launch (a running app cannot mirror itself), so the value is
|
|
15
|
+
* constant for the process and the subscription never fires.
|
|
16
|
+
*
|
|
17
|
+
* It exists for what logical style keys CANNOT express: a `translateX` sign, a
|
|
18
|
+
* `transformOrigin`, a floating `side`. Insets use the `*InlineStart`/
|
|
19
|
+
* `*InlineEnd` keys instead, with `useDirectionProps()` on the root on web.
|
|
20
|
+
*
|
|
21
|
+
* `useSyncExternalStore`, not a read in render: both sources are external
|
|
22
|
+
* mutable state, and the sign has to be settled before the first paint rather
|
|
23
|
+
* than one effect later. The server snapshot is left-to-right — a statically
|
|
24
|
+
* exported shell has no `dir` yet.
|
|
25
|
+
*/
|
|
26
|
+
export function useIsRtl() {
|
|
27
|
+
const web = Platform.OS === 'web';
|
|
28
|
+
return useSyncExternalStore(web ? subscribeToDocumentDirection : subscribeToNothing, web ? readDocumentDirection : readNativeDirection, readServerDirection);
|
|
29
|
+
}
|
|
30
|
+
function subscribeToNothing() {
|
|
31
|
+
return () => {};
|
|
32
|
+
}
|
|
33
|
+
function readNativeDirection() {
|
|
34
|
+
return I18nManager?.isRTL === true;
|
|
35
|
+
}
|
|
36
|
+
function readServerDirection() {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
function subscribeToDocumentDirection(onChange) {
|
|
40
|
+
// No DOM (static export under Node) or no observer (a bare DOM shim): nothing
|
|
41
|
+
// can change during that render, and the first client render subscribes.
|
|
42
|
+
if (typeof document === 'undefined' || typeof MutationObserver === 'undefined') return () => {};
|
|
43
|
+
const observer = new MutationObserver(onChange);
|
|
44
|
+
observer.observe(document.documentElement, {
|
|
45
|
+
attributes: true,
|
|
46
|
+
attributeFilter: ['dir']
|
|
47
|
+
});
|
|
48
|
+
return () => observer.disconnect();
|
|
49
|
+
}
|
|
50
|
+
function readDocumentDirection() {
|
|
51
|
+
if (typeof document === 'undefined') return false;
|
|
52
|
+
return document.documentElement.dir === 'rtl';
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Floating surfaces (`side`, `align`) are PHYSICAL — `'right'` is the right of
|
|
57
|
+
* the viewport, and under a vertical side `'end'` is the right edge of the
|
|
58
|
+
* anchor. A caller that means "beside the trailing edge" mirrors them here.
|
|
59
|
+
*/
|
|
60
|
+
export function mirrorSide(side, rtl) {
|
|
61
|
+
if (!rtl) return side;
|
|
62
|
+
return side === 'left' ? 'right' : side === 'right' ? 'left' : side;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** The horizontal `align` under a `top`/`bottom` side; a no-op otherwise. */
|
|
66
|
+
export function mirrorAlign(align, side, rtl) {
|
|
67
|
+
if (!rtl || side !== 'top' && side !== 'bottom') return align;
|
|
68
|
+
return align === 'start' ? 'end' : align === 'end' ? 'start' : align;
|
|
69
|
+
}
|
|
70
|
+
const RTL_DIR = {
|
|
71
|
+
dir: 'rtl'
|
|
72
|
+
};
|
|
73
|
+
const NO_DIR = {};
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Props that hand the document's direction to react-native-web — spread them on
|
|
77
|
+
* the ROOT view of anything using logical insets.
|
|
78
|
+
*
|
|
79
|
+
* react-native-web does NOT resolve `paddingInlineStart`/`insetInlineEnd`/
|
|
80
|
+
* `borderEndWidth` against `<html dir>`. Its inline and atomic style paths both
|
|
81
|
+
* rewrite them to PHYSICAL properties against its own direction context, which
|
|
82
|
+
* only a `dir` (or `lang`) prop on an ancestor `View` sets and which otherwise
|
|
83
|
+
* defaults to left-to-right. Without this the flex rows mirror (CSS `direction`
|
|
84
|
+
* inherits from `<html>`) while every logical inset stays on the left — half a
|
|
85
|
+
* mirror. Measured on react-native-web 0.21.2: `StyleSheet([{ insetInlineStart:
|
|
86
|
+
* 0 }])` resolves to `left: 0px` with no context.
|
|
87
|
+
*
|
|
88
|
+
* Reanimated's web writer bypasses that rewrite and sets the CSS logical
|
|
89
|
+
* property itself, which then follows the DOM `dir` this also sets — so the first
|
|
90
|
+
* paint and every animated frame agree. Web only; native Yoga reads
|
|
91
|
+
* `I18nManager` directly and has no `dir` prop.
|
|
92
|
+
*/
|
|
93
|
+
export function useDirectionProps() {
|
|
94
|
+
const rtl = useIsRtl();
|
|
95
|
+
return Platform.OS === 'web' && rtl ? RTL_DIR : NO_DIR;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=use-is-rtl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useSyncExternalStore","I18nManager","Platform","useIsRtl","web","OS","subscribeToDocumentDirection","subscribeToNothing","readDocumentDirection","readNativeDirection","readServerDirection","isRTL","onChange","document","MutationObserver","observer","observe","documentElement","attributes","attributeFilter","disconnect","dir","mirrorSide","side","rtl","mirrorAlign","align","RTL_DIR","NO_DIR","useDirectionProps"],"sourceRoot":"../../../src","sources":["hooks/use-is-rtl.ts"],"mappings":";;AAAA,SAASA,oBAAoB,QAAQ,OAAO;AAC5C,SAASC,WAAW,EAAEC,QAAQ,QAAQ,cAAc;AAIpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,QAAQA,CAAA,EAAY;EAClC,MAAMC,GAAG,GAAGF,QAAQ,CAACG,EAAE,KAAK,KAAK;EACjC,OAAOL,oBAAoB,CACzBI,GAAG,GAAGE,4BAA4B,GAAGC,kBAAkB,EACvDH,GAAG,GAAGI,qBAAqB,GAAGC,mBAAmB,EACjDC,mBACF,CAAC;AACH;AAEA,SAASH,kBAAkBA,CAAA,EAAe;EACxC,OAAO,MAAM,CAAC,CAAC;AACjB;AAEA,SAASE,mBAAmBA,CAAA,EAAY;EACtC,OAAOR,WAAW,EAAEU,KAAK,KAAK,IAAI;AACpC;AAEA,SAASD,mBAAmBA,CAAA,EAAY;EACtC,OAAO,KAAK;AACd;AAEA,SAASJ,4BAA4BA,CAACM,QAAoB,EAAc;EACtE;EACA;EACA,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAI,OAAOC,gBAAgB,KAAK,WAAW,EAAE,OAAO,MAAM,CAAC,CAAC;EAC/F,MAAMC,QAAQ,GAAG,IAAID,gBAAgB,CAACF,QAAQ,CAAC;EAC/CG,QAAQ,CAACC,OAAO,CAACH,QAAQ,CAACI,eAAe,EAAE;IAAEC,UAAU,EAAE,IAAI;IAAEC,eAAe,EAAE,CAAC,KAAK;EAAE,CAAC,CAAC;EAC1F,OAAO,MAAMJ,QAAQ,CAACK,UAAU,CAAC,CAAC;AACpC;AAEA,SAASZ,qBAAqBA,CAAA,EAAY;EACxC,IAAI,OAAOK,QAAQ,KAAK,WAAW,EAAE,OAAO,KAAK;EACjD,OAAOA,QAAQ,CAACI,eAAe,CAACI,GAAG,KAAK,KAAK;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,UAAUA,CAACC,IAAkB,EAAEC,GAAY,EAAgB;EACzE,IAAI,CAACA,GAAG,EAAE,OAAOD,IAAI;EACrB,OAAOA,IAAI,KAAK,MAAM,GAAG,OAAO,GAAGA,IAAI,KAAK,OAAO,GAAG,MAAM,GAAGA,IAAI;AACrE;;AAEA;AACA,OAAO,SAASE,WAAWA,CAACC,KAAoB,EAAEH,IAAkB,EAAEC,GAAY,EAAiB;EACjG,IAAI,CAACA,GAAG,IAAKD,IAAI,KAAK,KAAK,IAAIA,IAAI,KAAK,QAAS,EAAE,OAAOG,KAAK;EAC/D,OAAOA,KAAK,KAAK,OAAO,GAAG,KAAK,GAAGA,KAAK,KAAK,KAAK,GAAG,OAAO,GAAGA,KAAK;AACtE;AAEA,MAAMC,OAAO,GAAG;EAAEN,GAAG,EAAE;AAAM,CAAU;AACvC,MAAMO,MAAM,GAAG,CAAC,CAAU;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAA,EAAoB;EACnD,MAAML,GAAG,GAAGrB,QAAQ,CAAC,CAAC;EACtB,OAAOD,QAAQ,CAACG,EAAE,KAAK,KAAK,IAAImB,GAAG,GAAGG,OAAO,GAAGC,MAAM;AACxD","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ import { Badge } from "../badge/index.js";
|
|
|
8
8
|
import { CloseButton } from '../button';
|
|
9
9
|
import { useControllableState } from "../hooks/use-controllable-state.js";
|
|
10
10
|
import { useInteractionState } from "../hooks/use-interaction-state.js";
|
|
11
|
+
import { useDirectionProps, useIsRtl } from "../hooks/use-is-rtl.js";
|
|
11
12
|
import { RiCloseLine } from "../icons/remix/RiCloseLine.js";
|
|
12
13
|
import { RiSearchLine } from "../icons/remix/RiSearchLine.js";
|
|
13
14
|
import { RiSideBarFill } from "../icons/remix/RiSideBarFill.js";
|
|
@@ -71,6 +72,7 @@ function SearchField({
|
|
|
71
72
|
onDismiss,
|
|
72
73
|
placeholder,
|
|
73
74
|
label,
|
|
75
|
+
clearLabel,
|
|
74
76
|
compact = false
|
|
75
77
|
}) {
|
|
76
78
|
const inputStyle = {
|
|
@@ -105,7 +107,7 @@ function SearchField({
|
|
|
105
107
|
testID: "sidebar-search-input"
|
|
106
108
|
}), /*#__PURE__*/_jsx(CloseButton, {
|
|
107
109
|
size: "xs",
|
|
108
|
-
accessibilityLabel:
|
|
110
|
+
accessibilityLabel: clearLabel,
|
|
109
111
|
onPress: () => onDismiss(true),
|
|
110
112
|
style: {
|
|
111
113
|
backgroundColor: palette.tertiaryHover
|
|
@@ -132,6 +134,10 @@ const SidebarPanel = ({
|
|
|
132
134
|
onCollapsedChange,
|
|
133
135
|
mobile = false,
|
|
134
136
|
onClose,
|
|
137
|
+
accessibilityLabel = 'Sidebar',
|
|
138
|
+
collapseLabel = 'Collapse sidebar',
|
|
139
|
+
expandLabel = 'Expand sidebar',
|
|
140
|
+
closeLabel = 'Close sidebar',
|
|
135
141
|
fluid = false,
|
|
136
142
|
surface = 'card',
|
|
137
143
|
size: sizeProp,
|
|
@@ -142,7 +148,10 @@ const SidebarPanel = ({
|
|
|
142
148
|
searchQuery,
|
|
143
149
|
onSearchQueryChange,
|
|
144
150
|
searchLabel = 'Quick Search',
|
|
151
|
+
searchButtonLabel = 'Search',
|
|
145
152
|
searchPlaceholder,
|
|
153
|
+
filterLabel = 'Filter navigation',
|
|
154
|
+
clearSearchLabel = 'Clear navigation search',
|
|
146
155
|
noResultsLabel = 'No results',
|
|
147
156
|
logo,
|
|
148
157
|
account,
|
|
@@ -168,6 +177,12 @@ const SidebarPanel = ({
|
|
|
168
177
|
const metrics = SIDEBAR_METRICS[size];
|
|
169
178
|
useSidebarWebCss();
|
|
170
179
|
const reducedMotion = useReducedMotion();
|
|
180
|
+
// Insets below are logical and mirror by themselves; the header control's
|
|
181
|
+
// `translateX` and the collapse glyph's `scaleX` are signs, and flip here.
|
|
182
|
+
const dir = useIsRtl() ? -1 : 1;
|
|
183
|
+
// A standalone sidebar has no shell above it to hand react-native-web the
|
|
184
|
+
// document's direction, so it hands it on itself (see `useDirectionProps`).
|
|
185
|
+
const dirProps = useDirectionProps();
|
|
171
186
|
const [collapsedState, setCollapsed] = useControllableState({
|
|
172
187
|
value: collapsedProp,
|
|
173
188
|
defaultValue: defaultCollapsed,
|
|
@@ -256,9 +271,9 @@ const SidebarPanel = ({
|
|
|
256
271
|
}, [progress, metrics.row.square, metrics.row.padding, metrics.row.icon, expandedInset, collapsedLane]);
|
|
257
272
|
const sideBarIconStyle = useAnimatedStyle(() => ({
|
|
258
273
|
transform: [{
|
|
259
|
-
scaleX: 2 * progress.value - 1
|
|
274
|
+
scaleX: dir * (2 * progress.value - 1)
|
|
260
275
|
}]
|
|
261
|
-
}), [progress]);
|
|
276
|
+
}), [progress, dir]);
|
|
262
277
|
const hasLogo = !!logo;
|
|
263
278
|
const hasAccount = !!account;
|
|
264
279
|
const headerGeometry = useAnimatedStyle(() => ({
|
|
@@ -266,19 +281,19 @@ const SidebarPanel = ({
|
|
|
266
281
|
}), [progress, hasLogo, hasAccount]);
|
|
267
282
|
const headerIdentityGeometry = useAnimatedStyle(() => ({
|
|
268
283
|
top: hasLogo ? 0 : 30 * progress.value,
|
|
269
|
-
|
|
284
|
+
insetInlineEnd: (hasLogo ? 28 : 20) * (1 - progress.value)
|
|
270
285
|
}), [progress, hasLogo]);
|
|
271
286
|
const headerControlGeometry = useAnimatedStyle(() => {
|
|
272
287
|
const p = progress.value;
|
|
273
288
|
return {
|
|
274
|
-
|
|
289
|
+
insetInlineStart: `${100 * (1 - p)}%`,
|
|
275
290
|
width: 20 + (collapsedLane - 20) * p,
|
|
276
291
|
top: hasLogo ? 8 + 38 * p : hasAccount ? 6 * (1 - p) : 0,
|
|
277
292
|
transform: [{
|
|
278
|
-
translateX: -20 * (1 - p)
|
|
293
|
+
translateX: dir * -20 * (1 - p)
|
|
279
294
|
}]
|
|
280
295
|
};
|
|
281
|
-
}, [progress, hasLogo, hasAccount, collapsedLane]);
|
|
296
|
+
}, [progress, hasLogo, hasAccount, collapsedLane, dir]);
|
|
282
297
|
const themeGeometry = useAnimatedStyle(() => ({
|
|
283
298
|
height: 40 - 4 * progress.value
|
|
284
299
|
}), [progress]);
|
|
@@ -364,15 +379,16 @@ const SidebarPanel = ({
|
|
|
364
379
|
|
|
365
380
|
// ---- chrome ------------------------------------------------------------
|
|
366
381
|
// Three surfaces, one place. `docked` keeps the panel fill and spends its
|
|
367
|
-
// edge on ONE hairline — the side facing the content
|
|
382
|
+
// edge on ONE hairline — the side facing the content, its END edge (the
|
|
383
|
+
// nav is the row's first child, so the right in LTR, the left in RTL) — because a column
|
|
368
384
|
// flush to the window has no other edge to draw: a border all the way round
|
|
369
385
|
// would draw two lines nobody can see and one they can.
|
|
370
386
|
const chrome = surface === 'plain' ? {
|
|
371
387
|
backgroundColor: palette.flat
|
|
372
388
|
} : surface === 'docked' ? {
|
|
373
389
|
backgroundColor: palette.panel,
|
|
374
|
-
|
|
375
|
-
|
|
390
|
+
borderEndWidth: 1,
|
|
391
|
+
borderEndColor: palette.dockedEdge
|
|
376
392
|
} : {
|
|
377
393
|
borderRadius: 24,
|
|
378
394
|
borderWidth: 1,
|
|
@@ -402,8 +418,8 @@ const SidebarPanel = ({
|
|
|
402
418
|
...(searchActive ? {
|
|
403
419
|
flex: 1,
|
|
404
420
|
gap: 8,
|
|
405
|
-
|
|
406
|
-
|
|
421
|
+
paddingInlineStart: 8,
|
|
422
|
+
paddingInlineEnd: 10,
|
|
407
423
|
boxShadow: searchRing
|
|
408
424
|
} : {
|
|
409
425
|
width: 36,
|
|
@@ -420,7 +436,7 @@ const SidebarPanel = ({
|
|
|
420
436
|
}
|
|
421
437
|
} : {}),
|
|
422
438
|
role: "button",
|
|
423
|
-
accessibilityLabel:
|
|
439
|
+
accessibilityLabel: searchButtonLabel,
|
|
424
440
|
onPress: activateSearch,
|
|
425
441
|
style: {
|
|
426
442
|
width: 20,
|
|
@@ -442,7 +458,8 @@ const SidebarPanel = ({
|
|
|
442
458
|
onChangeText: setQuery,
|
|
443
459
|
onDismiss: deactivateSearch,
|
|
444
460
|
placeholder: placeholder,
|
|
445
|
-
label:
|
|
461
|
+
label: filterLabel,
|
|
462
|
+
clearLabel: clearSearchLabel
|
|
446
463
|
}) : null]
|
|
447
464
|
}) : mobile ? /*#__PURE__*/_jsx(Pressable, {
|
|
448
465
|
...(IS_WEB ? {
|
|
@@ -451,7 +468,7 @@ const SidebarPanel = ({
|
|
|
451
468
|
}
|
|
452
469
|
} : {}),
|
|
453
470
|
role: "button",
|
|
454
|
-
accessibilityLabel:
|
|
471
|
+
accessibilityLabel: closeLabel,
|
|
455
472
|
onPress: onClose,
|
|
456
473
|
testID: "sidebar-close",
|
|
457
474
|
children: /*#__PURE__*/_jsx(RiCloseLine, {
|
|
@@ -466,7 +483,7 @@ const SidebarPanel = ({
|
|
|
466
483
|
}
|
|
467
484
|
} : {}),
|
|
468
485
|
role: "button",
|
|
469
|
-
accessibilityLabel: collapsed ?
|
|
486
|
+
accessibilityLabel: collapsed ? expandLabel : collapseLabel,
|
|
470
487
|
"aria-expanded": !collapsed,
|
|
471
488
|
onPress: toggleCollapse,
|
|
472
489
|
style: {
|
|
@@ -495,8 +512,8 @@ const SidebarPanel = ({
|
|
|
495
512
|
backgroundColor: palette.tertiary,
|
|
496
513
|
paddingTop: 8,
|
|
497
514
|
paddingBottom: 8,
|
|
498
|
-
|
|
499
|
-
|
|
515
|
+
paddingInlineStart: 8,
|
|
516
|
+
paddingInlineEnd: 10,
|
|
500
517
|
boxShadow: searchRing
|
|
501
518
|
},
|
|
502
519
|
testID: "sidebar-search-field",
|
|
@@ -511,7 +528,8 @@ const SidebarPanel = ({
|
|
|
511
528
|
onChangeText: setQuery,
|
|
512
529
|
onDismiss: deactivateSearch,
|
|
513
530
|
placeholder: placeholder,
|
|
514
|
-
label:
|
|
531
|
+
label: filterLabel,
|
|
532
|
+
clearLabel: clearSearchLabel
|
|
515
533
|
})]
|
|
516
534
|
}) : /*#__PURE__*/_jsxs(AnimatedPressable, {
|
|
517
535
|
ref: searchTriggerRef,
|
|
@@ -649,7 +667,7 @@ const SidebarPanel = ({
|
|
|
649
667
|
children: [logo || account ? /*#__PURE__*/_jsx(Animated.View, {
|
|
650
668
|
style: [{
|
|
651
669
|
position: 'absolute',
|
|
652
|
-
|
|
670
|
+
insetInlineStart: 0,
|
|
653
671
|
minWidth: 0
|
|
654
672
|
}, headerIdentityGeometry],
|
|
655
673
|
children: logo ? /*#__PURE__*/_jsx(SidebarLogoView, {
|
|
@@ -674,8 +692,9 @@ const SidebarPanel = ({
|
|
|
674
692
|
children: /*#__PURE__*/_jsx(CollapseProvider, {
|
|
675
693
|
value: progress,
|
|
676
694
|
children: /*#__PURE__*/_jsxs(Animated.View, {
|
|
695
|
+
...dirProps,
|
|
677
696
|
role: "complementary",
|
|
678
|
-
accessibilityLabel:
|
|
697
|
+
accessibilityLabel: accessibilityLabel,
|
|
679
698
|
onLayout: onPanelLayout,
|
|
680
699
|
testID: testID,
|
|
681
700
|
style: [{
|
|
@@ -847,7 +866,7 @@ const SidebarPanel = ({
|
|
|
847
866
|
} : {}),
|
|
848
867
|
style: [{
|
|
849
868
|
position: 'absolute',
|
|
850
|
-
|
|
869
|
+
insetInlineStart: 0,
|
|
851
870
|
top: 0
|
|
852
871
|
}, themeExpandedStyle],
|
|
853
872
|
children: /*#__PURE__*/_jsx(ThemeToggle, {
|