Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion apps/bare-expo/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -607,6 +607,8 @@ PODS:
- RNScreens
- ExpoScreenCapture (57.0.1):
- ExpoModulesCore
- ExpoScreenCapture/Tests (57.0.1):
- ExpoModulesCore
- ExpoScreenOrientation (57.0.1):
- ExpoModulesCore
- hermes-engine
Expand Down Expand Up @@ -3215,6 +3217,7 @@ DEPENDENCIES:
- ExpoRouter (from `../../../packages/expo-router/ios`)
- ExpoRouter/Tests (from `../../../packages/expo-router/ios`)
- ExpoScreenCapture (from `../../../packages/expo-screen-capture/ios`)
- ExpoScreenCapture/Tests (from `../../../packages/expo-screen-capture/ios`)
- ExpoScreenOrientation (from `../../../packages/expo-screen-orientation/ios`)
- ExpoSecureStore (from `../../../packages/expo-secure-store/ios`)
- ExpoSensors (from `../../../packages/expo-sensors/ios`)
Expand Down Expand Up @@ -3917,7 +3920,7 @@ SPEC CHECKSUMS:
ExpoObserve: aa4fcbe7ed0a7ba387984a38e24c2ecaa8895fd0
ExpoPrint: 7e7a9bc7c12b9b336f34c4458d0c9ba14f243759
ExpoRouter: 224087330cc8f5a39700e6f4d7a55f55ecb2f90d
ExpoScreenCapture: 1728376b2a32a05dc1f6bae6a8d19b1bd33926f9
ExpoScreenCapture: 387b18f4a51561916cbff71d6e0e7b386af31171
ExpoScreenOrientation: 33c9de0c9e01dd8d1244f2b1ef433d0171079771
ExpoSecureStore: 94793113049a2d7478dfe1a13aa15081e9f61755
ExpoSensors: e71c7b6cb0c09d3427ef6ae29c69532a10c86b05
Expand Down
8 changes: 4 additions & 4 deletions apps/expo-go/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4682,7 +4682,7 @@ SPEC CHECKSUMS:
ExpoNotifications: 0f253ad90f108c1c4045b541294164865c6aadc8
ExpoPrint: 7e7a9bc7c12b9b336f34c4458d0c9ba14f243759
ExpoRouter: 224087330cc8f5a39700e6f4d7a55f55ecb2f90d
ExpoScreenCapture: 1728376b2a32a05dc1f6bae6a8d19b1bd33926f9
ExpoScreenCapture: 387b18f4a51561916cbff71d6e0e7b386af31171
ExpoScreenOrientation: 799a4681fba805f73bf92bfbe98f38c16e3d1dd6
ExpoSecureStore: 94793113049a2d7478dfe1a13aa15081e9f61755
ExpoSensors: e71c7b6cb0c09d3427ef6ae29c69532a10c86b05
Expand Down Expand Up @@ -4713,11 +4713,11 @@ SPEC CHECKSUMS:
FirebaseRemoteConfigInterop: 85bdce8babed7814816496bb6f082bc05b0a45e1
FirebaseSessions: f5c6bfeb66a7202deaf33352017bb6365e395820
fmt: 530618a01105dae0fa3a2f27c81ae11fa8f67eac
glog: e56ede4028c4b7418e6b1195a36b1656bb35e225
glog: 0456694f3aaf09460b660ea327cfc11defbeea4c
GoogleAppMeasurement: 8a82b93a6400c8e6551c0bcd66a9177f2e067aed
GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7
GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1
hermes-engine: 349ded4feea539299cee22cb680b0d50402116e5
hermes-engine: 1aac0336ab06465103e89322838baf2911318c89
libavif: 5f8e715bea24debec477006f21ef9e95432e254d
libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f
libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8
Expand All @@ -4727,7 +4727,7 @@ SPEC CHECKSUMS:
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851
RCT-Folly: 36c4f904fb6cd0219dcb76b94e9502d2a72fab0b
RCT-Folly: 121436bcc4611f6bde5c09bf35f0a7a82cef1969
RCTDeprecation: cac9521ce0b8092a1fb13d32a768c5ba2752b55f
RCTRequired: cfc25ba224a2a3dbb1b3368a7d19b0fb6ec5ed1e
RCTSwiftUI: 20555e38bdfa7b5cc21d3201ec9c34ec24969919
Expand Down
6 changes: 6 additions & 0 deletions apps/native-component-list/src/navigation/apiScreens.ts
Original file line number Diff line number Diff line change
Expand Up @@ -418,6 +418,12 @@ export const ScreensList: ScreenConfig[] = [
},
name: 'ScreenCapture',
},
{
getComponent() {
return optionalRequire(() => require('../screens/ScreenCaptureAdvancedScreen'));
},
name: 'ScreenCaptureAdvanced',
},
{
getComponent() {
return optionalRequire(() => require('../screens/SensorScreen'));
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
import * as ScreenCapture from 'expo-screen-capture';
import React from 'react';
import { ScrollView, StyleSheet } from 'react-native';

import { BodyText } from '../components/BodyText';
import HeadingText from '../components/HeadingText';
import TitleSwitch from '../components/TitledSwitch';

function KeyedProtectionSwitch({ holderKey }: { holderKey: string }) {
const [isHolding, setHolding] = React.useState(false);

React.useEffect(() => {
if (isHolding) {
ScreenCapture.preventScreenCaptureAsync(holderKey);
} else {
ScreenCapture.allowScreenCaptureAsync(holderKey);
}
}, [isHolding]);

React.useEffect(() => {
return () => {
ScreenCapture.allowScreenCaptureAsync(holderKey);
};
}, []);

return (
<TitleSwitch
title={`Hold protection with key '${holderKey}'`}
value={isHolding}
setValue={setHolding}
style={styles.switchSpacing}
/>
);
}

export default function ScreenCaptureAdvancedScreen() {
return (
<ScrollView contentContainerStyle={styles.container}>
<HeadingText style={styles.heading}>Multiple Protection Holders</HeadingText>
<BodyText style={styles.description}>
Each key holds protection independently. Screenshots stay blank, and the app keeps
rendering, while any key is held.
</BodyText>
<KeyedProtectionSwitch holderKey="a" />
<KeyedProtectionSwitch holderKey="b" />
</ScrollView>
);
}

const styles = StyleSheet.create({
container: {
flexGrow: 1,
padding: 16,
alignItems: 'center',
},
description: {
padding: 8,
textAlign: 'center',
marginBottom: 16,
},
switchSpacing: {
marginTop: 16,
},
heading: {
marginTop: 24,
marginBottom: 8,
},
});
25 changes: 25 additions & 0 deletions apps/native-component-list/src/screens/UI/ModifiersScreen.ios.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {
Stepper,
Spacer,
Image,
ZStack,
} from '@expo/ui/swift-ui';
import {
background,
Expand Down Expand Up @@ -164,6 +165,30 @@ export default function ModifiersScreen() {
width: dimensions.width,
}),
]}>
<Section title="Material foreground style">
<ZStack>
<Rectangle
modifiers={[
foregroundStyle({
type: 'linearGradient',
colors: ['#FF6B35', '#F7931E', '#FFD23F'],
startPoint: { x: 0, y: 0 },
endPoint: { x: 1, y: 1 },
}),
cornerRadius(12),
]}
/>
<Text
modifiers={[
font({ size: 34, weight: 'bold' }),
foregroundStyle({ type: 'material', material: 'regular' }),
padding(),
]}>
Frosted
</Text>
</ZStack>
</Section>

{/* Badge modifiers */}
<Section title="Badge modifier">
<Text modifiers={[badge(''), badgeProminence(badgeType[badgeIndex])]}>Badge empty</Text>
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/eas/cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: EAS CLI reference
sidebar_title: EAS CLI
description: EAS CLI is a command-line tool that allows you to interact with Expo Application Services (EAS) from your terminal.
cliVersion: 23.0.0
cliVersion: 23.2.0
---

import { EASCLIReference } from '~/ui/components/EASCLIReference';
Expand Down

Large diffs are not rendered by default.

Loading
Loading