From d5a856763e65a632d794ef74c5c3d2338d7c9938 Mon Sep 17 00:00:00 2001 From: Nikolay Arefyev Date: Thu, 5 Nov 2026 16:51:04 +0200 Subject: [PATCH 1/4] feat: Complete FAB Menu behavior and web adaptation --- docs/6.x/docs/guides/migration.md | 10 +- docs/public/screenshots/fab-android.png | Bin 0 -> 277484 bytes docs/public/screenshots/fab-general.png | Bin 0 -> 12300 bytes docs/public/screenshots/fab-ios.png | Bin 0 -> 143737 bytes docs/public/screenshots/fab-web.png | Bin 0 -> 70482 bytes src/components/FAB/Menu.tsx | 541 +- src/components/FAB/Shell.tsx | 12 + src/components/FAB/focus.ts | 27 + src/components/FAB/tokens.ts | 20 +- src/components/Menu/Menu.tsx | 15 +- src/components/Modal.tsx | 27 +- src/components/__tests__/FABMenu.test.tsx | 300 +- .../__snapshots__/FABMenu.test.tsx.snap | 7605 +++++++++++------ src/utils/focusFirstDOMNode.ts | 36 + src/utils/useHardwareBackPress.ts | 31 + 15 files changed, 5938 insertions(+), 2686 deletions(-) create mode 100644 docs/public/screenshots/fab-android.png create mode 100644 docs/public/screenshots/fab-general.png create mode 100644 docs/public/screenshots/fab-ios.png create mode 100644 docs/public/screenshots/fab-web.png create mode 100644 src/components/FAB/focus.ts create mode 100644 src/utils/focusFirstDOMNode.ts create mode 100644 src/utils/useHardwareBackPress.ts diff --git a/docs/6.x/docs/guides/migration.md b/docs/6.x/docs/guides/migration.md index ab3350628a..92dc106eeb 100644 --- a/docs/6.x/docs/guides/migration.md +++ b/docs/6.x/docs/guides/migration.md @@ -102,7 +102,7 @@ Some components now accept explicit `testID` props for their interactable elemen - `BottomNavigation`: `barTestID` for the internal `BottomNavigation.Bar`, replacing the previous `${testID}-bar` derivation. - `Chip`: `closeIconTestID` for the close icon button. - `Dialog` and `Modal`: `overlayTestID` for the overlay displayed behind the content. -- `Menu`: `overlayTestID` for the overlay displayed behind the menu. +- `FAB.Menu` and `Menu`: `overlayTestID` for the overlay displayed behind the menu. - `Searchbar`: `searchTestID`, `clearTestID`, and `trailingTestID` for the search, clear, and trailing icon buttons. - `Snackbar`: `iconTestID` for the icon button. @@ -285,6 +285,14 @@ The `overlayAccessibilityLabel` prop was renamed to `dismissAccessibilityLabel`: ``` +### FAB.Menu + +`onDismiss` is now also called when the user presses outside the menu, presses Escape (web), presses the hardware back button (Android) or performs the screen reader escape gesture (iOS). Before, it was only called by the close button and the items. + +An invisible layer behind the open menu receives the outside press, so the press no longer reaches the content under it. If your screen relied on pressing through the open menu, close the menu in `onDismiss` and press again. + +Focus moves to the first item when the menu opens and returns to the trigger when it closes. + ### Searchbar The misspelled `traileringIcon` props have been renamed: diff --git a/docs/public/screenshots/fab-android.png b/docs/public/screenshots/fab-android.png new file mode 100644 index 0000000000000000000000000000000000000000..c8cfcd5e5cc89ab11f29840a6f76a7da0d42c6ef GIT binary patch literal 277484 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%0A}JQG+sFV@_issf6g<^ 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
qN$U~fYN5DFx&ijEJ>5fEIs_*U8AarsgS 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 AJOBUy literal 0 HcmV?d00001 diff --git a/docs/public/screenshots/fab-general.png b/docs/public/screenshots/fab-general.png new file mode 100644 index 0000000000000000000000000000000000000000..e4eefe5efe8d8bafb530513e3f72249c9c1b2cd8 GIT binary patch literal 12300 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�jV^m7FC;OKdQ|{wWai@7zZMIYbH&5}f-$TZ$>N4)?U!&3I{U?NeEOJD z5s2$0nq{GrU@S;YmBg#Gk4keHPD08L(%d2CJsR4A=?0ZRvW6CCC!$ z`*;l0I+u3Po=MKjS+WhvEhb`V;+q})clTD4%s9p51S3zwLG{6%9=hT{G`^Cx#TOYU8Hw}SPxA+H@5u{#x_X%yuYwS83&)Q zF5G;>QRkfHUksK{GYfVPj;c zd$>7uQsjbTo_U*=-}-P( zwo#mF@STH`=J{hZXTLs1_Y&)ahmEGcJ9KTJI#In9!yszvG0=AU_T*S=A~oaXS@DyA zwwP9Xa8P>FkaBD7^$S(j%W3=ZNf5zskXzvkH(q0et~$^dDj&>x8XM>v)BdAX!jWYk z$pM*YN+gQaxa$k3$K)(qZLy5_n;mW7TU!!Fg`vR2p9%A3!vN@~aeE3i$&zEijpmiz z(<99$w-#qr>*j|Aq#?}O@p9n@3nUFCHGctUSi3&%b>QKk=>*aO#j;(_0oNF^o256- z9c7N;ZYXEpM8@-@<&EsYZn$ktKjzqkR(KzuYsDr$1xk;TI9{Ay3Rq5RT_5*S2dTQC zat;WD>!`h@W;*Pys+^d7aUvj^gbBO-=4pFxmBDpH{|p1wu?;`65ZaqltCXpV_#}(N zXVoCBy}is~v^6%FA#Ps7M^@WhPk$Ie1s@FQa-6ZvblcwD!4M%qXj^|6-U?7TPBAC> z<i$I$ZOie$Q{{5P=?i@v2O(YcQ&=X--WFi~YAR?c8WT#|ADjFngJbqhgi`CRwp zS`yS#__7#UV=zHDgTr~o?ZK<9_}RL^rsvFRQ-4OxR4QVAFyK?N@!#`;Y@vr5-}}oT ziw9HPvJ{}7LqXeGa>UNHztxE2duw*y>v{95iB+a^C)>FEQ=RojK|904iWc~9&Ne(l zvG!rYwCtB^qT;Y_ax^O4oaBo^rYlRJ>WM{$>OOSGDzzlBc(e+K-4m-O^)^cF)l2hzcCM6Lb73H1%3qkzghQ> z9?IiE7nxOa>?H`Tb5~N|XEc^TV$XvOG6rs_hOfE}Z(WkGGfXcuPp`C$SzO(#+uf{O zQ=a*rHNx*wFDEsehB4y`l5*wS>uB}vUafh&9kN4NehxI~ZTs(t*Y9p}H~faxvzL74 znQ1xTGjIpQ(`{=9nwA*+kmXnPjtVPIzgCG($An-?#3pNeUXI3uird-pQThzJHc=}; zoqmPf&q~^R0?kP^1xcdDzZo~|U@Fvi89KWozN=!yC5NkXyZe>euD&{QwLcz8#Qd2z zBVRZ*wr!FlTDCR_T{=5D!f{0-u9cJpUv7!0wu*GX>{eJjZJDE#$2)EMwiofj{;*}( zJztxbqlWcy(7T8O_YCp8!LEJ(e3|S@?rI}hW0H|rm31d!*A#&A;ZUlpDS_z2b(Ee-hz#)w-fgVQNL z--SPWQ_G@PAv_7GM=VynN*M8j$9n?}?M{V$*E2fV;#NaaW_lO zS#N%#Hi^(-3kx)lZl8s{(jIl6fcH~HT6_(s_$s~$q!>uVh;Mq;)v*-)Vi#3shrPhC z_u6(M@j{4cFUL;5+R;)lX*6$zK4z5O%&?H1$YZ;ZwKEg;1s0p&ZfTpRkt<%|*!gR& zlA0K25tybAs-x&pHok$(QTrc#HGa2alvm zkZ;m87HoHAutK>3>shBFH((7vm?fj@6!Z3#4vy~4ZS#N z7QBCyRjglJnf5B|88Gqa{V6Rv?@u%!ibP7wd(9^qRMc1V=|w({p-{#Hb)A+8>tsKX SzLOst9^BQtQ+V6@#eV^c{MgC> literal 0 HcmV?d00001 diff --git a/docs/public/screenshots/fab-ios.png b/docs/public/screenshots/fab-ios.png new file mode 100644 index 0000000000000000000000000000000000000000..cf9769b5b7a0b2eac22005556e2695bce90a17da GIT binary patch literal 143737 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

