@react-navigation/elements 2.8.4 → 2.9.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/lib/module/Header/Header.js +28 -6
- package/lib/module/Header/Header.js.map +1 -1
- package/lib/module/SafeAreaProviderCompat.js +26 -16
- package/lib/module/SafeAreaProviderCompat.js.map +1 -1
- package/lib/module/useFrameSize.js +34 -60
- package/lib/module/useFrameSize.js.map +1 -1
- package/lib/typescript/src/Header/Header.d.ts.map +1 -1
- package/lib/typescript/src/SafeAreaProviderCompat.d.ts.map +1 -1
- package/lib/typescript/src/useFrameSize.d.ts +6 -4
- package/lib/typescript/src/useFrameSize.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/Header/Header.tsx +27 -5
- package/src/SafeAreaProviderCompat.tsx +31 -16
- package/src/useFrameSize.tsx +31 -79
|
@@ -86,9 +86,13 @@ export function Header(props) {
|
|
|
86
86
|
const defaultHeight = getDefaultHeaderHeight(layout, modal, headerStatusBarHeight);
|
|
87
87
|
const {
|
|
88
88
|
height = defaultHeight,
|
|
89
|
-
minHeight,
|
|
90
89
|
maxHeight,
|
|
90
|
+
minHeight,
|
|
91
|
+
backfaceVisibility,
|
|
91
92
|
backgroundColor,
|
|
93
|
+
borderBlockColor,
|
|
94
|
+
borderBlockEndColor,
|
|
95
|
+
borderBlockStartColor,
|
|
92
96
|
borderBottomColor,
|
|
93
97
|
borderBottomEndRadius,
|
|
94
98
|
borderBottomLeftRadius,
|
|
@@ -96,15 +100,19 @@ export function Header(props) {
|
|
|
96
100
|
borderBottomStartRadius,
|
|
97
101
|
borderBottomWidth,
|
|
98
102
|
borderColor,
|
|
103
|
+
borderCurve,
|
|
99
104
|
borderEndColor,
|
|
105
|
+
borderEndEndRadius,
|
|
106
|
+
borderEndStartRadius,
|
|
100
107
|
borderEndWidth,
|
|
101
108
|
borderLeftColor,
|
|
102
109
|
borderLeftWidth,
|
|
103
110
|
borderRadius,
|
|
104
|
-
borderCurve,
|
|
105
111
|
borderRightColor,
|
|
106
112
|
borderRightWidth,
|
|
107
113
|
borderStartColor,
|
|
114
|
+
borderStartEndRadius,
|
|
115
|
+
borderStartStartRadius,
|
|
108
116
|
borderStartWidth,
|
|
109
117
|
borderStyle,
|
|
110
118
|
borderTopColor,
|
|
@@ -116,19 +124,26 @@ export function Header(props) {
|
|
|
116
124
|
borderWidth,
|
|
117
125
|
boxShadow,
|
|
118
126
|
elevation,
|
|
127
|
+
filter,
|
|
128
|
+
mixBlendMode,
|
|
129
|
+
opacity,
|
|
119
130
|
shadowColor,
|
|
120
131
|
shadowOffset,
|
|
121
132
|
shadowOpacity,
|
|
122
133
|
shadowRadius,
|
|
123
|
-
opacity,
|
|
124
134
|
transform,
|
|
135
|
+
transformOrigin,
|
|
125
136
|
...unsafeStyles
|
|
126
137
|
} = StyleSheet.flatten(customHeaderStyle || {});
|
|
127
138
|
if (process.env.NODE_ENV !== 'production') {
|
|
128
139
|
warnIfHeaderStylesDefined(unsafeStyles);
|
|
129
140
|
}
|
|
130
141
|
const safeStyles = {
|
|
142
|
+
backfaceVisibility,
|
|
131
143
|
backgroundColor,
|
|
144
|
+
borderBlockColor,
|
|
145
|
+
borderBlockEndColor,
|
|
146
|
+
borderBlockStartColor,
|
|
132
147
|
borderBottomColor,
|
|
133
148
|
borderBottomEndRadius,
|
|
134
149
|
borderBottomLeftRadius,
|
|
@@ -136,15 +151,19 @@ export function Header(props) {
|
|
|
136
151
|
borderBottomStartRadius,
|
|
137
152
|
borderBottomWidth,
|
|
138
153
|
borderColor,
|
|
154
|
+
borderCurve,
|
|
139
155
|
borderEndColor,
|
|
156
|
+
borderEndEndRadius,
|
|
157
|
+
borderEndStartRadius,
|
|
140
158
|
borderEndWidth,
|
|
141
159
|
borderLeftColor,
|
|
142
160
|
borderLeftWidth,
|
|
143
161
|
borderRadius,
|
|
144
|
-
borderCurve,
|
|
145
162
|
borderRightColor,
|
|
146
163
|
borderRightWidth,
|
|
147
164
|
borderStartColor,
|
|
165
|
+
borderStartEndRadius,
|
|
166
|
+
borderStartStartRadius,
|
|
148
167
|
borderStartWidth,
|
|
149
168
|
borderStyle,
|
|
150
169
|
borderTopColor,
|
|
@@ -156,12 +175,15 @@ export function Header(props) {
|
|
|
156
175
|
borderWidth,
|
|
157
176
|
boxShadow,
|
|
158
177
|
elevation,
|
|
178
|
+
filter,
|
|
179
|
+
mixBlendMode,
|
|
180
|
+
opacity,
|
|
159
181
|
shadowColor,
|
|
160
182
|
shadowOffset,
|
|
161
183
|
shadowOpacity,
|
|
162
184
|
shadowRadius,
|
|
163
|
-
|
|
164
|
-
|
|
185
|
+
transform,
|
|
186
|
+
transformOrigin
|
|
165
187
|
};
|
|
166
188
|
|
|
167
189
|
// Setting a property to undefined triggers default style
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useNavigation","useTheme","Color","React","Animated","Platform","StyleSheet","View","useSafeAreaInsets","searchIcon","useFrameSize","getDefaultHeaderHeight","HeaderBackButton","HeaderBackground","HeaderButton","HeaderIcon","HeaderSearchBar","HeaderShownContext","HeaderTitle","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","IPAD_MINI_MEDIUM_WIDTH","warnIfHeaderStylesDefined","styles","Object","keys","forEach","styleProp","value","console","warn","undefined","Header","props","insets","frame","size","colors","navigation","isParentHeaderShown","useContext","searchBarVisible","setSearchBarVisible","useState","titleLayout","setTitleLayout","onTitleLayout","e","height","width","nativeEvent","layout","modal","back","title","headerTitle","customTitle","headerTitleAlign","OS","headerLeft","headerSearchBarOptions","headerTransparent","headerTintColor","headerBackground","headerRight","headerTitleAllowFontScaling","titleAllowFontScaling","headerTitleStyle","titleStyle","headerLeftContainerStyle","leftContainerStyle","headerRightContainerStyle","rightContainerStyle","headerTitleContainerStyle","titleContainerStyle","headerBackButtonDisplayMode","headerBackTitleStyle","headerBackgroundContainerStyle","backgroundContainerStyle","headerStyle","customHeaderStyle","headerShadowVisible","headerPressColor","headerPressOpacity","headerStatusBarHeight","top","defaultHeight","minHeight","maxHeight","backgroundColor","borderBottomColor","borderBottomEndRadius","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStartRadius","borderBottomWidth","borderColor","borderEndColor","borderEndWidth","borderLeftColor","borderLeftWidth","borderRadius","borderCurve","borderRightColor","borderRightWidth","borderStartColor","borderStartWidth","borderStyle","borderTopColor","borderTopEndRadius","borderTopLeftRadius","borderTopRightRadius","borderTopStartRadius","borderTopWidth","borderWidth","boxShadow","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","opacity","transform","unsafeStyles","flatten","process","env","NODE_ENV","safeStyles","backgroundStyle","select","android","web","default","iconTintColor","ios","primary","text","leftButton","tintColor","pressColor","pressOpacity","displayMode","screenLayout","canGoBack","Boolean","onPress","goBack","label","labelStyle","href","rightButton","pointerEvents","style","children","absoluteFill","alpha","content","large","start","expand","marginStart","left","maxWidth","Math","max","right","marginHorizontal","allowFontScaling","onLayout","end","marginEnd","onOpen","source","visible","onClose","paddingTop","card","create","flex","flexDirection","alignItems","justifyContent","flexGrow","flexBasis"],"sourceRoot":"../../../src","sources":["Header/Header.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,0BAA0B;AAClE,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SACEC,QAAQ,EAERC,QAAQ,EACRC,UAAU,EACVC,IAAI,QAEC,cAAc;AACrB,SAASC,iBAAiB,QAAQ,gCAAgC;AAElE,OAAOC,UAAU,MAAM,2BAA2B;AAElD,SAASC,YAAY,QAAQ,oBAAiB;AAC9C,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,WAAW,QAAQ,kBAAe;;AAE3C;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AACA,MAAMC,sBAAsB,GAAG,GAAG;AA8BlC,MAAMC,yBAAyB,GAAIC,MAA2B,IAAK;EACjEC,MAAM,CAACC,IAAI,CAACF,MAAM,CAAC,CAACG,OAAO,CAAEC,SAAS,IAAK;IACzC,MAAMC,KAAK,GAAGL,MAAM,CAACI,SAAS,CAAC;IAE/B,IAAIA,SAAS,KAAK,UAAU,IAAIC,KAAK,KAAK,UAAU,EAAE;MACpDC,OAAO,CAACC,IAAI,CACV,iJACF,CAAC;IACH,CAAC,MAAM,IAAIF,KAAK,KAAKG,SAAS,EAAE;MAC9BF,OAAO,CAACC,IAAI,CACV,GAAGH,SAAS,yBAAyBC,KAAK,sCAC5C,CAAC;IACH;EACF,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,SAASI,MAAMA,CAACC,KAAY,EAAE;EACnC,MAAMC,MAAM,GAAG9B,iBAAiB,CAAC,CAAC;EAClC,MAAM+B,KAAK,GAAG7B,YAAY,CAAE8B,IAAI,IAAKA,IAAI,EAAE,IAAI,CAAC;EAChD,MAAM;IAAEC;EAAO,CAAC,GAAGxC,QAAQ,CAAC,CAAC;EAE7B,MAAMyC,UAAU,GAAG1C,aAAa,CAAC,CAAC;EAClC,MAAM2C,mBAAmB,GAAGxC,KAAK,CAACyC,UAAU,CAAC3B,kBAAkB,CAAC;EAEhE,MAAM,CAAC4B,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG3C,KAAK,CAAC4C,QAAQ,CAAC,KAAK,CAAC;EACrE,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG9C,KAAK,CAAC4C,QAAQ,CAClDZ,SACF,CAAC;EAED,MAAMe,aAAa,GAAIC,CAAoB,IAAK;IAC9C,MAAM;MAAEC,MAAM;MAAEC;IAAM,CAAC,GAAGF,CAAC,CAACG,WAAW,CAACC,MAAM;IAE9CN,cAAc,CAAED,WAAW,IAAK;MAC9B,IACEA,WAAW,IACXI,MAAM,KAAKJ,WAAW,CAACI,MAAM,IAC7BC,KAAK,KAAKL,WAAW,CAACK,KAAK,EAC3B;QACA,OAAOL,WAAW;MACpB;MAEA,OAAO;QAAEI,MAAM;QAAEC;MAAM,CAAC;IAC1B,CAAC,CAAC;EACJ,CAAC;EAED,MAAM;IACJE,MAAM,GAAGhB,KAAK;IACdiB,KAAK,GAAG,KAAK;IACbC,IAAI;IACJC,KAAK;IACLC,WAAW,EAAEC,WAAW;IACxBC,gBAAgB,GAAGxD,QAAQ,CAACyD,EAAE,KAAK,KAAK,GAAG,QAAQ,GAAG,MAAM;IAC5DC,UAAU,GAAGN,IAAI,GAAIpB,KAAK,iBAAKjB,IAAA,CAACR,gBAAgB;MAAA,GAAKyB;IAAK,CAAG,CAAC,GAAGF,SAAS;IAC1E6B,sBAAsB;IACtBC,iBAAiB;IACjBC,eAAe;IACfC,gBAAgB;IAChBC,WAAW;IACXC,2BAA2B,EAAEC,qBAAqB;IAClDC,gBAAgB,EAAEC,UAAU;IAC5BC,wBAAwB,EAAEC,kBAAkB;IAC5CC,yBAAyB,EAAEC,mBAAmB;IAC9CC,yBAAyB,EAAEC,mBAAmB;IAC9CC,2BAA2B,GAAG1E,QAAQ,CAACyD,EAAE,KAAK,KAAK,GAAG,SAAS,GAAG,SAAS;IAC3EkB,oBAAoB;IACpBC,8BAA8B,EAAEC,wBAAwB;IACxDC,WAAW,EAAEC,iBAAiB;IAC9BC,mBAAmB;IACnBC,gBAAgB;IAChBC,kBAAkB;IAClBC,qBAAqB,GAAG7C,mBAAmB,GAAG,CAAC,GAAGL,MAAM,CAACmD;EAC3D,CAAC,GAAGpD,KAAK;EAET,MAAMqD,aAAa,GAAG/E,sBAAsB,CAC1C4C,MAAM,EACNC,KAAK,EACLgC,qBACF,CAAC;EAED,MAAM;IACJpC,MAAM,GAAGsC,aAAa;IACtBC,SAAS;IACTC,SAAS;IACTC,eAAe;IACfC,iBAAiB;IACjBC,qBAAqB;IACrBC,sBAAsB;IACtBC,uBAAuB;IACvBC,uBAAuB;IACvBC,iBAAiB;IACjBC,WAAW;IACXC,cAAc;IACdC,cAAc;IACdC,eAAe;IACfC,eAAe;IACfC,YAAY;IACZC,WAAW;IACXC,gBAAgB;IAChBC,gBAAgB;IAChBC,gBAAgB;IAChBC,gBAAgB;IAChBC,WAAW;IACXC,cAAc;IACdC,kBAAkB;IAClBC,mBAAmB;IACnBC,oBAAoB;IACpBC,oBAAoB;IACpBC,cAAc;IACdC,WAAW;IACXC,SAAS;IACTC,SAAS;IACTC,WAAW;IACXC,YAAY;IACZC,aAAa;IACbC,YAAY;IACZC,OAAO;IACPC,SAAS;IACT,GAAGC;EACL,CAAC,GAAGzH,UAAU,CAAC0H,OAAO,CAAC5C,iBAAiB,IAAI,CAAC,CAAC,CAAc;EAE5D,IAAI6C,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzCzG,yBAAyB,CAACqG,YAAY,CAAC;EACzC;EAEA,MAAMK,UAAqB,GAAG;IAC5BvC,eAAe;IACfC,iBAAiB;IACjBC,qBAAqB;IACrBC,sBAAsB;IACtBC,uBAAuB;IACvBC,uBAAuB;IACvBC,iBAAiB;IACjBC,WAAW;IACXC,cAAc;IACdC,cAAc;IACdC,eAAe;IACfC,eAAe;IACfC,YAAY;IACZC,WAAW;IACXC,gBAAgB;IAChBC,gBAAgB;IAChBC,gBAAgB;IAChBC,gBAAgB;IAChBC,WAAW;IACXC,cAAc;IACdC,kBAAkB;IAClBC,mBAAmB;IACnBC,oBAAoB;IACpBC,oBAAoB;IACpBC,cAAc;IACdC,WAAW;IACXC,SAAS;IACTC,SAAS;IACTC,WAAW;IACXC,YAAY;IACZC,aAAa;IACbC,YAAY;IACZC,OAAO;IACPC;EACF,CAAC;;EAED;EACA;EACA;EACA,KAAK,MAAM/F,SAAS,IAAIqG,UAAU,EAAE;IAClC;IACA,IAAIA,UAAU,CAACrG,SAAS,CAAC,KAAKI,SAAS,EAAE;MACvC;MACA;MACA,OAAOiG,UAAU,CAACrG,SAAS,CAAC;IAC9B;EACF;EAEA,MAAMsG,eAAe,GAAG;IACtB,IAAIpE,iBAAiB,IAAI;MAAE4B,eAAe,EAAE;IAAc,CAAC,CAAC;IAC5D,IAAI,CAAC5B,iBAAiB,IAAIoB,mBAAmB,KAAK,KAAK,KAAK;MAC1Dc,iBAAiB,EAAE,CAAC;MACpB,GAAG9F,QAAQ,CAACiI,MAAM,CAAC;QACjBC,OAAO,EAAE;UACPf,SAAS,EAAE;QACb,CAAC;QACDgB,GAAG,EAAE;UACHjB,SAAS,EAAE;QACb,CAAC;QACDkB,OAAO,EAAE;UACPd,aAAa,EAAE;QACjB;MACF,CAAC;IACH,CAAC,CAAC;IACF,GAAGS;EACL,CAAC;EAED,MAAMM,aAAa,GACjBxE,eAAe,IACf7D,QAAQ,CAACiI,MAAM,CAAC;IACdK,GAAG,EAAElG,MAAM,CAACmG,OAAO;IACnBH,OAAO,EAAEhG,MAAM,CAACoG;EAClB,CAAC,CAAC;EAEJ,MAAMC,UAAU,GAAG/E,UAAU,GACzBA,UAAU,CAAC;IACTgF,SAAS,EAAEL,aAAa;IACxBM,UAAU,EAAE1D,gBAAgB;IAC5B2D,YAAY,EAAE1D,kBAAkB;IAChC2D,WAAW,EAAEnE,2BAA2B;IACxC/B,WAAW;IACXmG,YAAY,EAAE5F,MAAM;IACpB6F,SAAS,EAAEC,OAAO,CAAC5F,IAAI,CAAC;IACxB6F,OAAO,EAAE7F,IAAI,GAAGf,UAAU,CAAC6G,MAAM,GAAGpH,SAAS;IAC7CqH,KAAK,EAAE/F,IAAI,EAAEC,KAAK;IAClB+F,UAAU,EAAEzE,oBAAoB;IAChC0E,IAAI,EAAEjG,IAAI,EAAEiG;EACd,CAAC,CAAC,GACF,IAAI;EAER,MAAMC,WAAW,GAAGvF,WAAW,GAC3BA,WAAW,CAAC;IACV2E,SAAS,EAAEL,aAAa;IACxBM,UAAU,EAAE1D,gBAAgB;IAC5B2D,YAAY,EAAE1D,kBAAkB;IAChC6D,SAAS,EAAEC,OAAO,CAAC5F,IAAI;EACzB,CAAC,CAAC,GACF,IAAI;EAER,MAAME,WAAW,GACf,OAAOC,WAAW,KAAK,UAAU,GAC5BvB,KAA+C,iBAC9CjB,IAAA,CAACF,WAAW;IAAA,GAAKmB;EAAK,CAAG,CAC1B,GACDuB,WAAW;EAEjB,oBACEtC,KAAA,CAAClB,QAAQ,CAACG,IAAI;IACZqJ,aAAa,EAAC,UAAU;IACxBC,KAAK,EAAE,CAAC;MAAEzG,MAAM;MAAEuC,SAAS;MAAEC,SAAS;MAAEiC,OAAO;MAAEC;IAAU,CAAC,CAAE;IAAAgC,QAAA,gBAE9D1I,IAAA,CAAChB,QAAQ,CAACG,IAAI;MACZqJ,aAAa,EAAC,UAAU;MACxBC,KAAK,EAAE,CAACvJ,UAAU,CAACyJ,YAAY,EAAE7E,wBAAwB,CAAE;MAAA4E,QAAA,EAE1D3F,gBAAgB,GACfA,gBAAgB,CAAC;QAAE0F,KAAK,EAAExB;MAAgB,CAAC,CAAC,gBAE5CjH,IAAA,CAACP,gBAAgB;QACf+I,aAAa;QACX;QACA3F,iBAAiB,KAChBoE,eAAe,CAACxC,eAAe,KAAK,aAAa,IAChD3F,KAAK,CAACmI,eAAe,CAACxC,eAAe,CAAC,CAACmE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GACnD,MAAM,GACN,MACL;QACDH,KAAK,EAAExB;MAAgB,CACxB;IACF,CACY,CAAC,eAChBjH,IAAA,CAACb,IAAI;MAACqJ,aAAa,EAAC,MAAM;MAACC,KAAK,EAAE;QAAEzG,MAAM,EAAEoC;MAAsB;IAAE,CAAE,CAAC,eACvElE,KAAA,CAACf,IAAI;MACHqJ,aAAa,EAAC,UAAU;MACxBC,KAAK,EAAE,CACLlI,MAAM,CAACsI,OAAO,EACd5J,QAAQ,CAACyD,EAAE,KAAK,KAAK,IAAIvB,KAAK,CAACc,KAAK,IAAI5B,sBAAsB,GAC1DE,MAAM,CAACuI,KAAK,GACZ,IAAI,CACR;MAAAJ,QAAA,gBAEF1I,IAAA,CAAChB,QAAQ,CAACG,IAAI;QACZqJ,aAAa,EAAC,UAAU;QACxBC,KAAK,EAAE,CACLlI,MAAM,CAACwI,KAAK,EACZ,CAACtH,gBAAgB,IAAIgB,gBAAgB,KAAK,QAAQ,IAAIlC,MAAM,CAACyI,MAAM,EACnE;UAAEC,WAAW,EAAE/H,MAAM,CAACgI;QAAK,CAAC,EAC5B5F,kBAAkB,CAClB;QAAAoF,QAAA,EAEDhB;MAAU,CACE,CAAC,EACfzI,QAAQ,CAACyD,EAAE,KAAK,KAAK,IAAI,CAACjB,gBAAgB,gBACzCvB,KAAA,CAAAE,SAAA;QAAAsI,QAAA,gBACE1I,IAAA,CAAChB,QAAQ,CAACG,IAAI;UACZqJ,aAAa,EAAC,UAAU;UACxBC,KAAK,EAAE,CACLlI,MAAM,CAAC+B,KAAK,EACZ;YACE;YACA6G,QAAQ,EACN1G,gBAAgB,KAAK,QAAQ,GACzBN,MAAM,CAACF,KAAK,GACZ,CAAC,CAACyF,UAAU,GACR/D,2BAA2B,KAAK,SAAS,GACvC,EAAE,GACF,EAAE,GACJ,EAAE,KACH4E,WAAW,IAAI3F,sBAAsB,GAAG,EAAE,GAAG,CAAC,CAAC,GAChDwG,IAAI,CAACC,GAAG,CAACnI,MAAM,CAACgI,IAAI,EAAEhI,MAAM,CAACoI,KAAK,CAAC,IACnC,CAAC,GACHnH,MAAM,CAACF,KAAK,IACX,CAACyF,UAAU,GAAG,EAAE,GAAG,EAAE,KACnBa,WAAW,IAAI3F,sBAAsB,GAAG,EAAE,GAAG,EAAE,CAAC,GACjD1B,MAAM,CAACgI,IAAI,GACXhI,MAAM,CAACoI,KAAK;UACtB,CAAC,EACD7G,gBAAgB,KAAK,MAAM,IAAIiF,UAAU,GACrC;YAAEuB,WAAW,EAAE;UAAE,CAAC,GAClB;YAAEM,gBAAgB,EAAE;UAAG,CAAC,EAC5B7F,mBAAmB,CACnB;UAAAgF,QAAA,EAEDnG,WAAW,CAAC;YACXmG,QAAQ,EAAEpG,KAAK;YACfkH,gBAAgB,EAAEtG,qBAAqB;YACvCyE,SAAS,EAAE7E,eAAe;YAC1B2G,QAAQ,EAAE3H,aAAa;YACvB2G,KAAK,EAAErF;UACT,CAAC;QAAC,CACW,CAAC,eAChBlD,KAAA,CAAClB,QAAQ,CAACG,IAAI;UACZqJ,aAAa,EAAC,UAAU;UACxBC,KAAK,EAAE,CACLlI,MAAM,CAACmJ,GAAG,EACVnJ,MAAM,CAACyI,MAAM,EACb;YAAEW,SAAS,EAAEzI,MAAM,CAACoI;UAAM,CAAC,EAC3B9F,mBAAmB,CACnB;UAAAkF,QAAA,GAEDH,WAAW,EACX3F,sBAAsB,gBACrB5C,IAAA,CAACN,YAAY;YACXiI,SAAS,EAAEL,aAAc;YACzBM,UAAU,EAAE1D,gBAAiB;YAC7B2D,YAAY,EAAE1D,kBAAmB;YACjC+D,OAAO,EAAEA,CAAA,KAAM;cACbxG,mBAAmB,CAAC,IAAI,CAAC;cACzBkB,sBAAsB,EAAEgH,MAAM,GAAG,CAAC;YACpC,CAAE;YAAAlB,QAAA,eAEF1I,IAAA,CAACL,UAAU;cAACkK,MAAM,EAAExK,UAAW;cAACsI,SAAS,EAAEL;YAAc,CAAE;UAAC,CAChD,CAAC,GACb,IAAI;QAAA,CACK,CAAC;MAAA,CAChB,CAAC,GACD,IAAI,EACPrI,QAAQ,CAACyD,EAAE,KAAK,KAAK,IAAIjB,gBAAgB,gBACxCzB,IAAA,CAACJ,eAAe;QAAA,GACVgD,sBAAsB;QAC1BkH,OAAO,EAAErI,gBAAiB;QAC1BsI,OAAO,EAAEA,CAAA,KAAM;UACbrI,mBAAmB,CAAC,KAAK,CAAC;UAC1BkB,sBAAsB,EAAEmH,OAAO,GAAG,CAAC;QACrC,CAAE;QACFpC,SAAS,EAAE7E,eAAgB;QAC3B2F,KAAK,EAAE,CACLxJ,QAAQ,CAACyD,EAAE,KAAK,KAAK,GACjB,CACExD,UAAU,CAACyJ,YAAY,EACvB;UAAEqB,UAAU,EAAE5F,qBAAqB,GAAG,CAAC,GAAG;QAAE,CAAC,EAC7C;UAAEK,eAAe,EAAEA,eAAe,IAAIpD,MAAM,CAAC4I;QAAK,CAAC,CACpD,GACD,CAACvC,UAAU,IAAI;UAAEuB,WAAW,EAAE;QAAE,CAAC;MACrC,CACH,CAAC,GACA,IAAI;IAAA,CACJ,CAAC;EAAA,CACM,CAAC;AAEpB;AAEA,MAAM1I,MAAM,GAAGrB,UAAU,CAACgL,MAAM,CAAC;EAC/BrB,OAAO,EAAE;IACPsB,IAAI,EAAE,CAAC;IACPC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd,CAAC;EACDvB,KAAK,EAAE;IACLS,gBAAgB,EAAE;EACpB,CAAC;EACDjH,KAAK,EAAE;IACLgI,cAAc,EAAE;EAClB,CAAC;EACDvB,KAAK,EAAE;IACLqB,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDZ,GAAG,EAAE;IACHU,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDtB,MAAM,EAAE;IACNuB,QAAQ,EAAE,CAAC;IACXC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useNavigation","useTheme","Color","React","Animated","Platform","StyleSheet","View","useSafeAreaInsets","searchIcon","useFrameSize","getDefaultHeaderHeight","HeaderBackButton","HeaderBackground","HeaderButton","HeaderIcon","HeaderSearchBar","HeaderShownContext","HeaderTitle","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","IPAD_MINI_MEDIUM_WIDTH","warnIfHeaderStylesDefined","styles","Object","keys","forEach","styleProp","value","console","warn","undefined","Header","props","insets","frame","size","colors","navigation","isParentHeaderShown","useContext","searchBarVisible","setSearchBarVisible","useState","titleLayout","setTitleLayout","onTitleLayout","e","height","width","nativeEvent","layout","modal","back","title","headerTitle","customTitle","headerTitleAlign","OS","headerLeft","headerSearchBarOptions","headerTransparent","headerTintColor","headerBackground","headerRight","headerTitleAllowFontScaling","titleAllowFontScaling","headerTitleStyle","titleStyle","headerLeftContainerStyle","leftContainerStyle","headerRightContainerStyle","rightContainerStyle","headerTitleContainerStyle","titleContainerStyle","headerBackButtonDisplayMode","headerBackTitleStyle","headerBackgroundContainerStyle","backgroundContainerStyle","headerStyle","customHeaderStyle","headerShadowVisible","headerPressColor","headerPressOpacity","headerStatusBarHeight","top","defaultHeight","maxHeight","minHeight","backfaceVisibility","backgroundColor","borderBlockColor","borderBlockEndColor","borderBlockStartColor","borderBottomColor","borderBottomEndRadius","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStartRadius","borderBottomWidth","borderColor","borderCurve","borderEndColor","borderEndEndRadius","borderEndStartRadius","borderEndWidth","borderLeftColor","borderLeftWidth","borderRadius","borderRightColor","borderRightWidth","borderStartColor","borderStartEndRadius","borderStartStartRadius","borderStartWidth","borderStyle","borderTopColor","borderTopEndRadius","borderTopLeftRadius","borderTopRightRadius","borderTopStartRadius","borderTopWidth","borderWidth","boxShadow","elevation","filter","mixBlendMode","opacity","shadowColor","shadowOffset","shadowOpacity","shadowRadius","transform","transformOrigin","unsafeStyles","flatten","process","env","NODE_ENV","safeStyles","backgroundStyle","select","android","web","default","iconTintColor","ios","primary","text","leftButton","tintColor","pressColor","pressOpacity","displayMode","screenLayout","canGoBack","Boolean","onPress","goBack","label","labelStyle","href","rightButton","pointerEvents","style","children","absoluteFill","alpha","content","large","start","expand","marginStart","left","maxWidth","Math","max","right","marginHorizontal","allowFontScaling","onLayout","end","marginEnd","onOpen","source","visible","onClose","paddingTop","card","create","flex","flexDirection","alignItems","justifyContent","flexGrow","flexBasis"],"sourceRoot":"../../../src","sources":["Header/Header.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -32,23 +32,33 @@ export function SafeAreaProviderCompat({
|
|
|
32
32
|
style
|
|
33
33
|
}) {
|
|
34
34
|
const insets = React.useContext(SafeAreaInsetsContext);
|
|
35
|
-
|
|
35
|
+
return /*#__PURE__*/_jsx(FrameSizeProvider, {
|
|
36
36
|
initialFrame: initialMetrics.frame,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
37
|
+
render: ({
|
|
38
|
+
ref,
|
|
39
|
+
onLayout
|
|
40
|
+
}) => {
|
|
41
|
+
if (insets) {
|
|
42
|
+
// If we already have insets, don't wrap the stack in another safe area provider
|
|
43
|
+
// This avoids an issue with updates at the cost of potentially incorrect values
|
|
44
|
+
// https://github.com/react-navigation/react-navigation/issues/174
|
|
45
|
+
return /*#__PURE__*/_jsx(View, {
|
|
46
|
+
ref: ref,
|
|
47
|
+
onLayout: onLayout,
|
|
48
|
+
style: [styles.container, style],
|
|
49
|
+
children: children
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// SafeAreaProvider doesn't forward ref
|
|
54
|
+
// So we only pass onLayout to it
|
|
55
|
+
return /*#__PURE__*/_jsx(SafeAreaProvider, {
|
|
56
|
+
initialMetrics: initialMetrics,
|
|
57
|
+
style: style,
|
|
58
|
+
onLayout: onLayout,
|
|
59
|
+
children: children
|
|
60
|
+
});
|
|
61
|
+
}
|
|
52
62
|
});
|
|
53
63
|
}
|
|
54
64
|
SafeAreaProviderCompat.initialMetrics = initialMetrics;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Dimensions","Platform","StyleSheet","View","initialWindowMetrics","SafeAreaInsetsContext","SafeAreaProvider","FrameSizeProvider","jsx","_jsx","width","height","get","initialMetrics","OS","frame","x","y","insets","top","left","right","bottom","SafeAreaProviderCompat","children","style","useContext","initialFrame","styles","container","create","flex"],"sourceRoot":"../../src","sources":["SafeAreaProviderCompat.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,UAAU,EACVC,QAAQ,EAERC,UAAU,EACVC,IAAI,QAEC,cAAc;AACrB,SACEC,oBAAoB,EACpBC,qBAAqB,EACrBC,gBAAgB,QACX,gCAAgC;AAEvC,SAASC,iBAAiB,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOnD,MAAM;EAAEC,KAAK,GAAG,CAAC;EAAEC,MAAM,GAAG;AAAE,CAAC,GAAGX,UAAU,CAACY,GAAG,CAAC,QAAQ,CAAC;;AAE1D;AACA;AACA;AACA,MAAMC,cAAc,GAClBZ,QAAQ,CAACa,EAAE,KAAK,KAAK,IAAIV,oBAAoB,IAAI,IAAI,GACjD;EACEW,KAAK,EAAE;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE,CAAC;IAAEP,KAAK;IAAEC;EAAO,CAAC;EACpCO,MAAM,EAAE;IAAEC,GAAG,EAAE,CAAC;IAAEC,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAE;AACjD,CAAC,GACDlB,oBAAoB;AAE1B,OAAO,SAASmB,sBAAsBA,CAAC;EAAEC,QAAQ;EAAEC;AAAa,CAAC,EAAE;EACjE,MAAMP,MAAM,GAAGnB,KAAK,CAAC2B,UAAU,CAACrB,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"names":["React","Dimensions","Platform","StyleSheet","View","initialWindowMetrics","SafeAreaInsetsContext","SafeAreaProvider","FrameSizeProvider","jsx","_jsx","width","height","get","initialMetrics","OS","frame","x","y","insets","top","left","right","bottom","SafeAreaProviderCompat","children","style","useContext","initialFrame","render","ref","onLayout","styles","container","create","flex"],"sourceRoot":"../../src","sources":["SafeAreaProviderCompat.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,UAAU,EACVC,QAAQ,EAERC,UAAU,EACVC,IAAI,QAEC,cAAc;AACrB,SACEC,oBAAoB,EACpBC,qBAAqB,EACrBC,gBAAgB,QACX,gCAAgC;AAEvC,SAASC,iBAAiB,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOnD,MAAM;EAAEC,KAAK,GAAG,CAAC;EAAEC,MAAM,GAAG;AAAE,CAAC,GAAGX,UAAU,CAACY,GAAG,CAAC,QAAQ,CAAC;;AAE1D;AACA;AACA;AACA,MAAMC,cAAc,GAClBZ,QAAQ,CAACa,EAAE,KAAK,KAAK,IAAIV,oBAAoB,IAAI,IAAI,GACjD;EACEW,KAAK,EAAE;IAAEC,CAAC,EAAE,CAAC;IAAEC,CAAC,EAAE,CAAC;IAAEP,KAAK;IAAEC;EAAO,CAAC;EACpCO,MAAM,EAAE;IAAEC,GAAG,EAAE,CAAC;IAAEC,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAE;AACjD,CAAC,GACDlB,oBAAoB;AAE1B,OAAO,SAASmB,sBAAsBA,CAAC;EAAEC,QAAQ;EAAEC;AAAa,CAAC,EAAE;EACjE,MAAMP,MAAM,GAAGnB,KAAK,CAAC2B,UAAU,CAACrB,qBAAqB,CAAC;EAEtD,oBACEI,IAAA,CAACF,iBAAiB;IAChBoB,YAAY,EAAEd,cAAc,CAACE,KAAM;IACnCa,MAAM,EAAEA,CAAC;MAAEC,GAAG;MAAEC;IAAS,CAAC,KAAK;MAC7B,IAAIZ,MAAM,EAAE;QACV;QACA;QACA;QACA,oBACET,IAAA,CAACN,IAAI;UACH0B,GAAG,EAAEA,GAAI;UACTC,QAAQ,EAAEA,QAAS;UACnBL,KAAK,EAAE,CAACM,MAAM,CAACC,SAAS,EAAEP,KAAK,CAAE;UAAAD,QAAA,EAEhCA;QAAQ,CACL,CAAC;MAEX;;MAEA;MACA;MACA,oBACEf,IAAA,CAACH,gBAAgB;QACfO,cAAc,EAAEA,cAAe;QAC/BY,KAAK,EAAEA,KAAM;QACbK,QAAQ,EAAEA,QAAS;QAAAN,QAAA,EAElBA;MAAQ,CACO,CAAC;IAEvB;EAAE,CACH,CAAC;AAEN;AAEAD,sBAAsB,CAACV,cAAc,GAAGA,cAAc;AAEtD,MAAMkB,MAAM,GAAG7B,UAAU,CAAC+B,MAAM,CAAC;EAC/BD,SAAS,EAAE;IACTE,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import { Platform
|
|
5
|
-
import {
|
|
6
|
-
// eslint-disable-next-line no-restricted-imports
|
|
7
|
-
useSafeAreaFrame } from 'react-native-safe-area-context';
|
|
4
|
+
import { Platform } from 'react-native';
|
|
8
5
|
import useLatestCallback from 'use-latest-callback';
|
|
9
6
|
import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector';
|
|
10
|
-
|
|
11
|
-
// Load with require to avoid error from webpack due to missing export in older versions
|
|
12
|
-
// eslint-disable-next-line import-x/no-commonjs
|
|
13
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
-
const SafeAreaListener = require('react-native-safe-area-context').SafeAreaListener;
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
8
|
const FrameContext = /*#__PURE__*/React.createContext(undefined);
|
|
16
9
|
export function useFrameSize(selector, throttle) {
|
|
17
10
|
const context = React.useContext(FrameContext);
|
|
@@ -23,21 +16,7 @@ export function useFrameSize(selector, throttle) {
|
|
|
23
16
|
}
|
|
24
17
|
export function FrameSizeProvider({
|
|
25
18
|
initialFrame,
|
|
26
|
-
|
|
27
|
-
}) {
|
|
28
|
-
const context = React.useContext(FrameContext);
|
|
29
|
-
if (context != null) {
|
|
30
|
-
// If the context is already present, don't wrap again
|
|
31
|
-
return children;
|
|
32
|
-
}
|
|
33
|
-
return /*#__PURE__*/_jsx(FrameSizeProviderInner, {
|
|
34
|
-
initialFrame: initialFrame,
|
|
35
|
-
children: children
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
function FrameSizeProviderInner({
|
|
39
|
-
initialFrame,
|
|
40
|
-
children
|
|
19
|
+
render
|
|
41
20
|
}) {
|
|
42
21
|
const frameRef = React.useRef({
|
|
43
22
|
width: initialFrame.width,
|
|
@@ -100,47 +79,42 @@ function FrameSizeProviderInner({
|
|
|
100
79
|
};
|
|
101
80
|
listeners.current.forEach(listener => listener());
|
|
102
81
|
});
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
82
|
+
const viewRef = React.useRef(null);
|
|
83
|
+
React.useEffect(() => {
|
|
84
|
+
if (Platform.OS === 'web') {
|
|
85
|
+
// We use ResizeObserver on web
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
viewRef.current?.measure((_x, _y, width, height) => {
|
|
89
|
+
onChange({
|
|
90
|
+
width,
|
|
91
|
+
height
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
}, [onChange]);
|
|
95
|
+
const onLayout = event => {
|
|
96
|
+
const {
|
|
97
|
+
width,
|
|
98
|
+
height
|
|
99
|
+
} = event.nativeEvent.layout;
|
|
100
|
+
onChange({
|
|
101
|
+
width,
|
|
102
|
+
height
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
return /*#__PURE__*/_jsxs(FrameContext.Provider, {
|
|
106
|
+
value: context,
|
|
107
|
+
children: [Platform.OS === 'web' ? /*#__PURE__*/_jsx(FrameSizeListenerWeb, {
|
|
110
108
|
onChange: onChange
|
|
111
|
-
}) :
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
* Passing `pointerEvents="none"` to `SafeAreaListener` doesn't work
|
|
115
|
-
* So we wrap it in a `View` and disable pointer events on it
|
|
116
|
-
*/
|
|
117
|
-
_jsx(View, {
|
|
118
|
-
style: StyleSheet.absoluteFill,
|
|
119
|
-
pointerEvents: "none",
|
|
120
|
-
children: /*#__PURE__*/_jsx(SafeAreaListener, {
|
|
121
|
-
onChange: ({
|
|
122
|
-
frame
|
|
123
|
-
}) => onChange(frame),
|
|
124
|
-
style: StyleSheet.absoluteFill
|
|
125
|
-
})
|
|
109
|
+
}) : null, render({
|
|
110
|
+
ref: viewRef,
|
|
111
|
+
onLayout
|
|
126
112
|
})]
|
|
127
113
|
});
|
|
128
114
|
}
|
|
129
115
|
|
|
130
|
-
//
|
|
131
|
-
//
|
|
132
|
-
function FrameSizeListenerNativeFallback({
|
|
133
|
-
onChange
|
|
134
|
-
}) {
|
|
135
|
-
const frame = useSafeAreaFrame();
|
|
136
|
-
React.useLayoutEffect(() => {
|
|
137
|
-
onChange(frame);
|
|
138
|
-
}, [frame, onChange]);
|
|
139
|
-
return null;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// FIXME: On the Web, the safe area frame value doesn't update on resize
|
|
143
|
-
// So we workaround this by measuring the frame on resize
|
|
116
|
+
// FIXME: On the Web, `onLayout` doesn't fire on resize
|
|
117
|
+
// So we workaround this by using ResizeObserver
|
|
144
118
|
function FrameSizeListenerWeb({
|
|
145
119
|
onChange
|
|
146
120
|
}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","
|
|
1
|
+
{"version":3,"names":["React","Platform","useLatestCallback","useSyncExternalStoreWithSelector","jsx","_jsx","jsxs","_jsxs","FrameContext","createContext","undefined","useFrameSize","selector","throttle","context","useContext","Error","value","subscribeThrottled","subscribe","getCurrent","FrameSizeProvider","initialFrame","render","frameRef","useRef","width","height","listeners","Set","current","listener","add","delete","delay","timer","updated","waiting","throttledListener","clearTimeout","setTimeout","unsubscribe","useMemo","onChange","frame","forEach","viewRef","useEffect","OS","measure","_x","_y","onLayout","event","nativeEvent","layout","Provider","children","FrameSizeListenerWeb","ref","elementRef","rect","getBoundingClientRect","observer","ResizeObserver","entries","entry","contentRect","observe","disconnect","style","position","left","right","top","bottom","pointerEvents","visibility"],"sourceRoot":"../../src","sources":["useFrameSize.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/Header/Header.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AActD,KAAK,KAAK,GAAG,aAAa,GAAG;IAC3B;;OAEG;IACH,IAAI,CAAC,EAAE;QACL;;WAEG;QACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B;;WAEG;QACH,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;KAC1B,CAAC;IACF;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAkBF,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/Header/Header.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AActD,KAAK,KAAK,GAAG,aAAa,GAAG;IAC3B;;OAEG;IACH,IAAI,CAAC,EAAE;QACL;;WAEG;QACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B;;WAEG;QACH,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;KAC1B,CAAC;IACF;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAkBF,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,2CAmXlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SafeAreaProviderCompat.d.ts","sourceRoot":"","sources":["../../../src/SafeAreaProviderCompat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAStB,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAeF,wBAAgB,sBAAsB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"SafeAreaProviderCompat.d.ts","sourceRoot":"","sources":["../../../src/SafeAreaProviderCompat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAStB,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAeF,wBAAgB,sBAAsB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,2CAoChE;yBApCe,sBAAsB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { type
|
|
2
|
+
import { type LayoutChangeEvent, View } from 'react-native';
|
|
3
3
|
type Frame = {
|
|
4
4
|
width: number;
|
|
5
5
|
height: number;
|
|
@@ -7,9 +7,11 @@ type Frame = {
|
|
|
7
7
|
export declare function useFrameSize<T>(selector: (frame: Frame) => T, throttle?: boolean): T;
|
|
8
8
|
type FrameSizeProviderProps = {
|
|
9
9
|
initialFrame: Frame;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
render: (props: {
|
|
11
|
+
ref: React.RefObject<View | null>;
|
|
12
|
+
onLayout: (event: LayoutChangeEvent) => void;
|
|
13
|
+
}) => React.ReactNode;
|
|
12
14
|
};
|
|
13
|
-
export declare function FrameSizeProvider({ initialFrame,
|
|
15
|
+
export declare function FrameSizeProvider({ initialFrame, render, }: FrameSizeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
14
16
|
export {};
|
|
15
17
|
//# sourceMappingURL=useFrameSize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFrameSize.d.ts","sourceRoot":"","sources":["../../../src/useFrameSize.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"useFrameSize.d.ts","sourceRoot":"","sources":["../../../src/useFrameSize.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,iBAAiB,EAAY,IAAI,EAAE,MAAM,cAAc,CAAC;AAItE,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAgBF,wBAAgB,YAAY,CAAC,CAAC,EAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,EAC7B,QAAQ,CAAC,EAAE,OAAO,GACjB,CAAC,CAeH;AAED,KAAK,sBAAsB,GAAG;IAC5B,YAAY,EAAE,KAAK,CAAC;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE;QACd,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;KAC9C,KAAK,KAAK,CAAC,SAAS,CAAC;CACvB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,YAAY,EACZ,MAAM,GACP,EAAE,sBAAsB,2CA4GxB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/elements",
|
|
3
3
|
"description": "UI Components for React Navigation",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.9.0",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
7
7
|
"react-navigation",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@jest/globals": "^30.0.0",
|
|
51
51
|
"@react-native-masked-view/masked-view": "0.3.2",
|
|
52
|
-
"@react-navigation/native": "^7.1.
|
|
52
|
+
"@react-navigation/native": "^7.1.23",
|
|
53
53
|
"@testing-library/react-native": "^13.2.0",
|
|
54
54
|
"@types/color": "^4.2.0",
|
|
55
55
|
"@types/react": "~19.0.10",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
},
|
|
64
64
|
"peerDependencies": {
|
|
65
65
|
"@react-native-masked-view/masked-view": ">= 0.2.0",
|
|
66
|
-
"@react-navigation/native": "^7.1.
|
|
66
|
+
"@react-navigation/native": "^7.1.23",
|
|
67
67
|
"react": ">= 18.2.0",
|
|
68
68
|
"react-native": "*",
|
|
69
69
|
"react-native-safe-area-context": ">= 4.0.0"
|
|
@@ -91,5 +91,5 @@
|
|
|
91
91
|
]
|
|
92
92
|
]
|
|
93
93
|
},
|
|
94
|
-
"gitHead": "
|
|
94
|
+
"gitHead": "deb8a6fc26c5c86ab8dd70ddceeef1ec5fddd754"
|
|
95
95
|
}
|
package/src/Header/Header.tsx
CHANGED
|
@@ -135,9 +135,13 @@ export function Header(props: Props) {
|
|
|
135
135
|
|
|
136
136
|
const {
|
|
137
137
|
height = defaultHeight,
|
|
138
|
-
minHeight,
|
|
139
138
|
maxHeight,
|
|
139
|
+
minHeight,
|
|
140
|
+
backfaceVisibility,
|
|
140
141
|
backgroundColor,
|
|
142
|
+
borderBlockColor,
|
|
143
|
+
borderBlockEndColor,
|
|
144
|
+
borderBlockStartColor,
|
|
141
145
|
borderBottomColor,
|
|
142
146
|
borderBottomEndRadius,
|
|
143
147
|
borderBottomLeftRadius,
|
|
@@ -145,15 +149,19 @@ export function Header(props: Props) {
|
|
|
145
149
|
borderBottomStartRadius,
|
|
146
150
|
borderBottomWidth,
|
|
147
151
|
borderColor,
|
|
152
|
+
borderCurve,
|
|
148
153
|
borderEndColor,
|
|
154
|
+
borderEndEndRadius,
|
|
155
|
+
borderEndStartRadius,
|
|
149
156
|
borderEndWidth,
|
|
150
157
|
borderLeftColor,
|
|
151
158
|
borderLeftWidth,
|
|
152
159
|
borderRadius,
|
|
153
|
-
borderCurve,
|
|
154
160
|
borderRightColor,
|
|
155
161
|
borderRightWidth,
|
|
156
162
|
borderStartColor,
|
|
163
|
+
borderStartEndRadius,
|
|
164
|
+
borderStartStartRadius,
|
|
157
165
|
borderStartWidth,
|
|
158
166
|
borderStyle,
|
|
159
167
|
borderTopColor,
|
|
@@ -165,12 +173,15 @@ export function Header(props: Props) {
|
|
|
165
173
|
borderWidth,
|
|
166
174
|
boxShadow,
|
|
167
175
|
elevation,
|
|
176
|
+
filter,
|
|
177
|
+
mixBlendMode,
|
|
178
|
+
opacity,
|
|
168
179
|
shadowColor,
|
|
169
180
|
shadowOffset,
|
|
170
181
|
shadowOpacity,
|
|
171
182
|
shadowRadius,
|
|
172
|
-
opacity,
|
|
173
183
|
transform,
|
|
184
|
+
transformOrigin,
|
|
174
185
|
...unsafeStyles
|
|
175
186
|
} = StyleSheet.flatten(customHeaderStyle || {}) as ViewStyle;
|
|
176
187
|
|
|
@@ -179,7 +190,11 @@ export function Header(props: Props) {
|
|
|
179
190
|
}
|
|
180
191
|
|
|
181
192
|
const safeStyles: ViewStyle = {
|
|
193
|
+
backfaceVisibility,
|
|
182
194
|
backgroundColor,
|
|
195
|
+
borderBlockColor,
|
|
196
|
+
borderBlockEndColor,
|
|
197
|
+
borderBlockStartColor,
|
|
183
198
|
borderBottomColor,
|
|
184
199
|
borderBottomEndRadius,
|
|
185
200
|
borderBottomLeftRadius,
|
|
@@ -187,15 +202,19 @@ export function Header(props: Props) {
|
|
|
187
202
|
borderBottomStartRadius,
|
|
188
203
|
borderBottomWidth,
|
|
189
204
|
borderColor,
|
|
205
|
+
borderCurve,
|
|
190
206
|
borderEndColor,
|
|
207
|
+
borderEndEndRadius,
|
|
208
|
+
borderEndStartRadius,
|
|
191
209
|
borderEndWidth,
|
|
192
210
|
borderLeftColor,
|
|
193
211
|
borderLeftWidth,
|
|
194
212
|
borderRadius,
|
|
195
|
-
borderCurve,
|
|
196
213
|
borderRightColor,
|
|
197
214
|
borderRightWidth,
|
|
198
215
|
borderStartColor,
|
|
216
|
+
borderStartEndRadius,
|
|
217
|
+
borderStartStartRadius,
|
|
199
218
|
borderStartWidth,
|
|
200
219
|
borderStyle,
|
|
201
220
|
borderTopColor,
|
|
@@ -207,12 +226,15 @@ export function Header(props: Props) {
|
|
|
207
226
|
borderWidth,
|
|
208
227
|
boxShadow,
|
|
209
228
|
elevation,
|
|
229
|
+
filter,
|
|
230
|
+
mixBlendMode,
|
|
231
|
+
opacity,
|
|
210
232
|
shadowColor,
|
|
211
233
|
shadowOffset,
|
|
212
234
|
shadowOpacity,
|
|
213
235
|
shadowRadius,
|
|
214
|
-
opacity,
|
|
215
236
|
transform,
|
|
237
|
+
transformOrigin,
|
|
216
238
|
};
|
|
217
239
|
|
|
218
240
|
// Setting a property to undefined triggers default style
|
|
@@ -36,23 +36,38 @@ const initialMetrics =
|
|
|
36
36
|
export function SafeAreaProviderCompat({ children, style }: Props) {
|
|
37
37
|
const insets = React.useContext(SafeAreaInsetsContext);
|
|
38
38
|
|
|
39
|
-
children = (
|
|
40
|
-
<FrameSizeProvider initialFrame={initialMetrics.frame}>
|
|
41
|
-
{children}
|
|
42
|
-
</FrameSizeProvider>
|
|
43
|
-
);
|
|
44
|
-
|
|
45
|
-
if (insets) {
|
|
46
|
-
// If we already have insets, don't wrap the stack in another safe area provider
|
|
47
|
-
// This avoids an issue with updates at the cost of potentially incorrect values
|
|
48
|
-
// https://github.com/react-navigation/react-navigation/issues/174
|
|
49
|
-
return <View style={[styles.container, style]}>{children}</View>;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
39
|
return (
|
|
53
|
-
<
|
|
54
|
-
{
|
|
55
|
-
|
|
40
|
+
<FrameSizeProvider
|
|
41
|
+
initialFrame={initialMetrics.frame}
|
|
42
|
+
render={({ ref, onLayout }) => {
|
|
43
|
+
if (insets) {
|
|
44
|
+
// If we already have insets, don't wrap the stack in another safe area provider
|
|
45
|
+
// This avoids an issue with updates at the cost of potentially incorrect values
|
|
46
|
+
// https://github.com/react-navigation/react-navigation/issues/174
|
|
47
|
+
return (
|
|
48
|
+
<View
|
|
49
|
+
ref={ref}
|
|
50
|
+
onLayout={onLayout}
|
|
51
|
+
style={[styles.container, style]}
|
|
52
|
+
>
|
|
53
|
+
{children}
|
|
54
|
+
</View>
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// SafeAreaProvider doesn't forward ref
|
|
59
|
+
// So we only pass onLayout to it
|
|
60
|
+
return (
|
|
61
|
+
<SafeAreaProvider
|
|
62
|
+
initialMetrics={initialMetrics}
|
|
63
|
+
style={style}
|
|
64
|
+
onLayout={onLayout}
|
|
65
|
+
>
|
|
66
|
+
{children}
|
|
67
|
+
</SafeAreaProvider>
|
|
68
|
+
);
|
|
69
|
+
}}
|
|
70
|
+
/>
|
|
56
71
|
);
|
|
57
72
|
}
|
|
58
73
|
|
package/src/useFrameSize.tsx
CHANGED
|
@@ -1,25 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
Platform,
|
|
4
|
-
type StyleProp,
|
|
5
|
-
StyleSheet,
|
|
6
|
-
View,
|
|
7
|
-
type ViewStyle,
|
|
8
|
-
} from 'react-native';
|
|
9
|
-
import {
|
|
10
|
-
// eslint-disable-next-line no-restricted-imports
|
|
11
|
-
useSafeAreaFrame,
|
|
12
|
-
} from 'react-native-safe-area-context';
|
|
2
|
+
import { type LayoutChangeEvent, Platform, View } from 'react-native';
|
|
13
3
|
import useLatestCallback from 'use-latest-callback';
|
|
14
4
|
import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector';
|
|
15
5
|
|
|
16
|
-
// Load with require to avoid error from webpack due to missing export in older versions
|
|
17
|
-
// eslint-disable-next-line import-x/no-commonjs
|
|
18
|
-
const SafeAreaListener = require('react-native-safe-area-context')
|
|
19
|
-
.SafeAreaListener as
|
|
20
|
-
| typeof import('react-native-safe-area-context').SafeAreaListener
|
|
21
|
-
| undefined;
|
|
22
|
-
|
|
23
6
|
type Frame = {
|
|
24
7
|
width: number;
|
|
25
8
|
height: number;
|
|
@@ -61,31 +44,15 @@ export function useFrameSize<T>(
|
|
|
61
44
|
|
|
62
45
|
type FrameSizeProviderProps = {
|
|
63
46
|
initialFrame: Frame;
|
|
64
|
-
|
|
65
|
-
|
|
47
|
+
render: (props: {
|
|
48
|
+
ref: React.RefObject<View | null>;
|
|
49
|
+
onLayout: (event: LayoutChangeEvent) => void;
|
|
50
|
+
}) => React.ReactNode;
|
|
66
51
|
};
|
|
67
52
|
|
|
68
53
|
export function FrameSizeProvider({
|
|
69
54
|
initialFrame,
|
|
70
|
-
|
|
71
|
-
}: FrameSizeProviderProps) {
|
|
72
|
-
const context = React.useContext(FrameContext);
|
|
73
|
-
|
|
74
|
-
if (context != null) {
|
|
75
|
-
// If the context is already present, don't wrap again
|
|
76
|
-
return children;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
return (
|
|
80
|
-
<FrameSizeProviderInner initialFrame={initialFrame}>
|
|
81
|
-
{children}
|
|
82
|
-
</FrameSizeProviderInner>
|
|
83
|
-
);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
function FrameSizeProviderInner({
|
|
87
|
-
initialFrame,
|
|
88
|
-
children,
|
|
55
|
+
render,
|
|
89
56
|
}: FrameSizeProviderProps) {
|
|
90
57
|
const frameRef = React.useRef<Frame>({
|
|
91
58
|
width: initialFrame.width,
|
|
@@ -167,52 +134,37 @@ function FrameSizeProviderInner({
|
|
|
167
134
|
listeners.current.forEach((listener) => listener());
|
|
168
135
|
});
|
|
169
136
|
|
|
137
|
+
const viewRef = React.useRef<View>(null);
|
|
138
|
+
|
|
139
|
+
React.useEffect(() => {
|
|
140
|
+
if (Platform.OS === 'web') {
|
|
141
|
+
// We use ResizeObserver on web
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
viewRef.current?.measure((_x, _y, width, height) => {
|
|
146
|
+
onChange({ width, height });
|
|
147
|
+
});
|
|
148
|
+
}, [onChange]);
|
|
149
|
+
|
|
150
|
+
const onLayout = (event: LayoutChangeEvent) => {
|
|
151
|
+
const { width, height } = event.nativeEvent.layout;
|
|
152
|
+
|
|
153
|
+
onChange({ width, height });
|
|
154
|
+
};
|
|
155
|
+
|
|
170
156
|
return (
|
|
171
|
-
|
|
172
|
-
<FrameContext.Provider value={context}>{children}</FrameContext.Provider>
|
|
173
|
-
{/**
|
|
174
|
-
* The frame size listener must come after the content
|
|
175
|
-
* This makes sure that any nested navigator is in the first descendant chain
|
|
176
|
-
* This heuristic is used by react-native-screens to find nested navigators
|
|
177
|
-
*/}
|
|
157
|
+
<FrameContext.Provider value={context}>
|
|
178
158
|
{Platform.OS === 'web' ? (
|
|
179
159
|
<FrameSizeListenerWeb onChange={onChange} />
|
|
180
|
-
) :
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Passing `pointerEvents="none"` to `SafeAreaListener` doesn't work
|
|
185
|
-
* So we wrap it in a `View` and disable pointer events on it
|
|
186
|
-
*/
|
|
187
|
-
<View style={StyleSheet.absoluteFill} pointerEvents="none">
|
|
188
|
-
<SafeAreaListener
|
|
189
|
-
onChange={({ frame }) => onChange(frame)}
|
|
190
|
-
style={StyleSheet.absoluteFill}
|
|
191
|
-
/>
|
|
192
|
-
</View>
|
|
193
|
-
)}
|
|
194
|
-
</>
|
|
160
|
+
) : null}
|
|
161
|
+
{render({ ref: viewRef, onLayout })}
|
|
162
|
+
</FrameContext.Provider>
|
|
195
163
|
);
|
|
196
164
|
}
|
|
197
165
|
|
|
198
|
-
//
|
|
199
|
-
//
|
|
200
|
-
function FrameSizeListenerNativeFallback({
|
|
201
|
-
onChange,
|
|
202
|
-
}: {
|
|
203
|
-
onChange: (frame: Frame) => void;
|
|
204
|
-
}) {
|
|
205
|
-
const frame = useSafeAreaFrame();
|
|
206
|
-
|
|
207
|
-
React.useLayoutEffect(() => {
|
|
208
|
-
onChange(frame);
|
|
209
|
-
}, [frame, onChange]);
|
|
210
|
-
|
|
211
|
-
return null;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
// FIXME: On the Web, the safe area frame value doesn't update on resize
|
|
215
|
-
// So we workaround this by measuring the frame on resize
|
|
166
|
+
// FIXME: On the Web, `onLayout` doesn't fire on resize
|
|
167
|
+
// So we workaround this by using ResizeObserver
|
|
216
168
|
function FrameSizeListenerWeb({
|
|
217
169
|
onChange,
|
|
218
170
|
}: {
|