t3-code-android-nightly/apps/mobile/modules/t3-terminal/ios/T3TerminalModule.swift
Julius Marminge cc41482df0
feat(auth): allow passive terminal observation (#9791)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-10-06 20:30:13 -07:00

64 lines
2 KiB
Swift

import ExpoModulesCore
public class T3TerminalModule: Module {
public func definition() -> ModuleDefinition {
Name("T3TerminalSurface")
// Bumped when native hardware-keyboard handling changes; surfaced in the JS debug
// logs so a stale native binary is distinguishable from a broken key pipeline.
Constants([
"hardwareKeyRevision": 3,
])
View(T3TerminalView.self) {
Prop("terminalKey") { (view: T3TerminalView, terminalKey: String) in
view.terminalKey = terminalKey
}
Prop("initialBuffer") { (view: T3TerminalView, initialBuffer: String) in
view.initialBuffer = initialBuffer
}
Prop("fontSize") { (view: T3TerminalView, fontSize: Double) in
view.fontSize = CGFloat(fontSize)
}
Prop("focusRequest") { (view: T3TerminalView, focusRequest: Double) in
view.focusRequest = focusRequest
}
Prop("readOnly") { (view: T3TerminalView, readOnly: Bool) in
view.readOnly = readOnly
}
Prop("autoFocus") { (view: T3TerminalView, autoFocus: Bool) in
view.autoFocus = autoFocus
}
Prop("appearanceScheme") { (view: T3TerminalView, appearanceScheme: String) in
view.appearanceScheme = appearanceScheme
}
Prop("themeConfig") { (view: T3TerminalView, themeConfig: String) in
view.themeConfig = themeConfig
}
Prop("backgroundColor") { (view: T3TerminalView, backgroundColor: String) in
view.backgroundColorHex = backgroundColor
}
Prop("foregroundColor") { (view: T3TerminalView, foregroundColor: String) in
view.foregroundColorHex = foregroundColor
}
Prop("mutedForegroundColor") { (view: T3TerminalView, mutedForegroundColor: String) in
view.mutedForegroundColorHex = mutedForegroundColor
}
Prop("captureRequest") { (view: T3TerminalView, request: Double) in
view.captureRequest = request
}
Events("onInput", "onResize", "onCapture")
}
}
}