diff --git a/ios/AddressSheet/AddressSheetView.swift b/ios/AddressSheet/AddressSheetView.swift index 57797930d..836bc8c6d 100644 --- a/ios/AddressSheet/AddressSheetView.swift +++ b/ios/AddressSheet/AddressSheetView.swift @@ -91,6 +91,14 @@ class AddressSheetView: UIView { switch (presentationStyle) { case "fullscreen": return .fullScreen + case "pageSheet": + return .pageSheet + case "formSheet": + return .formSheet + case "automatic": + return .automatic + case "overFullScreen": + return .overFullScreen case "popover": fallthrough default: diff --git a/ios/CustomerSheet/CustomerSheetUtils.swift b/ios/CustomerSheet/CustomerSheetUtils.swift index 3b71ebc33..2e72d2d3b 100644 --- a/ios/CustomerSheet/CustomerSheetUtils.swift +++ b/ios/CustomerSheet/CustomerSheetUtils.swift @@ -113,6 +113,14 @@ class CustomerSheetUtils { switch (string) { case "fullscreen": return .fullScreen + case "pageSheet": + return .pageSheet + case "formSheet": + return .formSheet + case "automatic": + return .automatic + case "overFullScreen": + return .overFullScreen case "popover": fallthrough default: diff --git a/src/components/AddressSheet.tsx b/src/components/AddressSheet.tsx index e8c1e71ca..29b59a578 100644 --- a/src/components/AddressSheet.tsx +++ b/src/components/AddressSheet.tsx @@ -19,8 +19,14 @@ const AddressSheetNative = requireNativeComponent('AddressSheetView'); export interface Props extends AccessibilityProps { /** Whether the sheet is visible. Defaults to false. */ visible: boolean; - /** Controls how the modal is presented (after animation). iOS only. Defaults to `popover`. */ - presentationStyle?: 'fullscreen' | 'popover'; + /** Controls how the modal is presented (after animation). iOS only. Defaults to `popover`. See https://developer.apple.com/documentation/uikit/uimodalpresentationstyle for more info. */ + presentationStyle?: + | 'fullscreen' + | 'popover' + | 'pageSheet' + | 'formSheet' + | 'automatic' + | 'overFullScreen'; /** Controls how the modal animates. iOS only. */ animationStyle?: 'flip' | 'curl' | 'slide' | 'dissolve'; /** Configuration for the look and feel of the UI. */ diff --git a/src/types/CustomerSheet.ts b/src/types/CustomerSheet.ts index 91199530c..65c87d0b5 100644 --- a/src/types/CustomerSheet.ts +++ b/src/types/CustomerSheet.ts @@ -41,8 +41,14 @@ export type CustomerSheetInitParams = { }; export type CustomerSheetPresentParams = { - /** Controls how the modal is presented (after animation). iOS only. Defaults to `popover`. */ - presentationStyle?: 'fullscreen' | 'popover'; + /** Controls how the modal is presented (after animation). iOS only. Defaults to `popover`. See https://developer.apple.com/documentation/uikit/uimodalpresentationstyle for more info. */ + presentationStyle?: + | 'fullscreen' + | 'popover' + | 'pageSheet' + | 'formSheet' + | 'automatic' + | 'overFullScreen'; /** Controls how the modal animates. iOS only. */ animationStyle?: 'flip' | 'curl' | 'slide' | 'dissolve'; /** Time (in milliseconds) before the Customer Sheet will automatically dismiss. */