summaryrefslogtreecommitdiff
path: root/app_expo/components/screen/screen.props.ts
diff options
context:
space:
mode:
Diffstat (limited to 'app_expo/components/screen/screen.props.ts')
-rw-r--r--app_expo/components/screen/screen.props.ts46
1 files changed, 46 insertions, 0 deletions
diff --git a/app_expo/components/screen/screen.props.ts b/app_expo/components/screen/screen.props.ts
new file mode 100644
index 0000000..1371c64
--- /dev/null
+++ b/app_expo/components/screen/screen.props.ts
@@ -0,0 +1,46 @@
+import React from 'react'
+import { StyleProp, ViewStyle } from 'react-native'
+import { KeyboardOffsets, ScreenPresets } from './screen.presets'
+
+export interface ScreenProps {
+ /**
+ * Children components.
+ */
+ children?: React.ReactNode
+
+ /**
+ * An optional style override useful for padding & margin.
+ */
+ style?: StyleProp<ViewStyle>
+
+ /**
+ * One of the different types of presets.
+ */
+ preset?: ScreenPresets
+
+ /**
+ * An optional background color
+ */
+ backgroundColor?: string
+
+ /**
+ * An optional status bar setting. Defaults to light-content.
+ */
+ statusBar?: 'light-content' | 'dark-content'
+
+ /**
+ * Should we not wrap in SafeAreaView? Defaults to false.
+ */
+ unsafe?: boolean
+
+ /**
+ * By how much should we offset the keyboard? Defaults to none.
+ */
+ keyboardOffset?: KeyboardOffsets
+
+ /**
+ * Should keyboard persist on screen tap. Defaults to handled.
+ * Only applies to scroll preset.
+ */
+ keyboardShouldPersistTaps?: 'handled' | 'always' | 'never'
+}