diff --git a/apps/src/tests/single-feature-tests/form-sheet/index.ts b/apps/src/tests/single-feature-tests/form-sheet/index.ts index 35eff57f39..08779561ac 100644 --- a/apps/src/tests/single-feature-tests/form-sheet/index.ts +++ b/apps/src/tests/single-feature-tests/form-sheet/index.ts @@ -1,6 +1,8 @@ import type { ScenarioGroup } from '@apps/tests/shared/helpers'; import TestFormSheetBase from './test-form-sheet-base-ios'; +import TestFormSheetBackgroundComponent from './test-form-sheet-background-component-ios'; import TestFormSheetExpandScrollView from './test-form-sheet-expand-scroll-view-ios'; +import TestFormSheetFitToContents from './test-form-sheet-fit-to-contents-ios'; import TestFormSheetGrabberVisible from './test-form-sheet-grabber-visible-ios'; import TestFormSheetInitialDetentIndex from './test-form-sheet-initial-detent-index-ios'; import TestFormSheetLargestUndimmedDetentIndex from './test-form-sheet-largest-undimmed-detent-index-ios'; @@ -10,7 +12,9 @@ import TestFormSheetPresentationState from './test-form-sheet-presentation-state const scenarios = { TestFormSheetBase, + TestFormSheetBackgroundComponent, TestFormSheetExpandScrollView, + TestFormSheetFitToContents, TestFormSheetGrabberVisible, TestFormSheetInitialDetentIndex, TestFormSheetLargestUndimmedDetentIndex, diff --git a/apps/src/tests/single-feature-tests/form-sheet/test-form-sheet-background-component-ios/index.tsx b/apps/src/tests/single-feature-tests/form-sheet/test-form-sheet-background-component-ios/index.tsx new file mode 100644 index 0000000000..49564a2590 --- /dev/null +++ b/apps/src/tests/single-feature-tests/form-sheet/test-form-sheet-background-component-ios/index.tsx @@ -0,0 +1,232 @@ +import React, { useState } from 'react'; +import { + Button, + StyleSheet, + Text, + View, + Image, + Dimensions, + TouchableOpacity, +} from 'react-native'; +import { FormSheet } from 'react-native-screens/experimental'; +import { scenarioDescription } from './scenario-description'; +import { createScenario } from '@apps/tests/shared/helpers'; +import { Colors } from '@apps/shared/styling'; + +const SCREEN_WIDTH = Dimensions.get('window').width; + +type BackgroundType = 'none' | 'solid' | 'composed' | 'image'; + +export function App() { + const [isOpen, setIsOpen] = useState(false); + const [bgType, setBgType] = useState('image'); + + const handleDismiss = () => { + setIsOpen(false); + }; + + const SolidBackground = ( + + ); + + const ComposedBackground = ( + + + + + ); + + const ImageBackground = ( + + ); + + const renderBackground = () => { + switch (bgType) { + case 'solid': + return SolidBackground; + case 'composed': + return ComposedBackground; + case 'image': + return ImageBackground; + case 'none': + default: + return undefined; + } + }; + + const isDarkBg = bgType !== 'none'; + + return ( + + FormSheet Background + + + Select Background Type: + + {(['none', 'solid', 'composed', 'image'] as BackgroundType[]).map( + type => ( + setBgType(type)}> + + {type.toUpperCase()} + + + ), + )} + + + + + +