VGSTextFieldRepresentable
@MainActor
public struct VGSTextFieldRepresentable : UIViewRepresentable, VGSTextFieldRepresentableProtocol, VGSTextFieldRepresentableCallbacksProtocol
A SwiftUI wrapper around VGSTextField providing secure data collection with a declarative builder-style API.
Overview:
VGSTextFieldRepresentable lets you embed the UIKit VGSTextField inside SwiftUI while configuring appearance, behavior, and callbacks in a chainable, value-type friendly manner.
Features:
- Chainable modifiers (
font,placeholder,border, etc.). - Live state & editing event callbacks (
onEditingEvent,onStateChange). - Optional accessory view and secure text entry.
Security:
- No sensitive text is exposed through published properties; retrieval and submission handled internally.
- Avoid storing raw values outside SDK-managed flows.
Clearing Input:
- Use
clearTextTrigger(_:)binding to programmatically clear the field from SwiftUI state.
Example:
VGSTextFieldRepresentable(configuration: config)
.placeholder("Cardholder name")
.font(.preferredFont(forTextStyle: .body))
.border(color: .gray, lineWidth: 1)
.onStateChange { state in print(state.isValid) }
-
The state type is VGSTextFieldState.
Declaration
Swift
public typealias StateType = VGSTextFieldState -
VGSTextFieldRepresentablecallback events. Return state object.Declaration
Swift
@MainActor public var onEditingEvent: ((VGSTextFieldEditingEvent<VGSTextFieldState>) -> Void)? -
VGSTextFieldRepresentablestate eventsDeclaration
Swift
@MainActor public var onStateChange: ((VGSTextFieldState) -> Void)? -
Base TextFieldRepresentable Coordinator type
Declaration
Swift
public typealias Coordinator = VGSTextFieldRepresentableCoordinator<VGSTextFieldRepresentable>
-
Initialization
Declaration
Swift
@MainActor public init(configuration: VGSConfiguration)Parameters
configurationVGSConfigurationinstance. -
Declaration
Swift
@MainActor public func makeCoordinator() -> Coordinator -
Declaration
Swift
@MainActor public func makeUIView(context: Context) -> VGSTextField -
Default config
Declaration
Swift
@MainActor public func updateUIView(_ uiView: VGSTextField, context: Context) -
Removes text from input.
Declaration
Swift
@MainActor public func clearTextTrigger(_ binding: Binding<Bool>) -> VGSTextFieldRepresentableParameters
bindingA
Binding<Bool>that when set totruetriggers clearing and is reset tofalseautomatically.
-
Set
UIFontvalue.Declaration
Swift
@MainActor public func font(_ font: UIFont) -> VGSTextFieldRepresentable -
Set
placeholderstring.Declaration
Swift
@MainActor public func placeholder(_ text: String) -> VGSTextFieldRepresentable -
Set
attributedPlaceholderstring.Declaration
Swift
@MainActor public func attributedPlaceholder(_ text: NSAttributedString?) -> VGSTextFieldRepresentable -
Set
UITextAutocorrectionTypetype.Declaration
Swift
@MainActor public func autocorrectionType(_ type: UITextAutocorrectionType) -> VGSTextFieldRepresentable -
Set
UITextAutocapitalizationTypetype.Declaration
Swift
@MainActor public func autocapitalizationType(_ type: UITextAutocapitalizationType) -> VGSTextFieldRepresentable -
Set
UITextSpellCheckingTypetype.Declaration
Swift
@MainActor public func spellCheckingType(_ type: UITextSpellCheckingType) -> VGSTextFieldRepresentable -
Set
UIEdgeInsetsinsets.Declaration
Swift
@MainActor public func textFieldPadding(_ insets: UIEdgeInsets) -> VGSTextFieldRepresentable -
Set
NSTextAlignmenttype.Declaration
Swift
@MainActor public func textAlignment(_ alignment: NSTextAlignment) -> VGSTextFieldRepresentable -
Set
isSecureTextEntryvalue.Declaration
Swift
@MainActor public func setSecureTextEntry(_ secure: Bool) -> VGSTextFieldRepresentable -
Set
adjustsFontForContentSizeCategoryvalue.Declaration
Swift
@MainActor public func adjustsFontForContentSizeCategory(_ adjusts: Bool) -> VGSTextFieldRepresentable -
Set
keyboardAccessoryViewview.Declaration
Swift
@MainActor public func keyboardAccessoryView(_ view: UIView?) -> VGSTextFieldRepresentable -
Set
textFieldAccessibilityLabelstring.Declaration
Swift
@MainActor public func textFieldAccessibilityLabel(_ label: String) -> VGSTextFieldRepresentable -
Set
foregroundColor.Declaration
Swift
@MainActor public func foregroundColor(_ color: UIColor) -> VGSTextFieldRepresentable -
Set
backgroundColor.Declaration
Swift
@MainActor public func backgroundColor(_ color: UIColor) -> VGSTextFieldRepresentable -
Set
borderColorandlineWidth.Declaration
Swift
@MainActor public func border(color: UIColor, lineWidth: CGFloat) -> VGSTextFieldRepresentable -
Set
cornerRadius.Declaration
Swift
@MainActor public func cornerRadius(_ cornerRadius: CGFloat) -> VGSTextFieldRepresentable
-
Handle TextField Representable editing events.
Declaration
Swift
@MainActor public func onEditingEvent(_ action: ((VGSTextFieldEditingEvent<StateType>) -> Void)?) -> VGSTextFieldRepresentable -
Handle
VGSTextFieldStatechanges.Declaration
Swift
@MainActor public func onStateChange(_ action: ((VGSTextFieldState) -> Void)?) -> VGSTextFieldRepresentable -
Coordinates connection between scan data and text field.
Declaration
Swift
@MainActor public func cardScanCoordinator(_ coordinator: VGSCardScanCoordinator) -> VGSTextFieldRepresentable
View on GitHub