about summary refs log tree commit diff
path: root/modules/bottom-sheet/ios/BottomSheetModule.swift
diff options
context:
space:
mode:
authorJaz Volpert <ericvolp12@gmail.com>2024-10-04 14:28:52 -0700
committerJaz Volpert <ericvolp12@gmail.com>2024-10-04 14:28:52 -0700
commit5f3c4c60dbf2232a76ddb591f0eb51359443113a (patch)
treee9308f1e3d3cc75d9ed3abd15d5e5183a5b62ef7 /modules/bottom-sheet/ios/BottomSheetModule.swift
parent0d99b8b0550084ef55f294b33ef5e12608fd5035 (diff)
parent3fb14d184a84cb892c751338c9aea625f5767a47 (diff)
downloadvoidsky-5f3c4c60dbf2232a76ddb591f0eb51359443113a.tar.zst
Merge branch 'main' into static_asset_cdn
Diffstat (limited to 'modules/bottom-sheet/ios/BottomSheetModule.swift')
-rw-r--r--modules/bottom-sheet/ios/BottomSheetModule.swift47
1 files changed, 47 insertions, 0 deletions
diff --git a/modules/bottom-sheet/ios/BottomSheetModule.swift b/modules/bottom-sheet/ios/BottomSheetModule.swift
new file mode 100644
index 000000000..579608e75
--- /dev/null
+++ b/modules/bottom-sheet/ios/BottomSheetModule.swift
@@ -0,0 +1,47 @@
+import ExpoModulesCore
+
+public class BottomSheetModule: Module {
+  public func definition() -> ModuleDefinition {
+    Name("BottomSheet")
+
+    AsyncFunction("dismissAll") {
+      SheetManager.shared.dismissAll()
+    }
+
+    View(SheetView.self) {
+      Events([
+        "onAttemptDismiss",
+        "onSnapPointChange",
+        "onStateChange"
+      ])
+
+      AsyncFunction("dismiss") { (view: SheetView) in
+        view.dismiss()
+      }
+
+      AsyncFunction("updateLayout") { (view: SheetView) in
+        view.updateLayout()
+      }
+
+      Prop("cornerRadius") { (view: SheetView, prop: Float) in
+        view.cornerRadius = CGFloat(prop)
+      }
+
+      Prop("minHeight") { (view: SheetView, prop: Double) in
+        view.minHeight = prop
+      }
+
+      Prop("maxHeight") { (view: SheetView, prop: Double) in
+        view.maxHeight = prop
+      }
+
+      Prop("preventDismiss") { (view: SheetView, prop: Bool) in
+        view.preventDismiss = prop
+      }
+
+      Prop("preventExpansion") { (view: SheetView, prop: Bool) in
+        view.preventExpansion = prop
+      }
+    }
+  }
+}