VGSCVCTextFieldRepresentable
@MainActor
public struct VGSCVCTextFieldRepresentable : UIViewRepresentable, VGSCVCTextFieldRepresentableProtocol, VGSTextFieldRepresentableCallbacksProtocol
A SwiftUI wrapper for VGSCVCTextField enabling secure collection of card security codes (CVC/CVV) with dynamic icon and brand-aware validation.
Features:
- Chainable styling & behavior modifiers.
- Customizable CVC icon size, position, accessibility.
- State & editing callbacks for validation updates.
- Integrates with
VGSCardTextFieldfor dynamic length changes.
Security:
- CVC is especially sensitive; enable
isSecureTextEntryif you need obscured input. - Do not store raw CVC values in app.
-
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)? -
Returns new
VGSTextFieldStateobject on change.Declaration
Swift
@MainActor public var onStateChange: ((VGSTextFieldState) -> Void)? -
Base TextFieldRepresentable Coordinator type
Declaration
Swift
public typealias Coordinator = VGSTextFieldRepresentableCoordinator<VGSCVCTextFieldRepresentable>
-
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) -> VGSCVCTextField -
Default config
Declaration
Swift
@MainActor public func updateUIView(_ uiView: VGSCVCTextField, context: Context) -
Removes text from input. Binding is reset asynchronously to prevent repeated clears on render cycles.
Declaration
Swift
@MainActor public func clearTextTrigger(_ binding: Binding<Bool>) -> VGSCVCTextFieldRepresentable
-
Set
UIFontvalue.Declaration
Swift
@MainActor public func font(_ font: UIFont) -> VGSCVCTextFieldRepresentable -
Set
placeholderstring.Declaration
Swift
@MainActor public func placeholder(_ text: String) -> VGSCVCTextFieldRepresentable -
Set
attributedPlaceholderstring.Declaration
Swift
@MainActor public func attributedPlaceholder(_ text: NSAttributedString?) -> VGSCVCTextFieldRepresentable -
Set
UITextAutocorrectionTypetype.Declaration
Swift
@MainActor public func autocorrectionType(_ type: UITextAutocorrectionType) -> VGSCVCTextFieldRepresentable -
Set
UITextAutocapitalizationTypetype.Declaration
Swift
@MainActor public func autocapitalizationType(_ type: UITextAutocapitalizationType) -> VGSCVCTextFieldRepresentable -
Set
UITextSpellCheckingTypetype.Declaration
Swift
@MainActor public func spellCheckingType(_ type: UITextSpellCheckingType) -> VGSCVCTextFieldRepresentable -
Set
UIEdgeInsetsinsets.Declaration
Swift
@MainActor public func textFieldPadding(_ insets: UIEdgeInsets) -> VGSCVCTextFieldRepresentable -
Set
NSTextAlignmenttype.Declaration
Swift
@MainActor public func textAlignment(_ alignment: NSTextAlignment) -> VGSCVCTextFieldRepresentable -
Set
isSecureTextEntryvalue.Declaration
Swift
@MainActor public func setSecureTextEntry(_ secure: Bool) -> VGSCVCTextFieldRepresentable -
Set
adjustsFontForContentSizeCategoryvalue.Declaration
Swift
@MainActor public func adjustsFontForContentSizeCategory(_ adjusts: Bool) -> VGSCVCTextFieldRepresentable -
Set
keyboardAccessoryViewview.Declaration
Swift
@MainActor public func keyboardAccessoryView(_ view: UIView?) -> VGSCVCTextFieldRepresentable -
Set
textFieldAccessibilityLabelstring.Declaration
Swift
@MainActor public func textFieldAccessibilityLabel(_ label: String) -> VGSCVCTextFieldRepresentable -
Set
cvcIconAccessibilityHintstring.Declaration
Swift
@MainActor public func cvcIconAccessibilityHint(_ hint: String) -> VGSCVCTextFieldRepresentable -
Set
cvcIconViewIsAccessibilityElementbool value.Declaration
Swift
@MainActor public func cvcIconViewIsAccessibilityElement(_ isAccessibilityElement: Bool) -> VGSCVCTextFieldRepresentable -
Set
foregroundColor.Declaration
Swift
@MainActor public func foregroundColor(_ color: UIColor) -> VGSCVCTextFieldRepresentable -
Set
backgroundColor.Declaration
Swift
@MainActor public func backgroundColor(_ color: UIColor) -> VGSCVCTextFieldRepresentable -
Set
borderColorandlineWidth.Declaration
Swift
@MainActor public func border(color: UIColor, lineWidth: CGFloat) -> VGSCVCTextFieldRepresentable -
Set
cornerRadius.Declaration
Swift
@MainActor public func cornerRadius(_ cornerRadius: CGFloat) -> VGSCVCTextFieldRepresentable -
Coordinates connection between scan data and text field.
Declaration
Swift
@MainActor public func cardScanCoordinator(_ coordinator: VGSCardScanCoordinator) -> VGSCVCTextFieldRepresentable
-
Set size of CVC icon.
Declaration
Swift
@MainActor public func cvcIconSize(_ size: CGSize) -> VGSCVCTextFieldRepresentable -
Set
VGSCVCTextField.CVCIconLocationinside textfield.Declaration
Swift
@MainActor public func cvcIconLocation(_ location: VGSCVCTextField.CVCIconLocation) -> VGSCVCTextFieldRepresentable -
Set CVC icon image for specific
VGSPaymentCards.CardBrand.Declaration
Swift
@MainActor public func cvcIconSource(_ sourceImage: @escaping (VGSPaymentCards.CardBrand) -> UIImage?) -> VGSCVCTextFieldRepresentable
-
Handle TextField Representable editing events.
Declaration
Swift
@MainActor public func onEditingEvent(_ action: ((VGSTextFieldEditingEvent<StateType>) -> Void)?) -> VGSCVCTextFieldRepresentable -
Handle
VGSTextFieldStatechanges.Declaration
Swift
@MainActor public func onStateChange(_ action: ((VGSTextFieldState) -> Void)?) -> VGSCVCTextFieldRepresentable
View on GitHub