eF3wcO#o%3kc!iyTu;z0pLvwkNP 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 QmjMVoU4f^?J0&y$0Ggo@{r~^~ literal 0 HcmV?d00001 diff --git a/src/components/FAB/Menu.tsx b/src/components/FAB/Menu.tsx index e4884647d6..7f8d12fead 100644 --- a/src/components/FAB/Menu.tsx +++ b/src/components/FAB/Menu.tsx @@ -1,28 +1,42 @@ import * as React from 'react'; -import { Platform, StyleSheet, View } from 'react-native'; -import type { ColorValue, GestureResponderEvent } from 'react-native'; +import { + Platform, + Pressable, + ScrollView, + StyleSheet, + View, +} from 'react-native'; +import type { + ColorValue, + GestureResponderEvent, + ViewStyle, +} from 'react-native'; import Animated, { + cubicBezier, interpolate, useAnimatedStyle, useDerivedValue, useSharedValue, - withDelay, withSpring, } from 'react-native-reanimated'; +import type { AnimatedStyle } from 'react-native-reanimated'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; +import useLatestCallback from 'use-latest-callback'; import Content from './Content'; +import { focusNode } from './focus'; import Shell from './Shell'; import { MenuTokens, + STATE_LAYER_OPACITY, Tokens, FOCUS_RING_INSET, FOCUS_RING_THICKNESS, + webNoHoverTint, webNoOutline, } from './tokens'; -import type { Size, Variant } from './tokens'; -import { useFocusRing } from './useFocusRing'; +import type { Interaction, Size, Variant } from './tokens'; import { resolveColors } from './utils'; import { useLocale } from '../../core/locale'; import { useInternalTheme } from '../../core/theming'; @@ -30,8 +44,12 @@ import { useReduceMotion } from '../../theme/accessibility/ReduceMotionContext'; import { toRawSpring } from '../../theme/tokens/sys/motion'; import type { InternalTheme, ThemeProp } from '../../theme/types'; import { resolveCornerRadius } from '../../theme/utils/shape'; +import { getFocusableElement } from '../../utils/focusFirstDOMNode'; +import { isKeyboardFocusEvent } from '../../utils/isKeyboardFocusEvent'; +import { useHardwareBackPress } from '../../utils/useHardwareBackPress'; import Icon from '../Icon'; import type { IconSource } from '../Icon'; +import Surface from '../Surface'; import TouchableRipple from '../TouchableRipple/TouchableRipple'; export type MenuItemProps = { @@ -87,7 +105,9 @@ export type MenuProps = { */ expanded: boolean; /** - * Called when the user taps the close button or taps an item. + * Called when the menu should close: the user taps the close button, an + * item, or outside the menu, presses Escape (web), the hardware back button + * (Android) or performs the screen reader escape gesture (iOS). */ onDismiss: () => void; /** @@ -109,6 +129,11 @@ export type MenuProps = { */ items: TwoToSix; testID?: string; + /** + * testID for the invisible layer behind the menu that dismisses it when + * pressed. + */ + overlayTestID?: string; /** * @optional */ @@ -146,6 +171,11 @@ const getItemsVariant = (triggerVariant: Variant): Variant => { // fixed delay per index. const STAGGER_MS = 30; +// Room the items scroll view keeps around the items, so it doesn't clip the +// focus ring and the hover shadow. Taps in this margin don't reach the +// dismiss layer on Android, so keep it small. +const ITEMS_SCROLL_INSET = FOCUS_RING_INSET + 4; + type AnimatedItemProps = { expanded: boolean; index: number; @@ -166,46 +196,38 @@ const AnimatedItem = ({ children, }: AnimatedItemProps) => { const reduceMotion = useReduceMotion(); - // Initial values match the resting state for the current `expanded` prop so - // first mount doesn't animate unexpectedly. - const scaleX = useSharedValue(expanded ? 1 : 0); - const alpha = useSharedValue(expanded ? 1 : 0); + const { scale } = theme.animation; + const { duration, easing } = theme.motion; - React.useEffect(() => { - const target = expanded ? 1 : 0; - // Bottom-up on open, top-down on close (matches Compose). - const delay = expanded - ? (itemCount - 1 - index) * STAGGER_MS - : index * STAGGER_MS; + // Bottom-up on open, top-down on close (matches Compose). + const staggerIndex = expanded ? itemCount - 1 - index : index; - if (reduceMotion) { - scaleX.value = target; - alpha.value = target; - return; - } - scaleX.value = withDelay( - delay, - withSpring(target, toRawSpring(theme.motion.spring.fast.spatial)) - ); - alpha.value = withDelay( - delay, - withSpring(target, toRawSpring(theme.motion.spring.fast.effects)) - ); - }, [expanded, index, itemCount, theme, reduceMotion, scaleX, alpha]); + // Reduced motion keeps the opacity fade but drops the horizontal scale and + // the stagger. + const transitionStyle: AnimatedStyle = { + transitionProperty: ['opacity', 'transform'], + transitionDuration: [ + duration.short2 * scale, + reduceMotion ? 0 : duration.short4 * scale, + ], + transitionDelay: reduceMotion ? 0 : staggerIndex * STAGGER_MS * scale, + transitionTimingFunction: cubicBezier(...easing.standard), + }; // Only scaleX and opacity animate. Layout height stays at the item's // natural size — the items container is absolutely positioned above the // trigger, so this fixed height never affects the trigger's position. - const animStyle = useAnimatedStyle(() => ({ - transform: [{ scaleX: scaleX.value }], - opacity: alpha.value, - })); + const stateStyle: AnimatedStyle = { + opacity: expanded ? 1 : 0, + transform: [{ scaleX: expanded ? 1 : 0 }], + }; return ( void; onPress: (e: GestureResponderEvent) => void; /** * Accessibility label. Falls back to `label`. @@ -231,15 +263,19 @@ type ItemProps = { /** * A single FAB Menu item. Visually a tonal pill with an icon and a label, - * but it is not a floating action button: no shadow, no enter/exit scaling - * of its own (the surrounding `AnimatedItem` handles entrance), and its - * shape and dimensions come from the menu spec rather than FAB tokens. + * but it is not a floating action button: no enter/exit scaling of its own + * (the surrounding `AnimatedItem` handles entrance), and its shape and + * dimensions come from the menu spec rather than FAB tokens. It follows the + * FAB's state elevation and state layers. */ const MenuItem = ({ icon, label, variant, theme, + expanded, + index, + registerRef, onPress, 'aria-label': ariaLabel, testID, @@ -249,52 +285,96 @@ const MenuItem = ({ MenuTokens.listItem; const borderRadius = resolveCornerRadius(theme, shape); - const { focusedSV, onFocus, onBlur } = useFocusRing(); - const focusRingStyle = useAnimatedStyle(() => ({ - opacity: focusedSV.value ? 1 : 0, - })); + const [hovered, setHovered] = React.useState(false); + const [focused, setFocused] = React.useState(false); + const [pressed, setPressed] = React.useState(false); + + // Items stay mounted while collapsed. Drop their interaction state with the + // menu, otherwise a pointer left over an item shows its state layer again on + // the next open. + React.useEffect(() => { + if (!expanded) { + setHovered(false); + setFocused(false); + setPressed(false); + } + }, [expanded]); + + const interaction: Interaction = pressed + ? 'pressed' + : focused + ? 'focus' + : hovered + ? 'hover' + : 'enabled'; + const stateLayerStyle: AnimatedStyle = { + backgroundColor: colors.content, + opacity: STATE_LAYER_OPACITY[interaction], + transitionProperty: 'opacity', + transitionDuration: theme.motion.duration.short2 * theme.animation.scale, + }; + + const itemRef = React.useCallback( + (node: View | null) => registerRef(index, node), + [registerRef, index] + ); return ( - - - - - - + + setFocused(isKeyboardFocusEvent(e))} + onBlur={() => setFocused(false)} + onHoverIn={() => setHovered(true)} + onHoverOut={() => setHovered(false)} + onPressIn={() => setPressed(true)} + onPressOut={() => setPressed(false)} + role={Platform.OS === 'web' ? 'menuitem' : 'button'} + aria-label={ariaLabel ?? label} + // `aria-hidden` and `pointerEvents` don't take collapsed items + // out of the tab order. + focusable={expanded} + tabIndex={expanded ? 0 : -1} + style={[ + { borderRadius }, + // The state layer replaces the hover tint of TouchableRipple. + Platform.OS === 'web' ? [webNoOutline, webNoHoverTint] : null, + ]} + testID={testID} + > + + + + + @@ -320,6 +400,7 @@ type MorphingTriggerProps = { 'aria-label'?: string; theme: InternalTheme; testID?: string; + ref?: React.Ref; }; const MorphingTrigger = ({ @@ -337,8 +418,10 @@ const MorphingTrigger = ({ 'aria-label': ariaLabel, theme, testID, + ref, }: MorphingTriggerProps) => { const reduceMotion = useReduceMotion(); + const { scale } = theme.animation; const closedSpec = Tokens.sizes[size]; const closedContainer = closedSpec.container; @@ -403,23 +486,28 @@ const MorphingTrigger = ({ [closedBorderRadius, openBorderRadius] ); - const openPlaneStyle = useAnimatedStyle(() => ({ - opacity: 1 - progress.value, - })); - const closePlaneStyle = useAnimatedStyle(() => ({ - opacity: progress.value, - })); + // The morph itself (size, corner, icon position) is the spring above. The + // color and icon cross-fades are effects, so they are CSS transitions. + const fadeTransition: AnimatedStyle = { + transitionProperty: 'opacity', + transitionDuration: theme.motion.duration.short3 * scale, + transitionTimingFunction: cubicBezier(...theme.motion.easing.standard), + }; + const openPlaneStyle: AnimatedStyle = { + opacity: expanded ? 0 : 1, + }; + const closePlaneStyle: AnimatedStyle = { + opacity: expanded ? 1 : 0, + }; const openIconAnimStyle = useAnimatedStyle(() => { const offset = (widthShared.value - closedIconSize) / 2; return { - opacity: 1 - progress.value, transform: [{ translateX: offset }, { translateY: offset }], }; }); const closeIconAnimStyle = useAnimatedStyle(() => { const offset = (widthShared.value - openIconSize) / 2; return { - opacity: progress.value, transform: [{ translateX: offset }, { translateY: offset }], }; }); @@ -454,7 +542,10 @@ const MorphingTrigger = ({ visible={visible} onPress={onPress} aria-label={ariaLabel} + aria-expanded={expanded} + aria-haspopup="menu" testID={testID} + buttonRef={ref} widthShared={widthShared} heightShared={heightShared} borderRadiusShared={borderRadiusShared} @@ -469,6 +560,7 @@ const MorphingTrigger = ({ styles.colorPlane, { backgroundColor: triggerColors.container }, openPlaneStyle, + fadeTransition, ]} /> @@ -484,18 +577,22 @@ const MorphingTrigger = ({ > - + + + - + + + @@ -508,9 +605,12 @@ const MorphingTrigger = ({ * items appear stacked above and the trigger morphs into the spec'd close * button (`shape: 'full'`, 56 dp, saturated role color). * - * No visual backdrop and no outside-tap dismiss — that matches the MD3 spec - * and lets the user keep interacting with the content underneath. Dismiss - * via the close button or by tapping an item. + * There is no visual scrim. Pressing outside the menu, the close button or an + * item, pressing Escape (web), the hardware back button (Android) or the + * screen reader escape gesture (iOS) calls `onDismiss`. Focus moves to the + * first item when the menu opens and returns to the trigger when it closes. + * On web, the arrow keys, Home and End move focus between the items and the + * close button. * * ## Usage * ```tsx @@ -537,6 +637,7 @@ const Menu = ({ closeIcon = 'close', items, testID, + overlayTestID, theme: themeOverrides, }: MenuProps) => { const theme = useInternalTheme(themeOverrides); @@ -554,12 +655,139 @@ const Menu = ({ const effectiveExpanded = triggerVisible && expanded; + const containerRef = React.useRef(null); + const triggerRef = React.useRef(null); + const scrollRef = React.useRef(null); + const itemRefs = React.useRef<(View | null)[]>([]); + const wasExpandedRef = React.useRef(effectiveExpanded); + const closedByItemRef = React.useRef(false); + + const [containerHeight, setContainerHeight] = React.useState(); + + const onDismissCallback = useLatestCallback(onDismiss); + + const registerItemRef = React.useCallback( + (index: number, node: View | null) => { + itemRefs.current[index] = node; + }, + [] + ); + const handleItemPress = (item: MenuItemProps) => (e: GestureResponderEvent) => { item.onPress(e); + closedByItemRef.current = true; onDismiss(); }; + // Focus moves into the menu when it opens and back to the trigger when it + // closes, unless the user already moved focus somewhere else. + React.useEffect(() => { + if (wasExpandedRef.current === effectiveExpanded) { + return; + } + wasExpandedRef.current = effectiveExpanded; + + const closedByItem = closedByItemRef.current; + closedByItemRef.current = false; + + if (effectiveExpanded) { + // The first item is at the top of the list. Reset the scroll position + // from the last time instead of scrolling the page to reach the item. + scrollRef.current?.scrollTo({ y: 0, animated: false }); + focusNode(itemRefs.current[0], { preventScroll: true }); + return; + } + + if (!triggerVisible) { + return; + } + + if (Platform.OS !== 'web') { + // An item usually takes the user elsewhere, so leave the screen reader + // focus where the item's action puts it. On the web this is the + // `activeElement` check below. + if (closedByItem) { + return; + } + } else { + const { activeElement, body } = document; + const container = containerRef.current; + + if ( + activeElement && + activeElement !== body && + !(container instanceof HTMLElement && container.contains(activeElement)) + ) { + return; + } + } + + focusNode(triggerRef.current); + }, [effectiveExpanded, triggerVisible]); + + useHardwareBackPress(effectiveExpanded, () => { + onDismiss(); + return true; + }); + + React.useEffect(() => { + if (Platform.OS !== 'web' || !effectiveExpanded) { + return undefined; + } + + const onKeyDown = (e: KeyboardEvent) => { + // Something else, such as a dialog on top, already handled the key. + if (e.defaultPrevented) { + return; + } + + if (e.key === 'Escape') { + onDismissCallback(); + return; + } + + if ( + !['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(e.key) || + e.altKey || + e.ctrlKey || + e.metaKey || + e.shiftKey + ) { + return; + } + + // Items are in visual order, top to bottom, followed by the close + // button. + const stops = [...itemRefs.current, triggerRef.current].flatMap( + (node) => getFocusableElement(node) ?? [] + ); + const current = stops.findIndex((el) => el === document.activeElement); + + if (current === -1) { + return; + } + + e.preventDefault(); + + const last = stops.length - 1; + const next = + e.key === 'Home' + ? 0 + : e.key === 'End' + ? last + : e.key === 'ArrowDown' + ? (current + 1) % stops.length + : (current - 1 + stops.length) % stops.length; + + stops[next].focus(); + }; + + document.addEventListener('keydown', onKeyDown); + + return () => document.removeEventListener('keydown', onKeyDown); + }, [effectiveExpanded, onDismissCallback]); + const flexAlign: 'flex-start' | 'center' | 'flex-end' = alignment === 'start' ? 'flex-start' @@ -579,19 +807,57 @@ const Menu = ({ const triggerSlotSize = Tokens.sizes[size].container; + const paddingBottom = insets.bottom + 16; + // Space left above the trigger. The scroll inset is added back because the + // scroll view reserves room for the shadow and focus ring of every item. + const itemsMaxHeight = + containerHeight === undefined + ? undefined + : Math.max( + 0, + containerHeight - + insets.top - + paddingBottom - + triggerSlotSize - + MenuTokens.spacing.closeToLastItem + ) + + ITEMS_SCROLL_INSET * 2; + + // Only the items take touches, so taps next to them in the scroll view's + // margin reach the dismiss layer. When collapsed, nothing does. Android + // doesn't scroll with `box-none`. + const itemsPointerEvents = !effectiveExpanded + ? styles.pointerEventsNone + : Platform.OS === 'android' + ? null + : styles.pointerEventsBoxNone; + return ( setContainerHeight(e.nativeEvent.layout.height)} + onAccessibilityEscape={effectiveExpanded ? onDismiss : undefined} testID={testID} > + {effectiveExpanded ? ( + + ) : null} - {items.map((item, index) => { - const isLast = index === items.length - 1; - return ( - - + {items.map((item, index) => { + const isLast = index === items.length - 1; + return ( + - - ); - })} + transformOrigin={itemTransformOrigin} + marginBottom={isLast ? 0 : MenuTokens.spacing.betweenItems} + > + + + ); + })} + ; + /** + * Ref to the pressable inside the shell, the element that receives focus. + */ + buttonRef?: React.Ref; }; /** @@ -202,6 +210,7 @@ const Shell = ({ 'aria-selected': ariaSelected, 'aria-busy': ariaBusy, 'aria-expanded': ariaExpanded, + 'aria-haspopup': ariaHasPopup, labelMaxFontSizeMultiplier, labelAnimatedStyle, background, @@ -215,6 +224,7 @@ const Shell = ({ testID, theme: themeOverrides, ref, + buttonRef, }: ShellProps) => { const theme = useInternalTheme(themeOverrides); @@ -324,6 +334,7 @@ const Shell = ({ {overlay} { + if (!node) { + return; + } + + if (Platform.OS === 'web') { + focusFirstDOMNode(node, options); + return; + } + + const handle = findNodeHandle(node); + + if (handle != null) { + AccessibilityInfo.setAccessibilityFocus(handle); + } +}; diff --git a/src/components/FAB/tokens.ts b/src/components/FAB/tokens.ts index 0fb79d1d9c..5fc0c87b75 100644 --- a/src/components/FAB/tokens.ts +++ b/src/components/FAB/tokens.ts @@ -100,6 +100,8 @@ const closeButton = { shape: 'full', } as const; +export type Interaction = keyof typeof stateElevation; + const listItem = { height: 56, shape: 'full', @@ -107,7 +109,13 @@ const listItem = { leading: 24, trailing: 24, iconLabelGap: 8, -} as const; + labelTypescale: 'titleMedium', + // Items are tonal, so they sit flat and lift on hover like tonal buttons. + elevation: { enabled: 0, hover: 1, focus: 0, pressed: 0 }, +} as const satisfies { + labelTypescale: TypescaleKey; + elevation: Record; +}; const spacing = { betweenItems: 4, @@ -120,6 +128,14 @@ export const MenuTokens = { spacing, }; +const stateOpacity = tokens.md.sys.state.opacity; +export const STATE_LAYER_OPACITY = { + enabled: 0, + hover: stateOpacity.hovered, + focus: stateOpacity.focused, + pressed: stateOpacity.pressed, +} as const satisfies Record; + const focusIndicator = tokens.md.sys.state.focusIndicator; export const FOCUS_RING_THICKNESS = focusIndicator.thickness; export const FOCUS_RING_OUTER_OFFSET = focusIndicator.outerOffset; @@ -127,3 +143,5 @@ export const FOCUS_RING_INSET = FOCUS_RING_OUTER_OFFSET + FOCUS_RING_THICKNESS; // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion export const webNoOutline = { outline: 'none' } as unknown as ViewStyle; + +export const webNoHoverTint: ViewStyle = { backgroundColor: 'transparent' }; diff --git a/src/components/Menu/Menu.tsx b/src/components/Menu/Menu.tsx index 8482a148ca..a93dea1027 100644 --- a/src/components/Menu/Menu.tsx +++ b/src/components/Menu/Menu.tsx @@ -35,6 +35,7 @@ import { useInternalTheme } from '../../core/theming'; import type { Elevation, ThemeProp } from '../../theme/types'; import { addEventListener } from '../../utils/addEventListener'; import { BackHandler } from '../../utils/BackHandler/BackHandler'; +import { focusFirstDOMNode } from '../../utils/focusFirstDOMNode'; import Portal from '../Portal/Portal'; import Surface from '../Surface'; import type { SurfaceStyle } from '../Surface'; @@ -122,20 +123,6 @@ const getKeyboardHeight = (fallback: number) => const DEFAULT_ELEVATION: Elevation = 2; const DEFAULT_MODE = 'elevated'; -const focusFirstDOMNode = (el: View | null | undefined) => { - if (el && Platform.OS === 'web') { - // When in the browser, we want to focus the first focusable item on toggle - // For example, when menu is shown, focus the first item in the menu - // And when menu is dismissed, send focus back to the button to resume tabbing - if (el instanceof HTMLElement) { - el.querySelector( - // This is a rough list of selectors that can be focused - 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])' - )?.focus(); - } - } -}; - const isCoordinate = (anchor: any): anchor is { x: number; y: number } => !React.isValidElement(anchor) && typeof anchor?.x === 'number' && diff --git a/src/components/Modal.tsx b/src/components/Modal.tsx index 9e1ab8a821..4dd940d51a 100644 --- a/src/components/Modal.tsx +++ b/src/components/Modal.tsx @@ -15,8 +15,7 @@ import type { Props as SurfaceProps, SurfaceStyle } from './Surface'; import { useInternalTheme } from '../core/theming'; import { tokens } from '../theme/tokens'; import type { Elevation, ThemeProp } from '../theme/types'; -import { addEventListener } from '../utils/addEventListener'; -import { BackHandler } from '../utils/BackHandler/BackHandler'; +import { useHardwareBackPress } from '../utils/useHardwareBackPress'; const scrimAlpha = tokens.md.sys.scrim.alpha; @@ -186,27 +185,13 @@ function Modal({ return () => clearTimeout(timeout); }, [scale, visible, visibleInternal]); - React.useEffect(() => { - if (!visible) { - return undefined; + useHardwareBackPress(visible, () => { + if (dismissableBackButton) { + onDismissCallback(); } - const onHardwareBackPress = () => { - if (dismissableBackButton) { - onDismissCallback(); - } - - return true; - }; - - const subscription = addEventListener( - BackHandler, - 'hardwareBackPress', - onHardwareBackPress - ); - - return () => subscription.remove(); - }, [dismissableBackButton, onDismissCallback, visible]); + return true; + }); const transitionTimingFunction = cubicBezier(1 / 3, 1, 2 / 3, 1); diff --git a/src/components/__tests__/FABMenu.test.tsx b/src/components/__tests__/FABMenu.test.tsx index 0e03ff6823..2d0999d7da 100644 --- a/src/components/__tests__/FABMenu.test.tsx +++ b/src/components/__tests__/FABMenu.test.tsx @@ -1,10 +1,32 @@ -import { expect, it, jest } from '@jest/globals'; -import { fireEvent, userEvent } from '@testing-library/react-native'; +import ReactNative from 'react-native'; +import { + AccessibilityInfo, + BackHandler as RNBackHandler, + Platform, +} from 'react-native'; +import type { BackHandlerStatic as RNBackHandlerStatic } from 'react-native'; + +import { + afterEach, + beforeEach, + describe, + expect, + it, + jest, +} from '@jest/globals'; +import { act, fireEvent, userEvent } from '@testing-library/react-native'; import { render, screen } from '../../test-utils'; import FAB from '../FAB'; import type { MenuItemProps } from '../FAB/Menu'; +interface BackHandlerStatic extends RNBackHandlerStatic { + mockPressBack(): void; +} + +// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion +const BackHandler = RNBackHandler as BackHandlerStatic; + const makeItems = ( onItemPress = jest.fn<(event?: unknown) => void>() ): [MenuItemProps, MenuItemProps] => [ @@ -192,3 +214,277 @@ it('calls onDismiss when trigger is pressed while menu is open', async () => { await userEvent.press(screen.getByTestId('fab-shell')); expect(onDismiss).toHaveBeenCalledTimes(1); }); + +it('exposes the expanded state on the trigger', async () => { + const { rerender } = await render( + + ); + expect(screen.getByTestId('fab-shell')).toBeCollapsed(); + + await rerender( + + ); + expect(screen.getByTestId('fab-shell')).toBeExpanded(); +}); + +it('renders item labels with the title medium typescale', async () => { + await render( + + ); + expect(screen.getByText('Send email')).toHaveStyle({ fontSize: 16 }); +}); + +it('hides collapsed items from assistive technology and exposes expanded ones', async () => { + const { rerender } = await render( + + ); + expect(screen.queryByRole('button', { name: 'Send email' })).toBeNull(); + + await rerender( + + ); + expect(screen.getByRole('button', { name: 'Send email' })).toBeOnTheScreen(); +}); + +describe('screen reader focus', () => { + const renderMenu = (expanded: boolean, onItemPress = jest.fn()) => ( + + ); + + beforeEach(() => { + // The test renderer has no native views to resolve a handle for. + jest.spyOn(ReactNative, 'findNodeHandle').mockReturnValue(1); + }); + + afterEach(() => { + jest.restoreAllMocks(); + }); + + it('moves to the first item when the menu opens and back to the trigger when it closes', async () => { + const setFocus = jest.spyOn(AccessibilityInfo, 'setAccessibilityFocus'); + const { rerender } = await render(renderMenu(false)); + expect(setFocus).not.toHaveBeenCalled(); + + await rerender(renderMenu(true)); + expect(setFocus).toHaveBeenCalledTimes(1); + + await rerender(renderMenu(false)); + expect(setFocus).toHaveBeenCalledTimes(2); + }); + + it('stays where the action put it when an item closes the menu', async () => { + const setFocus = jest.spyOn(AccessibilityInfo, 'setAccessibilityFocus'); + const { rerender } = await render(renderMenu(true)); + setFocus.mockClear(); + + await userEvent.press(screen.getByTestId('item-0')); + await rerender(renderMenu(false)); + + expect(setFocus).not.toHaveBeenCalled(); + }); +}); + +describe('dismissal', () => { + it('dismisses when the hardware back button is pressed', async () => { + const onDismiss = jest.fn(); + await render( + + ); + + await act(() => BackHandler.mockPressBack()); + + expect(onDismiss).toHaveBeenCalledTimes(1); + }); + + it('ignores the hardware back button when collapsed', async () => { + const onDismiss = jest.fn(); + await render( + + ); + + await act(() => BackHandler.mockPressBack()); + + expect(onDismiss).not.toHaveBeenCalled(); + }); + + it('dismisses when pressing outside the menu', async () => { + const onDismiss = jest.fn(); + await render( + + ); + + await userEvent.press( + screen.getByTestId('overlay', { includeHiddenElements: true }) + ); + + expect(onDismiss).toHaveBeenCalledTimes(1); + }); + + it('has no outside press target when collapsed', async () => { + await render( + + ); + + expect( + screen.queryByTestId('overlay', { includeHiddenElements: true }) + ).toBeNull(); + }); + + it('dismisses on the screen reader escape gesture', async () => { + const onDismiss = jest.fn(); + await render( + + ); + + await fireEvent(screen.getByTestId('menu'), 'accessibilityEscape'); + + expect(onDismiss).toHaveBeenCalledTimes(1); + }); + + describe('on web', () => { + type KeyHandler = (event: { + key: string; + defaultPrevented?: boolean; + }) => void; + + const handlers = new Set(); + + // The test environment has no DOM, so provide just enough of `document` + // to capture the key listener. + const mockDocument = () => { + jest.replaceProperty(Platform, 'OS', 'web'); + Object.assign(globalThis, { + document: { + activeElement: null, + body: {}, + addEventListener: (_type: string, handler: KeyHandler) => + handlers.add(handler), + removeEventListener: (_type: string, handler: KeyHandler) => + handlers.delete(handler), + }, + }); + }; + + const pressKey = (key: string, defaultPrevented = false) => + act(() => { + handlers.forEach((handler) => handler({ key, defaultPrevented })); + }); + + afterEach(async () => { + // Unmount while `document` still exists so effects can clean up. + await screen.unmount(); + jest.restoreAllMocks(); + handlers.clear(); + Reflect.deleteProperty(globalThis, 'document'); + }); + + it('dismisses when Escape is pressed', async () => { + mockDocument(); + const onDismiss = jest.fn(); + await render( + + ); + + await pressKey('Escape'); + + expect(onDismiss).toHaveBeenCalledTimes(1); + }); + + it('ignores Escape that was already handled', async () => { + mockDocument(); + const onDismiss = jest.fn(); + await render( + + ); + + await pressKey('Escape', true); + + expect(onDismiss).not.toHaveBeenCalled(); + }); + + it('ignores Escape when collapsed', async () => { + mockDocument(); + const onDismiss = jest.fn(); + await render( + + ); + + await pressKey('Escape'); + + expect(onDismiss).not.toHaveBeenCalled(); + }); + }); +}); diff --git a/src/components/__tests__/__snapshots__/FABMenu.test.tsx.snap b/src/components/__tests__/__snapshots__/FABMenu.test.tsx.snap index 8b66657112..3a079f3b7b 100644 --- a/src/components/__tests__/__snapshots__/FABMenu.test.tsx.snap +++ b/src/components/__tests__/__snapshots__/FABMenu.test.tsx.snap @@ -2,6 +2,7 @@ exports[`renders FAB.Menu closed 1`] = ` - - + + - + - Send email - + + + + Send email + + + + + - - - - - + - + - Set reminder - + + + + Set reminder + + + + + - - + @@ -579,6 +828,7 @@ exports[`renders FAB.Menu closed 1`] = ` { "opacity": 0, }, + {}, ] } /> @@ -588,7 +838,7 @@ exports[`renders FAB.Menu closed 1`] = ` "busy": undefined, "checked": undefined, "disabled": true, - "expanded": undefined, + "expanded": false, "selected": undefined, } } @@ -601,6 +851,7 @@ exports[`renders FAB.Menu closed 1`] = ` } } accessible={true} + aria-haspopup="menu" collapsable={false} focusable={true} onBlur={[Function]} @@ -648,7 +899,6 @@ exports[`renders FAB.Menu closed 1`] = ` "top": 0, }, { - "opacity": 1, "transform": [ { "translateX": 16, @@ -661,48 +911,59 @@ exports[`renders FAB.Menu closed 1`] = ` ] } > - - plus - - - + plus + + + + - - close - + + close + + @@ -779,6 +1052,7 @@ exports[`renders FAB.Menu closed 1`] = ` exports[`renders FAB.Menu not expanded when trigger is not visible 1`] = ` - - + + - + - Send email - + + + + Send email + + + + + - - - - - + - + - Set reminder - + + + + Set reminder + + + + - - - + + + - + @@ -1356,6 +1878,7 @@ exports[`renders FAB.Menu not expanded when trigger is not visible 1`] = ` { "opacity": 0, }, + {}, ] } /> @@ -1365,7 +1888,7 @@ exports[`renders FAB.Menu not expanded when trigger is not visible 1`] = ` "busy": undefined, "checked": undefined, "disabled": true, - "expanded": undefined, + "expanded": false, "selected": undefined, } } @@ -1378,6 +1901,7 @@ exports[`renders FAB.Menu not expanded when trigger is not visible 1`] = ` } } accessible={true} + aria-haspopup="menu" collapsable={false} focusable={true} onBlur={[Function]} @@ -1425,7 +1949,6 @@ exports[`renders FAB.Menu not expanded when trigger is not visible 1`] = ` "top": 0, }, { - "opacity": 1, "transform": [ { "translateX": 16, @@ -1438,35 +1961,47 @@ exports[`renders FAB.Menu not expanded when trigger is not visible 1`] = ` ] } > - - plus - + + plus + + - - close - + + close + + @@ -1556,6 +2102,8 @@ exports[`renders FAB.Menu not expanded when trigger is not visible 1`] = ` exports[`renders FAB.Menu open 1`] = ` + - - + + - + - Send email - + + + + Send email + + + + + - - - - - - + + - + - Set reminder - + + + + Set reminder + + + + + - - + @@ -2133,6 +2970,7 @@ exports[`renders FAB.Menu open 1`] = ` { "opacity": 1, }, + {}, ] } /> @@ -2142,7 +2980,7 @@ exports[`renders FAB.Menu open 1`] = ` "busy": undefined, "checked": undefined, "disabled": false, - "expanded": undefined, + "expanded": true, "selected": undefined, } } @@ -2155,6 +2993,7 @@ exports[`renders FAB.Menu open 1`] = ` } } accessible={true} + aria-haspopup="menu" collapsable={false} focusable={true} onBlur={[Function]} @@ -2202,7 +3041,6 @@ exports[`renders FAB.Menu open 1`] = ` "top": 0, }, { - "opacity": 0, "transform": [ { "translateX": 16, @@ -2215,35 +3053,47 @@ exports[`renders FAB.Menu open 1`] = ` ] } > - - plus - + + plus + + - - close - + + close + + @@ -2333,6 +3194,8 @@ exports[`renders FAB.Menu open 1`] = ` exports[`renders FAB.Menu with 6 items 1`] = ` + - - + + - + - Item 1 - + + + + Item 1 + + + + + - - - - - + - + - Item 2 - + + + + Item 2 + + + + + - - - - - + - + - Item 3 - + + + + Item 3 + + + + + - - - - - + - + - Item 4 - + + + + Item 4 + + + + + - - - - - + - + - Item 5 - + + + + Item 5 + + + + + - - - - - + - + - Item 6 - + + + + Item 6 + + + + + - - + @@ -3614,6 +5194,7 @@ exports[`renders FAB.Menu with 6 items 1`] = ` { "opacity": 1, }, + {}, ] } /> @@ -3623,7 +5204,7 @@ exports[`renders FAB.Menu with 6 items 1`] = ` "busy": undefined, "checked": undefined, "disabled": false, - "expanded": undefined, + "expanded": true, "selected": undefined, } } @@ -3636,6 +5217,7 @@ exports[`renders FAB.Menu with 6 items 1`] = ` } } accessible={true} + aria-haspopup="menu" collapsable={false} focusable={true} onBlur={[Function]} @@ -3683,7 +5265,6 @@ exports[`renders FAB.Menu with 6 items 1`] = ` "top": 0, }, { - "opacity": 0, "transform": [ { "translateX": 16, @@ -3696,35 +5277,47 @@ exports[`renders FAB.Menu with 6 items 1`] = ` ] } > - - plus - + + plus + + - - close - + + close + + @@ -3814,6 +5418,8 @@ exports[`renders FAB.Menu with 6 items 1`] = ` exports[`renders FAB.Menu with center alignment 1`] = ` + - - + + - + - Send email - - - - - - - - - - + + + + Send email + + + + + + + + + + - + - Set reminder - + + + + Set reminder + + + + + - - + @@ -4392,6 +6287,7 @@ exports[`renders FAB.Menu with center alignment 1`] = ` { "opacity": 1, }, + {}, ] } /> @@ -4401,7 +6297,7 @@ exports[`renders FAB.Menu with center alignment 1`] = ` "busy": undefined, "checked": undefined, "disabled": false, - "expanded": undefined, + "expanded": true, "selected": undefined, } } @@ -4414,6 +6310,7 @@ exports[`renders FAB.Menu with center alignment 1`] = ` } } accessible={true} + aria-haspopup="menu" collapsable={false} focusable={true} onBlur={[Function]} @@ -4461,7 +6358,6 @@ exports[`renders FAB.Menu with center alignment 1`] = ` "top": 0, }, { - "opacity": 0, "transform": [ { "translateX": 16, @@ -4474,35 +6370,47 @@ exports[`renders FAB.Menu with center alignment 1`] = ` ] } > - - plus - + + plus + + - - close - + + close + + @@ -4592,6 +6511,8 @@ exports[`renders FAB.Menu with center alignment 1`] = ` exports[`renders FAB.Menu with items having icons 1`] = ` + - - + - - email - + /> - + - Send email - + + + email + + + + Send email + + + + + - - - - - - - bell - + /> - + - Set reminder - + + + bell + + + + Set reminder + + + + + - - + @@ -5229,6 +7439,7 @@ exports[`renders FAB.Menu with items having icons 1`] = ` { "opacity": 1, }, + {}, ] } /> @@ -5238,7 +7449,7 @@ exports[`renders FAB.Menu with items having icons 1`] = ` "busy": undefined, "checked": undefined, "disabled": false, - "expanded": undefined, + "expanded": true, "selected": undefined, } } @@ -5251,6 +7462,7 @@ exports[`renders FAB.Menu with items having icons 1`] = ` } } accessible={true} + aria-haspopup="menu" collapsable={false} focusable={true} onBlur={[Function]} @@ -5298,7 +7510,6 @@ exports[`renders FAB.Menu with items having icons 1`] = ` "top": 0, }, { - "opacity": 0, "transform": [ { "translateX": 16, @@ -5311,35 +7522,47 @@ exports[`renders FAB.Menu with items having icons 1`] = ` ] } > - - plus - + + plus + + - - close - + + close + + @@ -5429,6 +7663,8 @@ exports[`renders FAB.Menu with items having icons 1`] = ` exports[`renders FAB.Menu with start alignment 1`] = ` + - - + + - + - Send email - + + + + Send email + + + + + - - - - - + - + - Set reminder - + + + + Set reminder + + + + + - - + @@ -6006,6 +8531,7 @@ exports[`renders FAB.Menu with start alignment 1`] = ` { "opacity": 1, }, + {}, ] } /> @@ -6015,7 +8541,7 @@ exports[`renders FAB.Menu with start alignment 1`] = ` "busy": undefined, "checked": undefined, "disabled": false, - "expanded": undefined, + "expanded": true, "selected": undefined, } } @@ -6028,6 +8554,7 @@ exports[`renders FAB.Menu with start alignment 1`] = ` } } accessible={true} + aria-haspopup="menu" collapsable={false} focusable={true} onBlur={[Function]} @@ -6075,7 +8602,6 @@ exports[`renders FAB.Menu with start alignment 1`] = ` "top": 0, }, { - "opacity": 0, "transform": [ { "translateX": 16, @@ -6088,35 +8614,47 @@ exports[`renders FAB.Menu with start alignment 1`] = ` ] } > - - plus - + + plus + + - - close - + + close + + diff --git a/src/utils/focusFirstDOMNode.ts b/src/utils/focusFirstDOMNode.ts new file mode 100644 index 0000000000..c08611da28 --- /dev/null +++ b/src/utils/focusFirstDOMNode.ts @@ -0,0 +1,36 @@ +import { Platform } from 'react-native'; +import type { View } from 'react-native'; + +// This is a rough list of selectors that can be focused. +const FOCUSABLE_SELECTOR = + 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'; + +/** + * Resolves the DOM element that can receive keyboard focus for a ref: its first + * focusable descendant, or the node itself when it is the focusable element. + * Web only; returns `null` on native. + */ +export const getFocusableElement = ( + el: View | null | undefined +): HTMLElement | null => { + if (Platform.OS !== 'web' || !(el instanceof HTMLElement)) { + return null; + } + + return ( + el.querySelector(FOCUSABLE_SELECTOR) ?? + (el.matches(FOCUSABLE_SELECTOR) ? el : null) + ); +}; + +/** + * When in the browser, focuses the first focusable element in the node. For + * example, when a menu is shown, focus the first item in the menu, and when it + * is dismissed, send focus back to the button to resume tabbing. + */ +export const focusFirstDOMNode = ( + el: View | null | undefined, + options?: FocusOptions +) => { + getFocusableElement(el)?.focus(options); +}; diff --git a/src/utils/useHardwareBackPress.ts b/src/utils/useHardwareBackPress.ts new file mode 100644 index 0000000000..56f6eaff58 --- /dev/null +++ b/src/utils/useHardwareBackPress.ts @@ -0,0 +1,31 @@ +import * as React from 'react'; + +import useLatestCallback from 'use-latest-callback'; + +import { addEventListener } from './addEventListener'; +import { BackHandler } from './BackHandler/BackHandler'; + +/** + * Handles the hardware back button (Android) while `enabled`. The handler + * returns `true` when the press was handled, which stops the default behavior. + */ +export const useHardwareBackPress = ( + enabled: boolean, + handler: () => boolean +) => { + const handlerCallback = useLatestCallback(handler); + + React.useEffect(() => { + if (!enabled) { + return undefined; + } + + const subscription = addEventListener( + BackHandler, + 'hardwareBackPress', + handlerCallback + ); + + return () => subscription.remove(); + }, [enabled, handlerCallback]); +}; From 14b6552b6888dc176c95153d2cf9b331ac3ef339 Mon Sep 17 00:00:00 2001 From: Nikolay Arefyev Date: Thu, 5 Nov 2026 17:01:56 +0200 Subject: [PATCH 2/4] feat: fix failed ts --- src/components/FAB/tokens.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/components/FAB/tokens.ts b/src/components/FAB/tokens.ts index 5fc0c87b75..ba3cfd7c44 100644 --- a/src/components/FAB/tokens.ts +++ b/src/components/FAB/tokens.ts @@ -109,13 +109,15 @@ const listItem = { leading: 24, trailing: 24, iconLabelGap: 8, - labelTypescale: 'titleMedium', + labelTypescale: 'titleMedium' satisfies TypescaleKey, // Items are tonal, so they sit flat and lift on hover like tonal buttons. - elevation: { enabled: 0, hover: 1, focus: 0, pressed: 0 }, -} as const satisfies { - labelTypescale: TypescaleKey; - elevation: Record; -}; + elevation: { + enabled: 0, + hover: 1, + focus: 0, + pressed: 0, + } as const satisfies Record, +} as const; const spacing = { betweenItems: 4, From e9db91c5e30c92ecc0bd3d71bb69ebd7d02ecff7 Mon Sep 17 00:00:00 2001 From: Nikolay Arefyev Date: Thu, 5 Nov 2026 17:31:42 +0200 Subject: [PATCH 3/4] feat: make changes according to other open prs --- docs/6.x/docs/guides/migration.md | 10 +- src/components/FAB/Menu.tsx | 101 +------- src/components/FAB/focus.ts | 35 ++- src/components/Menu/Menu.tsx | 15 +- src/components/Modal.tsx | 27 +- src/components/__tests__/FABMenu.test.tsx | 244 +----------------- .../__snapshots__/FABMenu.test.tsx.snap | 210 --------------- src/utils/focusFirstDOMNode.ts | 36 --- src/utils/useHardwareBackPress.ts | 31 --- 9 files changed, 65 insertions(+), 644 deletions(-) delete mode 100644 src/utils/focusFirstDOMNode.ts delete mode 100644 src/utils/useHardwareBackPress.ts diff --git a/docs/6.x/docs/guides/migration.md b/docs/6.x/docs/guides/migration.md index 92dc106eeb..ab3350628a 100644 --- a/docs/6.x/docs/guides/migration.md +++ b/docs/6.x/docs/guides/migration.md @@ -102,7 +102,7 @@ Some components now accept explicit `testID` props for their interactable elemen - `BottomNavigation`: `barTestID` for the internal `BottomNavigation.Bar`, replacing the previous `${testID}-bar` derivation. - `Chip`: `closeIconTestID` for the close icon button. - `Dialog` and `Modal`: `overlayTestID` for the overlay displayed behind the content. -- `FAB.Menu` and `Menu`: `overlayTestID` for the overlay displayed behind the menu. +- `Menu`: `overlayTestID` for the overlay displayed behind the menu. - `Searchbar`: `searchTestID`, `clearTestID`, and `trailingTestID` for the search, clear, and trailing icon buttons. - `Snackbar`: `iconTestID` for the icon button. @@ -285,14 +285,6 @@ The `overlayAccessibilityLabel` prop was renamed to `dismissAccessibilityLabel`: ``` -### FAB.Menu - -`onDismiss` is now also called when the user presses outside the menu, presses Escape (web), presses the hardware back button (Android) or performs the screen reader escape gesture (iOS). Before, it was only called by the close button and the items. - -An invisible layer behind the open menu receives the outside press, so the press no longer reaches the content under it. If your screen relied on pressing through the open menu, close the menu in `onDismiss` and press again. - -Focus moves to the first item when the menu opens and returns to the trigger when it closes. - ### Searchbar The misspelled `traileringIcon` props have been renamed: diff --git a/src/components/FAB/Menu.tsx b/src/components/FAB/Menu.tsx index 7f8d12fead..4c4653aa42 100644 --- a/src/components/FAB/Menu.tsx +++ b/src/components/FAB/Menu.tsx @@ -1,11 +1,5 @@ import * as React from 'react'; -import { - Platform, - Pressable, - ScrollView, - StyleSheet, - View, -} from 'react-native'; +import { Platform, ScrollView, StyleSheet, View } from 'react-native'; import type { ColorValue, GestureResponderEvent, @@ -22,10 +16,9 @@ import Animated, { } from 'react-native-reanimated'; import type { AnimatedStyle } from 'react-native-reanimated'; import { useSafeAreaInsets } from 'react-native-safe-area-context'; -import useLatestCallback from 'use-latest-callback'; import Content from './Content'; -import { focusNode } from './focus'; +import { getFocusableElement } from './focus'; import Shell from './Shell'; import { MenuTokens, @@ -44,9 +37,7 @@ import { useReduceMotion } from '../../theme/accessibility/ReduceMotionContext'; import { toRawSpring } from '../../theme/tokens/sys/motion'; import type { InternalTheme, ThemeProp } from '../../theme/types'; import { resolveCornerRadius } from '../../theme/utils/shape'; -import { getFocusableElement } from '../../utils/focusFirstDOMNode'; import { isKeyboardFocusEvent } from '../../utils/isKeyboardFocusEvent'; -import { useHardwareBackPress } from '../../utils/useHardwareBackPress'; import Icon from '../Icon'; import type { IconSource } from '../Icon'; import Surface from '../Surface'; @@ -129,11 +120,6 @@ export type MenuProps = { */ items: TwoToSix; testID?: string; - /** - * testID for the invisible layer behind the menu that dismisses it when - * pressed. - */ - overlayTestID?: string; /** * @optional */ @@ -172,8 +158,8 @@ const getItemsVariant = (triggerVariant: Variant): Variant => { const STAGGER_MS = 30; // Room the items scroll view keeps around the items, so it doesn't clip the -// focus ring and the hover shadow. Taps in this margin don't reach the -// dismiss layer on Android, so keep it small. +// focus ring and the hover shadow. Taps in this margin don't reach the content +// below on Android, so keep it small. const ITEMS_SCROLL_INSET = FOCUS_RING_INSET + 4; type AnimatedItemProps = { @@ -637,7 +623,6 @@ const Menu = ({ closeIcon = 'close', items, testID, - overlayTestID, theme: themeOverrides, }: MenuProps) => { const theme = useInternalTheme(themeOverrides); @@ -655,17 +640,12 @@ const Menu = ({ const effectiveExpanded = triggerVisible && expanded; - const containerRef = React.useRef(null); const triggerRef = React.useRef(null); const scrollRef = React.useRef(null); const itemRefs = React.useRef<(View | null)[]>([]); - const wasExpandedRef = React.useRef(effectiveExpanded); - const closedByItemRef = React.useRef(false); const [containerHeight, setContainerHeight] = React.useState(); - const onDismissCallback = useLatestCallback(onDismiss); - const registerItemRef = React.useCallback( (index: number, node: View | null) => { itemRefs.current[index] = node; @@ -676,61 +656,19 @@ const Menu = ({ const handleItemPress = (item: MenuItemProps) => (e: GestureResponderEvent) => { item.onPress(e); - closedByItemRef.current = true; onDismiss(); }; - // Focus moves into the menu when it opens and back to the trigger when it - // closes, unless the user already moved focus somewhere else. + // A long list scrolls, so start from the first item every time it opens. React.useEffect(() => { - if (wasExpandedRef.current === effectiveExpanded) { - return; - } - wasExpandedRef.current = effectiveExpanded; - - const closedByItem = closedByItemRef.current; - closedByItemRef.current = false; - if (effectiveExpanded) { - // The first item is at the top of the list. Reset the scroll position - // from the last time instead of scrolling the page to reach the item. scrollRef.current?.scrollTo({ y: 0, animated: false }); - focusNode(itemRefs.current[0], { preventScroll: true }); - return; } + }, [effectiveExpanded]); - if (!triggerVisible) { - return; - } - - if (Platform.OS !== 'web') { - // An item usually takes the user elsewhere, so leave the screen reader - // focus where the item's action puts it. On the web this is the - // `activeElement` check below. - if (closedByItem) { - return; - } - } else { - const { activeElement, body } = document; - const container = containerRef.current; - - if ( - activeElement && - activeElement !== body && - !(container instanceof HTMLElement && container.contains(activeElement)) - ) { - return; - } - } - - focusNode(triggerRef.current); - }, [effectiveExpanded, triggerVisible]); - - useHardwareBackPress(effectiveExpanded, () => { - onDismiss(); - return true; - }); - + // Arrow keys, Home and End move focus between the items and the close + // button. Opening, closing and dismissing the menu are left to the overlay + // handling. React.useEffect(() => { if (Platform.OS !== 'web' || !effectiveExpanded) { return undefined; @@ -742,11 +680,6 @@ const Menu = ({ return; } - if (e.key === 'Escape') { - onDismissCallback(); - return; - } - if ( !['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(e.key) || e.altKey || @@ -786,7 +719,7 @@ const Menu = ({ document.addEventListener('keydown', onKeyDown); return () => document.removeEventListener('keydown', onKeyDown); - }, [effectiveExpanded, onDismissCallback]); + }, [effectiveExpanded]); const flexAlign: 'flex-start' | 'center' | 'flex-end' = alignment === 'start' @@ -824,7 +757,7 @@ const Menu = ({ ITEMS_SCROLL_INSET * 2; // Only the items take touches, so taps next to them in the scroll view's - // margin reach the dismiss layer. When collapsed, nothing does. Android + // margin reach the content below. When collapsed, nothing does. Android // doesn't scroll with `box-none`. const itemsPointerEvents = !effectiveExpanded ? styles.pointerEventsNone @@ -834,7 +767,6 @@ const Menu = ({ return ( setContainerHeight(e.nativeEvent.layout.height)} - onAccessibilityEscape={effectiveExpanded ? onDismiss : undefined} testID={testID} > - {effectiveExpanded ? ( - - ) : null} { - if (!node) { - return; +export const getFocusableElement = ( + el: View | null | undefined +): HTMLElement | null => { + if (Platform.OS !== 'web' || !(el instanceof HTMLElement)) { + return null; } - if (Platform.OS === 'web') { - focusFirstDOMNode(node, options); - return; - } - - const handle = findNodeHandle(node); - - if (handle != null) { - AccessibilityInfo.setAccessibilityFocus(handle); - } + return ( + el.querySelector(FOCUSABLE_SELECTOR) ?? + (el.matches(FOCUSABLE_SELECTOR) ? el : null) + ); }; diff --git a/src/components/Menu/Menu.tsx b/src/components/Menu/Menu.tsx index a93dea1027..8482a148ca 100644 --- a/src/components/Menu/Menu.tsx +++ b/src/components/Menu/Menu.tsx @@ -35,7 +35,6 @@ import { useInternalTheme } from '../../core/theming'; import type { Elevation, ThemeProp } from '../../theme/types'; import { addEventListener } from '../../utils/addEventListener'; import { BackHandler } from '../../utils/BackHandler/BackHandler'; -import { focusFirstDOMNode } from '../../utils/focusFirstDOMNode'; import Portal from '../Portal/Portal'; import Surface from '../Surface'; import type { SurfaceStyle } from '../Surface'; @@ -123,6 +122,20 @@ const getKeyboardHeight = (fallback: number) => const DEFAULT_ELEVATION: Elevation = 2; const DEFAULT_MODE = 'elevated'; +const focusFirstDOMNode = (el: View | null | undefined) => { + if (el && Platform.OS === 'web') { + // When in the browser, we want to focus the first focusable item on toggle + // For example, when menu is shown, focus the first item in the menu + // And when menu is dismissed, send focus back to the button to resume tabbing + if (el instanceof HTMLElement) { + el.querySelector( + // This is a rough list of selectors that can be focused + 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])' + )?.focus(); + } + } +}; + const isCoordinate = (anchor: any): anchor is { x: number; y: number } => !React.isValidElement(anchor) && typeof anchor?.x === 'number' && diff --git a/src/components/Modal.tsx b/src/components/Modal.tsx index 4dd940d51a..9e1ab8a821 100644 --- a/src/components/Modal.tsx +++ b/src/components/Modal.tsx @@ -15,7 +15,8 @@ import type { Props as SurfaceProps, SurfaceStyle } from './Surface'; import { useInternalTheme } from '../core/theming'; import { tokens } from '../theme/tokens'; import type { Elevation, ThemeProp } from '../theme/types'; -import { useHardwareBackPress } from '../utils/useHardwareBackPress'; +import { addEventListener } from '../utils/addEventListener'; +import { BackHandler } from '../utils/BackHandler/BackHandler'; const scrimAlpha = tokens.md.sys.scrim.alpha; @@ -185,13 +186,27 @@ function Modal({ return () => clearTimeout(timeout); }, [scale, visible, visibleInternal]); - useHardwareBackPress(visible, () => { - if (dismissableBackButton) { - onDismissCallback(); + React.useEffect(() => { + if (!visible) { + return undefined; } - return true; - }); + const onHardwareBackPress = () => { + if (dismissableBackButton) { + onDismissCallback(); + } + + return true; + }; + + const subscription = addEventListener( + BackHandler, + 'hardwareBackPress', + onHardwareBackPress + ); + + return () => subscription.remove(); + }, [dismissableBackButton, onDismissCallback, visible]); const transitionTimingFunction = cubicBezier(1 / 3, 1, 2 / 3, 1); diff --git a/src/components/__tests__/FABMenu.test.tsx b/src/components/__tests__/FABMenu.test.tsx index 2d0999d7da..05013fa4a6 100644 --- a/src/components/__tests__/FABMenu.test.tsx +++ b/src/components/__tests__/FABMenu.test.tsx @@ -1,32 +1,10 @@ -import ReactNative from 'react-native'; -import { - AccessibilityInfo, - BackHandler as RNBackHandler, - Platform, -} from 'react-native'; -import type { BackHandlerStatic as RNBackHandlerStatic } from 'react-native'; - -import { - afterEach, - beforeEach, - describe, - expect, - it, - jest, -} from '@jest/globals'; -import { act, fireEvent, userEvent } from '@testing-library/react-native'; +import { expect, it, jest } from '@jest/globals'; +import { fireEvent, userEvent } from '@testing-library/react-native'; import { render, screen } from '../../test-utils'; import FAB from '../FAB'; import type { MenuItemProps } from '../FAB/Menu'; -interface BackHandlerStatic extends RNBackHandlerStatic { - mockPressBack(): void; -} - -// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -const BackHandler = RNBackHandler as BackHandlerStatic; - const makeItems = ( onItemPress = jest.fn<(event?: unknown) => void>() ): [MenuItemProps, MenuItemProps] => [ @@ -270,221 +248,3 @@ it('hides collapsed items from assistive technology and exposes expanded ones', ); expect(screen.getByRole('button', { name: 'Send email' })).toBeOnTheScreen(); }); - -describe('screen reader focus', () => { - const renderMenu = (expanded: boolean, onItemPress = jest.fn()) => ( - - ); - - beforeEach(() => { - // The test renderer has no native views to resolve a handle for. - jest.spyOn(ReactNative, 'findNodeHandle').mockReturnValue(1); - }); - - afterEach(() => { - jest.restoreAllMocks(); - }); - - it('moves to the first item when the menu opens and back to the trigger when it closes', async () => { - const setFocus = jest.spyOn(AccessibilityInfo, 'setAccessibilityFocus'); - const { rerender } = await render(renderMenu(false)); - expect(setFocus).not.toHaveBeenCalled(); - - await rerender(renderMenu(true)); - expect(setFocus).toHaveBeenCalledTimes(1); - - await rerender(renderMenu(false)); - expect(setFocus).toHaveBeenCalledTimes(2); - }); - - it('stays where the action put it when an item closes the menu', async () => { - const setFocus = jest.spyOn(AccessibilityInfo, 'setAccessibilityFocus'); - const { rerender } = await render(renderMenu(true)); - setFocus.mockClear(); - - await userEvent.press(screen.getByTestId('item-0')); - await rerender(renderMenu(false)); - - expect(setFocus).not.toHaveBeenCalled(); - }); -}); - -describe('dismissal', () => { - it('dismisses when the hardware back button is pressed', async () => { - const onDismiss = jest.fn(); - await render( - - ); - - await act(() => BackHandler.mockPressBack()); - - expect(onDismiss).toHaveBeenCalledTimes(1); - }); - - it('ignores the hardware back button when collapsed', async () => { - const onDismiss = jest.fn(); - await render( - - ); - - await act(() => BackHandler.mockPressBack()); - - expect(onDismiss).not.toHaveBeenCalled(); - }); - - it('dismisses when pressing outside the menu', async () => { - const onDismiss = jest.fn(); - await render( - - ); - - await userEvent.press( - screen.getByTestId('overlay', { includeHiddenElements: true }) - ); - - expect(onDismiss).toHaveBeenCalledTimes(1); - }); - - it('has no outside press target when collapsed', async () => { - await render( - - ); - - expect( - screen.queryByTestId('overlay', { includeHiddenElements: true }) - ).toBeNull(); - }); - - it('dismisses on the screen reader escape gesture', async () => { - const onDismiss = jest.fn(); - await render( - - ); - - await fireEvent(screen.getByTestId('menu'), 'accessibilityEscape'); - - expect(onDismiss).toHaveBeenCalledTimes(1); - }); - - describe('on web', () => { - type KeyHandler = (event: { - key: string; - defaultPrevented?: boolean; - }) => void; - - const handlers = new Set(); - - // The test environment has no DOM, so provide just enough of `document` - // to capture the key listener. - const mockDocument = () => { - jest.replaceProperty(Platform, 'OS', 'web'); - Object.assign(globalThis, { - document: { - activeElement: null, - body: {}, - addEventListener: (_type: string, handler: KeyHandler) => - handlers.add(handler), - removeEventListener: (_type: string, handler: KeyHandler) => - handlers.delete(handler), - }, - }); - }; - - const pressKey = (key: string, defaultPrevented = false) => - act(() => { - handlers.forEach((handler) => handler({ key, defaultPrevented })); - }); - - afterEach(async () => { - // Unmount while `document` still exists so effects can clean up. - await screen.unmount(); - jest.restoreAllMocks(); - handlers.clear(); - Reflect.deleteProperty(globalThis, 'document'); - }); - - it('dismisses when Escape is pressed', async () => { - mockDocument(); - const onDismiss = jest.fn(); - await render( - - ); - - await pressKey('Escape'); - - expect(onDismiss).toHaveBeenCalledTimes(1); - }); - - it('ignores Escape that was already handled', async () => { - mockDocument(); - const onDismiss = jest.fn(); - await render( - - ); - - await pressKey('Escape', true); - - expect(onDismiss).not.toHaveBeenCalled(); - }); - - it('ignores Escape when collapsed', async () => { - mockDocument(); - const onDismiss = jest.fn(); - await render( - - ); - - await pressKey('Escape'); - - expect(onDismiss).not.toHaveBeenCalled(); - }); - }); -}); diff --git a/src/components/__tests__/__snapshots__/FABMenu.test.tsx.snap b/src/components/__tests__/__snapshots__/FABMenu.test.tsx.snap index 3a079f3b7b..e31c8bc648 100644 --- a/src/components/__tests__/__snapshots__/FABMenu.test.tsx.snap +++ b/src/components/__tests__/__snapshots__/FABMenu.test.tsx.snap @@ -2102,7 +2102,6 @@ exports[`renders FAB.Menu not expanded when trigger is not visible 1`] = ` exports[`renders FAB.Menu open 1`] = ` - - - - - { - if (Platform.OS !== 'web' || !(el instanceof HTMLElement)) { - return null; - } - - return ( - el.querySelector(FOCUSABLE_SELECTOR) ?? - (el.matches(FOCUSABLE_SELECTOR) ? el : null) - ); -}; - -/** - * When in the browser, focuses the first focusable element in the node. For - * example, when a menu is shown, focus the first item in the menu, and when it - * is dismissed, send focus back to the button to resume tabbing. - */ -export const focusFirstDOMNode = ( - el: View | null | undefined, - options?: FocusOptions -) => { - getFocusableElement(el)?.focus(options); -}; diff --git a/src/utils/useHardwareBackPress.ts b/src/utils/useHardwareBackPress.ts deleted file mode 100644 index 56f6eaff58..0000000000 --- a/src/utils/useHardwareBackPress.ts +++ /dev/null @@ -1,31 +0,0 @@ -import * as React from 'react'; - -import useLatestCallback from 'use-latest-callback'; - -import { addEventListener } from './addEventListener'; -import { BackHandler } from './BackHandler/BackHandler'; - -/** - * Handles the hardware back button (Android) while `enabled`. The handler - * returns `true` when the press was handled, which stops the default behavior. - */ -export const useHardwareBackPress = ( - enabled: boolean, - handler: () => boolean -) => { - const handlerCallback = useLatestCallback(handler); - - React.useEffect(() => { - if (!enabled) { - return undefined; - } - - const subscription = addEventListener( - BackHandler, - 'hardwareBackPress', - handlerCallback - ); - - return () => subscription.remove(); - }, [enabled, handlerCallback]); -}; From 79bcdc513ecbbf7743302b0d1889b896cb0694d5 Mon Sep 17 00:00:00 2001 From: Nikolay Arefyev Date: Fri, 6 Nov 2026 09:32:27 +0200 Subject: [PATCH 4/4] fix: apply the remaining changes from main The previous merge of main kept the old versions of most files that changed on main. Bring the tree to main plus the FAB menu changes so the PR only shows the FAB files. Type the FAB refs with ComponentRef and ComponentRef, as main does, since View and ScrollView are no longer instance types on React Native 0.88. Co-Authored-By: Claude Sonnet 5.5 --- .github/workflows/ci.yml | 4 + docs/6.x/docs/guides/icons.mdx | 2 +- docs/6.x/docs/guides/migration.md | 24 + docs/rspress.config.ts | 13 +- docs/theme/index.tsx | 2 + docs/theme/requestAnimationFramePolyfill.ts | 7 + example/package.json | 50 +- .../Examples/BottomNavigationBarExample.tsx | 7 + package.json | 20 +- src/components/Appbar/AppbarAction.tsx | 2 +- src/components/Appbar/AppbarBackAction.tsx | 2 +- src/components/Appbar/utils.ts | 2 +- src/components/Banner.tsx | 2 +- src/components/BottomNavigation/utils.ts | 6 +- src/components/Button/Button.tsx | 4 +- src/components/Button/utils.tsx | 17 +- src/components/Card/Card.tsx | 8 +- src/components/Card/CardCover.tsx | 4 +- src/components/Card/utils.tsx | 7 +- src/components/Chip/Chip.tsx | 2 +- src/components/Chip/helpers.tsx | 9 +- src/components/Drawer/DrawerCollapsedItem.tsx | 7 +- src/components/FAB/Menu.tsx | 17 +- src/components/FAB/Shell.tsx | 2 +- src/components/FAB/focus.ts | 3 +- src/components/IconButton/IconButton.tsx | 2 +- src/components/IconButton/utils.ts | 8 +- src/components/List/ListAccordion.tsx | 7 +- src/components/List/ListItem.tsx | 9 +- src/components/List/utils.ts | 4 +- src/components/Menu/Menu.tsx | 8 +- src/components/Menu/utils.ts | 11 +- src/components/RadioButton/utils.ts | 2 +- src/components/Searchbar.tsx | 4 +- src/components/SegmentedButtons/utils.ts | 10 +- src/components/Snackbar.tsx | 2 +- src/components/TextInput/TextInput.tsx | 12 +- src/components/TextInput/hooks.ts | 7 +- src/components/TextInput/utils.ts | 8 +- src/components/Tooltip/Tooltip.tsx | 3 +- src/components/Tooltip/utils.ts | 3 +- src/components/TouchableRipple/Pressable.tsx | 2 +- .../TouchableRipple/TouchableRipple.tsx | 2 +- src/components/TouchableRipple/utils.ts | 5 +- src/components/Typography/Text.tsx | 4 +- src/components/__tests__/Dialog.test.tsx | 5 +- src/components/__tests__/FABExtended.test.tsx | 8 +- src/components/__tests__/Menu.test.tsx | 16 +- src/components/__tests__/Modal.test.tsx | 5 +- src/components/__tests__/Tooltip.test.tsx | 6 +- src/core/useSystemColorScheme.ts | 2 +- src/theme/__tests__/provider.test.ts | 43 + src/theme/provider.tsx | 5 + yarn.lock | 2615 +++++++++-------- 54 files changed, 1643 insertions(+), 1398 deletions(-) create mode 100644 docs/theme/requestAnimationFramePolyfill.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 13ba685c87..b64e092253 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,6 +36,10 @@ jobs: - name: Check types run: yarn typecheck + # React Native < 0.87 still uses its legacy types by default + - name: Check types against legacy React Native types + run: yarn tsc -p tsconfig.build.json --noEmit --customConditions react-native-paper-source,react-native-legacy-deep-imports + unit-tests: name: Unit tests strategy: diff --git a/docs/6.x/docs/guides/icons.mdx b/docs/6.x/docs/guides/icons.mdx index 6646ea8016..e871db1407 100644 --- a/docs/6.x/docs/guides/icons.mdx +++ b/docs/6.x/docs/guides/icons.mdx @@ -115,7 +115,7 @@ import AwesomeIcon from '@react-native-vector-icons/fontawesome'; ## RTL support -If you want your icon to behave properly in a RTL environment, you can pass an object to the `icon` prop with shape: `{ source: { uri: 'https://path.to' }, direction : 'rtl' }`. `source` can be any of the values that the `icon` prop accepts in [option 1](#1.-an-icon-name) and [option 2](#2.-an-image-source). For `direction` you have a few options: +If you want your icon to behave properly in a RTL environment, you can pass an object to the `icon` prop with shape: `{ source: { uri: 'https://path.to' }, direction : 'rtl' }`. `source` can be any of the values that the `icon` prop accepts in [option 1](#1-an-icon-name) and [option 2](#2-an-image-source). For `direction` you have a few options: 1. `auto` - uses the device language to determine if icon should be displayed from rtl. Uses the `I18nManager` module to get this info. 2. `rtl` - flips the icon so that it is rtl, this is regardless of the device language. diff --git a/docs/6.x/docs/guides/migration.md b/docs/6.x/docs/guides/migration.md index ab3350628a..60aaf5c924 100644 --- a/docs/6.x/docs/guides/migration.md +++ b/docs/6.x/docs/guides/migration.md @@ -106,6 +106,21 @@ Some components now accept explicit `testID` props for their interactable elemen - `Searchbar`: `searchTestID`, `clearTestID`, and `trailingTestID` for the search, clear, and trailing icon buttons. - `Snackbar`: `iconTestID` for the icon button. +### Refs + +From React Native 0.87, `View`, `Text`, and `TextInput` are function components in React Native's types, so `React.Ref` no longer refers to an instance. Component refs, such as the ones on `Button`, `Card`, `Chip`, and `Surface`, are now typed with `React.ComponentRef`. This works on older React Native versions too. + +Type your refs the same way: + +```diff +- const ref = React.useRef(null); ++ const ref = React.useRef>(null); + + ; +``` + +For `TextInput` and `Searchbar`, keep using `TextInputHandles`. It now keeps its methods, such as `focus` and `clear`, on React Native 0.87 and later. + ## Components ### Appbar @@ -504,6 +519,15 @@ We have also added a `direction` prop to the `Card` component, which lets you ar ``` +#### `Card.Cover` + +The `style` prop of `Card.Cover` is now typed as a `View` style. Image style properties such as `resizeMode` or `tintColor` were never applied, so pass them as `Image` props instead: + +```diff +- ++ +``` + #### `Card.Actions` `Card.Actions` no longer injects `mode` on the buttons. To keep the previous behavior, you need to set `mode="outlined"` on the first button and `mode="contained"` on the rest: diff --git a/docs/rspress.config.ts b/docs/rspress.config.ts index 7696c6230e..62337b3f92 100644 --- a/docs/rspress.config.ts +++ b/docs/rspress.config.ts @@ -129,15 +129,16 @@ export default withCallstackPreset( react: resolve('react'), 'react-dom': resolve('react-dom'), 'react-native$': resolve('react-native-web'), - 'react-native-web/dist/exports/StyleSheet/compiler/createReactDOMStyle': + 'react-native-web/dist/cjs/exports/StyleSheet/compiler/createReactDOMStyle.js': path.resolve( resolve('react-native-web'), - 'dist/exports/StyleSheet/compiler/createReactDOMStyle.js' + 'dist/cjs/exports/StyleSheet/compiler/createReactDOMStyle.js' + ), + 'react-native-web/dist/cjs/exports/StyleSheet/preprocess.js': + path.resolve( + resolve('react-native-web'), + 'dist/cjs/exports/StyleSheet/preprocess.js' ), - 'react-native-web/dist/exports/StyleSheet/preprocess': path.resolve( - resolve('react-native-web'), - 'dist/exports/StyleSheet/preprocess.js' - ), 'react-native-paper': paper, }, }, diff --git a/docs/theme/index.tsx b/docs/theme/index.tsx index 3cd7557c48..5250ffb15d 100644 --- a/docs/theme/index.tsx +++ b/docs/theme/index.tsx @@ -1,3 +1,5 @@ +import './requestAnimationFramePolyfill'; + import { Fragment, type ComponentProps } from 'react'; import { HomeBanner } from '@callstack/rspress-theme'; diff --git a/docs/theme/requestAnimationFramePolyfill.ts b/docs/theme/requestAnimationFramePolyfill.ts new file mode 100644 index 0000000000..1a4e381d29 --- /dev/null +++ b/docs/theme/requestAnimationFramePolyfill.ts @@ -0,0 +1,7 @@ +// react-native-worklets 0.13 calls `requestAnimationFrame` at module scope, +// which doesn't exist during SSG in Node. Remove once the upstream fallback +// (software-mansion/react-native-reanimated#10667) ships in a stable release. +if (typeof globalThis.requestAnimationFrame === 'undefined') { + globalThis.requestAnimationFrame = (callback: FrameRequestCallback) => + setTimeout(() => callback(Date.now()), 16); +} diff --git a/example/package.json b/example/package.json index 8d32e2a364..f532cb981c 100644 --- a/example/package.json +++ b/example/package.json @@ -11,36 +11,36 @@ "ios": "EXPO_NO_TYPESCRIPT_SETUP=1 expo run:ios" }, "dependencies": { - "@expo/metro-config": "~56.0.0", + "@expo/metro-config": "~58.0.21", "@react-native-async-storage/async-storage": "2.2.0", "@react-native-masked-view/masked-view": "0.3.2", - "@react-navigation/bottom-tabs": "^8.0.0-alpha.33", - "@react-navigation/drawer": "^8.0.0-alpha.34", - "@react-navigation/elements": "3.0.0-alpha.31", - "@react-navigation/native": "^8.0.0-alpha.28", - "@react-navigation/native-stack": "^8.0.0-alpha.34", - "expo": "~56.0.0", - "expo-constants": "~56.0.18", - "expo-crypto": "~56.0.3", - "expo-dev-client": "~56.0.13", - "expo-font": "~56.0.5", - "expo-keep-awake": "~56.0.3", - "expo-splash-screen": "~56.0.9", - "expo-status-bar": "~56.0.4", - "expo-updates": "~56.0.14", - "react": "19.2.3", - "react-dom": "19.2.3", - "react-native": "0.85.3", - "react-native-gesture-handler": "~2.31.1", - "react-native-reanimated": "4.3.1", - "react-native-safe-area-context": "~5.7.0", - "react-native-screens": "4.25.1", - "react-native-web": "^0.21.0", - "react-native-worklets": "0.8.3" + "@react-navigation/bottom-tabs": "^8.0.0-alpha.57", + "@react-navigation/drawer": "^8.0.0-alpha.58", + "@react-navigation/elements": "3.0.0-alpha.55", + "@react-navigation/native": "^8.0.0-alpha.51", + "@react-navigation/native-stack": "^8.0.0-alpha.59", + "expo": "~58.0.23", + "expo-constants": "~58.0.15", + "expo-crypto": "~58.0.7", + "expo-dev-client": "~58.0.18", + "expo-font": "~58.0.11", + "expo-keep-awake": "~58.0.3", + "expo-splash-screen": "~58.0.13", + "expo-status-bar": "~58.0.4", + "expo-updates": "~58.0.21", + "react": "19.3.0", + "react-dom": "19.3.0", + "react-native": "0.88.1", + "react-native-gesture-handler": "~3.3.0", + "react-native-reanimated": "4.7.1", + "react-native-safe-area-context": "~5.11.1", + "react-native-screens": "~4.30.1", + "react-native-web": "~0.21.4", + "react-native-worklets": "0.13.0" }, "devDependencies": { "@babel/core": "^7.29.0", - "babel-preset-expo": "~56.0.0", + "babel-preset-expo": "~58.0.24", "react-native-builder-bob": "^0.42.1", "react-native-monorepo-config": "^0.4.0" }, diff --git a/example/src/Examples/BottomNavigationBarExample.tsx b/example/src/Examples/BottomNavigationBarExample.tsx index 9fbddf7f23..fa73112c86 100644 --- a/example/src/Examples/BottomNavigationBarExample.tsx +++ b/example/src/Examples/BottomNavigationBarExample.tsx @@ -37,10 +37,17 @@ const BottomNavigationBarExample = createBottomTabNavigator({ { + const isRepeatedPress = state.routes[state.index].key === route.key; const event = navigation.emit({ type: 'tabPress', target: route.key, canPreventDefault: true, + data: { + behavior: { + scrollToTop: isRepeatedPress, + popToTop: isRepeatedPress, + }, + }, }); if (event.defaultPrevented) { diff --git a/package.json b/package.json index 1e095a3829..0359971afb 100644 --- a/package.json +++ b/package.json @@ -63,14 +63,15 @@ "@eslint/js": "9.39.4", "@jest/globals": "^29.7.0", "@react-native-vector-icons/material-design-icons": "^12.0.0", - "@react-native/babel-preset": "^0.85.3", - "@react-native/jest-preset": "^0.85.3", - "@react-navigation/native": "^8.0.0-alpha.28", + "@react-native/assets-registry": "^0.88.1", + "@react-native/babel-preset": "^0.88.1", + "@react-native/jest-preset": "^0.88.1", + "@react-navigation/native": "^8.0.0-alpha.51", "@release-it/conventional-changelog": "^1.1.0", "@testing-library/react-native": "^14.0.0", "@types/color": "^3.0.0", "@types/node": "^24.0.0", - "@types/react": "^19.2.7", + "@types/react": "^19.3.0", "all-contributors-cli": "^6.24.0", "babel-jest": "^29.6.3", "babel-test": "^0.1.1", @@ -82,12 +83,12 @@ "jest-file-snapshot": "^0.3.2", "lefthook": "^2.1.9", "prettier": "^3.8.4", - "react": "19.2.3", - "react-native": "0.85.3", + "react": "19.3.0", + "react-native": "0.88.1", "react-native-builder-bob": "^0.42.1", - "react-native-reanimated": "4.3.1", - "react-native-safe-area-context": "5.7.0", - "react-native-worklets": "0.8.3", + "react-native-reanimated": "4.7.1", + "react-native-safe-area-context": "5.11.1", + "react-native-worklets": "0.13.0", "release-it": "^13.4.0", "test-renderer": "1.2.0", "typescript": "5.8.3", @@ -105,6 +106,7 @@ }, "jest": { "preset": "@react-native/jest-preset", + "resolver": "react-native-reanimated/jest/resolver", "setupFiles": [ "/jest/testSetup.js" ], diff --git a/src/components/Appbar/AppbarAction.tsx b/src/components/Appbar/AppbarAction.tsx index 1c358397c9..9800386fe0 100644 --- a/src/components/Appbar/AppbarAction.tsx +++ b/src/components/Appbar/AppbarAction.tsx @@ -41,7 +41,7 @@ export type Props = React.PropsWithoutRef & { */ isLeading?: boolean; style?: StyleProp>; - ref?: React.Ref; + ref?: React.Ref>; /** * @optional */ diff --git a/src/components/Appbar/AppbarBackAction.tsx b/src/components/Appbar/AppbarBackAction.tsx index 4f23dfa542..0417cdff9b 100644 --- a/src/components/Appbar/AppbarBackAction.tsx +++ b/src/components/Appbar/AppbarBackAction.tsx @@ -35,7 +35,7 @@ export type Props = Omit, 'icon'> & { */ onPress?: (e: GestureResponderEvent) => void; style?: StyleProp>; - ref?: React.Ref; + ref?: React.Ref>; }; /** diff --git a/src/components/Appbar/utils.ts b/src/components/Appbar/utils.ts index 36b2fd2f09..e67345a7e0 100644 --- a/src/components/Appbar/utils.ts +++ b/src/components/Appbar/utils.ts @@ -34,7 +34,7 @@ export const getAppbarBackgroundColor = ( theme: InternalTheme, elevated: boolean, customBackground?: ColorValue -) => { +): ColorValue => { const { colors } = theme; if (customBackground) { return customBackground; diff --git a/src/components/Banner.tsx b/src/components/Banner.tsx index 909f75bf3f..cf50ec9880 100644 --- a/src/components/Banner.tsx +++ b/src/components/Banner.tsx @@ -74,7 +74,7 @@ export type Props = Omit & { */ maxFontSizeMultiplier?: number; style?: StyleProp; - ref?: React.RefObject; + ref?: React.Ref>; /** * @optional */ diff --git a/src/components/BottomNavigation/utils.ts b/src/components/BottomNavigation/utils.ts index 1f882cd256..3e772cd141 100644 --- a/src/components/BottomNavigation/utils.ts +++ b/src/components/BottomNavigation/utils.ts @@ -8,7 +8,7 @@ export const getActiveTintColor = ({ }: { activeColor: ColorValue | undefined; theme: InternalTheme; -}) => { +}): ColorValue => { if (activeColor != null) { return activeColor; } @@ -22,7 +22,7 @@ export const getInactiveTintColor = ({ }: { inactiveColor: ColorValue | undefined; theme: InternalTheme; -}) => { +}): ColorValue => { if (inactiveColor != null) { return inactiveColor; } @@ -40,7 +40,7 @@ export const getLabelColor = ({ hasColor: boolean; focused: boolean; theme: InternalTheme; -}) => { +}): ColorValue => { const { colors } = theme; if (hasColor) { return tintColor; diff --git a/src/components/Button/Button.tsx b/src/components/Button/Button.tsx index 6f07113572..9b07918ca2 100644 --- a/src/components/Button/Button.tsx +++ b/src/components/Button/Button.tsx @@ -135,8 +135,8 @@ export type Props = Omit & { /** * Reference for the touchable */ - touchableRef?: React.RefObject; - ref?: React.Ref; + touchableRef?: React.Ref>; + ref?: React.Ref>; /** * testID to be used on tests. */ diff --git a/src/components/Button/utils.tsx b/src/components/Button/utils.tsx index ec3503c82b..e6f023a740 100644 --- a/src/components/Button/utils.tsx +++ b/src/components/Button/utils.tsx @@ -149,7 +149,14 @@ export const getButtonColors = ({ customTextColor?: ColorValue; disabled?: boolean; dark?: boolean; -}) => { +}): { + backgroundColor: ColorValue; + borderColor: ColorValue; + textColor: ColorValue; + textOpacity: number; + borderWidth: number; + backgroundOpacity: number; +} => { const isMode = (modeToCompare: ButtonMode) => { return mode === modeToCompare; }; @@ -191,8 +198,8 @@ export const getButtonColors = ({ }; }; -type ViewStyleBorderRadiusStyles = Partial< - Pick< +type ViewStyleBorderRadiusStyles = { + -readonly [K in keyof Pick< ViewStyle, | 'borderBottomEndRadius' | 'borderBottomLeftRadius' @@ -203,8 +210,8 @@ type ViewStyleBorderRadiusStyles = Partial< | 'borderTopRightRadius' | 'borderTopStartRadius' | 'borderRadius' - > ->; + >]?: ViewStyle[K]; +}; export const getButtonTouchableRippleStyle = ( style?: ViewStyle, borderWidth: number = 0 diff --git a/src/components/Card/Card.tsx b/src/components/Card/Card.tsx index 75a3941bab..dc9826345c 100644 --- a/src/components/Card/Card.tsx +++ b/src/components/Card/Card.tsx @@ -105,7 +105,7 @@ export type Props = Omit & { /** * Reference to the card container. */ - ref?: React.Ref; + ref?: React.Ref>; }; const DEFAULT_CARD_GAP = 16; @@ -198,8 +198,10 @@ const Card = ({ mode: cardMode, }); - // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion - const flattenedStyles = (StyleSheet.flatten(style) || {}) as ViewStyle; + // TODO: Remove together with StyleSheet.flatten in #5114. + const flattenedStyles = + // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion + StyleSheet.flatten(style as StyleProp) || {}; const { borderColor = themedBorderColor } = flattenedStyles; diff --git a/src/components/Card/CardCover.tsx b/src/components/Card/CardCover.tsx index 266ad045ea..ea3f7d86d0 100644 --- a/src/components/Card/CardCover.tsx +++ b/src/components/Card/CardCover.tsx @@ -9,7 +9,7 @@ import { grey200 } from '../../theme/colors'; import type { ThemeProp } from '../../theme/types'; import { splitStyles } from '../../utils/splitStyles'; -export type Props = ImageProps & { +export type Props = Omit & { style?: StyleProp; /** * @optional @@ -40,7 +40,7 @@ const CardCover = ({ style, theme: themeOverrides, ...rest }: Props) => { const theme = useInternalTheme(themeOverrides); const cardContext = React.useContext(CardContext); - const flattenedStyles = StyleSheet.flatten(style) || {}; + const flattenedStyles = StyleSheet.flatten(style) || {}; const [, borderRadiusStyles] = splitStyles( flattenedStyles, (style) => style.startsWith('border') && style.endsWith('Radius') diff --git a/src/components/Card/utils.tsx b/src/components/Card/utils.tsx index 75cbc29b99..3039dccd9d 100644 --- a/src/components/Card/utils.tsx +++ b/src/components/Card/utils.tsx @@ -1,4 +1,4 @@ -import type { StyleProp, ViewStyle } from 'react-native'; +import type { ColorValue, StyleProp, ViewStyle } from 'react-native'; import type { InternalTheme } from '../../theme/types'; @@ -61,7 +61,10 @@ export const getCardColors = ({ }: { theme: InternalTheme; mode: CardMode; -}) => { +}): { + backgroundColor: ColorValue | undefined; + borderColor: ColorValue; +} => { const isMode = (modeToCompare: CardMode) => { return mode === modeToCompare; }; diff --git a/src/components/Chip/Chip.tsx b/src/components/Chip/Chip.tsx index 7796b370a7..91b6bd1834 100644 --- a/src/components/Chip/Chip.tsx +++ b/src/components/Chip/Chip.tsx @@ -153,7 +153,7 @@ export type Props = Omit & { /** * Reference to the chip container. */ - ref?: React.Ref; + ref?: React.Ref>; }; /** diff --git a/src/components/Chip/helpers.tsx b/src/components/Chip/helpers.tsx index 3091d36e31..44225d3304 100644 --- a/src/components/Chip/helpers.tsx +++ b/src/components/Chip/helpers.tsx @@ -130,7 +130,14 @@ export const getChipColors = ({ }: BaseProps & { disabled?: boolean; selectedColor?: ColorValue; -}) => { +}): { + borderColor: ColorValue; + textColor: ColorValue; + iconColor: ColorValue; + contentOpacity: number; + backgroundColor: ColorValue; + selectedBackgroundColor: ColorValue; +} => { const baseChipColorProps = { theme, isOutlined, disabled }; const backgroundColor = getBackgroundColor({ diff --git a/src/components/Drawer/DrawerCollapsedItem.tsx b/src/components/Drawer/DrawerCollapsedItem.tsx index 9ffd121dca..3934122598 100644 --- a/src/components/Drawer/DrawerCollapsedItem.tsx +++ b/src/components/Drawer/DrawerCollapsedItem.tsx @@ -2,9 +2,8 @@ import * as React from 'react'; import { Platform, Pressable, StyleSheet, View } from 'react-native'; import type { GestureResponderEvent, - NativeSyntheticEvent, StyleProp, - TextLayoutEventData, + TextLayoutEvent, ViewProps, ViewStyle, } from 'react-native'; @@ -150,9 +149,7 @@ const DrawerCollapsedItem = ({ ? theme.colors.onSecondaryContainer : theme.colors.onSurfaceVariant; - const onTextLayout = ({ - nativeEvent, - }: NativeSyntheticEvent) => { + const onTextLayout = ({ nativeEvent }: TextLayoutEvent) => { setNumOfLines(nativeEvent.lines.length); }; diff --git a/src/components/FAB/Menu.tsx b/src/components/FAB/Menu.tsx index 4c4653aa42..7070429ae0 100644 --- a/src/components/FAB/Menu.tsx +++ b/src/components/FAB/Menu.tsx @@ -238,7 +238,10 @@ type ItemProps = { /** * Called with the item's index and its node when it mounts and unmounts. */ - registerRef: (index: number, node: View | null) => void; + registerRef: ( + index: number, + node: React.ComponentRef | null + ) => void; onPress: (e: GestureResponderEvent) => void; /** * Accessibility label. Falls back to `label`. @@ -301,7 +304,7 @@ const MenuItem = ({ }; const itemRef = React.useCallback( - (node: View | null) => registerRef(index, node), + (node: React.ComponentRef | null) => registerRef(index, node), [registerRef, index] ); @@ -386,7 +389,7 @@ type MorphingTriggerProps = { 'aria-label'?: string; theme: InternalTheme; testID?: string; - ref?: React.Ref; + ref?: React.Ref>; }; const MorphingTrigger = ({ @@ -640,14 +643,14 @@ const Menu = ({ const effectiveExpanded = triggerVisible && expanded; - const triggerRef = React.useRef(null); - const scrollRef = React.useRef(null); - const itemRefs = React.useRef<(View | null)[]>([]); + const triggerRef = React.useRef>(null); + const scrollRef = React.useRef>(null); + const itemRefs = React.useRef<(React.ComponentRef | null)[]>([]); const [containerHeight, setContainerHeight] = React.useState(); const registerItemRef = React.useCallback( - (index: number, node: View | null) => { + (index: number, node: React.ComponentRef | null) => { itemRefs.current[index] = node; }, [] diff --git a/src/components/FAB/Shell.tsx b/src/components/FAB/Shell.tsx index 0768c934ea..f0c503ecc4 100644 --- a/src/components/FAB/Shell.tsx +++ b/src/components/FAB/Shell.tsx @@ -179,7 +179,7 @@ export type ShellProps = { /** * Ref to the pressable inside the shell, the element that receives focus. */ - buttonRef?: React.Ref; + buttonRef?: React.Ref>; }; /** diff --git a/src/components/FAB/focus.ts b/src/components/FAB/focus.ts index 5e7de9df45..744e62aade 100644 --- a/src/components/FAB/focus.ts +++ b/src/components/FAB/focus.ts @@ -1,3 +1,4 @@ +import type { ComponentRef } from 'react'; import { Platform } from 'react-native'; import type { View } from 'react-native'; @@ -11,7 +12,7 @@ const FOCUSABLE_SELECTOR = * Web only; returns `null` on native. */ export const getFocusableElement = ( - el: View | null | undefined + el: ComponentRef | null | undefined ): HTMLElement | null => { if (Platform.OS !== 'web' || !(el instanceof HTMLElement)) { return null; diff --git a/src/components/IconButton/IconButton.tsx b/src/components/IconButton/IconButton.tsx index 1d673a3d27..b793d4f4e5 100644 --- a/src/components/IconButton/IconButton.tsx +++ b/src/components/IconButton/IconButton.tsx @@ -75,7 +75,7 @@ export type Props = Omit< */ onPress?: (e: GestureResponderEvent) => void; style?: StyleProp>; - ref?: React.Ref; + ref?: React.Ref>; /** * TestID used for testing purposes */ diff --git a/src/components/IconButton/utils.ts b/src/components/IconButton/utils.ts index 3b43fa2a4a..d35700a499 100644 --- a/src/components/IconButton/utils.ts +++ b/src/components/IconButton/utils.ts @@ -110,7 +110,13 @@ export const getIconButtonColor = ({ mode?: IconButtonMode; customIconColor?: ColorValue; customContainerColor?: ColorValue; -}) => { +}): { + iconColor: ColorValue; + iconOpacity: number; + backgroundColor: ColorValue | undefined; + borderColor: ColorValue; + backgroundOpacity: number; +} => { const isMode = (modeToCompare: IconButtonMode) => { return mode === modeToCompare; }; diff --git a/src/components/List/ListAccordion.tsx b/src/components/List/ListAccordion.tsx index ff26a075a4..fa4438e3db 100644 --- a/src/components/List/ListAccordion.tsx +++ b/src/components/List/ListAccordion.tsx @@ -3,10 +3,9 @@ import { StyleSheet, View } from 'react-native'; import type { ColorValue, GestureResponderEvent, - NativeSyntheticEvent, PressableAndroidRippleConfig, StyleProp, - TextLayoutEventData, + TextLayoutEvent, TextStyle, ViewProps, ViewStyle, @@ -204,9 +203,7 @@ const ListAccordion = ({ ); const [alignToTop, setAlignToTop] = React.useState(false); - const onDescriptionTextLayout = ( - event: NativeSyntheticEvent - ) => { + const onDescriptionTextLayout = (event: TextLayoutEvent) => { const { nativeEvent } = event; setAlignToTop(nativeEvent.lines.length >= 2); }; diff --git a/src/components/List/ListItem.tsx b/src/components/List/ListItem.tsx index 038ef86a58..c183bb43b9 100644 --- a/src/components/List/ListItem.tsx +++ b/src/components/List/ListItem.tsx @@ -3,9 +3,8 @@ import { StyleSheet, View } from 'react-native'; import type { ColorValue, GestureResponderEvent, - NativeSyntheticEvent, StyleProp, - TextLayoutEventData, + TextLayoutEvent, TextProps, TextStyle, ViewStyle, @@ -70,7 +69,7 @@ export type Props = Omit< * Style that is passed to the root TouchableRipple container. */ style?: StyleProp; - ref?: React.Ref; + ref?: React.Ref>; /** * Style that is passed to the outermost container that wraps the entire content, including left and right items and both title and description. */ @@ -171,9 +170,7 @@ const ListItem = ({ const shouldIndent = hasLeft && !left && !right; const [alignToTop, setAlignToTop] = React.useState(false); - const onDescriptionTextLayout = ( - event: NativeSyntheticEvent - ) => { + const onDescriptionTextLayout = (event: TextLayoutEvent) => { const { nativeEvent } = event; setAlignToTop(nativeEvent.lines.length >= 2); }; diff --git a/src/components/List/utils.ts b/src/components/List/utils.ts index e01f0e55c6..25e5ccd1d1 100644 --- a/src/components/List/utils.ts +++ b/src/components/List/utils.ts @@ -1,5 +1,5 @@ import { StyleSheet } from 'react-native'; -import type { StyleProp, TextProps, ViewStyle } from 'react-native'; +import type { ColorValue, StyleProp, TextProps, ViewStyle } from 'react-native'; import type { InternalTheme, ThemeProp } from '../../theme/types'; @@ -93,7 +93,7 @@ export const getAccordionColors = ({ }: { theme: InternalTheme; isExpanded?: boolean; -}) => { +}): { descriptionColor: ColorValue; titleTextColor: ColorValue } => { const titleColor = theme.colors.onSurface; const descriptionColor = theme.colors.onSurfaceVariant; diff --git a/src/components/Menu/Menu.tsx b/src/components/Menu/Menu.tsx index 8482a148ca..bb28f45422 100644 --- a/src/components/Menu/Menu.tsx +++ b/src/components/Menu/Menu.tsx @@ -122,7 +122,9 @@ const getKeyboardHeight = (fallback: number) => const DEFAULT_ELEVATION: Elevation = 2; const DEFAULT_MODE = 'elevated'; -const focusFirstDOMNode = (el: View | null | undefined) => { +const focusFirstDOMNode = ( + el: React.ComponentRef | null | undefined +) => { if (el && Platform.OS === 'web') { // When in the browser, we want to focus the first focusable item on toggle // For example, when menu is shown, focus the first item in the menu @@ -229,8 +231,8 @@ const Menu = ({ const keyboardHeightRef = React.useRef(0); const prevVisible = React.useRef(visible); - const anchorRef = React.useRef(null); - const menuRef = React.useRef(null); + const anchorRef = React.useRef | null>(null); + const menuRef = React.useRef | null>(null); const isShownRef = React.useRef(false); const keyboardDidShow = React.useCallback((e: RNKeyboardEvent) => { diff --git a/src/components/Menu/utils.ts b/src/components/Menu/utils.ts index 177c48feb6..13cadc9917 100644 --- a/src/components/Menu/utils.ts +++ b/src/components/Menu/utils.ts @@ -1,3 +1,5 @@ +import type { ColorValue } from 'react-native'; + import { tokens } from '../../theme/tokens'; import type { InternalTheme } from '../../theme/types'; import type { IconSource } from '../Icon'; @@ -26,7 +28,14 @@ const getIconColor = ({ theme }: ColorProps) => { return theme.colors.onSurfaceVariant; }; -export const getMenuItemColor = ({ theme, disabled }: ColorProps) => { +export const getMenuItemColor = ({ + theme, + disabled, +}: ColorProps): { + titleColor: ColorValue; + iconColor: ColorValue; + contentOpacity: number; +} => { const contentOpacity = disabled ? stateOpacity.disabled : stateOpacity.enabled; diff --git a/src/components/RadioButton/utils.ts b/src/components/RadioButton/utils.ts index f8190eb981..55fa981840 100644 --- a/src/components/RadioButton/utils.ts +++ b/src/components/RadioButton/utils.ts @@ -77,7 +77,7 @@ export const getSelectionControlIOSColor = ({ disabled?: boolean; customColor?: ColorValue; error?: boolean; -}) => { +}): { checkedColor: ColorValue; checkedColorOpacity: number } => { const checkedColor = getIOSCheckedColor({ theme, disabled, diff --git a/src/components/Searchbar.tsx b/src/components/Searchbar.tsx index 02855eef0f..f1f6adbbfd 100644 --- a/src/components/Searchbar.tsx +++ b/src/components/Searchbar.tsx @@ -145,7 +145,7 @@ export type Props = Omit & { }; type TextInputHandles = Pick< - TextInput, + React.ComponentRef, 'setNativeProps' | 'isFocused' | 'clear' | 'blur' | 'focus' | 'setSelection' >; @@ -207,7 +207,7 @@ const Searchbar = ({ const { direction } = useLocale(); const { colors, fonts } = theme; - const root = React.useRef(null); + const root = React.useRef>(null); React.useImperativeHandle(ref, () => ({ focus: () => root.current?.focus(), diff --git a/src/components/SegmentedButtons/utils.ts b/src/components/SegmentedButtons/utils.ts index 5698731f87..ff17bf510a 100644 --- a/src/components/SegmentedButtons/utils.ts +++ b/src/components/SegmentedButtons/utils.ts @@ -1,4 +1,4 @@ -import type { ViewStyle } from 'react-native'; +import type { ColorValue, ViewStyle } from 'react-native'; import { tokens } from '../../theme/tokens'; import type { InternalTheme } from '../../theme/types'; @@ -125,7 +125,13 @@ export const getSegmentedButtonColors = ({ checked, checkedColor, uncheckedColor, -}: SegmentedButtonProps) => { +}: SegmentedButtonProps): { + backgroundColor: ColorValue; + borderColor: ColorValue; + textColor: ColorValue; + textOpacity: number; + borderWidth: number; +} => { const backgroundColor = getSegmentedButtonBackgroundColor({ theme, checked, diff --git a/src/components/Snackbar.tsx b/src/components/Snackbar.tsx index fac1f7a049..e1ddb3bad8 100644 --- a/src/components/Snackbar.tsx +++ b/src/components/Snackbar.tsx @@ -87,7 +87,7 @@ export type Props = Omit & { */ contentStyle?: StyleProp; style?: StyleProp; - ref?: React.RefObject; + ref?: React.Ref>; /** * @optional */ diff --git a/src/components/TextInput/TextInput.tsx b/src/components/TextInput/TextInput.tsx index b89e2b35d4..a2759a90bd 100644 --- a/src/components/TextInput/TextInput.tsx +++ b/src/components/TextInput/TextInput.tsx @@ -73,7 +73,7 @@ export type GetAccessibilityDataProps = { export type TextInputVariant = 'filled' | 'outlined'; export type TextInputSharedApi = { - input: React.RefObject; + input: React.RefObject | null>; theme: InternalTheme; isFocused: boolean; isRTL: boolean; @@ -98,7 +98,7 @@ export type SharedTextInputStyleData = { }; export type FilledTextInputHookData = SharedTextInputStyleData & { - input: React.RefObject; + input: React.RefObject | null>; isDisabled: boolean; hasError: boolean; hasSuffix: boolean; @@ -112,7 +112,7 @@ export type FilledTextInputHookData = SharedTextInputStyleData & { }; export type OutlinedTextInputHookData = SharedTextInputStyleData & { - input: React.RefObject; + input: React.RefObject | null>; isDisabled: boolean; hasError: boolean; hasSuffix: boolean; @@ -134,7 +134,7 @@ export type TextInputLayoutState = Omit< >; export type TextInputHookReturn = SharedTextInputStyleData & { - input: React.RefObject; + input: React.RefObject | null>; isDisabled: boolean; isEditable: boolean | undefined; hasPrefix: boolean; @@ -172,11 +172,11 @@ export type TextInputHookReturn = SharedTextInputStyleData & { export type TextInputRenderProps = React.ComponentPropsWithoutRef< typeof NativeTextInput > & { - ref?: React.RefObject; + ref?: React.RefObject | null>; }; export type TextInputHandles = Pick< - NativeTextInput, + React.ComponentRef, 'focus' | 'clear' | 'blur' | 'isFocused' | 'setNativeProps' | 'setSelection' >; diff --git a/src/components/TextInput/hooks.ts b/src/components/TextInput/hooks.ts index d00667550c..27c6a6874f 100644 --- a/src/components/TextInput/hooks.ts +++ b/src/components/TextInput/hooks.ts @@ -3,6 +3,7 @@ import { useImperativeHandle, useRef, useState, + type ComponentRef, type RefObject, } from 'react'; import { TextInput as NativeTextInput } from 'react-native'; @@ -187,7 +188,7 @@ const useTextInputInput = ( const useTextInputFocus = ( props: Pick, - input: RefObject, + input: RefObject | null>, isDisabled: boolean, { runFocusAnimation, runBlurAnimation }: TextInputAnimationHandlers, getHasText: () => boolean @@ -257,7 +258,7 @@ const useTextInputLayout = ({ }: { variant: TextInputVariant; props: TextInputProps; - input: RefObject; + input: RefObject | null>; theme: InternalTheme; flags: TextInputFlags; isFocused: boolean; @@ -322,7 +323,7 @@ const useTextInputLayout = ({ export const useTextInput = (props: TextInputProps): TextInputHookReturn => { const { ref, variant = 'filled', theme: themeOverride } = props; - const input = useRef(null); + const input = useRef>(null); const init = useRef(false); const theme = useInternalTheme(themeOverride); diff --git a/src/components/TextInput/utils.ts b/src/components/TextInput/utils.ts index 3eed947f83..1639fbe749 100644 --- a/src/components/TextInput/utils.ts +++ b/src/components/TextInput/utils.ts @@ -71,7 +71,7 @@ export const getAccentColors = ({ }: { theme: InternalTheme; hasError: boolean; -}) => { +}): { selectionColor: ColorValue; cursorColor: ColorValue } => { const color = hasError ? theme.colors.error : theme.colors.primary; return { @@ -90,7 +90,7 @@ export const getLabelColor = ({ isFocused: boolean; hasError: boolean; isDisabled: boolean; -}) => { +}): ColorValue => { const { colors: { error, primary, onSurface, onSurfaceVariant }, } = theme; @@ -115,7 +115,7 @@ export const getSupportingTextColor = ({ theme: InternalTheme; hasError: boolean; isDisabled: boolean; -}) => { +}): ColorValue => { const { colors: { error, onSurface, onSurfaceVariant }, } = theme; @@ -183,7 +183,7 @@ export const getOutlineColor = ({ isFocused: boolean; hasError: boolean; isDisabled: boolean; -}) => { +}): ColorValue => { const { colors: { error, onSurface, primary, outline }, } = theme; diff --git a/src/components/Tooltip/Tooltip.tsx b/src/components/Tooltip/Tooltip.tsx index d0dc180115..06e2eba310 100644 --- a/src/components/Tooltip/Tooltip.tsx +++ b/src/components/Tooltip/Tooltip.tsx @@ -82,7 +82,8 @@ const Tooltip = ({ const showTooltipTimer = React.useRef[]>([]); const hideTooltipTimer = React.useRef[]>([]); - const childrenWrapperRef = React.useRef(null); + const childrenWrapperRef = + React.useRef>(null); const touched = React.useRef(false); const isValidChild = React.useMemo( diff --git a/src/components/Tooltip/utils.ts b/src/components/Tooltip/utils.ts index 43baf684fd..c51f000529 100644 --- a/src/components/Tooltip/utils.ts +++ b/src/components/Tooltip/utils.ts @@ -89,7 +89,8 @@ const getChildrenMeasures = ( style: StyleProp, measures: ChildrenMeasurement ): ChildrenMeasurement => { - const { position, top, bottom, left, right } = StyleSheet.flatten(style); + const { position, top, bottom, left, right } = + StyleSheet.flatten(style) ?? {}; if (position === 'absolute') { let pageX = 0; diff --git a/src/components/TouchableRipple/Pressable.tsx b/src/components/TouchableRipple/Pressable.tsx index 1798a634ba..c68e2567be 100644 --- a/src/components/TouchableRipple/Pressable.tsx +++ b/src/components/TouchableRipple/Pressable.tsx @@ -32,5 +32,5 @@ export type PressableProps = Omit< // @ts-expect-error React Native Web adds focused and hovered callback state fields that React Native omits. export const Pressable: React.ForwardRefExoticComponent< - PressableProps & React.RefAttributes + PressableProps & React.RefAttributes> > = PressableNative; diff --git a/src/components/TouchableRipple/TouchableRipple.tsx b/src/components/TouchableRipple/TouchableRipple.tsx index 3b98d252c7..7f6e6d23ad 100644 --- a/src/components/TouchableRipple/TouchableRipple.tsx +++ b/src/components/TouchableRipple/TouchableRipple.tsx @@ -70,7 +70,7 @@ export type Props = PressableProps & { | StyleProp | ((state: PressableStateCallbackType) => StyleProp) | undefined; - ref?: React.Ref; + ref?: React.Ref>; /** * @optional */ diff --git a/src/components/TouchableRipple/utils.ts b/src/components/TouchableRipple/utils.ts index 2874eafc86..94aa42e513 100644 --- a/src/components/TouchableRipple/utils.ts +++ b/src/components/TouchableRipple/utils.ts @@ -38,7 +38,10 @@ export const getTouchableRippleColors = ({ theme: InternalTheme; rippleColor?: ColorValue; underlayColor?: string; -}) => { +}): { + calculatedRippleColor: ColorValue; + calculatedUnderlayColor: ColorValue; +} => { const calculatedRippleColor = getRippleColor({ theme, rippleColor }); return { calculatedRippleColor, diff --git a/src/components/Typography/Text.tsx b/src/components/Typography/Text.tsx index 2a2ec1e0fa..9a2229fd28 100644 --- a/src/components/Typography/Text.tsx +++ b/src/components/Typography/Text.tsx @@ -10,7 +10,7 @@ import { useLocale } from '../../core/locale'; import { useInternalTheme } from '../../core/theming'; import type { ThemeProp } from '../../theme/types'; -export type Props = React.ComponentProps & { +export type Props = Omit, 'ref'> & { /** * @supported Available in v5.x with theme version 3 * @@ -87,7 +87,7 @@ const Text = ({ ref, ...rest }: Props) => { - const root = React.useRef(null); + const root = React.useRef | null>(null); // FIXME: destructure it in TS 4.6+ const theme = useInternalTheme(initialTheme); const { direction: writingDirection } = useLocale(); diff --git a/src/components/__tests__/Dialog.test.tsx b/src/components/__tests__/Dialog.test.tsx index bae85cb874..6fb88f7281 100644 --- a/src/components/__tests__/Dialog.test.tsx +++ b/src/components/__tests__/Dialog.test.tsx @@ -5,7 +5,6 @@ import { Platform, BackHandler as RNBackHandler, } from 'react-native'; -import type { BackHandlerStatic as RNBackHandlerStatic } from 'react-native'; import { afterEach, describe, expect, it, jest } from '@jest/globals'; import { act, userEvent } from '@testing-library/react-native'; @@ -15,9 +14,9 @@ import { render, screen } from '../../test-utils'; import Button from '../Button/Button'; import Portal from '../Portal/Portal'; -interface BackHandlerStatic extends RNBackHandlerStatic { +type BackHandlerStatic = typeof RNBackHandler & { mockPressBack(): void; -} +}; // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion const BackHandler = RNBackHandler as BackHandlerStatic; diff --git a/src/components/__tests__/FABExtended.test.tsx b/src/components/__tests__/FABExtended.test.tsx index e16ca3854b..fdf52d2510 100644 --- a/src/components/__tests__/FABExtended.test.tsx +++ b/src/components/__tests__/FABExtended.test.tsx @@ -44,7 +44,7 @@ it('expands to fit the measured label width', async () => { pageY: 0, }); - const ref = React.createRef(); + const ref = React.createRef>(); await render( { throw new Error('Expected FAB ref to be attached'); } - expect(Reanimated.getAnimatedStyle(ref.current)).toMatchObject({ + // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion + const animatedComponent = ref.current as unknown as { + props: Record; + }; + expect(Reanimated.getAnimatedStyle(animatedComponent)).toMatchObject({ width: 144, }); }); diff --git a/src/components/__tests__/Menu.test.tsx b/src/components/__tests__/Menu.test.tsx index 053b1f6e0b..3d104b9fa4 100644 --- a/src/components/__tests__/Menu.test.tsx +++ b/src/components/__tests__/Menu.test.tsx @@ -1,3 +1,4 @@ +import type { ComponentRef } from 'react'; import { Dimensions, Keyboard, Platform, StyleSheet, View } from 'react-native'; import { @@ -57,8 +58,9 @@ describe('web focus', () => { configurable: true, value: () => ({ focus }), }); - const measureInWindow: View['measureInWindow'] = (fn) => - fn(100, 100, 80, 32); + const measureInWindow: ComponentRef['measureInWindow'] = ( + fn + ) => fn(100, 100, 80, 32); Object.defineProperty(View.prototype, 'measureInWindow', { configurable: true, value: measureInWindow, @@ -150,6 +152,8 @@ it('renders not visible menu', async () => { expect(tree).toMatchSnapshot(); }); +const ViewPrototype: ComponentRef = View.prototype; + const elevations: Elevation[] = [0, 1, 2, 3, 4, 5]; elevations.forEach((elevation) => @@ -187,7 +191,7 @@ it('uses the default anchorPosition of top', async () => { fontScale: 2, }); const measureSpy = jest - .spyOn(View.prototype, 'measureInWindow') + .spyOn(ViewPrototype, 'measureInWindow') .mockImplementation((fn) => fn(100, 100, 80, 32)); function makeMenu(visible: boolean) { @@ -243,7 +247,7 @@ it('respects anchorPosition bottom', async () => { fontScale: 2, }); const measureSpy = jest - .spyOn(View.prototype, 'measureInWindow') + .spyOn(ViewPrototype, 'measureInWindow') .mockImplementation((fn) => fn(100, 100, 80, 32)); function makeMenu(visible: boolean) { @@ -354,7 +358,7 @@ it('accounts for a keyboard that is already open when the menu mounts', async () let measureCalls = 0; const measureSpy = jest - .spyOn(View.prototype, 'measureInWindow') + .spyOn(ViewPrototype, 'measureInWindow') .mockImplementation((fn) => { measureCalls += 1; if (measureCalls % 2 === 1) { @@ -416,7 +420,7 @@ it('does not crash when Keyboard.metrics is unavailable (react-native-web)', asy fontScale: 2, }); const measureSpy = jest - .spyOn(View.prototype, 'measureInWindow') + .spyOn(ViewPrototype, 'measureInWindow') .mockImplementation((fn) => fn(100, 100, 80, 32)); function makeMenu(visible: boolean) { diff --git a/src/components/__tests__/Modal.test.tsx b/src/components/__tests__/Modal.test.tsx index 6a071893c2..0083a28f84 100644 --- a/src/components/__tests__/Modal.test.tsx +++ b/src/components/__tests__/Modal.test.tsx @@ -1,5 +1,4 @@ import { BackHandler as RNBackHandler, Text } from 'react-native'; -import type { BackHandlerStatic as RNBackHandlerStatic } from 'react-native'; import { afterAll, beforeAll, describe, expect, it, jest } from '@jest/globals'; import { act, fireEvent, userEvent } from '@testing-library/react-native'; @@ -16,9 +15,9 @@ jest.mock('react-native-safe-area-context', () => ({ useSafeAreaInsets: () => ({ bottom: 44, left: 0, right: 0, top: 37 }), })); -interface BackHandlerStatic extends RNBackHandlerStatic { +type BackHandlerStatic = typeof RNBackHandler & { mockPressBack(): void; -} +}; // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion const BackHandler = RNBackHandler as BackHandlerStatic; diff --git a/src/components/__tests__/Tooltip.test.tsx b/src/components/__tests__/Tooltip.test.tsx index 2888803613..7cc54c9bc8 100644 --- a/src/components/__tests__/Tooltip.test.tsx +++ b/src/components/__tests__/Tooltip.test.tsx @@ -17,6 +17,8 @@ import PaperProvider from '../../core/PaperProvider'; import { render } from '../../test-utils'; import Tooltip from '../Tooltip/Tooltip'; +const ViewPrototype: React.ComponentRef = View.prototype; + const mockedRemoveEventListener = jest.fn(); jest.mock('../../utils/addEventListener', () => ({ @@ -29,7 +31,7 @@ const DummyComponent = ({ ref, ...props }: ViewProps & { - ref?: React.RefObject; + ref?: React.RefObject | null>; }) => ( dummy component @@ -82,7 +84,7 @@ describe('Tooltip', () => { }; jest - .spyOn(View.prototype, 'measure') + .spyOn(ViewPrototype, 'measure') .mockImplementation((cb) => cb(x, y, width, height, pageX, pageY)); const wrapper = await render( diff --git a/src/core/useSystemColorScheme.ts b/src/core/useSystemColorScheme.ts index 12c2ab793c..d8881bd2c8 100644 --- a/src/core/useSystemColorScheme.ts +++ b/src/core/useSystemColorScheme.ts @@ -18,7 +18,7 @@ export function useSystemColorScheme(enabled: boolean): ColorSchemeName { React.useEffect(() => { if (!enabled) return; const sub = Appearance?.addChangeListener((preferences) => { - setColorScheme(preferences.colorScheme); + setColorScheme(preferences.colorScheme ?? 'light'); }); return () => { sub?.remove(); diff --git a/src/theme/__tests__/provider.test.ts b/src/theme/__tests__/provider.test.ts index acac88b491..b1f421be36 100644 --- a/src/theme/__tests__/provider.test.ts +++ b/src/theme/__tests__/provider.test.ts @@ -124,6 +124,49 @@ describe('safeMerge', () => { expect(result.colors.secondary).toBe('#999'); expect(result.colors.tertiary).toBe('#222'); }); + + it('ignores a top-level __proto__ key', () => { + const overrides = JSON.parse('{"__proto__": {"polluted": "yes"}, "a": 2}'); + + const result = safeMerge>({ a: 1 }, overrides); + expect(Object.getPrototypeOf(result)).toBe(Object.prototype); + expect(result).toEqual({ a: 2 }); + expect(result.polluted).toBeUndefined(); + const fresh: Record = {}; + expect(fresh.polluted).toBeUndefined(); + }); + + it('ignores a nested __proto__ key', () => { + const base = { colors: { primary: 'blue', secondary: 'green' } }; + const overrides = JSON.parse( + '{"colors": {"__proto__": {"polluted": "yes"}, "primary": "red"}}' + ); + + const result = safeMerge<{ colors: Record }>( + base, + overrides + ); + expect(Object.getPrototypeOf(result.colors)).toBe(Object.prototype); + expect(result.colors.primary).toBe('red'); + expect(result.colors.secondary).toBe('green'); + expect(result.colors.polluted).toBeUndefined(); + }); + + it('skips constructor and prototype keys', () => { + const overrides = JSON.parse( + '{"constructor": {"x": 1}, "prototype": {"y": 2}, "a": 2}' + ); + + const result = safeMerge>({ a: 1 }, overrides); + expect(Object.prototype.hasOwnProperty.call(result, 'constructor')).toBe( + false + ); + expect(Object.prototype.hasOwnProperty.call(result, 'prototype')).toBe( + false + ); + expect(result.constructor).toBe(Object); + expect(result).toEqual({ a: 2 }); + }); }); describe('useInternalTheme', () => { diff --git a/src/theme/provider.tsx b/src/theme/provider.tsx index 2c1f8ca9f9..11d697bd19 100644 --- a/src/theme/provider.tsx +++ b/src/theme/provider.tsx @@ -29,6 +29,8 @@ export const isPlatformColorSentinel = (v: unknown): boolean => typeof v === 'object' && ('resource_paths' in v || 'semantic' in v || 'dynamic' in v); +const UNSAFE_KEYS = new Set(['__proto__', 'constructor', 'prototype']); + /* eslint-disable @typescript-eslint/no-unsafe-type-assertion */ export const safeMerge = (base: T, overrides: unknown): T => { if ( @@ -46,6 +48,9 @@ export const safeMerge = (base: T, overrides: unknown): T => { } const out: Record = { ...(base as Record) }; for (const key of Object.keys(overrides)) { + if (UNSAFE_KEYS.has(key)) { + continue; + } out[key] = safeMerge( (base as Record)[key], (overrides as Record)[key] diff --git a/yarn.lock b/yarn.lock index 66290677bd..5a3598f86a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,20 @@ __metadata: version: 8 cacheKey: 10c0 +"2g@npm:^1.0.1": + version: 1.0.1 + resolution: "2g@npm:1.0.1" + peerDependencies: + typescript: ">=5.8.0" + peerDependenciesMeta: + typescript: + optional: true + bin: + 2g: bin/cli.js + checksum: 10c0/e438eb7d1a9f5fa19ea44318279718618586bae39722169a365ad9e686762d3f5f550487d0ce38c25d92610beccb544785eac9dddbb2334f2fcd77c9dc6acafd + languageName: node + linkType: hard + "@ark/schema@npm:0.56.0": version: 0.56.0 resolution: "@ark/schema@npm:0.56.0" @@ -125,29 +139,29 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.29.0, @babel/generator@npm:^7.29.1": - version: 7.29.1 - resolution: "@babel/generator@npm:7.29.1" +"@babel/generator@npm:^7.27.1, @babel/generator@npm:^7.29.12": + version: 7.29.12 + resolution: "@babel/generator@npm:7.29.12" dependencies: - "@babel/parser": "npm:^7.29.0" - "@babel/types": "npm:^7.29.0" + "@babel/parser": "npm:^7.29.12" + "@babel/types": "npm:^7.29.11" "@jridgewell/gen-mapping": "npm:^0.3.12" "@jridgewell/trace-mapping": "npm:^0.3.28" jsesc: "npm:^3.0.2" - checksum: 10c0/349086e6876258ef3fb2823030fee0f6c0eb9c3ebe35fc572e16997f8c030d765f636ddc6299edae63e760ea6658f8ee9a2edfa6d6b24c9a80c917916b973551 + checksum: 10c0/5564fe39db454bc8ef53366692f2240528ca4d831cf51a69a085768023004684b889d9d0bbab1879b3d419719166eaa4299e092cebd73d888f11fb3a812fd571 languageName: node linkType: hard -"@babel/generator@npm:^7.29.12": - version: 7.29.12 - resolution: "@babel/generator@npm:7.29.12" +"@babel/generator@npm:^7.29.0, @babel/generator@npm:^7.29.1": + version: 7.29.1 + resolution: "@babel/generator@npm:7.29.1" dependencies: - "@babel/parser": "npm:^7.29.12" - "@babel/types": "npm:^7.29.11" + "@babel/parser": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" "@jridgewell/gen-mapping": "npm:^0.3.12" "@jridgewell/trace-mapping": "npm:^0.3.28" jsesc: "npm:^3.0.2" - checksum: 10c0/5564fe39db454bc8ef53366692f2240528ca4d831cf51a69a085768023004684b889d9d0bbab1879b3d419719166eaa4299e092cebd73d888f11fb3a812fd571 + checksum: 10c0/349086e6876258ef3fb2823030fee0f6c0eb9c3ebe35fc572e16997f8c030d765f636ddc6299edae63e760ea6658f8ee9a2edfa6d6b24c9a80c917916b973551 languageName: node linkType: hard @@ -551,25 +565,25 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0": - version: 7.29.3 - resolution: "@babel/parser@npm:7.29.3" +"@babel/parser@npm:^7.20.0, @babel/parser@npm:^7.29.12, @babel/parser@npm:^7.29.9": + version: 7.29.12 + resolution: "@babel/parser@npm:7.29.12" dependencies: - "@babel/types": "npm:^7.29.0" + "@babel/types": "npm:^7.29.11" bin: parser: ./bin/babel-parser.js - checksum: 10c0/f06920c819550c0db689e4c5b626bf55ba3cebf80ebe9ccfa434e134036cf3de50951fe759f74abb2dae381989239860bde46d4600328578ad1f7114c3711a6d + checksum: 10c0/5be1bda59715d21a060ed5a49c2f6396058f3e5ec14c218df4090eef053e4bf9af2e3bebbf1e862bdc4c2d83b028fcf315dbaffb1a72da432241f57dcfdaa4f4 languageName: node linkType: hard -"@babel/parser@npm:^7.29.12": - version: 7.29.12 - resolution: "@babel/parser@npm:7.29.12" +"@babel/parser@npm:^7.28.6, @babel/parser@npm:^7.29.0": + version: 7.29.3 + resolution: "@babel/parser@npm:7.29.3" dependencies: - "@babel/types": "npm:^7.29.11" + "@babel/types": "npm:^7.29.0" bin: parser: ./bin/babel-parser.js - checksum: 10c0/5be1bda59715d21a060ed5a49c2f6396058f3e5ec14c218df4090eef053e4bf9af2e3bebbf1e862bdc4c2d83b028fcf315dbaffb1a72da432241f57dcfdaa4f4 + checksum: 10c0/f06920c819550c0db689e4c5b626bf55ba3cebf80ebe9ccfa434e134036cf3de50951fe759f74abb2dae381989239860bde46d4600328578ad1f7114c3711a6d languageName: node linkType: hard @@ -2344,7 +2358,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.12.1, @babel/preset-typescript@npm:^7.23.0, @babel/preset-typescript@npm:^7.27.1, @babel/preset-typescript@npm:^7.28.5": +"@babel/preset-typescript@npm:^7.12.1, @babel/preset-typescript@npm:^7.23.0, @babel/preset-typescript@npm:^7.28.5": version: 7.28.5 resolution: "@babel/preset-typescript@npm:7.28.5" dependencies: @@ -2494,7 +2508,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.29.11": +"@babel/types@npm:^7.29.11, @babel/types@npm:^7.29.8": version: 7.29.11 resolution: "@babel/types@npm:7.29.11" dependencies: @@ -2764,15 +2778,6 @@ __metadata: languageName: node linkType: hard -"@egjs/hammerjs@npm:^2.0.17": - version: 2.0.17 - resolution: "@egjs/hammerjs@npm:2.0.17" - dependencies: - "@types/hammerjs": "npm:^2.0.36" - checksum: 10c0/dbedc15a0e633f887c08394bd636faf6a3abd05726dc0909a0e01209d5860a752d9eca5e512da623aecfabe665f49f1d035de3103eb2f9022c5cea692f9cc9be - languageName: node - linkType: hard - "@emnapi/core@npm:1.10.0": version: 1.10.0 resolution: "@emnapi/core@npm:1.10.0" @@ -2919,34 +2924,40 @@ __metadata: languageName: node linkType: hard -"@expo/cli@npm:^56.1.7": - version: 56.1.7 - resolution: "@expo/cli@npm:56.1.7" - dependencies: - "@expo/code-signing-certificates": "npm:^0.0.6" - "@expo/config": "npm:~56.0.8" - "@expo/config-plugins": "npm:~56.0.7" - "@expo/devcert": "npm:^1.2.1" - "@expo/env": "npm:~2.3.0" - "@expo/image-utils": "npm:^0.10.0" - "@expo/inline-modules": "npm:^0.0.9" - "@expo/json-file": "npm:^10.2.0" - "@expo/log-box": "npm:^56.0.12" - "@expo/metro": "npm:~56.0.0" - "@expo/metro-config": "npm:~56.0.11" - "@expo/metro-file-map": "npm:^56.0.3" - "@expo/osascript": "npm:^2.6.0" - "@expo/package-manager": "npm:^1.12.0" - "@expo/plist": "npm:^0.7.0" - "@expo/prebuild-config": "npm:^56.0.10" - "@expo/require-utils": "npm:^56.1.2" - "@expo/router-server": "npm:^56.0.10" - "@expo/schema-utils": "npm:^56.0.0" +"@expo/cli@npm:^58.1.19": + version: 58.1.19 + resolution: "@expo/cli@npm:58.1.19" + dependencies: + 2g: "npm:^1.0.1" + "@expo/code-signing-certificates": "npm:^0.0.7" + "@expo/config": "npm:~58.0.11" + "@expo/config-plugins": "npm:~58.0.12" + "@expo/devcert": "npm:^1.2.2" + "@expo/env": "npm:~2.5.4" + "@expo/image-utils": "npm:^0.12.6" + "@expo/inline-modules": "npm:^0.2.9" + "@expo/json-file": "npm:^11.2.1" + "@expo/log-box": "npm:^58.0.15" + "@expo/log-box-utils": "npm:^58.0.2" + "@expo/metro": "npm:~58.0.0" + "@expo/metro-config": "npm:58.0.21" + "@expo/metro-file-map": "npm:^58.0.5" + "@expo/osascript": "npm:^2.8.1" + "@expo/package-manager": "npm:^1.14.2" + "@expo/platforms": "npm:^58.0.1" + "@expo/plist": "npm:^0.10.1" + "@expo/prebuild-config": "npm:^58.0.19" + "@expo/require-utils": "npm:^58.0.5" + "@expo/router-server": "npm:^58.0.21" + "@expo/schema-utils": "npm:^58.0.3" "@expo/spawn-async": "npm:^1.8.0" - "@expo/ws-tunnel": "npm:^1.0.1" - "@expo/xcpretty": "npm:^4.4.4" - "@react-native/dev-middleware": "npm:0.85.3" + "@expo/ws-tunnel": "npm:^2.0.1" + "@expo/xcpretty": "npm:^4.4.6" + "@react-native/asset-utils": "npm:0.88.1" + "@react-native/dev-middleware": "npm:0.88.1" + "@react-native/js-polyfills": "npm:0.88.1" accepts: "npm:^1.3.8" + agent-cli-detector: "npm:0.1.7" arg: "npm:^5.0.2" bplist-creator: "npm:0.1.0" bplist-parser: "npm:^0.3.1" @@ -2954,15 +2965,14 @@ __metadata: ci-info: "npm:^3.3.0" compression: "npm:^1.7.4" connect: "npm:^3.7.0" - debug: "npm:^4.3.4" - dnssd-advertise: "npm:^1.1.4" - expo-server: "npm:^56.0.4" + dnssd-advertise: "npm:^1.1.6" + expo-server: "npm:^58.0.6" fetch-nodeshim: "npm:^0.4.10" getenv: "npm:^2.0.0" glob: "npm:^13.0.0" lan-network: "npm:^0.2.1" - multitars: "npm:^1.0.0" - node-forge: "npm:^1.3.3" + multitars: "npm:^1.0.2" + node-forge: "npm:^1.4.0" npm-package-arg: "npm:^11.0.0" ora: "npm:^3.4.0" picomatch: "npm:^4.0.4" @@ -2970,7 +2980,8 @@ __metadata: progress: "npm:^2.0.3" prompts: "npm:^2.3.2" resolve-from: "npm:^5.0.0" - semver: "npm:^7.6.0" + sandbox-cli-detector: "npm:^0.2.0" + semver: "npm:^7.7.4" send: "npm:^0.19.0" slugify: "npm:^1.3.4" stacktrace-parser: "npm:^0.1.10" @@ -2979,184 +2990,135 @@ __metadata: toqr: "npm:^0.1.1" wrap-ansi: "npm:^7.0.0" ws: "npm:^8.12.1" - zod: "npm:^3.25.76" peerDependencies: expo: "*" + expo-mcp: "*" expo-router: "*" react-native: "*" peerDependenciesMeta: + expo-mcp: + optional: true expo-router: optional: true react-native: optional: true bin: - expo-internal: main.js - checksum: 10c0/d85fd954379263537d514d1649c54d12af0b3a0157f5a19e34545268e93edc32ca38410324955046bc83b4f6bc6cd576b367f955585350c2fb5784413951379d + expo-internal: bin/cli.js + checksum: 10c0/17e4e882f71d4a557169306bb95a11f6402dbff9443b9904da944f5f4e483d5a059f58dbd75eac1efda053e2306a524d4bfaa187f2d79d14ae1982639e157ee3 languageName: node linkType: hard -"@expo/code-signing-certificates@npm:^0.0.6": - version: 0.0.6 - resolution: "@expo/code-signing-certificates@npm:0.0.6" +"@expo/code-signing-certificates@npm:^0.0.7": + version: 0.0.7 + resolution: "@expo/code-signing-certificates@npm:0.0.7" dependencies: - node-forge: "npm:^1.3.3" - checksum: 10c0/3c60be55fb056ccebf7355c1dbe959cee191eaa1c33c6ff5a7331c1ffe1cfa66edc6b62e8005b4a9023bbd40462d81d35284e79eaa8893facb2493801685bbea + node-forge: "npm:^1.4.0" + checksum: 10c0/3165fe8647c0faad582102e66dfec145097b61e28f36514414ad7ec330fb1e7b07cca19b09b67c8c6efabb493523428dbd8072b64700c306fbd01a88570b7e47 languageName: node linkType: hard -"@expo/config-plugins@npm:~56.0.7": - version: 56.0.7 - resolution: "@expo/config-plugins@npm:56.0.7" +"@expo/config-plugins@npm:~58.0.12": + version: 58.0.12 + resolution: "@expo/config-plugins@npm:58.0.12" dependencies: - "@expo/config-types": "npm:^56.0.5" - "@expo/json-file": "npm:~10.2.0" - "@expo/plist": "npm:^0.7.0" - "@expo/require-utils": "npm:^56.1.2" - "@expo/sdk-runtime-versions": "npm:^1.0.0" + "@expo/config-types": "npm:^58.0.3" + "@expo/json-file": "npm:~11.2.1" + "@expo/plist": "npm:^0.10.1" + "@expo/require-utils": "npm:^58.0.5" + "@expo/sdk-runtime-versions": "npm:^1.0.1" chalk: "npm:^4.1.2" debug: "npm:^4.3.5" getenv: "npm:^2.0.0" - glob: "npm:^13.0.0" - semver: "npm:^7.5.4" + semver: "npm:^7.7.4" slugify: "npm:^1.6.6" - xcode: "npm:^3.0.1" - xml2js: "npm:0.6.0" - checksum: 10c0/072883de80ddba355c159685e5c5cd92036e8a5069349bc2c93ccfcfa7458c36d3268d316ed86ae553a508d838e1fe4ba40058a00580f4f38191c328a1acf30c - languageName: node - linkType: hard - -"@expo/config-plugins@npm:~56.0.8": - version: 56.0.9 - resolution: "@expo/config-plugins@npm:56.0.9" - dependencies: - "@expo/config-types": "npm:^56.0.6" - "@expo/json-file": "npm:~10.2.0" - "@expo/plist": "npm:^0.7.0" - "@expo/require-utils": "npm:^56.1.3" - "@expo/sdk-runtime-versions": "npm:^1.0.0" - chalk: "npm:^4.1.2" - debug: "npm:^4.3.5" - getenv: "npm:^2.0.0" - glob: "npm:^13.0.0" - semver: "npm:^7.5.4" - slugify: "npm:^1.6.6" - xcode: "npm:^3.0.1" + tinyglobby: "npm:^0.2.15" + xcode: "npm:^4.0.0" xml2js: "npm:0.6.0" - checksum: 10c0/401be0071d0bdc1e86431a8dd2b19dfa117ad04b2c58c583b62a5ab5ebb93be3eed26857bdbec9433cb9f554771dda32ea2b7aa5aabf45b8037e6ce7cd705dee + checksum: 10c0/2c22a189ba39e5cd0583faeb67ae92a8413bc8edd59c41758ffb00976bef483bff1a789befc8d85070ac10fe88db935c53f75869bea0d9d51651ab02919538c0 languageName: node linkType: hard -"@expo/config-types@npm:^56.0.5": - version: 56.0.5 - resolution: "@expo/config-types@npm:56.0.5" - checksum: 10c0/b6aa98e3cb4b66954e307640550a168290d1e843c9fdedce64077e286d77cfd7e33c40333672d6434c32ad5468fa723e251bc49897fd606f7c1b985dc2170a1d +"@expo/config-types@npm:^58.0.3": + version: 58.0.3 + resolution: "@expo/config-types@npm:58.0.3" + checksum: 10c0/26b10fe6c0cb097dfd95c71572fca963507c2e4d4e924e7c7097371ae8b5f0106ba2f0db36090cb3f1a975ca6cae9fbc5b058753a1983a2336d085471fe3ec20 languageName: node linkType: hard -"@expo/config-types@npm:^56.0.6": - version: 56.0.6 - resolution: "@expo/config-types@npm:56.0.6" - checksum: 10c0/fa5d8b6a755a5ffa4ee4a138e7a3273f2f3fb7d1a84c4986ecc804f40656e18da89209cf85f3f93d4b3ca730c1a2688e5dc620a1ffd20dc9781834f3b426853f - languageName: node - linkType: hard - -"@expo/config@npm:~56.0.8": - version: 56.0.8 - resolution: "@expo/config@npm:56.0.8" +"@expo/config@npm:~58.0.11": + version: 58.0.11 + resolution: "@expo/config@npm:58.0.11" dependencies: - "@expo/config-plugins": "npm:~56.0.7" - "@expo/config-types": "npm:^56.0.5" - "@expo/json-file": "npm:^10.2.0" - "@expo/require-utils": "npm:^56.1.2" - deepmerge: "npm:^4.3.1" + "@expo/config-plugins": "npm:~58.0.12" + "@expo/config-types": "npm:^58.0.3" + "@expo/json-file": "npm:^11.2.1" + "@expo/platforms": "npm:^58.0.1" + "@expo/require-utils": "npm:^58.0.5" getenv: "npm:^2.0.0" - glob: "npm:^13.0.0" resolve-workspace-root: "npm:^2.0.0" - semver: "npm:^7.6.0" + semver: "npm:^7.7.4" slugify: "npm:^1.3.4" - checksum: 10c0/faee70cfc2a04f90203914d35058094d00eb1cbfa94d88efaec38fa7bdd934dc23cbdc8eedde9945d8b77ed758566403a1f5da6a599408d6c77df7f4b30cd2e9 + checksum: 10c0/df825634fece0d7580cf09be98688dfbc8aa841b486d2b4e9ad7b532b3b0c631f4c1ace1b23fe9503d366cb79e2dbb36b3fa4a3b40075233ff57984f97817ae2 languageName: node linkType: hard -"@expo/config@npm:~56.0.9": - version: 56.0.9 - resolution: "@expo/config@npm:56.0.9" - dependencies: - "@expo/config-plugins": "npm:~56.0.8" - "@expo/config-types": "npm:^56.0.5" - "@expo/json-file": "npm:^10.2.0" - "@expo/require-utils": "npm:^56.1.3" - deepmerge: "npm:^4.3.1" - getenv: "npm:^2.0.0" - glob: "npm:^13.0.0" - resolve-workspace-root: "npm:^2.0.0" - semver: "npm:^7.6.0" - slugify: "npm:^1.3.4" - checksum: 10c0/ef643ee063229e1cfba67998f2fd63c5e75781110af0bef99e8730e541fe5599cc8616c571d03918f2b21988652d108e6d0116b8a0d0599f21e7988d3e59f9c4 - languageName: node - linkType: hard - -"@expo/devcert@npm:^1.2.1": - version: 1.2.1 - resolution: "@expo/devcert@npm:1.2.1" +"@expo/devcert@npm:^1.2.2": + version: 1.2.2 + resolution: "@expo/devcert@npm:1.2.2" dependencies: "@expo/sudo-prompt": "npm:^9.3.1" debug: "npm:^3.1.0" - checksum: 10c0/7c5cb4fa74a14702a44b4772a56f27fd191b6cd08988f3da01323f6d592623c80247171b7d66b2c0a32408f48a0814162dbb2764042444887f27e38b89ad1051 + checksum: 10c0/1c56dfee5029d4d33efd6e572223493fecf87afbcb6b998fb329eae89a0211687e6ed472a3f16a1cbb2e91c8d5e83d6368f3c42edb5b4d821b087e535fd0fb07 languageName: node linkType: hard -"@expo/devtools@npm:~56.0.2": - version: 56.0.2 - resolution: "@expo/devtools@npm:56.0.2" +"@expo/devtools@npm:~58.0.2": + version: 58.0.2 + resolution: "@expo/devtools@npm:58.0.2" dependencies: chalk: "npm:^4.1.2" peerDependencies: + expo: "*" react: "*" react-native: "*" peerDependenciesMeta: + expo: + optional: true react: optional: true react-native: optional: true - checksum: 10c0/05455baf5ab1b5213f90c408b42ca38cb7db21fce1b616300072a6b82de14ee1d9cb80023cb6774573abdccbd52a835e04fed06c90b82b4e5ba2958320fb1265 + checksum: 10c0/d70acbd3103444b1c9c7254bb40485bf1cefb34e714ac9b41facb43aee8efd38704b0a88e08c6cde85227be64f41eb4f3f072f3e28aa5f0a428a94c07d59e225 languageName: node linkType: hard -"@expo/dom-webview@npm:^56.0.5, @expo/dom-webview@npm:~56.0.5": - version: 56.0.5 - resolution: "@expo/dom-webview@npm:56.0.5" +"@expo/dom-webview@npm:^58.0.2, @expo/dom-webview@npm:~58.0.2": + version: 58.0.2 + resolution: "@expo/dom-webview@npm:58.0.2" peerDependencies: expo: "*" react: "*" react-native: "*" - checksum: 10c0/0bdd893754586de59ccecac06eb98da203dada8e8a6434c3bb214a3c19f007ab0847d3bd3ec0dd53f1e6e80d64656f4775c654adb883f95b0a0bd8d9266512ef + checksum: 10c0/0d12e0694d711a68d2b46d84aac9304050214f289294318a938f1645eb97c58cbf7b60daaf6c05fff6ff5cf968d2fe224d2e20efc4d3b3233920a7d605650133 languageName: node linkType: hard -"@expo/env@npm:^2.3.0, @expo/env@npm:~2.3.0": - version: 2.3.0 - resolution: "@expo/env@npm:2.3.0" +"@expo/env@npm:^2.5.4, @expo/env@npm:~2.5.4": + version: 2.5.4 + resolution: "@expo/env@npm:2.5.4" dependencies: chalk: "npm:^4.0.0" debug: "npm:^4.3.4" getenv: "npm:^2.0.0" - checksum: 10c0/2a930a86a12daa63503ca250dfe8a45fe060f1f9b2e272a0aef83924cb103f7dc0ebbe6ebe6b067ecb369fafdcb7e017bd88bb161b5d54465b8da014fda89f84 + checksum: 10c0/6d8fc5e7ef2155676fa772806fb82dd98ca9f5f646ff5c6e4538adf54138212dccc024d5a2d81dceb2070191db1e0638518122634f5103869cac0c14d919d74e languageName: node linkType: hard -"@expo/expo-modules-macros-plugin@npm:~0.0.9": - version: 0.0.9 - resolution: "@expo/expo-modules-macros-plugin@npm:0.0.9" - checksum: 10c0/ed48100a888052338437d3165111b72099a9a415975e507a43cdc89f4dd26defca3a15621223b62b816ba4c12ecf95697c70a001698b69139897288c801aebad - languageName: node - linkType: hard - -"@expo/fingerprint@npm:^0.19.0": - version: 0.19.0 - resolution: "@expo/fingerprint@npm:0.19.0" +"@expo/fingerprint@npm:^0.21.9": + version: 0.21.9 + resolution: "@expo/fingerprint@npm:0.21.9" dependencies: - "@expo/env": "npm:^2.3.0" + "@expo/env": "npm:^2.5.4" "@expo/spawn-async": "npm:^1.8.0" arg: "npm:^5.0.2" chalk: "npm:^4.1.2" @@ -3166,280 +3128,279 @@ __metadata: ignore: "npm:^5.3.1" minimatch: "npm:^10.2.2" resolve-from: "npm:^5.0.0" - semver: "npm:^7.6.0" + semver: "npm:^7.7.4" bin: fingerprint: bin/cli.js - checksum: 10c0/197acde4a297b75177859397303a4fba465d2dc0fc1e48c063cde92e57292ee9b0cf83cebb77af19aa7f1aebca357ae69b4070b7955240290c4712eedf348bac + checksum: 10c0/e8f5bb8f73de69cb932d8e883a4910b6cd0efd0c58223acca5e5b8f4910393bc77f4d175acba3e5b83e0dd4c25598f008f9e9a78a1d16e4a0e9c6fbb95745c9f languageName: node linkType: hard -"@expo/image-utils@npm:^0.10.0": - version: 0.10.0 - resolution: "@expo/image-utils@npm:0.10.0" +"@expo/image-utils@npm:^0.12.6": + version: 0.12.6 + resolution: "@expo/image-utils@npm:0.12.6" dependencies: - "@expo/require-utils": "npm:^56.1.2" + "@expo/require-utils": "npm:^58.0.5" "@expo/spawn-async": "npm:^1.8.0" chalk: "npm:^4.0.0" getenv: "npm:^2.0.0" jimp-compact: "npm:0.16.1" parse-png: "npm:^2.1.0" - semver: "npm:^7.6.0" - checksum: 10c0/62ea44fb7c598c8dc88cad16294018a3e87a86bc9c723ef15c6ce43e44176b0251ec2255e99048d4cde5fd770f3bc45ffc23dd631884e7cd02a10b7f6a34af3d + semver: "npm:^7.7.4" + checksum: 10c0/9f3aaea3ac2dfce70f3ddebacfc593491c45e3b19a2d00488704122d6702f86c36cbadd9aaec219d052285f842b5e4417377622a1306e45eb58aa6991bf97f2b languageName: node linkType: hard -"@expo/inline-modules@npm:^0.0.9": - version: 0.0.9 - resolution: "@expo/inline-modules@npm:0.0.9" +"@expo/inline-modules@npm:^0.2.9": + version: 0.2.9 + resolution: "@expo/inline-modules@npm:0.2.9" dependencies: - "@expo/config-plugins": "npm:~56.0.7" - checksum: 10c0/7129b0c05cd444b2a0d1db365c37a9523bfc65730ca1c1720a9fd002dad0c6fa98d8560a082821276684751ff9dbf3ff7112e9dded707693f47d5b98dbd41e5a + "@expo/config-plugins": "npm:~58.0.12" + checksum: 10c0/b00bde0133b191ce5652a6b38e8cfe7f55522fc86c858a67990e4a1e5575cabc1f74a352d386b0cec7df5219063f2ea6c175367abf76f347fd0d7315b0599c82 languageName: node linkType: hard -"@expo/json-file@npm:^10.2.0, @expo/json-file@npm:~10.2.0": - version: 10.2.0 - resolution: "@expo/json-file@npm:10.2.0" +"@expo/json-file@npm:^11.2.1, @expo/json-file@npm:~11.2.1": + version: 11.2.1 + resolution: "@expo/json-file@npm:11.2.1" dependencies: "@babel/code-frame": "npm:^7.20.0" json5: "npm:^2.2.3" - checksum: 10c0/198058e18dea2f31083c2ae8a6831dddfc8fc01c4cb30020728da04f155a6b600b4219830b6df48195548fa29a450b5b775007ed8430fb8098fd9a1656188ea0 + checksum: 10c0/45cc14ea1b4f4bc124d6ee2d5412e3f7d23832c82bd21180558c2a070df425d700c1e84d49de57ec946b06e1287ecb63eda15addc2bf5c582bad916ae8ab7b46 languageName: node linkType: hard -"@expo/local-build-cache-provider@npm:^56.0.7": - version: 56.0.7 - resolution: "@expo/local-build-cache-provider@npm:56.0.7" +"@expo/local-build-cache-provider@npm:^58.0.11": + version: 58.0.11 + resolution: "@expo/local-build-cache-provider@npm:58.0.11" dependencies: - "@expo/config": "npm:~56.0.8" + "@expo/config": "npm:~58.0.11" chalk: "npm:^4.1.2" - checksum: 10c0/284eb6f662850550cb8018117e0751f6a0e63acf3b468f3b5e3af2ede6dfc0f866e7dd0f752d8db861130cb168b32cd90a3748c2f627a6a6cb0c950e4d2259de + checksum: 10c0/56cfbaecf2632bd59cdc39b71b32035bf5a6b816a582c1d5705900032217478b10ce17ef8290abb2d21a90e76fb055b346622453e9fba4648de955dad68f1033 + languageName: node + linkType: hard + +"@expo/log-box-utils@npm:^58.0.2": + version: 58.0.2 + resolution: "@expo/log-box-utils@npm:58.0.2" + checksum: 10c0/d3fb3da39eff0fb707f242c5d71be611a3060f5122fe123b792edb1426edd33f5eb973199231a0e07951bef328339a902dec8c48931f526896f30cf5e957ce5f languageName: node linkType: hard -"@expo/log-box@npm:^56.0.12": - version: 56.0.12 - resolution: "@expo/log-box@npm:56.0.12" +"@expo/log-box@npm:^58.0.15": + version: 58.0.15 + resolution: "@expo/log-box@npm:58.0.15" dependencies: - "@expo/dom-webview": "npm:^56.0.5" + "@expo/dom-webview": "npm:^58.0.2" + "@expo/log-box-utils": "npm:^58.0.2" anser: "npm:^1.4.9" stacktrace-parser: "npm:^0.1.10" peerDependencies: - "@expo/dom-webview": ^56.0.5 + "@expo/dom-webview": ^58.0.2 expo: "*" react: "*" react-native: "*" - checksum: 10c0/454d9f16df1921cad6afe8bf008693971d50c1f3ef7271a9ced86b69a4f5ec570d4781141731ce9306c7a222dd7ddd22712de85a208479bf4df028f81113a33e - languageName: node - linkType: hard - -"@expo/metro-config@npm:~56.0.0": - version: 56.0.14 - resolution: "@expo/metro-config@npm:56.0.14" - dependencies: - "@babel/code-frame": "npm:^7.20.0" - "@babel/core": "npm:^7.20.0" - "@babel/generator": "npm:^7.20.5" - "@expo/config": "npm:~56.0.9" - "@expo/env": "npm:~2.3.0" - "@expo/json-file": "npm:~10.2.0" - "@expo/metro": "npm:~56.0.0" - "@expo/require-utils": "npm:^56.1.3" - "@expo/spawn-async": "npm:^1.8.0" - "@jridgewell/gen-mapping": "npm:^0.3.13" - "@jridgewell/remapping": "npm:^2.3.5" - "@jridgewell/sourcemap-codec": "npm:^1.5.5" - browserslist: "npm:^4.25.0" - chalk: "npm:^4.1.0" - debug: "npm:^4.3.2" - getenv: "npm:^2.0.0" - glob: "npm:^13.0.0" - hermes-parser: "npm:^0.33.3" - jsc-safe-url: "npm:^0.2.4" - lightningcss: "npm:^1.30.1" - picomatch: "npm:^4.0.4" - postcss: "npm:^8.5.14" - resolve-from: "npm:^5.0.0" - peerDependencies: - expo: "*" peerDependenciesMeta: expo: optional: true - checksum: 10c0/3abbcd28d746be0afd21dfbf9be21ecea8471fded8df98bd381bf16c555c21a11617deda38b2586856a09eec1dd9f5edcea04a24ddcf7fca734fd3da1373e9db + checksum: 10c0/f9db95b151f5efb4d8029241a43cc623f2c6e7ce3311818463db80c6b50bc6a7f6fe14462d39e8ede92461b4a37306d0c54be97afc72e2bb2e3a24a45144372f languageName: node linkType: hard -"@expo/metro-config@npm:~56.0.11": - version: 56.0.11 - resolution: "@expo/metro-config@npm:56.0.11" +"@expo/metro-config@npm:58.0.21, @expo/metro-config@npm:~58.0.21": + version: 58.0.21 + resolution: "@expo/metro-config@npm:58.0.21" dependencies: + 2g: "npm:^1.0.1" "@babel/code-frame": "npm:^7.20.0" "@babel/core": "npm:^7.20.0" "@babel/generator": "npm:^7.20.5" - "@expo/config": "npm:~56.0.8" - "@expo/env": "npm:~2.3.0" - "@expo/json-file": "npm:~10.2.0" - "@expo/metro": "npm:~56.0.0" + "@expo/config": "npm:~58.0.11" + "@expo/env": "npm:~2.5.4" + "@expo/json-file": "npm:~11.2.1" + "@expo/metro": "npm:~58.0.0" + "@expo/platforms": "npm:^58.0.1" + "@expo/require-utils": "npm:^58.0.5" "@expo/spawn-async": "npm:^1.8.0" "@jridgewell/gen-mapping": "npm:^0.3.13" "@jridgewell/remapping": "npm:^2.3.5" "@jridgewell/sourcemap-codec": "npm:^1.5.5" + "@jridgewell/trace-mapping": "npm:^0.3.31" + "@react-native/js-polyfills": "npm:0.88.1" browserslist: "npm:^4.25.0" chalk: "npm:^4.1.0" debug: "npm:^4.3.2" getenv: "npm:^2.0.0" - glob: "npm:^13.0.0" - hermes-parser: "npm:^0.33.3" + hermes-parser: "npm:^0.36.0" jsc-safe-url: "npm:^0.2.4" lightningcss: "npm:^1.30.1" - msgpackr: "npm:^2.0.1" + noxcturnal: "npm:^0.1.11" picomatch: "npm:^4.0.4" - postcss: "npm:^8.5.14" + postcss: "npm:^8.5.23" resolve-from: "npm:^5.0.0" + tinyglobby: "npm:^0.2.15" peerDependencies: expo: "*" peerDependenciesMeta: expo: optional: true - checksum: 10c0/2031f0040c216b850c89801769fa6a31aef5c8f6329d66bdafd7cd7032f4372bb992d59e91667aed57a559075b58ab63c48100a41efcdf6d80950d11df4cdfc8 + checksum: 10c0/1dab5331c41067a767b8674eb316839c53685549b963bb5cb32ae846be7eb33ade5987ca1ac8c0b8f2adb57add0bbd57bd8f99f2bcd553e55a5ec9f016b6c1df languageName: node linkType: hard -"@expo/metro-file-map@npm:^56.0.3": - version: 56.0.3 - resolution: "@expo/metro-file-map@npm:56.0.3" +"@expo/metro-file-map@npm:^58.0.5": + version: 58.0.5 + resolution: "@expo/metro-file-map@npm:58.0.5" dependencies: + 2g: "npm:^1.0.1" debug: "npm:^4.3.4" fb-watchman: "npm:^2.0.2" invariant: "npm:^2.2.4" jest-worker: "npm:^29.7.0" - micromatch: "npm:^4.0.4" walker: "npm:^1.0.8" - checksum: 10c0/457e751c7a2824788494dc456579b6badde852c1ebc22a37231f5f6caf543e51155c276b6283ffd751e430e7300847cd8c85c7cc5e630469b09513ead4d97e9a + checksum: 10c0/8d9eb83fe856c62f02b463965dbc9370e54fc193c98403ef8e1bdd4aa4741e32092cd787f5c41b9f6cb9cb0c3cce3f3c78570c761488dde55e2a0389d552cd0e languageName: node linkType: hard -"@expo/metro@npm:~56.0.0": - version: 56.0.0 - resolution: "@expo/metro@npm:56.0.0" +"@expo/metro@npm:~58.0.0": + version: 58.0.0 + resolution: "@expo/metro@npm:58.0.0" dependencies: - metro: "npm:0.84.4" - metro-babel-transformer: "npm:0.84.4" - metro-cache: "npm:0.84.4" - metro-cache-key: "npm:0.84.4" - metro-config: "npm:0.84.4" - metro-core: "npm:0.84.4" - metro-file-map: "npm:0.84.4" - metro-minify-terser: "npm:0.84.4" - metro-resolver: "npm:0.84.4" - metro-runtime: "npm:0.84.4" - metro-source-map: "npm:0.84.4" - metro-symbolicate: "npm:0.84.4" - metro-transform-plugins: "npm:0.84.4" - metro-transform-worker: "npm:0.84.4" - checksum: 10c0/51f647dfce71a45ac0092ae06826be91ed05000eb96390c79499c407678121ee9fed1d807d00356e4636020801a42395ef32d316c997fad34806207145d9e9d1 + metro: "npm:0.87.1" + metro-babel-transformer: "npm:0.87.1" + metro-cache: "npm:0.87.1" + metro-cache-key: "npm:0.87.1" + metro-config: "npm:0.87.1" + metro-core: "npm:0.87.1" + metro-file-map: "npm:0.87.1" + metro-minify-terser: "npm:0.87.1" + metro-resolver: "npm:0.87.1" + metro-runtime: "npm:0.87.1" + metro-source-map: "npm:0.87.1" + metro-symbolicate: "npm:0.87.1" + metro-transform-plugins: "npm:0.87.1" + metro-transform-worker: "npm:0.87.1" + checksum: 10c0/7c9f7d0a3517d150de9c0a9ab893173ab220be7fab72303228c8b4c33eb5d4e0d91a2c4cc7c5f2ebc94418d127f13a0fa6be3d56136d4281e6d4162fd27c6b49 languageName: node linkType: hard -"@expo/osascript@npm:^2.6.0": - version: 2.6.0 - resolution: "@expo/osascript@npm:2.6.0" +"@expo/modules-macros-linux-arm64@npm:0.29.0": + version: 0.29.0 + resolution: "@expo/modules-macros-linux-arm64@npm:0.29.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@expo/modules-macros-linux-x64@npm:0.29.0": + version: 0.29.0 + resolution: "@expo/modules-macros-linux-x64@npm:0.29.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@expo/modules-macros-win32-arm64@npm:0.29.0": + version: 0.29.0 + resolution: "@expo/modules-macros-win32-arm64@npm:0.29.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@expo/modules-macros-win32-x64@npm:0.29.0": + version: 0.29.0 + resolution: "@expo/modules-macros-win32-x64@npm:0.29.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@expo/osascript@npm:^2.8.1": + version: 2.8.1 + resolution: "@expo/osascript@npm:2.8.1" dependencies: "@expo/spawn-async": "npm:^1.8.0" - checksum: 10c0/1d5f6440ea97e0ece1e46c8a54c35ad793ef942c53268f9535df7c7caac330e01114426c6780dacf5b716d5ee96bfdeaa7a924b7522eb18edcf9cf3b309d2421 + checksum: 10c0/e9237ea4524108a4d99d271da0cbd7eb1a7a001597fe574e463e784ad7c564e597ca6a0a9d0fedeab718bf251e2374a522a6d20d7441ffd60d1bc897b2761721 languageName: node linkType: hard -"@expo/package-manager@npm:^1.12.0": - version: 1.12.0 - resolution: "@expo/package-manager@npm:1.12.0" +"@expo/package-manager@npm:^1.14.2": + version: 1.14.2 + resolution: "@expo/package-manager@npm:1.14.2" dependencies: - "@expo/json-file": "npm:^10.2.0" + "@expo/json-file": "npm:^11.2.1" "@expo/spawn-async": "npm:^1.8.0" chalk: "npm:^4.0.0" npm-package-arg: "npm:^11.0.0" ora: "npm:^3.4.0" resolve-workspace-root: "npm:^2.0.0" - checksum: 10c0/e6060b67ae4557594a31b5dd259c0a322945a07df72e59d78a96059806756adccb67db32a210941cc49de47d0ac07f68dd4adc5d308d97f8d23f8daadc3db4b2 + checksum: 10c0/633d32cc236f7a051cdea4dfea62829078e67ea2a0213a66d0c1dd51b30e210d187bf372515e4466ea54bcbacc86c199855477a33e6d3ac10ceb2a0137c9e238 languageName: node linkType: hard -"@expo/plist@npm:^0.7.0": - version: 0.7.0 - resolution: "@expo/plist@npm:0.7.0" +"@expo/platforms@npm:^58.0.1": + version: 58.0.1 + resolution: "@expo/platforms@npm:58.0.1" + checksum: 10c0/6618be235c7b6669e4211ce28baa187174a81e5513933d3d31ec75abb554f1f465d4cf19a0e517f931455e7d1844da8dd685116cf2fa58111c3e415c75b13cd1 + languageName: node + linkType: hard + +"@expo/plist@npm:^0.10.1": + version: 0.10.1 + resolution: "@expo/plist@npm:0.10.1" dependencies: "@xmldom/xmldom": "npm:^0.8.8" base64-js: "npm:^1.5.1" xmlbuilder: "npm:^15.1.1" - checksum: 10c0/b0d3df057f9a388a761a9261381d55e86ad0935ca15d32bd78da536c803bfc9334c2381fdced99f086e76f5d675535101bfb652d9a79a39c10b0c764c140dcc9 + checksum: 10c0/9b6149d849f77af81a29c80822cb36e4dcd2309afdc8acfecb3c74d853b7c4f987513f69f96774e68a49081760bfe4b92223f989f36c08f55c71efb37acbb1eb languageName: node linkType: hard -"@expo/prebuild-config@npm:^56.0.10": - version: 56.0.10 - resolution: "@expo/prebuild-config@npm:56.0.10" +"@expo/prebuild-config@npm:^58.0.19": + version: 58.0.19 + resolution: "@expo/prebuild-config@npm:58.0.19" dependencies: - "@expo/config": "npm:~56.0.8" - "@expo/config-plugins": "npm:~56.0.7" - "@expo/config-types": "npm:^56.0.5" - "@expo/image-utils": "npm:^0.10.0" - "@expo/json-file": "npm:^10.2.0" - "@react-native/normalize-colors": "npm:0.85.3" + "@expo/config": "npm:~58.0.11" + "@expo/config-plugins": "npm:~58.0.12" + "@expo/config-types": "npm:^58.0.3" + "@expo/image-utils": "npm:^0.12.6" + "@expo/json-file": "npm:^11.2.1" + "@react-native/normalize-colors": "npm:0.88.1" debug: "npm:^4.3.1" - expo-modules-autolinking: "npm:~56.0.9" + expo-modules-autolinking: "npm:~58.0.17" resolve-from: "npm:^5.0.0" - semver: "npm:^7.6.0" - checksum: 10c0/04c40196d6d0b5744dc6d3a09c4cdfa46b800f4288173b64cebbabff8bad32cd86a37d0a616161afc054c4bc9decef3c8b19d3e831f4e358dbc2890f4efaa090 + semver: "npm:^7.7.4" + checksum: 10c0/38a32aa0cca3b7f84478b0280bdb2b08c9375a7ecc78939f3b27a8b70542cfadbdd34931dec67690f522e6b5ca1938a99a7206f73448be99b241d15e24b9d3e7 languageName: node linkType: hard -"@expo/require-utils@npm:^56.1.2": - version: 56.1.2 - resolution: "@expo/require-utils@npm:56.1.2" +"@expo/require-utils@npm:^58.0.5": + version: 58.0.5 + resolution: "@expo/require-utils@npm:58.0.5" dependencies: "@babel/code-frame": "npm:^7.20.0" "@babel/core": "npm:^7.25.2" "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" peerDependencies: - typescript: ^5.0.0 || ^5.0.0-0 || ^6.0.0 + typescript: ^5.0.0 || ^5.0.0-0 || ^6.0.0 || ^7.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/c0396d9129831430959b83ed5e376e7d86a76678ab66f53998109fe73eedf6366b3147f64d5229a3c9773d506f0ebd24a79a24fc73dfada7d169d02d0ef5967f + checksum: 10c0/2217314eef8750a04fb8965dfbe0bfe15f2b0efe4fba120c8c8b0bb1e69914f7ed6156ad3962154d728cc83f5f0e285061c98a44ad9804e849f3b09b18a97698 languageName: node linkType: hard -"@expo/require-utils@npm:^56.1.3": - version: 56.1.3 - resolution: "@expo/require-utils@npm:56.1.3" - dependencies: - "@babel/code-frame": "npm:^7.20.0" - "@babel/core": "npm:^7.25.2" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" - peerDependencies: - typescript: ^5.0.0 || ^5.0.0-0 || ^6.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/b0fc61db4e45507508bf01524f42770a5bf1f53fab9b244a7dc6c9d8acce0e912940d9945716b8f0c747a07262d34128150c78d00bbe996b2efc5d522c45d874 - languageName: node - linkType: hard - -"@expo/router-server@npm:^56.0.10": - version: 56.0.10 - resolution: "@expo/router-server@npm:56.0.10" +"@expo/router-server@npm:^58.0.21": + version: 58.0.21 + resolution: "@expo/router-server@npm:58.0.21" dependencies: debug: "npm:^4.3.4" peerDependencies: - "@expo/metro-runtime": ^56.0.10 + "@expo/metro-runtime": ^58.0.17 expo: "*" - expo-constants: ^56.0.13 - expo-font: ^56.0.5 + expo-constants: ^58.0.15 + expo-font: ^58.0.11 expo-router: "*" - expo-server: ^56.0.4 + expo-server: ^58.0.6 react: "*" react-dom: "*" - react-server-dom-webpack: ~19.0.1 || ~19.1.2 || ~19.2.1 + react-server-dom-webpack: ~19.0.1 || ~19.1.2 || ~19.2.1 || ~19.3.0 peerDependenciesMeta: "@expo/metro-runtime": optional: true @@ -3449,21 +3410,21 @@ __metadata: optional: true react-server-dom-webpack: optional: true - checksum: 10c0/e50a3f33f1f002b30e8ee2ac6b742cc53b38e80ec0e0a6c81e938e11d12e7c900db7f879159dc1f36127e12085e0219f8c52e52df971ccff78063ed15fdf4334 + checksum: 10c0/c68b47a18acba616f583e4634db6fa4700801f3c5a40b5eae39dc705834463927b965248179bf5a00be0d10861380cec0f16b444b82a48ab8fe07ae5085d817e languageName: node linkType: hard -"@expo/schema-utils@npm:^56.0.0": - version: 56.0.1 - resolution: "@expo/schema-utils@npm:56.0.1" - checksum: 10c0/8d6b2c76a754f64ae7f10ff417ab11ee64e6e665d34f13a6428ee86b1657cae5c0f40811b41c9716bd5e5f87461d403a08c915cb1c169408031e3c244184980d +"@expo/schema-utils@npm:^58.0.3": + version: 58.0.3 + resolution: "@expo/schema-utils@npm:58.0.3" + checksum: 10c0/04ff722de2158d3961183e4e58088a8abaa7348ad249b1bccd47e5569148f9fe8a7fbafdab03c1485d76270158038f1a01ce7495b6d68d7a9f7cdd70d3a69292 languageName: node linkType: hard -"@expo/sdk-runtime-versions@npm:^1.0.0": - version: 1.0.0 - resolution: "@expo/sdk-runtime-versions@npm:1.0.0" - checksum: 10c0/f80ae78a294daf396f3eff2eb412948ced5501395a6d3b88058866da9c5135dbacbb2804f8d062222e7452159a61eebefd2f548a2939f539f0f0efe8145588a2 +"@expo/sdk-runtime-versions@npm:^1.0.1": + version: 1.0.1 + resolution: "@expo/sdk-runtime-versions@npm:1.0.1" + checksum: 10c0/729c3d99ad8cb7acca41c3e76f63d4b216eae22fea04f3a99ec67bf189f29d36aa4880d863445f8d7e008d7ae67cf6f414539d1676bd82cb49a6dc7a6105e5a2 languageName: node linkType: hard @@ -3483,23 +3444,25 @@ __metadata: languageName: node linkType: hard -"@expo/ws-tunnel@npm:^1.0.1": - version: 1.0.6 - resolution: "@expo/ws-tunnel@npm:1.0.6" - checksum: 10c0/050eb7fbd54b636c97c818e7ec5402ce616cae655290386a51600b200947e281cdd12d182251c07fab449e11a732135d61429b738cd03945e94757061e652ecd +"@expo/ws-tunnel@npm:^2.0.1": + version: 2.0.1 + resolution: "@expo/ws-tunnel@npm:2.0.1" + peerDependencies: + ws: ^8.0.0 + checksum: 10c0/091e87213da4b9b32c714765fa028aecf9f5c268413b8794721264d875b49134642c24864ea21455d0757832c8c778b2db6c6de6d93ec8cf4dfe1bf50da934ad languageName: node linkType: hard -"@expo/xcpretty@npm:^4.4.4": - version: 4.4.4 - resolution: "@expo/xcpretty@npm:4.4.4" +"@expo/xcpretty@npm:^4.4.6": + version: 4.4.7 + resolution: "@expo/xcpretty@npm:4.4.7" dependencies: "@babel/code-frame": "npm:^7.20.0" chalk: "npm:^4.1.0" js-yaml: "npm:^4.1.0" bin: excpretty: build/cli.js - checksum: 10c0/cd555ad49438dee2cc3f2950ecbef3048f7169bbdadc8db169cfcddaad13668fee6377c010624ed4079dc439c46d6023d2551da403a2070deec000bc864e8dd8 + checksum: 10c0/739d25039bf6c929938f2c33ab908c8b073493e5bc9528d0a8533d1fd09be82a0fed22fbc0fb0410cefd2af2774f7204400c6ef0479627137318c19ede3f9619 languageName: node linkType: hard @@ -3920,7 +3883,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28, @jridgewell/trace-mapping@npm:^0.3.31": version: 0.3.31 resolution: "@jridgewell/trace-mapping@npm:0.3.31" dependencies: @@ -4022,48 +3985,6 @@ __metadata: languageName: node linkType: hard -"@msgpackr-extract/msgpackr-extract-darwin-arm64@npm:3.0.3": - version: 3.0.3 - resolution: "@msgpackr-extract/msgpackr-extract-darwin-arm64@npm:3.0.3" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@msgpackr-extract/msgpackr-extract-darwin-x64@npm:3.0.3": - version: 3.0.3 - resolution: "@msgpackr-extract/msgpackr-extract-darwin-x64@npm:3.0.3" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@msgpackr-extract/msgpackr-extract-linux-arm64@npm:3.0.3": - version: 3.0.3 - resolution: "@msgpackr-extract/msgpackr-extract-linux-arm64@npm:3.0.3" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"@msgpackr-extract/msgpackr-extract-linux-arm@npm:3.0.3": - version: 3.0.3 - resolution: "@msgpackr-extract/msgpackr-extract-linux-arm@npm:3.0.3" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@msgpackr-extract/msgpackr-extract-linux-x64@npm:3.0.3": - version: 3.0.3 - resolution: "@msgpackr-extract/msgpackr-extract-linux-x64@npm:3.0.3" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - -"@msgpackr-extract/msgpackr-extract-win32-x64@npm:3.0.3": - version: 3.0.3 - resolution: "@msgpackr-extract/msgpackr-extract-win32-x64@npm:3.0.3" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@napi-rs/wasm-runtime@npm:1.1.4": version: 1.1.4 resolution: "@napi-rs/wasm-runtime@npm:1.1.4" @@ -4112,6 +4033,62 @@ __metadata: languageName: node linkType: hard +"@noxcturnal/noxcturnal-darwin-arm64@npm:0.1.11": + version: 0.1.11 + resolution: "@noxcturnal/noxcturnal-darwin-arm64@npm:0.1.11" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@noxcturnal/noxcturnal-darwin-x64@npm:0.1.11": + version: 0.1.11 + resolution: "@noxcturnal/noxcturnal-darwin-x64@npm:0.1.11" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@noxcturnal/noxcturnal-linux-arm64-gnu@npm:0.1.11": + version: 0.1.11 + resolution: "@noxcturnal/noxcturnal-linux-arm64-gnu@npm:0.1.11" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@noxcturnal/noxcturnal-linux-arm64-musl@npm:0.1.11": + version: 0.1.11 + resolution: "@noxcturnal/noxcturnal-linux-arm64-musl@npm:0.1.11" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@noxcturnal/noxcturnal-linux-x64-gnu@npm:0.1.11": + version: 0.1.11 + resolution: "@noxcturnal/noxcturnal-linux-x64-gnu@npm:0.1.11" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@noxcturnal/noxcturnal-linux-x64-musl@npm:0.1.11": + version: 0.1.11 + resolution: "@noxcturnal/noxcturnal-linux-x64-musl@npm:0.1.11" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@noxcturnal/noxcturnal-win32-arm64-msvc@npm:0.1.11": + version: 0.1.11 + resolution: "@noxcturnal/noxcturnal-win32-arm64-msvc@npm:0.1.11" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@noxcturnal/noxcturnal-win32-x64-msvc@npm:0.1.11": + version: 0.1.11 + resolution: "@noxcturnal/noxcturnal-win32-x64-msvc@npm:0.1.11" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@npmcli/agent@npm:^4.0.0": version: 4.0.0 resolution: "@npmcli/agent@npm:4.0.0" @@ -4265,6 +4242,13 @@ __metadata: languageName: node linkType: hard +"@oxc-project/types@npm:0.154.0": + version: 0.154.0 + resolution: "@oxc-project/types@npm:0.154.0" + checksum: 10c0/fa91599d087ea4d37c5a3b40dd8e2cb431a7d37730116069f2577dee0b104dc5abb06c96b931c517c8b86f618df1e0c7a37d24086f3cfe39d81eb6db59e70add + languageName: node + linkType: hard + "@pkgr/core@npm:^0.3.6": version: 0.3.6 resolution: "@pkgr/core@npm:0.3.6" @@ -4325,26 +4309,35 @@ __metadata: languageName: node linkType: hard -"@react-native/assets-registry@npm:0.85.3": - version: 0.85.3 - resolution: "@react-native/assets-registry@npm:0.85.3" - checksum: 10c0/c926848dae180940c19a68df42783900474a010944fc2f31f1b9a61ec722e6b4ead76943a560df5679d64d4784e7e945fd9f6d60f25555fdd1eb59c4326b8c29 +"@react-native/asset-utils@npm:0.88.1": + version: 0.88.1 + resolution: "@react-native/asset-utils@npm:0.88.1" + checksum: 10c0/3189049a76b603ef0b13cbd65d6fafbc2e117643f81a2bebb9841254e48b78ab5c0f07b7110cd239bc232796c21aeaa3c9c5237e0c37ce0caa485ffe628d9b3c languageName: node linkType: hard -"@react-native/babel-plugin-codegen@npm:0.85.3": - version: 0.85.3 - resolution: "@react-native/babel-plugin-codegen@npm:0.85.3" +"@react-native/assets-registry@npm:^0.88.1": + version: 0.88.1 + resolution: "@react-native/assets-registry@npm:0.88.1" + peerDependencies: + react-native: "*" + checksum: 10c0/8fe60e8507b49c9e434f1d7bd0988cdd69498ceb10409da59e5e237b7bbd1759248b8670b3db525412cfd9d7c2a83369904db9ea91bfbf1033e2750e43fff833 + languageName: node + linkType: hard + +"@react-native/babel-plugin-codegen@npm:0.88.1": + version: 0.88.1 + resolution: "@react-native/babel-plugin-codegen@npm:0.88.1" dependencies: "@babel/traverse": "npm:^7.29.0" - "@react-native/codegen": "npm:0.85.3" - checksum: 10c0/59f61f5d783ac0a820a84ff45b7700b3c290de32e313e55171fe3bf0234d9836422bc239832d2650f893dc409a63772a50664f9487a8e6f86bc0c3bc88eb7ecd + "@react-native/codegen": "npm:0.88.1" + checksum: 10c0/32a170bc81fc7786c6b32495f6f4290287c14ac4d9edc03969a9aad35cb6281c40c75b3d74b691ee242ee852e2a47bacb3b03511c542f28a6ed3c5b4af02b2ba languageName: node linkType: hard -"@react-native/babel-preset@npm:^0.85.3": - version: 0.85.3 - resolution: "@react-native/babel-preset@npm:0.85.3" +"@react-native/babel-preset@npm:^0.88.1": + version: 0.88.1 + resolution: "@react-native/babel-preset@npm:0.88.1" dependencies: "@babel/core": "npm:^7.25.2" "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" @@ -4375,91 +4368,89 @@ __metadata: "@babel/plugin-transform-runtime": "npm:^7.24.7" "@babel/plugin-transform-typescript": "npm:^7.25.2" "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" - "@react-native/babel-plugin-codegen": "npm:0.85.3" - babel-plugin-syntax-hermes-parser: "npm:0.33.3" + "@react-native/babel-plugin-codegen": "npm:0.88.1" babel-plugin-transform-flow-enums: "npm:^0.0.2" + flow-parser: "npm:0.327.0" react-refresh: "npm:^0.14.0" peerDependencies: "@babel/core": "*" - checksum: 10c0/88b1ea1d0fcebf5df9b2eb6e48eb2c8c18c92fda64d54c91b95a6974348d6f2c2cc72777ac479586fee27b24ce7caccd9d6460394a3adb2a8a0915d36d6da14b + checksum: 10c0/c5eafaa1df33c8231cb381b6464f8aaf949899a5419c5c93eb9f14d058221368db242f9efb21381d8cc2fdd389cf09f6ea6c35164a408ddc8773c94a3e93b750 languageName: node linkType: hard -"@react-native/codegen@npm:0.85.3": - version: 0.85.3 - resolution: "@react-native/codegen@npm:0.85.3" +"@react-native/codegen@npm:0.88.1": + version: 0.88.1 + resolution: "@react-native/codegen@npm:0.88.1" dependencies: "@babel/core": "npm:^7.25.2" "@babel/parser": "npm:^7.29.0" - hermes-parser: "npm:0.33.3" + flow-parser: "npm:0.327.0" invariant: "npm:^2.2.4" nullthrows: "npm:^1.1.1" tinyglobby: "npm:^0.2.15" yargs: "npm:^17.6.2" peerDependencies: "@babel/core": "*" - checksum: 10c0/3d6e08564c3436fcbd450c279b6755768ddfa47a534455c3077c222d5aa0a77270682afe933aa8d84bcd952b1a43107d25220d17c83f4f003fd338846a33ea4c + checksum: 10c0/33f3ef562dcfede10b39e3d68d5be0539314a2737421d385d334a18c96507ba00c430f1c99fad69a9e3c94c3e01c2f07b55fa0b95f8cf18623d32a7e984133cd languageName: node linkType: hard -"@react-native/community-cli-plugin@npm:0.85.3": - version: 0.85.3 - resolution: "@react-native/community-cli-plugin@npm:0.85.3" +"@react-native/community-cli-plugin@npm:0.88.1": + version: 0.88.1 + resolution: "@react-native/community-cli-plugin@npm:0.88.1" dependencies: - "@react-native/dev-middleware": "npm:0.85.3" + "@react-native/asset-utils": "npm:0.88.1" + "@react-native/dev-middleware": "npm:0.88.1" + commander: "npm:^12.0.0" debug: "npm:^4.4.0" invariant: "npm:^2.2.4" - metro: "npm:^0.84.3" - metro-config: "npm:^0.84.3" - metro-core: "npm:^0.84.3" + metro: "npm:^0.87.1" semver: "npm:^7.1.3" peerDependencies: "@react-native-community/cli": "*" - "@react-native/metro-config": 0.85.3 + "@react-native/metro-config": 0.88.1 peerDependenciesMeta: "@react-native-community/cli": optional: true "@react-native/metro-config": optional: true - checksum: 10c0/23d09b4b7e7324efb563f96e7d6fe672bd6c6e2e2a81e60cb60ef017765e43790a1ed0b56d2960d73780730fe3f13b2a4c53cf88b93a2c44da61bbcd16af8e78 + checksum: 10c0/aeee1cd978bdf4f60994888465ca6af8b94d6cb706a06b1fa2dad1b5e11f62e70c8042afe1beb246c7fb5bff684aa951606ad45809faf7a18a0e3e6a81a005b8 languageName: node linkType: hard -"@react-native/debugger-frontend@npm:0.85.3": - version: 0.85.3 - resolution: "@react-native/debugger-frontend@npm:0.85.3" - checksum: 10c0/4e52fc9f10051d0d1ae225ff5c1d0fbcf5e5cc2fdfa13f5985b8578352a3196bd0ad6c7714f62901496be7f231e593308964a469f26575680f558f48e6161a2e +"@react-native/debugger-frontend@npm:0.88.1": + version: 0.88.1 + resolution: "@react-native/debugger-frontend@npm:0.88.1" + checksum: 10c0/b39d57e9f6aee083bf8b3d19fc9c22986767ba76d3d813eaf093a5e8b50a0a385d72aadd50de1c03754a5fdfbcaf4d12349f77ccd01fd18713321d49a3ddc04c languageName: node linkType: hard -"@react-native/debugger-shell@npm:0.85.3": - version: 0.85.3 - resolution: "@react-native/debugger-shell@npm:0.85.3" +"@react-native/debugger-shell@npm:0.88.1": + version: 0.88.1 + resolution: "@react-native/debugger-shell@npm:0.88.1" dependencies: cross-spawn: "npm:^7.0.6" debug: "npm:^4.4.0" fb-dotslash: "npm:0.5.8" - checksum: 10c0/2782929d1352c323cc33289fb2b08a8d05b4df5b59af7d588958729f59db966ffd6d73e2df86a66b240f005e23f796829b56978f4a0152a6837e67fd0fae1dd0 + checksum: 10c0/98aeca1f2f2edf86c47f112b364c77dab00314cc77262ba1793ad85de8dd76ee5413a66320e033230e203a25ae864fa1fa18475e7577a4bbe25f7d4b7e1eef5d languageName: node linkType: hard -"@react-native/dev-middleware@npm:0.85.3": - version: 0.85.3 - resolution: "@react-native/dev-middleware@npm:0.85.3" +"@react-native/dev-middleware@npm:0.88.1": + version: 0.88.1 + resolution: "@react-native/dev-middleware@npm:0.88.1" dependencies: "@isaacs/ttlcache": "npm:^1.4.1" - "@react-native/debugger-frontend": "npm:0.85.3" - "@react-native/debugger-shell": "npm:0.85.3" - chrome-launcher: "npm:^0.15.2" - chromium-edge-launcher: "npm:^0.3.0" + "@react-native/debugger-frontend": "npm:0.88.1" + "@react-native/debugger-shell": "npm:0.88.1" connect: "npm:^3.6.5" debug: "npm:^4.4.0" invariant: "npm:^2.2.4" nullthrows: "npm:^1.1.1" - open: "npm:^7.0.3" + open: "npm:^8.4.2" serve-static: "npm:^1.16.2" ws: "npm:^7.5.10" - checksum: 10c0/6adb5e0ecf933f1936eaf993bc39dd8afd4b20e1f1f6525f2c1428fb9000855a764fa93a4043a1bb1678ec827d9c5fca2d6082a928c3dac49f51ea882d991011 + checksum: 10c0/740aecce1af5da2544495d317206dbf2826c5c5ae440df61f8105c972334e885defdff6defefe0274a3a8294bfe8666c6b14f4c2915b1856c6357ce11c880d86 languageName: node linkType: hard @@ -4470,39 +4461,39 @@ __metadata: languageName: node linkType: hard -"@react-native/gradle-plugin@npm:0.85.3": - version: 0.85.3 - resolution: "@react-native/gradle-plugin@npm:0.85.3" - checksum: 10c0/a5a57a0f0783cc31f3daec9e092c32774e72dbae334e9a3eaa86a4ff55f6563069003213d72efc2666e2381b73c653a2f8a4af42c8efd5a974eb848233984a2c +"@react-native/gradle-plugin@npm:0.88.1": + version: 0.88.1 + resolution: "@react-native/gradle-plugin@npm:0.88.1" + checksum: 10c0/b78162926d85c4261338c1f00f0f423d949b619f61eaada6be20d07297e675c7923edeb1234df23be8b0cb3d334fd08e24af4a10f122df64e9d6ad2e5c4ed8fa languageName: node linkType: hard -"@react-native/jest-preset@npm:^0.85.3": - version: 0.85.3 - resolution: "@react-native/jest-preset@npm:0.85.3" +"@react-native/jest-preset@npm:^0.88.1": + version: 0.88.1 + resolution: "@react-native/jest-preset@npm:0.88.1" dependencies: "@jest/create-cache-key-function": "npm:^29.7.0" - "@react-native/js-polyfills": "npm:0.85.3" + "@react-native/js-polyfills": "npm:0.88.1" babel-jest: "npm:^29.7.0" jest-environment-node: "npm:^29.7.0" regenerator-runtime: "npm:^0.13.2" peerDependencies: react: ^19.2.3 - checksum: 10c0/7c18a87432978d8e05bb66401d6591a99e1aaf575a206afd0a120611359c8addf7259ecf9f1ccb162fd2bd23412eaf8d7791168718bbe180e397a219806a302f + checksum: 10c0/ccc82f5faaae56b3e9fce5d8112dbaef30d87a9bc905d199813c3620ee4aad5ef87eeafa20aae099d1d9740b2989c00f5dd6e182af71ac8864178b150ab1b873 languageName: node linkType: hard -"@react-native/js-polyfills@npm:0.85.3": - version: 0.85.3 - resolution: "@react-native/js-polyfills@npm:0.85.3" - checksum: 10c0/67c4ed8234cbeb6d5250b06901f352ddd5348f9aad88aac8a06dc884f42e0da22ff2e1ca8e06c7d03e1e659486bdb9d7682f34858ebf9398d7ae199ce02b3749 +"@react-native/js-polyfills@npm:0.88.1": + version: 0.88.1 + resolution: "@react-native/js-polyfills@npm:0.88.1" + checksum: 10c0/b31ab4db95dbbc3d89fbd7d489cdede3a153f8091d918b8394b753424c12902c4e8d498385a28e749fc6bd449550757f4e28a6ed766fed1fdbf0d2aab0a44502 languageName: node linkType: hard -"@react-native/normalize-colors@npm:0.85.3": - version: 0.85.3 - resolution: "@react-native/normalize-colors@npm:0.85.3" - checksum: 10c0/343cdbe79e51b0f62e13fcf8620d9c72d7d956d18e9b1b04380a231cff1ec43ff2c54f1ed7a9b975bc23ed4879b96520a7c88aa1c8c7f17a99c32ef8073cf341 +"@react-native/normalize-colors@npm:0.88.1": + version: 0.88.1 + resolution: "@react-native/normalize-colors@npm:0.88.1" + checksum: 10c0/3db7e7b7ac754f648759cced1cccfb0e2526ed5088495312da7d2b797e1bb1b9df351fd583e4c6bf09fd5c99a757335bc503736673962df173fe9afeab6c1205 languageName: node linkType: hard @@ -4513,133 +4504,139 @@ __metadata: languageName: node linkType: hard -"@react-native/virtualized-lists@npm:0.85.3": - version: 0.85.3 - resolution: "@react-native/virtualized-lists@npm:0.85.3" +"@react-native/virtualized-lists@npm:0.88.1": + version: 0.88.1 + resolution: "@react-native/virtualized-lists@npm:0.88.1" dependencies: invariant: "npm:^2.2.4" nullthrows: "npm:^1.1.1" peerDependencies: "@types/react": ^19.2.0 react: "*" - react-native: 0.85.3 + react-native: 0.88.1 peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/ff3425a27c90f3d51292533c330338cfb285d1a230129abed315e7ea07be55e62ab395f7b167c0fe5b20385f67f587a8ea17440e6ab18661846cc8a1936f8fdb + checksum: 10c0/663f3798bb619677549e047703d102e28244b569fedbcf493fbf4f056f5a06093cbf12470873593f7c436357c11660d41eed55638fbac404e2438b4b2e06fa13 languageName: node linkType: hard -"@react-navigation/bottom-tabs@npm:^8.0.0-alpha.33": - version: 8.0.0-alpha.33 - resolution: "@react-navigation/bottom-tabs@npm:8.0.0-alpha.33" +"@react-navigation/bottom-tabs@npm:^8.0.0-alpha.57": + version: 8.0.0-alpha.57 + resolution: "@react-navigation/bottom-tabs@npm:8.0.0-alpha.57" dependencies: - "@react-navigation/elements": "npm:^3.0.0-alpha.31" + "@react-navigation/elements": "npm:^3.0.0-alpha.55" peerDependencies: - "@react-navigation/native": ^8.0.0-alpha.28 + "@react-navigation/native": ^8.0.0-alpha.51 react: ">= 19.2.0" react-native: "*" react-native-safe-area-context: ">= 5.5.0" - react-native-screens: ">= 4.25.0" - checksum: 10c0/94a2f3c6ec0f266d0bd53066069bdcfc8e59563530cec4519bb34aca6f248e79295d367fb1a63299658081411fb4b93718927a04d7d41fa399c3b6fbdf874f26 + react-native-screens: ">= 4.30.0" + checksum: 10c0/2c60128ac01172c4175cd2f3eca38ce619fdbbd7b4db2eb1abe212032ddf509abd0901861c895b05751122b69eb2a2c99b422c7d8c71bc88afba8030703af399 languageName: node linkType: hard -"@react-navigation/core@npm:^8.0.0-alpha.19": - version: 8.0.0-alpha.19 - resolution: "@react-navigation/core@npm:8.0.0-alpha.19" +"@react-navigation/core@npm:^8.0.0-alpha.41": + version: 8.0.0-alpha.41 + resolution: "@react-navigation/core@npm:8.0.0-alpha.41" dependencies: - "@react-navigation/routers": "npm:^8.0.0-alpha.10" - escape-string-regexp: "npm:^5.0.0" + "@react-navigation/routers": "npm:^8.0.0-alpha.21" fast-deep-equal: "npm:^3.1.3" - nanoid: "npm:^5.1.7" - query-string: "npm:^9.3.1" - react-is: "npm:^19.1.0" - use-latest-callback: "npm:^0.3.3" - use-sync-external-store: "npm:^1.6.0" + react-is: "npm:^19.2.6" + use-latest-callback: "npm:^0.3.5" + warn-once: "npm:^0.1.1" peerDependencies: react: ">= 19.2.0" - checksum: 10c0/bb0ce7e49b063cf423effcc8b668c5b73ad83ea61abcdd807aebe04cf1ededfe4042e13a1ba92fae09d8c1ed5f4fcc8faf51e8603c8a9f7a710d66be051b5ec0 + checksum: 10c0/47d3f7a1c593f9a4b2f2789a424c44a5269ffca244ed9b4d65f70523741a774d5bfd1ef2047a20d6e9a30978016617380b7bfe5264ab43923f5af7b0621f8ebe languageName: node linkType: hard -"@react-navigation/drawer@npm:^8.0.0-alpha.34": - version: 8.0.0-alpha.34 - resolution: "@react-navigation/drawer@npm:8.0.0-alpha.34" +"@react-navigation/drawer@npm:^8.0.0-alpha.58": + version: 8.0.0-alpha.58 + resolution: "@react-navigation/drawer@npm:8.0.0-alpha.58" dependencies: - "@react-navigation/elements": "npm:^3.0.0-alpha.31" - react-native-drawer-layout: "npm:^5.0.0-alpha.10" - use-latest-callback: "npm:^0.3.3" + "@react-navigation/elements": "npm:^3.0.0-alpha.55" + react-native-drawer-layout: "npm:^5.0.0-alpha.20" + use-latest-callback: "npm:^0.3.5" peerDependencies: - "@react-navigation/native": ^8.0.0-alpha.28 + "@react-navigation/native": ^8.0.0-alpha.51 react: ">= 19.2.0" react-native: "*" - react-native-gesture-handler: ">= 2.0.0" + react-native-gesture-handler: ">= 3.0.0" react-native-reanimated: ">= 4.0.0" react-native-safe-area-context: ">= 5.5.0" - react-native-screens: ">= 4.25.0" + react-native-screens: ">= 4.30.0" react-native-worklets: ">= 0.4.0" - checksum: 10c0/0e1b6a0b34b06c4d42e7495619a4871a7cee4f2fa798259607f4399c7c8716ff0d6a1a0da0025d1a83b6c7097f252ac67b136a1d7de533ce35d0d61f11e8b0c2 + checksum: 10c0/9e7967a382f8f976efa7db2f98be67dbff414d30101565e68f7ea944a01babaf4d5c185327b51150c3dad95f66452821044d070b408040555f59281431625661 languageName: node linkType: hard -"@react-navigation/elements@npm:3.0.0-alpha.31, @react-navigation/elements@npm:^3.0.0-alpha.31": - version: 3.0.0-alpha.31 - resolution: "@react-navigation/elements@npm:3.0.0-alpha.31" +"@react-navigation/elements@npm:3.0.0-alpha.55, @react-navigation/elements@npm:^3.0.0-alpha.55": + version: 3.0.0-alpha.55 + resolution: "@react-navigation/elements@npm:3.0.0-alpha.55" dependencies: - sf-symbols-typescript: "npm:^2.2.0" - use-latest-callback: "npm:^0.3.3" + use-latest-callback: "npm:^0.3.5" use-sync-external-store: "npm:^1.6.0" peerDependencies: "@callstack/liquid-glass": ">= 0.6.0" - "@react-navigation/native": ^8.0.0-alpha.28 + "@react-navigation/native": ^8.0.0-alpha.51 react: ">= 19.2.0" react-native: "*" react-native-safe-area-context: ">= 5.5.0" - react-native-screens: ">= 4.25.0" - checksum: 10c0/a3a4433fba4cb15a7cb043fdd6033ee09c834e03a34b91f2fdee02527f5f19951ff2841f583dc569a7b0b44f5030c6313cd5ebc10a2743700a33fc404bcdc906 + react-native-screens: ">= 4.30.0" + checksum: 10c0/92a897518edb404f978aaea3862cbf99a6b22a7831697c508f6268b84348eb127a313d3855270a401eaafa1e20a8a7bf48aabbbc631f7d3e9e13948058509a1d + languageName: node + linkType: hard + +"@react-navigation/material-symbols@npm:^8.0.0-alpha.1": + version: 8.0.0-alpha.1 + resolution: "@react-navigation/material-symbols@npm:8.0.0-alpha.1" + checksum: 10c0/0f7a6b46b69e4f7ed95bc96da0ccc8cb67a33a23d95246ff581dcb22fb4123d8492f8846f192ef693fd79893d128ee27ef95d0f8b7b1b852338efecf8484d242 languageName: node linkType: hard -"@react-navigation/native-stack@npm:^8.0.0-alpha.34": - version: 8.0.0-alpha.34 - resolution: "@react-navigation/native-stack@npm:8.0.0-alpha.34" +"@react-navigation/native-stack@npm:^8.0.0-alpha.59": + version: 8.0.0-alpha.59 + resolution: "@react-navigation/native-stack@npm:8.0.0-alpha.59" dependencies: - "@react-navigation/elements": "npm:^3.0.0-alpha.31" + "@react-navigation/elements": "npm:^3.0.0-alpha.55" warn-once: "npm:^0.1.1" peerDependencies: - "@react-navigation/native": ^8.0.0-alpha.28 + "@react-navigation/native": ^8.0.0-alpha.51 react: ">= 19.2.0" react-native: "*" react-native-safe-area-context: ">= 5.5.0" - react-native-screens: ">= 4.25.0" - checksum: 10c0/322de7b9e0ad1ddcec95d96c793807a11b8d20cb0c008d70863d8401d97b8620277c39c6f93eac65e854f583d1d078542979cfa52ce30b6e188c13eaa001b842 + react-native-screens: ">= 4.30.0" + checksum: 10c0/d0af89f438dec0337cdabd0612f92ca3f3c40997f52afe5f52f017062dbb32e80e4c5034d8d3993d7310b171f3e980abcee9d2812dffd7626b7811f3c4590d9c languageName: node linkType: hard -"@react-navigation/native@npm:^8.0.0-alpha.28": - version: 8.0.0-alpha.28 - resolution: "@react-navigation/native@npm:8.0.0-alpha.28" +"@react-navigation/native@npm:^8.0.0-alpha.51": + version: 8.0.0-alpha.51 + resolution: "@react-navigation/native@npm:8.0.0-alpha.51" dependencies: - "@react-navigation/core": "npm:^8.0.0-alpha.19" + "@react-navigation/core": "npm:^8.0.0-alpha.41" + "@react-navigation/material-symbols": "npm:^8.0.0-alpha.1" escape-string-regexp: "npm:^5.0.0" fast-deep-equal: "npm:^3.1.3" - nanoid: "npm:^5.1.7" + nanoid: "npm:^5.1.11" sf-symbols-typescript: "npm:^2.2.0" - use-latest-callback: "npm:^0.3.3" + standard-navigation: "npm:^0.0.8" + use-latest-callback: "npm:^0.3.5" + warn-once: "npm:^0.1.1" peerDependencies: react: ">= 19.2.0" react-native: "*" - checksum: 10c0/2221366589b1fce39578c7dc25e420902585ea0eed02214deca7795a407f56dc607a97bc0e346e4e01502fe181269d3075380b3c7af75a8b70f73e0ddb5585c4 + checksum: 10c0/6f99f21c0a0e18680a353689d27c71e15d7becd15455dfe8f3308c3bc6f2570ed1140072a5a588aeee19d025bc317e2bec1fddd97e443ac5a7e5771168e640e0 languageName: node linkType: hard -"@react-navigation/routers@npm:^8.0.0-alpha.10": - version: 8.0.0-alpha.10 - resolution: "@react-navigation/routers@npm:8.0.0-alpha.10" +"@react-navigation/routers@npm:^8.0.0-alpha.21": + version: 8.0.0-alpha.21 + resolution: "@react-navigation/routers@npm:8.0.0-alpha.21" dependencies: - nanoid: "npm:^5.1.7" - checksum: 10c0/1ca44e6b0baccd802cd306c96bcd38ab7513856c2cbad457c146449349718ccecdedbdeeff77c490429b080f5fc92df7fd5e8e87a902b62bbec9a8e6e7a6ae14 + nanoid: "npm:^5.1.11" + checksum: 10c0/13bfd712a17da2cc3b61b22ebf1a9a1d0027ce5d17efbf66bba1fe517d1a35c769fad5b5159bde0c74ff89ad895e3a2dbbeada8a559ec96cff72ad009d947e67 languageName: node linkType: hard @@ -5248,13 +5245,6 @@ __metadata: languageName: node linkType: hard -"@types/hammerjs@npm:^2.0.36": - version: 2.0.46 - resolution: "@types/hammerjs@npm:2.0.46" - checksum: 10c0/f3c1cb20dc2f0523f7b8c76065078544d50d8ae9b0edc1f62fed657210ed814266ff2dfa835d2c157a075991001eec3b64c88bf92e3e6e895c0db78d05711d06 - languageName: node - linkType: hard - "@types/hast@npm:^2.0.0": version: 2.3.10 resolution: "@types/hast@npm:2.3.10" @@ -5470,6 +5460,15 @@ __metadata: languageName: node linkType: hard +"@types/react@npm:^19.3.0": + version: 19.3.0 + resolution: "@types/react@npm:19.3.0" + dependencies: + csstype: "npm:^3.2.2" + checksum: 10c0/fbcabf303f935ca9f36ed2dcf81751cf84744098c5a683c8a62a0fa7edd31714b48d5c46b12fd0014f7f2dfe4d9ec6de428a850748eec719a70294e51029551b + languageName: node + linkType: hard + "@types/reactcss@npm:*": version: 1.2.13 resolution: "@types/reactcss@npm:1.2.13" @@ -5939,15 +5938,6 @@ __metadata: languageName: node linkType: hard -"abort-controller@npm:^3.0.0": - version: 3.0.0 - resolution: "abort-controller@npm:3.0.0" - dependencies: - event-target-shim: "npm:^5.0.0" - checksum: 10c0/90ccc50f010250152509a344eb2e71977fbf8db0ab8f1061197e3275ddf6c61a41a6edfd7b9409c664513131dd96e962065415325ef23efa5db931b382d24ca5 - languageName: node - linkType: hard - "accepts@npm:^1.3.8, accepts@npm:~1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" @@ -6018,6 +6008,15 @@ __metadata: languageName: node linkType: hard +"agent-cli-detector@npm:0.1.7": + version: 0.1.7 + resolution: "agent-cli-detector@npm:0.1.7" + bin: + agent-cli-detector: dist/cli.js + checksum: 10c0/4ff016e5fad2d96a0c53db9fd75c2359bb005a672969e8e6e7bce5c910e94107c226cbcba1303409d1da3a1cdf8f22290e63049705bb530823cce4699d39fc1d + languageName: node + linkType: hard + "ajv-formats@npm:^2.1.1": version: 2.1.1 resolution: "ajv-formats@npm:2.1.1" @@ -6666,19 +6665,10 @@ __metadata: languageName: node linkType: hard -"babel-plugin-react-native-web@npm:~0.21.0": - version: 0.21.2 - resolution: "babel-plugin-react-native-web@npm:0.21.2" - checksum: 10c0/45fa9b2fce90cb0d962bbc9c665e944ef6720f5740a573d457adf8e2881bd4112396922d5d5c0ab7cfc706f0c457e3edebddc55289d30924e1f42b4b7d849b8e - languageName: node - linkType: hard - -"babel-plugin-syntax-hermes-parser@npm:0.33.3, babel-plugin-syntax-hermes-parser@npm:^0.33.3": - version: 0.33.3 - resolution: "babel-plugin-syntax-hermes-parser@npm:0.33.3" - dependencies: - hermes-parser: "npm:0.33.3" - checksum: 10c0/61d9f0014b249247e6d5809b638cec4770769a077d3509b8ad575f62c814b28bdd78157dfddf94b040696497c3b78e69cc14793b0b5c15f893c11dc225cc0e3e +"babel-plugin-react-native-web@npm:~0.21.4": + version: 0.21.4 + resolution: "babel-plugin-react-native-web@npm:0.21.4" + checksum: 10c0/97f0571a27d0e69204260510b9bbffa1b895866e33a663b14fd84ba23a939d7efe62c0cfabe3457dd0e0616f456245487aa8b484291219959ad849084df80ca0 languageName: node linkType: hard @@ -6691,6 +6681,15 @@ __metadata: languageName: node linkType: hard +"babel-plugin-syntax-hermes-parser@npm:^0.36.0": + version: 0.36.1 + resolution: "babel-plugin-syntax-hermes-parser@npm:0.36.1" + dependencies: + hermes-parser: "npm:0.36.1" + checksum: 10c0/d6343ef16032253408cc8f4585c7acc275101f3194c312606e0f0d65ccf768db36b74e907296a93f3844c108ed19776052d5e844cbd21ec18c43a23ce7c2055e + languageName: node + linkType: hard + "babel-plugin-transform-flow-enums@npm:^0.0.2": version: 0.0.2 resolution: "babel-plugin-transform-flow-enums@npm:0.0.2" @@ -6743,9 +6742,9 @@ __metadata: languageName: node linkType: hard -"babel-preset-expo@npm:~56.0.0": - version: 56.0.8 - resolution: "babel-preset-expo@npm:56.0.8" +"babel-preset-expo@npm:~58.0.24": + version: 58.0.24 + resolution: "babel-preset-expo@npm:58.0.24" dependencies: "@babel/generator": "npm:^7.20.5" "@babel/helper-module-imports": "npm:^7.25.9" @@ -6783,16 +6782,16 @@ __metadata: "@babel/plugin-transform-typescript": "npm:^7.25.2" "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" "@babel/preset-typescript": "npm:^7.23.0" - "@react-native/babel-plugin-codegen": "npm:0.85.3" + "@react-native/babel-plugin-codegen": "npm:0.88.1" babel-plugin-react-compiler: "npm:^1.0.0" - babel-plugin-react-native-web: "npm:~0.21.0" - babel-plugin-syntax-hermes-parser: "npm:^0.33.3" + babel-plugin-react-native-web: "npm:~0.21.4" + babel-plugin-syntax-hermes-parser: "npm:^0.36.0" babel-plugin-transform-flow-enums: "npm:^0.0.2" debug: "npm:^4.3.4" peerDependencies: "@babel/runtime": ^7.20.0 expo: "*" - expo-widgets: ^56.0.8 + expo-widgets: ^58.0.27 react-refresh: ">=0.14.0 <1.0.0" peerDependenciesMeta: "@babel/runtime": @@ -6801,69 +6800,7 @@ __metadata: optional: true expo-widgets: optional: true - checksum: 10c0/7282010ce66048c7750f09c9ea1ac1accc6a6f613ea2df28a5386d3d1f45588e1bb79bbc0ea23d4c0466d4e224afb2b03ab6870334d1c26fc6e4a919a704febb - languageName: node - linkType: hard - -"babel-preset-expo@npm:~56.0.10": - version: 56.0.10 - resolution: "babel-preset-expo@npm:56.0.10" - dependencies: - "@babel/generator": "npm:^7.20.5" - "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/plugin-proposal-decorators": "npm:^7.12.9" - "@babel/plugin-proposal-export-default-from": "npm:^7.24.7" - "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" - "@babel/plugin-syntax-export-default-from": "npm:^7.24.7" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-transform-async-generator-functions": "npm:^7.25.4" - "@babel/plugin-transform-async-to-generator": "npm:^7.24.7" - "@babel/plugin-transform-block-scoping": "npm:^7.25.0" - "@babel/plugin-transform-class-properties": "npm:^7.25.4" - "@babel/plugin-transform-class-static-block": "npm:^7.27.1" - "@babel/plugin-transform-classes": "npm:^7.25.4" - "@babel/plugin-transform-destructuring": "npm:^7.24.8" - "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" - "@babel/plugin-transform-flow-strip-types": "npm:^7.25.2" - "@babel/plugin-transform-for-of": "npm:^7.24.7" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.7" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.8" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.7" - "@babel/plugin-transform-object-rest-spread": "npm:^7.24.7" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.7" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.8" - "@babel/plugin-transform-parameters": "npm:^7.24.7" - "@babel/plugin-transform-private-methods": "npm:^7.24.7" - "@babel/plugin-transform-private-property-in-object": "npm:^7.24.7" - "@babel/plugin-transform-react-display-name": "npm:^7.24.7" - "@babel/plugin-transform-react-jsx": "npm:^7.28.6" - "@babel/plugin-transform-react-jsx-development": "npm:^7.27.1" - "@babel/plugin-transform-react-pure-annotations": "npm:^7.27.1" - "@babel/plugin-transform-runtime": "npm:^7.24.7" - "@babel/plugin-transform-typescript": "npm:^7.25.2" - "@babel/plugin-transform-unicode-regex": "npm:^7.24.7" - "@babel/preset-typescript": "npm:^7.23.0" - "@react-native/babel-plugin-codegen": "npm:0.85.3" - babel-plugin-react-compiler: "npm:^1.0.0" - babel-plugin-react-native-web: "npm:~0.21.0" - babel-plugin-syntax-hermes-parser: "npm:^0.33.3" - babel-plugin-transform-flow-enums: "npm:^0.0.2" - debug: "npm:^4.3.4" - peerDependencies: - "@babel/runtime": ^7.20.0 - expo: "*" - expo-widgets: ^56.0.11 - react-refresh: ">=0.14.0 <1.0.0" - peerDependenciesMeta: - "@babel/runtime": - optional: true - expo: - optional: true - expo-widgets: - optional: true - checksum: 10c0/2db26378df4138ad48a92fb62c25a2a8d0ec7cbf4b49024e662121bead9ed9dd7a39cb9ce8c758554c22f148d52876f925486e336d3570c9f48d4cefce513282 + checksum: 10c0/e31a5df2e8bb2fe976f19391e31f5d84e0c96529e7ded9d3e8c66fe3b3026c5d111dd5824593aa54fa3a5ee03b12aa6978f153a954acfb206ded92e94df3519c languageName: node linkType: hard @@ -7556,20 +7493,6 @@ __metadata: languageName: node linkType: hard -"chrome-launcher@npm:^0.15.2": - version: 0.15.2 - resolution: "chrome-launcher@npm:0.15.2" - dependencies: - "@types/node": "npm:*" - escape-string-regexp: "npm:^4.0.0" - is-wsl: "npm:^2.2.0" - lighthouse-logger: "npm:^1.0.0" - bin: - print-chrome-path: bin/print-chrome-path.js - checksum: 10c0/fc01abc19af753bb089744362c0de48707f32ea15779407b06fb569e029a6b1fbaa78107165539d768915cf54b5c38594e73d95563c34127873e3826fb43c636 - languageName: node - linkType: hard - "chrome-trace-event@npm:^1.0.2": version: 1.0.4 resolution: "chrome-trace-event@npm:1.0.4" @@ -7577,19 +7500,6 @@ __metadata: languageName: node linkType: hard -"chromium-edge-launcher@npm:^0.3.0": - version: 0.3.0 - resolution: "chromium-edge-launcher@npm:0.3.0" - dependencies: - "@types/node": "npm:*" - escape-string-regexp: "npm:^4.0.0" - is-wsl: "npm:^2.2.0" - lighthouse-logger: "npm:^1.0.0" - mkdirp: "npm:^1.0.4" - checksum: 10c0/ad04a75bf53ebed0b7adc5bd133587369b0c2e55c92fe460eb6ccec5efe03c161a7466756173969867a2acbe02dd40449186bd74671dd892520492283d4ff43d - languageName: node - linkType: hard - "ci-info@npm:^2.0.0": version: 2.0.0 resolution: "ci-info@npm:2.0.0" @@ -8636,7 +8546,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.9": +"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -8711,13 +8621,6 @@ __metadata: languageName: node linkType: hard -"decode-uri-component@npm:^0.4.1": - version: 0.4.1 - resolution: "decode-uri-component@npm:0.4.1" - checksum: 10c0/a180bbdb5398ec8270d236a3ac07cb988bbf6097428481780b85840f088951dc0318a8d8f9d56796e1a322b55b29859cea29982f22f9b03af0bc60974c54e591 - languageName: node - linkType: hard - "decompress-response@npm:^3.3.0": version: 3.3.0 resolution: "decompress-response@npm:3.3.0" @@ -8788,7 +8691,7 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:^4.2.2, deepmerge@npm:^4.3.1": +"deepmerge@npm:^4.2.2": version: 4.3.1 resolution: "deepmerge@npm:4.3.1" checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 @@ -8829,6 +8732,13 @@ __metadata: languageName: node linkType: hard +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 + languageName: node + linkType: hard + "define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" @@ -8937,7 +8847,7 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^2.0.1, detect-libc@npm:^2.0.3": +"detect-libc@npm:^2.0.3": version: 2.1.2 resolution: "detect-libc@npm:2.1.2" checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4 @@ -9002,10 +8912,10 @@ __metadata: languageName: node linkType: hard -"dnssd-advertise@npm:^1.1.4": - version: 1.1.4 - resolution: "dnssd-advertise@npm:1.1.4" - checksum: 10c0/7a875a206f1d08ad74683b73b2399361b4cc15ff855f4d7831c40375e0f582609ca35a0b7dc55f5b8055efe615fa70d80e057a32e81278d97a81ed362149b3e3 +"dnssd-advertise@npm:^1.1.6": + version: 1.1.6 + resolution: "dnssd-advertise@npm:1.1.6" + checksum: 10c0/6f0639a45b2d6ae7b285501b711c314893c46eb2966539674220abb7b9c9c7b00de7bf0cfcd4cad0413f0e614ac7e2399e70faeb8bf7b875d9dc7be67862e4a7 languageName: node linkType: hard @@ -9999,13 +9909,6 @@ __metadata: languageName: node linkType: hard -"event-target-shim@npm:^5.0.0": - version: 5.0.1 - resolution: "event-target-shim@npm:5.0.1" - checksum: 10c0/0255d9f936215fd206156fd4caa9e8d35e62075d720dc7d847e89b417e5e62cf1ce6c9b4e0a1633a9256de0efefaf9f8d26924b1f3c8620cffb9db78e7d3076b - languageName: node - linkType: hard - "events@npm:^3.2.0": version: 3.3.0 resolution: "events@npm:3.3.0" @@ -10121,265 +10024,287 @@ __metadata: languageName: node linkType: hard -"expo-asset@npm:~56.0.12": - version: 56.0.12 - resolution: "expo-asset@npm:56.0.12" +"expo-asset@npm:~58.0.20": + version: 58.0.20 + resolution: "expo-asset@npm:58.0.20" dependencies: - "@expo/image-utils": "npm:^0.10.0" - expo-constants: "npm:~56.0.13" + "@expo/image-utils": "npm:^0.12.6" + expo-constants: "npm:~58.0.15" peerDependencies: expo: "*" react: "*" react-native: "*" - checksum: 10c0/be5cdea96f3152aa9d8b48f83e1d2b80895da2c7a66063feff5194fe808237d63cc20293f21a9b170e144bba50dc9ff5bf335e7b0a66e56e45ccf8c3a3692679 + checksum: 10c0/17a7ee724e5091cc06cb93c86295f4c1f740da52953d7f22aaeb2f0db8c6def015f3e5db8e208d3ef1411943f611036dd006d187ba317cafad15cffa430883d4 languageName: node linkType: hard -"expo-constants@npm:~56.0.13": - version: 56.0.13 - resolution: "expo-constants@npm:56.0.13" +"expo-constants@npm:~58.0.15": + version: 58.0.15 + resolution: "expo-constants@npm:58.0.15" dependencies: - "@expo/env": "npm:~2.3.0" + "@expo/env": "npm:~2.5.4" + "@expo/require-utils": "npm:^58.0.5" peerDependencies: expo: "*" react-native: "*" - checksum: 10c0/bb6648ab0cf146f95c20a2bb52d25cc38259a201ef6e85e04a8568318ee732f7c42b97e6fb7e4797c147c012f6839e1836629a03819aef44013ee73144d91bd0 + checksum: 10c0/7f1214baaf7bf21b19a803304bec6db68fc060a7a9bca05aba3779279666ed79844298809f9f3e77dec92231fca6b21ecf923f37d38bbcadc1db6dd06bac2138 languageName: node linkType: hard -"expo-constants@npm:~56.0.18": - version: 56.0.18 - resolution: "expo-constants@npm:56.0.18" - dependencies: - "@expo/env": "npm:~2.3.0" +"expo-crypto@npm:~58.0.7": + version: 58.0.7 + resolution: "expo-crypto@npm:58.0.7" peerDependencies: expo: "*" - react-native: "*" - checksum: 10c0/4a8c35f4eeeb078c0feb3d5b55da403ef1d151a35b9b3a4e17505cedfb7ddd78cc02d670ebc5b7c9fb11d42052fd1b0c143cd0a652d22fa6a3730685b19ca0b2 - languageName: node - linkType: hard - -"expo-crypto@npm:~56.0.3": - version: 56.0.3 - resolution: "expo-crypto@npm:56.0.3" - peerDependencies: - expo: "*" - checksum: 10c0/ab047a2df00292f04c6ece9ae488073d1b54718ff9c2febd947ebdacb73ecf008f3ebc28f181db9d70caab9d6b6f027e91f8abd06b4ef92c7c02f35c095cf7e6 + checksum: 10c0/cb80a5fa143b2c9102f97edc478829f6bd0a85a9926a8fb712de1d4ef41ffdac362a25d2fb0c76c2b6588bf17dc5818a731f790e602e237567987bf166bbaa26 languageName: node linkType: hard -"expo-dev-client@npm:~56.0.13": - version: 56.0.13 - resolution: "expo-dev-client@npm:56.0.13" +"expo-dev-client@npm:~58.0.18": + version: 58.0.18 + resolution: "expo-dev-client@npm:58.0.18" dependencies: - expo-dev-launcher: "npm:~56.0.13" - expo-dev-menu: "npm:~56.0.12" - expo-dev-menu-interface: "npm:~56.0.0" - expo-manifests: "npm:~56.0.4" - expo-updates-interface: "npm:~56.0.1" + expo-dev-launcher: "npm:~58.0.18" + expo-dev-menu: "npm:~58.0.12" + expo-dev-menu-interface: "npm:~58.0.1" + expo-manifests: "npm:~58.0.1" + expo-updates-interface: "npm:~58.0.1" peerDependencies: expo: "*" - checksum: 10c0/937138497f5d789d83a67969e04ce8dea034f460f1d19a1425e2aa6c39fa81eb5d5c873f7fd9c8b1639728f7be572c528c0201a3ca81837a090aa9fbf966e9a5 + checksum: 10c0/e35f82e4e3a5e230b7178dd36610602ef8ea3752ffe2b728ed9b0da7c969eeba9cab6178f9262f52fde067470d41c758ddadf32bb0bb5bc82c970d09147f2ed0 languageName: node linkType: hard -"expo-dev-launcher@npm:~56.0.13": - version: 56.0.13 - resolution: "expo-dev-launcher@npm:56.0.13" +"expo-dev-launcher@npm:~58.0.18": + version: 58.0.18 + resolution: "expo-dev-launcher@npm:58.0.18" dependencies: - "@expo/schema-utils": "npm:^56.0.0" - expo-dev-menu: "npm:~56.0.12" - expo-manifests: "npm:~56.0.4" + "@expo/schema-utils": "npm:^58.0.3" + expo-dev-menu: "npm:~58.0.12" + expo-manifests: "npm:~58.0.1" peerDependencies: expo: "*" react-native: "*" - checksum: 10c0/daf92e91cd727e68c951574f1572ee7fbf0394ebaf7d3cda09fa9ba5b0b4aba217bc76104a1abb1d96bd3cf200c851455ca3805b0757478b3797f09e5f62a171 + checksum: 10c0/92424cbda0c65447090aa0505faeec03018feff0e213a7c16873357e43602dfa24bb0885b223a53878fe9ab9a7cb8cd3f6690703d0accad88a99ba94dd7fe4e4 languageName: node linkType: hard -"expo-dev-menu-interface@npm:~56.0.0": - version: 56.0.1 - resolution: "expo-dev-menu-interface@npm:56.0.1" +"expo-dev-menu-interface@npm:~58.0.1": + version: 58.0.1 + resolution: "expo-dev-menu-interface@npm:58.0.1" peerDependencies: expo: "*" - checksum: 10c0/9abdc36845817856c262e52b6f2dfa2f0f1e2585bf32f85320e28e6c436cff298ad3860aac4a5dd4140492b7987105c1b748b88dd4d8eaf7eaa8e5ad373b8f67 + checksum: 10c0/16c913be734765d0045d075dc653ce8fb59b89d0fc850f9c5ac476d84b03a738d68b15c782203f485fab66f021b5c449f8367a7a842de33f407fd996c6bb88f7 languageName: node linkType: hard -"expo-dev-menu@npm:~56.0.12": - version: 56.0.12 - resolution: "expo-dev-menu@npm:56.0.12" +"expo-dev-menu@npm:~58.0.12": + version: 58.0.12 + resolution: "expo-dev-menu@npm:58.0.12" dependencies: - expo-dev-menu-interface: "npm:~56.0.0" + expo-dev-menu-interface: "npm:~58.0.1" peerDependencies: expo: "*" react-native: "*" - checksum: 10c0/9d7a16f6763b7791534a6997fd29a6aae6241e78f3648541397a1b8746907c28eca11f5610a2af0429a727adaefb543268dcd69cdbb7c9697029c88803dee665 + checksum: 10c0/10ea711903e6dffd21310761c03f1bc9f62a02e08d2bb2b26ece0665634e1eeb6c7770c4f946cf65373f700d4cc52474f1d18b795f1d2821914f66587a0ec597 languageName: node linkType: hard -"expo-eas-client@npm:~56.0.0": - version: 56.0.1 - resolution: "expo-eas-client@npm:56.0.1" - checksum: 10c0/01627f690371353115da0db561f77d091203c2a28076aecfac69bacc84ca025b2b035dc6079190c2940d4045e5e8ff511f276b0ea09aa5e078b457eae3f7eadd +"expo-eas-client@npm:~58.0.2": + version: 58.0.2 + resolution: "expo-eas-client@npm:58.0.2" + checksum: 10c0/df5d8d6264f120ed328b9fdb470fc594d658cf74802d24b5854257b20a42e58eb19712dc11e3c42a8b5c87689b24716db52834c82a11ec61cb97e205b3081d9d languageName: node linkType: hard -"expo-file-system@npm:~56.0.7": - version: 56.0.7 - resolution: "expo-file-system@npm:56.0.7" +"expo-file-system@npm:~58.0.13": + version: 58.0.13 + resolution: "expo-file-system@npm:58.0.13" peerDependencies: expo: "*" react-native: "*" - checksum: 10c0/a21211a2fded2926897071af7a7b3e13d422a7218d4de4928c5241849b1b0d38354e42a6dd7ef0a58dadc322815c71f1fc0d09e857f79319d4ccd85e13e12417 + checksum: 10c0/e68fb7b8ee0b99c0683037f9754e90d176bcfae4ce823f3e2c1fcede9cebf4428a420e529c870b10af3e6b3a2160933b652b700ca68d57f08960512764868c66 languageName: node linkType: hard -"expo-font@npm:~56.0.5": - version: 56.0.5 - resolution: "expo-font@npm:56.0.5" - dependencies: - fontfaceobserver: "npm:^2.1.0" +"expo-font@npm:~58.0.11": + version: 58.0.11 + resolution: "expo-font@npm:58.0.11" peerDependencies: expo: "*" react: "*" react-native: "*" - checksum: 10c0/d4d821e6f176596f09ec0e1ee68d5af64d68fa139c8c5da3549d014d6a297bea4d0ccca6503ad753f1c0096e097364754e65ee176cafc74902a72e47ac810655 + checksum: 10c0/238d03dfb63e9d2dbe2d03c8bc87ea87909fa22057b788c36e7421f41a23a2754c60773e30c2e28c6ba29b01406d53a57b9bc86bce60bf575613e4eff835b1c9 languageName: node linkType: hard -"expo-json-utils@npm:~56.0.0": - version: 56.0.0 - resolution: "expo-json-utils@npm:56.0.0" - checksum: 10c0/c4620d9b967877e1c44c79a8718f5fe709b260252780e0a8411fd6f9877928dca21ee6c53f595fcbc66f4b4e3bc699a2359c99bb8282ccc9722cf8f096a9a307 +"expo-json-utils@npm:~58.0.1": + version: 58.0.1 + resolution: "expo-json-utils@npm:58.0.1" + checksum: 10c0/57d9161dd87c626af7b8dd56fe0fd4d5edca106713b1c83a13fdafd633faf1509bf0b9b93a1c559fc9e516fcb873a80601ef7c7ec1fdaaaeeabf8b3ee37428b0 languageName: node linkType: hard -"expo-keep-awake@npm:~56.0.3": - version: 56.0.3 - resolution: "expo-keep-awake@npm:56.0.3" +"expo-keep-awake@npm:~58.0.3": + version: 58.0.3 + resolution: "expo-keep-awake@npm:58.0.3" peerDependencies: expo: "*" react: "*" - checksum: 10c0/5137da41b6d45deca54f9bbbfbbb1e1c90b6459d489e0f8ce2cf5090cd5298f56947a5d4a4aec8ebd77c587978ce96f05ef86c8610a6e6b24718dc3ab2282802 + checksum: 10c0/94a1d1bc430b09c479b2d18034c49f8c807d98e697ed19642fc67128904489c82e58dc862fece3e85620f475b0cd1d9498dec5ba49267d5a31ae1589fd9a6b2b languageName: node linkType: hard -"expo-manifests@npm:~56.0.4": - version: 56.0.4 - resolution: "expo-manifests@npm:56.0.4" +"expo-manifests@npm:~58.0.1": + version: 58.0.1 + resolution: "expo-manifests@npm:58.0.1" dependencies: - expo-json-utils: "npm:~56.0.0" + expo-json-utils: "npm:~58.0.1" peerDependencies: expo: "*" - checksum: 10c0/5ba98148a759d98059bd30f4551eba8ed97a74e8461e7d47ea6f1d9d614666c1fd531a71a521c7dc413c5da2162530c0a93afc2d31900b7011ff3cf2e2c39c32 + checksum: 10c0/6ba500dd6a21b27e58f21573044f1e9766130c57e852c5945c8205ba6a2857cec185d99e6c2151797bbc1fff1f9ac4210ce482a59c335cf3d34459dd80c07897 languageName: node linkType: hard -"expo-modules-autolinking@npm:~56.0.9": - version: 56.0.9 - resolution: "expo-modules-autolinking@npm:56.0.9" +"expo-modules-autolinking@npm:~58.0.17": + version: 58.0.17 + resolution: "expo-modules-autolinking@npm:58.0.17" dependencies: - "@expo/require-utils": "npm:^56.1.2" + "@expo/platforms": "npm:^58.0.1" + "@expo/require-utils": "npm:^58.0.5" "@expo/spawn-async": "npm:^1.8.0" chalk: "npm:^4.1.0" commander: "npm:^7.2.0" bin: expo-modules-autolinking: bin/expo-modules-autolinking.js - checksum: 10c0/1265e8577c4781adce060ff3c024c7b730132c0189d90c8fdf16aed3a401ed4f0df9358fdeafb4d3ea7c50b01d3cd3568e889fa0a60a29ee1da90f3c8357d25f + checksum: 10c0/4b6ac50a00e0208efaa63c18521036b5ae304c1cf46afc4d2182f5b31f7caa8cedb6f545d2b12f835252d407a5537e2228d6cd649a8238687bb13745cc04668d languageName: node linkType: hard -"expo-modules-core@npm:~56.0.11": - version: 56.0.11 - resolution: "expo-modules-core@npm:56.0.11" +"expo-modules-cli@npm:~0.4.0": + version: 0.4.0 + resolution: "expo-modules-cli@npm:0.4.0" dependencies: - "@expo/expo-modules-macros-plugin": "npm:~0.0.9" - expo-modules-jsi: "npm:~56.0.7" + "@babel/parser": "npm:^7.20.0" + arg: "npm:^5.0.2" + bin: + expo-modules: bin/expo-modules.js + checksum: 10c0/92473bfb34ea616c67c2904d41e42c431b959c0a290f70c679ab12ffde62bfe1c3e1ee144cf983625ad5054245106e57ca5db85d8dd749c8e4f99cb7a10996af + languageName: node + linkType: hard + +"expo-modules-core@npm:~58.0.30": + version: 58.0.30 + resolution: "expo-modules-core@npm:58.0.30" + dependencies: + expo-modules-jsi: "npm:~58.0.22" + expo-modules-macros: "npm:0.29.0" invariant: "npm:^2.2.4" peerDependencies: react: "*" react-native: "*" - react-native-worklets: ^0.7.4 || ^0.8.0 + react-native-worklets: ">=0.13.0" peerDependenciesMeta: react-native-worklets: optional: true - checksum: 10c0/47005b45d5c5a60c3ea06ccc5d6e554d1f48ed41176322cc37e8f51e5f0c93785de08384cb93595de0af7f03482e66288c935149c7047af7e6d02427bdb53d23 + checksum: 10c0/779383a1045b9863bea054174fce2dbf123df50850e5edd1a9c6c73b3e9faf748a1503d560f98ed88510962e17f73e912e88695eb357255358f51956215ce4fd languageName: node linkType: hard -"expo-modules-jsi@npm:~56.0.7": - version: 56.0.7 - resolution: "expo-modules-jsi@npm:56.0.7" +"expo-modules-jsi@npm:~58.0.22": + version: 58.0.22 + resolution: "expo-modules-jsi@npm:58.0.22" peerDependencies: react-native: "*" - checksum: 10c0/4d5c19333102401bbefa5fc6ad38cf522a93c18f23f8f11a0b5c91a0781da7c1f7f670b668446125178a0bf2d9d4a13adbded3bf5733b8a04c2c1e8a73035137 + checksum: 10c0/6c9862d9aaca038d1eef1df500c63ab095cf009db3a0438163745d5344f8f77c521e18efaa8a8c881bcd84ef1357dc7243e38c780e1a2c22d64b91a989ba4907 languageName: node linkType: hard -"expo-server@npm:^56.0.4": - version: 56.0.4 - resolution: "expo-server@npm:56.0.4" - checksum: 10c0/80b9217b742b4c88e540d00fd60b9b02537ffb7ecc03d205abc7936d655ba02d6c5fa17be0e9b0a1a28550a2cbd958b32b22e5d1ef116341c506467a3a8822a1 +"expo-modules-macros@npm:0.29.0": + version: 0.29.0 + resolution: "expo-modules-macros@npm:0.29.0" + dependencies: + "@expo/modules-macros-linux-arm64": "npm:0.29.0" + "@expo/modules-macros-linux-x64": "npm:0.29.0" + "@expo/modules-macros-win32-arm64": "npm:0.29.0" + "@expo/modules-macros-win32-x64": "npm:0.29.0" + dependenciesMeta: + "@expo/modules-macros-linux-arm64": + optional: true + "@expo/modules-macros-linux-x64": + optional: true + "@expo/modules-macros-win32-arm64": + optional: true + "@expo/modules-macros-win32-x64": + optional: true + checksum: 10c0/12c5541bfcaf64bf578df5a9acd6f41129484bcd0257b01aeefa32f9c97276294ac898cba5ba70a4d6c64e804aa5ef1a9bcabe430a29d2d57539e6ed5ecd254a + languageName: node + linkType: hard + +"expo-server@npm:^58.0.6": + version: 58.0.6 + resolution: "expo-server@npm:58.0.6" + checksum: 10c0/f604dc15ce82eab9af157f14d2154065071736df4402fbdc57ec47f3aca3cfb0fb292e90ab2215081051374dde9236e6021ddcedb1eaaf6dbabb16da7ff0a9a0 languageName: node linkType: hard -"expo-splash-screen@npm:~56.0.9": - version: 56.0.9 - resolution: "expo-splash-screen@npm:56.0.9" +"expo-splash-screen@npm:~58.0.13": + version: 58.0.13 + resolution: "expo-splash-screen@npm:58.0.13" dependencies: - "@expo/config-plugins": "npm:~56.0.7" - "@expo/image-utils": "npm:^0.10.0" + "@expo/config-plugins": "npm:~58.0.12" + "@expo/image-utils": "npm:^0.12.6" xml2js: "npm:0.6.0" peerDependencies: expo: "*" - checksum: 10c0/90f207be9c1a8def374852370723f872cc6722a6ab994f8998c01bdafeb38c9b206d9bdff26c21609a0fbd60a8d4c515b04333ea30cf1839adc4b88cca481d69 + checksum: 10c0/1735c0943daa32bb6251adbcc70d26bcf6b1a6f5e8d81b5407008d7ad1e21e0e0b59e281b54d1f2aa30a0757887964b693c789371baad25be1ea777ab6e763d2 languageName: node linkType: hard -"expo-status-bar@npm:~56.0.4": - version: 56.0.4 - resolution: "expo-status-bar@npm:56.0.4" +"expo-status-bar@npm:~58.0.4": + version: 58.0.4 + resolution: "expo-status-bar@npm:58.0.4" peerDependencies: expo: "*" react: "*" react-native: "*" - checksum: 10c0/74790ea40ebfd0f7928864b2f5bb8e7893030df46828f954ffedde931702192ab4b9ca41aa972e37457c1e6658b19e0a4266ebbecc243ccd3e9b78abccebe6c6 + checksum: 10c0/a2122869b12e0d301455f16780df6a81558d6cb75a78bd684a8e8352f383b32c1f7357da9172b86fdd98f9ba29b67d3a1ec8d5d425d9c50480a3fe4d2aaae834 languageName: node linkType: hard -"expo-structured-headers@npm:~56.0.0": - version: 56.0.0 - resolution: "expo-structured-headers@npm:56.0.0" - checksum: 10c0/f4f88184abe0532f0aaff52e2963275c3db5e03cc1579faae82f2dbe859f44ed65660444faa2e0290ee7f604ae1a5d4b76ffe9484193147d01a3cc6ea54d4957 +"expo-structured-headers@npm:~58.0.1": + version: 58.0.1 + resolution: "expo-structured-headers@npm:58.0.1" + checksum: 10c0/d2961b8d737149c68d138d90ea0b15f399f9d7c5945bfe336ff33e1af9f8f2595529584930dce2d86868322960757a7dffa6c77b14e96a6f8f2fad908fbaa087 languageName: node linkType: hard -"expo-updates-interface@npm:~56.0.1": - version: 56.0.2 - resolution: "expo-updates-interface@npm:56.0.2" +"expo-updates-interface@npm:~58.0.1": + version: 58.0.1 + resolution: "expo-updates-interface@npm:58.0.1" peerDependencies: expo: "*" - checksum: 10c0/9200d11a5affb568b6d39fe500578e9d38a2164d05fef3bc8a6ec1ff7393fe416ec62596d4d46677406e9f20c6b5e660b8fa85015b09d6695c0d3bd87187f360 + checksum: 10c0/22ba7c8ade140021225966107ff543eddfabc5cc3d506f193e4da313009c72754ab2b0da7ca6ba2acc0485774bbec95f00f4f97b46c642870a735aafbc78f9bb languageName: node linkType: hard -"expo-updates@npm:~56.0.14": - version: 56.0.14 - resolution: "expo-updates@npm:56.0.14" +"expo-updates@npm:~58.0.21": + version: 58.0.21 + resolution: "expo-updates@npm:58.0.21" dependencies: - "@expo/code-signing-certificates": "npm:^0.0.6" - "@expo/plist": "npm:^0.7.0" + "@expo/code-signing-certificates": "npm:^0.0.7" + "@expo/env": "npm:^2.5.4" + "@expo/plist": "npm:^0.10.1" "@expo/spawn-async": "npm:^1.8.0" + "@react-native/asset-utils": "npm:0.88.1" arg: "npm:^4.1.0" chalk: "npm:^4.1.2" debug: "npm:^4.3.4" - expo-eas-client: "npm:~56.0.0" - expo-manifests: "npm:~56.0.4" - expo-structured-headers: "npm:~56.0.0" - expo-updates-interface: "npm:~56.0.1" + expo-eas-client: "npm:~58.0.2" + expo-manifests: "npm:~58.0.1" + expo-structured-headers: "npm:~58.0.1" + expo-updates-interface: "npm:~58.0.1" getenv: "npm:^2.0.0" - glob: "npm:^13.0.0" ignore: "npm:^5.3.1" nullthrows: "npm:^1.1.1" resolve-from: "npm:^5.0.0" @@ -10393,37 +10318,39 @@ __metadata: optional: true bin: expo-updates: bin/cli.js - checksum: 10c0/b19786df2458ba33a4b9f12d9a543780826a0337216cbe184d105d092e6d6b12f8716ee018465a3a3597f01a8ad52c4894bcfb9af2e05cf7defd673743928664 + checksum: 10c0/c28a21b7d88d57d19bdf24dd3e8542f482cf4ba413f630c341ac875bede8e13088b910f1580f74991d82313b89d9b9a69998f92aadd57719ffc0243b074ab828 languageName: node linkType: hard -"expo@npm:~56.0.0": - version: 56.0.0 - resolution: "expo@npm:56.0.0" +"expo@npm:~58.0.23": + version: 58.0.23 + resolution: "expo@npm:58.0.23" dependencies: "@babel/runtime": "npm:^7.20.0" - "@expo/cli": "npm:^56.1.7" - "@expo/config": "npm:~56.0.8" - "@expo/config-plugins": "npm:~56.0.7" - "@expo/devtools": "npm:~56.0.2" - "@expo/dom-webview": "npm:~56.0.5" - "@expo/fingerprint": "npm:^0.19.0" - "@expo/local-build-cache-provider": "npm:^56.0.7" - "@expo/log-box": "npm:^56.0.12" - "@expo/metro": "npm:~56.0.0" - "@expo/metro-config": "npm:~56.0.11" + "@expo/cli": "npm:^58.1.19" + "@expo/config": "npm:~58.0.11" + "@expo/config-plugins": "npm:~58.0.12" + "@expo/devtools": "npm:~58.0.2" + "@expo/dom-webview": "npm:~58.0.2" + "@expo/fingerprint": "npm:^0.21.9" + "@expo/local-build-cache-provider": "npm:^58.0.11" + "@expo/log-box": "npm:^58.0.15" + "@expo/log-box-utils": "npm:^58.0.2" + "@expo/metro": "npm:~58.0.0" + "@expo/metro-config": "npm:~58.0.21" "@ungap/structured-clone": "npm:^1.3.0" - babel-preset-expo: "npm:~56.0.10" - expo-asset: "npm:~56.0.12" - expo-constants: "npm:~56.0.13" - expo-file-system: "npm:~56.0.7" - expo-font: "npm:~56.0.5" - expo-keep-awake: "npm:~56.0.3" - expo-modules-autolinking: "npm:~56.0.9" - expo-modules-core: "npm:~56.0.11" + babel-preset-expo: "npm:~58.0.24" + expo-asset: "npm:~58.0.20" + expo-constants: "npm:~58.0.15" + expo-file-system: "npm:~58.0.13" + expo-font: "npm:~58.0.11" + expo-keep-awake: "npm:~58.0.3" + expo-modules-autolinking: "npm:~58.0.17" + expo-modules-cli: "npm:~0.4.0" + expo-modules-core: "npm:~58.0.30" pretty-format: "npm:^29.7.0" react-refresh: "npm:^0.14.2" - whatwg-url-minimum: "npm:^0.1.2" + whatwg-url-minimum: "npm:^0.2.0" peerDependencies: "@expo/dom-webview": "*" "@expo/metro-runtime": "*" @@ -10445,9 +10372,10 @@ __metadata: optional: true bin: expo: bin/cli + expo-modules: bin/modules expo-modules-autolinking: bin/autolinking fingerprint: bin/fingerprint - checksum: 10c0/9493bd284ea7f8ba813827a789f7a23b43715a9fb195f54612e1375fd74b975dee41302dfd118ff16a25d4d2086194dc4f34f7326a57693b018717244d91219e + checksum: 10c0/33238e57103a904f1c9e36c27b4b83bb16ce733b164cdc958f27d8373526832e671effa9b32042006aab8e42de303c4d63c1955b4e4b941715b4c687a732e9c1 languageName: node linkType: hard @@ -10742,13 +10670,6 @@ __metadata: languageName: node linkType: hard -"filter-obj@npm:^5.1.0": - version: 5.1.0 - resolution: "filter-obj@npm:5.1.0" - checksum: 10c0/716e8ad2bc352e206556b3e5695b3cdff8aab80c53ea4b00c96315bbf467b987df3640575100aef8b84e812cf5ea4251db4cd672bbe33b1e78afea88400c67dd - languageName: node - linkType: hard - "finalhandler@npm:1.1.2": version: 1.1.2 resolution: "finalhandler@npm:1.1.2" @@ -10900,10 +10821,51 @@ __metadata: languageName: node linkType: hard -"fontfaceobserver@npm:^2.1.0": - version: 2.3.0 - resolution: "fontfaceobserver@npm:2.3.0" - checksum: 10c0/9b539d5021757d3ed73c355bdb839296d6654de473a992aa98993ef46d951f0361545323de68f6d70c5334d7e3e9f409c1ae7a03c168b00cb0f6c5dea6c77bfa +"flow-estree@npm:0.327.0": + version: 0.327.0 + resolution: "flow-estree@npm:0.327.0" + checksum: 10c0/a6e62d4855e6d1096a3f45efbeb566afa8183cf4bc2beee8bb61dc6e2ab63982014a2dccd88ca23f1f06ace1b7e5dc0d00fa366af5d1fc9ff81d469b9a3cf30e + languageName: node + linkType: hard + +"flow-estree@npm:0.331.0": + version: 0.331.0 + resolution: "flow-estree@npm:0.331.0" + checksum: 10c0/3e967611d5e4f83a4fde886d90cffe48078702b51258eddcc2f6c2e5d8bca37986df5d890b9f787b0760bb35886bcc3aecd7db6f7db1fff0f9f2ef7b216cd281 + languageName: node + linkType: hard + +"flow-estree@npm:0.336.0": + version: 0.336.0 + resolution: "flow-estree@npm:0.336.0" + checksum: 10c0/34123f04431bc7d5f0e62cf1606224e1a9a4f2f78faaee21ff9a7ad8119a6bab71f434e609667a94f10af8784c9532396a94e4de8cfbafc9fd8732aa52368c7f + languageName: node + linkType: hard + +"flow-parser@npm:0.327.0": + version: 0.327.0 + resolution: "flow-parser@npm:0.327.0" + dependencies: + flow-estree: "npm:0.327.0" + checksum: 10c0/8b299cef3d9ffeb9c5a315b2fa40707426abed1d68eec3752c8aebbb9f6513ff613ae2208e176a6b235d3177027c237e265f8f31fcfbe2b1672820f86a7d6ce6 + languageName: node + linkType: hard + +"flow-parser@npm:0.331.0": + version: 0.331.0 + resolution: "flow-parser@npm:0.331.0" + dependencies: + flow-estree: "npm:0.331.0" + checksum: 10c0/bfeb7652a3f82c6689b7290ec2e40973c0a665990a199fd160e16854f6f163449e348c296df218cebe303f5e547665a32131e4598a4eeba821ac72fd415e7134 + languageName: node + linkType: hard + +"flow-parser@npm:0.336.0": + version: 0.336.0 + resolution: "flow-parser@npm:0.336.0" + dependencies: + flow-estree: "npm:0.336.0" + checksum: 10c0/a6cadc33838dceaf9f3f7b1c36a59c3404d28a0050a08c2606eaaa854bfe7089436a6abc84fd87e1ef66efdf1484baf30ce046c78caee54c6b227a59fa95d7e1 languageName: node linkType: hard @@ -11916,17 +11878,10 @@ __metadata: languageName: node linkType: hard -"hermes-compiler@npm:250829098.0.10": - version: 250829098.0.10 - resolution: "hermes-compiler@npm:250829098.0.10" - checksum: 10c0/ccf02f842dc0257deb45cf508dd9183b163fbb1db3b37aca25943cc4667193722dece99c7fba94d89666560b74210873ab139d741def1863bd440ff515113b27 - languageName: node - linkType: hard - -"hermes-estree@npm:0.33.3": - version: 0.33.3 - resolution: "hermes-estree@npm:0.33.3" - checksum: 10c0/4e04e767a706a93c59d64ef3f114075aeb93b08433655d4f11d310f0785c2a74d5b5041b80bc34d22630dece54865dd93a53fde160d48b8369cfef10dbd0520b +"hermes-compiler@npm:260318099.0.5": + version: 260318099.0.5 + resolution: "hermes-compiler@npm:260318099.0.5" + checksum: 10c0/0194e815661498cd384aa4de24dfb3754e856fe473782fa6861d9191c84fde926ca3f3a6921231418e810655ee9e231e6e701d3f3dca10aa1079162dd0623ab9 languageName: node linkType: hard @@ -11937,19 +11892,10 @@ __metadata: languageName: node linkType: hard -"hermes-estree@npm:0.35.0": - version: 0.35.0 - resolution: "hermes-estree@npm:0.35.0" - checksum: 10c0/a88c9dc63b8b3679b1aeb43e72e977597096c1bd7d59978c952f1d6df6d1a517c4a817c70b1b701854996b485adfa66c2fc7f80871029a7f0c04306f6717b59a - languageName: node - linkType: hard - -"hermes-parser@npm:0.33.3, hermes-parser@npm:^0.33.3": - version: 0.33.3 - resolution: "hermes-parser@npm:0.33.3" - dependencies: - hermes-estree: "npm:0.33.3" - checksum: 10c0/f7d69de54c77321d8481e37a323bbac01d180ec982275ef8925ceaaf7e501fc3062593e84cf5da50852f36daffb34d0f5d6cbbef079fd0125a7b91c1fe84f225 +"hermes-estree@npm:0.36.1": + version: 0.36.1 + resolution: "hermes-estree@npm:0.36.1" + checksum: 10c0/9f552e1f809e05a4ddc5dcc10c5d1d5e375eade985026c3f8876a227db76c33059d25f93f92628a0e43d29a6da6977fbb643fafc8830babad62c1b88b2b56739 languageName: node linkType: hard @@ -11962,12 +11908,12 @@ __metadata: languageName: node linkType: hard -"hermes-parser@npm:0.35.0": - version: 0.35.0 - resolution: "hermes-parser@npm:0.35.0" +"hermes-parser@npm:0.36.1, hermes-parser@npm:^0.36.0": + version: 0.36.1 + resolution: "hermes-parser@npm:0.36.1" dependencies: - hermes-estree: "npm:0.35.0" - checksum: 10c0/49d98093a2094758db5b536627c6cf5146b140f66e63143acf471c62f1d3fd8bd6ae10a33f2372f72e3653deda5d4615c6dae89d01248849440916209901fc4a + hermes-estree: "npm:0.36.1" + checksum: 10c0/31f2b0a383e15a3cdd8f34bc11498a35504771b58f24db5694ea5013faf6dbe6b27a47f7825bae5494dd57afac4de54c05f750d4ad646ff6787bbba97dfbd8eb languageName: node linkType: hard @@ -12187,17 +12133,6 @@ __metadata: languageName: node linkType: hard -"image-size@npm:^1.0.2": - version: 1.2.1 - resolution: "image-size@npm:1.2.1" - dependencies: - queue: "npm:6.0.2" - bin: - image-size: bin/image-size.js - checksum: 10c0/f8b3c19d4476513f1d7e55c3e6db80997b315444743e2040d545cbcaee59be03d2eb40c46be949a8372697b7003fdb0c04925d704390a7f606bc8181e25c0ed4 - languageName: node - linkType: hard - "import-cwd@npm:3.0.0": version: 3.0.0 resolution: "import-cwd@npm:3.0.0" @@ -12611,7 +12546,7 @@ __metadata: languageName: node linkType: hard -"is-docker@npm:^2.0.0": +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": version: 2.2.1 resolution: "is-docker@npm:2.2.1" bin: @@ -13028,7 +12963,7 @@ __metadata: languageName: node linkType: hard -"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": +"is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" dependencies: @@ -14066,16 +14001,6 @@ __metadata: languageName: node linkType: hard -"lighthouse-logger@npm:^1.0.0": - version: 1.4.2 - resolution: "lighthouse-logger@npm:1.4.2" - dependencies: - debug: "npm:^2.6.9" - marky: "npm:^1.2.2" - checksum: 10c0/090431db34e9ce01b03b2a03b39e998807a7a86214f2e8da2ba9588c36841caf4474f96ef1b2deaf9fe58f2e00f9f51618e0b98edecc2d8c9dfc13185bf0adc8 - languageName: node - linkType: hard - "lightningcss-android-arm64@npm:1.30.2": version: 1.30.2 resolution: "lightningcss-android-arm64@npm:1.30.2" @@ -14641,13 +14566,6 @@ __metadata: languageName: node linkType: hard -"marky@npm:^1.2.2": - version: 1.3.0 - resolution: "marky@npm:1.3.0" - checksum: 10c0/6619cdb132fdc4f7cd3e2bed6eebf81a38e50ff4b426bbfb354db68731e4adfebf35ebfd7c8e5a6e846cbf9b872588c4f76db25782caee8c1529ec9d483bf98b - languageName: node - linkType: hard - "material-colors@npm:^1.2.1": version: 1.2.6 resolution: "material-colors@npm:1.2.6" @@ -15092,149 +15010,296 @@ __metadata: languageName: node linkType: hard -"metro-babel-transformer@npm:0.84.4": - version: 0.84.4 - resolution: "metro-babel-transformer@npm:0.84.4" +"metro-babel-transformer@npm:0.87.1": + version: 0.87.1 + resolution: "metro-babel-transformer@npm:0.87.1" + dependencies: + "@babel/core": "npm:^7.25.2" + flow-enums-runtime: "npm:^0.0.6" + flow-parser: "npm:0.331.0" + metro-cache-key: "npm:0.87.1" + nullthrows: "npm:^1.1.1" + checksum: 10c0/9ec68353af175188b642cd4f1101e020cfbb355d308ab4b5f0fded44918e186506f260b87cf41db88caea4b7d31b7e58ed27770f7063d0ddd40c41ad11626984 + languageName: node + linkType: hard + +"metro-babel-transformer@npm:0.87.2": + version: 0.87.2 + resolution: "metro-babel-transformer@npm:0.87.2" + dependencies: + "@babel/core": "npm:^7.25.2" + flow-enums-runtime: "npm:^0.0.6" + flow-parser: "npm:0.336.0" + metro-cache-key: "npm:0.87.2" + nullthrows: "npm:^1.1.1" + checksum: 10c0/8d61fb3c97ecc4cc4148ab21b904381f37e06c1a53d783771d49474c864a4c31ec1423923ba262306c7a2808008d49492c0967dd3770085b24d2b7303e05d1ba + languageName: node + linkType: hard + +"metro-cache-key@npm:0.87.1": + version: 0.87.1 + resolution: "metro-cache-key@npm:0.87.1" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/2da75b15e9242fb3faebfc72574d5bd73c6873f80d3da0bece2fe1d4082d7d1977d59ad3a8c4f67627e85e93ea2a82edb2f53acae6c14d5791ad69d34e4c1742 + languageName: node + linkType: hard + +"metro-cache-key@npm:0.87.2": + version: 0.87.2 + resolution: "metro-cache-key@npm:0.87.2" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/1a69e23b3814a6565ff405e5f06dfba8429f4c2d2f7ca530f3f61e87eb23bf71521df39963f2bc57eb49fe03bc519aa78199b6fb73e1aa64abfdc0bddb38f742 + languageName: node + linkType: hard + +"metro-cache@npm:0.87.1": + version: 0.87.1 + resolution: "metro-cache@npm:0.87.1" + dependencies: + exponential-backoff: "npm:^3.1.1" + flow-enums-runtime: "npm:^0.0.6" + https-proxy-agent: "npm:^7.0.5" + metro-core: "npm:0.87.1" + checksum: 10c0/f3fdb422c8512f9454d4eb672873814ea814d92b8d7ae8ffc16f2543f57631c87a09c8fbda54835a56e26a1e092bfec24a685e9b980480b6a89378911c3a338b + languageName: node + linkType: hard + +"metro-cache@npm:0.87.2": + version: 0.87.2 + resolution: "metro-cache@npm:0.87.2" + dependencies: + exponential-backoff: "npm:^3.1.1" + flow-enums-runtime: "npm:^0.0.6" + https-proxy-agent: "npm:^7.0.5" + metro-core: "npm:0.87.2" + checksum: 10c0/2125be08fd80be5b3bd34101225e3ba5d30563a0e26bd7ea9a5fedac4f81cce173a998f4d71532783a75e8e8a0f79531863294c7e8a87a935c7e629d0570dee7 + languageName: node + linkType: hard + +"metro-config@npm:0.87.1": + version: 0.87.1 + resolution: "metro-config@npm:0.87.1" + dependencies: + connect: "npm:^3.6.5" + flow-enums-runtime: "npm:^0.0.6" + jest-validate: "npm:^29.7.0" + metro: "npm:0.87.1" + metro-cache: "npm:0.87.1" + metro-core: "npm:0.87.1" + metro-runtime: "npm:0.87.1" + checksum: 10c0/2c6a10d5581197d467569a590a19b9f493b2691fd5bd9c29291fba7bf8f8c7e4f8dd7099f99d7c29aa56a5198b72ae3d3eefc1e94465d4abb40911c572469fe6 + languageName: node + linkType: hard + +"metro-config@npm:0.87.2": + version: 0.87.2 + resolution: "metro-config@npm:0.87.2" + dependencies: + connect: "npm:^3.6.5" + flow-enums-runtime: "npm:^0.0.6" + jest-validate: "npm:^29.7.0" + metro: "npm:0.87.2" + metro-cache: "npm:0.87.2" + metro-core: "npm:0.87.2" + metro-runtime: "npm:0.87.2" + checksum: 10c0/5d1f989a544108062409c4b3749867f7d58f0954e834c21de618f6e34f4f91fd46365b35ded89c7e1aec3b61791dbaecfa1a12bb8948af6c6c799aa390544926 + languageName: node + linkType: hard + +"metro-core@npm:0.87.1": + version: 0.87.1 + resolution: "metro-core@npm:0.87.1" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + lodash.throttle: "npm:^4.1.1" + metro-resolver: "npm:0.87.1" + checksum: 10c0/d945f4ddb9594c27c0c8bb21f819530ddbb9d83f3bdffbc6ef68161d195aa2385ab1cd1b21d1524dfd6fccda409404dd3e6237f065edc1bf1fa8f7a6868012d6 + languageName: node + linkType: hard + +"metro-core@npm:0.87.2": + version: 0.87.2 + resolution: "metro-core@npm:0.87.2" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + lodash.throttle: "npm:^4.1.1" + metro-resolver: "npm:0.87.2" + checksum: 10c0/032b7eec2b9dae2071e84067561b1f07c3ee2f81f2eb5ab7fd349ef8ad03127dc0a1c04d500236aeccc18f4429321fc11f5c186040623ee9e3ddec18014e39be + languageName: node + linkType: hard + +"metro-file-map@npm:0.87.1": + version: 0.87.1 + resolution: "metro-file-map@npm:0.87.1" + dependencies: + debug: "npm:^4.4.0" + fb-watchman: "npm:^2.0.0" + flow-enums-runtime: "npm:^0.0.6" + graceful-fs: "npm:^4.2.4" + invariant: "npm:^2.2.4" + jest-worker: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + nullthrows: "npm:^1.1.1" + checksum: 10c0/2adfe190819ce68ea96e92238bdbf3f5a4b544c1c89a74199c44411226f6088d8d8a06d425b2922046c20a4ba3548e7fd22c9650a842bbefebe5c2eb11b7419a + languageName: node + linkType: hard + +"metro-file-map@npm:0.87.2": + version: 0.87.2 + resolution: "metro-file-map@npm:0.87.2" dependencies: - "@babel/core": "npm:^7.25.2" + debug: "npm:^4.4.0" + fb-watchman: "npm:^2.0.0" flow-enums-runtime: "npm:^0.0.6" - hermes-parser: "npm:0.35.0" - metro-cache-key: "npm:0.84.4" + invariant: "npm:^2.2.4" + jest-worker: "npm:^29.7.0" nullthrows: "npm:^1.1.1" - checksum: 10c0/d1ac996666334bc1cfe9d399cbf4cd747b675f6f8f758c2317eebcc52bd76046ed864ddb7b270efeb8cf337940a61fb03912e5c859b7cbc54687c2f5c41a9d2a + checksum: 10c0/af1d792ac2d12102638256e93897315d1b5c893643c1939b2b32d5af0d6d6f108702ecfeccb35ef8f40bd338f2efda813216d1274efcd0e954c2db807ff85ecd languageName: node linkType: hard -"metro-cache-key@npm:0.84.4": - version: 0.84.4 - resolution: "metro-cache-key@npm:0.84.4" +"metro-minify-terser@npm:0.87.1": + version: 0.87.1 + resolution: "metro-minify-terser@npm:0.87.1" dependencies: flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/a82ab6367f11886d960cc8fa1f3aa54f6529fe30c16059c141c3e789084c50838fdd7e1a5528534cd9c11a74c63aa5c6a7461dbfa50e8c449b6141eaf2fd05e0 + terser: "npm:^5.15.0" + checksum: 10c0/8789263ce8767ab3b389423f974dbc88b57da7ebd3b5bfabb6e6334210c781a8e23802ec417f5140db3dca5509ef83cba0dc570544c9ab774e0c91c38ccff635 languageName: node linkType: hard -"metro-cache@npm:0.84.4": - version: 0.84.4 - resolution: "metro-cache@npm:0.84.4" +"metro-minify-terser@npm:0.87.2": + version: 0.87.2 + resolution: "metro-minify-terser@npm:0.87.2" dependencies: - exponential-backoff: "npm:^3.1.1" flow-enums-runtime: "npm:^0.0.6" - https-proxy-agent: "npm:^7.0.5" - metro-core: "npm:0.84.4" - checksum: 10c0/3bf7f3a1f85b4f1af05f4b2c71c78e56fd3262d967ee43f02e9ff6820254063af33a70b6549e3dc5e993a6a0b9df92e9279632ad9a8b1cde2577342f93df45eb + terser: "npm:^5.15.0" + checksum: 10c0/7b3d17e16069d6f97f99f30cadd766b2475efb6f284919bfc7f580ba5fd3dd4391eeac52ba7a7bb980da22a99761ee9ac3ea1007d110fc8b2dcd73b5501415d5 languageName: node linkType: hard -"metro-config@npm:0.84.4, metro-config@npm:^0.84.3": - version: 0.84.4 - resolution: "metro-config@npm:0.84.4" +"metro-resolver@npm:0.87.1": + version: 0.87.1 + resolution: "metro-resolver@npm:0.87.1" dependencies: - connect: "npm:^3.6.5" flow-enums-runtime: "npm:^0.0.6" - jest-validate: "npm:^29.7.0" - metro: "npm:0.84.4" - metro-cache: "npm:0.84.4" - metro-core: "npm:0.84.4" - metro-runtime: "npm:0.84.4" - yaml: "npm:^2.6.1" - checksum: 10c0/f8aaf7d8cff9b486353b62f4746b0a70f99749bd4061f5ae847524aaedcd9c5a34bf176cbbe12fb33e771e8ed3c1496654b2578fa5ba8b9e4f856f0589744d98 + checksum: 10c0/1218f9a3a2b94d00bf256dd8963460900dad6570f5b4859ac03bf966570c500303576ad47d4616ae9226ce438abb285fcd5cd282862b16d7c2c2b8a22ab7dc44 languageName: node linkType: hard -"metro-core@npm:0.84.4, metro-core@npm:^0.84.3": - version: 0.84.4 - resolution: "metro-core@npm:0.84.4" +"metro-resolver@npm:0.87.2": + version: 0.87.2 + resolution: "metro-resolver@npm:0.87.2" dependencies: flow-enums-runtime: "npm:^0.0.6" - lodash.throttle: "npm:^4.1.1" - metro-resolver: "npm:0.84.4" - checksum: 10c0/19d859de16b5e082c9c31bed981c579a4e6d31a626c7829b725df9ae0ffb755d0ef7809ba9f8adf22d3921f5ffdd931ed77b21b95ca2ea17895f0c99b3cab831 + checksum: 10c0/ef54518debc6cb03a500da8e369ccd7d2864eff668084629d418d6121e109b32e83e260760c0f18b1f0ec20ed77af288e75f98e1c22001af8814e2e21a03743c languageName: node linkType: hard -"metro-file-map@npm:0.84.4": - version: 0.84.4 - resolution: "metro-file-map@npm:0.84.4" +"metro-runtime@npm:0.87.1": + version: 0.87.1 + resolution: "metro-runtime@npm:0.87.1" dependencies: - debug: "npm:^4.4.0" - fb-watchman: "npm:^2.0.0" + "@babel/runtime": "npm:^7.25.0" flow-enums-runtime: "npm:^0.0.6" - graceful-fs: "npm:^4.2.4" - invariant: "npm:^2.2.4" - jest-worker: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - nullthrows: "npm:^1.1.1" - walker: "npm:^1.0.7" - checksum: 10c0/09ca829570d1d6dc5beb0534da8a7f2bfcae5415b0974fd5f58b4a05da95dbafdd47f7dc8dedeb11b6562ee9a92c4d918466d02a05cda6e1eaf2c400cbbe6fb4 + checksum: 10c0/47ccc9aa8205475d11ea25c2f047fb0f870b8c81072adcd38d5e3fdaf8206f3828823e8720bcb7e5f8f7b940d757a127d18d7f48f0c2375a9094247946a8591d languageName: node linkType: hard -"metro-minify-terser@npm:0.84.4": - version: 0.84.4 - resolution: "metro-minify-terser@npm:0.84.4" +"metro-runtime@npm:0.87.2, metro-runtime@npm:^0.87.1": + version: 0.87.2 + resolution: "metro-runtime@npm:0.87.2" dependencies: + "@babel/runtime": "npm:^7.25.0" flow-enums-runtime: "npm:^0.0.6" - terser: "npm:^5.15.0" - checksum: 10c0/c9b36c2adb8254c38bdedad9da8bf2b7fae7f45cbd883e590430a5fc9cad808af24dd08a9420925e15733dab886528ad553e3eeb3faffc53d3ad80e7e03e5f6d + checksum: 10c0/eb3731062b09a9e1e2eee62a61fc6247c16ea4b50bcb94871788684c25320a6730f88425d94f82e1268378a51ec699c19d5dc7ac9d444157247d211323782ec0 languageName: node linkType: hard -"metro-resolver@npm:0.84.4": - version: 0.84.4 - resolution: "metro-resolver@npm:0.84.4" +"metro-source-map@npm:0.87.1": + version: 0.87.1 + resolution: "metro-source-map@npm:0.87.1" dependencies: + "@babel/traverse": "npm:^7.29.0" + "@babel/types": "npm:^7.29.0" flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/468334270598222e15cbee32af51a3b5e1f4fa6869794955b95d1134b28a58594e8e3879e841ccf00bbb5cd86c689a4481714d6c6a464931987d5333d2c55f80 + invariant: "npm:^2.2.4" + metro-symbolicate: "npm:0.87.1" + nullthrows: "npm:^1.1.1" + ob1: "npm:0.87.1" + source-map: "npm:^0.5.6" + vlq: "npm:^1.0.0" + checksum: 10c0/0344446175ea907cd075b6a6d47e31673b14c414fe16a3fd9005c969c9003ace86cfc4a7f73a75c4156da721a8246bbdb7ee5f7d0aa9c6081c80b1f01b0a766a languageName: node linkType: hard -"metro-runtime@npm:0.84.4, metro-runtime@npm:^0.84.3": - version: 0.84.4 - resolution: "metro-runtime@npm:0.84.4" +"metro-source-map@npm:0.87.2, metro-source-map@npm:^0.87.1": + version: 0.87.2 + resolution: "metro-source-map@npm:0.87.2" dependencies: - "@babel/runtime": "npm:^7.25.0" + "@babel/traverse": "npm:^7.29.0" + "@babel/types": "npm:^7.29.8" flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/e2b2e819027940c6bbd081e5650238d52b6c6d78561cd486b8c10cd1e7fce0213c66fa7f885e37ad5377fcd5726b1c9e473fba6de13938cdf2c966e82968c05f + invariant: "npm:^2.2.4" + metro-symbolicate: "npm:0.87.2" + nullthrows: "npm:^1.1.1" + ob1: "npm:0.87.2" + source-map: "npm:^0.5.6" + checksum: 10c0/f2780caf58d4c18a0f85a8d200b07fcf3663f154ffd387b394996010c1295daffab339b213f5808b47a1de0889da03391c78f8841124b21dfcb53765055cbb84 languageName: node linkType: hard -"metro-source-map@npm:0.84.4, metro-source-map@npm:^0.84.3": - version: 0.84.4 - resolution: "metro-source-map@npm:0.84.4" +"metro-symbolicate@npm:0.87.1": + version: 0.87.1 + resolution: "metro-symbolicate@npm:0.87.1" dependencies: - "@babel/traverse": "npm:^7.29.0" - "@babel/types": "npm:^7.29.0" flow-enums-runtime: "npm:^0.0.6" invariant: "npm:^2.2.4" - metro-symbolicate: "npm:0.84.4" + metro-source-map: "npm:0.87.1" nullthrows: "npm:^1.1.1" - ob1: "npm:0.84.4" source-map: "npm:^0.5.6" vlq: "npm:^1.0.0" - checksum: 10c0/39df4524022e07aa4b4d09dd874a9509eb9e2e1e491e80a35099020347ab6be2407851b026452296aad314b0eb7ecf14f9b6bab96bd7c31d47d8b1eb30279aaf + bin: + metro-symbolicate: src/index.js + checksum: 10c0/4c1b8bab66118bb82bd57b74875ad619b63846340799866b22b394a5f4056bde558c1ec880c8060d55484d0abc96d73bcd6f509bb9d73cc76349a711b5cc3895 languageName: node linkType: hard -"metro-symbolicate@npm:0.84.4": - version: 0.84.4 - resolution: "metro-symbolicate@npm:0.84.4" +"metro-symbolicate@npm:0.87.2": + version: 0.87.2 + resolution: "metro-symbolicate@npm:0.87.2" dependencies: flow-enums-runtime: "npm:^0.0.6" invariant: "npm:^2.2.4" - metro-source-map: "npm:0.84.4" + metro-source-map: "npm:0.87.2" nullthrows: "npm:^1.1.1" source-map: "npm:^0.5.6" vlq: "npm:^1.0.0" bin: metro-symbolicate: src/index.js - checksum: 10c0/416a9ef694150a8ec708187743b74ab67e0b4fec39c64610b3771b584830117670a62acb9aa824f84a44efbb1cfec07aaf943d1aaf349d977eecf7c72bd8c0bf + checksum: 10c0/decdb21ccc13a82159052723a1ab02efc59d882e92bd5b596d61e693011f88aeac9db6f23ba3e3a438ce5dbbf1dc09f3a9bd0aee60fa85204bf1bc41fa49f2a0 + languageName: node + linkType: hard + +"metro-transform-plugins@npm:0.87.1": + version: 0.87.1 + resolution: "metro-transform-plugins@npm:0.87.1" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.29.1" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.29.0" + flow-enums-runtime: "npm:^0.0.6" + nullthrows: "npm:^1.1.1" + checksum: 10c0/6ffc825d59fb4af9198114063b27627522de5f6ec20a4c840fbae8b99b6a3896e45f4e53800435e824cac9b708c10af270a90aee98714fbfb2105d4724e5800a languageName: node linkType: hard -"metro-transform-plugins@npm:0.84.4": - version: 0.84.4 - resolution: "metro-transform-plugins@npm:0.84.4" +"metro-transform-plugins@npm:0.87.2": + version: 0.87.2 + resolution: "metro-transform-plugins@npm:0.87.2" dependencies: "@babel/core": "npm:^7.25.2" "@babel/generator": "npm:^7.29.1" @@ -15242,34 +15307,55 @@ __metadata: "@babel/traverse": "npm:^7.29.0" flow-enums-runtime: "npm:^0.0.6" nullthrows: "npm:^1.1.1" - checksum: 10c0/7edb0c0d3655e9f5f5fb8bd8221ec297394b8730c959a3245ea81e50da8177ad7782f21696201a0dcb922281efd919e9548d5b819d8338e52d4b130f06333123 + checksum: 10c0/5a5f022daa276ebe2db104e370388d35bec34561b0a3960b3b237d542da29413bfe7dde325da57fed8d05d766d02e8d6b2cf87a0e26c494709b7b754413b1b1d languageName: node linkType: hard -"metro-transform-worker@npm:0.84.4": - version: 0.84.4 - resolution: "metro-transform-worker@npm:0.84.4" +"metro-transform-worker@npm:0.87.1": + version: 0.87.1 + resolution: "metro-transform-worker@npm:0.87.1" dependencies: "@babel/core": "npm:^7.25.2" "@babel/generator": "npm:^7.29.1" "@babel/parser": "npm:^7.29.0" "@babel/types": "npm:^7.29.0" flow-enums-runtime: "npm:^0.0.6" - metro: "npm:0.84.4" - metro-babel-transformer: "npm:0.84.4" - metro-cache: "npm:0.84.4" - metro-cache-key: "npm:0.84.4" - metro-minify-terser: "npm:0.84.4" - metro-source-map: "npm:0.84.4" - metro-transform-plugins: "npm:0.84.4" + metro: "npm:0.87.1" + metro-babel-transformer: "npm:0.87.1" + metro-cache: "npm:0.87.1" + metro-cache-key: "npm:0.87.1" + metro-minify-terser: "npm:0.87.1" + metro-source-map: "npm:0.87.1" + metro-transform-plugins: "npm:0.87.1" + nullthrows: "npm:^1.1.1" + checksum: 10c0/50401e5aa9249591d940140465c81c7c2088e8e925993a589f6e99a03c8b1cb3cd3ced8e0c5e528f9041a2d15b1904e5a972a1a2945298277d5ed6f9a0558440 + languageName: node + linkType: hard + +"metro-transform-worker@npm:0.87.2": + version: 0.87.2 + resolution: "metro-transform-worker@npm:0.87.2" + dependencies: + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.29.1" + "@babel/parser": "npm:^7.29.9" + "@babel/types": "npm:^7.29.8" + flow-enums-runtime: "npm:^0.0.6" + metro: "npm:0.87.2" + metro-babel-transformer: "npm:0.87.2" + metro-cache: "npm:0.87.2" + metro-cache-key: "npm:0.87.2" + metro-minify-terser: "npm:0.87.2" + metro-source-map: "npm:0.87.2" + metro-transform-plugins: "npm:0.87.2" nullthrows: "npm:^1.1.1" - checksum: 10c0/95924f9bcaf6df931bba2783f440d8fab29909bdde8cecdcc3bc7603e7de71e51728a34288f045694b616c94216d1fc683493b8a470e074c9c8a7f220aa9f9b5 + checksum: 10c0/67c9d56fc4ca33a38c0ee0a984744c6eb1ced084f26b34231f70975e74ae3db707443225e1a2511633ffc915aa78dac866cbee5ab5a8fbca0f26510438e3fb56 languageName: node linkType: hard -"metro@npm:0.84.4, metro@npm:^0.84.3": - version: 0.84.4 - resolution: "metro@npm:0.84.4" +"metro@npm:0.87.1": + version: 0.87.1 + resolution: "metro@npm:0.87.1" dependencies: "@babel/code-frame": "npm:^7.29.0" "@babel/core": "npm:^7.25.2" @@ -15279,30 +15365,74 @@ __metadata: "@babel/traverse": "npm:^7.29.0" "@babel/types": "npm:^7.29.0" accepts: "npm:^2.0.0" - ci-info: "npm:^2.0.0" connect: "npm:^3.6.5" debug: "npm:^4.4.0" error-stack-parser: "npm:^2.0.6" flow-enums-runtime: "npm:^0.0.6" + flow-parser: "npm:0.331.0" graceful-fs: "npm:^4.2.4" - hermes-parser: "npm:0.35.0" - image-size: "npm:^1.0.2" invariant: "npm:^2.2.4" jest-worker: "npm:^29.7.0" jsc-safe-url: "npm:^0.2.2" lodash.throttle: "npm:^4.1.1" - metro-babel-transformer: "npm:0.84.4" - metro-cache: "npm:0.84.4" - metro-cache-key: "npm:0.84.4" - metro-config: "npm:0.84.4" - metro-core: "npm:0.84.4" - metro-file-map: "npm:0.84.4" - metro-resolver: "npm:0.84.4" - metro-runtime: "npm:0.84.4" - metro-source-map: "npm:0.84.4" - metro-symbolicate: "npm:0.84.4" - metro-transform-plugins: "npm:0.84.4" - metro-transform-worker: "npm:0.84.4" + metro-babel-transformer: "npm:0.87.1" + metro-cache: "npm:0.87.1" + metro-cache-key: "npm:0.87.1" + metro-config: "npm:0.87.1" + metro-core: "npm:0.87.1" + metro-file-map: "npm:0.87.1" + metro-resolver: "npm:0.87.1" + metro-runtime: "npm:0.87.1" + metro-source-map: "npm:0.87.1" + metro-symbolicate: "npm:0.87.1" + metro-transform-plugins: "npm:0.87.1" + metro-transform-worker: "npm:0.87.1" + mime-types: "npm:^3.0.1" + nullthrows: "npm:^1.1.1" + serialize-error: "npm:^2.1.0" + source-map: "npm:^0.5.6" + throat: "npm:^5.0.0" + ws: "npm:^7.5.10" + yargs: "npm:^17.6.2" + bin: + metro: src/cli.js + checksum: 10c0/874637fb0eea6d7b2d970c2dd5c8e3b8dbcae92371b21b231d7bb95037e661db80a1a2f90ec2510d864e0abfe3d88947d256e60845b13436df6cf704a61ec4d1 + languageName: node + linkType: hard + +"metro@npm:0.87.2, metro@npm:^0.87.1": + version: 0.87.2 + resolution: "metro@npm:0.87.2" + dependencies: + "@babel/code-frame": "npm:^7.29.0" + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.29.1" + "@babel/parser": "npm:^7.29.9" + "@babel/template": "npm:^7.28.6" + "@babel/traverse": "npm:^7.29.0" + "@babel/types": "npm:^7.29.8" + accepts: "npm:^2.0.0" + connect: "npm:^3.6.5" + debug: "npm:^4.4.0" + error-stack-parser: "npm:^2.0.6" + flow-enums-runtime: "npm:^0.0.6" + flow-parser: "npm:0.336.0" + invariant: "npm:^2.2.4" + jest-worker: "npm:^29.7.0" + jsc-safe-url: "npm:^0.2.2" + lodash.throttle: "npm:^4.1.1" + metro-babel-transformer: "npm:0.87.2" + metro-cache: "npm:0.87.2" + metro-cache-key: "npm:0.87.2" + metro-config: "npm:0.87.2" + metro-core: "npm:0.87.2" + metro-file-map: "npm:0.87.2" + metro-resolver: "npm:0.87.2" + metro-runtime: "npm:0.87.2" + metro-source-map: "npm:0.87.2" + metro-symbolicate: "npm:0.87.2" + metro-transform-plugins: "npm:0.87.2" + metro-transform-worker: "npm:0.87.2" mime-types: "npm:^3.0.1" nullthrows: "npm:^1.1.1" serialize-error: "npm:^2.1.0" @@ -15312,7 +15442,7 @@ __metadata: yargs: "npm:^17.6.2" bin: metro: src/cli.js - checksum: 10c0/ff92915119db29cd855274f3789d391cba83c50cb92e22d1e9b8c729e7f6d39495e32540a22ca4c6591eea6a847ade49fcfa5faab01b2300227e3f1fc7df359c + checksum: 10c0/a9f08317ab245f55fc49ec17521ce760c447d93561b718811770a3514be74b7d3d367bff48b941381f2de2e39dcecfd6c574fe5a1b1e844305862381fe017225 languageName: node linkType: hard @@ -16100,15 +16230,6 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^1.0.4": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf - languageName: node - linkType: hard - "modify-values@npm:^1.0.0": version: 1.0.1 resolution: "modify-values@npm:1.0.1" @@ -16137,53 +16258,10 @@ __metadata: languageName: node linkType: hard -"msgpackr-extract@npm:^3.0.2": - version: 3.0.3 - resolution: "msgpackr-extract@npm:3.0.3" - dependencies: - "@msgpackr-extract/msgpackr-extract-darwin-arm64": "npm:3.0.3" - "@msgpackr-extract/msgpackr-extract-darwin-x64": "npm:3.0.3" - "@msgpackr-extract/msgpackr-extract-linux-arm": "npm:3.0.3" - "@msgpackr-extract/msgpackr-extract-linux-arm64": "npm:3.0.3" - "@msgpackr-extract/msgpackr-extract-linux-x64": "npm:3.0.3" - "@msgpackr-extract/msgpackr-extract-win32-x64": "npm:3.0.3" - node-gyp: "npm:latest" - node-gyp-build-optional-packages: "npm:5.2.2" - dependenciesMeta: - "@msgpackr-extract/msgpackr-extract-darwin-arm64": - optional: true - "@msgpackr-extract/msgpackr-extract-darwin-x64": - optional: true - "@msgpackr-extract/msgpackr-extract-linux-arm": - optional: true - "@msgpackr-extract/msgpackr-extract-linux-arm64": - optional: true - "@msgpackr-extract/msgpackr-extract-linux-x64": - optional: true - "@msgpackr-extract/msgpackr-extract-win32-x64": - optional: true - bin: - download-msgpackr-prebuilds: bin/download-prebuilds.js - checksum: 10c0/e504fd8bf86a29d7527c83776530ee6dc92dcb0273bb3679fd4a85173efead7f0ee32fb82c8410a13c33ef32828c45f81118ffc0fbed5d6842e72299894623b4 - languageName: node - linkType: hard - -"msgpackr@npm:^2.0.1": - version: 2.0.1 - resolution: "msgpackr@npm:2.0.1" - dependencies: - msgpackr-extract: "npm:^3.0.2" - dependenciesMeta: - msgpackr-extract: - optional: true - checksum: 10c0/683eaaecf4835acb759e393cf5e76dd097354e1f3b35ed260539b4fd4e0da5523b93bbaf8fc1a956a06d9a60aa2571fe210159c6f2a29fd37a9b0fa54863b6a2 - languageName: node - linkType: hard - -"multitars@npm:^1.0.0": - version: 1.0.0 - resolution: "multitars@npm:1.0.0" - checksum: 10c0/c3c432ae6c76f802270bfaff63de66ba740d8599503e78cca7c489d43968869509330f68329abd5d3dfc495790c47598fd3994a2cccb68b738d76eba66ae4b04 +"multitars@npm:^1.0.2": + version: 1.0.2 + resolution: "multitars@npm:1.0.2" + checksum: 10c0/3ba8805a66bcdb95a9841e13b59370bd737777a0435fed661e321af89e6f235ef286ca5b5d7992c4f079795826e8734e9aa7db368e389bc7a008550b50d928d2 languageName: node linkType: hard @@ -16203,7 +16281,7 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^5.1.7": +"nanoid@npm:^5.1.11": version: 5.1.16 resolution: "nanoid@npm:5.1.16" bin: @@ -16305,23 +16383,10 @@ __metadata: languageName: node linkType: hard -"node-forge@npm:^1.3.3": - version: 1.4.2 - resolution: "node-forge@npm:1.4.2" - checksum: 10c0/fb80d5eac8018f413647e17e6278876d0bfff8b32e8e51c4132584ddcef6b1881cc647a278072af3c2611744397e7844fc0f87f940ed818ec423f4d0c48db10a - languageName: node - linkType: hard - -"node-gyp-build-optional-packages@npm:5.2.2": - version: 5.2.2 - resolution: "node-gyp-build-optional-packages@npm:5.2.2" - dependencies: - detect-libc: "npm:^2.0.1" - bin: - node-gyp-build-optional-packages: bin.js - node-gyp-build-optional-packages-optional: optional.js - node-gyp-build-optional-packages-test: build-test.js - checksum: 10c0/c81128c6f91873381be178c5eddcbdf66a148a6a89a427ce2bcd457593ce69baf2a8662b6d22cac092d24aa9c43c230dec4e69b3a0da604503f4777cd77e282b +"node-forge@npm:^1.4.0": + version: 1.4.3 + resolution: "node-forge@npm:1.4.3" + checksum: 10c0/02202bf144dfb6f9662c21a2fdbc6251cb1e8b6dd7e4016d2bb8c996fb61a46383f7426503e06e3f15014d1b8a3215c32ee5cf22e5023ecd8e6d88b6a41dada0 languageName: node linkType: hard @@ -16436,6 +16501,41 @@ __metadata: languageName: node linkType: hard +"noxcturnal@npm:^0.1.11": + version: 0.1.11 + resolution: "noxcturnal@npm:0.1.11" + dependencies: + "@babel/code-frame": "npm:^7.20.0" + "@noxcturnal/noxcturnal-darwin-arm64": "npm:0.1.11" + "@noxcturnal/noxcturnal-darwin-x64": "npm:0.1.11" + "@noxcturnal/noxcturnal-linux-arm64-gnu": "npm:0.1.11" + "@noxcturnal/noxcturnal-linux-arm64-musl": "npm:0.1.11" + "@noxcturnal/noxcturnal-linux-x64-gnu": "npm:0.1.11" + "@noxcturnal/noxcturnal-linux-x64-musl": "npm:0.1.11" + "@noxcturnal/noxcturnal-win32-arm64-msvc": "npm:0.1.11" + "@noxcturnal/noxcturnal-win32-x64-msvc": "npm:0.1.11" + "@oxc-project/types": "npm:0.154.0" + dependenciesMeta: + "@noxcturnal/noxcturnal-darwin-arm64": + optional: true + "@noxcturnal/noxcturnal-darwin-x64": + optional: true + "@noxcturnal/noxcturnal-linux-arm64-gnu": + optional: true + "@noxcturnal/noxcturnal-linux-arm64-musl": + optional: true + "@noxcturnal/noxcturnal-linux-x64-gnu": + optional: true + "@noxcturnal/noxcturnal-linux-x64-musl": + optional: true + "@noxcturnal/noxcturnal-win32-arm64-msvc": + optional: true + "@noxcturnal/noxcturnal-win32-x64-msvc": + optional: true + checksum: 10c0/b27d3ffbd5d1b3af2be55db6c4cb9eff354afc41edbf383fb090231bd4452b807b140d90738b8aca77de92d22ad0b5b1f0a77e0e770d5c9bc4ebbe1eafc099ee + languageName: node + linkType: hard + "npm-package-arg@npm:^11.0.0": version: 11.0.3 resolution: "npm-package-arg@npm:11.0.3" @@ -16480,12 +16580,21 @@ __metadata: languageName: node linkType: hard -"ob1@npm:0.84.4": - version: 0.84.4 - resolution: "ob1@npm:0.84.4" +"ob1@npm:0.87.1": + version: 0.87.1 + resolution: "ob1@npm:0.87.1" + dependencies: + flow-enums-runtime: "npm:^0.0.6" + checksum: 10c0/e75cfd9508668aefd23420f167f7305646f8515d71a8fa8d571f77f7c2b5b5862dd6171bf53d05be6061c32424306092bb8aeb359fa49e633d7d9fe40e6155da + languageName: node + linkType: hard + +"ob1@npm:0.87.2": + version: 0.87.2 + resolution: "ob1@npm:0.87.2" dependencies: flow-enums-runtime: "npm:^0.0.6" - checksum: 10c0/8bf3a3bdc2b27f1b1b60569c31ff2d9d829025f9a1ce7388b5e810242e48672c8d6b24e5972d6e30aef4d84f6894d12b13d0c6c418460d031da1972b96920bba + checksum: 10c0/1d7a4475aa6c207bd0674537ff113a0a633bb120b0baa90260731bd8d1ae1f943a0ed656f4ad8deedcaa6b3d69a3581899c2449d36743aef5d50e17bf3994ca4 languageName: node linkType: hard @@ -16670,13 +16779,14 @@ __metadata: languageName: node linkType: hard -"open@npm:^7.0.3": - version: 7.4.2 - resolution: "open@npm:7.4.2" +"open@npm:^8.4.2": + version: 8.4.2 + resolution: "open@npm:8.4.2" dependencies: - is-docker: "npm:^2.0.0" - is-wsl: "npm:^2.1.1" - checksum: 10c0/77573a6a68f7364f3a19a4c80492712720746b63680ee304555112605ead196afe91052bd3c3d165efdf4e9d04d255e87de0d0a77acec11ef47fd5261251813f + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 languageName: node linkType: hard @@ -17372,7 +17482,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.2.15, postcss@npm:^8.5.14": +"postcss@npm:^8.2.15, postcss@npm:^8.5.23": version: 8.5.32 resolution: "postcss@npm:8.5.32" dependencies: @@ -17702,17 +17812,6 @@ __metadata: languageName: node linkType: hard -"query-string@npm:^9.3.1": - version: 9.3.1 - resolution: "query-string@npm:9.3.1" - dependencies: - decode-uri-component: "npm:^0.4.1" - filter-obj: "npm:^5.1.0" - split-on-first: "npm:^3.0.0" - checksum: 10c0/47f62350be7ace6d2e03d12becf5d1985731d97577963a4d8b684e166f6708cb42f63f09aa4c92931f2ee1ff57c0800a25807b95f28fd98f7064b1d06b02b07e - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -17720,15 +17819,6 @@ __metadata: languageName: node linkType: hard -"queue@npm:6.0.2": - version: 6.0.2 - resolution: "queue@npm:6.0.2" - dependencies: - inherits: "npm:~2.0.3" - checksum: 10c0/cf987476cc72e7d3aaabe23ccefaab1cd757a2b5e0c8d80b67c9575a6b5e1198807ffd4f0948a3f118b149d1111d810ee773473530b77a5c606673cac2c9c996 - languageName: node - linkType: hard - "quick-lru@npm:^1.0.0": version: 1.1.0 resolution: "quick-lru@npm:1.1.0" @@ -17830,17 +17920,6 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:19.2.3": - version: 19.2.3 - resolution: "react-dom@npm:19.2.3" - dependencies: - scheduler: "npm:^0.27.0" - peerDependencies: - react: ^19.2.3 - checksum: 10c0/dc43f7ede06f46f3acc16ee83107c925530de9b91d1d0b3824583814746ff4c498ea64fd65cd83aba363205268adff52e2827c582634ae7b15069deaeabc4892 - languageName: node - linkType: hard - "react-dom@npm:19.2.6": version: 19.2.6 resolution: "react-dom@npm:19.2.6" @@ -17852,6 +17931,17 @@ __metadata: languageName: node linkType: hard +"react-dom@npm:19.3.0": + version: 19.3.0 + resolution: "react-dom@npm:19.3.0" + dependencies: + scheduler: "npm:^0.28.0" + peerDependencies: + react: ^19.3.0 + checksum: 10c0/c513044b724dd6bfe9500a9682d60973e7f8a48cffba00b6b16d3e910e27dcc459bf71bf0a5c33d7d62a3843ca30de1bd1e2098058aa4ed71f618a24b6061da5 + languageName: node + linkType: hard + "react-dom@npm:^19.2.6": version: 19.2.7 resolution: "react-dom@npm:19.2.7" @@ -17906,10 +17996,10 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^19.1.0": - version: 19.2.3 - resolution: "react-is@npm:19.2.3" - checksum: 10c0/2b54c422c21b8dbd68a435a1cce21ecd5b6f06f48659531f7d53dd7368365da5a67e946f352fb2010d11ca40658aa67bec90995f0f1ec5556c0f71dbffe54994 +"react-is@npm:^19.2.6": + version: 19.3.1 + resolution: "react-is@npm:19.3.1" + checksum: 10c0/428e02d986d56f1859c57756084489f6d2900fd686905003c405b32f1168738b78772bfa4bb6c706f5ac821199171522c28bf6434281f524f901459390a19606 languageName: node linkType: hard @@ -17953,33 +18043,31 @@ __metadata: languageName: node linkType: hard -"react-native-drawer-layout@npm:^5.0.0-alpha.10": - version: 5.0.0-alpha.10 - resolution: "react-native-drawer-layout@npm:5.0.0-alpha.10" +"react-native-drawer-layout@npm:^5.0.0-alpha.20": + version: 5.0.0-alpha.20 + resolution: "react-native-drawer-layout@npm:5.0.0-alpha.20" dependencies: - use-latest-callback: "npm:^0.3.3" + use-latest-callback: "npm:^0.3.5" peerDependencies: react: ">= 19.2.0" react-native: "*" - react-native-gesture-handler: ">= 2.0.0" + react-native-gesture-handler: ">= 3.0.0" react-native-reanimated: ">= 4.0.0" react-native-worklets: ">= 0.4.0" - checksum: 10c0/00fa3bc90e8544342343497f6c70be2eb8577c18d2080dbfc58fe1db3f84fb09ab8c1c883c0a3c266d5b05f8d0bc032a9c0423bd36a7633fa38dceee766e3955 + checksum: 10c0/59ba0aad7c6faadcbda2d97ef676e9b0009f50f402fe9f62eef9251f9371d477b3bc28bfaf8174c3af16087d9235f7da812d819cbcc32b619f79f9f533257ebc languageName: node linkType: hard -"react-native-gesture-handler@npm:~2.31.1": - version: 2.31.2 - resolution: "react-native-gesture-handler@npm:2.31.2" +"react-native-gesture-handler@npm:~3.3.0": + version: 3.3.0 + resolution: "react-native-gesture-handler@npm:3.3.0" dependencies: - "@egjs/hammerjs": "npm:^2.0.17" "@types/react-test-renderer": "npm:^19.1.0" - hoist-non-react-statics: "npm:^3.3.0" invariant: "npm:^2.2.4" peerDependencies: react: "*" react-native: "*" - checksum: 10c0/a312bb684b5de5376078e407a08a17fddef51a11ea09dd12236b3a971b18a68496f3d8c13391cdfefcc5af776fd90936066aaf20a7cfe2849d8c47c223643dd2 + checksum: 10c0/6a710722f59eca293e2ff30852cbaf8fb4705712068c9ebb4d1d9d737cda61f175b2b0b452c9fab322d9e14efae3b6d0ab7c884439125b7f5cfb57934f7a65f8 languageName: node linkType: hard @@ -18018,35 +18106,35 @@ __metadata: resolution: "react-native-paper-example@workspace:example" dependencies: "@babel/core": "npm:^7.29.0" - "@expo/metro-config": "npm:~56.0.0" + "@expo/metro-config": "npm:~58.0.21" "@react-native-async-storage/async-storage": "npm:2.2.0" "@react-native-masked-view/masked-view": "npm:0.3.2" - "@react-navigation/bottom-tabs": "npm:^8.0.0-alpha.33" - "@react-navigation/drawer": "npm:^8.0.0-alpha.34" - "@react-navigation/elements": "npm:3.0.0-alpha.31" - "@react-navigation/native": "npm:^8.0.0-alpha.28" - "@react-navigation/native-stack": "npm:^8.0.0-alpha.34" - babel-preset-expo: "npm:~56.0.0" - expo: "npm:~56.0.0" - expo-constants: "npm:~56.0.18" - expo-crypto: "npm:~56.0.3" - expo-dev-client: "npm:~56.0.13" - expo-font: "npm:~56.0.5" - expo-keep-awake: "npm:~56.0.3" - expo-splash-screen: "npm:~56.0.9" - expo-status-bar: "npm:~56.0.4" - expo-updates: "npm:~56.0.14" - react: "npm:19.2.3" - react-dom: "npm:19.2.3" - react-native: "npm:0.85.3" + "@react-navigation/bottom-tabs": "npm:^8.0.0-alpha.57" + "@react-navigation/drawer": "npm:^8.0.0-alpha.58" + "@react-navigation/elements": "npm:3.0.0-alpha.55" + "@react-navigation/native": "npm:^8.0.0-alpha.51" + "@react-navigation/native-stack": "npm:^8.0.0-alpha.59" + babel-preset-expo: "npm:~58.0.24" + expo: "npm:~58.0.23" + expo-constants: "npm:~58.0.15" + expo-crypto: "npm:~58.0.7" + expo-dev-client: "npm:~58.0.18" + expo-font: "npm:~58.0.11" + expo-keep-awake: "npm:~58.0.3" + expo-splash-screen: "npm:~58.0.13" + expo-status-bar: "npm:~58.0.4" + expo-updates: "npm:~58.0.21" + react: "npm:19.3.0" + react-dom: "npm:19.3.0" + react-native: "npm:0.88.1" react-native-builder-bob: "npm:^0.42.1" - react-native-gesture-handler: "npm:~2.31.1" + react-native-gesture-handler: "npm:~3.3.0" react-native-monorepo-config: "npm:^0.4.0" - react-native-reanimated: "npm:4.3.1" - react-native-safe-area-context: "npm:~5.7.0" - react-native-screens: "npm:4.25.1" - react-native-web: "npm:^0.21.0" - react-native-worklets: "npm:0.8.3" + react-native-reanimated: "npm:4.7.1" + react-native-safe-area-context: "npm:~5.11.1" + react-native-screens: "npm:~4.30.1" + react-native-web: "npm:~0.21.4" + react-native-worklets: "npm:0.13.0" languageName: unknown linkType: soft @@ -18064,14 +18152,15 @@ __metadata: "@eslint/js": "npm:9.39.4" "@jest/globals": "npm:^29.7.0" "@react-native-vector-icons/material-design-icons": "npm:^12.0.0" - "@react-native/babel-preset": "npm:^0.85.3" - "@react-native/jest-preset": "npm:^0.85.3" - "@react-navigation/native": "npm:^8.0.0-alpha.28" + "@react-native/assets-registry": "npm:^0.88.1" + "@react-native/babel-preset": "npm:^0.88.1" + "@react-native/jest-preset": "npm:^0.88.1" + "@react-navigation/native": "npm:^8.0.0-alpha.51" "@release-it/conventional-changelog": "npm:^1.1.0" "@testing-library/react-native": "npm:^14.0.0" "@types/color": "npm:^3.0.0" "@types/node": "npm:^24.0.0" - "@types/react": "npm:^19.2.7" + "@types/react": "npm:^19.3.0" all-contributors-cli: "npm:^6.24.0" babel-jest: "npm:^29.6.3" babel-test: "npm:^0.1.1" @@ -18085,12 +18174,12 @@ __metadata: jest-file-snapshot: "npm:^0.3.2" lefthook: "npm:^2.1.9" prettier: "npm:^3.8.4" - react: "npm:19.2.3" - react-native: "npm:0.85.3" + react: "npm:19.3.0" + react-native: "npm:0.88.1" react-native-builder-bob: "npm:^0.42.1" - react-native-reanimated: "npm:4.3.1" - react-native-safe-area-context: "npm:5.7.0" - react-native-worklets: "npm:0.8.3" + react-native-reanimated: "npm:4.7.1" + react-native-safe-area-context: "npm:5.11.1" + react-native-worklets: "npm:0.13.0" release-it: "npm:^13.4.0" test-renderer: "npm:1.2.0" typescript: "npm:5.8.3" @@ -18105,21 +18194,31 @@ __metadata: languageName: unknown linkType: soft -"react-native-reanimated@npm:4.3.1": - version: 4.3.1 - resolution: "react-native-reanimated@npm:4.3.1" +"react-native-reanimated@npm:4.7.1": + version: 4.7.1 + resolution: "react-native-reanimated@npm:4.7.1" dependencies: react-native-is-edge-to-edge: "npm:^1.3.1" semver: "npm:^7.7.3" peerDependencies: react: "*" - react-native: 0.81 - 0.85 - react-native-worklets: 0.8.x - checksum: 10c0/e456e2def81433872e3a43fd8a37b4e8d8be807ecb9f692b876a5d513d71918104c56db388ae0b58417f25764e3ab82c6fda9327079b3fdc73bedc8593d4f189 + react-native: 0.86 - 0.88 + react-native-worklets: 0.13.x + checksum: 10c0/d92548f318efb18f4f18c819d02b5d1767f34d4221a4dcb2a4baee4c0769e405a409c0a9f18103adbcfa8596fca36e5bd5025e7b1d8dd9e152c9d7f2e148d939 languageName: node linkType: hard -"react-native-safe-area-context@npm:5.7.0, react-native-safe-area-context@npm:~5.7.0": +"react-native-safe-area-context@npm:5.11.1, react-native-safe-area-context@npm:~5.11.1": + version: 5.11.1 + resolution: "react-native-safe-area-context@npm:5.11.1" + peerDependencies: + react: "*" + react-native: "*" + checksum: 10c0/f44fc57567ab47ac257aa1344ffca4aa001ba91db9542209bb36447eaa9694df6da41cd2b389786272cfa90dbb2a6aa83a969c5e3175e77e4125f3cadce90ec2 + languageName: node + linkType: hard + +"react-native-safe-area-context@npm:5.7.0": version: 5.7.0 resolution: "react-native-safe-area-context@npm:5.7.0" peerDependencies: @@ -18129,22 +18228,22 @@ __metadata: languageName: node linkType: hard -"react-native-screens@npm:4.25.1": - version: 4.25.1 - resolution: "react-native-screens@npm:4.25.1" +"react-native-screens@npm:~4.30.1": + version: 4.30.1 + resolution: "react-native-screens@npm:4.30.1" dependencies: react-freeze: "npm:^1.0.0" warn-once: "npm:^0.1.0" peerDependencies: react: "*" - react-native: ">=0.82.0" - checksum: 10c0/9657e2bb35f73b779acad5d9d2f280791842b3a830496368806170fe9b97d2c09ec792f4566ac30237334f16aa646638f5062c770828feebb4135ea62c32c61e + react-native: "*" + checksum: 10c0/e5ded425ece1819d56fa84dacffa30178a9b9af1e9350ae99f3b78a9cb21795886c6f74ca1fe1b89e7bb65a56733246c40bf57d5b470d9d7bbf10ad0fa117690 languageName: node linkType: hard -"react-native-web@npm:^0.21.0, react-native-web@npm:^0.21.2": - version: 0.21.2 - resolution: "react-native-web@npm:0.21.2" +"react-native-web@npm:^0.21.2, react-native-web@npm:~0.21.4": + version: 0.21.4 + resolution: "react-native-web@npm:0.21.4" dependencies: "@babel/runtime": "npm:^7.18.6" "@react-native/normalize-colors": "npm:^0.74.1" @@ -18157,64 +18256,66 @@ __metadata: peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - checksum: 10c0/8c184fef0045c25deff765c8e80963454a5dffd8e389a9e11cf2fec9e769ff0f82c3d56d082b1897a7ded8374d9ae8a49dac7f09377a104f1995a5ddea645095 + checksum: 10c0/4eee467365d8081b04c9c4cac8ab296cb19a1f06ac0ed30ad3d08172f42557f8dbd7eec9ea651ebfe9f5ddbd1e3326e45d9235e91d82f48e70b07822eb9c3873 languageName: node linkType: hard -"react-native-worklets@npm:0.8.3": - version: 0.8.3 - resolution: "react-native-worklets@npm:0.8.3" +"react-native-worklets@npm:0.13.0": + version: 0.13.0 + resolution: "react-native-worklets@npm:0.13.0" dependencies: + "@babel/generator": "npm:^7.27.1" "@babel/plugin-transform-arrow-functions": "npm:^7.27.1" - "@babel/plugin-transform-class-properties": "npm:^7.27.1" - "@babel/plugin-transform-classes": "npm:^7.28.4" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.27.1" - "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" + "@babel/plugin-transform-class-properties": "npm:^7.28.6" + "@babel/plugin-transform-classes": "npm:^7.28.6" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.28.6" + "@babel/plugin-transform-optional-chaining": "npm:^7.28.6" "@babel/plugin-transform-shorthand-properties": "npm:^7.27.1" "@babel/plugin-transform-template-literals": "npm:^7.27.1" "@babel/plugin-transform-unicode-regex": "npm:^7.27.1" - "@babel/preset-typescript": "npm:^7.27.1" + "@babel/preset-typescript": "npm:^7.28.5" + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + "@jridgewell/remapping": "npm:^2.3.5" convert-source-map: "npm:^2.0.0" - semver: "npm:^7.7.3" + semver: "npm:^7.7.4" + whatwg-fetch: "npm:^3.6.20" peerDependencies: "@babel/core": "*" "@react-native/metro-config": "*" react: "*" - react-native: 0.81 - 0.85 - checksum: 10c0/9ceb8ff1f1569165be3318c958087ed95d7b89e5e7308b733dc3f8e328d48c2acc7bc7369449b004b1824ed96e14a15a279d2dbee0105d7d62a55001045484ba + react-native: 0.86 - 0.88 + checksum: 10c0/bf35b75c9711019a9de757317afab7bc5f4015bf3770c64f1bb13fc5c8edae86b145642b721f6b3c886e4b52c69ea38c6331a3e59de6a1db3386976a6aadfc79 languageName: node linkType: hard -"react-native@npm:0.85.3": - version: 0.85.3 - resolution: "react-native@npm:0.85.3" +"react-native@npm:0.88.1": + version: 0.88.1 + resolution: "react-native@npm:0.88.1" dependencies: - "@react-native/assets-registry": "npm:0.85.3" - "@react-native/codegen": "npm:0.85.3" - "@react-native/community-cli-plugin": "npm:0.85.3" - "@react-native/gradle-plugin": "npm:0.85.3" - "@react-native/js-polyfills": "npm:0.85.3" - "@react-native/normalize-colors": "npm:0.85.3" - "@react-native/virtualized-lists": "npm:0.85.3" - abort-controller: "npm:^3.0.0" + "@react-native/asset-utils": "npm:0.88.1" + "@react-native/codegen": "npm:0.88.1" + "@react-native/community-cli-plugin": "npm:0.88.1" + "@react-native/gradle-plugin": "npm:0.88.1" + "@react-native/normalize-colors": "npm:0.88.1" + "@react-native/virtualized-lists": "npm:0.88.1" anser: "npm:^1.4.9" ansi-regex: "npm:^5.0.0" - babel-plugin-syntax-hermes-parser: "npm:0.33.3" base64-js: "npm:^1.5.1" - commander: "npm:^12.0.0" flow-enums-runtime: "npm:^0.0.6" - hermes-compiler: "npm:250829098.0.10" + flow-parser: "npm:0.327.0" + hermes-compiler: "npm:260318099.0.5" invariant: "npm:^2.2.4" memoize-one: "npm:^5.0.0" - metro-runtime: "npm:^0.84.3" - metro-source-map: "npm:^0.84.3" + metro-runtime: "npm:^0.87.1" + metro-source-map: "npm:^0.87.1" nullthrows: "npm:^1.1.1" pretty-format: "npm:^29.7.0" promise: "npm:^8.3.0" react-devtools-core: "npm:^6.1.5" react-refresh: "npm:^0.14.0" regenerator-runtime: "npm:^0.13.2" - scheduler: "npm:0.27.0" + scheduler: "npm:0.28.0" semver: "npm:^7.1.3" stacktrace-parser: "npm:^0.1.10" tinyglobby: "npm:^0.2.15" @@ -18222,17 +18323,14 @@ __metadata: ws: "npm:^7.5.10" yargs: "npm:^17.6.2" peerDependencies: - "@react-native/jest-preset": 0.85.3 "@types/react": ^19.1.1 - react: ^19.2.3 + react: ^19.3.0 peerDependenciesMeta: - "@react-native/jest-preset": - optional: true "@types/react": optional: true bin: react-native: cli.js - checksum: 10c0/365bd8ea2de1a707b753e249f17d9f18d993fd80edf76d4316e133ab6d10d51b9ed6912b952fa2173f56a3b8fbef34f179b686907e7d7c06b6e605fbf1dce895 + checksum: 10c0/c000040ac4b1b2dc736f40811ef4d11c88986296147e7722ed0f817540c0cb950a322e8766f9bc997470ef01e6bc46e90ff58ed67255fe08e1d8dee7da9ecfb3 languageName: node linkType: hard @@ -18300,13 +18398,6 @@ __metadata: languageName: node linkType: hard -"react@npm:19.2.3": - version: 19.2.3 - resolution: "react@npm:19.2.3" - checksum: 10c0/094220b3ba3a76c1b668f972ace1dd15509b157aead1b40391d1c8e657e720c201d9719537375eff08f5e0514748c0319063392a6f000e31303aafc4471f1436 - languageName: node - linkType: hard - "react@npm:19.2.6": version: 19.2.6 resolution: "react@npm:19.2.6" @@ -18314,6 +18405,13 @@ __metadata: languageName: node linkType: hard +"react@npm:19.3.0": + version: 19.3.0 + resolution: "react@npm:19.3.0" + checksum: 10c0/dd3099c3c43a7122bc01223bb26b0f8d5ba13cca569af6fb94a005fb54fa73223c9cb203bb226d40cfd49a82cbeef2e36ce84062a3a6d5b9fe8f4437694c7b52 + languageName: node + linkType: hard + "react@npm:^19.2.6": version: 19.2.7 resolution: "react@npm:19.2.7" @@ -19320,6 +19418,15 @@ __metadata: languageName: node linkType: hard +"sandbox-cli-detector@npm:^0.2.0": + version: 0.2.0 + resolution: "sandbox-cli-detector@npm:0.2.0" + bin: + sandbox-cli-detector: dist/cli.js + checksum: 10c0/e70964918150079a3183948a8adadcde736823da2ad1135b4ccead2baa8d24d6487ddd222c030f94c9ef54e84bc41aa525a5452ef4cb9239f6f64b2ac03337bc + languageName: node + linkType: hard + "sane@npm:^4.1.0": version: 4.1.0 resolution: "sane@npm:4.1.0" @@ -19358,10 +19465,10 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:0.27.0, scheduler@npm:^0.27.0": - version: 0.27.0 - resolution: "scheduler@npm:0.27.0" - checksum: 10c0/4f03048cb05a3c8fddc45813052251eca00688f413a3cee236d984a161da28db28ba71bd11e7a3dd02f7af84ab28d39fb311431d3b3772fed557945beb00c452 +"scheduler@npm:0.28.0, scheduler@npm:^0.28.0": + version: 0.28.0 + resolution: "scheduler@npm:0.28.0" + checksum: 10c0/783c8e5ce89d41273a02ed6dc0e3d24bd60e05c9e8f7e3adfc6c82e7c69935500d90e343f1ee26d592fc7504e8a2532573c6368def3e93bfe812391fa53efaf4 languageName: node linkType: hard @@ -19375,6 +19482,13 @@ __metadata: languageName: node linkType: hard +"scheduler@npm:^0.27.0": + version: 0.27.0 + resolution: "scheduler@npm:0.27.0" + checksum: 10c0/4f03048cb05a3c8fddc45813052251eca00688f413a3cee236d984a161da28db28ba71bd11e7a3dd02f7af84ab28d39fb311431d3b3772fed557945beb00c452 + languageName: node + linkType: hard + "schema-utils@npm:^2.5.0, schema-utils@npm:^2.6.5": version: 2.7.1 resolution: "schema-utils@npm:2.7.1" @@ -19465,7 +19579,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.1.3, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": +"semver@npm:^7.1.3, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4": version: 7.7.3 resolution: "semver@npm:7.7.3" bin: @@ -19483,6 +19597,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.7.4": + version: 7.8.6 + resolution: "semver@npm:7.8.6" + bin: + semver: bin/semver.js + checksum: 10c0/bf0a4d16eb067e5391323649e46b4a268644d7f8ee88e37c7668d35e861ec145b6e7df576d898007fc0d9a2cedcbc33f71460aa3bbea18eedfa5af58c064d7fe + languageName: node + linkType: hard + "send@npm:^0.19.0, send@npm:~0.19.0, send@npm:~0.19.1": version: 0.19.2 resolution: "send@npm:0.19.2" @@ -19772,7 +19895,7 @@ __metadata: languageName: node linkType: hard -"simple-plist@npm:^1.1.0": +"simple-plist@npm:^1.3.1": version: 1.4.0 resolution: "simple-plist@npm:1.4.0" dependencies: @@ -20048,13 +20171,6 @@ __metadata: languageName: node linkType: hard -"split-on-first@npm:^3.0.0": - version: 3.0.0 - resolution: "split-on-first@npm:3.0.0" - checksum: 10c0/a1262eae12b68de235e1a08e011bf5b42c42621985ddf807e6221fb1e2b3304824913ae7019f18436b96b8fab8aef5f1ad80dedd2385317fdc51b521c3882cd0 - languageName: node - linkType: hard - "split-string@npm:^3.0.1, split-string@npm:^3.0.2": version: 3.1.0 resolution: "split-string@npm:3.1.0" @@ -20130,6 +20246,15 @@ __metadata: languageName: node linkType: hard +"standard-navigation@npm:^0.0.8": + version: 0.0.8 + resolution: "standard-navigation@npm:0.0.8" + peerDependencies: + react: "*" + checksum: 10c0/46cdde7d565a612d85a8f479b18467fcd1a0d599c047d70fa50b2355967cc29903c20e1f9f7ed77eea56f55fbaf144ff2d2820389dd6e0ee0e15b162116e69fe + languageName: node + linkType: hard + "state-toggle@npm:^1.0.0": version: 1.0.3 resolution: "state-toggle@npm:1.0.3" @@ -21663,12 +21788,12 @@ __metadata: languageName: node linkType: hard -"use-latest-callback@npm:^0.3.3": - version: 0.3.4 - resolution: "use-latest-callback@npm:0.3.4" +"use-latest-callback@npm:^0.3.5": + version: 0.3.5 + resolution: "use-latest-callback@npm:0.3.5" peerDependencies: react: ">=16.8" - checksum: 10c0/af4a4ae7c0a378023efc06f195eeb78420ae9f8c01221a88f73b36561a6561436dcda7e3a6bc37c382271ce247fc2331fd614ef66d9a2b5066ed303ea6c886f0 + checksum: 10c0/1bd23c28dc581caeab65b02238489edfacc8fd5f6d2a8ad24d684c976946f655b6238410598689fd90e181d189e3cef186641d310910d87ac1b82f7e10336c47 languageName: node linkType: hard @@ -21711,15 +21836,6 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^7.0.3": - version: 7.0.3 - resolution: "uuid@npm:7.0.3" - bin: - uuid: dist/bin/uuid - checksum: 10c0/2eee5723b0fcce8256f5bfd3112af6c453b5471db00af9c3533e3d5a6e57de83513f9a145a570890457bd7abf2c2aa05797291d950ac666e5a074895dc63168b - languageName: node - linkType: hard - "v8-to-istanbul@npm:^9.0.0, v8-to-istanbul@npm:^9.0.1": version: 9.3.0 resolution: "v8-to-istanbul@npm:9.3.0" @@ -21849,7 +21965,7 @@ __metadata: languageName: node linkType: hard -"walker@npm:^1.0.7, walker@npm:^1.0.8, walker@npm:~1.0.5": +"walker@npm:^1.0.8, walker@npm:~1.0.5": version: 1.0.8 resolution: "walker@npm:1.0.8" dependencies: @@ -21987,17 +22103,17 @@ __metadata: languageName: node linkType: hard -"whatwg-fetch@npm:^3.0.0": +"whatwg-fetch@npm:^3.0.0, whatwg-fetch@npm:^3.6.20": version: 3.6.20 resolution: "whatwg-fetch@npm:3.6.20" checksum: 10c0/fa972dd14091321d38f36a4d062298df58c2248393ef9e8b154493c347c62e2756e25be29c16277396046d6eaa4b11bd174f34e6403fff6aaca9fb30fa1ff46d languageName: node linkType: hard -"whatwg-url-minimum@npm:^0.1.2": - version: 0.1.2 - resolution: "whatwg-url-minimum@npm:0.1.2" - checksum: 10c0/5437bc4e1f49d89ff58b7565214db4640c4ad5d90de6c61207e0dc766dae9b9894a0ea7b7883b8576524601586705c5dc359681c388d76c18eddb51f50de558f +"whatwg-url-minimum@npm:^0.2.0": + version: 0.2.0 + resolution: "whatwg-url-minimum@npm:0.2.0" + checksum: 10c0/6762036b0613a2ea28083389654b7dd5f5bad39eeb16b765bb910032811c3da8f1de6c5c3a2c04601bc5a3a4c8a68fab8bbf8a8ac4a0fe5fc61ba5159a0c3811 languageName: node linkType: hard @@ -22277,13 +22393,12 @@ __metadata: languageName: node linkType: hard -"xcode@npm:^3.0.1": - version: 3.0.1 - resolution: "xcode@npm:3.0.1" +"xcode@npm:^4.0.0": + version: 4.0.0 + resolution: "xcode@npm:4.0.0" dependencies: - simple-plist: "npm:^1.1.0" - uuid: "npm:^7.0.3" - checksum: 10c0/51bf35cee52909aeb18f868ecf9828f93b8042fadf968159320f9f11e757a52e43f6563a53b586986cfe5a34d576f3300c4c0cf1e14300084344ae206eaa53c3 + simple-plist: "npm:^1.3.1" + checksum: 10c0/cbb3510eda03636a1594476978f48eebea88a9d8c8ba506df0366c007581774551bb45ca8b511c6a41fc4b6b564958e765c89ad31d8aabec4e4f8f993c8a7fc6 languageName: node linkType: hard @@ -22374,15 +22489,6 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.6.1": - version: 2.9.1 - resolution: "yaml@npm:2.9.1" - bin: - yaml: bin.mjs - checksum: 10c0/9d06676ef02b89559a8b10a71882bd2cdae81e8393dc8dbc871615c3259475d9609ad973d19cb3c9e71e72d6206e3d1e7aa241c7e55f3d16fd2e77db305827d6 - languageName: node - linkType: hard - "yargs-parser@npm:19.0.4": version: 19.0.4 resolution: "yargs-parser@npm:19.0.4" @@ -22535,13 +22641,6 @@ __metadata: languageName: node linkType: hard -"zod@npm:^3.25.76": - version: 3.25.76 - resolution: "zod@npm:3.25.76" - checksum: 10c0/5718ec35e3c40b600316c5b4c5e4976f7fee68151bc8f8d90ec18a469be9571f072e1bbaace10f1e85cf8892ea12d90821b200e980ab46916a6166a4260a983c - languageName: node - linkType: hard - "zod@npm:^4.3.6": version: 4.6.7 resolution: "zod@npm:4.6.7"