VGSExpDateTextFieldRepresentable
@MainActor
public struct VGSExpDateTextFieldRepresentable : UIViewRepresentable, VGSExpDateTextFieldRepresentableProtocol, VGSTextFieldRepresentableCallbacksProtocol
A SwiftUI wrapper for VGSExpDateTextField collecting card expiration date (MM / YY or MM / YYYY) with a picker, supporting brand-aware formatting.
Features:
- Configurable month & year display formats.
- Chainable UI configuration & secure entry toggle.
- State & editing callbacks for validation monitoring.
Security:
- Expiration date treated as sensitive until tokenized; avoid persisting raw values.
- Picker prevents selection of past months in current year.
-
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<VGSExpDateTextFieldRepresentable>
-
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) -> VGSExpDateTextField -
Default config
Declaration
Swift
@MainActor public func updateUIView(_ uiView: VGSExpDateTextField, context: Context) -
Removes text from input. Resets binding to
falseasynchronously after clearing.Declaration
Swift
@MainActor public func clearTextTrigger(_ binding: Binding<Bool>) -> VGSExpDateTextFieldRepresentable
-
Set
UIFontvalue.Declaration
Swift
@MainActor public func font(_ font: UIFont) -> VGSExpDateTextFieldRepresentable -
Set
placeholderstring.Declaration
Swift
@MainActor public func placeholder(_ text: String) -> VGSExpDateTextFieldRepresentable -
Set
attributedPlaceholderstring.Declaration
Swift
@MainActor public func attributedPlaceholder(_ text: NSAttributedString?) -> VGSExpDateTextFieldRepresentable -
Set
UITextAutocorrectionTypetype.Declaration
Swift
@MainActor public func autocorrectionType(_ type: UITextAutocorrectionType) -> VGSExpDateTextFieldRepresentable -
Set
UITextAutocapitalizationTypetype.Declaration
Swift
@MainActor public func autocapitalizationType(_ type: UITextAutocapitalizationType) -> VGSExpDateTextFieldRepresentable -
Set
UITextSpellCheckingTypetype.Declaration
Swift
@MainActor public func spellCheckingType(_ type: UITextSpellCheckingType) -> VGSExpDateTextFieldRepresentable -
Set
UIEdgeInsetsinsets.Declaration
Swift
@MainActor public func textFieldPadding(_ insets: UIEdgeInsets) -> VGSExpDateTextFieldRepresentable -
Set
NSTextAlignmenttype.Declaration
Swift
@MainActor public func textAlignment(_ alignment: NSTextAlignment) -> VGSExpDateTextFieldRepresentable -
Set
isSecureTextEntryvalue.Declaration
Swift
@MainActor public func setSecureTextEntry(_ secure: Bool) -> VGSExpDateTextFieldRepresentable -
Set
adjustsFontForContentSizeCategoryvalue.Declaration
Swift
@MainActor public func adjustsFontForContentSizeCategory(_ adjusts: Bool) -> VGSExpDateTextFieldRepresentable -
Set
keyboardAccessoryViewview.Declaration
Swift
@MainActor public func keyboardAccessoryView(_ view: UIView?) -> VGSExpDateTextFieldRepresentable -
Set
textFieldAccessibilityLabelstring.Declaration
Swift
@MainActor public func textFieldAccessibilityLabel(_ label: String) -> VGSExpDateTextFieldRepresentable -
Set
foregroundColor.Declaration
Swift
@MainActor public func foregroundColor(_ color: UIColor) -> VGSExpDateTextFieldRepresentable -
Set
backgroundColor.Declaration
Swift
@MainActor public func backgroundColor(_ color: UIColor) -> VGSExpDateTextFieldRepresentable -
Set
borderColorandlineWidth.Declaration
Swift
@MainActor public func border(color: UIColor, lineWidth: CGFloat) -> VGSExpDateTextFieldRepresentable -
Set
cornerRadius.Declaration
Swift
@MainActor public func cornerRadius(_ cornerRadius: CGFloat) -> VGSExpDateTextFieldRepresentable -
Coordinates connection between scan data and text field.
Declaration
Swift
@MainActor public func cardScanCoordinator(_ coordinator: VGSCardScanCoordinator) -> VGSExpDateTextFieldRepresentable
-
Set
VGSExpDateTextField.MonthFormatUIPicker format. Default is.longSymbols.Declaration
Swift
@MainActor public func monthPickerFormat(_ format: VGSExpDateTextField.MonthFormat) -> VGSExpDateTextFieldRepresentable -
Set
VGSExpDateTextField.YearFormatUIPicker format. Default is.long.Declaration
Swift
@MainActor public func yearPickerFormat(_ format: VGSExpDateTextField.YearFormat) -> VGSExpDateTextFieldRepresentable
-
Handle TextField Representable editing events.
Declaration
Swift
@MainActor public func onEditingEvent(_ action: ((VGSTextFieldEditingEvent<StateType>) -> Void)?) -> VGSExpDateTextFieldRepresentable -
Handle
VGSTextFieldStatechanges.Declaration
Swift
@MainActor public func onStateChange(_ action: ((VGSTextFieldState) -> Void)?) -> VGSExpDateTextFieldRepresentable
View on GitHub