From f0aac75c84b83d0639001056633832c8e92007fa Mon Sep 17 00:00:00 2001 From: Dima Khludkov <57712402+dmytrokhl@users.noreply.github.com> Date: Wed, 6 Sep 2023 19:24:15 +0300 Subject: [PATCH 1/4] Add intrinsic content size attribute (#364) --- .../Text Field/Mask/MaskedTextField.swift | 18 +++- .../Text Field/VGSCVCTextField.swift | 15 ++++ .../Text Field/VGSCardTextField.swift | 87 +++++++++++-------- .../UIElements/Text Field/VGSTextField.swift | 13 +++ VGSCollectSDK.xcodeproj/project.pbxproj | 2 - 5 files changed, 96 insertions(+), 39 deletions(-) diff --git a/Sources/VGSCollectSDK/UIElements/Text Field/Mask/MaskedTextField.swift b/Sources/VGSCollectSDK/UIElements/Text Field/Mask/MaskedTextField.swift index 7a7f8254..4da5d343 100755 --- a/Sources/VGSCollectSDK/UIElements/Text Field/Mask/MaskedTextField.swift +++ b/Sources/VGSCollectSDK/UIElements/Text Field/Mask/MaskedTextField.swift @@ -105,7 +105,12 @@ internal class MaskedTextField: UITextField { internal var getSecureTextWithDivider: String? { return getRawTextWithDivider() } - + + /// The natural size for the Textfield, considering only properties of the view itself. + override var intrinsicContentSize: CGSize { + return getIntrinsicContentSize() + } + // MARK: - Text Padding var padding: UIEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) @@ -272,6 +277,17 @@ internal class MaskedTextField: UITextField { } } } + + // Calculate IntrinsicContentSize + fileprivate func getIntrinsicContentSize() -> CGSize { + if secureText.isNilOrEmpty && placeholder.isNilOrEmpty { + return super.intrinsicContentSize + } + /// If there is placeholder in field, intrinsicContentSize should return max width between placeholder and input text + let placeholderSize = placeholder?.size() ?? .zero + let secureTextSize = secureText?.size() ?? .zero + return secureTextSize.width >= placeholderSize.width ? secureTextSize : placeholderSize + } } // MARK: - UITextFieldDelegate diff --git a/Sources/VGSCollectSDK/UIElements/Text Field/VGSCVCTextField.swift b/Sources/VGSCollectSDK/UIElements/Text Field/VGSCVCTextField.swift index 70217f40..087c7a48 100644 --- a/Sources/VGSCollectSDK/UIElements/Text Field/VGSCVCTextField.swift +++ b/Sources/VGSCollectSDK/UIElements/Text Field/VGSCVCTextField.swift @@ -60,6 +60,11 @@ public final class VGSCVCTextField: VGSTextField { updatecvcIconViewSize() } } + + /// The natural size for the Textfield, considering only properties of the view itself. + public override var intrinsicContentSize: CGSize { + return getIntrinsicContentSize() + } // MARK: Custom CVC images for specific card brands /// Asks custom image for specific `VGSPaymentCards.CardBrand` @@ -167,4 +172,14 @@ internal extension VGSCVCTextField { heightConstraint.identifier = "heightConstraint" cvcIconImageView.addConstraints([widthConstraint, heightConstraint]) } + + /// Calculate IntrinsicContentSize + private func getIntrinsicContentSize() -> CGSize { + /// Text size with paddings + let size = super.intrinsicContentSize + /// Add icon size + let height = size.height + cvcIconSize.height + let width = size.width + cvcIconSize.width + stackSpacing + return CGSize(width: width, height: height) + } } diff --git a/Sources/VGSCollectSDK/UIElements/Text Field/VGSCardTextField.swift b/Sources/VGSCollectSDK/UIElements/Text Field/VGSCardTextField.swift index 4f30c637..b796de41 100644 --- a/Sources/VGSCollectSDK/UIElements/Text Field/VGSCardTextField.swift +++ b/Sources/VGSCollectSDK/UIElements/Text Field/VGSCardTextField.swift @@ -13,47 +13,52 @@ import UIKit /// An object that displays an editable text area. Can be use instead of a `VGSTextField` when need to detect and show credit card brand images. public final class VGSCardTextField: VGSTextField { - internal let cardIconView = UIImageView() - internal lazy var stackView = self.makeStackView() - internal let stackSpacing: CGFloat = 8.0 - internal lazy var defaultUnknowBrandImage: UIImage? = { - return VGSPaymentCards.CardBrand.unknown.brandIcon - }() + internal let cardIconView = UIImageView() + internal lazy var stackView = self.makeStackView() + internal let stackSpacing: CGFloat = 8.0 + internal lazy var defaultUnknowBrandImage: UIImage? = { + return VGSPaymentCards.CardBrand.unknown.brandIcon + }() - // MARK: - Enum cases - /// Available Card brand icon positions enum. - public enum CardIconLocation { - /// Card brand icon at left side of `VGSCardTextField`. - case left - - /// Card brand icon at right side of `VGSCardTextField`. - case right - } + // MARK: - Enum cases + /// Available Card brand icon positions enum. + public enum CardIconLocation { + /// Card brand icon at left side of `VGSCardTextField`. + case left - // MARK: Attributes - /// Card brand icon position inside `VGSCardTextField`. - public var cardIconLocation = CardIconLocation.right { - didSet { - setCardIconAtLocation(cardIconLocation) - } - } + /// Card brand icon at right side of `VGSCardTextField`. + case right + } - /// Card brand icon size. - public var cardIconSize: CGSize = CGSize(width: 45, height: 45) { - didSet { - updateCardIconViewSize() - } + // MARK: Attributes + /// Card brand icon position inside `VGSCardTextField`. + public var cardIconLocation = CardIconLocation.right { + didSet { + setCardIconAtLocation(cardIconLocation) } - - // MARK: Custom card brand images - /// Asks custom image for specific `VGSPaymentCards.CardBrand` - public var cardsIconSource: ((VGSPaymentCards.CardBrand) -> UIImage?)? - - /// :nodoc: - public override func didMoveToSuperview() { - super.didMoveToSuperview() - updateCardImage() + } + + /// Card brand icon size. + public var cardIconSize: CGSize = CGSize(width: 45, height: 45) { + didSet { + updateCardIconViewSize() } + } + + // MARK: Custom card brand images + /// Asks custom image for specific `VGSPaymentCards.CardBrand` + public var cardsIconSource: ((VGSPaymentCards.CardBrand) -> UIImage?)? + + /// :nodoc: + public override func didMoveToSuperview() { + super.didMoveToSuperview() + updateCardImage() + } + + /// The natural size for the Textfield, considering only properties of the view itself. + public override var intrinsicContentSize: CGSize { + return getIntrinsicContentSize() + } } internal extension VGSCardTextField { @@ -94,6 +99,16 @@ internal extension VGSCardTextField { self.layoutIfNeeded() } + /// Calculate IntrinsicContentSize + private func getIntrinsicContentSize() -> CGSize { + // Text size with paddings + let size = super.intrinsicContentSize + // Add icon size + let height = size.height + cardIconSize.height + let width = size.width + cardIconSize.width + stackSpacing + return CGSize(width: width, height: height) + } + private func makeStackView() -> UIStackView { let stack = UIStackView() stack.alignment = .fill diff --git a/Sources/VGSCollectSDK/UIElements/Text Field/VGSTextField.swift b/Sources/VGSCollectSDK/UIElements/Text Field/VGSTextField.swift index 5d3ffe44..d2515b9e 100644 --- a/Sources/VGSCollectSDK/UIElements/Text Field/VGSTextField.swift +++ b/Sources/VGSCollectSDK/UIElements/Text Field/VGSTextField.swift @@ -55,6 +55,11 @@ public class VGSTextField: UIView { textField.attributedPlaceholder = attributedPlaceholder } } + + /// The natural size for the Textfield, considering only properties of the view itself. + public override var intrinsicContentSize: CGSize { + return getIntrinsicContentSize() + } /// `UIEdgeInsets` for text and placeholder inside `VGSTextField`. public var padding = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) { @@ -339,6 +344,14 @@ internal extension VGSTextField { NSLayoutConstraint.activate(verticalConstraint) self.layoutIfNeeded() } + + /// Calculate IntrinsicContentSize + private func getIntrinsicContentSize() -> CGSize { + /// Add paddings + let width = textField.intrinsicContentSize.width + padding.left + padding.right + let height = textField.intrinsicContentSize.height + padding.bottom + padding.top + return CGSize(width: width, height: height) + } @objc func textFieldValueChanged() { diff --git a/VGSCollectSDK.xcodeproj/project.pbxproj b/VGSCollectSDK.xcodeproj/project.pbxproj index c7f09a70..bbf68850 100644 --- a/VGSCollectSDK.xcodeproj/project.pbxproj +++ b/VGSCollectSDK.xcodeproj/project.pbxproj @@ -400,7 +400,6 @@ FD3C01C223AFC0980096B4A4 /* VGSTextField+CVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VGSTextField+CVC.swift"; sourceTree = ""; }; FD4ED0E22373662500AEAD24 /* MaskedTextField+security.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "MaskedTextField+security.swift"; sourceTree = ""; }; FD4ED0E42373666500AEAD24 /* TextFieldSecurity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldSecurity.swift; sourceTree = ""; }; - FD6F5656238E7FBB00C24123 /* CardType+icon.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CardType+icon.swift"; sourceTree = ""; }; FD790B96243BB403006A30CB /* CardBrandTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardBrandTest.swift; sourceTree = ""; }; FD790B98243BB42B006A30CB /* _CardBrandDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = _CardBrandDataSource.swift; sourceTree = ""; }; FD8B62462497CD580097C9AB /* VGSExpDateTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VGSExpDateTextField.swift; sourceTree = ""; }; @@ -1121,7 +1120,6 @@ FD2495632330E313009024E6 /* Card */ = { isa = PBXGroup; children = ( - FD6F5656238E7FBB00C24123 /* CardType+icon.swift */, 324B5E7224A23F6B0036867E /* VGSValidationRuleLuhnCheck.swift */, 324B5E9C24A64A600036867E /* VGSValidationRulePaymentCard.swift */, ); From 0dcddc7e72cb3328f0d8becceeec69ebe78d10e6 Mon Sep 17 00:00:00 2001 From: Alexandr Date: Fri, 25 Aug 2023 17:59:31 +0300 Subject: [PATCH 2/4] Add config for Semgrep. --- .circleci/config.yml | 67 ++++++++++++++++++++++++++++++++++++++++++-- .semgrepignore | 16 +++++++++++ .semgrepignore.py | 16 +++++++++++ 3 files changed, 96 insertions(+), 3 deletions(-) create mode 100644 .semgrepignore create mode 100644 .semgrepignore.py diff --git a/.circleci/config.yml b/.circleci/config.yml index 3c769627..82f6b153 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,5 +1,11 @@ version: 2.1 +# === Scheduled Pipeline Parameters === +parameters: + nightly-security-scan: + type: boolean + default: false + jobs: build-and-test-sdk: macos: @@ -31,7 +37,7 @@ jobs: echo "Code coverage will only be pushed to compass on the main branch." fi - + build-and-ui-test-demo-app-ios-16-iphone14: macos: xcode: "14.2" @@ -51,9 +57,64 @@ jobs: -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 14,OS=16.2' + scan-sast-pr: + parameters: + default_branch: + type: string + default: master + environment: + SEMGREP_REPO_URL: << pipeline.project.git_url >> + SEMGREP_BRANCH: << pipeline.git.branch >> + SEMGREP_BASELINE_REF: << parameters.default_branch >> + docker: + - image: returntocorp/semgrep + steps: + - checkout + - run: + name: "Semgrep diff scan" + command: semgrep ci + + scan-sast-full: + parameters: + default_branch: + type: string + default: master + environment: + SEMGREP_REPO_URL: << pipeline.project.git_url >> + SEMGREP_BRANCH: << pipeline.git.branch >> + docker: + - image: returntocorp/semgrep + steps: + - checkout + - run: + name: "Semgrep full scan" + command: semgrep ci + workflows: - version: 2 build-and-test: + when: + not: << pipeline.parameters.nightly-security-scan >> jobs: - build-and-test-sdk - - build-and-ui-test-demo-app-ios-16-iphone14 \ No newline at end of file + - build-and-ui-test-demo-app-ios-16-iphone14 + - scan-sast-pr: + context: + - security-tools + + - scan-sast-full: + filters: + # ignore any commit on any branch by default + branches: + ignore: /.*/ + tags: + only: + - /production-.*/ + context: + - security-tools + + scheduled-security-scan: + when: << pipeline.parameters.nightly-security-scan >> + jobs: + - scan-sast-full: + context: + - security-tools \ No newline at end of file diff --git a/.semgrepignore b/.semgrepignore new file mode 100644 index 00000000..42981672 --- /dev/null +++ b/.semgrepignore @@ -0,0 +1,16 @@ +# Common large paths +build/ +docs/ +.env/ + + +# Common test paths +VGSCardIOCollectorTests/ +Tests/ +xcov_report/ + +# Semgrep rules folder +.semgrep + +# Semgrep-action log folder +.semgrep_logs/ \ No newline at end of file diff --git a/.semgrepignore.py b/.semgrepignore.py new file mode 100644 index 00000000..42981672 --- /dev/null +++ b/.semgrepignore.py @@ -0,0 +1,16 @@ +# Common large paths +build/ +docs/ +.env/ + + +# Common test paths +VGSCardIOCollectorTests/ +Tests/ +xcov_report/ + +# Semgrep rules folder +.semgrep + +# Semgrep-action log folder +.semgrep_logs/ \ No newline at end of file From 385e7b8a7f6cf5f1777d677b398aa36df7ab55f6 Mon Sep 17 00:00:00 2001 From: Dmytro Khludkov Date: Thu, 7 Sep 2023 17:05:42 +0300 Subject: [PATCH 3/4] Bump SDK version. --- Sources/VGSCollectSDK/Utils/Extensions/Utils.swift | 2 +- VGSCollectSDK.podspec | 2 +- VGSCollectSDK.xcodeproj/project.pbxproj | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Sources/VGSCollectSDK/Utils/Extensions/Utils.swift b/Sources/VGSCollectSDK/Utils/Extensions/Utils.swift index 42073477..3115809a 100644 --- a/Sources/VGSCollectSDK/Utils/Extensions/Utils.swift +++ b/Sources/VGSCollectSDK/Utils/Extensions/Utils.swift @@ -46,7 +46,7 @@ internal class Utils { /// VGS Collect SDK Version. /// Necessary since SPM doesn't track info plist correctly: https://forums.swift.org/t/add-info-plist-on-spm-bundle/40274/5 - static let vgsCollectVersion: String = "1.15.0" + static let vgsCollectVersion: String = "1.15.1" } extension Dictionary { diff --git a/VGSCollectSDK.podspec b/VGSCollectSDK.podspec index 3e1b594c..b1857211 100644 --- a/VGSCollectSDK.podspec +++ b/VGSCollectSDK.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |spec| spec.name = 'VGSCollectSDK' - spec.version = '1.15.0' + spec.version = '1.15.1' spec.summary = 'VGS Collect - is a product suite that allows customers to collect information securely without possession of it.' spec.swift_version = '5.0' spec.description = <<-DESC diff --git a/VGSCollectSDK.xcodeproj/project.pbxproj b/VGSCollectSDK.xcodeproj/project.pbxproj index bbf68850..c2cd6b10 100644 --- a/VGSCollectSDK.xcodeproj/project.pbxproj +++ b/VGSCollectSDK.xcodeproj/project.pbxproj @@ -2043,7 +2043,7 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MARKETING_VERSION = 1.15.0; + MARKETING_VERSION = 1.15.1; PRODUCT_BUNDLE_IDENTIFIER = com.vgs.framework; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2075,7 +2075,7 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MARKETING_VERSION = 1.15.0; + MARKETING_VERSION = 1.15.1; PRODUCT_BUNDLE_IDENTIFIER = com.vgs.framework; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; From d8e8e6a152533782ecdabdb6be95a55b7cd117bc Mon Sep 17 00:00:00 2001 From: Donald Rodriguez Gutierrez <129230521+DonaldRG@users.noreply.github.com> Date: Thu, 7 Sep 2023 09:52:38 -0600 Subject: [PATCH 4/4] Updating docs (#366) --- docs/Classes/CardState.html | 2 +- docs/Classes/SSNState.html | 2 +- docs/Classes/State.html | 2 +- docs/Classes/VGSCVCTextField.html | 36 ++++++++- .../VGSCVCTextField/CVCIconLocation.html | 2 +- .../VGSCVCTokenizationConfiguration.html | 2 +- ...rdHolderNameTokenizationConfiguration.html | 2 +- ...GSCardNumberTokenizationConfiguration.html | 2 +- docs/Classes/VGSCardTextField.html | 34 ++++++++- .../VGSCardTextField/CardIconLocation.html | 2 +- docs/Classes/VGSCollect.html | 2 +- docs/Classes/VGSCollectLogger.html | 2 +- docs/Classes/VGSConfiguration.html | 2 +- docs/Classes/VGSDateConfiguration.html | 2 +- docs/Classes/VGSDateTextField.html | 2 +- .../Classes/VGSDateTextField/MonthFormat.html | 2 +- .../VGSDateTokenizationConfiguration.html | 2 +- docs/Classes/VGSError.html | 2 +- docs/Classes/VGSExpDateConfiguration.html | 2 +- docs/Classes/VGSExpDateTextField.html | 2 +- .../VGSExpDateTextField/MonthFormat.html | 2 +- .../VGSExpDateTextField/YearFormat.html | 2 +- .../VGSExpDateTokenizationConfiguration.html | 2 +- docs/Classes/VGSFileInfo.html | 2 +- docs/Classes/VGSFilePickerConfiguration.html | 2 +- docs/Classes/VGSFilePickerController.html | 2 +- docs/Classes/VGSPaymentCards.html | 2 +- docs/Classes/VGSPaymentCards/CardBrand.html | 2 +- .../VGSSSNTokenizationConfiguration.html | 2 +- docs/Classes/VGSTextField.html | 70 +++++++++++++----- .../Classes/VGSTokenizationConfiguration.html | 2 +- docs/Debugging.html | 2 +- docs/Enumerations.html | 2 +- docs/Enums/CheckSumAlgorithmType.html | 2 +- docs/Enums/Environment.html | 2 +- docs/Enums/FieldType.html | 2 +- docs/Enums/VGSCardExpDateFormat.html | 2 +- .../VGSCollectFieldNameMappingPolicy.html | 2 +- docs/Enums/VGSCollectHTTPMethod.html | 2 +- docs/Enums/VGSDateFormat.html | 8 +- docs/Enums/VGSErrorType.html | 2 +- docs/Enums/VGSFileSource.html | 2 +- docs/Enums/VGSLogLevel.html | 2 +- docs/Enums/VGSResponse.html | 2 +- docs/Enums/VGSTextFieldInputSource.html | 2 +- docs/Enums/VGSTokenizationResponse.html | 2 +- docs/Enums/VGSValidationErrorType.html | 2 +- docs/Enums/VGSVaultAliasFormat.html | 2 +- docs/Enums/VGSVaultStorageType.html | 2 +- docs/Error Keys.html | 2 +- docs/Errors.html | 2 +- docs/File Picker.html | 2 +- docs/Observe State and Send Data.html | 2 +- docs/Payment Cards.html | 2 +- .../VGSDateConfigurationProtocol.html | 2 +- .../VGSExpDateConfigurationProtocol.html | 2 +- .../VGSFilePickerControllerDelegate.html | 2 +- docs/Protocols/VGSTextFieldDelegate.html | 2 +- .../VGSTokenizationParametersProtocol.html | 2 +- .../Structs/VGSCVCTokenizationParameters.html | 2 +- ...SCardHolderNameTokenizationParameters.html | 2 +- .../VGSCardNumberTokenizationParameters.html | 2 +- .../VGSCollectLoggingConfiguration.html | 2 +- docs/Structs/VGSCollectRequestOptions.html | 2 +- docs/Structs/VGSCustomPaymentCardModel.html | 2 +- docs/Structs/VGSDate.html | 2 +- .../VGSDateTokenizationParameters.html | 2 +- .../Structs/VGSExpDateSeparateSerializer.html | 2 +- .../VGSExpDateTokenizationParameters.html | 2 +- docs/Structs/VGSPaymentCardModel.html | 2 +- .../Structs/VGSSSNTokenizationParameters.html | 2 +- docs/Structs/VGSTextFieldStatePublisher.html | 2 +- docs/Structs/VGSTokenizationParameters.html | 2 +- docs/Structs/VGSUnknownPaymentCardModel.html | 2 +- .../VGSValidationRuleCardExpirationDate.html | 2 +- docs/Structs/VGSValidationRuleDateRange.html | 2 +- docs/Structs/VGSValidationRuleLength.html | 2 +- .../Structs/VGSValidationRuleLengthMatch.html | 2 +- docs/Structs/VGSValidationRuleLuhnCheck.html | 2 +- docs/Structs/VGSValidationRulePattern.html | 2 +- .../Structs/VGSValidationRulePaymentCard.html | 2 +- docs/Structs/VGSValidationRuleSet.html | 2 +- docs/Tokenization Parameters.html | 2 +- docs/UI Elements.html | 10 +-- docs/VGSTextField Serializers.html | 2 +- docs/Validation Rules.html | 2 +- .../Documents/Classes/CardState.html | 2 +- .../Resources/Documents/Classes/SSNState.html | 2 +- .../Resources/Documents/Classes/State.html | 2 +- .../Documents/Classes/VGSCVCTextField.html | 36 ++++++++- .../VGSCVCTextField/CVCIconLocation.html | 2 +- .../VGSCVCTokenizationConfiguration.html | 2 +- ...rdHolderNameTokenizationConfiguration.html | 2 +- ...GSCardNumberTokenizationConfiguration.html | 2 +- .../Documents/Classes/VGSCardTextField.html | 34 ++++++++- .../VGSCardTextField/CardIconLocation.html | 2 +- .../Documents/Classes/VGSCollect.html | 2 +- .../Documents/Classes/VGSCollectLogger.html | 2 +- .../Documents/Classes/VGSConfiguration.html | 2 +- .../Classes/VGSDateConfiguration.html | 2 +- .../Documents/Classes/VGSDateTextField.html | 2 +- .../Classes/VGSDateTextField/MonthFormat.html | 2 +- .../VGSDateTokenizationConfiguration.html | 2 +- .../Resources/Documents/Classes/VGSError.html | 2 +- .../Classes/VGSExpDateConfiguration.html | 2 +- .../Classes/VGSExpDateTextField.html | 2 +- .../VGSExpDateTextField/MonthFormat.html | 2 +- .../VGSExpDateTextField/YearFormat.html | 2 +- .../VGSExpDateTokenizationConfiguration.html | 2 +- .../Documents/Classes/VGSFileInfo.html | 2 +- .../Classes/VGSFilePickerConfiguration.html | 2 +- .../Classes/VGSFilePickerController.html | 2 +- .../Documents/Classes/VGSPaymentCards.html | 2 +- .../Classes/VGSPaymentCards/CardBrand.html | 2 +- .../VGSSSNTokenizationConfiguration.html | 2 +- .../Documents/Classes/VGSTextField.html | 70 +++++++++++++----- .../Classes/VGSTokenizationConfiguration.html | 2 +- .../Resources/Documents/Debugging.html | 2 +- .../Resources/Documents/Enumerations.html | 2 +- .../Enums/CheckSumAlgorithmType.html | 2 +- .../Documents/Enums/Environment.html | 2 +- .../Resources/Documents/Enums/FieldType.html | 2 +- .../Documents/Enums/VGSCardExpDateFormat.html | 2 +- .../VGSCollectFieldNameMappingPolicy.html | 2 +- .../Documents/Enums/VGSCollectHTTPMethod.html | 2 +- .../Documents/Enums/VGSDateFormat.html | 8 +- .../Documents/Enums/VGSErrorType.html | 2 +- .../Documents/Enums/VGSFileSource.html | 2 +- .../Documents/Enums/VGSLogLevel.html | 2 +- .../Documents/Enums/VGSResponse.html | 2 +- .../Enums/VGSTextFieldInputSource.html | 2 +- .../Enums/VGSTokenizationResponse.html | 2 +- .../Enums/VGSValidationErrorType.html | 2 +- .../Documents/Enums/VGSVaultAliasFormat.html | 2 +- .../Documents/Enums/VGSVaultStorageType.html | 2 +- .../Resources/Documents/Error Keys.html | 2 +- .../Contents/Resources/Documents/Errors.html | 2 +- .../Resources/Documents/File Picker.html | 2 +- .../Observe State and Send Data.html | 2 +- .../Resources/Documents/Payment Cards.html | 2 +- .../VGSDateConfigurationProtocol.html | 2 +- .../VGSExpDateConfigurationProtocol.html | 2 +- .../VGSFilePickerControllerDelegate.html | 2 +- .../Protocols/VGSTextFieldDelegate.html | 2 +- .../VGSTokenizationParametersProtocol.html | 2 +- .../Structs/VGSCVCTokenizationParameters.html | 2 +- ...SCardHolderNameTokenizationParameters.html | 2 +- .../VGSCardNumberTokenizationParameters.html | 2 +- .../VGSCollectLoggingConfiguration.html | 2 +- .../Structs/VGSCollectRequestOptions.html | 2 +- .../Structs/VGSCustomPaymentCardModel.html | 2 +- .../Resources/Documents/Structs/VGSDate.html | 2 +- .../VGSDateTokenizationParameters.html | 2 +- .../Structs/VGSExpDateSeparateSerializer.html | 2 +- .../VGSExpDateTokenizationParameters.html | 2 +- .../Structs/VGSPaymentCardModel.html | 2 +- .../Structs/VGSSSNTokenizationParameters.html | 2 +- .../Structs/VGSTextFieldStatePublisher.html | 2 +- .../Structs/VGSTokenizationParameters.html | 2 +- .../Structs/VGSUnknownPaymentCardModel.html | 2 +- .../VGSValidationRuleCardExpirationDate.html | 2 +- .../Structs/VGSValidationRuleDateRange.html | 2 +- .../Structs/VGSValidationRuleLength.html | 2 +- .../Structs/VGSValidationRuleLengthMatch.html | 2 +- .../Structs/VGSValidationRuleLuhnCheck.html | 2 +- .../Structs/VGSValidationRulePattern.html | 2 +- .../Structs/VGSValidationRulePaymentCard.html | 2 +- .../Structs/VGSValidationRuleSet.html | 2 +- .../Documents/Tokenization Parameters.html | 2 +- .../Resources/Documents/UI Elements.html | 10 +-- .../Documents/VGSTextField Serializers.html | 2 +- .../Resources/Documents/Validation Rules.html | 2 +- .../Contents/Resources/Documents/index.html | 2 +- .../Contents/Resources/Documents/search.json | 2 +- .../Contents/Resources/docSet.dsidx | Bin 131072 -> 131072 bytes docs/docsets/VGSCollectSDK.tgz | Bin 242980 -> 245696 bytes docs/index.html | 2 +- docs/search.json | 2 +- docs/undocumented.json | 6 +- 179 files changed, 417 insertions(+), 237 deletions(-) diff --git a/docs/Classes/CardState.html b/docs/Classes/CardState.html index 730ab5fd..68372e55 100644 --- a/docs/Classes/CardState.html +++ b/docs/Classes/CardState.html @@ -523,7 +523,7 @@

Declaration

diff --git a/docs/Classes/SSNState.html b/docs/Classes/SSNState.html index ebb68d25..e117dd19 100644 --- a/docs/Classes/SSNState.html +++ b/docs/Classes/SSNState.html @@ -463,7 +463,7 @@

Declaration

diff --git a/docs/Classes/State.html b/docs/Classes/State.html index aa4703ea..a30461f6 100644 --- a/docs/Classes/State.html +++ b/docs/Classes/State.html @@ -673,7 +673,7 @@

Declaration

diff --git a/docs/Classes/VGSCVCTextField.html b/docs/Classes/VGSCVCTextField.html index 5097c085..1857e062 100644 --- a/docs/Classes/VGSCVCTextField.html +++ b/docs/Classes/VGSCVCTextField.html @@ -386,7 +386,7 @@

VGSCVCTextField

An object that displays an editable text area. Can be use instead of a VGSTextField when need to show CVC/CVV images for credit card brands.

@@ -508,6 +508,36 @@

Declaration

+
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    The natural size for the Textfield, considering only properties of the view itself.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override var intrinsicContentSize: CGSize { get }
    + +
    +
    + +
    +
    +
  • @@ -546,7 +576,7 @@

    Declaration

    @@ -559,7 +589,7 @@

    Declaration

    diff --git a/docs/Classes/VGSCVCTextField/CVCIconLocation.html b/docs/Classes/VGSCVCTextField/CVCIconLocation.html index a6ef8bb4..b4ad7b72 100644 --- a/docs/Classes/VGSCVCTextField/CVCIconLocation.html +++ b/docs/Classes/VGSCVCTextField/CVCIconLocation.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Classes/VGSCVCTokenizationConfiguration.html b/docs/Classes/VGSCVCTokenizationConfiguration.html index 91327dc4..cd9eb178 100644 --- a/docs/Classes/VGSCVCTokenizationConfiguration.html +++ b/docs/Classes/VGSCVCTokenizationConfiguration.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Classes/VGSCardHolderNameTokenizationConfiguration.html b/docs/Classes/VGSCardHolderNameTokenizationConfiguration.html index 921f28ad..73032a44 100644 --- a/docs/Classes/VGSCardHolderNameTokenizationConfiguration.html +++ b/docs/Classes/VGSCardHolderNameTokenizationConfiguration.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Classes/VGSCardNumberTokenizationConfiguration.html b/docs/Classes/VGSCardNumberTokenizationConfiguration.html index f2d58e61..6bebd873 100644 --- a/docs/Classes/VGSCardNumberTokenizationConfiguration.html +++ b/docs/Classes/VGSCardNumberTokenizationConfiguration.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Classes/VGSCardTextField.html b/docs/Classes/VGSCardTextField.html index 340f3e8d..157da776 100644 --- a/docs/Classes/VGSCardTextField.html +++ b/docs/Classes/VGSCardTextField.html @@ -386,7 +386,7 @@

    VGSCardTextField

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to detect and show credit card brand images.

    @@ -551,6 +551,36 @@

    Declaration

    +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    The natural size for the Textfield, considering only properties of the view itself.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override var intrinsicContentSize: CGSize { get }
    + +
    +
    + +
    +
    +
  • @@ -559,7 +589,7 @@

    Declaration

    diff --git a/docs/Classes/VGSCardTextField/CardIconLocation.html b/docs/Classes/VGSCardTextField/CardIconLocation.html index d5895dcb..67ef8cac 100644 --- a/docs/Classes/VGSCardTextField/CardIconLocation.html +++ b/docs/Classes/VGSCardTextField/CardIconLocation.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Classes/VGSCollect.html b/docs/Classes/VGSCollect.html index 9fabca01..1da2bfc9 100644 --- a/docs/Classes/VGSCollect.html +++ b/docs/Classes/VGSCollect.html @@ -1841,7 +1841,7 @@

    Return Value

    diff --git a/docs/Classes/VGSCollectLogger.html b/docs/Classes/VGSCollectLogger.html index fbaeb37a..34382e57 100644 --- a/docs/Classes/VGSCollectLogger.html +++ b/docs/Classes/VGSCollectLogger.html @@ -516,7 +516,7 @@

    Declaration

    diff --git a/docs/Classes/VGSConfiguration.html b/docs/Classes/VGSConfiguration.html index da7d175f..07c50cba 100644 --- a/docs/Classes/VGSConfiguration.html +++ b/docs/Classes/VGSConfiguration.html @@ -846,7 +846,7 @@

    Parameters

    diff --git a/docs/Classes/VGSDateConfiguration.html b/docs/Classes/VGSDateConfiguration.html index 1d77db68..bc3a3fb8 100644 --- a/docs/Classes/VGSDateConfiguration.html +++ b/docs/Classes/VGSDateConfiguration.html @@ -750,7 +750,7 @@

    Declaration

    diff --git a/docs/Classes/VGSDateTextField.html b/docs/Classes/VGSDateTextField.html index c80623d9..1217e812 100644 --- a/docs/Classes/VGSDateTextField.html +++ b/docs/Classes/VGSDateTextField.html @@ -529,7 +529,7 @@

    Declaration

    diff --git a/docs/Classes/VGSDateTextField/MonthFormat.html b/docs/Classes/VGSDateTextField/MonthFormat.html index c1a86151..5ef154e1 100644 --- a/docs/Classes/VGSDateTextField/MonthFormat.html +++ b/docs/Classes/VGSDateTextField/MonthFormat.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/Classes/VGSDateTokenizationConfiguration.html b/docs/Classes/VGSDateTokenizationConfiguration.html index c97572f8..e9b3ea40 100644 --- a/docs/Classes/VGSDateTokenizationConfiguration.html +++ b/docs/Classes/VGSDateTokenizationConfiguration.html @@ -648,7 +648,7 @@

    Declaration

    diff --git a/docs/Classes/VGSError.html b/docs/Classes/VGSError.html index e7d0c9f8..5f231ec2 100644 --- a/docs/Classes/VGSError.html +++ b/docs/Classes/VGSError.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/Classes/VGSExpDateConfiguration.html b/docs/Classes/VGSExpDateConfiguration.html index 981c1e7e..39410282 100644 --- a/docs/Classes/VGSExpDateConfiguration.html +++ b/docs/Classes/VGSExpDateConfiguration.html @@ -588,7 +588,7 @@

    Declaration

    diff --git a/docs/Classes/VGSExpDateTextField.html b/docs/Classes/VGSExpDateTextField.html index 1d655e0d..7cc78913 100644 --- a/docs/Classes/VGSExpDateTextField.html +++ b/docs/Classes/VGSExpDateTextField.html @@ -548,7 +548,7 @@

    Declaration

    diff --git a/docs/Classes/VGSExpDateTextField/MonthFormat.html b/docs/Classes/VGSExpDateTextField/MonthFormat.html index 89008db4..30901994 100644 --- a/docs/Classes/VGSExpDateTextField/MonthFormat.html +++ b/docs/Classes/VGSExpDateTextField/MonthFormat.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/Classes/VGSExpDateTextField/YearFormat.html b/docs/Classes/VGSExpDateTextField/YearFormat.html index 2accfc02..7a290453 100644 --- a/docs/Classes/VGSExpDateTextField/YearFormat.html +++ b/docs/Classes/VGSExpDateTextField/YearFormat.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Classes/VGSExpDateTokenizationConfiguration.html b/docs/Classes/VGSExpDateTokenizationConfiguration.html index 2fcf10f5..a2de4330 100644 --- a/docs/Classes/VGSExpDateTokenizationConfiguration.html +++ b/docs/Classes/VGSExpDateTokenizationConfiguration.html @@ -631,7 +631,7 @@

    Declaration

    diff --git a/docs/Classes/VGSFileInfo.html b/docs/Classes/VGSFileInfo.html index 79ebe753..8e309333 100644 --- a/docs/Classes/VGSFileInfo.html +++ b/docs/Classes/VGSFileInfo.html @@ -498,7 +498,7 @@

    Declaration

    diff --git a/docs/Classes/VGSFilePickerConfiguration.html b/docs/Classes/VGSFilePickerConfiguration.html index d5ab7396..476438df 100644 --- a/docs/Classes/VGSFilePickerConfiguration.html +++ b/docs/Classes/VGSFilePickerConfiguration.html @@ -528,7 +528,7 @@

    Parameters

    diff --git a/docs/Classes/VGSFilePickerController.html b/docs/Classes/VGSFilePickerController.html index 8d7b7bcb..59b50fa0 100644 --- a/docs/Classes/VGSFilePickerController.html +++ b/docs/Classes/VGSFilePickerController.html @@ -651,7 +651,7 @@

    Parameters

    diff --git a/docs/Classes/VGSPaymentCards.html b/docs/Classes/VGSPaymentCards.html index a3afb6bf..84fb1686 100644 --- a/docs/Classes/VGSPaymentCards.html +++ b/docs/Classes/VGSPaymentCards.html @@ -1051,7 +1051,7 @@

    Declaration

    diff --git a/docs/Classes/VGSPaymentCards/CardBrand.html b/docs/Classes/VGSPaymentCards/CardBrand.html index 8038edd6..8b69ee33 100644 --- a/docs/Classes/VGSPaymentCards/CardBrand.html +++ b/docs/Classes/VGSPaymentCards/CardBrand.html @@ -1016,7 +1016,7 @@

    Declaration

    diff --git a/docs/Classes/VGSSSNTokenizationConfiguration.html b/docs/Classes/VGSSSNTokenizationConfiguration.html index b2e2b207..37f74e82 100644 --- a/docs/Classes/VGSSSNTokenizationConfiguration.html +++ b/docs/Classes/VGSSSNTokenizationConfiguration.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Classes/VGSTextField.html b/docs/Classes/VGSTextField.html index 3e603e9b..888d82e7 100644 --- a/docs/Classes/VGSTextField.html +++ b/docs/Classes/VGSTextField.html @@ -387,7 +387,7 @@

    VGSTextField

    An object that displays an editable text area in user interface.

    @@ -525,6 +525,36 @@

    Declaration

    +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    The natural size for the Textfield, considering only properties of the view itself.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override var intrinsicContentSize: CGSize { get }
    + +
    +
    + +
    +
    +
  • @@ -550,7 +580,7 @@

    Declaration

    @@ -580,7 +610,7 @@

    Declaration

    @@ -610,7 +640,7 @@

    Declaration

    @@ -640,7 +670,7 @@

    Declaration

    @@ -670,7 +700,7 @@

    Declaration

    @@ -700,7 +730,7 @@

    Declaration

    @@ -730,7 +760,7 @@

    Declaration

    @@ -773,7 +803,7 @@

    Declaration

    @@ -804,7 +834,7 @@

    Declaration

    @@ -834,7 +864,7 @@

    Declaration

    @@ -877,7 +907,7 @@

    Declaration

    @@ -907,7 +937,7 @@

    Declaration

    @@ -957,7 +987,7 @@

    Declaration

    @@ -987,7 +1017,7 @@

    Declaration

    @@ -1035,7 +1065,7 @@

    Declaration

    @@ -1289,7 +1319,7 @@

    Declaration

    @@ -1320,7 +1350,7 @@

    Declaration

    @@ -1350,7 +1380,7 @@

    Declaration

    @@ -1363,7 +1393,7 @@

    Declaration

    diff --git a/docs/Classes/VGSTokenizationConfiguration.html b/docs/Classes/VGSTokenizationConfiguration.html index 19a6bba2..713d4029 100644 --- a/docs/Classes/VGSTokenizationConfiguration.html +++ b/docs/Classes/VGSTokenizationConfiguration.html @@ -433,7 +433,7 @@

    Declaration

    diff --git a/docs/Debugging.html b/docs/Debugging.html index df4f5b15..b91a3ed3 100644 --- a/docs/Debugging.html +++ b/docs/Debugging.html @@ -486,7 +486,7 @@

    Declaration

    diff --git a/docs/Enumerations.html b/docs/Enumerations.html index 5642de01..a92ace4f 100644 --- a/docs/Enumerations.html +++ b/docs/Enumerations.html @@ -454,7 +454,7 @@

    Declaration

    diff --git a/docs/Enums/CheckSumAlgorithmType.html b/docs/Enums/CheckSumAlgorithmType.html index a1b1f05d..9d0574d6 100644 --- a/docs/Enums/CheckSumAlgorithmType.html +++ b/docs/Enums/CheckSumAlgorithmType.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Enums/Environment.html b/docs/Enums/Environment.html index 56826e1c..582fcf94 100644 --- a/docs/Enums/Environment.html +++ b/docs/Enums/Environment.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Enums/FieldType.html b/docs/Enums/FieldType.html index 7ba21eec..e3d5efc1 100644 --- a/docs/Enums/FieldType.html +++ b/docs/Enums/FieldType.html @@ -613,7 +613,7 @@

    Declaration

    diff --git a/docs/Enums/VGSCardExpDateFormat.html b/docs/Enums/VGSCardExpDateFormat.html index 6b7a6d86..80599e09 100644 --- a/docs/Enums/VGSCardExpDateFormat.html +++ b/docs/Enums/VGSCardExpDateFormat.html @@ -523,7 +523,7 @@

    Declaration

    diff --git a/docs/Enums/VGSCollectFieldNameMappingPolicy.html b/docs/Enums/VGSCollectFieldNameMappingPolicy.html index de418de6..a1b39cc2 100644 --- a/docs/Enums/VGSCollectFieldNameMappingPolicy.html +++ b/docs/Enums/VGSCollectFieldNameMappingPolicy.html @@ -601,7 +601,7 @@

    Declaration

    diff --git a/docs/Enums/VGSCollectHTTPMethod.html b/docs/Enums/VGSCollectHTTPMethod.html index 43ed6f4d..e23f26ea 100644 --- a/docs/Enums/VGSCollectHTTPMethod.html +++ b/docs/Enums/VGSCollectHTTPMethod.html @@ -553,7 +553,7 @@

    Declaration

    diff --git a/docs/Enums/VGSDateFormat.html b/docs/Enums/VGSDateFormat.html index 00b1bfc6..8968695f 100644 --- a/docs/Enums/VGSDateFormat.html +++ b/docs/Enums/VGSDateFormat.html @@ -386,7 +386,7 @@

    VGSDateFormat

    Format used to validate a VGS date text input

    @@ -420,7 +420,7 @@

    Declaration

    @@ -463,7 +463,7 @@

    Declaration

    @@ -476,7 +476,7 @@

    Declaration

    diff --git a/docs/Enums/VGSErrorType.html b/docs/Enums/VGSErrorType.html index b8de703a..5bedcdba 100644 --- a/docs/Enums/VGSErrorType.html +++ b/docs/Enums/VGSErrorType.html @@ -678,7 +678,7 @@

    Declaration

    diff --git a/docs/Enums/VGSFileSource.html b/docs/Enums/VGSFileSource.html index 4a0068ee..c8b04e92 100644 --- a/docs/Enums/VGSFileSource.html +++ b/docs/Enums/VGSFileSource.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/Enums/VGSLogLevel.html b/docs/Enums/VGSLogLevel.html index 308f28ef..a65857ed 100644 --- a/docs/Enums/VGSLogLevel.html +++ b/docs/Enums/VGSLogLevel.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/Enums/VGSResponse.html b/docs/Enums/VGSResponse.html index 071b23ad..89957e81 100644 --- a/docs/Enums/VGSResponse.html +++ b/docs/Enums/VGSResponse.html @@ -562,7 +562,7 @@

    Parameters

    diff --git a/docs/Enums/VGSTextFieldInputSource.html b/docs/Enums/VGSTextFieldInputSource.html index b84de93f..0396527e 100644 --- a/docs/Enums/VGSTextFieldInputSource.html +++ b/docs/Enums/VGSTextFieldInputSource.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Enums/VGSTokenizationResponse.html b/docs/Enums/VGSTokenizationResponse.html index cff0f678..34edf4f0 100644 --- a/docs/Enums/VGSTokenizationResponse.html +++ b/docs/Enums/VGSTokenizationResponse.html @@ -562,7 +562,7 @@

    Parameters

    diff --git a/docs/Enums/VGSValidationErrorType.html b/docs/Enums/VGSValidationErrorType.html index b1a5c9a0..b84fc354 100644 --- a/docs/Enums/VGSValidationErrorType.html +++ b/docs/Enums/VGSValidationErrorType.html @@ -613,7 +613,7 @@

    Declaration

    diff --git a/docs/Enums/VGSVaultAliasFormat.html b/docs/Enums/VGSVaultAliasFormat.html index 2648e5b7..cf0d3785 100644 --- a/docs/Enums/VGSVaultAliasFormat.html +++ b/docs/Enums/VGSVaultAliasFormat.html @@ -673,7 +673,7 @@

    Declaration

    diff --git a/docs/Enums/VGSVaultStorageType.html b/docs/Enums/VGSVaultStorageType.html index e23a4e79..eedf06c6 100644 --- a/docs/Enums/VGSVaultStorageType.html +++ b/docs/Enums/VGSVaultStorageType.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Error Keys.html b/docs/Error Keys.html index dace0270..2666fec9 100644 --- a/docs/Error Keys.html +++ b/docs/Error Keys.html @@ -685,7 +685,7 @@

    Declaration

    diff --git a/docs/Errors.html b/docs/Errors.html index 61722565..5ea6b4eb 100644 --- a/docs/Errors.html +++ b/docs/Errors.html @@ -545,7 +545,7 @@

    Declaration

    diff --git a/docs/File Picker.html b/docs/File Picker.html index df1f676e..6ae32799 100644 --- a/docs/File Picker.html +++ b/docs/File Picker.html @@ -548,7 +548,7 @@

    Declaration

    diff --git a/docs/Observe State and Send Data.html b/docs/Observe State and Send Data.html index b813fea9..fe55ae7b 100644 --- a/docs/Observe State and Send Data.html +++ b/docs/Observe State and Send Data.html @@ -765,7 +765,7 @@

    Declaration

    diff --git a/docs/Payment Cards.html b/docs/Payment Cards.html index 85c3057a..abd4bc7f 100644 --- a/docs/Payment Cards.html +++ b/docs/Payment Cards.html @@ -522,7 +522,7 @@

    Declaration

    diff --git a/docs/Protocols/VGSDateConfigurationProtocol.html b/docs/Protocols/VGSDateConfigurationProtocol.html index 07203603..18f6b843 100644 --- a/docs/Protocols/VGSDateConfigurationProtocol.html +++ b/docs/Protocols/VGSDateConfigurationProtocol.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/Protocols/VGSExpDateConfigurationProtocol.html b/docs/Protocols/VGSExpDateConfigurationProtocol.html index 80cefbaf..bef3ba83 100644 --- a/docs/Protocols/VGSExpDateConfigurationProtocol.html +++ b/docs/Protocols/VGSExpDateConfigurationProtocol.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/Protocols/VGSFilePickerControllerDelegate.html b/docs/Protocols/VGSFilePickerControllerDelegate.html index 21dd5a48..9899cc41 100644 --- a/docs/Protocols/VGSFilePickerControllerDelegate.html +++ b/docs/Protocols/VGSFilePickerControllerDelegate.html @@ -503,7 +503,7 @@

    Declaration

    diff --git a/docs/Protocols/VGSTextFieldDelegate.html b/docs/Protocols/VGSTextFieldDelegate.html index 1fb092fb..02e1934c 100644 --- a/docs/Protocols/VGSTextFieldDelegate.html +++ b/docs/Protocols/VGSTextFieldDelegate.html @@ -537,7 +537,7 @@

    Declaration

    diff --git a/docs/Protocols/VGSTokenizationParametersProtocol.html b/docs/Protocols/VGSTokenizationParametersProtocol.html index 9899acfc..a4b42098 100644 --- a/docs/Protocols/VGSTokenizationParametersProtocol.html +++ b/docs/Protocols/VGSTokenizationParametersProtocol.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Structs/VGSCVCTokenizationParameters.html b/docs/Structs/VGSCVCTokenizationParameters.html index dedf4c9f..d20d9a40 100644 --- a/docs/Structs/VGSCVCTokenizationParameters.html +++ b/docs/Structs/VGSCVCTokenizationParameters.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Structs/VGSCardHolderNameTokenizationParameters.html b/docs/Structs/VGSCardHolderNameTokenizationParameters.html index 95825085..8c06b786 100644 --- a/docs/Structs/VGSCardHolderNameTokenizationParameters.html +++ b/docs/Structs/VGSCardHolderNameTokenizationParameters.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Structs/VGSCardNumberTokenizationParameters.html b/docs/Structs/VGSCardNumberTokenizationParameters.html index 27fd4c06..01db207a 100644 --- a/docs/Structs/VGSCardNumberTokenizationParameters.html +++ b/docs/Structs/VGSCardNumberTokenizationParameters.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Structs/VGSCollectLoggingConfiguration.html b/docs/Structs/VGSCollectLoggingConfiguration.html index 1fc63adf..e42d563a 100644 --- a/docs/Structs/VGSCollectLoggingConfiguration.html +++ b/docs/Structs/VGSCollectLoggingConfiguration.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/Structs/VGSCollectRequestOptions.html b/docs/Structs/VGSCollectRequestOptions.html index 6fcdeb86..527c4786 100644 --- a/docs/Structs/VGSCollectRequestOptions.html +++ b/docs/Structs/VGSCollectRequestOptions.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Structs/VGSCustomPaymentCardModel.html b/docs/Structs/VGSCustomPaymentCardModel.html index e4d76330..c2096089 100644 --- a/docs/Structs/VGSCustomPaymentCardModel.html +++ b/docs/Structs/VGSCustomPaymentCardModel.html @@ -812,7 +812,7 @@

    Parameters

    diff --git a/docs/Structs/VGSDate.html b/docs/Structs/VGSDate.html index 2b3718ae..ebfacd73 100644 --- a/docs/Structs/VGSDate.html +++ b/docs/Structs/VGSDate.html @@ -563,7 +563,7 @@

    Return Value

    diff --git a/docs/Structs/VGSDateTokenizationParameters.html b/docs/Structs/VGSDateTokenizationParameters.html index c38a6f03..4463e6c0 100644 --- a/docs/Structs/VGSDateTokenizationParameters.html +++ b/docs/Structs/VGSDateTokenizationParameters.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Structs/VGSExpDateSeparateSerializer.html b/docs/Structs/VGSExpDateSeparateSerializer.html index 41087852..34bb910d 100644 --- a/docs/Structs/VGSExpDateSeparateSerializer.html +++ b/docs/Structs/VGSExpDateSeparateSerializer.html @@ -537,7 +537,7 @@

    Parameters

    diff --git a/docs/Structs/VGSExpDateTokenizationParameters.html b/docs/Structs/VGSExpDateTokenizationParameters.html index 26f4e11a..cafc50dd 100644 --- a/docs/Structs/VGSExpDateTokenizationParameters.html +++ b/docs/Structs/VGSExpDateTokenizationParameters.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Structs/VGSPaymentCardModel.html b/docs/Structs/VGSPaymentCardModel.html index db65257d..5946b4b7 100644 --- a/docs/Structs/VGSPaymentCardModel.html +++ b/docs/Structs/VGSPaymentCardModel.html @@ -678,7 +678,7 @@

    Declaration

    diff --git a/docs/Structs/VGSSSNTokenizationParameters.html b/docs/Structs/VGSSSNTokenizationParameters.html index 68c26226..bc331b2b 100644 --- a/docs/Structs/VGSSSNTokenizationParameters.html +++ b/docs/Structs/VGSSSNTokenizationParameters.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Structs/VGSTextFieldStatePublisher.html b/docs/Structs/VGSTextFieldStatePublisher.html index 7cce9cbc..3e79495d 100644 --- a/docs/Structs/VGSTextFieldStatePublisher.html +++ b/docs/Structs/VGSTextFieldStatePublisher.html @@ -511,7 +511,7 @@

    Parameters

    diff --git a/docs/Structs/VGSTokenizationParameters.html b/docs/Structs/VGSTokenizationParameters.html index 71b688de..8b37d343 100644 --- a/docs/Structs/VGSTokenizationParameters.html +++ b/docs/Structs/VGSTokenizationParameters.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/Structs/VGSUnknownPaymentCardModel.html b/docs/Structs/VGSUnknownPaymentCardModel.html index 1332ac09..60d7f714 100644 --- a/docs/Structs/VGSUnknownPaymentCardModel.html +++ b/docs/Structs/VGSUnknownPaymentCardModel.html @@ -613,7 +613,7 @@

    Declaration

    diff --git a/docs/Structs/VGSValidationRuleCardExpirationDate.html b/docs/Structs/VGSValidationRuleCardExpirationDate.html index 76091caa..e1c34106 100644 --- a/docs/Structs/VGSValidationRuleCardExpirationDate.html +++ b/docs/Structs/VGSValidationRuleCardExpirationDate.html @@ -524,7 +524,7 @@

    Parameters

    diff --git a/docs/Structs/VGSValidationRuleDateRange.html b/docs/Structs/VGSValidationRuleDateRange.html index e69908dd..4bc780e6 100644 --- a/docs/Structs/VGSValidationRuleDateRange.html +++ b/docs/Structs/VGSValidationRuleDateRange.html @@ -574,7 +574,7 @@

    Parameters

    diff --git a/docs/Structs/VGSValidationRuleLength.html b/docs/Structs/VGSValidationRuleLength.html index 44df4691..f5cb106e 100644 --- a/docs/Structs/VGSValidationRuleLength.html +++ b/docs/Structs/VGSValidationRuleLength.html @@ -566,7 +566,7 @@

    Parameters

    diff --git a/docs/Structs/VGSValidationRuleLengthMatch.html b/docs/Structs/VGSValidationRuleLengthMatch.html index 969d7093..e41fce3a 100644 --- a/docs/Structs/VGSValidationRuleLengthMatch.html +++ b/docs/Structs/VGSValidationRuleLengthMatch.html @@ -524,7 +524,7 @@

    Parameters

    diff --git a/docs/Structs/VGSValidationRuleLuhnCheck.html b/docs/Structs/VGSValidationRuleLuhnCheck.html index bbc3c216..2821e412 100644 --- a/docs/Structs/VGSValidationRuleLuhnCheck.html +++ b/docs/Structs/VGSValidationRuleLuhnCheck.html @@ -482,7 +482,7 @@

    Parameters

    diff --git a/docs/Structs/VGSValidationRulePattern.html b/docs/Structs/VGSValidationRulePattern.html index 5ff244f9..9bf3668a 100644 --- a/docs/Structs/VGSValidationRulePattern.html +++ b/docs/Structs/VGSValidationRulePattern.html @@ -524,7 +524,7 @@

    Parameters

    diff --git a/docs/Structs/VGSValidationRulePaymentCard.html b/docs/Structs/VGSValidationRulePaymentCard.html index 030b9e50..c13070dc 100644 --- a/docs/Structs/VGSValidationRulePaymentCard.html +++ b/docs/Structs/VGSValidationRulePaymentCard.html @@ -575,7 +575,7 @@

    Parameters

    diff --git a/docs/Structs/VGSValidationRuleSet.html b/docs/Structs/VGSValidationRuleSet.html index a6264ec7..ce29c1c0 100644 --- a/docs/Structs/VGSValidationRuleSet.html +++ b/docs/Structs/VGSValidationRuleSet.html @@ -512,7 +512,7 @@

    Declaration

    diff --git a/docs/Tokenization Parameters.html b/docs/Tokenization Parameters.html index 2fde8918..9a7ea9c7 100644 --- a/docs/Tokenization Parameters.html +++ b/docs/Tokenization Parameters.html @@ -702,7 +702,7 @@

    Declaration

    diff --git a/docs/UI Elements.html b/docs/UI Elements.html index 4241e015..65851c82 100644 --- a/docs/UI Elements.html +++ b/docs/UI Elements.html @@ -411,7 +411,7 @@

    Declaration

    @@ -442,7 +442,7 @@

    Declaration

    @@ -537,7 +537,7 @@

    Declaration

    @@ -1004,7 +1004,7 @@

    Declaration

    @@ -1080,7 +1080,7 @@

    Declaration

    diff --git a/docs/VGSTextField Serializers.html b/docs/VGSTextField Serializers.html index 6594052e..1bbd72ad 100644 --- a/docs/VGSTextField Serializers.html +++ b/docs/VGSTextField Serializers.html @@ -453,7 +453,7 @@

    Declaration

    diff --git a/docs/Validation Rules.html b/docs/Validation Rules.html index 45bb1022..cea895b1 100644 --- a/docs/Validation Rules.html +++ b/docs/Validation Rules.html @@ -674,7 +674,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/CardState.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/CardState.html index 730ab5fd..68372e55 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/CardState.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/CardState.html @@ -523,7 +523,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/SSNState.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/SSNState.html index ebb68d25..e117dd19 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/SSNState.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/SSNState.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/State.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/State.html index aa4703ea..a30461f6 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/State.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/State.html @@ -673,7 +673,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCVCTextField.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCVCTextField.html index 5097c085..1857e062 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCVCTextField.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCVCTextField.html @@ -386,7 +386,7 @@

    VGSCVCTextField

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to show CVC/CVV images for credit card brands.

    @@ -508,6 +508,36 @@

    Declaration

  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    The natural size for the Textfield, considering only properties of the view itself.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override var intrinsicContentSize: CGSize { get }
    + +
    +
    + +
    +
    +
  • @@ -546,7 +576,7 @@

    Declaration

    @@ -559,7 +589,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCVCTextField/CVCIconLocation.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCVCTextField/CVCIconLocation.html index a6ef8bb4..b4ad7b72 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCVCTextField/CVCIconLocation.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCVCTextField/CVCIconLocation.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCVCTokenizationConfiguration.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCVCTokenizationConfiguration.html index 91327dc4..cd9eb178 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCVCTokenizationConfiguration.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCVCTokenizationConfiguration.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardHolderNameTokenizationConfiguration.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardHolderNameTokenizationConfiguration.html index 921f28ad..73032a44 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardHolderNameTokenizationConfiguration.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardHolderNameTokenizationConfiguration.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardNumberTokenizationConfiguration.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardNumberTokenizationConfiguration.html index f2d58e61..6bebd873 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardNumberTokenizationConfiguration.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardNumberTokenizationConfiguration.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardTextField.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardTextField.html index 340f3e8d..157da776 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardTextField.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardTextField.html @@ -386,7 +386,7 @@

    VGSCardTextField

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to detect and show credit card brand images.

    @@ -551,6 +551,36 @@

    Declaration

    +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    The natural size for the Textfield, considering only properties of the view itself.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override var intrinsicContentSize: CGSize { get }
    + +
    +
    + +
    +
    +
  • @@ -559,7 +589,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardTextField/CardIconLocation.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardTextField/CardIconLocation.html index d5895dcb..67ef8cac 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardTextField/CardIconLocation.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCardTextField/CardIconLocation.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCollect.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCollect.html index 9fabca01..1da2bfc9 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCollect.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCollect.html @@ -1841,7 +1841,7 @@

    Return Value

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCollectLogger.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCollectLogger.html index fbaeb37a..34382e57 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCollectLogger.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSCollectLogger.html @@ -516,7 +516,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSConfiguration.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSConfiguration.html index da7d175f..07c50cba 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSConfiguration.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSConfiguration.html @@ -846,7 +846,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateConfiguration.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateConfiguration.html index 1d77db68..bc3a3fb8 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateConfiguration.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateConfiguration.html @@ -750,7 +750,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateTextField.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateTextField.html index c80623d9..1217e812 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateTextField.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateTextField.html @@ -529,7 +529,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateTextField/MonthFormat.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateTextField/MonthFormat.html index c1a86151..5ef154e1 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateTextField/MonthFormat.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateTextField/MonthFormat.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateTokenizationConfiguration.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateTokenizationConfiguration.html index c97572f8..e9b3ea40 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateTokenizationConfiguration.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSDateTokenizationConfiguration.html @@ -648,7 +648,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSError.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSError.html index e7d0c9f8..5f231ec2 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSError.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSError.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateConfiguration.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateConfiguration.html index 981c1e7e..39410282 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateConfiguration.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateConfiguration.html @@ -588,7 +588,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTextField.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTextField.html index 1d655e0d..7cc78913 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTextField.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTextField.html @@ -548,7 +548,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTextField/MonthFormat.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTextField/MonthFormat.html index 89008db4..30901994 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTextField/MonthFormat.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTextField/MonthFormat.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTextField/YearFormat.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTextField/YearFormat.html index 2accfc02..7a290453 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTextField/YearFormat.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTextField/YearFormat.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTokenizationConfiguration.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTokenizationConfiguration.html index 2fcf10f5..a2de4330 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTokenizationConfiguration.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSExpDateTokenizationConfiguration.html @@ -631,7 +631,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSFileInfo.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSFileInfo.html index 79ebe753..8e309333 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSFileInfo.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSFileInfo.html @@ -498,7 +498,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSFilePickerConfiguration.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSFilePickerConfiguration.html index d5ab7396..476438df 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSFilePickerConfiguration.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSFilePickerConfiguration.html @@ -528,7 +528,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSFilePickerController.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSFilePickerController.html index 8d7b7bcb..59b50fa0 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSFilePickerController.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSFilePickerController.html @@ -651,7 +651,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSPaymentCards.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSPaymentCards.html index a3afb6bf..84fb1686 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSPaymentCards.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSPaymentCards.html @@ -1051,7 +1051,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSPaymentCards/CardBrand.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSPaymentCards/CardBrand.html index 8038edd6..8b69ee33 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSPaymentCards/CardBrand.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSPaymentCards/CardBrand.html @@ -1016,7 +1016,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSSSNTokenizationConfiguration.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSSSNTokenizationConfiguration.html index b2e2b207..37f74e82 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSSSNTokenizationConfiguration.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSSSNTokenizationConfiguration.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSTextField.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSTextField.html index 3e603e9b..888d82e7 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSTextField.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSTextField.html @@ -387,7 +387,7 @@

    VGSTextField

    An object that displays an editable text area in user interface.

    @@ -525,6 +525,36 @@

    Declaration

    +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    The natural size for the Textfield, considering only properties of the view itself.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public override var intrinsicContentSize: CGSize { get }
    + +
    +
    + +
    +
    +
  • @@ -550,7 +580,7 @@

    Declaration

    @@ -580,7 +610,7 @@

    Declaration

    @@ -610,7 +640,7 @@

    Declaration

    @@ -640,7 +670,7 @@

    Declaration

    @@ -670,7 +700,7 @@

    Declaration

    @@ -700,7 +730,7 @@

    Declaration

    @@ -730,7 +760,7 @@

    Declaration

    @@ -773,7 +803,7 @@

    Declaration

    @@ -804,7 +834,7 @@

    Declaration

    @@ -834,7 +864,7 @@

    Declaration

    @@ -877,7 +907,7 @@

    Declaration

    @@ -907,7 +937,7 @@

    Declaration

    @@ -957,7 +987,7 @@

    Declaration

    @@ -987,7 +1017,7 @@

    Declaration

    @@ -1035,7 +1065,7 @@

    Declaration

    @@ -1289,7 +1319,7 @@

    Declaration

    @@ -1320,7 +1350,7 @@

    Declaration

    @@ -1350,7 +1380,7 @@

    Declaration

    @@ -1363,7 +1393,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSTokenizationConfiguration.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSTokenizationConfiguration.html index 19a6bba2..713d4029 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSTokenizationConfiguration.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Classes/VGSTokenizationConfiguration.html @@ -433,7 +433,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Debugging.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Debugging.html index df4f5b15..b91a3ed3 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Debugging.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Debugging.html @@ -486,7 +486,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enumerations.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enumerations.html index 5642de01..a92ace4f 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enumerations.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enumerations.html @@ -454,7 +454,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/CheckSumAlgorithmType.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/CheckSumAlgorithmType.html index a1b1f05d..9d0574d6 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/CheckSumAlgorithmType.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/CheckSumAlgorithmType.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/Environment.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/Environment.html index 56826e1c..582fcf94 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/Environment.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/Environment.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/FieldType.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/FieldType.html index 7ba21eec..e3d5efc1 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/FieldType.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/FieldType.html @@ -613,7 +613,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSCardExpDateFormat.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSCardExpDateFormat.html index 6b7a6d86..80599e09 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSCardExpDateFormat.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSCardExpDateFormat.html @@ -523,7 +523,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSCollectFieldNameMappingPolicy.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSCollectFieldNameMappingPolicy.html index de418de6..a1b39cc2 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSCollectFieldNameMappingPolicy.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSCollectFieldNameMappingPolicy.html @@ -601,7 +601,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSCollectHTTPMethod.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSCollectHTTPMethod.html index 43ed6f4d..e23f26ea 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSCollectHTTPMethod.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSCollectHTTPMethod.html @@ -553,7 +553,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSDateFormat.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSDateFormat.html index 00b1bfc6..8968695f 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSDateFormat.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSDateFormat.html @@ -386,7 +386,7 @@

    VGSDateFormat

    Format used to validate a VGS date text input

    @@ -420,7 +420,7 @@

    Declaration

    @@ -463,7 +463,7 @@

    Declaration

    @@ -476,7 +476,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSErrorType.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSErrorType.html index b8de703a..5bedcdba 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSErrorType.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSErrorType.html @@ -678,7 +678,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSFileSource.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSFileSource.html index 4a0068ee..c8b04e92 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSFileSource.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSFileSource.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSLogLevel.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSLogLevel.html index 308f28ef..a65857ed 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSLogLevel.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSLogLevel.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSResponse.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSResponse.html index 071b23ad..89957e81 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSResponse.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSResponse.html @@ -562,7 +562,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSTextFieldInputSource.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSTextFieldInputSource.html index b84de93f..0396527e 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSTextFieldInputSource.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSTextFieldInputSource.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSTokenizationResponse.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSTokenizationResponse.html index cff0f678..34edf4f0 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSTokenizationResponse.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSTokenizationResponse.html @@ -562,7 +562,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSValidationErrorType.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSValidationErrorType.html index b1a5c9a0..b84fc354 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSValidationErrorType.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSValidationErrorType.html @@ -613,7 +613,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSVaultAliasFormat.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSVaultAliasFormat.html index 2648e5b7..cf0d3785 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSVaultAliasFormat.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSVaultAliasFormat.html @@ -673,7 +673,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSVaultStorageType.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSVaultStorageType.html index e23a4e79..eedf06c6 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSVaultStorageType.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Enums/VGSVaultStorageType.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Error Keys.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Error Keys.html index dace0270..2666fec9 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Error Keys.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Error Keys.html @@ -685,7 +685,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Errors.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Errors.html index 61722565..5ea6b4eb 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Errors.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Errors.html @@ -545,7 +545,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/File Picker.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/File Picker.html index df1f676e..6ae32799 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/File Picker.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/File Picker.html @@ -548,7 +548,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Observe State and Send Data.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Observe State and Send Data.html index b813fea9..fe55ae7b 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Observe State and Send Data.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Observe State and Send Data.html @@ -765,7 +765,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Payment Cards.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Payment Cards.html index 85c3057a..abd4bc7f 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Payment Cards.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Payment Cards.html @@ -522,7 +522,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSDateConfigurationProtocol.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSDateConfigurationProtocol.html index 07203603..18f6b843 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSDateConfigurationProtocol.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSDateConfigurationProtocol.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSExpDateConfigurationProtocol.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSExpDateConfigurationProtocol.html index 80cefbaf..bef3ba83 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSExpDateConfigurationProtocol.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSExpDateConfigurationProtocol.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSFilePickerControllerDelegate.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSFilePickerControllerDelegate.html index 21dd5a48..9899cc41 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSFilePickerControllerDelegate.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSFilePickerControllerDelegate.html @@ -503,7 +503,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSTextFieldDelegate.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSTextFieldDelegate.html index 1fb092fb..02e1934c 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSTextFieldDelegate.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSTextFieldDelegate.html @@ -537,7 +537,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSTokenizationParametersProtocol.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSTokenizationParametersProtocol.html index 9899acfc..a4b42098 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSTokenizationParametersProtocol.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Protocols/VGSTokenizationParametersProtocol.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCVCTokenizationParameters.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCVCTokenizationParameters.html index dedf4c9f..d20d9a40 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCVCTokenizationParameters.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCVCTokenizationParameters.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCardHolderNameTokenizationParameters.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCardHolderNameTokenizationParameters.html index 95825085..8c06b786 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCardHolderNameTokenizationParameters.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCardHolderNameTokenizationParameters.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCardNumberTokenizationParameters.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCardNumberTokenizationParameters.html index 27fd4c06..01db207a 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCardNumberTokenizationParameters.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCardNumberTokenizationParameters.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCollectLoggingConfiguration.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCollectLoggingConfiguration.html index 1fc63adf..e42d563a 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCollectLoggingConfiguration.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCollectLoggingConfiguration.html @@ -493,7 +493,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCollectRequestOptions.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCollectRequestOptions.html index 6fcdeb86..527c4786 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCollectRequestOptions.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCollectRequestOptions.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCustomPaymentCardModel.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCustomPaymentCardModel.html index e4d76330..c2096089 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCustomPaymentCardModel.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSCustomPaymentCardModel.html @@ -812,7 +812,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSDate.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSDate.html index 2b3718ae..ebfacd73 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSDate.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSDate.html @@ -563,7 +563,7 @@

    Return Value

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSDateTokenizationParameters.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSDateTokenizationParameters.html index c38a6f03..4463e6c0 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSDateTokenizationParameters.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSDateTokenizationParameters.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSExpDateSeparateSerializer.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSExpDateSeparateSerializer.html index 41087852..34bb910d 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSExpDateSeparateSerializer.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSExpDateSeparateSerializer.html @@ -537,7 +537,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSExpDateTokenizationParameters.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSExpDateTokenizationParameters.html index 26f4e11a..cafc50dd 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSExpDateTokenizationParameters.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSExpDateTokenizationParameters.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSPaymentCardModel.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSPaymentCardModel.html index db65257d..5946b4b7 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSPaymentCardModel.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSPaymentCardModel.html @@ -678,7 +678,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSSSNTokenizationParameters.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSSSNTokenizationParameters.html index 68c26226..bc331b2b 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSSSNTokenizationParameters.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSSSNTokenizationParameters.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSTextFieldStatePublisher.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSTextFieldStatePublisher.html index 7cce9cbc..3e79495d 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSTextFieldStatePublisher.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSTextFieldStatePublisher.html @@ -511,7 +511,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSTokenizationParameters.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSTokenizationParameters.html index 71b688de..8b37d343 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSTokenizationParameters.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSTokenizationParameters.html @@ -463,7 +463,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSUnknownPaymentCardModel.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSUnknownPaymentCardModel.html index 1332ac09..60d7f714 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSUnknownPaymentCardModel.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSUnknownPaymentCardModel.html @@ -613,7 +613,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleCardExpirationDate.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleCardExpirationDate.html index 76091caa..e1c34106 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleCardExpirationDate.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleCardExpirationDate.html @@ -524,7 +524,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleDateRange.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleDateRange.html index e69908dd..4bc780e6 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleDateRange.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleDateRange.html @@ -574,7 +574,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleLength.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleLength.html index 44df4691..f5cb106e 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleLength.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleLength.html @@ -566,7 +566,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleLengthMatch.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleLengthMatch.html index 969d7093..e41fce3a 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleLengthMatch.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleLengthMatch.html @@ -524,7 +524,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleLuhnCheck.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleLuhnCheck.html index bbc3c216..2821e412 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleLuhnCheck.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleLuhnCheck.html @@ -482,7 +482,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRulePattern.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRulePattern.html index 5ff244f9..9bf3668a 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRulePattern.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRulePattern.html @@ -524,7 +524,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRulePaymentCard.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRulePaymentCard.html index 030b9e50..c13070dc 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRulePaymentCard.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRulePaymentCard.html @@ -575,7 +575,7 @@

    Parameters

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleSet.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleSet.html index a6264ec7..ce29c1c0 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleSet.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Structs/VGSValidationRuleSet.html @@ -512,7 +512,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Tokenization Parameters.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Tokenization Parameters.html index 2fde8918..9a7ea9c7 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Tokenization Parameters.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Tokenization Parameters.html @@ -702,7 +702,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/UI Elements.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/UI Elements.html index 4241e015..65851c82 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/UI Elements.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/UI Elements.html @@ -411,7 +411,7 @@

    Declaration

    @@ -442,7 +442,7 @@

    Declaration

    @@ -537,7 +537,7 @@

    Declaration

    @@ -1004,7 +1004,7 @@

    Declaration

    @@ -1080,7 +1080,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/VGSTextField Serializers.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/VGSTextField Serializers.html index 6594052e..1bbd72ad 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/VGSTextField Serializers.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/VGSTextField Serializers.html @@ -453,7 +453,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Validation Rules.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Validation Rules.html index 45bb1022..cea895b1 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Validation Rules.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/Validation Rules.html @@ -674,7 +674,7 @@

    Declaration

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/index.html b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/index.html index d225dfbf..7b93249b 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/index.html +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/index.html @@ -839,7 +839,7 @@

    License

    diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/search.json b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/search.json index 6096e6fd..b17f4ab6 100644 --- a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/search.json +++ b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO8flatJSONyA2CmF":{"name":"flatJSON","abstract":"

    Map fieldName to JSON without applying any transformations.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO10nestedJSONyA2CmF":{"name":"nestedJSON","abstract":"

    Map fieldName to nested JSON.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO24nestedJSONWithArrayMergeyA2CmF":{"name":"nestedJSONWithArrayMerge","abstract":"

    Map field name to nested JSON and array if array index is specified.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO28nestedJSONWithArrayOverwriteyA2CmF":{"name":"nestedJSONWithArrayOverwrite","abstract":"

    Map field name to nested JSON and array if array index is specified.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO9shortYearyA2CmF":{"name":"shortYear","abstract":"

    Exp.Date in format mm/yy: 01/22

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO8longYearyA2CmF":{"name":"longYear","abstract":"

    Exp.Date in format mm/yyyy: 01/2022

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO18shortYearThenMonthyA2CmF":{"name":"shortYearThenMonth","abstract":"

    Exp.Date in format yy/mm: 22/01

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO17longYearThenMonthyA2CmF":{"name":"longYearThenMonth","abstract":"

    Exp.Date in format yy/mm: 2022/01

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html":{"name":"VGSCardExpDateFormat","abstract":"

    Payment Card Expiration Date Format

    "},"Enums/VGSCollectFieldNameMappingPolicy.html":{"name":"VGSCollectFieldNameMappingPolicy","abstract":"

    Defines fieldName mapping to JSON.

    "},"Structs/VGSCollectLoggingConfiguration.html#/s:13VGSCollectSDK0A20LoggingConfigurationV5levelAA11VGSLogLevelOvp":{"name":"level","abstract":"

    Log level. Default is .none.

    ","parent_name":"VGSCollectLoggingConfiguration"},"Structs/VGSCollectLoggingConfiguration.html#/s:13VGSCollectSDK0A20LoggingConfigurationV21isNetworkDebugEnabledSbvp":{"name":"isNetworkDebugEnabled","abstract":"

    Bool flag. Specify true to record VGSCollectSDK network session with success/failed requests. Default is false.

    ","parent_name":"VGSCollectLoggingConfiguration"},"Structs/VGSCollectLoggingConfiguration.html#/s:13VGSCollectSDK0A20LoggingConfigurationV23isExtensiveDebugEnabledSbvp":{"name":"isExtensiveDebugEnabled","abstract":"

    Bool flag. Specify true to enable extensive debugging. Default is false.

    ","parent_name":"VGSCollectLoggingConfiguration"},"Enums/VGSLogLevel.html#/s:13VGSCollectSDK11VGSLogLevelO4infoyA2CmF":{"name":"info","abstract":"

    Log all events including errors and warnings.

    ","parent_name":"VGSLogLevel"},"Enums/VGSLogLevel.html#/s:13VGSCollectSDK11VGSLogLevelO7warningyA2CmF":{"name":"warning","abstract":"

    Log only events indicating warnings and errors.

    ","parent_name":"VGSLogLevel"},"Enums/VGSLogLevel.html#/s:13VGSCollectSDK11VGSLogLevelO4noneyA2CmF":{"name":"none","abstract":"

    Log no events.

    ","parent_name":"VGSLogLevel"},"Classes/VGSCollectLogger.html#/s:13VGSCollectSDK0A6LoggerC6sharedACvpZ":{"name":"shared","abstract":"

    Shared instance.

    ","parent_name":"VGSCollectLogger"},"Classes/VGSCollectLogger.html#/s:13VGSCollectSDK0A6LoggerC13configurationAA0A20LoggingConfigurationVvp":{"name":"configuration","abstract":"

    Logging configuration. Check VGSCollectLoggingConfiguration for logging options.

    ","parent_name":"VGSCollectLogger"},"Classes/VGSCollectLogger.html#/s:13VGSCollectSDK0A6LoggerC17disableAllLoggersyyF":{"name":"disableAllLoggers()","abstract":"

    Stop logging all activities.

    ","parent_name":"VGSCollectLogger"},"Classes/VGSCollectLogger.html":{"name":"VGSCollectLogger","abstract":"

    VGSCollectLogger encapsulates logging logic and debugging options for VGSCollectSDK. Use .configuration property to setup these options. VGSCollectLogger logging implies only printing logs to Xcode console. It doesn’t save logs to persistent store/local file, also it doesn’t send debugging logs to backend services."},"Enums/VGSLogLevel.html":{"name":"VGSLogLevel","abstract":"

    Defines levels of logging.

    "},"Structs/VGSCollectLoggingConfiguration.html":{"name":"VGSCollectLoggingConfiguration","abstract":"

    Holds configuration for VGSCollectSDK logging.

    "},"Error%20Keys.html#/s:13VGSCollectSDK30VGSSDKErrorInputDataIsNotValidSSvp":{"name":"VGSSDKErrorInputDataIsNotValid","abstract":"

    Error key, used for errors when input data is required to be not empty or to be valid only, but is not valid.

    "},"Error%20Keys.html#/s:13VGSCollectSDK28VGSSDKErrorInputDataRequiredSSvp":{"name":"VGSSDKErrorInputDataRequired","abstract":"

    Error key, used for errors when input data is required to be not empty but is empty or nil.

    "},"Error%20Keys.html#/s:13VGSCollectSDK33VGSSDKErrorInputDataRequiredValidSSvp":{"name":"VGSSDKErrorInputDataRequiredValid","abstract":"

    Error key, used for errors when input data is required to be valid is not valid.

    "},"Error%20Keys.html#/s:13VGSCollectSDK23VGSSDKErrorFileNotFoundSSvp":{"name":"VGSSDKErrorFileNotFound","abstract":"

    Error key, used for errors when SDK can’t find the file at file path. Can happened when file changes the path or doesn’t exist.

    "},"Error%20Keys.html#/s:13VGSCollectSDK31VGSSDKErrorFileTypeNotSupportedSSvp":{"name":"VGSSDKErrorFileTypeNotSupported","abstract":"

    Error key, used for errors when file type is not supported by SDK.

    "},"Error%20Keys.html#/s:13VGSCollectSDK34VGSSDKErrorFileSizeExceedsTheLimitSSvp":{"name":"VGSSDKErrorFileSizeExceedsTheLimit","abstract":"

    Error key, used for errors when file size exceeds maximum limit.

    "},"Error%20Keys.html#/s:13VGSCollectSDK29VGSSDKErrorSourceNotAvailableSSvp":{"name":"VGSSDKErrorSourceNotAvailable","abstract":"

    Error key, used for errors when SDK can’t get access to specific source.

    "},"Error%20Keys.html#/s:13VGSCollectSDK39VGSSDKErrorUnexpectedResponseDataFormatSSvp":{"name":"VGSSDKErrorUnexpectedResponseDataFormat","abstract":"

    Error key, used for errors when response for SDK API request is in format that not supported by SDK.

    "},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO7patternyA2CmF":{"name":"pattern","abstract":"

    Default Validation error for VGSValidationRulePattern

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO6lengthyA2CmF":{"name":"length","abstract":"

    Default Validation error for VGSValidationRuleLength

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO12lengthMathesyA2CmF":{"name":"lengthMathes","abstract":"

    Default Validation error for VGSValidationRuleLength

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO7expDateyA2CmF":{"name":"expDate","abstract":"

    Default Validation error for VGSValidationRuleCardExpirationDate

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO4dateyA2CmF":{"name":"date","abstract":"

    Default Validation error for VGSValidationRuleDateRange

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO10cardNumberyA2CmF":{"name":"cardNumber","abstract":"

    Default Validation error for VGSValidationRulePaymentCard

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO9luhnCheckyA2CmF":{"name":"luhnCheck","abstract":"

    Default Validation error for VGSValidationRuleLuhnCheck

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO19inputDataIsNotValidyA2CmF":{"name":"inputDataIsNotValid","abstract":"

    When input data is not valid, but required to be valid

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO17inputFileNotFoundyA2CmF":{"name":"inputFileNotFound","abstract":"

    When can’t find file on device

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO09inputFileD14IsNotSupportedyA2CmF":{"name":"inputFileTypeIsNotSupported","abstract":"

    When can’t find file on device

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO28inputFileSizeExceedsTheLimityA2CmF":{"name":"inputFileSizeExceedsTheLimit","abstract":"

    When file size is larger then allowed limit

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO18sourceNotAvailableyA2CmF":{"name":"sourceNotAvailable","abstract":"

    When can’t get access to file source

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO018unexpectedResponseD0yA2CmF":{"name":"unexpectedResponseType","abstract":"

    When response type is not supported

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO28unexpectedResponseDataFormatyA2CmF":{"name":"unexpectedResponseDataFormat","abstract":"

    When reponse data format is not supported

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO23invalidConfigurationURLyA2CmF":{"name":"invalidConfigurationURL","abstract":"

    When VGS config URL is not valid.

    ","parent_name":"VGSErrorType"},"Classes/VGSError.html#/s:13VGSCollectSDK8VGSErrorC4typeAA0C4TypeOSgvp":{"name":"type","abstract":"

    VGSErrorType- required for each VGSError instance

    ","parent_name":"VGSError"},"Classes/VGSError.html#/c:@M@VGSCollectSDK@objc(cs)VGSError(py)code":{"name":"code","abstract":"

    Code assiciated with VGSErrorType

    ","parent_name":"VGSError"},"Classes/VGSError.html#/c:@M@VGSCollectSDK@objc(cs)VGSError(im)initWithCoder:":{"name":"init(coder:)","abstract":"

    : nodoc. Public required init.

    ","parent_name":"VGSError"},"Classes/VGSError.html":{"name":"VGSError","abstract":"

    An error produced by VGSCollectSDK. Works similar to default NSError in iOS.

    "},"Enums/VGSErrorType.html":{"name":"VGSErrorType","abstract":"

    Type of VGSError and it status code.

    "},"Errors.html#/s:13VGSCollectSDK0A14SDKErrorDomainSSvp":{"name":"VGSCollectSDKErrorDomain","abstract":"

    An error domain string used to produce VGSError from VGSCollectSDK - “vgscollect.sdk”

    "},"Errors.html#/s:13VGSCollectSDK18VGSValidationErrora":{"name":"VGSValidationError","abstract":"

    VGS Validation Error object type

    "},"Enums/VGSValidationErrorType.html":{"name":"VGSValidationErrorType","abstract":"

    Default validation error types

    "},"Enums/CheckSumAlgorithmType.html#/s:13VGSCollectSDK21CheckSumAlgorithmTypeO4luhnyA2CmF":{"name":"luhn","abstract":"

    Luhn Algorithm

    ","parent_name":"CheckSumAlgorithmType"},"Enums/CheckSumAlgorithmType.html#/s:13VGSCollectSDK21CheckSumAlgorithmTypeO8validateySbSSF":{"name":"validate(_:)","abstract":"

    Validate input String with specified algorithm.

    ","parent_name":"CheckSumAlgorithmType"},"Structs/VGSValidationRuleDateRange.html#/s:13VGSCollectSDK26VGSValidationRuleDateRangeV10dateFormatAA07VGSDateH0Ovp":{"name":"dateFormat","abstract":"

    Date format used to validate the rule

    ","parent_name":"VGSValidationRuleDateRange"},"Structs/VGSValidationRuleDateRange.html#/s:13VGSCollectSDK26VGSValidationRuleDateRangeV5errorSSvp":{"name":"error","abstract":"

    Error used in case the validation is invalid

    ","parent_name":"VGSValidationRuleDateRange"},"Structs/VGSValidationRuleDateRange.html#/s:13VGSCollectSDK26VGSValidationRuleDateRangeV10dateFormat5error5start3endAcA07VGSDateH0O_SSAA0L0VSgALtcfc":{"name":"init(dateFormat:error:start:end:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleDateRange"},"Structs/VGSValidationRuleCardExpirationDate.html#/s:13VGSCollectSDK35VGSValidationRuleCardExpirationDateV10dateFormatAA010VGSCardExpgI0Ovp":{"name":"dateFormat","abstract":"

    Payment Card Expiration Date Format

    ","parent_name":"VGSValidationRuleCardExpirationDate"},"Structs/VGSValidationRuleCardExpirationDate.html#/s:13VGSCollectSDK35VGSValidationRuleCardExpirationDateV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleCardExpirationDate"},"Structs/VGSValidationRuleCardExpirationDate.html#/s:13VGSCollectSDK35VGSValidationRuleCardExpirationDateV10dateFormat5errorAcA010VGSCardExpgI0O_SStcfc":{"name":"init(dateFormat:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleCardExpirationDate"},"Structs/VGSValidationRuleLuhnCheck.html#/s:13VGSCollectSDK26VGSValidationRuleLuhnCheckV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleLuhnCheck"},"Structs/VGSValidationRuleLuhnCheck.html#/s:13VGSCollectSDK26VGSValidationRuleLuhnCheckV5errorACSS_tcfc":{"name":"init(error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleLuhnCheck"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV015validateUnknownF5BrandSbvp":{"name":"validateUnknownCardBrand","abstract":"

    Turn on/off validation of cards that are not defined in SDK - CardBrand.unknown

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV5errorACSS_tcfc":{"name":"init(error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV5error015validateUnknownF5BrandACSS_Sbtcfc":{"name":"init(error:validateUnknownCardBrand:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePattern.html#/s:13VGSCollectSDK24VGSValidationRulePatternV7patternSSvp":{"name":"pattern","abstract":"

    Regex pattern

    ","parent_name":"VGSValidationRulePattern"},"Structs/VGSValidationRulePattern.html#/s:13VGSCollectSDK24VGSValidationRulePatternV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRulePattern"},"Structs/VGSValidationRulePattern.html#/s:13VGSCollectSDK24VGSValidationRulePatternV7pattern5errorACSS_SStcfc":{"name":"init(pattern:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRulePattern"},"Structs/VGSValidationRuleLengthMatch.html#/s:13VGSCollectSDK28VGSValidationRuleLengthMatchV7lengthsSaySiGvp":{"name":"lengths","abstract":"

    Array of valid length ranges

    ","parent_name":"VGSValidationRuleLengthMatch"},"Structs/VGSValidationRuleLengthMatch.html#/s:13VGSCollectSDK28VGSValidationRuleLengthMatchV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleLengthMatch"},"Structs/VGSValidationRuleLengthMatch.html#/s:13VGSCollectSDK28VGSValidationRuleLengthMatchV7lengths5errorACSaySiG_SStcfc":{"name":"init(lengths:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleLengthMatch"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV3minSivp":{"name":"min","abstract":"

    Min input length required

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV3maxSivp":{"name":"max","abstract":"

    Max input length required

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV3min3max5errorACSi_SiSStcfc":{"name":"init(min:max:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleSet.html#/s:13VGSCollectSDK20VGSValidationRuleSetVACycfc":{"name":"init()","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleSet"},"Structs/VGSValidationRuleSet.html#/s:13VGSCollectSDK20VGSValidationRuleSetV5rulesACSayAA0cD8Protocol_pG_tcfc":{"name":"init(rules:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleSet"},"Structs/VGSValidationRuleSet.html#/s:13VGSCollectSDK20VGSValidationRuleSetV3add4ruleyAA0cD8Protocol_p_tF":{"name":"add(rule:)","abstract":"

    Add validation rule

    ","parent_name":"VGSValidationRuleSet"},"Structs/VGSValidationRuleSet.html":{"name":"VGSValidationRuleSet","abstract":"

    Set of validation rules

    "},"Structs/VGSValidationRuleLength.html":{"name":"VGSValidationRuleLength","abstract":"

    Validate input in scope of length.

    "},"Structs/VGSValidationRuleLengthMatch.html":{"name":"VGSValidationRuleLengthMatch","abstract":"

    Validate input in scope of multiple lengths, e.x.: [16, 19].

    "},"Structs/VGSValidationRulePattern.html":{"name":"VGSValidationRulePattern","abstract":"

    Validate input in scope of matching the pattern(regex).

    "},"Structs/VGSValidationRulePaymentCard.html":{"name":"VGSValidationRulePaymentCard","abstract":"

    Validate input in scope of matching supported card brands, available lengths and checkSum algorithms."},"Structs/VGSValidationRuleLuhnCheck.html":{"name":"VGSValidationRuleLuhnCheck","abstract":"

    Validate input in scope of matching Luhn algorithm.

    "},"Structs/VGSValidationRuleCardExpirationDate.html":{"name":"VGSValidationRuleCardExpirationDate","abstract":"

    Validate input in scope of matching card expiration date format and time range.

    "},"Structs/VGSValidationRuleDateRange.html":{"name":"VGSValidationRuleDateRange","abstract":"

    Validation rule used to validate the date input in objects"},"Enums/CheckSumAlgorithmType.html":{"name":"CheckSumAlgorithmType","abstract":"

    Check Sum Algorithm Types

    "},"Structs/VGSExpDateSeparateSerializer.html#/s:13VGSCollectSDK28VGSExpDateSeparateSerializerV14monthFieldNameSSvp":{"name":"monthFieldName","abstract":"

    Field Name that will be used as a JSON key with month value from expDate string on send request.

    ","parent_name":"VGSExpDateSeparateSerializer"},"Structs/VGSExpDateSeparateSerializer.html#/s:13VGSCollectSDK28VGSExpDateSeparateSerializerV13yearFieldNameSSvp":{"name":"yearFieldName","abstract":"

    Field Name that will be used as a JSON key with year value from expDate string on send request.

    ","parent_name":"VGSExpDateSeparateSerializer"},"Structs/VGSExpDateSeparateSerializer.html#/s:13VGSCollectSDK28VGSExpDateSeparateSerializerV14monthFieldName04yearhI0ACSS_SStcfc":{"name":"init(monthFieldName:yearFieldName:)","abstract":"

    Initialization

    ","parent_name":"VGSExpDateSeparateSerializer"},"VGSTextField%20Serializers.html#/s:13VGSCollectSDK27VGSFormatSerializerProtocolP":{"name":"VGSFormatSerializerProtocol","abstract":"

    Base protocol describing Content Serialization attributes

    "},"Structs/VGSExpDateSeparateSerializer.html":{"name":"VGSExpDateSeparateSerializer","abstract":"

    Expiration Date Separate serializer, split date string to components with separate fieldNames

    "},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV5regexSSvp":{"name":"regex","abstract":"

    Regex validating that input contains digits only.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV17cardNumberLengthsSaySiGvp":{"name":"cardNumberLengths","abstract":"

    Valid Unknown Card Numbers Lengths

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV10cvcLengthsSaySiGvp":{"name":"cvcLengths","abstract":"

    Valid Unknown Card CVC/CVV Lengths. For most brands valid cvc lengths is [3], while for Amex is [4]. For unknown brands can be set as [3, 4]

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV17checkSumAlgorithmAA05CheckhI4TypeOSgvp":{"name":"checkSumAlgorithm","abstract":"

    Check sum validation algorithm. For most brands card number can be validated by CheckSumAlgorithmType.luhn algorithm. If none - result of Checksum Algorithm validation will be true.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV13formatPatternSSvp":{"name":"formatPattern","abstract":"

    Unknown Payment Card Numbers visual format pattern. NOTE: format pattern length limits input length.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    Image, associated with Unknown Payment Card Brands.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    Image, associated with CVC for Unknown Payment Card Brands.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV5brandAA15VGSPaymentCardsC0E5BrandOvp":{"name":"brand","abstract":"

    Payment Card Brand

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV4nameSSvp":{"name":"name","abstract":"

    Payment Card Name

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV5regexSSvp":{"name":"regex","abstract":"

    Regex Pattern required to detect Payment Card Brand

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV17cardNumberLengthsSaySiGvp":{"name":"cardNumberLengths","abstract":"

    Valid Card Number Lengths

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV10cvcLengthsSaySiGvp":{"name":"cvcLengths","abstract":"

    Valid Card CVC/CVV Lengths. For most brands valid cvc lengths is [3], while for Amex is [4]. For unknown brands can be set as [3, 4]

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV17checkSumAlgorithmAA05CheckhI4TypeOSgvp":{"name":"checkSumAlgorithm","abstract":"

    Check sum validation algorithm. For most brands card number can be validated by CheckSumAlgorithmType.luhn algorithm. If none - result of Checksum Algorithm validation will be true.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV13formatPatternSSvp":{"name":"formatPattern","abstract":"

    Payment Card Number visual format pattern.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    Image, associated with Payment Card Brand.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    Image, associated with CVC for Payment Card Brand.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV4name5regex13formatPattern17cardNumberLengths03cvcM017checkSumAlgorithm9brandIconACSS_S2SSaySiGAkA05CheckpQ4TypeOSgSo7UIImageCSgtcfc":{"name":"init(name:regex:formatPattern:cardNumberLengths:cvcLengths:checkSumAlgorithm:brandIcon:)","abstract":"

    Initializer.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV5brandAA0C5CardsC0D5BrandOvp":{"name":"brand","abstract":"

    Payment Card Brand

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV4nameSSvp":{"name":"name","abstract":"

    Payment Card Name

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV5regexSSvp":{"name":"regex","abstract":"

    Regex Pattern required to detect Payment Card Brand

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV17cardNumberLengthsSaySiGvp":{"name":"cardNumberLengths","abstract":"

    Valid Card Number Lengths

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV10cvcLengthsSaySiGvp":{"name":"cvcLengths","abstract":"

    Valid Card CVC/CVV Lengths. For most brands valid cvc lengths is [3], while for Amex is [4]. For unknown brands can be set as [3, 4]

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV17checkSumAlgorithmAA05CheckgH4TypeOSgvp":{"name":"checkSumAlgorithm","abstract":"

    Check sum validation algorithm. For most brands card number can be validated by CheckSumAlgorithmType.luhn algorithm. If none - result of Checksum Algorithm validation will be true.

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV13formatPatternSSvp":{"name":"formatPattern","abstract":"

    Payment Card Number visual format pattern.

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    Image, associated with Payment Card Brand.

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    Image, associated with CVC for Payment Card Brand.

    ","parent_name":"VGSPaymentCardModel"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO3eloyA2EmF":{"name":"elo","abstract":"

    ELO

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO12visaElectronyA2EmF":{"name":"visaElectron","abstract":"

    Visa Electron

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7maestroyA2EmF":{"name":"maestro","abstract":"

    Maestro

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO18forbrugsforeningenyA2EmF":{"name":"forbrugsforeningen","abstract":"

    Forbrugsforeningen

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7dankortyA2EmF":{"name":"dankort","abstract":"

    Dankort

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO4visayA2EmF":{"name":"visa","abstract":"

    Visa

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO10mastercardyA2EmF":{"name":"mastercard","abstract":"

    Mastercard

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO4amexyA2EmF":{"name":"amex","abstract":"

    American Express

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO9hipercardyA2EmF":{"name":"hipercard","abstract":"

    Hipercard

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO10dinersClubyA2EmF":{"name":"dinersClub","abstract":"

    Diners Club

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO8discoveryA2EmF":{"name":"discover","abstract":"

    Discover

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO8unionpayyA2EmF":{"name":"unionpay","abstract":"

    UnionPay

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO3jcbyA2EmF":{"name":"jcb","abstract":"

    JCB

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7unknownyA2EmF":{"name":"unknown","abstract":"

    Not supported card brand - “unknown”

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO6customyAESS_tcAEmF":{"name":"custom(brandName:)","abstract":"

    Custom Payment Card Brand. Should have unique brandName.

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO16cvcFormatPatternSSvp":{"name":"cvcFormatPattern","abstract":"

    no:doc

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    no:doc

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    no:doc

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO11stringValueSSvp":{"name":"stringValue","abstract":"

    String representation of VGSPaymentCards.CardBrand enum values.

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO11cardLengthsSaySiGvp":{"name":"cardLengths","abstract":"

    Returns array with valid card number lengths for specific VGSPaymentCards.CardBrand

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html":{"name":"CardBrand","abstract":"

    Supported card brands

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC3eloAA0C9CardModelVvpZ":{"name":"elo","abstract":"

    Elo Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC12visaElectronAA0C9CardModelVvpZ":{"name":"visaElectron","abstract":"

    Visa Electron Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC7maestroAA0C9CardModelVvpZ":{"name":"maestro","abstract":"

    Maestro Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC18forbrugsforeningenAA0C9CardModelVvpZ":{"name":"forbrugsforeningen","abstract":"

    Forbrugsforeningen Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC7dankortAA0C9CardModelVvpZ":{"name":"dankort","abstract":"

    Dankort Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC4visaAA0C9CardModelVvpZ":{"name":"visa","abstract":"

    Elo Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC10masterCardAA0cF5ModelVvpZ":{"name":"masterCard","abstract":"

    Master Card Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC4amexAA0C9CardModelVvpZ":{"name":"amex","abstract":"

    Amex Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC9hipercardAA0C9CardModelVvpZ":{"name":"hipercard","abstract":"

    Hipercard Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC10dinersClubAA0C9CardModelVvpZ":{"name":"dinersClub","abstract":"

    DinersClub Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC8discoverAA0C9CardModelVvpZ":{"name":"discover","abstract":"

    Discover Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC8unionpayAA0C9CardModelVvpZ":{"name":"unionpay","abstract":"

    UnionPay Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC3jcbAA0C9CardModelVvpZ":{"name":"jcb","abstract":"

    JCB Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC7unknownAA26VGSUnknownPaymentCardModelVvpZ":{"name":"unknown","abstract":"

    Unknown Brand Payment Card Model. Can be used for specifing cards details when VGSValidationRulePaymentCard requires validating CardBrand.unknown cards.

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC22cutomPaymentCardModelsSayAA09VGSCustomfG5ModelVGvpZ":{"name":"cutomPaymentCardModels","abstract":"

    Array of Custom Payment Card Models.

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC15validCardBrandsSayAA0cF13ModelProtocol_pGSgvpZ":{"name":"validCardBrands","abstract":"

    An array of valid Card Brands, could include custom and default brands. If not set, will use availableCardBrands array instead.

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC31getCardModelFromAvailableModels5brandAA0cfG8Protocol_pSgAC0F5BrandO_tFZ":{"name":"getCardModelFromAvailableModels(brand:)","abstract":"

    no:doc

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC028detectCardBrandFromAvailableD05inputAC0fG0OSS_tFZ":{"name":"detectCardBrandFromAvailableCards(input:)","abstract":"

    no:doc

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html":{"name":"VGSPaymentCards","abstract":"

    Class responsible for storing and managing Payment Cards in SDK.

    "},"Structs/VGSPaymentCardModel.html":{"name":"VGSPaymentCardModel","abstract":"

    An object representing Payment Card

    "},"Structs/VGSCustomPaymentCardModel.html":{"name":"VGSCustomPaymentCardModel","abstract":"

    Holds information for custom payment model.

    "},"Structs/VGSUnknownPaymentCardModel.html":{"name":"VGSUnknownPaymentCardModel","abstract":"

    An object representing Unknown Payment Cards - cards not defined in the SDK. Object is used when validation forCardBrand.unknown is set as true. Check VGSValidationRulePaymentCard for more details. Validation attributes can be edited through `VGSPaymentCards.unknown model.

    "},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO3getyA2CmF":{"name":"get","abstract":"

    GET method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO4postyA2CmF":{"name":"post","abstract":"

    POST method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO3putyA2CmF":{"name":"put","abstract":"

    PUT method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO5patchyA2CmF":{"name":"patch","abstract":"

    PATCH method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO6deleteyA2CmF":{"name":"delete","abstract":"

    DELETE method.

    ","parent_name":"VGSCollectHTTPMethod"},"Structs/VGSCollectRequestOptions.html#/s:13VGSCollectSDK0A14RequestOptionsV22fieldNameMappingPolicyAA0a5FieldfgH0Ovp":{"name":"fieldNameMappingPolicy","abstract":"

    Defines how to map fieldNames to JSON. Default is .nestedJSON.

    ","parent_name":"VGSCollectRequestOptions"},"Structs/VGSCollectRequestOptions.html#/s:13VGSCollectSDK0A14RequestOptionsVACycfc":{"name":"init()","abstract":"

    Initializer.

    ","parent_name":"VGSCollectRequestOptions"},"Enums/VGSTokenizationResponse.html#/s:13VGSCollectSDK23VGSTokenizationResponseO7successyACSi_SDySSypGSgSo13NSURLResponseCSgtcACmF":{"name":"success(_:_:_:)","abstract":"

    Success response case

    ","parent_name":"VGSTokenizationResponse"},"Enums/VGSTokenizationResponse.html#/s:13VGSCollectSDK23VGSTokenizationResponseO7failureyACSi_10Foundation4DataVSgSo13NSURLResponseCSgs5Error_pSgtcACmF":{"name":"failure(_:_:_:_:)","abstract":"

    Failed response case

    ","parent_name":"VGSTokenizationResponse"},"Enums/VGSResponse.html#/s:13VGSCollectSDK11VGSResponseO7successyACSi_10Foundation4DataVSgSo13NSURLResponseCSgtcACmF":{"name":"success(_:_:_:)","abstract":"

    Success response case

    ","parent_name":"VGSResponse"},"Enums/VGSResponse.html#/s:13VGSCollectSDK11VGSResponseO7failureyACSi_10Foundation4DataVSgSo13NSURLResponseCSgs5Error_pSgtcACmF":{"name":"failure(_:_:_:_:)","abstract":"

    Failed response case

    ","parent_name":"VGSResponse"},"Structs/VGSTextFieldStatePublisher.html#/s:7Combine9PublisherP6OutputQa":{"name":"Output","parent_name":"VGSTextFieldStatePublisher"},"Structs/VGSTextFieldStatePublisher.html#/s:7Combine9PublisherP7FailureQa":{"name":"Failure","parent_name":"VGSTextFieldStatePublisher"},"Structs/VGSTextFieldStatePublisher.html#/s:13VGSCollectSDK26VGSTextFieldStatePublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0E0C5InputRtzlF":{"name":"receive(subscriber:)","abstract":"

    Attaches a subscriber to the publisher to receive updates on the VGSTextField State.

    ","parent_name":"VGSTextFieldStatePublisher"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC5last4SSvp":{"name":"last4","abstract":"

    Last 4 digits of the valid card number from associated VGSTextField with field configuration type FieldType.cardNumber.

    ","parent_name":"CardState"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC3binSSvp":{"name":"bin","abstract":"

    Bin digits of the valid card number from associated VGSTextField with field configuration type FieldType.cardNumber.

    ","parent_name":"CardState"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC9cardBrandAA15VGSPaymentCardsC0cF0Ovp":{"name":"cardBrand","abstract":"

    Credit Card Brand of the card number from associated VGSTextField with field configuration type FieldType.cardNumber.

    ","parent_name":"CardState"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC11descriptionSSvp":{"name":"description","abstract":"

    Message that contains CardState attributes and their values.

    ","parent_name":"CardState"},"Classes/SSNState.html#/s:13VGSCollectSDK8SSNStateC5last4SSvp":{"name":"last4","abstract":"

    Last 4 digits of the valid ssn from associated VGSTextField with field configuration type FieldType.ssn.

    ","parent_name":"SSNState"},"Classes/SSNState.html#/s:13VGSCollectSDK8SSNStateC11descriptionSSvp":{"name":"description","abstract":"

    Message that contains SSNState attributes and their values.

    ","parent_name":"SSNState"},"Classes/State.html#/s:13VGSCollectSDK5StateC9fieldNameSSSgvp":{"name":"fieldName","abstract":"

    VGSConfiguration.fieldName associated with VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC10isRequiredSbvp":{"name":"isRequired","abstract":"

    VGSConfiguration.isRequired attribute defined for VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC19isRequiredValidOnlySbvp":{"name":"isRequiredValidOnly","abstract":"

    VGSConfiguration.isRequiredValidOnly attribute defined for VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC7isValidSbvp":{"name":"isValid","abstract":"

    Contains current validation state for VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC7isEmptySbvp":{"name":"isEmpty","abstract":"

    Show if VGSTextField input is empty

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC7isDirtySbvp":{"name":"isDirty","abstract":"

    Show if VGSTextField was edited

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC11inputLengthSivp":{"name":"inputLength","abstract":"

    Input data length in VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC16validationErrorsSaySSGvp":{"name":"validationErrors","abstract":"

    Array of VGSValidationError. Should be empty when textfield input is valid.

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC11descriptionSSvp":{"name":"description","abstract":"

    Message that contains State attributes and their values

    ","parent_name":"State"},"Enums/Environment.html#/s:13VGSCollectSDK11EnvironmentO7sandboxyA2CmF":{"name":"sandbox","abstract":"

    Should be used for development and testing purpose.

    ","parent_name":"Environment"},"Enums/Environment.html#/s:13VGSCollectSDK11EnvironmentO4liveyA2CmF":{"name":"live","abstract":"

    Should be used for production.

    ","parent_name":"Environment"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C13customHeadersSDyS2SGSgvp":{"name":"customHeaders","abstract":"

    Set your custom HTTP headers.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C17observeFieldStateyAA07VGSTextD0CcSgvp":{"name":"observeFieldState","abstract":"

    Observe only focused VGSTextField on editing events.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C13observeStatesySayAA12VGSTextFieldCGcSgvp":{"name":"observeStates","abstract":"

    Observe all VGSTextField on editing events.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C10textFieldsSayAA12VGSTextFieldCGvp":{"name":"textFields","abstract":"

    Returns array of VGSTextFields associated with VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C2id11environment8hostname13satellitePortACSS_S2SSgSiSgtcfc":{"name":"init(id:environment:hostname:satellitePort:)","abstract":"

    Initialization.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C2id11environment10dataRegion8hostname13satellitePortACSS_AA11EnvironmentOSSSgAKSiSgtcfc":{"name":"init(id:environment:dataRegion:hostname:satellitePort:)","abstract":"

    Initialization.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C12getTextField9fieldNameAA07VGSTextE0CSgSS_tF":{"name":"getTextField(fieldName:)","abstract":"

    Returns VGSTextField with VGSConfiguration.fieldName associated with VGCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C20unsubscribeTextFieldyyAA07VGSTextE0CF":{"name":"unsubscribeTextField(_:)","abstract":"

    Unasubscribe VGSTextField from VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C21unsubscribeTextFieldsyySayAA12VGSTextFieldCGF":{"name":"unsubscribeTextFields(_:)","abstract":"

    Unasubscribe VGSTextFields from VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C24unsubscribeAllTextFieldsyyF":{"name":"unsubscribeAllTextFields()","abstract":"

    Unasubscribe all VGSTextFields from VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C10cleanFilesyyF":{"name":"cleanFiles()","abstract":"

    Detach files for associated VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendData4path6method7routeId05extraD014requestOptions10completionySS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestK0VyAA11VGSResponseOctF":{"name":"sendData(path:method:routeId:extraData:requestOptions:completion:)","abstract":"

    Send data from VGSTextFields to your organization vault.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendFile4path6method7routeId9extraData14requestOptions10completionySS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestL0VyAA11VGSResponseOctF":{"name":"sendFile(path:method:routeId:extraData:requestOptions:completion:)","abstract":"

    Send file to your organization vault. Only send one file at a time.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C12tokenizeData7routeId10completionySSSg_yAA23VGSTokenizationResponseOctF":{"name":"tokenizeData(routeId:completion:)","abstract":"

    Send tokenization request with data from VGSTextFields.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendData4path6method7routeId05extraD014requestOptionsAA11VGSResponseOSS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestK0VtYaF":{"name":"sendData(path:method:routeId:extraData:requestOptions:)","abstract":"

    Asynchronously send data from VGSTextFields to your organization vault.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendFile4path6method7routeId9extraDataAA11VGSResponseOSS_AA0A10HTTPMethodOSSSgSDySSypGSgtYaF":{"name":"sendFile(path:method:routeId:extraData:)","abstract":"

    Asynchronously send file to your organization vault. Only send one file at a time.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C12tokenizeData7routeIdAA23VGSTokenizationResponseOSSSg_tYaF":{"name":"tokenizeData(routeId:)","abstract":"

    Asynchronously send tokenization request with data from VGSTextFields.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C17sendDataPublisher4path6method7routeId05extraD014requestOptions7Combine6FutureCyAA11VGSResponseOs5NeverOGSS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestL0VtF":{"name":"sendDataPublisher(path:method:routeId:extraData:requestOptions:)","abstract":"

    Send data from VGSTextFields to your organization vault using the Combine framework.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C17sendFilePublisher4path6method7routeId9extraData14requestOptions7Combine6FutureCyAA11VGSResponseOs5NeverOGSS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestM0VtF":{"name":"sendFilePublisher(path:method:routeId:extraData:requestOptions:)","abstract":"

    Send file to your organization vault using the Combine framework.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C21tokenizeDataPublisher7routeId7Combine6FutureCyAA23VGSTokenizationResponseOs5NeverOGSSSg_tF":{"name":"tokenizeDataPublisher(routeId:)","abstract":"

    Send tokenization request with data from VGSTextFields to your organization vault using the Combine framework.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html":{"name":"VGSCollect","abstract":"

    An object you use for observing VGSTextField State and send data to your organization vault.

    "},"Enums/Environment.html":{"name":"Environment","abstract":"

    Organization vault environment.

    "},"Classes/State.html":{"name":"State","abstract":"

    An object that describes VGSTextField state. State attributes are read-only.

    "},"Classes/SSNState.html":{"name":"SSNState","abstract":"

    An object that describes VGSTextField state with configuration FieldType.ssn . State attributes are read-only.

    "},"Classes/CardState.html":{"name":"CardState","abstract":"

    An object that describes VGSTextField state with configuration FieldType.cardNumber . State attributes are read-only.

    "},"Structs/VGSTextFieldStatePublisher.html":{"name":"VGSTextFieldStatePublisher","abstract":"

    A custom publisher that emits State of a given VGSTextField.

    "},"Enums/VGSResponse.html":{"name":"VGSResponse","abstract":"

    Response enum cases for SDK requests.

    "},"Enums/VGSTokenizationResponse.html":{"name":"VGSTokenizationResponse","abstract":"

    Tokenization response enum cases for SDK requests.

    "},"Structs/VGSCollectRequestOptions.html":{"name":"VGSCollectRequestOptions","abstract":"

    Request options.

    "},"Observe%20State%20and%20Send%20Data.html#/s:13VGSCollectSDK8JsonDataa":{"name":"JsonData","abstract":"

    Key-value data type, usually used for response format.

    "},"Enums/VGSCollectHTTPMethod.html":{"name":"VGSCollectHTTPMethod","abstract":"

    HTTP request methods

    "},"Observe%20State%20and%20Send%20Data.html#/s:13VGSCollectSDK11HTTPHeadersa":{"name":"HTTPHeaders","abstract":"

    Key-value data type, used in http request headers.

    "},"Classes/VGSFileInfo.html#/c:@M@VGSCollectSDK@objc(cs)VGSFileInfo(py)fileExtension":{"name":"fileExtension","abstract":"

    File extension, like “jpeg”, “png”, etc.

    ","parent_name":"VGSFileInfo"},"Classes/VGSFileInfo.html#/c:@M@VGSCollectSDK@objc(cs)VGSFileInfo(py)size":{"name":"size","abstract":"

    File size.

    ","parent_name":"VGSFileInfo"},"Classes/VGSFileInfo.html#/c:@M@VGSCollectSDK@objc(cs)VGSFileInfo(py)sizeUnits":{"name":"sizeUnits","abstract":"

    File size units.

    ","parent_name":"VGSFileInfo"},"Enums/VGSFileSource.html#/s:13VGSCollectSDK13VGSFileSourceO12photoLibraryyA2CmF":{"name":"photoLibrary","abstract":"

    Device photo library.

    ","parent_name":"VGSFileSource"},"Enums/VGSFileSource.html#/s:13VGSCollectSDK13VGSFileSourceO6camerayA2CmF":{"name":"camera","abstract":"

    Device camera.

    ","parent_name":"VGSFileSource"},"Enums/VGSFileSource.html#/s:13VGSCollectSDK13VGSFileSourceO18documentsDirectoryyA2CmF":{"name":"documentsDirectory","abstract":"

    Device documents directory.

    ","parent_name":"VGSFileSource"},"Protocols/VGSFilePickerControllerDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSFilePickerControllerDelegate(im)userDidPickFileWithInfo:":{"name":"userDidPickFileWithInfo(_:)","abstract":"

    On user select a file

    ","parent_name":"VGSFilePickerControllerDelegate"},"Protocols/VGSFilePickerControllerDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSFilePickerControllerDelegate(im)userDidSCancelFilePicking":{"name":"userDidSCancelFilePicking()","abstract":"

    On user canceling file picking

    ","parent_name":"VGSFilePickerControllerDelegate"},"Protocols/VGSFilePickerControllerDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSFilePickerControllerDelegate(im)filePickingFailedWithError:":{"name":"filePickingFailedWithError(_:)","abstract":"

    On error occured when user pick a file.

    ","parent_name":"VGSFilePickerControllerDelegate"},"Classes/VGSFilePickerConfiguration.html#/s:13VGSCollectSDK26VGSFilePickerConfigurationC9fieldNameSSvp":{"name":"fieldName","abstract":"

    Name that will be associated with selected file by user. Used as a JSON key on send request with file data to your organozation vault.

    ","parent_name":"VGSFilePickerConfiguration"},"Classes/VGSFilePickerConfiguration.html#/s:13VGSCollectSDK26VGSFilePickerConfigurationC9collector9fieldName10fileSourceAcA0A0C_SSAA0cJ0Otcfc":{"name":"init(collector:fieldName:fileSource:)","abstract":"

    Initialization

    ","parent_name":"VGSFilePickerConfiguration"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC8delegateAA0cdE8Delegate_pSgvp":{"name":"delegate","abstract":"

    VGSFilePickerControllerDelegate - handle user interaction on file picking.

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC13configurationAcA0cD13ConfigurationC_tcfc":{"name":"init(configuration:)","abstract":"

    Initialization

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC011presentFileD02on8animated10completionySo06UIViewE0C_SbyycSgtF":{"name":"presentFilePicker(on:animated:completion:)","abstract":"

    Present file picker view

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC011dismissFileD08animated10completionySb_yycSgtF":{"name":"dismissFilePicker(animated:completion:)","abstract":"

    Dismiss file picker view

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html":{"name":"VGSFilePickerController","abstract":"

    Controller responsible for importing files from device sources.

    "},"Classes/VGSFilePickerConfiguration.html":{"name":"VGSFilePickerConfiguration","abstract":"

    A class responsible for configuration VGSFilePickerController.

    "},"Protocols/VGSFilePickerControllerDelegate.html":{"name":"VGSFilePickerControllerDelegate","abstract":"

    Delegates produced by VGSFilePickerController.

    "},"Enums/VGSFileSource.html":{"name":"VGSFileSource","abstract":"

    Available file source destinations that VGSFilePickerController can work with.

    "},"Classes/VGSFileInfo.html":{"name":"VGSFileInfo","abstract":"

    An object that holds optional files’ metadata on selecting file through VGSFilePickerController.

    "},"Enums/VGSVaultStorageType.html#/s:13VGSCollectSDK19VGSVaultStorageTypeO10PERSISTENTyA2CmF":{"name":"PERSISTENT","abstract":"

    PERSISTENT data storage.

    ","parent_name":"VGSVaultStorageType"},"Enums/VGSVaultStorageType.html#/s:13VGSCollectSDK19VGSVaultStorageTypeO8VOLATILEyA2CmF":{"name":"VOLATILE","abstract":"

    VOLATILE data storage.

    ","parent_name":"VGSVaultStorageType"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO18FPE_ACC_NUM_T_FOURyA2CmF":{"name":"FPE_ACC_NUM_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO31FPE_ALPHANUMERIC_ACC_NUM_T_FOURyA2CmF":{"name":"FPE_ALPHANUMERIC_ACC_NUM_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO14FPE_SIX_T_FOURyA2CmF":{"name":"FPE_SIX_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO14FPE_SSN_T_FOURyA2CmF":{"name":"FPE_SSN_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO10FPE_T_FOURyA2CmF":{"name":"FPE_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO21NUM_LENGTH_PRESERVINGyA2CmF":{"name":"NUM_LENGTH_PRESERVING","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO4PFPTyA2CmF":{"name":"PFPT","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO8RAW_UUIDyA2CmF":{"name":"RAW_UUID","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO4UUIDyA2CmF":{"name":"UUID","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Structs/VGSTokenizationParameters.html#/s:13VGSCollectSDK25VGSTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSTokenizationParameters"},"Structs/VGSTokenizationParameters.html#/s:13VGSCollectSDK25VGSTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSTokenizationParameters"},"Structs/VGSSSNTokenizationParameters.html#/s:13VGSCollectSDK28VGSSSNTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSSSNTokenizationParameters"},"Structs/VGSSSNTokenizationParameters.html#/s:13VGSCollectSDK28VGSSSNTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSSSNTokenizationParameters"},"Structs/VGSExpDateTokenizationParameters.html#/s:13VGSCollectSDK32VGSExpDateTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSExpDateTokenizationParameters"},"Structs/VGSExpDateTokenizationParameters.html#/s:13VGSCollectSDK32VGSExpDateTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSExpDateTokenizationParameters"},"Structs/VGSDateTokenizationParameters.html#/s:13VGSCollectSDK29VGSDateTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSDateTokenizationParameters"},"Structs/VGSDateTokenizationParameters.html#/s:13VGSCollectSDK29VGSDateTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSDateTokenizationParameters"},"Structs/VGSCardNumberTokenizationParameters.html#/s:13VGSCollectSDK35VGSCardNumberTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSCardNumberTokenizationParameters"},"Structs/VGSCardNumberTokenizationParameters.html#/s:13VGSCollectSDK35VGSCardNumberTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSCardNumberTokenizationParameters"},"Structs/VGSCardHolderNameTokenizationParameters.html#/s:13VGSCollectSDK39VGSCardHolderNameTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSCardHolderNameTokenizationParameters"},"Structs/VGSCardHolderNameTokenizationParameters.html#/s:13VGSCollectSDK39VGSCardHolderNameTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSCardHolderNameTokenizationParameters"},"Structs/VGSCVCTokenizationParameters.html#/s:13VGSCollectSDK28VGSCVCTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSCVCTokenizationParameters"},"Structs/VGSCVCTokenizationParameters.html#/s:13VGSCollectSDK28VGSCVCTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSCVCTokenizationParameters"},"Protocols/VGSTokenizationParametersProtocol.html#/s:13VGSCollectSDK33VGSTokenizationParametersProtocolP6formatSSvp":{"name":"format","abstract":"

    Tokenization format.

    ","parent_name":"VGSTokenizationParametersProtocol"},"Protocols/VGSTokenizationParametersProtocol.html#/s:13VGSCollectSDK33VGSTokenizationParametersProtocolP7storageSSvp":{"name":"storage","abstract":"

    Storage type.

    ","parent_name":"VGSTokenizationParametersProtocol"},"Protocols/VGSTokenizationParametersProtocol.html":{"name":"VGSTokenizationParametersProtocol","abstract":"

    Parameters describing textfield input tokenization.

    "},"Structs/VGSCVCTokenizationParameters.html":{"name":"VGSCVCTokenizationParameters","abstract":"

    VGSCVCTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSCardHolderNameTokenizationParameters.html":{"name":"VGSCardHolderNameTokenizationParameters","abstract":"

    VGSCardHolderNameTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSCardNumberTokenizationParameters.html":{"name":"VGSCardNumberTokenizationParameters","abstract":"

    VGSCardTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSDateTokenizationParameters.html":{"name":"VGSDateTokenizationParameters","abstract":"

    VGSDateTokenizationParameters - parameters required for tokenization API

    "},"Structs/VGSExpDateTokenizationParameters.html":{"name":"VGSExpDateTokenizationParameters","abstract":"

    VGSExpDateTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSSSNTokenizationParameters.html":{"name":"VGSSSNTokenizationParameters","abstract":"

    VGSSSNTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSTokenizationParameters.html":{"name":"VGSTokenizationParameters","abstract":"

    VGSTokenizationParameters - parameters required for tokenization api.

    "},"Enums/VGSVaultAliasFormat.html":{"name":"VGSVaultAliasFormat","abstract":"

    Type of Alias format. Read more about avaliable formats: https://www.verygoodsecurity.com/docs/terminology/nomenclature#alias-formats .

    "},"Enums/VGSVaultStorageType.html":{"name":"VGSVaultStorageType","abstract":"

    Type of VGS Vault storage.

    "},"Enums/VGSTextFieldInputSource.html#/s:13VGSCollectSDK23VGSTextFieldInputSourceO8keyboardyA2CmF":{"name":"keyboard","abstract":"

    UIKeyboard input type.

    ","parent_name":"VGSTextFieldInputSource"},"Enums/VGSTextFieldInputSource.html#/s:13VGSCollectSDK23VGSTextFieldInputSourceO10datePickeryA2CmF":{"name":"datePicker","abstract":"

    UIDatePicker input type.

    ","parent_name":"VGSTextFieldInputSource"},"Structs/VGSDate.html#/s:13VGSCollectSDK7VGSDateV12dayFormattedSSvp":{"name":"dayFormatted","abstract":"

    Get the day formatted value, for example if the day is 1 it is returned as 01

    ","parent_name":"VGSDate"},"Structs/VGSDate.html#/s:13VGSCollectSDK7VGSDateV14monthFormattedSSvp":{"name":"monthFormatted","abstract":"

    Get the month formatted value, for example if the month is 3 it is returned as 03

    ","parent_name":"VGSDate"},"Structs/VGSDate.html#/s:13VGSCollectSDK7VGSDateV3day5month4yearACSgSi_S2itcfc":{"name":"init(day:month:year:)","abstract":"

    Create a new instance of a VGSDate object, if the date is not valid, it returns nil

    ","parent_name":"VGSDate"},"Enums/VGSDateFormat.html#/s:13VGSCollectSDK13VGSDateFormatO07displayD0SSvp":{"name":"displayFormat","abstract":"

    Date format used for display in UI

    ","parent_name":"VGSDateFormat"},"Enums/VGSDateFormat.html#/s:13VGSCollectSDK13VGSDateFormatO7defaultACvpZ":{"name":"default","abstract":"

    Default format

    ","parent_name":"VGSDateFormat"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO4noneyA2CmF":{"name":"none","abstract":"

    Field type that doesn’t require any input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO10cardNumberyA2CmF":{"name":"cardNumber","abstract":"

    Field type that requires Credit Card Number input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO7expDateyA2CmF":{"name":"expDate","abstract":"

    Field type that requires Expiration Date input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO4dateyA2CmF":{"name":"date","abstract":"

    Field type that requires Date input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO3cvcyA2CmF":{"name":"cvc","abstract":"

    Field type that requires Credit Card CVC input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO14cardHolderNameyA2CmF":{"name":"cardHolderName","abstract":"

    Field type that requires Cardholder Name input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO3ssnyA2CmF":{"name":"ssn","abstract":"

    Field type that requires US Social Security Number input formatting and validation.

    ","parent_name":"FieldType"},"Protocols/VGSExpDateConfigurationProtocol.html#/s:13VGSCollectSDK31VGSExpDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputH0Ovp":{"name":"inputSource","abstract":"

    Input Source type.

    ","parent_name":"VGSExpDateConfigurationProtocol"},"Protocols/VGSExpDateConfigurationProtocol.html#/s:13VGSCollectSDK31VGSExpDateConfigurationProtocolP05inputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSExpDateConfigurationProtocol"},"Protocols/VGSExpDateConfigurationProtocol.html#/s:13VGSCollectSDK31VGSExpDateConfigurationProtocolP06outputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateConfigurationProtocol"},"Protocols/VGSDateConfigurationProtocol.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","abstract":"

    Input source type.

    ","parent_name":"VGSDateConfigurationProtocol"},"Protocols/VGSDateConfigurationProtocol.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP15inputDateFormatAA0cH0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSDateConfigurationProtocol"},"Protocols/VGSDateConfigurationProtocol.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP16outputDateFormatAA0cH0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format to convert.

    ","parent_name":"VGSDateConfigurationProtocol"},"Classes/VGSTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSTokenizationConfigurationC22tokenizationParametersAA0cF0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSTokenizationConfiguration"},"Classes/VGSSSNTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSSSNTokenizationConfigurationC22tokenizationParametersAA0cF0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSSSNTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSSSNTokenizationConfiguration"},"Classes/VGSSSNTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSSSNTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.ssn type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSSSNTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.expDate type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC11inputSourceAA017VGSTextFieldInputH0Ovp":{"name":"inputSource","abstract":"

    Input Source type. Default is VGSTextFieldInputSource.datePicker.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC05inputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC06outputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC22tokenizationParametersAA0cdeH0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSExpDateTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC11serializersSayAA27VGSFormatSerializerProtocol_pGvp":{"name":"serializers","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK32VGSDateTokenizationConfigurationC9collector9fieldName19datePickerStartDate0ij3EndL0AcA0A0C_SSAA0C0VSgALtcfc":{"name":"init(collector:fieldName:datePickerStartDate:datePickerEndDate:)","abstract":"

    Initialization","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK32VGSDateTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    Super initializer

    ","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP15inputDateFormatAA0cH0OSgvp":{"name":"inputDateFormat","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP16outputDateFormatAA0cH0OSgvp":{"name":"outputDateFormat","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSCVCTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSCVCTokenizationConfigurationC22tokenizationParametersAA0cF0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSCVCTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSCVCTokenizationConfiguration"},"Classes/VGSCVCTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSCVCTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.cvc type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSCVCTokenizationConfiguration"},"Classes/VGSCardNumberTokenizationConfiguration.html#/s:13VGSCollectSDK38VGSCardNumberTokenizationConfigurationC22tokenizationParametersAA0cdeH0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSCardTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSCardNumberTokenizationConfiguration"},"Classes/VGSCardNumberTokenizationConfiguration.html#/s:13VGSCollectSDK38VGSCardNumberTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.cardNumber type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSCardNumberTokenizationConfiguration"},"Classes/VGSCardHolderNameTokenizationConfiguration.html#/s:13VGSCollectSDK42VGSCardHolderNameTokenizationConfigurationC22tokenizationParametersAA0cdefI0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSCardHolderNameTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSCardHolderNameTokenizationConfiguration"},"Classes/VGSCardHolderNameTokenizationConfiguration.html#/s:13VGSCollectSDK42VGSCardHolderNameTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.cardHolderName type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSCardHolderNameTokenizationConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC9collector9fieldName19datePickerStartDate0hi3EndK0AcA0A0C_SSAA0C0VSgALtcfc":{"name":"init(collector:fieldName:datePickerStartDate:datePickerEndDate:)","abstract":"

    Initialization","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    Super initializer

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP15inputDateFormatAA0cH0OSgvp":{"name":"inputDateFormat","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP16outputDateFormatAA0cH0OSgvp":{"name":"outputDateFormat","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC15validYearsCountSivpZ":{"name":"validYearsCount","abstract":"

    Amount of years used to calculate the minimun and maximun date picker default dates

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC23minValidPickerStartDateAA0C0VvpZ":{"name":"minValidPickerStartDate","abstract":"

    Minimun date picker start date, current year minus validYearsCount

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC21maxValidPickerEndDateAA0C0VvpZ":{"name":"maxValidPickerEndDate","abstract":"

    Maximun date picker valid end date, current year plus validYearsCount

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.expDate type of VGSTextField configuration.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","abstract":"

    Input Source type. Default is VGSTextFieldInputSource.datePicker.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC05inputD6FormatAA010VGSCardExpdG0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC06outputD6FormatAA010VGSCardExpdG0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC11serializersSayAA27VGSFormatSerializerProtocol_pGvp":{"name":"serializers","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC12vgsCollectorAA0A0CSgvp":{"name":"vgsCollector","abstract":"

    Collect form that will be assiciated with VGSTextField.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    Type of field congfiguration. Default is FieldType.none.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC9fieldNameSSvp":{"name":"fieldName","abstract":"

    Name that will be associated with VGSTextField and used as a JSON key on send request with textfield data to your organozation vault.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC10isRequiredSbvp":{"name":"isRequired","abstract":"

    Set if VGSTextField is required to be non-empty and non-nil on send request. Default is false.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC19isRequiredValidOnlySbvp":{"name":"isRequiredValidOnly","abstract":"

    Set if VGSTextField is required to be valid only on send request. Default is false.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC13formatPatternSSSgvp":{"name":"formatPattern","abstract":"

    Input data visual format pattern. If not applied, will be set by default depending on field type.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC7dividerSSSgvp":{"name":"divider","abstract":"

    String, used to replace not default VGSConfiguration.formatPattern characters in input text on send request.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC12keyboardTypeSo010UIKeyboardE0VSgvp":{"name":"keyboardType","abstract":"

    Preferred UIKeyboardType for VGSTextField. If not applied, will be set by default depending on field type parameter.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC13returnKeyTypeSo08UIReturneF0VSgvp":{"name":"returnKeyType","abstract":"

    Preferred UIReturnKeyType for VGSTextField.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC18keyboardAppearanceSo010UIKeyboardE0VSgvp":{"name":"keyboardAppearance","abstract":"

    Preferred UIKeyboardAppearance for textfield. By default is UIKeyboardAppearance.default.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC15validationRulesAA20VGSValidationRuleSetVSgvp":{"name":"validationRules","abstract":"

    Validation rules for field input. Defines State.isValide result.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC14maxInputLengthSiSgvp":{"name":"maxInputLength","abstract":"

    Max input length. IMPORTANT! Can conflict with .formatPattern attribute.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC9collector9fieldNameAcA0A0C_SStcfc":{"name":"init(collector:fieldName:)","abstract":"

    Initialization

    ","parent_name":"VGSConfiguration"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidBeginEditing:":{"name":"vgsTextFieldDidBeginEditing(_:)","abstract":"

    VGSTextField did become first responder.

    ","parent_name":"VGSTextFieldDelegate"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidEndEditing:":{"name":"vgsTextFieldDidEndEditing(_:)","abstract":"

    VGSTextField did resign first responder.

    ","parent_name":"VGSTextFieldDelegate"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidEndEditingOnReturn:":{"name":"vgsTextFieldDidEndEditingOnReturn(_:)","abstract":"

    VGSTextField did resign first responder on Return button pressed.

    ","parent_name":"VGSTextFieldDelegate"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidChange:":{"name":"vgsTextFieldDidChange(_:)","abstract":"

    VGSTextField input changed.

    ","parent_name":"VGSTextFieldDelegate"},"Classes/VGSCVCTextField/CVCIconLocation.html#/s:13VGSCollectSDK15VGSCVCTextFieldC15CVCIconLocationO4leftyA2EmF":{"name":"left","abstract":"

    CVC icon at left side of VGSCardTextField.

    ","parent_name":"CVCIconLocation"},"Classes/VGSCVCTextField/CVCIconLocation.html#/s:13VGSCollectSDK15VGSCVCTextFieldC15CVCIconLocationO5rightyA2EmF":{"name":"right","abstract":"

    CVC icon at right side of VGSCardTextField.

    ","parent_name":"CVCIconLocation"},"Classes/VGSCVCTextField/CVCIconLocation.html":{"name":"CVCIconLocation","abstract":"

    Available CVC icon positions enum.

    ","parent_name":"VGSCVCTextField"},"Classes/VGSCVCTextField.html#/s:13VGSCollectSDK15VGSCVCTextFieldC15cvcIconLocationAC07CVCIconG0Ovp":{"name":"cvcIconLocation","abstract":"

    CVC icon position inside VGSCardTextField.

    ","parent_name":"VGSCVCTextField"},"Classes/VGSCVCTextField.html#/s:13VGSCollectSDK15VGSCVCTextFieldC11cvcIconSizeSo6CGSizeVvp":{"name":"cvcIconSize","abstract":"

    CVC icon size.

    ","parent_name":"VGSCVCTextField"},"Classes/VGSCVCTextField.html#/s:13VGSCollectSDK15VGSCVCTextFieldC13cvcIconSourceSo7UIImageCSgAA15VGSPaymentCardsC9CardBrandOcSgvp":{"name":"cvcIconSource","abstract":"

    Asks custom image for specific VGSPaymentCards.CardBrand

    ","parent_name":"VGSCVCTextField"},"Classes/VGSDateTextField/MonthFormat.html#/s:13VGSCollectSDK16VGSDateTextFieldC11MonthFormatO12shortSymbolsyA2EmF":{"name":"shortSymbols","abstract":"

    Short month name, e.g.: Jan

    ","parent_name":"MonthFormat"},"Classes/VGSDateTextField/MonthFormat.html#/s:13VGSCollectSDK16VGSDateTextFieldC11MonthFormatO11longSymbolsyA2EmF":{"name":"longSymbols","abstract":"

    Long month name, e.g.: January

    ","parent_name":"MonthFormat"},"Classes/VGSDateTextField/MonthFormat.html#/s:13VGSCollectSDK16VGSDateTextFieldC11MonthFormatO7numbersyA2EmF":{"name":"numbers","abstract":"

    Month number: e.g.: 01

    ","parent_name":"MonthFormat"},"Classes/VGSDateTextField/MonthFormat.html":{"name":"MonthFormat","abstract":"

    Available month Label formats in UIPickerView

    ","parent_name":"VGSDateTextField"},"Classes/VGSDateTextField.html#/s:13VGSCollectSDK16VGSDateTextFieldC17monthPickerFormatAC05MonthH0Ovp":{"name":"monthPickerFormat","abstract":"

    UIPickerView month label format

    ","parent_name":"VGSDateTextField"},"Classes/VGSDateTextField.html#/s:13VGSCollectSDK16VGSDateTextFieldC13configurationAA16VGSConfigurationCSgvp":{"name":"configuration","parent_name":"VGSDateTextField"},"Classes/VGSExpDateTextField/YearFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC10YearFormatO5shortyA2EmF":{"name":"short","abstract":"

    Two digits year format, e.g.: 21

    ","parent_name":"YearFormat"},"Classes/VGSExpDateTextField/YearFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC10YearFormatO4longyA2EmF":{"name":"long","abstract":"

    Four digits year format:, e.g.:2021

    ","parent_name":"YearFormat"},"Classes/VGSExpDateTextField/MonthFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC11MonthFormatO12shortSymbolsyA2EmF":{"name":"shortSymbols","abstract":"

    Short month name, e.g.: Jan

    ","parent_name":"MonthFormat"},"Classes/VGSExpDateTextField/MonthFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC11MonthFormatO11longSymbolsyA2EmF":{"name":"longSymbols","abstract":"

    Long month name, e.g.: January

    ","parent_name":"MonthFormat"},"Classes/VGSExpDateTextField/MonthFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC11MonthFormatO7numbersyA2EmF":{"name":"numbers","abstract":"

    Month number: e.g.: 01

    ","parent_name":"MonthFormat"},"Classes/VGSExpDateTextField/MonthFormat.html":{"name":"MonthFormat","abstract":"

    Available Month Label formats in UIPickerView

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSExpDateTextField/YearFormat.html":{"name":"YearFormat","abstract":"

    Available Year Label formats in UIPickerView

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSExpDateTextField.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC17monthPickerFormatAC05MonthI0Ovp":{"name":"monthPickerFormat","abstract":"

    UIPickerView Month Label format

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSExpDateTextField.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC16yearPickerFormatAC04YearI0Ovp":{"name":"yearPickerFormat","abstract":"

    UIPickerView Year Label format

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSCardTextField/CardIconLocation.html#/s:13VGSCollectSDK16VGSCardTextFieldC16CardIconLocationO4leftyA2EmF":{"name":"left","abstract":"

    Card brand icon at left side of VGSCardTextField.

    ","parent_name":"CardIconLocation"},"Classes/VGSCardTextField/CardIconLocation.html#/s:13VGSCollectSDK16VGSCardTextFieldC16CardIconLocationO5rightyA2EmF":{"name":"right","abstract":"

    Card brand icon at right side of VGSCardTextField.

    ","parent_name":"CardIconLocation"},"Classes/VGSCardTextField/CardIconLocation.html":{"name":"CardIconLocation","abstract":"

    Available Card brand icon positions enum.

    ","parent_name":"VGSCardTextField"},"Classes/VGSCardTextField.html#/s:13VGSCollectSDK16VGSCardTextFieldC16cardIconLocationAC04CardgH0Ovp":{"name":"cardIconLocation","abstract":"

    Card brand icon position inside VGSCardTextField.

    ","parent_name":"VGSCardTextField"},"Classes/VGSCardTextField.html#/s:13VGSCollectSDK16VGSCardTextFieldC12cardIconSizeSo6CGSizeVvp":{"name":"cardIconSize","abstract":"

    Card brand icon size.

    ","parent_name":"VGSCardTextField"},"Classes/VGSCardTextField.html#/s:13VGSCollectSDK16VGSCardTextFieldC15cardsIconSourceSo7UIImageCSgAA15VGSPaymentCardsC9CardBrandOcSgvp":{"name":"cardsIconSource","abstract":"

    Asks custom image for specific VGSPaymentCards.CardBrand

    ","parent_name":"VGSCardTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC11placeholderSSSgvp":{"name":"placeholder","abstract":"

    Textfield placeholder string.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC22autocapitalizationTypeSo024UITextAutocapitalizationF0Vvp":{"name":"autocapitalizationType","abstract":"

    Textfield autocapitalization type. Default is .sentences.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC17spellCheckingTypeSo011UITextSpellfG0Vvp":{"name":"spellCheckingType","abstract":"

    Textfield spell checking type. Default is UITextSpellCheckingType.default.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC21attributedPlaceholderSo18NSAttributedStringCSgvp":{"name":"attributedPlaceholder","abstract":"

    Textfield attributedPlaceholder string.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC7paddingSo12UIEdgeInsetsVvp":{"name":"padding","abstract":"

    UIEdgeInsets for text and placeholder inside VGSTextField.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC13textAlignmentSo06NSTextF0Vvp":{"name":"textAlignment","abstract":"

    The technique to use for aligning the text.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC15clearButtonModeSo06UITextd4ViewG0Vvp":{"name":"clearButtonMode","abstract":"

    Sets when the clear button shows up. Default is UITextField.ViewMode.never

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC17isSecureTextEntrySbvp":{"name":"isSecureTextEntry","abstract":"

    Identifies whether the text object should disable text copying and in some cases hide the text being entered. Default is false.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC33adjustsFontForContentSizeCategorySbvp":{"name":"adjustsFontForContentSizeCategory","abstract":"

    Indicates whether VGSTextField should automatically update its font when the device’s UIContentSizeCategory is changed.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC21keyboardAccessoryViewSo6UIViewCSgvp":{"name":"keyboardAccessoryView","abstract":"

    Input Accessory View

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC18autocorrectionTypeSo020UITextAutocorrectionF0Vvp":{"name":"autocorrectionType","abstract":"

    Determines whether autocorrection is enabled or disabled during typing.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC04textD18AccessibilityLabelSSSgvp":{"name":"textFieldAccessibilityLabel","abstract":"

    A succinct label in a localized string that identifies the accessibility text field.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC04textD17AccessibilityHintSSSgvp":{"name":"textFieldAccessibilityHint","abstract":"

    A localized string that contains a brief description of the result of","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC04textD22IsAccessibilityElementSbvp":{"name":"textFieldIsAccessibilityElement","abstract":"

    Boolean value that determinates if the text field should be exposed as an accesibility element.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC13configurationAA16VGSConfigurationCSgvp":{"name":"configuration","abstract":"

    Specifies VGSTextField configuration parameters to work with VGSCollect.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC8delegateAA0cD8Delegate_pSgvp":{"name":"delegate","abstract":"

    Delegates VGSTextField editing events. Default is nil.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC14setDefaultTextyySSSgF":{"name":"setDefaultText(_:)","abstract":"

    Set textfield default text.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC9cleanTextyyF":{"name":"cleanText()","abstract":"

    Removes input from field.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC14isContentEqualySbACF":{"name":"isContentEqual(_:)","abstract":"

    Check if input text in two textfields is same. Returns Bool.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC4fontSo6UIFontCSgvp":{"name":"font","abstract":"

    VGSTextField text font

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)textColor":{"name":"textColor","abstract":"

    VGSTextField text color

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)cornerRadius":{"name":"cornerRadius","abstract":"

    VGSTextField layer corner radius

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)borderWidth":{"name":"borderWidth","abstract":"

    VGSTextField layer borderWidth

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)borderColor":{"name":"borderColor","abstract":"

    VGSTextField layer borderColor

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC14statePublisherAA0cd5StateF0Vvp":{"name":"statePublisher","abstract":"

    VGSTextFieldStatePublisher publisher that emits the State of a given VGSTextField.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(im)becomeFirstResponder":{"name":"becomeFirstResponder()","abstract":"

    Make VGSTextField focused.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(im)resignFirstResponder":{"name":"resignFirstResponder()","abstract":"

    Remove focus from VGSTextField.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)isFirstResponder":{"name":"isFirstResponder","abstract":"

    Check if VGSTextField is focused.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html":{"name":"VGSTextField","abstract":"

    An object that displays an editable text area in user interface.

    "},"Classes/VGSCardTextField.html":{"name":"VGSCardTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to detect and show credit card brand images.

    "},"Classes/VGSExpDateTextField.html":{"name":"VGSExpDateTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to show picker view with Card Number Expiration Month and Year.

    "},"Classes/VGSDateTextField.html":{"name":"VGSDateTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to show picker view with a Date. It support to define a range of valid dates to select from.

    "},"Classes/VGSCVCTextField.html":{"name":"VGSCVCTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to show CVC/CVV images for credit card brands.

    "},"Protocols/VGSTextFieldDelegate.html":{"name":"VGSTextFieldDelegate","abstract":"

    Delegates produced by VGSTextField instance.

    "},"Classes/VGSConfiguration.html":{"name":"VGSConfiguration","abstract":"

    A class responsible for configuration VGSTextField.

    "},"Classes/VGSExpDateConfiguration.html":{"name":"VGSExpDateConfiguration","abstract":"

    A class responsible for configuration VGSTextField with fieldType = .expDate. Extends VGSConfiguration class.

    "},"Classes/VGSDateConfiguration.html":{"name":"VGSDateConfiguration","abstract":"

    Class responsible for configuration VGSDateTextField or VGSTextField with fieldType = .date. Extends VGSConfiguration

    "},"Classes/VGSCardHolderNameTokenizationConfiguration.html":{"name":"VGSCardHolderNameTokenizationConfiguration","abstract":"

    VGSCardHolderNameTokenizationConfiguration - textfield configuration for textfield with type .cardHolderName, required for work with tokenization api.

    "},"Classes/VGSCardNumberTokenizationConfiguration.html":{"name":"VGSCardNumberTokenizationConfiguration","abstract":"

    VGSCardTokenizationConfiguration - textfield configuration for textfield with type .cardNumber, required for work with tokenization api.

    "},"Classes/VGSCVCTokenizationConfiguration.html":{"name":"VGSCVCTokenizationConfiguration","abstract":"

    VGSCVCTokenizationConfiguration - textfield configuration for textfield with type .cvc, required for work with tokenization api.

    "},"Classes/VGSDateTokenizationConfiguration.html":{"name":"VGSDateTokenizationConfiguration","abstract":"

    Class responsible for configuration VGSDateTextField or VGSTextField with fieldType = .date."},"Classes/VGSExpDateTokenizationConfiguration.html":{"name":"VGSExpDateTokenizationConfiguration","abstract":"

    VGSExpDateTokenizationConfiguration - textfield configuration for textfield with type .expDate, required for work with tokenization api.

    "},"Classes/VGSSSNTokenizationConfiguration.html":{"name":"VGSSSNTokenizationConfiguration","abstract":"

    VGSSSNTokenizationConfiguration - textfield configuration for textfield with type .ssn, required for work with tokenization api.

    "},"Classes/VGSTokenizationConfiguration.html":{"name":"VGSTokenizationConfiguration","abstract":"

    VGSTokenizationConfiguration - textfield configuration for textfield with any type of data, required for work with tokenization api.

    "},"Protocols/VGSDateConfigurationProtocol.html":{"name":"VGSDateConfigurationProtocol","abstract":"

    Define the methods and properties the date configuration must have

    "},"Protocols/VGSExpDateConfigurationProtocol.html":{"name":"VGSExpDateConfigurationProtocol","abstract":"

    Attributes required to configure date format and input source for field with type .expDate.

    "},"Enums/FieldType.html":{"name":"FieldType","abstract":"

    Type of VGSTextField configuration.

    "},"Enums/VGSDateFormat.html":{"name":"VGSDateFormat","abstract":"

    Format used to validate a VGS date text input

    "},"Structs/VGSDate.html":{"name":"VGSDate","abstract":"

    Struct that represents a date including year, month and day. It doesn’t include hours, minutes or seconds.

    "},"Enums/VGSTextFieldInputSource.html":{"name":"VGSTextFieldInputSource","abstract":"

    Type of VGSTextField input source.

    "},"UI%20Elements.html":{"name":"UI Elements"},"Tokenization%20Parameters.html":{"name":"Tokenization Parameters"},"File%20Picker.html":{"name":"File Picker"},"Observe%20State%20and%20Send%20Data.html":{"name":"Observe State and Send Data"},"Payment%20Cards.html":{"name":"Payment Cards"},"VGSTextField%20Serializers.html":{"name":"VGSTextField Serializers"},"Validation%20Rules.html":{"name":"Validation Rules"},"Errors.html":{"name":"Errors"},"Error%20Keys.html":{"name":"Error Keys"},"Debugging.html":{"name":"Debugging"},"Enumerations.html":{"name":"Enumerations"}} \ No newline at end of file +{"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO8flatJSONyA2CmF":{"name":"flatJSON","abstract":"

    Map fieldName to JSON without applying any transformations.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO10nestedJSONyA2CmF":{"name":"nestedJSON","abstract":"

    Map fieldName to nested JSON.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO24nestedJSONWithArrayMergeyA2CmF":{"name":"nestedJSONWithArrayMerge","abstract":"

    Map field name to nested JSON and array if array index is specified.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO28nestedJSONWithArrayOverwriteyA2CmF":{"name":"nestedJSONWithArrayOverwrite","abstract":"

    Map field name to nested JSON and array if array index is specified.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO9shortYearyA2CmF":{"name":"shortYear","abstract":"

    Exp.Date in format mm/yy: 01/22

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO8longYearyA2CmF":{"name":"longYear","abstract":"

    Exp.Date in format mm/yyyy: 01/2022

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO18shortYearThenMonthyA2CmF":{"name":"shortYearThenMonth","abstract":"

    Exp.Date in format yy/mm: 22/01

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO17longYearThenMonthyA2CmF":{"name":"longYearThenMonth","abstract":"

    Exp.Date in format yy/mm: 2022/01

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html":{"name":"VGSCardExpDateFormat","abstract":"

    Payment Card Expiration Date Format

    "},"Enums/VGSCollectFieldNameMappingPolicy.html":{"name":"VGSCollectFieldNameMappingPolicy","abstract":"

    Defines fieldName mapping to JSON.

    "},"Structs/VGSCollectLoggingConfiguration.html#/s:13VGSCollectSDK0A20LoggingConfigurationV5levelAA11VGSLogLevelOvp":{"name":"level","abstract":"

    Log level. Default is .none.

    ","parent_name":"VGSCollectLoggingConfiguration"},"Structs/VGSCollectLoggingConfiguration.html#/s:13VGSCollectSDK0A20LoggingConfigurationV21isNetworkDebugEnabledSbvp":{"name":"isNetworkDebugEnabled","abstract":"

    Bool flag. Specify true to record VGSCollectSDK network session with success/failed requests. Default is false.

    ","parent_name":"VGSCollectLoggingConfiguration"},"Structs/VGSCollectLoggingConfiguration.html#/s:13VGSCollectSDK0A20LoggingConfigurationV23isExtensiveDebugEnabledSbvp":{"name":"isExtensiveDebugEnabled","abstract":"

    Bool flag. Specify true to enable extensive debugging. Default is false.

    ","parent_name":"VGSCollectLoggingConfiguration"},"Enums/VGSLogLevel.html#/s:13VGSCollectSDK11VGSLogLevelO4infoyA2CmF":{"name":"info","abstract":"

    Log all events including errors and warnings.

    ","parent_name":"VGSLogLevel"},"Enums/VGSLogLevel.html#/s:13VGSCollectSDK11VGSLogLevelO7warningyA2CmF":{"name":"warning","abstract":"

    Log only events indicating warnings and errors.

    ","parent_name":"VGSLogLevel"},"Enums/VGSLogLevel.html#/s:13VGSCollectSDK11VGSLogLevelO4noneyA2CmF":{"name":"none","abstract":"

    Log no events.

    ","parent_name":"VGSLogLevel"},"Classes/VGSCollectLogger.html#/s:13VGSCollectSDK0A6LoggerC6sharedACvpZ":{"name":"shared","abstract":"

    Shared instance.

    ","parent_name":"VGSCollectLogger"},"Classes/VGSCollectLogger.html#/s:13VGSCollectSDK0A6LoggerC13configurationAA0A20LoggingConfigurationVvp":{"name":"configuration","abstract":"

    Logging configuration. Check VGSCollectLoggingConfiguration for logging options.

    ","parent_name":"VGSCollectLogger"},"Classes/VGSCollectLogger.html#/s:13VGSCollectSDK0A6LoggerC17disableAllLoggersyyF":{"name":"disableAllLoggers()","abstract":"

    Stop logging all activities.

    ","parent_name":"VGSCollectLogger"},"Classes/VGSCollectLogger.html":{"name":"VGSCollectLogger","abstract":"

    VGSCollectLogger encapsulates logging logic and debugging options for VGSCollectSDK. Use .configuration property to setup these options. VGSCollectLogger logging implies only printing logs to Xcode console. It doesn’t save logs to persistent store/local file, also it doesn’t send debugging logs to backend services."},"Enums/VGSLogLevel.html":{"name":"VGSLogLevel","abstract":"

    Defines levels of logging.

    "},"Structs/VGSCollectLoggingConfiguration.html":{"name":"VGSCollectLoggingConfiguration","abstract":"

    Holds configuration for VGSCollectSDK logging.

    "},"Error%20Keys.html#/s:13VGSCollectSDK30VGSSDKErrorInputDataIsNotValidSSvp":{"name":"VGSSDKErrorInputDataIsNotValid","abstract":"

    Error key, used for errors when input data is required to be not empty or to be valid only, but is not valid.

    "},"Error%20Keys.html#/s:13VGSCollectSDK28VGSSDKErrorInputDataRequiredSSvp":{"name":"VGSSDKErrorInputDataRequired","abstract":"

    Error key, used for errors when input data is required to be not empty but is empty or nil.

    "},"Error%20Keys.html#/s:13VGSCollectSDK33VGSSDKErrorInputDataRequiredValidSSvp":{"name":"VGSSDKErrorInputDataRequiredValid","abstract":"

    Error key, used for errors when input data is required to be valid is not valid.

    "},"Error%20Keys.html#/s:13VGSCollectSDK23VGSSDKErrorFileNotFoundSSvp":{"name":"VGSSDKErrorFileNotFound","abstract":"

    Error key, used for errors when SDK can’t find the file at file path. Can happened when file changes the path or doesn’t exist.

    "},"Error%20Keys.html#/s:13VGSCollectSDK31VGSSDKErrorFileTypeNotSupportedSSvp":{"name":"VGSSDKErrorFileTypeNotSupported","abstract":"

    Error key, used for errors when file type is not supported by SDK.

    "},"Error%20Keys.html#/s:13VGSCollectSDK34VGSSDKErrorFileSizeExceedsTheLimitSSvp":{"name":"VGSSDKErrorFileSizeExceedsTheLimit","abstract":"

    Error key, used for errors when file size exceeds maximum limit.

    "},"Error%20Keys.html#/s:13VGSCollectSDK29VGSSDKErrorSourceNotAvailableSSvp":{"name":"VGSSDKErrorSourceNotAvailable","abstract":"

    Error key, used for errors when SDK can’t get access to specific source.

    "},"Error%20Keys.html#/s:13VGSCollectSDK39VGSSDKErrorUnexpectedResponseDataFormatSSvp":{"name":"VGSSDKErrorUnexpectedResponseDataFormat","abstract":"

    Error key, used for errors when response for SDK API request is in format that not supported by SDK.

    "},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO7patternyA2CmF":{"name":"pattern","abstract":"

    Default Validation error for VGSValidationRulePattern

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO6lengthyA2CmF":{"name":"length","abstract":"

    Default Validation error for VGSValidationRuleLength

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO12lengthMathesyA2CmF":{"name":"lengthMathes","abstract":"

    Default Validation error for VGSValidationRuleLength

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO7expDateyA2CmF":{"name":"expDate","abstract":"

    Default Validation error for VGSValidationRuleCardExpirationDate

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO4dateyA2CmF":{"name":"date","abstract":"

    Default Validation error for VGSValidationRuleDateRange

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO10cardNumberyA2CmF":{"name":"cardNumber","abstract":"

    Default Validation error for VGSValidationRulePaymentCard

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO9luhnCheckyA2CmF":{"name":"luhnCheck","abstract":"

    Default Validation error for VGSValidationRuleLuhnCheck

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO19inputDataIsNotValidyA2CmF":{"name":"inputDataIsNotValid","abstract":"

    When input data is not valid, but required to be valid

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO17inputFileNotFoundyA2CmF":{"name":"inputFileNotFound","abstract":"

    When can’t find file on device

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO09inputFileD14IsNotSupportedyA2CmF":{"name":"inputFileTypeIsNotSupported","abstract":"

    When can’t find file on device

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO28inputFileSizeExceedsTheLimityA2CmF":{"name":"inputFileSizeExceedsTheLimit","abstract":"

    When file size is larger then allowed limit

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO18sourceNotAvailableyA2CmF":{"name":"sourceNotAvailable","abstract":"

    When can’t get access to file source

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO018unexpectedResponseD0yA2CmF":{"name":"unexpectedResponseType","abstract":"

    When response type is not supported

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO28unexpectedResponseDataFormatyA2CmF":{"name":"unexpectedResponseDataFormat","abstract":"

    When reponse data format is not supported

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO23invalidConfigurationURLyA2CmF":{"name":"invalidConfigurationURL","abstract":"

    When VGS config URL is not valid.

    ","parent_name":"VGSErrorType"},"Classes/VGSError.html#/s:13VGSCollectSDK8VGSErrorC4typeAA0C4TypeOSgvp":{"name":"type","abstract":"

    VGSErrorType- required for each VGSError instance

    ","parent_name":"VGSError"},"Classes/VGSError.html#/c:@M@VGSCollectSDK@objc(cs)VGSError(py)code":{"name":"code","abstract":"

    Code assiciated with VGSErrorType

    ","parent_name":"VGSError"},"Classes/VGSError.html#/c:@M@VGSCollectSDK@objc(cs)VGSError(im)initWithCoder:":{"name":"init(coder:)","abstract":"

    : nodoc. Public required init.

    ","parent_name":"VGSError"},"Classes/VGSError.html":{"name":"VGSError","abstract":"

    An error produced by VGSCollectSDK. Works similar to default NSError in iOS.

    "},"Enums/VGSErrorType.html":{"name":"VGSErrorType","abstract":"

    Type of VGSError and it status code.

    "},"Errors.html#/s:13VGSCollectSDK0A14SDKErrorDomainSSvp":{"name":"VGSCollectSDKErrorDomain","abstract":"

    An error domain string used to produce VGSError from VGSCollectSDK - “vgscollect.sdk”

    "},"Errors.html#/s:13VGSCollectSDK18VGSValidationErrora":{"name":"VGSValidationError","abstract":"

    VGS Validation Error object type

    "},"Enums/VGSValidationErrorType.html":{"name":"VGSValidationErrorType","abstract":"

    Default validation error types

    "},"Enums/CheckSumAlgorithmType.html#/s:13VGSCollectSDK21CheckSumAlgorithmTypeO4luhnyA2CmF":{"name":"luhn","abstract":"

    Luhn Algorithm

    ","parent_name":"CheckSumAlgorithmType"},"Enums/CheckSumAlgorithmType.html#/s:13VGSCollectSDK21CheckSumAlgorithmTypeO8validateySbSSF":{"name":"validate(_:)","abstract":"

    Validate input String with specified algorithm.

    ","parent_name":"CheckSumAlgorithmType"},"Structs/VGSValidationRuleDateRange.html#/s:13VGSCollectSDK26VGSValidationRuleDateRangeV10dateFormatAA07VGSDateH0Ovp":{"name":"dateFormat","abstract":"

    Date format used to validate the rule

    ","parent_name":"VGSValidationRuleDateRange"},"Structs/VGSValidationRuleDateRange.html#/s:13VGSCollectSDK26VGSValidationRuleDateRangeV5errorSSvp":{"name":"error","abstract":"

    Error used in case the validation is invalid

    ","parent_name":"VGSValidationRuleDateRange"},"Structs/VGSValidationRuleDateRange.html#/s:13VGSCollectSDK26VGSValidationRuleDateRangeV10dateFormat5error5start3endAcA07VGSDateH0O_SSAA0L0VSgALtcfc":{"name":"init(dateFormat:error:start:end:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleDateRange"},"Structs/VGSValidationRuleCardExpirationDate.html#/s:13VGSCollectSDK35VGSValidationRuleCardExpirationDateV10dateFormatAA010VGSCardExpgI0Ovp":{"name":"dateFormat","abstract":"

    Payment Card Expiration Date Format

    ","parent_name":"VGSValidationRuleCardExpirationDate"},"Structs/VGSValidationRuleCardExpirationDate.html#/s:13VGSCollectSDK35VGSValidationRuleCardExpirationDateV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleCardExpirationDate"},"Structs/VGSValidationRuleCardExpirationDate.html#/s:13VGSCollectSDK35VGSValidationRuleCardExpirationDateV10dateFormat5errorAcA010VGSCardExpgI0O_SStcfc":{"name":"init(dateFormat:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleCardExpirationDate"},"Structs/VGSValidationRuleLuhnCheck.html#/s:13VGSCollectSDK26VGSValidationRuleLuhnCheckV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleLuhnCheck"},"Structs/VGSValidationRuleLuhnCheck.html#/s:13VGSCollectSDK26VGSValidationRuleLuhnCheckV5errorACSS_tcfc":{"name":"init(error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleLuhnCheck"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV015validateUnknownF5BrandSbvp":{"name":"validateUnknownCardBrand","abstract":"

    Turn on/off validation of cards that are not defined in SDK - CardBrand.unknown

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV5errorACSS_tcfc":{"name":"init(error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV5error015validateUnknownF5BrandACSS_Sbtcfc":{"name":"init(error:validateUnknownCardBrand:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePattern.html#/s:13VGSCollectSDK24VGSValidationRulePatternV7patternSSvp":{"name":"pattern","abstract":"

    Regex pattern

    ","parent_name":"VGSValidationRulePattern"},"Structs/VGSValidationRulePattern.html#/s:13VGSCollectSDK24VGSValidationRulePatternV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRulePattern"},"Structs/VGSValidationRulePattern.html#/s:13VGSCollectSDK24VGSValidationRulePatternV7pattern5errorACSS_SStcfc":{"name":"init(pattern:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRulePattern"},"Structs/VGSValidationRuleLengthMatch.html#/s:13VGSCollectSDK28VGSValidationRuleLengthMatchV7lengthsSaySiGvp":{"name":"lengths","abstract":"

    Array of valid length ranges

    ","parent_name":"VGSValidationRuleLengthMatch"},"Structs/VGSValidationRuleLengthMatch.html#/s:13VGSCollectSDK28VGSValidationRuleLengthMatchV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleLengthMatch"},"Structs/VGSValidationRuleLengthMatch.html#/s:13VGSCollectSDK28VGSValidationRuleLengthMatchV7lengths5errorACSaySiG_SStcfc":{"name":"init(lengths:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleLengthMatch"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV3minSivp":{"name":"min","abstract":"

    Min input length required

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV3maxSivp":{"name":"max","abstract":"

    Max input length required

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV3min3max5errorACSi_SiSStcfc":{"name":"init(min:max:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleSet.html#/s:13VGSCollectSDK20VGSValidationRuleSetVACycfc":{"name":"init()","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleSet"},"Structs/VGSValidationRuleSet.html#/s:13VGSCollectSDK20VGSValidationRuleSetV5rulesACSayAA0cD8Protocol_pG_tcfc":{"name":"init(rules:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleSet"},"Structs/VGSValidationRuleSet.html#/s:13VGSCollectSDK20VGSValidationRuleSetV3add4ruleyAA0cD8Protocol_p_tF":{"name":"add(rule:)","abstract":"

    Add validation rule

    ","parent_name":"VGSValidationRuleSet"},"Structs/VGSValidationRuleSet.html":{"name":"VGSValidationRuleSet","abstract":"

    Set of validation rules

    "},"Structs/VGSValidationRuleLength.html":{"name":"VGSValidationRuleLength","abstract":"

    Validate input in scope of length.

    "},"Structs/VGSValidationRuleLengthMatch.html":{"name":"VGSValidationRuleLengthMatch","abstract":"

    Validate input in scope of multiple lengths, e.x.: [16, 19].

    "},"Structs/VGSValidationRulePattern.html":{"name":"VGSValidationRulePattern","abstract":"

    Validate input in scope of matching the pattern(regex).

    "},"Structs/VGSValidationRulePaymentCard.html":{"name":"VGSValidationRulePaymentCard","abstract":"

    Validate input in scope of matching supported card brands, available lengths and checkSum algorithms."},"Structs/VGSValidationRuleLuhnCheck.html":{"name":"VGSValidationRuleLuhnCheck","abstract":"

    Validate input in scope of matching Luhn algorithm.

    "},"Structs/VGSValidationRuleCardExpirationDate.html":{"name":"VGSValidationRuleCardExpirationDate","abstract":"

    Validate input in scope of matching card expiration date format and time range.

    "},"Structs/VGSValidationRuleDateRange.html":{"name":"VGSValidationRuleDateRange","abstract":"

    Validation rule used to validate the date input in objects"},"Enums/CheckSumAlgorithmType.html":{"name":"CheckSumAlgorithmType","abstract":"

    Check Sum Algorithm Types

    "},"Structs/VGSExpDateSeparateSerializer.html#/s:13VGSCollectSDK28VGSExpDateSeparateSerializerV14monthFieldNameSSvp":{"name":"monthFieldName","abstract":"

    Field Name that will be used as a JSON key with month value from expDate string on send request.

    ","parent_name":"VGSExpDateSeparateSerializer"},"Structs/VGSExpDateSeparateSerializer.html#/s:13VGSCollectSDK28VGSExpDateSeparateSerializerV13yearFieldNameSSvp":{"name":"yearFieldName","abstract":"

    Field Name that will be used as a JSON key with year value from expDate string on send request.

    ","parent_name":"VGSExpDateSeparateSerializer"},"Structs/VGSExpDateSeparateSerializer.html#/s:13VGSCollectSDK28VGSExpDateSeparateSerializerV14monthFieldName04yearhI0ACSS_SStcfc":{"name":"init(monthFieldName:yearFieldName:)","abstract":"

    Initialization

    ","parent_name":"VGSExpDateSeparateSerializer"},"VGSTextField%20Serializers.html#/s:13VGSCollectSDK27VGSFormatSerializerProtocolP":{"name":"VGSFormatSerializerProtocol","abstract":"

    Base protocol describing Content Serialization attributes

    "},"Structs/VGSExpDateSeparateSerializer.html":{"name":"VGSExpDateSeparateSerializer","abstract":"

    Expiration Date Separate serializer, split date string to components with separate fieldNames

    "},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV5regexSSvp":{"name":"regex","abstract":"

    Regex validating that input contains digits only.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV17cardNumberLengthsSaySiGvp":{"name":"cardNumberLengths","abstract":"

    Valid Unknown Card Numbers Lengths

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV10cvcLengthsSaySiGvp":{"name":"cvcLengths","abstract":"

    Valid Unknown Card CVC/CVV Lengths. For most brands valid cvc lengths is [3], while for Amex is [4]. For unknown brands can be set as [3, 4]

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV17checkSumAlgorithmAA05CheckhI4TypeOSgvp":{"name":"checkSumAlgorithm","abstract":"

    Check sum validation algorithm. For most brands card number can be validated by CheckSumAlgorithmType.luhn algorithm. If none - result of Checksum Algorithm validation will be true.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV13formatPatternSSvp":{"name":"formatPattern","abstract":"

    Unknown Payment Card Numbers visual format pattern. NOTE: format pattern length limits input length.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    Image, associated with Unknown Payment Card Brands.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    Image, associated with CVC for Unknown Payment Card Brands.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV5brandAA15VGSPaymentCardsC0E5BrandOvp":{"name":"brand","abstract":"

    Payment Card Brand

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV4nameSSvp":{"name":"name","abstract":"

    Payment Card Name

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV5regexSSvp":{"name":"regex","abstract":"

    Regex Pattern required to detect Payment Card Brand

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV17cardNumberLengthsSaySiGvp":{"name":"cardNumberLengths","abstract":"

    Valid Card Number Lengths

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV10cvcLengthsSaySiGvp":{"name":"cvcLengths","abstract":"

    Valid Card CVC/CVV Lengths. For most brands valid cvc lengths is [3], while for Amex is [4]. For unknown brands can be set as [3, 4]

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV17checkSumAlgorithmAA05CheckhI4TypeOSgvp":{"name":"checkSumAlgorithm","abstract":"

    Check sum validation algorithm. For most brands card number can be validated by CheckSumAlgorithmType.luhn algorithm. If none - result of Checksum Algorithm validation will be true.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV13formatPatternSSvp":{"name":"formatPattern","abstract":"

    Payment Card Number visual format pattern.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    Image, associated with Payment Card Brand.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    Image, associated with CVC for Payment Card Brand.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV4name5regex13formatPattern17cardNumberLengths03cvcM017checkSumAlgorithm9brandIconACSS_S2SSaySiGAkA05CheckpQ4TypeOSgSo7UIImageCSgtcfc":{"name":"init(name:regex:formatPattern:cardNumberLengths:cvcLengths:checkSumAlgorithm:brandIcon:)","abstract":"

    Initializer.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV5brandAA0C5CardsC0D5BrandOvp":{"name":"brand","abstract":"

    Payment Card Brand

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV4nameSSvp":{"name":"name","abstract":"

    Payment Card Name

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV5regexSSvp":{"name":"regex","abstract":"

    Regex Pattern required to detect Payment Card Brand

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV17cardNumberLengthsSaySiGvp":{"name":"cardNumberLengths","abstract":"

    Valid Card Number Lengths

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV10cvcLengthsSaySiGvp":{"name":"cvcLengths","abstract":"

    Valid Card CVC/CVV Lengths. For most brands valid cvc lengths is [3], while for Amex is [4]. For unknown brands can be set as [3, 4]

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV17checkSumAlgorithmAA05CheckgH4TypeOSgvp":{"name":"checkSumAlgorithm","abstract":"

    Check sum validation algorithm. For most brands card number can be validated by CheckSumAlgorithmType.luhn algorithm. If none - result of Checksum Algorithm validation will be true.

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV13formatPatternSSvp":{"name":"formatPattern","abstract":"

    Payment Card Number visual format pattern.

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    Image, associated with Payment Card Brand.

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    Image, associated with CVC for Payment Card Brand.

    ","parent_name":"VGSPaymentCardModel"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO3eloyA2EmF":{"name":"elo","abstract":"

    ELO

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO12visaElectronyA2EmF":{"name":"visaElectron","abstract":"

    Visa Electron

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7maestroyA2EmF":{"name":"maestro","abstract":"

    Maestro

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO18forbrugsforeningenyA2EmF":{"name":"forbrugsforeningen","abstract":"

    Forbrugsforeningen

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7dankortyA2EmF":{"name":"dankort","abstract":"

    Dankort

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO4visayA2EmF":{"name":"visa","abstract":"

    Visa

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO10mastercardyA2EmF":{"name":"mastercard","abstract":"

    Mastercard

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO4amexyA2EmF":{"name":"amex","abstract":"

    American Express

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO9hipercardyA2EmF":{"name":"hipercard","abstract":"

    Hipercard

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO10dinersClubyA2EmF":{"name":"dinersClub","abstract":"

    Diners Club

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO8discoveryA2EmF":{"name":"discover","abstract":"

    Discover

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO8unionpayyA2EmF":{"name":"unionpay","abstract":"

    UnionPay

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO3jcbyA2EmF":{"name":"jcb","abstract":"

    JCB

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7unknownyA2EmF":{"name":"unknown","abstract":"

    Not supported card brand - “unknown”

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO6customyAESS_tcAEmF":{"name":"custom(brandName:)","abstract":"

    Custom Payment Card Brand. Should have unique brandName.

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO16cvcFormatPatternSSvp":{"name":"cvcFormatPattern","abstract":"

    no:doc

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    no:doc

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    no:doc

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO11stringValueSSvp":{"name":"stringValue","abstract":"

    String representation of VGSPaymentCards.CardBrand enum values.

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO11cardLengthsSaySiGvp":{"name":"cardLengths","abstract":"

    Returns array with valid card number lengths for specific VGSPaymentCards.CardBrand

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html":{"name":"CardBrand","abstract":"

    Supported card brands

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC3eloAA0C9CardModelVvpZ":{"name":"elo","abstract":"

    Elo Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC12visaElectronAA0C9CardModelVvpZ":{"name":"visaElectron","abstract":"

    Visa Electron Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC7maestroAA0C9CardModelVvpZ":{"name":"maestro","abstract":"

    Maestro Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC18forbrugsforeningenAA0C9CardModelVvpZ":{"name":"forbrugsforeningen","abstract":"

    Forbrugsforeningen Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC7dankortAA0C9CardModelVvpZ":{"name":"dankort","abstract":"

    Dankort Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC4visaAA0C9CardModelVvpZ":{"name":"visa","abstract":"

    Elo Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC10masterCardAA0cF5ModelVvpZ":{"name":"masterCard","abstract":"

    Master Card Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC4amexAA0C9CardModelVvpZ":{"name":"amex","abstract":"

    Amex Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC9hipercardAA0C9CardModelVvpZ":{"name":"hipercard","abstract":"

    Hipercard Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC10dinersClubAA0C9CardModelVvpZ":{"name":"dinersClub","abstract":"

    DinersClub Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC8discoverAA0C9CardModelVvpZ":{"name":"discover","abstract":"

    Discover Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC8unionpayAA0C9CardModelVvpZ":{"name":"unionpay","abstract":"

    UnionPay Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC3jcbAA0C9CardModelVvpZ":{"name":"jcb","abstract":"

    JCB Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC7unknownAA26VGSUnknownPaymentCardModelVvpZ":{"name":"unknown","abstract":"

    Unknown Brand Payment Card Model. Can be used for specifing cards details when VGSValidationRulePaymentCard requires validating CardBrand.unknown cards.

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC22cutomPaymentCardModelsSayAA09VGSCustomfG5ModelVGvpZ":{"name":"cutomPaymentCardModels","abstract":"

    Array of Custom Payment Card Models.

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC15validCardBrandsSayAA0cF13ModelProtocol_pGSgvpZ":{"name":"validCardBrands","abstract":"

    An array of valid Card Brands, could include custom and default brands. If not set, will use availableCardBrands array instead.

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC31getCardModelFromAvailableModels5brandAA0cfG8Protocol_pSgAC0F5BrandO_tFZ":{"name":"getCardModelFromAvailableModels(brand:)","abstract":"

    no:doc

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC028detectCardBrandFromAvailableD05inputAC0fG0OSS_tFZ":{"name":"detectCardBrandFromAvailableCards(input:)","abstract":"

    no:doc

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html":{"name":"VGSPaymentCards","abstract":"

    Class responsible for storing and managing Payment Cards in SDK.

    "},"Structs/VGSPaymentCardModel.html":{"name":"VGSPaymentCardModel","abstract":"

    An object representing Payment Card

    "},"Structs/VGSCustomPaymentCardModel.html":{"name":"VGSCustomPaymentCardModel","abstract":"

    Holds information for custom payment model.

    "},"Structs/VGSUnknownPaymentCardModel.html":{"name":"VGSUnknownPaymentCardModel","abstract":"

    An object representing Unknown Payment Cards - cards not defined in the SDK. Object is used when validation forCardBrand.unknown is set as true. Check VGSValidationRulePaymentCard for more details. Validation attributes can be edited through `VGSPaymentCards.unknown model.

    "},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO3getyA2CmF":{"name":"get","abstract":"

    GET method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO4postyA2CmF":{"name":"post","abstract":"

    POST method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO3putyA2CmF":{"name":"put","abstract":"

    PUT method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO5patchyA2CmF":{"name":"patch","abstract":"

    PATCH method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO6deleteyA2CmF":{"name":"delete","abstract":"

    DELETE method.

    ","parent_name":"VGSCollectHTTPMethod"},"Structs/VGSCollectRequestOptions.html#/s:13VGSCollectSDK0A14RequestOptionsV22fieldNameMappingPolicyAA0a5FieldfgH0Ovp":{"name":"fieldNameMappingPolicy","abstract":"

    Defines how to map fieldNames to JSON. Default is .nestedJSON.

    ","parent_name":"VGSCollectRequestOptions"},"Structs/VGSCollectRequestOptions.html#/s:13VGSCollectSDK0A14RequestOptionsVACycfc":{"name":"init()","abstract":"

    Initializer.

    ","parent_name":"VGSCollectRequestOptions"},"Enums/VGSTokenizationResponse.html#/s:13VGSCollectSDK23VGSTokenizationResponseO7successyACSi_SDySSypGSgSo13NSURLResponseCSgtcACmF":{"name":"success(_:_:_:)","abstract":"

    Success response case

    ","parent_name":"VGSTokenizationResponse"},"Enums/VGSTokenizationResponse.html#/s:13VGSCollectSDK23VGSTokenizationResponseO7failureyACSi_10Foundation4DataVSgSo13NSURLResponseCSgs5Error_pSgtcACmF":{"name":"failure(_:_:_:_:)","abstract":"

    Failed response case

    ","parent_name":"VGSTokenizationResponse"},"Enums/VGSResponse.html#/s:13VGSCollectSDK11VGSResponseO7successyACSi_10Foundation4DataVSgSo13NSURLResponseCSgtcACmF":{"name":"success(_:_:_:)","abstract":"

    Success response case

    ","parent_name":"VGSResponse"},"Enums/VGSResponse.html#/s:13VGSCollectSDK11VGSResponseO7failureyACSi_10Foundation4DataVSgSo13NSURLResponseCSgs5Error_pSgtcACmF":{"name":"failure(_:_:_:_:)","abstract":"

    Failed response case

    ","parent_name":"VGSResponse"},"Structs/VGSTextFieldStatePublisher.html#/s:7Combine9PublisherP6OutputQa":{"name":"Output","parent_name":"VGSTextFieldStatePublisher"},"Structs/VGSTextFieldStatePublisher.html#/s:7Combine9PublisherP7FailureQa":{"name":"Failure","parent_name":"VGSTextFieldStatePublisher"},"Structs/VGSTextFieldStatePublisher.html#/s:13VGSCollectSDK26VGSTextFieldStatePublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0E0C5InputRtzlF":{"name":"receive(subscriber:)","abstract":"

    Attaches a subscriber to the publisher to receive updates on the VGSTextField State.

    ","parent_name":"VGSTextFieldStatePublisher"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC5last4SSvp":{"name":"last4","abstract":"

    Last 4 digits of the valid card number from associated VGSTextField with field configuration type FieldType.cardNumber.

    ","parent_name":"CardState"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC3binSSvp":{"name":"bin","abstract":"

    Bin digits of the valid card number from associated VGSTextField with field configuration type FieldType.cardNumber.

    ","parent_name":"CardState"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC9cardBrandAA15VGSPaymentCardsC0cF0Ovp":{"name":"cardBrand","abstract":"

    Credit Card Brand of the card number from associated VGSTextField with field configuration type FieldType.cardNumber.

    ","parent_name":"CardState"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC11descriptionSSvp":{"name":"description","abstract":"

    Message that contains CardState attributes and their values.

    ","parent_name":"CardState"},"Classes/SSNState.html#/s:13VGSCollectSDK8SSNStateC5last4SSvp":{"name":"last4","abstract":"

    Last 4 digits of the valid ssn from associated VGSTextField with field configuration type FieldType.ssn.

    ","parent_name":"SSNState"},"Classes/SSNState.html#/s:13VGSCollectSDK8SSNStateC11descriptionSSvp":{"name":"description","abstract":"

    Message that contains SSNState attributes and their values.

    ","parent_name":"SSNState"},"Classes/State.html#/s:13VGSCollectSDK5StateC9fieldNameSSSgvp":{"name":"fieldName","abstract":"

    VGSConfiguration.fieldName associated with VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC10isRequiredSbvp":{"name":"isRequired","abstract":"

    VGSConfiguration.isRequired attribute defined for VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC19isRequiredValidOnlySbvp":{"name":"isRequiredValidOnly","abstract":"

    VGSConfiguration.isRequiredValidOnly attribute defined for VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC7isValidSbvp":{"name":"isValid","abstract":"

    Contains current validation state for VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC7isEmptySbvp":{"name":"isEmpty","abstract":"

    Show if VGSTextField input is empty

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC7isDirtySbvp":{"name":"isDirty","abstract":"

    Show if VGSTextField was edited

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC11inputLengthSivp":{"name":"inputLength","abstract":"

    Input data length in VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC16validationErrorsSaySSGvp":{"name":"validationErrors","abstract":"

    Array of VGSValidationError. Should be empty when textfield input is valid.

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC11descriptionSSvp":{"name":"description","abstract":"

    Message that contains State attributes and their values

    ","parent_name":"State"},"Enums/Environment.html#/s:13VGSCollectSDK11EnvironmentO7sandboxyA2CmF":{"name":"sandbox","abstract":"

    Should be used for development and testing purpose.

    ","parent_name":"Environment"},"Enums/Environment.html#/s:13VGSCollectSDK11EnvironmentO4liveyA2CmF":{"name":"live","abstract":"

    Should be used for production.

    ","parent_name":"Environment"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C13customHeadersSDyS2SGSgvp":{"name":"customHeaders","abstract":"

    Set your custom HTTP headers.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C17observeFieldStateyAA07VGSTextD0CcSgvp":{"name":"observeFieldState","abstract":"

    Observe only focused VGSTextField on editing events.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C13observeStatesySayAA12VGSTextFieldCGcSgvp":{"name":"observeStates","abstract":"

    Observe all VGSTextField on editing events.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C10textFieldsSayAA12VGSTextFieldCGvp":{"name":"textFields","abstract":"

    Returns array of VGSTextFields associated with VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C2id11environment8hostname13satellitePortACSS_S2SSgSiSgtcfc":{"name":"init(id:environment:hostname:satellitePort:)","abstract":"

    Initialization.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C2id11environment10dataRegion8hostname13satellitePortACSS_AA11EnvironmentOSSSgAKSiSgtcfc":{"name":"init(id:environment:dataRegion:hostname:satellitePort:)","abstract":"

    Initialization.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C12getTextField9fieldNameAA07VGSTextE0CSgSS_tF":{"name":"getTextField(fieldName:)","abstract":"

    Returns VGSTextField with VGSConfiguration.fieldName associated with VGCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C20unsubscribeTextFieldyyAA07VGSTextE0CF":{"name":"unsubscribeTextField(_:)","abstract":"

    Unasubscribe VGSTextField from VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C21unsubscribeTextFieldsyySayAA12VGSTextFieldCGF":{"name":"unsubscribeTextFields(_:)","abstract":"

    Unasubscribe VGSTextFields from VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C24unsubscribeAllTextFieldsyyF":{"name":"unsubscribeAllTextFields()","abstract":"

    Unasubscribe all VGSTextFields from VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C10cleanFilesyyF":{"name":"cleanFiles()","abstract":"

    Detach files for associated VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendData4path6method7routeId05extraD014requestOptions10completionySS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestK0VyAA11VGSResponseOctF":{"name":"sendData(path:method:routeId:extraData:requestOptions:completion:)","abstract":"

    Send data from VGSTextFields to your organization vault.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendFile4path6method7routeId9extraData14requestOptions10completionySS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestL0VyAA11VGSResponseOctF":{"name":"sendFile(path:method:routeId:extraData:requestOptions:completion:)","abstract":"

    Send file to your organization vault. Only send one file at a time.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C12tokenizeData7routeId10completionySSSg_yAA23VGSTokenizationResponseOctF":{"name":"tokenizeData(routeId:completion:)","abstract":"

    Send tokenization request with data from VGSTextFields.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendData4path6method7routeId05extraD014requestOptionsAA11VGSResponseOSS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestK0VtYaF":{"name":"sendData(path:method:routeId:extraData:requestOptions:)","abstract":"

    Asynchronously send data from VGSTextFields to your organization vault.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendFile4path6method7routeId9extraDataAA11VGSResponseOSS_AA0A10HTTPMethodOSSSgSDySSypGSgtYaF":{"name":"sendFile(path:method:routeId:extraData:)","abstract":"

    Asynchronously send file to your organization vault. Only send one file at a time.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C12tokenizeData7routeIdAA23VGSTokenizationResponseOSSSg_tYaF":{"name":"tokenizeData(routeId:)","abstract":"

    Asynchronously send tokenization request with data from VGSTextFields.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C17sendDataPublisher4path6method7routeId05extraD014requestOptions7Combine6FutureCyAA11VGSResponseOs5NeverOGSS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestL0VtF":{"name":"sendDataPublisher(path:method:routeId:extraData:requestOptions:)","abstract":"

    Send data from VGSTextFields to your organization vault using the Combine framework.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C17sendFilePublisher4path6method7routeId9extraData14requestOptions7Combine6FutureCyAA11VGSResponseOs5NeverOGSS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestM0VtF":{"name":"sendFilePublisher(path:method:routeId:extraData:requestOptions:)","abstract":"

    Send file to your organization vault using the Combine framework.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C21tokenizeDataPublisher7routeId7Combine6FutureCyAA23VGSTokenizationResponseOs5NeverOGSSSg_tF":{"name":"tokenizeDataPublisher(routeId:)","abstract":"

    Send tokenization request with data from VGSTextFields to your organization vault using the Combine framework.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html":{"name":"VGSCollect","abstract":"

    An object you use for observing VGSTextField State and send data to your organization vault.

    "},"Enums/Environment.html":{"name":"Environment","abstract":"

    Organization vault environment.

    "},"Classes/State.html":{"name":"State","abstract":"

    An object that describes VGSTextField state. State attributes are read-only.

    "},"Classes/SSNState.html":{"name":"SSNState","abstract":"

    An object that describes VGSTextField state with configuration FieldType.ssn . State attributes are read-only.

    "},"Classes/CardState.html":{"name":"CardState","abstract":"

    An object that describes VGSTextField state with configuration FieldType.cardNumber . State attributes are read-only.

    "},"Structs/VGSTextFieldStatePublisher.html":{"name":"VGSTextFieldStatePublisher","abstract":"

    A custom publisher that emits State of a given VGSTextField.

    "},"Enums/VGSResponse.html":{"name":"VGSResponse","abstract":"

    Response enum cases for SDK requests.

    "},"Enums/VGSTokenizationResponse.html":{"name":"VGSTokenizationResponse","abstract":"

    Tokenization response enum cases for SDK requests.

    "},"Structs/VGSCollectRequestOptions.html":{"name":"VGSCollectRequestOptions","abstract":"

    Request options.

    "},"Observe%20State%20and%20Send%20Data.html#/s:13VGSCollectSDK8JsonDataa":{"name":"JsonData","abstract":"

    Key-value data type, usually used for response format.

    "},"Enums/VGSCollectHTTPMethod.html":{"name":"VGSCollectHTTPMethod","abstract":"

    HTTP request methods

    "},"Observe%20State%20and%20Send%20Data.html#/s:13VGSCollectSDK11HTTPHeadersa":{"name":"HTTPHeaders","abstract":"

    Key-value data type, used in http request headers.

    "},"Classes/VGSFileInfo.html#/c:@M@VGSCollectSDK@objc(cs)VGSFileInfo(py)fileExtension":{"name":"fileExtension","abstract":"

    File extension, like “jpeg”, “png”, etc.

    ","parent_name":"VGSFileInfo"},"Classes/VGSFileInfo.html#/c:@M@VGSCollectSDK@objc(cs)VGSFileInfo(py)size":{"name":"size","abstract":"

    File size.

    ","parent_name":"VGSFileInfo"},"Classes/VGSFileInfo.html#/c:@M@VGSCollectSDK@objc(cs)VGSFileInfo(py)sizeUnits":{"name":"sizeUnits","abstract":"

    File size units.

    ","parent_name":"VGSFileInfo"},"Enums/VGSFileSource.html#/s:13VGSCollectSDK13VGSFileSourceO12photoLibraryyA2CmF":{"name":"photoLibrary","abstract":"

    Device photo library.

    ","parent_name":"VGSFileSource"},"Enums/VGSFileSource.html#/s:13VGSCollectSDK13VGSFileSourceO6camerayA2CmF":{"name":"camera","abstract":"

    Device camera.

    ","parent_name":"VGSFileSource"},"Enums/VGSFileSource.html#/s:13VGSCollectSDK13VGSFileSourceO18documentsDirectoryyA2CmF":{"name":"documentsDirectory","abstract":"

    Device documents directory.

    ","parent_name":"VGSFileSource"},"Protocols/VGSFilePickerControllerDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSFilePickerControllerDelegate(im)userDidPickFileWithInfo:":{"name":"userDidPickFileWithInfo(_:)","abstract":"

    On user select a file

    ","parent_name":"VGSFilePickerControllerDelegate"},"Protocols/VGSFilePickerControllerDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSFilePickerControllerDelegate(im)userDidSCancelFilePicking":{"name":"userDidSCancelFilePicking()","abstract":"

    On user canceling file picking

    ","parent_name":"VGSFilePickerControllerDelegate"},"Protocols/VGSFilePickerControllerDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSFilePickerControllerDelegate(im)filePickingFailedWithError:":{"name":"filePickingFailedWithError(_:)","abstract":"

    On error occured when user pick a file.

    ","parent_name":"VGSFilePickerControllerDelegate"},"Classes/VGSFilePickerConfiguration.html#/s:13VGSCollectSDK26VGSFilePickerConfigurationC9fieldNameSSvp":{"name":"fieldName","abstract":"

    Name that will be associated with selected file by user. Used as a JSON key on send request with file data to your organozation vault.

    ","parent_name":"VGSFilePickerConfiguration"},"Classes/VGSFilePickerConfiguration.html#/s:13VGSCollectSDK26VGSFilePickerConfigurationC9collector9fieldName10fileSourceAcA0A0C_SSAA0cJ0Otcfc":{"name":"init(collector:fieldName:fileSource:)","abstract":"

    Initialization

    ","parent_name":"VGSFilePickerConfiguration"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC8delegateAA0cdE8Delegate_pSgvp":{"name":"delegate","abstract":"

    VGSFilePickerControllerDelegate - handle user interaction on file picking.

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC13configurationAcA0cD13ConfigurationC_tcfc":{"name":"init(configuration:)","abstract":"

    Initialization

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC011presentFileD02on8animated10completionySo06UIViewE0C_SbyycSgtF":{"name":"presentFilePicker(on:animated:completion:)","abstract":"

    Present file picker view

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC011dismissFileD08animated10completionySb_yycSgtF":{"name":"dismissFilePicker(animated:completion:)","abstract":"

    Dismiss file picker view

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html":{"name":"VGSFilePickerController","abstract":"

    Controller responsible for importing files from device sources.

    "},"Classes/VGSFilePickerConfiguration.html":{"name":"VGSFilePickerConfiguration","abstract":"

    A class responsible for configuration VGSFilePickerController.

    "},"Protocols/VGSFilePickerControllerDelegate.html":{"name":"VGSFilePickerControllerDelegate","abstract":"

    Delegates produced by VGSFilePickerController.

    "},"Enums/VGSFileSource.html":{"name":"VGSFileSource","abstract":"

    Available file source destinations that VGSFilePickerController can work with.

    "},"Classes/VGSFileInfo.html":{"name":"VGSFileInfo","abstract":"

    An object that holds optional files’ metadata on selecting file through VGSFilePickerController.

    "},"Enums/VGSVaultStorageType.html#/s:13VGSCollectSDK19VGSVaultStorageTypeO10PERSISTENTyA2CmF":{"name":"PERSISTENT","abstract":"

    PERSISTENT data storage.

    ","parent_name":"VGSVaultStorageType"},"Enums/VGSVaultStorageType.html#/s:13VGSCollectSDK19VGSVaultStorageTypeO8VOLATILEyA2CmF":{"name":"VOLATILE","abstract":"

    VOLATILE data storage.

    ","parent_name":"VGSVaultStorageType"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO18FPE_ACC_NUM_T_FOURyA2CmF":{"name":"FPE_ACC_NUM_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO31FPE_ALPHANUMERIC_ACC_NUM_T_FOURyA2CmF":{"name":"FPE_ALPHANUMERIC_ACC_NUM_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO14FPE_SIX_T_FOURyA2CmF":{"name":"FPE_SIX_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO14FPE_SSN_T_FOURyA2CmF":{"name":"FPE_SSN_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO10FPE_T_FOURyA2CmF":{"name":"FPE_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO21NUM_LENGTH_PRESERVINGyA2CmF":{"name":"NUM_LENGTH_PRESERVING","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO4PFPTyA2CmF":{"name":"PFPT","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO8RAW_UUIDyA2CmF":{"name":"RAW_UUID","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO4UUIDyA2CmF":{"name":"UUID","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Structs/VGSTokenizationParameters.html#/s:13VGSCollectSDK25VGSTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSTokenizationParameters"},"Structs/VGSTokenizationParameters.html#/s:13VGSCollectSDK25VGSTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSTokenizationParameters"},"Structs/VGSSSNTokenizationParameters.html#/s:13VGSCollectSDK28VGSSSNTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSSSNTokenizationParameters"},"Structs/VGSSSNTokenizationParameters.html#/s:13VGSCollectSDK28VGSSSNTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSSSNTokenizationParameters"},"Structs/VGSExpDateTokenizationParameters.html#/s:13VGSCollectSDK32VGSExpDateTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSExpDateTokenizationParameters"},"Structs/VGSExpDateTokenizationParameters.html#/s:13VGSCollectSDK32VGSExpDateTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSExpDateTokenizationParameters"},"Structs/VGSDateTokenizationParameters.html#/s:13VGSCollectSDK29VGSDateTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSDateTokenizationParameters"},"Structs/VGSDateTokenizationParameters.html#/s:13VGSCollectSDK29VGSDateTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSDateTokenizationParameters"},"Structs/VGSCardNumberTokenizationParameters.html#/s:13VGSCollectSDK35VGSCardNumberTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSCardNumberTokenizationParameters"},"Structs/VGSCardNumberTokenizationParameters.html#/s:13VGSCollectSDK35VGSCardNumberTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSCardNumberTokenizationParameters"},"Structs/VGSCardHolderNameTokenizationParameters.html#/s:13VGSCollectSDK39VGSCardHolderNameTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSCardHolderNameTokenizationParameters"},"Structs/VGSCardHolderNameTokenizationParameters.html#/s:13VGSCollectSDK39VGSCardHolderNameTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSCardHolderNameTokenizationParameters"},"Structs/VGSCVCTokenizationParameters.html#/s:13VGSCollectSDK28VGSCVCTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSCVCTokenizationParameters"},"Structs/VGSCVCTokenizationParameters.html#/s:13VGSCollectSDK28VGSCVCTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSCVCTokenizationParameters"},"Protocols/VGSTokenizationParametersProtocol.html#/s:13VGSCollectSDK33VGSTokenizationParametersProtocolP6formatSSvp":{"name":"format","abstract":"

    Tokenization format.

    ","parent_name":"VGSTokenizationParametersProtocol"},"Protocols/VGSTokenizationParametersProtocol.html#/s:13VGSCollectSDK33VGSTokenizationParametersProtocolP7storageSSvp":{"name":"storage","abstract":"

    Storage type.

    ","parent_name":"VGSTokenizationParametersProtocol"},"Protocols/VGSTokenizationParametersProtocol.html":{"name":"VGSTokenizationParametersProtocol","abstract":"

    Parameters describing textfield input tokenization.

    "},"Structs/VGSCVCTokenizationParameters.html":{"name":"VGSCVCTokenizationParameters","abstract":"

    VGSCVCTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSCardHolderNameTokenizationParameters.html":{"name":"VGSCardHolderNameTokenizationParameters","abstract":"

    VGSCardHolderNameTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSCardNumberTokenizationParameters.html":{"name":"VGSCardNumberTokenizationParameters","abstract":"

    VGSCardTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSDateTokenizationParameters.html":{"name":"VGSDateTokenizationParameters","abstract":"

    VGSDateTokenizationParameters - parameters required for tokenization API

    "},"Structs/VGSExpDateTokenizationParameters.html":{"name":"VGSExpDateTokenizationParameters","abstract":"

    VGSExpDateTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSSSNTokenizationParameters.html":{"name":"VGSSSNTokenizationParameters","abstract":"

    VGSSSNTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSTokenizationParameters.html":{"name":"VGSTokenizationParameters","abstract":"

    VGSTokenizationParameters - parameters required for tokenization api.

    "},"Enums/VGSVaultAliasFormat.html":{"name":"VGSVaultAliasFormat","abstract":"

    Type of Alias format. Read more about avaliable formats: https://www.verygoodsecurity.com/docs/terminology/nomenclature#alias-formats .

    "},"Enums/VGSVaultStorageType.html":{"name":"VGSVaultStorageType","abstract":"

    Type of VGS Vault storage.

    "},"Enums/VGSTextFieldInputSource.html#/s:13VGSCollectSDK23VGSTextFieldInputSourceO8keyboardyA2CmF":{"name":"keyboard","abstract":"

    UIKeyboard input type.

    ","parent_name":"VGSTextFieldInputSource"},"Enums/VGSTextFieldInputSource.html#/s:13VGSCollectSDK23VGSTextFieldInputSourceO10datePickeryA2CmF":{"name":"datePicker","abstract":"

    UIDatePicker input type.

    ","parent_name":"VGSTextFieldInputSource"},"Structs/VGSDate.html#/s:13VGSCollectSDK7VGSDateV12dayFormattedSSvp":{"name":"dayFormatted","abstract":"

    Get the day formatted value, for example if the day is 1 it is returned as 01

    ","parent_name":"VGSDate"},"Structs/VGSDate.html#/s:13VGSCollectSDK7VGSDateV14monthFormattedSSvp":{"name":"monthFormatted","abstract":"

    Get the month formatted value, for example if the month is 3 it is returned as 03

    ","parent_name":"VGSDate"},"Structs/VGSDate.html#/s:13VGSCollectSDK7VGSDateV3day5month4yearACSgSi_S2itcfc":{"name":"init(day:month:year:)","abstract":"

    Create a new instance of a VGSDate object, if the date is not valid, it returns nil

    ","parent_name":"VGSDate"},"Enums/VGSDateFormat.html#/s:13VGSCollectSDK13VGSDateFormatO07displayD0SSvp":{"name":"displayFormat","abstract":"

    Date format used for display in UI

    ","parent_name":"VGSDateFormat"},"Enums/VGSDateFormat.html#/s:13VGSCollectSDK13VGSDateFormatO7defaultACvpZ":{"name":"default","abstract":"

    Default format

    ","parent_name":"VGSDateFormat"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO4noneyA2CmF":{"name":"none","abstract":"

    Field type that doesn’t require any input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO10cardNumberyA2CmF":{"name":"cardNumber","abstract":"

    Field type that requires Credit Card Number input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO7expDateyA2CmF":{"name":"expDate","abstract":"

    Field type that requires Expiration Date input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO4dateyA2CmF":{"name":"date","abstract":"

    Field type that requires Date input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO3cvcyA2CmF":{"name":"cvc","abstract":"

    Field type that requires Credit Card CVC input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO14cardHolderNameyA2CmF":{"name":"cardHolderName","abstract":"

    Field type that requires Cardholder Name input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO3ssnyA2CmF":{"name":"ssn","abstract":"

    Field type that requires US Social Security Number input formatting and validation.

    ","parent_name":"FieldType"},"Protocols/VGSExpDateConfigurationProtocol.html#/s:13VGSCollectSDK31VGSExpDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputH0Ovp":{"name":"inputSource","abstract":"

    Input Source type.

    ","parent_name":"VGSExpDateConfigurationProtocol"},"Protocols/VGSExpDateConfigurationProtocol.html#/s:13VGSCollectSDK31VGSExpDateConfigurationProtocolP05inputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSExpDateConfigurationProtocol"},"Protocols/VGSExpDateConfigurationProtocol.html#/s:13VGSCollectSDK31VGSExpDateConfigurationProtocolP06outputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateConfigurationProtocol"},"Protocols/VGSDateConfigurationProtocol.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","abstract":"

    Input source type.

    ","parent_name":"VGSDateConfigurationProtocol"},"Protocols/VGSDateConfigurationProtocol.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP15inputDateFormatAA0cH0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSDateConfigurationProtocol"},"Protocols/VGSDateConfigurationProtocol.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP16outputDateFormatAA0cH0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format to convert.

    ","parent_name":"VGSDateConfigurationProtocol"},"Classes/VGSTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSTokenizationConfigurationC22tokenizationParametersAA0cF0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSTokenizationConfiguration"},"Classes/VGSSSNTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSSSNTokenizationConfigurationC22tokenizationParametersAA0cF0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSSSNTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSSSNTokenizationConfiguration"},"Classes/VGSSSNTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSSSNTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.ssn type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSSSNTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.expDate type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC11inputSourceAA017VGSTextFieldInputH0Ovp":{"name":"inputSource","abstract":"

    Input Source type. Default is VGSTextFieldInputSource.datePicker.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC05inputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC06outputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC22tokenizationParametersAA0cdeH0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSExpDateTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC11serializersSayAA27VGSFormatSerializerProtocol_pGvp":{"name":"serializers","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK32VGSDateTokenizationConfigurationC9collector9fieldName19datePickerStartDate0ij3EndL0AcA0A0C_SSAA0C0VSgALtcfc":{"name":"init(collector:fieldName:datePickerStartDate:datePickerEndDate:)","abstract":"

    Initialization","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK32VGSDateTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    Super initializer

    ","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP15inputDateFormatAA0cH0OSgvp":{"name":"inputDateFormat","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP16outputDateFormatAA0cH0OSgvp":{"name":"outputDateFormat","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSCVCTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSCVCTokenizationConfigurationC22tokenizationParametersAA0cF0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSCVCTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSCVCTokenizationConfiguration"},"Classes/VGSCVCTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSCVCTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.cvc type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSCVCTokenizationConfiguration"},"Classes/VGSCardNumberTokenizationConfiguration.html#/s:13VGSCollectSDK38VGSCardNumberTokenizationConfigurationC22tokenizationParametersAA0cdeH0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSCardTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSCardNumberTokenizationConfiguration"},"Classes/VGSCardNumberTokenizationConfiguration.html#/s:13VGSCollectSDK38VGSCardNumberTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.cardNumber type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSCardNumberTokenizationConfiguration"},"Classes/VGSCardHolderNameTokenizationConfiguration.html#/s:13VGSCollectSDK42VGSCardHolderNameTokenizationConfigurationC22tokenizationParametersAA0cdefI0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSCardHolderNameTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSCardHolderNameTokenizationConfiguration"},"Classes/VGSCardHolderNameTokenizationConfiguration.html#/s:13VGSCollectSDK42VGSCardHolderNameTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.cardHolderName type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSCardHolderNameTokenizationConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC9collector9fieldName19datePickerStartDate0hi3EndK0AcA0A0C_SSAA0C0VSgALtcfc":{"name":"init(collector:fieldName:datePickerStartDate:datePickerEndDate:)","abstract":"

    Initialization","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    Super initializer

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP15inputDateFormatAA0cH0OSgvp":{"name":"inputDateFormat","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP16outputDateFormatAA0cH0OSgvp":{"name":"outputDateFormat","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC15validYearsCountSivpZ":{"name":"validYearsCount","abstract":"

    Amount of years used to calculate the minimun and maximun date picker default dates

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC23minValidPickerStartDateAA0C0VvpZ":{"name":"minValidPickerStartDate","abstract":"

    Minimun date picker start date, current year minus validYearsCount

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC21maxValidPickerEndDateAA0C0VvpZ":{"name":"maxValidPickerEndDate","abstract":"

    Maximun date picker valid end date, current year plus validYearsCount

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.expDate type of VGSTextField configuration.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","abstract":"

    Input Source type. Default is VGSTextFieldInputSource.datePicker.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC05inputD6FormatAA010VGSCardExpdG0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC06outputD6FormatAA010VGSCardExpdG0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC11serializersSayAA27VGSFormatSerializerProtocol_pGvp":{"name":"serializers","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC12vgsCollectorAA0A0CSgvp":{"name":"vgsCollector","abstract":"

    Collect form that will be assiciated with VGSTextField.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    Type of field congfiguration. Default is FieldType.none.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC9fieldNameSSvp":{"name":"fieldName","abstract":"

    Name that will be associated with VGSTextField and used as a JSON key on send request with textfield data to your organozation vault.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC10isRequiredSbvp":{"name":"isRequired","abstract":"

    Set if VGSTextField is required to be non-empty and non-nil on send request. Default is false.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC19isRequiredValidOnlySbvp":{"name":"isRequiredValidOnly","abstract":"

    Set if VGSTextField is required to be valid only on send request. Default is false.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC13formatPatternSSSgvp":{"name":"formatPattern","abstract":"

    Input data visual format pattern. If not applied, will be set by default depending on field type.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC7dividerSSSgvp":{"name":"divider","abstract":"

    String, used to replace not default VGSConfiguration.formatPattern characters in input text on send request.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC12keyboardTypeSo010UIKeyboardE0VSgvp":{"name":"keyboardType","abstract":"

    Preferred UIKeyboardType for VGSTextField. If not applied, will be set by default depending on field type parameter.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC13returnKeyTypeSo08UIReturneF0VSgvp":{"name":"returnKeyType","abstract":"

    Preferred UIReturnKeyType for VGSTextField.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC18keyboardAppearanceSo010UIKeyboardE0VSgvp":{"name":"keyboardAppearance","abstract":"

    Preferred UIKeyboardAppearance for textfield. By default is UIKeyboardAppearance.default.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC15validationRulesAA20VGSValidationRuleSetVSgvp":{"name":"validationRules","abstract":"

    Validation rules for field input. Defines State.isValide result.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC14maxInputLengthSiSgvp":{"name":"maxInputLength","abstract":"

    Max input length. IMPORTANT! Can conflict with .formatPattern attribute.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC9collector9fieldNameAcA0A0C_SStcfc":{"name":"init(collector:fieldName:)","abstract":"

    Initialization

    ","parent_name":"VGSConfiguration"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidBeginEditing:":{"name":"vgsTextFieldDidBeginEditing(_:)","abstract":"

    VGSTextField did become first responder.

    ","parent_name":"VGSTextFieldDelegate"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidEndEditing:":{"name":"vgsTextFieldDidEndEditing(_:)","abstract":"

    VGSTextField did resign first responder.

    ","parent_name":"VGSTextFieldDelegate"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidEndEditingOnReturn:":{"name":"vgsTextFieldDidEndEditingOnReturn(_:)","abstract":"

    VGSTextField did resign first responder on Return button pressed.

    ","parent_name":"VGSTextFieldDelegate"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidChange:":{"name":"vgsTextFieldDidChange(_:)","abstract":"

    VGSTextField input changed.

    ","parent_name":"VGSTextFieldDelegate"},"Classes/VGSCVCTextField/CVCIconLocation.html#/s:13VGSCollectSDK15VGSCVCTextFieldC15CVCIconLocationO4leftyA2EmF":{"name":"left","abstract":"

    CVC icon at left side of VGSCardTextField.

    ","parent_name":"CVCIconLocation"},"Classes/VGSCVCTextField/CVCIconLocation.html#/s:13VGSCollectSDK15VGSCVCTextFieldC15CVCIconLocationO5rightyA2EmF":{"name":"right","abstract":"

    CVC icon at right side of VGSCardTextField.

    ","parent_name":"CVCIconLocation"},"Classes/VGSCVCTextField/CVCIconLocation.html":{"name":"CVCIconLocation","abstract":"

    Available CVC icon positions enum.

    ","parent_name":"VGSCVCTextField"},"Classes/VGSCVCTextField.html#/s:13VGSCollectSDK15VGSCVCTextFieldC15cvcIconLocationAC07CVCIconG0Ovp":{"name":"cvcIconLocation","abstract":"

    CVC icon position inside VGSCardTextField.

    ","parent_name":"VGSCVCTextField"},"Classes/VGSCVCTextField.html#/s:13VGSCollectSDK15VGSCVCTextFieldC11cvcIconSizeSo6CGSizeVvp":{"name":"cvcIconSize","abstract":"

    CVC icon size.

    ","parent_name":"VGSCVCTextField"},"Classes/VGSCVCTextField.html#/c:@M@VGSCollectSDK@objc(cs)VGSCVCTextField(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

    The natural size for the Textfield, considering only properties of the view itself.

    ","parent_name":"VGSCVCTextField"},"Classes/VGSCVCTextField.html#/s:13VGSCollectSDK15VGSCVCTextFieldC13cvcIconSourceSo7UIImageCSgAA15VGSPaymentCardsC9CardBrandOcSgvp":{"name":"cvcIconSource","abstract":"

    Asks custom image for specific VGSPaymentCards.CardBrand

    ","parent_name":"VGSCVCTextField"},"Classes/VGSDateTextField/MonthFormat.html#/s:13VGSCollectSDK16VGSDateTextFieldC11MonthFormatO12shortSymbolsyA2EmF":{"name":"shortSymbols","abstract":"

    Short month name, e.g.: Jan

    ","parent_name":"MonthFormat"},"Classes/VGSDateTextField/MonthFormat.html#/s:13VGSCollectSDK16VGSDateTextFieldC11MonthFormatO11longSymbolsyA2EmF":{"name":"longSymbols","abstract":"

    Long month name, e.g.: January

    ","parent_name":"MonthFormat"},"Classes/VGSDateTextField/MonthFormat.html#/s:13VGSCollectSDK16VGSDateTextFieldC11MonthFormatO7numbersyA2EmF":{"name":"numbers","abstract":"

    Month number: e.g.: 01

    ","parent_name":"MonthFormat"},"Classes/VGSDateTextField/MonthFormat.html":{"name":"MonthFormat","abstract":"

    Available month Label formats in UIPickerView

    ","parent_name":"VGSDateTextField"},"Classes/VGSDateTextField.html#/s:13VGSCollectSDK16VGSDateTextFieldC17monthPickerFormatAC05MonthH0Ovp":{"name":"monthPickerFormat","abstract":"

    UIPickerView month label format

    ","parent_name":"VGSDateTextField"},"Classes/VGSDateTextField.html#/s:13VGSCollectSDK16VGSDateTextFieldC13configurationAA16VGSConfigurationCSgvp":{"name":"configuration","parent_name":"VGSDateTextField"},"Classes/VGSExpDateTextField/YearFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC10YearFormatO5shortyA2EmF":{"name":"short","abstract":"

    Two digits year format, e.g.: 21

    ","parent_name":"YearFormat"},"Classes/VGSExpDateTextField/YearFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC10YearFormatO4longyA2EmF":{"name":"long","abstract":"

    Four digits year format:, e.g.:2021

    ","parent_name":"YearFormat"},"Classes/VGSExpDateTextField/MonthFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC11MonthFormatO12shortSymbolsyA2EmF":{"name":"shortSymbols","abstract":"

    Short month name, e.g.: Jan

    ","parent_name":"MonthFormat"},"Classes/VGSExpDateTextField/MonthFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC11MonthFormatO11longSymbolsyA2EmF":{"name":"longSymbols","abstract":"

    Long month name, e.g.: January

    ","parent_name":"MonthFormat"},"Classes/VGSExpDateTextField/MonthFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC11MonthFormatO7numbersyA2EmF":{"name":"numbers","abstract":"

    Month number: e.g.: 01

    ","parent_name":"MonthFormat"},"Classes/VGSExpDateTextField/MonthFormat.html":{"name":"MonthFormat","abstract":"

    Available Month Label formats in UIPickerView

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSExpDateTextField/YearFormat.html":{"name":"YearFormat","abstract":"

    Available Year Label formats in UIPickerView

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSExpDateTextField.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC17monthPickerFormatAC05MonthI0Ovp":{"name":"monthPickerFormat","abstract":"

    UIPickerView Month Label format

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSExpDateTextField.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC16yearPickerFormatAC04YearI0Ovp":{"name":"yearPickerFormat","abstract":"

    UIPickerView Year Label format

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSCardTextField/CardIconLocation.html#/s:13VGSCollectSDK16VGSCardTextFieldC16CardIconLocationO4leftyA2EmF":{"name":"left","abstract":"

    Card brand icon at left side of VGSCardTextField.

    ","parent_name":"CardIconLocation"},"Classes/VGSCardTextField/CardIconLocation.html#/s:13VGSCollectSDK16VGSCardTextFieldC16CardIconLocationO5rightyA2EmF":{"name":"right","abstract":"

    Card brand icon at right side of VGSCardTextField.

    ","parent_name":"CardIconLocation"},"Classes/VGSCardTextField/CardIconLocation.html":{"name":"CardIconLocation","abstract":"

    Available Card brand icon positions enum.

    ","parent_name":"VGSCardTextField"},"Classes/VGSCardTextField.html#/s:13VGSCollectSDK16VGSCardTextFieldC16cardIconLocationAC04CardgH0Ovp":{"name":"cardIconLocation","abstract":"

    Card brand icon position inside VGSCardTextField.

    ","parent_name":"VGSCardTextField"},"Classes/VGSCardTextField.html#/s:13VGSCollectSDK16VGSCardTextFieldC12cardIconSizeSo6CGSizeVvp":{"name":"cardIconSize","abstract":"

    Card brand icon size.

    ","parent_name":"VGSCardTextField"},"Classes/VGSCardTextField.html#/s:13VGSCollectSDK16VGSCardTextFieldC15cardsIconSourceSo7UIImageCSgAA15VGSPaymentCardsC9CardBrandOcSgvp":{"name":"cardsIconSource","abstract":"

    Asks custom image for specific VGSPaymentCards.CardBrand

    ","parent_name":"VGSCardTextField"},"Classes/VGSCardTextField.html#/c:@M@VGSCollectSDK@objc(cs)VGSCardTextField(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

    The natural size for the Textfield, considering only properties of the view itself.

    ","parent_name":"VGSCardTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC11placeholderSSSgvp":{"name":"placeholder","abstract":"

    Textfield placeholder string.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC22autocapitalizationTypeSo024UITextAutocapitalizationF0Vvp":{"name":"autocapitalizationType","abstract":"

    Textfield autocapitalization type. Default is .sentences.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC17spellCheckingTypeSo011UITextSpellfG0Vvp":{"name":"spellCheckingType","abstract":"

    Textfield spell checking type. Default is UITextSpellCheckingType.default.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC21attributedPlaceholderSo18NSAttributedStringCSgvp":{"name":"attributedPlaceholder","abstract":"

    Textfield attributedPlaceholder string.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@M@VGSCollectSDK@objc(cs)VGSTextField(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

    The natural size for the Textfield, considering only properties of the view itself.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC7paddingSo12UIEdgeInsetsVvp":{"name":"padding","abstract":"

    UIEdgeInsets for text and placeholder inside VGSTextField.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC13textAlignmentSo06NSTextF0Vvp":{"name":"textAlignment","abstract":"

    The technique to use for aligning the text.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC15clearButtonModeSo06UITextd4ViewG0Vvp":{"name":"clearButtonMode","abstract":"

    Sets when the clear button shows up. Default is UITextField.ViewMode.never

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC17isSecureTextEntrySbvp":{"name":"isSecureTextEntry","abstract":"

    Identifies whether the text object should disable text copying and in some cases hide the text being entered. Default is false.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC33adjustsFontForContentSizeCategorySbvp":{"name":"adjustsFontForContentSizeCategory","abstract":"

    Indicates whether VGSTextField should automatically update its font when the device’s UIContentSizeCategory is changed.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC21keyboardAccessoryViewSo6UIViewCSgvp":{"name":"keyboardAccessoryView","abstract":"

    Input Accessory View

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC18autocorrectionTypeSo020UITextAutocorrectionF0Vvp":{"name":"autocorrectionType","abstract":"

    Determines whether autocorrection is enabled or disabled during typing.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC04textD18AccessibilityLabelSSSgvp":{"name":"textFieldAccessibilityLabel","abstract":"

    A succinct label in a localized string that identifies the accessibility text field.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC04textD17AccessibilityHintSSSgvp":{"name":"textFieldAccessibilityHint","abstract":"

    A localized string that contains a brief description of the result of","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC04textD22IsAccessibilityElementSbvp":{"name":"textFieldIsAccessibilityElement","abstract":"

    Boolean value that determinates if the text field should be exposed as an accesibility element.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC13configurationAA16VGSConfigurationCSgvp":{"name":"configuration","abstract":"

    Specifies VGSTextField configuration parameters to work with VGSCollect.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC8delegateAA0cD8Delegate_pSgvp":{"name":"delegate","abstract":"

    Delegates VGSTextField editing events. Default is nil.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC14setDefaultTextyySSSgF":{"name":"setDefaultText(_:)","abstract":"

    Set textfield default text.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC9cleanTextyyF":{"name":"cleanText()","abstract":"

    Removes input from field.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC14isContentEqualySbACF":{"name":"isContentEqual(_:)","abstract":"

    Check if input text in two textfields is same. Returns Bool.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC4fontSo6UIFontCSgvp":{"name":"font","abstract":"

    VGSTextField text font

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)textColor":{"name":"textColor","abstract":"

    VGSTextField text color

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)cornerRadius":{"name":"cornerRadius","abstract":"

    VGSTextField layer corner radius

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)borderWidth":{"name":"borderWidth","abstract":"

    VGSTextField layer borderWidth

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)borderColor":{"name":"borderColor","abstract":"

    VGSTextField layer borderColor

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC14statePublisherAA0cd5StateF0Vvp":{"name":"statePublisher","abstract":"

    VGSTextFieldStatePublisher publisher that emits the State of a given VGSTextField.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(im)becomeFirstResponder":{"name":"becomeFirstResponder()","abstract":"

    Make VGSTextField focused.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(im)resignFirstResponder":{"name":"resignFirstResponder()","abstract":"

    Remove focus from VGSTextField.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)isFirstResponder":{"name":"isFirstResponder","abstract":"

    Check if VGSTextField is focused.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html":{"name":"VGSTextField","abstract":"

    An object that displays an editable text area in user interface.

    "},"Classes/VGSCardTextField.html":{"name":"VGSCardTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to detect and show credit card brand images.

    "},"Classes/VGSExpDateTextField.html":{"name":"VGSExpDateTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to show picker view with Card Number Expiration Month and Year.

    "},"Classes/VGSDateTextField.html":{"name":"VGSDateTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to show picker view with a Date. It support to define a range of valid dates to select from.

    "},"Classes/VGSCVCTextField.html":{"name":"VGSCVCTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to show CVC/CVV images for credit card brands.

    "},"Protocols/VGSTextFieldDelegate.html":{"name":"VGSTextFieldDelegate","abstract":"

    Delegates produced by VGSTextField instance.

    "},"Classes/VGSConfiguration.html":{"name":"VGSConfiguration","abstract":"

    A class responsible for configuration VGSTextField.

    "},"Classes/VGSExpDateConfiguration.html":{"name":"VGSExpDateConfiguration","abstract":"

    A class responsible for configuration VGSTextField with fieldType = .expDate. Extends VGSConfiguration class.

    "},"Classes/VGSDateConfiguration.html":{"name":"VGSDateConfiguration","abstract":"

    Class responsible for configuration VGSDateTextField or VGSTextField with fieldType = .date. Extends VGSConfiguration

    "},"Classes/VGSCardHolderNameTokenizationConfiguration.html":{"name":"VGSCardHolderNameTokenizationConfiguration","abstract":"

    VGSCardHolderNameTokenizationConfiguration - textfield configuration for textfield with type .cardHolderName, required for work with tokenization api.

    "},"Classes/VGSCardNumberTokenizationConfiguration.html":{"name":"VGSCardNumberTokenizationConfiguration","abstract":"

    VGSCardTokenizationConfiguration - textfield configuration for textfield with type .cardNumber, required for work with tokenization api.

    "},"Classes/VGSCVCTokenizationConfiguration.html":{"name":"VGSCVCTokenizationConfiguration","abstract":"

    VGSCVCTokenizationConfiguration - textfield configuration for textfield with type .cvc, required for work with tokenization api.

    "},"Classes/VGSDateTokenizationConfiguration.html":{"name":"VGSDateTokenizationConfiguration","abstract":"

    Class responsible for configuration VGSDateTextField or VGSTextField with fieldType = .date."},"Classes/VGSExpDateTokenizationConfiguration.html":{"name":"VGSExpDateTokenizationConfiguration","abstract":"

    VGSExpDateTokenizationConfiguration - textfield configuration for textfield with type .expDate, required for work with tokenization api.

    "},"Classes/VGSSSNTokenizationConfiguration.html":{"name":"VGSSSNTokenizationConfiguration","abstract":"

    VGSSSNTokenizationConfiguration - textfield configuration for textfield with type .ssn, required for work with tokenization api.

    "},"Classes/VGSTokenizationConfiguration.html":{"name":"VGSTokenizationConfiguration","abstract":"

    VGSTokenizationConfiguration - textfield configuration for textfield with any type of data, required for work with tokenization api.

    "},"Protocols/VGSDateConfigurationProtocol.html":{"name":"VGSDateConfigurationProtocol","abstract":"

    Define the methods and properties the date configuration must have

    "},"Protocols/VGSExpDateConfigurationProtocol.html":{"name":"VGSExpDateConfigurationProtocol","abstract":"

    Attributes required to configure date format and input source for field with type .expDate.

    "},"Enums/FieldType.html":{"name":"FieldType","abstract":"

    Type of VGSTextField configuration.

    "},"Enums/VGSDateFormat.html":{"name":"VGSDateFormat","abstract":"

    Format used to validate a VGS date text input

    "},"Structs/VGSDate.html":{"name":"VGSDate","abstract":"

    Struct that represents a date including year, month and day. It doesn’t include hours, minutes or seconds.

    "},"Enums/VGSTextFieldInputSource.html":{"name":"VGSTextFieldInputSource","abstract":"

    Type of VGSTextField input source.

    "},"UI%20Elements.html":{"name":"UI Elements"},"Tokenization%20Parameters.html":{"name":"Tokenization Parameters"},"File%20Picker.html":{"name":"File Picker"},"Observe%20State%20and%20Send%20Data.html":{"name":"Observe State and Send Data"},"Payment%20Cards.html":{"name":"Payment Cards"},"VGSTextField%20Serializers.html":{"name":"VGSTextField Serializers"},"Validation%20Rules.html":{"name":"Validation Rules"},"Errors.html":{"name":"Errors"},"Error%20Keys.html":{"name":"Error Keys"},"Debugging.html":{"name":"Debugging"},"Enumerations.html":{"name":"Enumerations"}} \ No newline at end of file diff --git a/docs/docsets/VGSCollectSDK.docset/Contents/Resources/docSet.dsidx b/docs/docsets/VGSCollectSDK.docset/Contents/Resources/docSet.dsidx index 44964692b5dc7acd06ae9c2f8176f25b927bde45..baf2b4f66c1cfe93be14659eaab92b1a7dc5b414 100644 GIT binary patch delta 3386 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≥dIuGQ;HQ1mSPdk%~01f)7*hUTfyB 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 z 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

    )3M$%pRdz3jwC}c1(&X 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

    diff --git a/docs/search.json b/docs/search.json index 6096e6fd..b17f4ab6 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO8flatJSONyA2CmF":{"name":"flatJSON","abstract":"

    Map fieldName to JSON without applying any transformations.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO10nestedJSONyA2CmF":{"name":"nestedJSON","abstract":"

    Map fieldName to nested JSON.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO24nestedJSONWithArrayMergeyA2CmF":{"name":"nestedJSONWithArrayMerge","abstract":"

    Map field name to nested JSON and array if array index is specified.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO28nestedJSONWithArrayOverwriteyA2CmF":{"name":"nestedJSONWithArrayOverwrite","abstract":"

    Map field name to nested JSON and array if array index is specified.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO9shortYearyA2CmF":{"name":"shortYear","abstract":"

    Exp.Date in format mm/yy: 01/22

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO8longYearyA2CmF":{"name":"longYear","abstract":"

    Exp.Date in format mm/yyyy: 01/2022

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO18shortYearThenMonthyA2CmF":{"name":"shortYearThenMonth","abstract":"

    Exp.Date in format yy/mm: 22/01

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO17longYearThenMonthyA2CmF":{"name":"longYearThenMonth","abstract":"

    Exp.Date in format yy/mm: 2022/01

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html":{"name":"VGSCardExpDateFormat","abstract":"

    Payment Card Expiration Date Format

    "},"Enums/VGSCollectFieldNameMappingPolicy.html":{"name":"VGSCollectFieldNameMappingPolicy","abstract":"

    Defines fieldName mapping to JSON.

    "},"Structs/VGSCollectLoggingConfiguration.html#/s:13VGSCollectSDK0A20LoggingConfigurationV5levelAA11VGSLogLevelOvp":{"name":"level","abstract":"

    Log level. Default is .none.

    ","parent_name":"VGSCollectLoggingConfiguration"},"Structs/VGSCollectLoggingConfiguration.html#/s:13VGSCollectSDK0A20LoggingConfigurationV21isNetworkDebugEnabledSbvp":{"name":"isNetworkDebugEnabled","abstract":"

    Bool flag. Specify true to record VGSCollectSDK network session with success/failed requests. Default is false.

    ","parent_name":"VGSCollectLoggingConfiguration"},"Structs/VGSCollectLoggingConfiguration.html#/s:13VGSCollectSDK0A20LoggingConfigurationV23isExtensiveDebugEnabledSbvp":{"name":"isExtensiveDebugEnabled","abstract":"

    Bool flag. Specify true to enable extensive debugging. Default is false.

    ","parent_name":"VGSCollectLoggingConfiguration"},"Enums/VGSLogLevel.html#/s:13VGSCollectSDK11VGSLogLevelO4infoyA2CmF":{"name":"info","abstract":"

    Log all events including errors and warnings.

    ","parent_name":"VGSLogLevel"},"Enums/VGSLogLevel.html#/s:13VGSCollectSDK11VGSLogLevelO7warningyA2CmF":{"name":"warning","abstract":"

    Log only events indicating warnings and errors.

    ","parent_name":"VGSLogLevel"},"Enums/VGSLogLevel.html#/s:13VGSCollectSDK11VGSLogLevelO4noneyA2CmF":{"name":"none","abstract":"

    Log no events.

    ","parent_name":"VGSLogLevel"},"Classes/VGSCollectLogger.html#/s:13VGSCollectSDK0A6LoggerC6sharedACvpZ":{"name":"shared","abstract":"

    Shared instance.

    ","parent_name":"VGSCollectLogger"},"Classes/VGSCollectLogger.html#/s:13VGSCollectSDK0A6LoggerC13configurationAA0A20LoggingConfigurationVvp":{"name":"configuration","abstract":"

    Logging configuration. Check VGSCollectLoggingConfiguration for logging options.

    ","parent_name":"VGSCollectLogger"},"Classes/VGSCollectLogger.html#/s:13VGSCollectSDK0A6LoggerC17disableAllLoggersyyF":{"name":"disableAllLoggers()","abstract":"

    Stop logging all activities.

    ","parent_name":"VGSCollectLogger"},"Classes/VGSCollectLogger.html":{"name":"VGSCollectLogger","abstract":"

    VGSCollectLogger encapsulates logging logic and debugging options for VGSCollectSDK. Use .configuration property to setup these options. VGSCollectLogger logging implies only printing logs to Xcode console. It doesn’t save logs to persistent store/local file, also it doesn’t send debugging logs to backend services."},"Enums/VGSLogLevel.html":{"name":"VGSLogLevel","abstract":"

    Defines levels of logging.

    "},"Structs/VGSCollectLoggingConfiguration.html":{"name":"VGSCollectLoggingConfiguration","abstract":"

    Holds configuration for VGSCollectSDK logging.

    "},"Error%20Keys.html#/s:13VGSCollectSDK30VGSSDKErrorInputDataIsNotValidSSvp":{"name":"VGSSDKErrorInputDataIsNotValid","abstract":"

    Error key, used for errors when input data is required to be not empty or to be valid only, but is not valid.

    "},"Error%20Keys.html#/s:13VGSCollectSDK28VGSSDKErrorInputDataRequiredSSvp":{"name":"VGSSDKErrorInputDataRequired","abstract":"

    Error key, used for errors when input data is required to be not empty but is empty or nil.

    "},"Error%20Keys.html#/s:13VGSCollectSDK33VGSSDKErrorInputDataRequiredValidSSvp":{"name":"VGSSDKErrorInputDataRequiredValid","abstract":"

    Error key, used for errors when input data is required to be valid is not valid.

    "},"Error%20Keys.html#/s:13VGSCollectSDK23VGSSDKErrorFileNotFoundSSvp":{"name":"VGSSDKErrorFileNotFound","abstract":"

    Error key, used for errors when SDK can’t find the file at file path. Can happened when file changes the path or doesn’t exist.

    "},"Error%20Keys.html#/s:13VGSCollectSDK31VGSSDKErrorFileTypeNotSupportedSSvp":{"name":"VGSSDKErrorFileTypeNotSupported","abstract":"

    Error key, used for errors when file type is not supported by SDK.

    "},"Error%20Keys.html#/s:13VGSCollectSDK34VGSSDKErrorFileSizeExceedsTheLimitSSvp":{"name":"VGSSDKErrorFileSizeExceedsTheLimit","abstract":"

    Error key, used for errors when file size exceeds maximum limit.

    "},"Error%20Keys.html#/s:13VGSCollectSDK29VGSSDKErrorSourceNotAvailableSSvp":{"name":"VGSSDKErrorSourceNotAvailable","abstract":"

    Error key, used for errors when SDK can’t get access to specific source.

    "},"Error%20Keys.html#/s:13VGSCollectSDK39VGSSDKErrorUnexpectedResponseDataFormatSSvp":{"name":"VGSSDKErrorUnexpectedResponseDataFormat","abstract":"

    Error key, used for errors when response for SDK API request is in format that not supported by SDK.

    "},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO7patternyA2CmF":{"name":"pattern","abstract":"

    Default Validation error for VGSValidationRulePattern

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO6lengthyA2CmF":{"name":"length","abstract":"

    Default Validation error for VGSValidationRuleLength

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO12lengthMathesyA2CmF":{"name":"lengthMathes","abstract":"

    Default Validation error for VGSValidationRuleLength

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO7expDateyA2CmF":{"name":"expDate","abstract":"

    Default Validation error for VGSValidationRuleCardExpirationDate

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO4dateyA2CmF":{"name":"date","abstract":"

    Default Validation error for VGSValidationRuleDateRange

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO10cardNumberyA2CmF":{"name":"cardNumber","abstract":"

    Default Validation error for VGSValidationRulePaymentCard

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO9luhnCheckyA2CmF":{"name":"luhnCheck","abstract":"

    Default Validation error for VGSValidationRuleLuhnCheck

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO19inputDataIsNotValidyA2CmF":{"name":"inputDataIsNotValid","abstract":"

    When input data is not valid, but required to be valid

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO17inputFileNotFoundyA2CmF":{"name":"inputFileNotFound","abstract":"

    When can’t find file on device

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO09inputFileD14IsNotSupportedyA2CmF":{"name":"inputFileTypeIsNotSupported","abstract":"

    When can’t find file on device

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO28inputFileSizeExceedsTheLimityA2CmF":{"name":"inputFileSizeExceedsTheLimit","abstract":"

    When file size is larger then allowed limit

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO18sourceNotAvailableyA2CmF":{"name":"sourceNotAvailable","abstract":"

    When can’t get access to file source

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO018unexpectedResponseD0yA2CmF":{"name":"unexpectedResponseType","abstract":"

    When response type is not supported

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO28unexpectedResponseDataFormatyA2CmF":{"name":"unexpectedResponseDataFormat","abstract":"

    When reponse data format is not supported

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO23invalidConfigurationURLyA2CmF":{"name":"invalidConfigurationURL","abstract":"

    When VGS config URL is not valid.

    ","parent_name":"VGSErrorType"},"Classes/VGSError.html#/s:13VGSCollectSDK8VGSErrorC4typeAA0C4TypeOSgvp":{"name":"type","abstract":"

    VGSErrorType- required for each VGSError instance

    ","parent_name":"VGSError"},"Classes/VGSError.html#/c:@M@VGSCollectSDK@objc(cs)VGSError(py)code":{"name":"code","abstract":"

    Code assiciated with VGSErrorType

    ","parent_name":"VGSError"},"Classes/VGSError.html#/c:@M@VGSCollectSDK@objc(cs)VGSError(im)initWithCoder:":{"name":"init(coder:)","abstract":"

    : nodoc. Public required init.

    ","parent_name":"VGSError"},"Classes/VGSError.html":{"name":"VGSError","abstract":"

    An error produced by VGSCollectSDK. Works similar to default NSError in iOS.

    "},"Enums/VGSErrorType.html":{"name":"VGSErrorType","abstract":"

    Type of VGSError and it status code.

    "},"Errors.html#/s:13VGSCollectSDK0A14SDKErrorDomainSSvp":{"name":"VGSCollectSDKErrorDomain","abstract":"

    An error domain string used to produce VGSError from VGSCollectSDK - “vgscollect.sdk”

    "},"Errors.html#/s:13VGSCollectSDK18VGSValidationErrora":{"name":"VGSValidationError","abstract":"

    VGS Validation Error object type

    "},"Enums/VGSValidationErrorType.html":{"name":"VGSValidationErrorType","abstract":"

    Default validation error types

    "},"Enums/CheckSumAlgorithmType.html#/s:13VGSCollectSDK21CheckSumAlgorithmTypeO4luhnyA2CmF":{"name":"luhn","abstract":"

    Luhn Algorithm

    ","parent_name":"CheckSumAlgorithmType"},"Enums/CheckSumAlgorithmType.html#/s:13VGSCollectSDK21CheckSumAlgorithmTypeO8validateySbSSF":{"name":"validate(_:)","abstract":"

    Validate input String with specified algorithm.

    ","parent_name":"CheckSumAlgorithmType"},"Structs/VGSValidationRuleDateRange.html#/s:13VGSCollectSDK26VGSValidationRuleDateRangeV10dateFormatAA07VGSDateH0Ovp":{"name":"dateFormat","abstract":"

    Date format used to validate the rule

    ","parent_name":"VGSValidationRuleDateRange"},"Structs/VGSValidationRuleDateRange.html#/s:13VGSCollectSDK26VGSValidationRuleDateRangeV5errorSSvp":{"name":"error","abstract":"

    Error used in case the validation is invalid

    ","parent_name":"VGSValidationRuleDateRange"},"Structs/VGSValidationRuleDateRange.html#/s:13VGSCollectSDK26VGSValidationRuleDateRangeV10dateFormat5error5start3endAcA07VGSDateH0O_SSAA0L0VSgALtcfc":{"name":"init(dateFormat:error:start:end:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleDateRange"},"Structs/VGSValidationRuleCardExpirationDate.html#/s:13VGSCollectSDK35VGSValidationRuleCardExpirationDateV10dateFormatAA010VGSCardExpgI0Ovp":{"name":"dateFormat","abstract":"

    Payment Card Expiration Date Format

    ","parent_name":"VGSValidationRuleCardExpirationDate"},"Structs/VGSValidationRuleCardExpirationDate.html#/s:13VGSCollectSDK35VGSValidationRuleCardExpirationDateV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleCardExpirationDate"},"Structs/VGSValidationRuleCardExpirationDate.html#/s:13VGSCollectSDK35VGSValidationRuleCardExpirationDateV10dateFormat5errorAcA010VGSCardExpgI0O_SStcfc":{"name":"init(dateFormat:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleCardExpirationDate"},"Structs/VGSValidationRuleLuhnCheck.html#/s:13VGSCollectSDK26VGSValidationRuleLuhnCheckV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleLuhnCheck"},"Structs/VGSValidationRuleLuhnCheck.html#/s:13VGSCollectSDK26VGSValidationRuleLuhnCheckV5errorACSS_tcfc":{"name":"init(error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleLuhnCheck"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV015validateUnknownF5BrandSbvp":{"name":"validateUnknownCardBrand","abstract":"

    Turn on/off validation of cards that are not defined in SDK - CardBrand.unknown

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV5errorACSS_tcfc":{"name":"init(error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV5error015validateUnknownF5BrandACSS_Sbtcfc":{"name":"init(error:validateUnknownCardBrand:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePattern.html#/s:13VGSCollectSDK24VGSValidationRulePatternV7patternSSvp":{"name":"pattern","abstract":"

    Regex pattern

    ","parent_name":"VGSValidationRulePattern"},"Structs/VGSValidationRulePattern.html#/s:13VGSCollectSDK24VGSValidationRulePatternV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRulePattern"},"Structs/VGSValidationRulePattern.html#/s:13VGSCollectSDK24VGSValidationRulePatternV7pattern5errorACSS_SStcfc":{"name":"init(pattern:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRulePattern"},"Structs/VGSValidationRuleLengthMatch.html#/s:13VGSCollectSDK28VGSValidationRuleLengthMatchV7lengthsSaySiGvp":{"name":"lengths","abstract":"

    Array of valid length ranges

    ","parent_name":"VGSValidationRuleLengthMatch"},"Structs/VGSValidationRuleLengthMatch.html#/s:13VGSCollectSDK28VGSValidationRuleLengthMatchV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleLengthMatch"},"Structs/VGSValidationRuleLengthMatch.html#/s:13VGSCollectSDK28VGSValidationRuleLengthMatchV7lengths5errorACSaySiG_SStcfc":{"name":"init(lengths:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleLengthMatch"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV3minSivp":{"name":"min","abstract":"

    Min input length required

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV3maxSivp":{"name":"max","abstract":"

    Max input length required

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV3min3max5errorACSi_SiSStcfc":{"name":"init(min:max:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleSet.html#/s:13VGSCollectSDK20VGSValidationRuleSetVACycfc":{"name":"init()","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleSet"},"Structs/VGSValidationRuleSet.html#/s:13VGSCollectSDK20VGSValidationRuleSetV5rulesACSayAA0cD8Protocol_pG_tcfc":{"name":"init(rules:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleSet"},"Structs/VGSValidationRuleSet.html#/s:13VGSCollectSDK20VGSValidationRuleSetV3add4ruleyAA0cD8Protocol_p_tF":{"name":"add(rule:)","abstract":"

    Add validation rule

    ","parent_name":"VGSValidationRuleSet"},"Structs/VGSValidationRuleSet.html":{"name":"VGSValidationRuleSet","abstract":"

    Set of validation rules

    "},"Structs/VGSValidationRuleLength.html":{"name":"VGSValidationRuleLength","abstract":"

    Validate input in scope of length.

    "},"Structs/VGSValidationRuleLengthMatch.html":{"name":"VGSValidationRuleLengthMatch","abstract":"

    Validate input in scope of multiple lengths, e.x.: [16, 19].

    "},"Structs/VGSValidationRulePattern.html":{"name":"VGSValidationRulePattern","abstract":"

    Validate input in scope of matching the pattern(regex).

    "},"Structs/VGSValidationRulePaymentCard.html":{"name":"VGSValidationRulePaymentCard","abstract":"

    Validate input in scope of matching supported card brands, available lengths and checkSum algorithms."},"Structs/VGSValidationRuleLuhnCheck.html":{"name":"VGSValidationRuleLuhnCheck","abstract":"

    Validate input in scope of matching Luhn algorithm.

    "},"Structs/VGSValidationRuleCardExpirationDate.html":{"name":"VGSValidationRuleCardExpirationDate","abstract":"

    Validate input in scope of matching card expiration date format and time range.

    "},"Structs/VGSValidationRuleDateRange.html":{"name":"VGSValidationRuleDateRange","abstract":"

    Validation rule used to validate the date input in objects"},"Enums/CheckSumAlgorithmType.html":{"name":"CheckSumAlgorithmType","abstract":"

    Check Sum Algorithm Types

    "},"Structs/VGSExpDateSeparateSerializer.html#/s:13VGSCollectSDK28VGSExpDateSeparateSerializerV14monthFieldNameSSvp":{"name":"monthFieldName","abstract":"

    Field Name that will be used as a JSON key with month value from expDate string on send request.

    ","parent_name":"VGSExpDateSeparateSerializer"},"Structs/VGSExpDateSeparateSerializer.html#/s:13VGSCollectSDK28VGSExpDateSeparateSerializerV13yearFieldNameSSvp":{"name":"yearFieldName","abstract":"

    Field Name that will be used as a JSON key with year value from expDate string on send request.

    ","parent_name":"VGSExpDateSeparateSerializer"},"Structs/VGSExpDateSeparateSerializer.html#/s:13VGSCollectSDK28VGSExpDateSeparateSerializerV14monthFieldName04yearhI0ACSS_SStcfc":{"name":"init(monthFieldName:yearFieldName:)","abstract":"

    Initialization

    ","parent_name":"VGSExpDateSeparateSerializer"},"VGSTextField%20Serializers.html#/s:13VGSCollectSDK27VGSFormatSerializerProtocolP":{"name":"VGSFormatSerializerProtocol","abstract":"

    Base protocol describing Content Serialization attributes

    "},"Structs/VGSExpDateSeparateSerializer.html":{"name":"VGSExpDateSeparateSerializer","abstract":"

    Expiration Date Separate serializer, split date string to components with separate fieldNames

    "},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV5regexSSvp":{"name":"regex","abstract":"

    Regex validating that input contains digits only.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV17cardNumberLengthsSaySiGvp":{"name":"cardNumberLengths","abstract":"

    Valid Unknown Card Numbers Lengths

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV10cvcLengthsSaySiGvp":{"name":"cvcLengths","abstract":"

    Valid Unknown Card CVC/CVV Lengths. For most brands valid cvc lengths is [3], while for Amex is [4]. For unknown brands can be set as [3, 4]

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV17checkSumAlgorithmAA05CheckhI4TypeOSgvp":{"name":"checkSumAlgorithm","abstract":"

    Check sum validation algorithm. For most brands card number can be validated by CheckSumAlgorithmType.luhn algorithm. If none - result of Checksum Algorithm validation will be true.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV13formatPatternSSvp":{"name":"formatPattern","abstract":"

    Unknown Payment Card Numbers visual format pattern. NOTE: format pattern length limits input length.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    Image, associated with Unknown Payment Card Brands.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    Image, associated with CVC for Unknown Payment Card Brands.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV5brandAA15VGSPaymentCardsC0E5BrandOvp":{"name":"brand","abstract":"

    Payment Card Brand

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV4nameSSvp":{"name":"name","abstract":"

    Payment Card Name

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV5regexSSvp":{"name":"regex","abstract":"

    Regex Pattern required to detect Payment Card Brand

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV17cardNumberLengthsSaySiGvp":{"name":"cardNumberLengths","abstract":"

    Valid Card Number Lengths

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV10cvcLengthsSaySiGvp":{"name":"cvcLengths","abstract":"

    Valid Card CVC/CVV Lengths. For most brands valid cvc lengths is [3], while for Amex is [4]. For unknown brands can be set as [3, 4]

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV17checkSumAlgorithmAA05CheckhI4TypeOSgvp":{"name":"checkSumAlgorithm","abstract":"

    Check sum validation algorithm. For most brands card number can be validated by CheckSumAlgorithmType.luhn algorithm. If none - result of Checksum Algorithm validation will be true.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV13formatPatternSSvp":{"name":"formatPattern","abstract":"

    Payment Card Number visual format pattern.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    Image, associated with Payment Card Brand.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    Image, associated with CVC for Payment Card Brand.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV4name5regex13formatPattern17cardNumberLengths03cvcM017checkSumAlgorithm9brandIconACSS_S2SSaySiGAkA05CheckpQ4TypeOSgSo7UIImageCSgtcfc":{"name":"init(name:regex:formatPattern:cardNumberLengths:cvcLengths:checkSumAlgorithm:brandIcon:)","abstract":"

    Initializer.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV5brandAA0C5CardsC0D5BrandOvp":{"name":"brand","abstract":"

    Payment Card Brand

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV4nameSSvp":{"name":"name","abstract":"

    Payment Card Name

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV5regexSSvp":{"name":"regex","abstract":"

    Regex Pattern required to detect Payment Card Brand

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV17cardNumberLengthsSaySiGvp":{"name":"cardNumberLengths","abstract":"

    Valid Card Number Lengths

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV10cvcLengthsSaySiGvp":{"name":"cvcLengths","abstract":"

    Valid Card CVC/CVV Lengths. For most brands valid cvc lengths is [3], while for Amex is [4]. For unknown brands can be set as [3, 4]

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV17checkSumAlgorithmAA05CheckgH4TypeOSgvp":{"name":"checkSumAlgorithm","abstract":"

    Check sum validation algorithm. For most brands card number can be validated by CheckSumAlgorithmType.luhn algorithm. If none - result of Checksum Algorithm validation will be true.

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV13formatPatternSSvp":{"name":"formatPattern","abstract":"

    Payment Card Number visual format pattern.

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    Image, associated with Payment Card Brand.

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    Image, associated with CVC for Payment Card Brand.

    ","parent_name":"VGSPaymentCardModel"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO3eloyA2EmF":{"name":"elo","abstract":"

    ELO

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO12visaElectronyA2EmF":{"name":"visaElectron","abstract":"

    Visa Electron

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7maestroyA2EmF":{"name":"maestro","abstract":"

    Maestro

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO18forbrugsforeningenyA2EmF":{"name":"forbrugsforeningen","abstract":"

    Forbrugsforeningen

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7dankortyA2EmF":{"name":"dankort","abstract":"

    Dankort

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO4visayA2EmF":{"name":"visa","abstract":"

    Visa

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO10mastercardyA2EmF":{"name":"mastercard","abstract":"

    Mastercard

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO4amexyA2EmF":{"name":"amex","abstract":"

    American Express

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO9hipercardyA2EmF":{"name":"hipercard","abstract":"

    Hipercard

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO10dinersClubyA2EmF":{"name":"dinersClub","abstract":"

    Diners Club

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO8discoveryA2EmF":{"name":"discover","abstract":"

    Discover

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO8unionpayyA2EmF":{"name":"unionpay","abstract":"

    UnionPay

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO3jcbyA2EmF":{"name":"jcb","abstract":"

    JCB

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7unknownyA2EmF":{"name":"unknown","abstract":"

    Not supported card brand - “unknown”

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO6customyAESS_tcAEmF":{"name":"custom(brandName:)","abstract":"

    Custom Payment Card Brand. Should have unique brandName.

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO16cvcFormatPatternSSvp":{"name":"cvcFormatPattern","abstract":"

    no:doc

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    no:doc

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    no:doc

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO11stringValueSSvp":{"name":"stringValue","abstract":"

    String representation of VGSPaymentCards.CardBrand enum values.

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO11cardLengthsSaySiGvp":{"name":"cardLengths","abstract":"

    Returns array with valid card number lengths for specific VGSPaymentCards.CardBrand

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html":{"name":"CardBrand","abstract":"

    Supported card brands

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC3eloAA0C9CardModelVvpZ":{"name":"elo","abstract":"

    Elo Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC12visaElectronAA0C9CardModelVvpZ":{"name":"visaElectron","abstract":"

    Visa Electron Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC7maestroAA0C9CardModelVvpZ":{"name":"maestro","abstract":"

    Maestro Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC18forbrugsforeningenAA0C9CardModelVvpZ":{"name":"forbrugsforeningen","abstract":"

    Forbrugsforeningen Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC7dankortAA0C9CardModelVvpZ":{"name":"dankort","abstract":"

    Dankort Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC4visaAA0C9CardModelVvpZ":{"name":"visa","abstract":"

    Elo Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC10masterCardAA0cF5ModelVvpZ":{"name":"masterCard","abstract":"

    Master Card Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC4amexAA0C9CardModelVvpZ":{"name":"amex","abstract":"

    Amex Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC9hipercardAA0C9CardModelVvpZ":{"name":"hipercard","abstract":"

    Hipercard Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC10dinersClubAA0C9CardModelVvpZ":{"name":"dinersClub","abstract":"

    DinersClub Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC8discoverAA0C9CardModelVvpZ":{"name":"discover","abstract":"

    Discover Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC8unionpayAA0C9CardModelVvpZ":{"name":"unionpay","abstract":"

    UnionPay Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC3jcbAA0C9CardModelVvpZ":{"name":"jcb","abstract":"

    JCB Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC7unknownAA26VGSUnknownPaymentCardModelVvpZ":{"name":"unknown","abstract":"

    Unknown Brand Payment Card Model. Can be used for specifing cards details when VGSValidationRulePaymentCard requires validating CardBrand.unknown cards.

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC22cutomPaymentCardModelsSayAA09VGSCustomfG5ModelVGvpZ":{"name":"cutomPaymentCardModels","abstract":"

    Array of Custom Payment Card Models.

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC15validCardBrandsSayAA0cF13ModelProtocol_pGSgvpZ":{"name":"validCardBrands","abstract":"

    An array of valid Card Brands, could include custom and default brands. If not set, will use availableCardBrands array instead.

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC31getCardModelFromAvailableModels5brandAA0cfG8Protocol_pSgAC0F5BrandO_tFZ":{"name":"getCardModelFromAvailableModels(brand:)","abstract":"

    no:doc

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC028detectCardBrandFromAvailableD05inputAC0fG0OSS_tFZ":{"name":"detectCardBrandFromAvailableCards(input:)","abstract":"

    no:doc

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html":{"name":"VGSPaymentCards","abstract":"

    Class responsible for storing and managing Payment Cards in SDK.

    "},"Structs/VGSPaymentCardModel.html":{"name":"VGSPaymentCardModel","abstract":"

    An object representing Payment Card

    "},"Structs/VGSCustomPaymentCardModel.html":{"name":"VGSCustomPaymentCardModel","abstract":"

    Holds information for custom payment model.

    "},"Structs/VGSUnknownPaymentCardModel.html":{"name":"VGSUnknownPaymentCardModel","abstract":"

    An object representing Unknown Payment Cards - cards not defined in the SDK. Object is used when validation forCardBrand.unknown is set as true. Check VGSValidationRulePaymentCard for more details. Validation attributes can be edited through `VGSPaymentCards.unknown model.

    "},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO3getyA2CmF":{"name":"get","abstract":"

    GET method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO4postyA2CmF":{"name":"post","abstract":"

    POST method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO3putyA2CmF":{"name":"put","abstract":"

    PUT method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO5patchyA2CmF":{"name":"patch","abstract":"

    PATCH method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO6deleteyA2CmF":{"name":"delete","abstract":"

    DELETE method.

    ","parent_name":"VGSCollectHTTPMethod"},"Structs/VGSCollectRequestOptions.html#/s:13VGSCollectSDK0A14RequestOptionsV22fieldNameMappingPolicyAA0a5FieldfgH0Ovp":{"name":"fieldNameMappingPolicy","abstract":"

    Defines how to map fieldNames to JSON. Default is .nestedJSON.

    ","parent_name":"VGSCollectRequestOptions"},"Structs/VGSCollectRequestOptions.html#/s:13VGSCollectSDK0A14RequestOptionsVACycfc":{"name":"init()","abstract":"

    Initializer.

    ","parent_name":"VGSCollectRequestOptions"},"Enums/VGSTokenizationResponse.html#/s:13VGSCollectSDK23VGSTokenizationResponseO7successyACSi_SDySSypGSgSo13NSURLResponseCSgtcACmF":{"name":"success(_:_:_:)","abstract":"

    Success response case

    ","parent_name":"VGSTokenizationResponse"},"Enums/VGSTokenizationResponse.html#/s:13VGSCollectSDK23VGSTokenizationResponseO7failureyACSi_10Foundation4DataVSgSo13NSURLResponseCSgs5Error_pSgtcACmF":{"name":"failure(_:_:_:_:)","abstract":"

    Failed response case

    ","parent_name":"VGSTokenizationResponse"},"Enums/VGSResponse.html#/s:13VGSCollectSDK11VGSResponseO7successyACSi_10Foundation4DataVSgSo13NSURLResponseCSgtcACmF":{"name":"success(_:_:_:)","abstract":"

    Success response case

    ","parent_name":"VGSResponse"},"Enums/VGSResponse.html#/s:13VGSCollectSDK11VGSResponseO7failureyACSi_10Foundation4DataVSgSo13NSURLResponseCSgs5Error_pSgtcACmF":{"name":"failure(_:_:_:_:)","abstract":"

    Failed response case

    ","parent_name":"VGSResponse"},"Structs/VGSTextFieldStatePublisher.html#/s:7Combine9PublisherP6OutputQa":{"name":"Output","parent_name":"VGSTextFieldStatePublisher"},"Structs/VGSTextFieldStatePublisher.html#/s:7Combine9PublisherP7FailureQa":{"name":"Failure","parent_name":"VGSTextFieldStatePublisher"},"Structs/VGSTextFieldStatePublisher.html#/s:13VGSCollectSDK26VGSTextFieldStatePublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0E0C5InputRtzlF":{"name":"receive(subscriber:)","abstract":"

    Attaches a subscriber to the publisher to receive updates on the VGSTextField State.

    ","parent_name":"VGSTextFieldStatePublisher"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC5last4SSvp":{"name":"last4","abstract":"

    Last 4 digits of the valid card number from associated VGSTextField with field configuration type FieldType.cardNumber.

    ","parent_name":"CardState"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC3binSSvp":{"name":"bin","abstract":"

    Bin digits of the valid card number from associated VGSTextField with field configuration type FieldType.cardNumber.

    ","parent_name":"CardState"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC9cardBrandAA15VGSPaymentCardsC0cF0Ovp":{"name":"cardBrand","abstract":"

    Credit Card Brand of the card number from associated VGSTextField with field configuration type FieldType.cardNumber.

    ","parent_name":"CardState"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC11descriptionSSvp":{"name":"description","abstract":"

    Message that contains CardState attributes and their values.

    ","parent_name":"CardState"},"Classes/SSNState.html#/s:13VGSCollectSDK8SSNStateC5last4SSvp":{"name":"last4","abstract":"

    Last 4 digits of the valid ssn from associated VGSTextField with field configuration type FieldType.ssn.

    ","parent_name":"SSNState"},"Classes/SSNState.html#/s:13VGSCollectSDK8SSNStateC11descriptionSSvp":{"name":"description","abstract":"

    Message that contains SSNState attributes and their values.

    ","parent_name":"SSNState"},"Classes/State.html#/s:13VGSCollectSDK5StateC9fieldNameSSSgvp":{"name":"fieldName","abstract":"

    VGSConfiguration.fieldName associated with VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC10isRequiredSbvp":{"name":"isRequired","abstract":"

    VGSConfiguration.isRequired attribute defined for VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC19isRequiredValidOnlySbvp":{"name":"isRequiredValidOnly","abstract":"

    VGSConfiguration.isRequiredValidOnly attribute defined for VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC7isValidSbvp":{"name":"isValid","abstract":"

    Contains current validation state for VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC7isEmptySbvp":{"name":"isEmpty","abstract":"

    Show if VGSTextField input is empty

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC7isDirtySbvp":{"name":"isDirty","abstract":"

    Show if VGSTextField was edited

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC11inputLengthSivp":{"name":"inputLength","abstract":"

    Input data length in VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC16validationErrorsSaySSGvp":{"name":"validationErrors","abstract":"

    Array of VGSValidationError. Should be empty when textfield input is valid.

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC11descriptionSSvp":{"name":"description","abstract":"

    Message that contains State attributes and their values

    ","parent_name":"State"},"Enums/Environment.html#/s:13VGSCollectSDK11EnvironmentO7sandboxyA2CmF":{"name":"sandbox","abstract":"

    Should be used for development and testing purpose.

    ","parent_name":"Environment"},"Enums/Environment.html#/s:13VGSCollectSDK11EnvironmentO4liveyA2CmF":{"name":"live","abstract":"

    Should be used for production.

    ","parent_name":"Environment"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C13customHeadersSDyS2SGSgvp":{"name":"customHeaders","abstract":"

    Set your custom HTTP headers.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C17observeFieldStateyAA07VGSTextD0CcSgvp":{"name":"observeFieldState","abstract":"

    Observe only focused VGSTextField on editing events.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C13observeStatesySayAA12VGSTextFieldCGcSgvp":{"name":"observeStates","abstract":"

    Observe all VGSTextField on editing events.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C10textFieldsSayAA12VGSTextFieldCGvp":{"name":"textFields","abstract":"

    Returns array of VGSTextFields associated with VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C2id11environment8hostname13satellitePortACSS_S2SSgSiSgtcfc":{"name":"init(id:environment:hostname:satellitePort:)","abstract":"

    Initialization.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C2id11environment10dataRegion8hostname13satellitePortACSS_AA11EnvironmentOSSSgAKSiSgtcfc":{"name":"init(id:environment:dataRegion:hostname:satellitePort:)","abstract":"

    Initialization.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C12getTextField9fieldNameAA07VGSTextE0CSgSS_tF":{"name":"getTextField(fieldName:)","abstract":"

    Returns VGSTextField with VGSConfiguration.fieldName associated with VGCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C20unsubscribeTextFieldyyAA07VGSTextE0CF":{"name":"unsubscribeTextField(_:)","abstract":"

    Unasubscribe VGSTextField from VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C21unsubscribeTextFieldsyySayAA12VGSTextFieldCGF":{"name":"unsubscribeTextFields(_:)","abstract":"

    Unasubscribe VGSTextFields from VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C24unsubscribeAllTextFieldsyyF":{"name":"unsubscribeAllTextFields()","abstract":"

    Unasubscribe all VGSTextFields from VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C10cleanFilesyyF":{"name":"cleanFiles()","abstract":"

    Detach files for associated VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendData4path6method7routeId05extraD014requestOptions10completionySS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestK0VyAA11VGSResponseOctF":{"name":"sendData(path:method:routeId:extraData:requestOptions:completion:)","abstract":"

    Send data from VGSTextFields to your organization vault.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendFile4path6method7routeId9extraData14requestOptions10completionySS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestL0VyAA11VGSResponseOctF":{"name":"sendFile(path:method:routeId:extraData:requestOptions:completion:)","abstract":"

    Send file to your organization vault. Only send one file at a time.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C12tokenizeData7routeId10completionySSSg_yAA23VGSTokenizationResponseOctF":{"name":"tokenizeData(routeId:completion:)","abstract":"

    Send tokenization request with data from VGSTextFields.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendData4path6method7routeId05extraD014requestOptionsAA11VGSResponseOSS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestK0VtYaF":{"name":"sendData(path:method:routeId:extraData:requestOptions:)","abstract":"

    Asynchronously send data from VGSTextFields to your organization vault.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendFile4path6method7routeId9extraDataAA11VGSResponseOSS_AA0A10HTTPMethodOSSSgSDySSypGSgtYaF":{"name":"sendFile(path:method:routeId:extraData:)","abstract":"

    Asynchronously send file to your organization vault. Only send one file at a time.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C12tokenizeData7routeIdAA23VGSTokenizationResponseOSSSg_tYaF":{"name":"tokenizeData(routeId:)","abstract":"

    Asynchronously send tokenization request with data from VGSTextFields.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C17sendDataPublisher4path6method7routeId05extraD014requestOptions7Combine6FutureCyAA11VGSResponseOs5NeverOGSS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestL0VtF":{"name":"sendDataPublisher(path:method:routeId:extraData:requestOptions:)","abstract":"

    Send data from VGSTextFields to your organization vault using the Combine framework.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C17sendFilePublisher4path6method7routeId9extraData14requestOptions7Combine6FutureCyAA11VGSResponseOs5NeverOGSS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestM0VtF":{"name":"sendFilePublisher(path:method:routeId:extraData:requestOptions:)","abstract":"

    Send file to your organization vault using the Combine framework.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C21tokenizeDataPublisher7routeId7Combine6FutureCyAA23VGSTokenizationResponseOs5NeverOGSSSg_tF":{"name":"tokenizeDataPublisher(routeId:)","abstract":"

    Send tokenization request with data from VGSTextFields to your organization vault using the Combine framework.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html":{"name":"VGSCollect","abstract":"

    An object you use for observing VGSTextField State and send data to your organization vault.

    "},"Enums/Environment.html":{"name":"Environment","abstract":"

    Organization vault environment.

    "},"Classes/State.html":{"name":"State","abstract":"

    An object that describes VGSTextField state. State attributes are read-only.

    "},"Classes/SSNState.html":{"name":"SSNState","abstract":"

    An object that describes VGSTextField state with configuration FieldType.ssn . State attributes are read-only.

    "},"Classes/CardState.html":{"name":"CardState","abstract":"

    An object that describes VGSTextField state with configuration FieldType.cardNumber . State attributes are read-only.

    "},"Structs/VGSTextFieldStatePublisher.html":{"name":"VGSTextFieldStatePublisher","abstract":"

    A custom publisher that emits State of a given VGSTextField.

    "},"Enums/VGSResponse.html":{"name":"VGSResponse","abstract":"

    Response enum cases for SDK requests.

    "},"Enums/VGSTokenizationResponse.html":{"name":"VGSTokenizationResponse","abstract":"

    Tokenization response enum cases for SDK requests.

    "},"Structs/VGSCollectRequestOptions.html":{"name":"VGSCollectRequestOptions","abstract":"

    Request options.

    "},"Observe%20State%20and%20Send%20Data.html#/s:13VGSCollectSDK8JsonDataa":{"name":"JsonData","abstract":"

    Key-value data type, usually used for response format.

    "},"Enums/VGSCollectHTTPMethod.html":{"name":"VGSCollectHTTPMethod","abstract":"

    HTTP request methods

    "},"Observe%20State%20and%20Send%20Data.html#/s:13VGSCollectSDK11HTTPHeadersa":{"name":"HTTPHeaders","abstract":"

    Key-value data type, used in http request headers.

    "},"Classes/VGSFileInfo.html#/c:@M@VGSCollectSDK@objc(cs)VGSFileInfo(py)fileExtension":{"name":"fileExtension","abstract":"

    File extension, like “jpeg”, “png”, etc.

    ","parent_name":"VGSFileInfo"},"Classes/VGSFileInfo.html#/c:@M@VGSCollectSDK@objc(cs)VGSFileInfo(py)size":{"name":"size","abstract":"

    File size.

    ","parent_name":"VGSFileInfo"},"Classes/VGSFileInfo.html#/c:@M@VGSCollectSDK@objc(cs)VGSFileInfo(py)sizeUnits":{"name":"sizeUnits","abstract":"

    File size units.

    ","parent_name":"VGSFileInfo"},"Enums/VGSFileSource.html#/s:13VGSCollectSDK13VGSFileSourceO12photoLibraryyA2CmF":{"name":"photoLibrary","abstract":"

    Device photo library.

    ","parent_name":"VGSFileSource"},"Enums/VGSFileSource.html#/s:13VGSCollectSDK13VGSFileSourceO6camerayA2CmF":{"name":"camera","abstract":"

    Device camera.

    ","parent_name":"VGSFileSource"},"Enums/VGSFileSource.html#/s:13VGSCollectSDK13VGSFileSourceO18documentsDirectoryyA2CmF":{"name":"documentsDirectory","abstract":"

    Device documents directory.

    ","parent_name":"VGSFileSource"},"Protocols/VGSFilePickerControllerDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSFilePickerControllerDelegate(im)userDidPickFileWithInfo:":{"name":"userDidPickFileWithInfo(_:)","abstract":"

    On user select a file

    ","parent_name":"VGSFilePickerControllerDelegate"},"Protocols/VGSFilePickerControllerDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSFilePickerControllerDelegate(im)userDidSCancelFilePicking":{"name":"userDidSCancelFilePicking()","abstract":"

    On user canceling file picking

    ","parent_name":"VGSFilePickerControllerDelegate"},"Protocols/VGSFilePickerControllerDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSFilePickerControllerDelegate(im)filePickingFailedWithError:":{"name":"filePickingFailedWithError(_:)","abstract":"

    On error occured when user pick a file.

    ","parent_name":"VGSFilePickerControllerDelegate"},"Classes/VGSFilePickerConfiguration.html#/s:13VGSCollectSDK26VGSFilePickerConfigurationC9fieldNameSSvp":{"name":"fieldName","abstract":"

    Name that will be associated with selected file by user. Used as a JSON key on send request with file data to your organozation vault.

    ","parent_name":"VGSFilePickerConfiguration"},"Classes/VGSFilePickerConfiguration.html#/s:13VGSCollectSDK26VGSFilePickerConfigurationC9collector9fieldName10fileSourceAcA0A0C_SSAA0cJ0Otcfc":{"name":"init(collector:fieldName:fileSource:)","abstract":"

    Initialization

    ","parent_name":"VGSFilePickerConfiguration"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC8delegateAA0cdE8Delegate_pSgvp":{"name":"delegate","abstract":"

    VGSFilePickerControllerDelegate - handle user interaction on file picking.

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC13configurationAcA0cD13ConfigurationC_tcfc":{"name":"init(configuration:)","abstract":"

    Initialization

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC011presentFileD02on8animated10completionySo06UIViewE0C_SbyycSgtF":{"name":"presentFilePicker(on:animated:completion:)","abstract":"

    Present file picker view

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC011dismissFileD08animated10completionySb_yycSgtF":{"name":"dismissFilePicker(animated:completion:)","abstract":"

    Dismiss file picker view

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html":{"name":"VGSFilePickerController","abstract":"

    Controller responsible for importing files from device sources.

    "},"Classes/VGSFilePickerConfiguration.html":{"name":"VGSFilePickerConfiguration","abstract":"

    A class responsible for configuration VGSFilePickerController.

    "},"Protocols/VGSFilePickerControllerDelegate.html":{"name":"VGSFilePickerControllerDelegate","abstract":"

    Delegates produced by VGSFilePickerController.

    "},"Enums/VGSFileSource.html":{"name":"VGSFileSource","abstract":"

    Available file source destinations that VGSFilePickerController can work with.

    "},"Classes/VGSFileInfo.html":{"name":"VGSFileInfo","abstract":"

    An object that holds optional files’ metadata on selecting file through VGSFilePickerController.

    "},"Enums/VGSVaultStorageType.html#/s:13VGSCollectSDK19VGSVaultStorageTypeO10PERSISTENTyA2CmF":{"name":"PERSISTENT","abstract":"

    PERSISTENT data storage.

    ","parent_name":"VGSVaultStorageType"},"Enums/VGSVaultStorageType.html#/s:13VGSCollectSDK19VGSVaultStorageTypeO8VOLATILEyA2CmF":{"name":"VOLATILE","abstract":"

    VOLATILE data storage.

    ","parent_name":"VGSVaultStorageType"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO18FPE_ACC_NUM_T_FOURyA2CmF":{"name":"FPE_ACC_NUM_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO31FPE_ALPHANUMERIC_ACC_NUM_T_FOURyA2CmF":{"name":"FPE_ALPHANUMERIC_ACC_NUM_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO14FPE_SIX_T_FOURyA2CmF":{"name":"FPE_SIX_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO14FPE_SSN_T_FOURyA2CmF":{"name":"FPE_SSN_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO10FPE_T_FOURyA2CmF":{"name":"FPE_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO21NUM_LENGTH_PRESERVINGyA2CmF":{"name":"NUM_LENGTH_PRESERVING","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO4PFPTyA2CmF":{"name":"PFPT","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO8RAW_UUIDyA2CmF":{"name":"RAW_UUID","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO4UUIDyA2CmF":{"name":"UUID","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Structs/VGSTokenizationParameters.html#/s:13VGSCollectSDK25VGSTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSTokenizationParameters"},"Structs/VGSTokenizationParameters.html#/s:13VGSCollectSDK25VGSTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSTokenizationParameters"},"Structs/VGSSSNTokenizationParameters.html#/s:13VGSCollectSDK28VGSSSNTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSSSNTokenizationParameters"},"Structs/VGSSSNTokenizationParameters.html#/s:13VGSCollectSDK28VGSSSNTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSSSNTokenizationParameters"},"Structs/VGSExpDateTokenizationParameters.html#/s:13VGSCollectSDK32VGSExpDateTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSExpDateTokenizationParameters"},"Structs/VGSExpDateTokenizationParameters.html#/s:13VGSCollectSDK32VGSExpDateTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSExpDateTokenizationParameters"},"Structs/VGSDateTokenizationParameters.html#/s:13VGSCollectSDK29VGSDateTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSDateTokenizationParameters"},"Structs/VGSDateTokenizationParameters.html#/s:13VGSCollectSDK29VGSDateTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSDateTokenizationParameters"},"Structs/VGSCardNumberTokenizationParameters.html#/s:13VGSCollectSDK35VGSCardNumberTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSCardNumberTokenizationParameters"},"Structs/VGSCardNumberTokenizationParameters.html#/s:13VGSCollectSDK35VGSCardNumberTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSCardNumberTokenizationParameters"},"Structs/VGSCardHolderNameTokenizationParameters.html#/s:13VGSCollectSDK39VGSCardHolderNameTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSCardHolderNameTokenizationParameters"},"Structs/VGSCardHolderNameTokenizationParameters.html#/s:13VGSCollectSDK39VGSCardHolderNameTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSCardHolderNameTokenizationParameters"},"Structs/VGSCVCTokenizationParameters.html#/s:13VGSCollectSDK28VGSCVCTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSCVCTokenizationParameters"},"Structs/VGSCVCTokenizationParameters.html#/s:13VGSCollectSDK28VGSCVCTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSCVCTokenizationParameters"},"Protocols/VGSTokenizationParametersProtocol.html#/s:13VGSCollectSDK33VGSTokenizationParametersProtocolP6formatSSvp":{"name":"format","abstract":"

    Tokenization format.

    ","parent_name":"VGSTokenizationParametersProtocol"},"Protocols/VGSTokenizationParametersProtocol.html#/s:13VGSCollectSDK33VGSTokenizationParametersProtocolP7storageSSvp":{"name":"storage","abstract":"

    Storage type.

    ","parent_name":"VGSTokenizationParametersProtocol"},"Protocols/VGSTokenizationParametersProtocol.html":{"name":"VGSTokenizationParametersProtocol","abstract":"

    Parameters describing textfield input tokenization.

    "},"Structs/VGSCVCTokenizationParameters.html":{"name":"VGSCVCTokenizationParameters","abstract":"

    VGSCVCTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSCardHolderNameTokenizationParameters.html":{"name":"VGSCardHolderNameTokenizationParameters","abstract":"

    VGSCardHolderNameTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSCardNumberTokenizationParameters.html":{"name":"VGSCardNumberTokenizationParameters","abstract":"

    VGSCardTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSDateTokenizationParameters.html":{"name":"VGSDateTokenizationParameters","abstract":"

    VGSDateTokenizationParameters - parameters required for tokenization API

    "},"Structs/VGSExpDateTokenizationParameters.html":{"name":"VGSExpDateTokenizationParameters","abstract":"

    VGSExpDateTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSSSNTokenizationParameters.html":{"name":"VGSSSNTokenizationParameters","abstract":"

    VGSSSNTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSTokenizationParameters.html":{"name":"VGSTokenizationParameters","abstract":"

    VGSTokenizationParameters - parameters required for tokenization api.

    "},"Enums/VGSVaultAliasFormat.html":{"name":"VGSVaultAliasFormat","abstract":"

    Type of Alias format. Read more about avaliable formats: https://www.verygoodsecurity.com/docs/terminology/nomenclature#alias-formats .

    "},"Enums/VGSVaultStorageType.html":{"name":"VGSVaultStorageType","abstract":"

    Type of VGS Vault storage.

    "},"Enums/VGSTextFieldInputSource.html#/s:13VGSCollectSDK23VGSTextFieldInputSourceO8keyboardyA2CmF":{"name":"keyboard","abstract":"

    UIKeyboard input type.

    ","parent_name":"VGSTextFieldInputSource"},"Enums/VGSTextFieldInputSource.html#/s:13VGSCollectSDK23VGSTextFieldInputSourceO10datePickeryA2CmF":{"name":"datePicker","abstract":"

    UIDatePicker input type.

    ","parent_name":"VGSTextFieldInputSource"},"Structs/VGSDate.html#/s:13VGSCollectSDK7VGSDateV12dayFormattedSSvp":{"name":"dayFormatted","abstract":"

    Get the day formatted value, for example if the day is 1 it is returned as 01

    ","parent_name":"VGSDate"},"Structs/VGSDate.html#/s:13VGSCollectSDK7VGSDateV14monthFormattedSSvp":{"name":"monthFormatted","abstract":"

    Get the month formatted value, for example if the month is 3 it is returned as 03

    ","parent_name":"VGSDate"},"Structs/VGSDate.html#/s:13VGSCollectSDK7VGSDateV3day5month4yearACSgSi_S2itcfc":{"name":"init(day:month:year:)","abstract":"

    Create a new instance of a VGSDate object, if the date is not valid, it returns nil

    ","parent_name":"VGSDate"},"Enums/VGSDateFormat.html#/s:13VGSCollectSDK13VGSDateFormatO07displayD0SSvp":{"name":"displayFormat","abstract":"

    Date format used for display in UI

    ","parent_name":"VGSDateFormat"},"Enums/VGSDateFormat.html#/s:13VGSCollectSDK13VGSDateFormatO7defaultACvpZ":{"name":"default","abstract":"

    Default format

    ","parent_name":"VGSDateFormat"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO4noneyA2CmF":{"name":"none","abstract":"

    Field type that doesn’t require any input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO10cardNumberyA2CmF":{"name":"cardNumber","abstract":"

    Field type that requires Credit Card Number input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO7expDateyA2CmF":{"name":"expDate","abstract":"

    Field type that requires Expiration Date input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO4dateyA2CmF":{"name":"date","abstract":"

    Field type that requires Date input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO3cvcyA2CmF":{"name":"cvc","abstract":"

    Field type that requires Credit Card CVC input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO14cardHolderNameyA2CmF":{"name":"cardHolderName","abstract":"

    Field type that requires Cardholder Name input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO3ssnyA2CmF":{"name":"ssn","abstract":"

    Field type that requires US Social Security Number input formatting and validation.

    ","parent_name":"FieldType"},"Protocols/VGSExpDateConfigurationProtocol.html#/s:13VGSCollectSDK31VGSExpDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputH0Ovp":{"name":"inputSource","abstract":"

    Input Source type.

    ","parent_name":"VGSExpDateConfigurationProtocol"},"Protocols/VGSExpDateConfigurationProtocol.html#/s:13VGSCollectSDK31VGSExpDateConfigurationProtocolP05inputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSExpDateConfigurationProtocol"},"Protocols/VGSExpDateConfigurationProtocol.html#/s:13VGSCollectSDK31VGSExpDateConfigurationProtocolP06outputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateConfigurationProtocol"},"Protocols/VGSDateConfigurationProtocol.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","abstract":"

    Input source type.

    ","parent_name":"VGSDateConfigurationProtocol"},"Protocols/VGSDateConfigurationProtocol.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP15inputDateFormatAA0cH0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSDateConfigurationProtocol"},"Protocols/VGSDateConfigurationProtocol.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP16outputDateFormatAA0cH0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format to convert.

    ","parent_name":"VGSDateConfigurationProtocol"},"Classes/VGSTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSTokenizationConfigurationC22tokenizationParametersAA0cF0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSTokenizationConfiguration"},"Classes/VGSSSNTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSSSNTokenizationConfigurationC22tokenizationParametersAA0cF0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSSSNTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSSSNTokenizationConfiguration"},"Classes/VGSSSNTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSSSNTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.ssn type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSSSNTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.expDate type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC11inputSourceAA017VGSTextFieldInputH0Ovp":{"name":"inputSource","abstract":"

    Input Source type. Default is VGSTextFieldInputSource.datePicker.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC05inputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC06outputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC22tokenizationParametersAA0cdeH0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSExpDateTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC11serializersSayAA27VGSFormatSerializerProtocol_pGvp":{"name":"serializers","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK32VGSDateTokenizationConfigurationC9collector9fieldName19datePickerStartDate0ij3EndL0AcA0A0C_SSAA0C0VSgALtcfc":{"name":"init(collector:fieldName:datePickerStartDate:datePickerEndDate:)","abstract":"

    Initialization","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK32VGSDateTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    Super initializer

    ","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP15inputDateFormatAA0cH0OSgvp":{"name":"inputDateFormat","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP16outputDateFormatAA0cH0OSgvp":{"name":"outputDateFormat","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSCVCTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSCVCTokenizationConfigurationC22tokenizationParametersAA0cF0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSCVCTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSCVCTokenizationConfiguration"},"Classes/VGSCVCTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSCVCTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.cvc type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSCVCTokenizationConfiguration"},"Classes/VGSCardNumberTokenizationConfiguration.html#/s:13VGSCollectSDK38VGSCardNumberTokenizationConfigurationC22tokenizationParametersAA0cdeH0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSCardTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSCardNumberTokenizationConfiguration"},"Classes/VGSCardNumberTokenizationConfiguration.html#/s:13VGSCollectSDK38VGSCardNumberTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.cardNumber type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSCardNumberTokenizationConfiguration"},"Classes/VGSCardHolderNameTokenizationConfiguration.html#/s:13VGSCollectSDK42VGSCardHolderNameTokenizationConfigurationC22tokenizationParametersAA0cdefI0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSCardHolderNameTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSCardHolderNameTokenizationConfiguration"},"Classes/VGSCardHolderNameTokenizationConfiguration.html#/s:13VGSCollectSDK42VGSCardHolderNameTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.cardHolderName type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSCardHolderNameTokenizationConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC9collector9fieldName19datePickerStartDate0hi3EndK0AcA0A0C_SSAA0C0VSgALtcfc":{"name":"init(collector:fieldName:datePickerStartDate:datePickerEndDate:)","abstract":"

    Initialization","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    Super initializer

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP15inputDateFormatAA0cH0OSgvp":{"name":"inputDateFormat","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP16outputDateFormatAA0cH0OSgvp":{"name":"outputDateFormat","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC15validYearsCountSivpZ":{"name":"validYearsCount","abstract":"

    Amount of years used to calculate the minimun and maximun date picker default dates

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC23minValidPickerStartDateAA0C0VvpZ":{"name":"minValidPickerStartDate","abstract":"

    Minimun date picker start date, current year minus validYearsCount

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC21maxValidPickerEndDateAA0C0VvpZ":{"name":"maxValidPickerEndDate","abstract":"

    Maximun date picker valid end date, current year plus validYearsCount

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.expDate type of VGSTextField configuration.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","abstract":"

    Input Source type. Default is VGSTextFieldInputSource.datePicker.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC05inputD6FormatAA010VGSCardExpdG0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC06outputD6FormatAA010VGSCardExpdG0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC11serializersSayAA27VGSFormatSerializerProtocol_pGvp":{"name":"serializers","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC12vgsCollectorAA0A0CSgvp":{"name":"vgsCollector","abstract":"

    Collect form that will be assiciated with VGSTextField.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    Type of field congfiguration. Default is FieldType.none.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC9fieldNameSSvp":{"name":"fieldName","abstract":"

    Name that will be associated with VGSTextField and used as a JSON key on send request with textfield data to your organozation vault.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC10isRequiredSbvp":{"name":"isRequired","abstract":"

    Set if VGSTextField is required to be non-empty and non-nil on send request. Default is false.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC19isRequiredValidOnlySbvp":{"name":"isRequiredValidOnly","abstract":"

    Set if VGSTextField is required to be valid only on send request. Default is false.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC13formatPatternSSSgvp":{"name":"formatPattern","abstract":"

    Input data visual format pattern. If not applied, will be set by default depending on field type.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC7dividerSSSgvp":{"name":"divider","abstract":"

    String, used to replace not default VGSConfiguration.formatPattern characters in input text on send request.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC12keyboardTypeSo010UIKeyboardE0VSgvp":{"name":"keyboardType","abstract":"

    Preferred UIKeyboardType for VGSTextField. If not applied, will be set by default depending on field type parameter.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC13returnKeyTypeSo08UIReturneF0VSgvp":{"name":"returnKeyType","abstract":"

    Preferred UIReturnKeyType for VGSTextField.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC18keyboardAppearanceSo010UIKeyboardE0VSgvp":{"name":"keyboardAppearance","abstract":"

    Preferred UIKeyboardAppearance for textfield. By default is UIKeyboardAppearance.default.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC15validationRulesAA20VGSValidationRuleSetVSgvp":{"name":"validationRules","abstract":"

    Validation rules for field input. Defines State.isValide result.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC14maxInputLengthSiSgvp":{"name":"maxInputLength","abstract":"

    Max input length. IMPORTANT! Can conflict with .formatPattern attribute.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC9collector9fieldNameAcA0A0C_SStcfc":{"name":"init(collector:fieldName:)","abstract":"

    Initialization

    ","parent_name":"VGSConfiguration"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidBeginEditing:":{"name":"vgsTextFieldDidBeginEditing(_:)","abstract":"

    VGSTextField did become first responder.

    ","parent_name":"VGSTextFieldDelegate"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidEndEditing:":{"name":"vgsTextFieldDidEndEditing(_:)","abstract":"

    VGSTextField did resign first responder.

    ","parent_name":"VGSTextFieldDelegate"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidEndEditingOnReturn:":{"name":"vgsTextFieldDidEndEditingOnReturn(_:)","abstract":"

    VGSTextField did resign first responder on Return button pressed.

    ","parent_name":"VGSTextFieldDelegate"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidChange:":{"name":"vgsTextFieldDidChange(_:)","abstract":"

    VGSTextField input changed.

    ","parent_name":"VGSTextFieldDelegate"},"Classes/VGSCVCTextField/CVCIconLocation.html#/s:13VGSCollectSDK15VGSCVCTextFieldC15CVCIconLocationO4leftyA2EmF":{"name":"left","abstract":"

    CVC icon at left side of VGSCardTextField.

    ","parent_name":"CVCIconLocation"},"Classes/VGSCVCTextField/CVCIconLocation.html#/s:13VGSCollectSDK15VGSCVCTextFieldC15CVCIconLocationO5rightyA2EmF":{"name":"right","abstract":"

    CVC icon at right side of VGSCardTextField.

    ","parent_name":"CVCIconLocation"},"Classes/VGSCVCTextField/CVCIconLocation.html":{"name":"CVCIconLocation","abstract":"

    Available CVC icon positions enum.

    ","parent_name":"VGSCVCTextField"},"Classes/VGSCVCTextField.html#/s:13VGSCollectSDK15VGSCVCTextFieldC15cvcIconLocationAC07CVCIconG0Ovp":{"name":"cvcIconLocation","abstract":"

    CVC icon position inside VGSCardTextField.

    ","parent_name":"VGSCVCTextField"},"Classes/VGSCVCTextField.html#/s:13VGSCollectSDK15VGSCVCTextFieldC11cvcIconSizeSo6CGSizeVvp":{"name":"cvcIconSize","abstract":"

    CVC icon size.

    ","parent_name":"VGSCVCTextField"},"Classes/VGSCVCTextField.html#/s:13VGSCollectSDK15VGSCVCTextFieldC13cvcIconSourceSo7UIImageCSgAA15VGSPaymentCardsC9CardBrandOcSgvp":{"name":"cvcIconSource","abstract":"

    Asks custom image for specific VGSPaymentCards.CardBrand

    ","parent_name":"VGSCVCTextField"},"Classes/VGSDateTextField/MonthFormat.html#/s:13VGSCollectSDK16VGSDateTextFieldC11MonthFormatO12shortSymbolsyA2EmF":{"name":"shortSymbols","abstract":"

    Short month name, e.g.: Jan

    ","parent_name":"MonthFormat"},"Classes/VGSDateTextField/MonthFormat.html#/s:13VGSCollectSDK16VGSDateTextFieldC11MonthFormatO11longSymbolsyA2EmF":{"name":"longSymbols","abstract":"

    Long month name, e.g.: January

    ","parent_name":"MonthFormat"},"Classes/VGSDateTextField/MonthFormat.html#/s:13VGSCollectSDK16VGSDateTextFieldC11MonthFormatO7numbersyA2EmF":{"name":"numbers","abstract":"

    Month number: e.g.: 01

    ","parent_name":"MonthFormat"},"Classes/VGSDateTextField/MonthFormat.html":{"name":"MonthFormat","abstract":"

    Available month Label formats in UIPickerView

    ","parent_name":"VGSDateTextField"},"Classes/VGSDateTextField.html#/s:13VGSCollectSDK16VGSDateTextFieldC17monthPickerFormatAC05MonthH0Ovp":{"name":"monthPickerFormat","abstract":"

    UIPickerView month label format

    ","parent_name":"VGSDateTextField"},"Classes/VGSDateTextField.html#/s:13VGSCollectSDK16VGSDateTextFieldC13configurationAA16VGSConfigurationCSgvp":{"name":"configuration","parent_name":"VGSDateTextField"},"Classes/VGSExpDateTextField/YearFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC10YearFormatO5shortyA2EmF":{"name":"short","abstract":"

    Two digits year format, e.g.: 21

    ","parent_name":"YearFormat"},"Classes/VGSExpDateTextField/YearFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC10YearFormatO4longyA2EmF":{"name":"long","abstract":"

    Four digits year format:, e.g.:2021

    ","parent_name":"YearFormat"},"Classes/VGSExpDateTextField/MonthFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC11MonthFormatO12shortSymbolsyA2EmF":{"name":"shortSymbols","abstract":"

    Short month name, e.g.: Jan

    ","parent_name":"MonthFormat"},"Classes/VGSExpDateTextField/MonthFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC11MonthFormatO11longSymbolsyA2EmF":{"name":"longSymbols","abstract":"

    Long month name, e.g.: January

    ","parent_name":"MonthFormat"},"Classes/VGSExpDateTextField/MonthFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC11MonthFormatO7numbersyA2EmF":{"name":"numbers","abstract":"

    Month number: e.g.: 01

    ","parent_name":"MonthFormat"},"Classes/VGSExpDateTextField/MonthFormat.html":{"name":"MonthFormat","abstract":"

    Available Month Label formats in UIPickerView

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSExpDateTextField/YearFormat.html":{"name":"YearFormat","abstract":"

    Available Year Label formats in UIPickerView

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSExpDateTextField.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC17monthPickerFormatAC05MonthI0Ovp":{"name":"monthPickerFormat","abstract":"

    UIPickerView Month Label format

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSExpDateTextField.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC16yearPickerFormatAC04YearI0Ovp":{"name":"yearPickerFormat","abstract":"

    UIPickerView Year Label format

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSCardTextField/CardIconLocation.html#/s:13VGSCollectSDK16VGSCardTextFieldC16CardIconLocationO4leftyA2EmF":{"name":"left","abstract":"

    Card brand icon at left side of VGSCardTextField.

    ","parent_name":"CardIconLocation"},"Classes/VGSCardTextField/CardIconLocation.html#/s:13VGSCollectSDK16VGSCardTextFieldC16CardIconLocationO5rightyA2EmF":{"name":"right","abstract":"

    Card brand icon at right side of VGSCardTextField.

    ","parent_name":"CardIconLocation"},"Classes/VGSCardTextField/CardIconLocation.html":{"name":"CardIconLocation","abstract":"

    Available Card brand icon positions enum.

    ","parent_name":"VGSCardTextField"},"Classes/VGSCardTextField.html#/s:13VGSCollectSDK16VGSCardTextFieldC16cardIconLocationAC04CardgH0Ovp":{"name":"cardIconLocation","abstract":"

    Card brand icon position inside VGSCardTextField.

    ","parent_name":"VGSCardTextField"},"Classes/VGSCardTextField.html#/s:13VGSCollectSDK16VGSCardTextFieldC12cardIconSizeSo6CGSizeVvp":{"name":"cardIconSize","abstract":"

    Card brand icon size.

    ","parent_name":"VGSCardTextField"},"Classes/VGSCardTextField.html#/s:13VGSCollectSDK16VGSCardTextFieldC15cardsIconSourceSo7UIImageCSgAA15VGSPaymentCardsC9CardBrandOcSgvp":{"name":"cardsIconSource","abstract":"

    Asks custom image for specific VGSPaymentCards.CardBrand

    ","parent_name":"VGSCardTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC11placeholderSSSgvp":{"name":"placeholder","abstract":"

    Textfield placeholder string.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC22autocapitalizationTypeSo024UITextAutocapitalizationF0Vvp":{"name":"autocapitalizationType","abstract":"

    Textfield autocapitalization type. Default is .sentences.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC17spellCheckingTypeSo011UITextSpellfG0Vvp":{"name":"spellCheckingType","abstract":"

    Textfield spell checking type. Default is UITextSpellCheckingType.default.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC21attributedPlaceholderSo18NSAttributedStringCSgvp":{"name":"attributedPlaceholder","abstract":"

    Textfield attributedPlaceholder string.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC7paddingSo12UIEdgeInsetsVvp":{"name":"padding","abstract":"

    UIEdgeInsets for text and placeholder inside VGSTextField.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC13textAlignmentSo06NSTextF0Vvp":{"name":"textAlignment","abstract":"

    The technique to use for aligning the text.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC15clearButtonModeSo06UITextd4ViewG0Vvp":{"name":"clearButtonMode","abstract":"

    Sets when the clear button shows up. Default is UITextField.ViewMode.never

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC17isSecureTextEntrySbvp":{"name":"isSecureTextEntry","abstract":"

    Identifies whether the text object should disable text copying and in some cases hide the text being entered. Default is false.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC33adjustsFontForContentSizeCategorySbvp":{"name":"adjustsFontForContentSizeCategory","abstract":"

    Indicates whether VGSTextField should automatically update its font when the device’s UIContentSizeCategory is changed.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC21keyboardAccessoryViewSo6UIViewCSgvp":{"name":"keyboardAccessoryView","abstract":"

    Input Accessory View

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC18autocorrectionTypeSo020UITextAutocorrectionF0Vvp":{"name":"autocorrectionType","abstract":"

    Determines whether autocorrection is enabled or disabled during typing.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC04textD18AccessibilityLabelSSSgvp":{"name":"textFieldAccessibilityLabel","abstract":"

    A succinct label in a localized string that identifies the accessibility text field.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC04textD17AccessibilityHintSSSgvp":{"name":"textFieldAccessibilityHint","abstract":"

    A localized string that contains a brief description of the result of","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC04textD22IsAccessibilityElementSbvp":{"name":"textFieldIsAccessibilityElement","abstract":"

    Boolean value that determinates if the text field should be exposed as an accesibility element.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC13configurationAA16VGSConfigurationCSgvp":{"name":"configuration","abstract":"

    Specifies VGSTextField configuration parameters to work with VGSCollect.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC8delegateAA0cD8Delegate_pSgvp":{"name":"delegate","abstract":"

    Delegates VGSTextField editing events. Default is nil.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC14setDefaultTextyySSSgF":{"name":"setDefaultText(_:)","abstract":"

    Set textfield default text.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC9cleanTextyyF":{"name":"cleanText()","abstract":"

    Removes input from field.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC14isContentEqualySbACF":{"name":"isContentEqual(_:)","abstract":"

    Check if input text in two textfields is same. Returns Bool.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC4fontSo6UIFontCSgvp":{"name":"font","abstract":"

    VGSTextField text font

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)textColor":{"name":"textColor","abstract":"

    VGSTextField text color

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)cornerRadius":{"name":"cornerRadius","abstract":"

    VGSTextField layer corner radius

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)borderWidth":{"name":"borderWidth","abstract":"

    VGSTextField layer borderWidth

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)borderColor":{"name":"borderColor","abstract":"

    VGSTextField layer borderColor

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC14statePublisherAA0cd5StateF0Vvp":{"name":"statePublisher","abstract":"

    VGSTextFieldStatePublisher publisher that emits the State of a given VGSTextField.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(im)becomeFirstResponder":{"name":"becomeFirstResponder()","abstract":"

    Make VGSTextField focused.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(im)resignFirstResponder":{"name":"resignFirstResponder()","abstract":"

    Remove focus from VGSTextField.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)isFirstResponder":{"name":"isFirstResponder","abstract":"

    Check if VGSTextField is focused.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html":{"name":"VGSTextField","abstract":"

    An object that displays an editable text area in user interface.

    "},"Classes/VGSCardTextField.html":{"name":"VGSCardTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to detect and show credit card brand images.

    "},"Classes/VGSExpDateTextField.html":{"name":"VGSExpDateTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to show picker view with Card Number Expiration Month and Year.

    "},"Classes/VGSDateTextField.html":{"name":"VGSDateTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to show picker view with a Date. It support to define a range of valid dates to select from.

    "},"Classes/VGSCVCTextField.html":{"name":"VGSCVCTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to show CVC/CVV images for credit card brands.

    "},"Protocols/VGSTextFieldDelegate.html":{"name":"VGSTextFieldDelegate","abstract":"

    Delegates produced by VGSTextField instance.

    "},"Classes/VGSConfiguration.html":{"name":"VGSConfiguration","abstract":"

    A class responsible for configuration VGSTextField.

    "},"Classes/VGSExpDateConfiguration.html":{"name":"VGSExpDateConfiguration","abstract":"

    A class responsible for configuration VGSTextField with fieldType = .expDate. Extends VGSConfiguration class.

    "},"Classes/VGSDateConfiguration.html":{"name":"VGSDateConfiguration","abstract":"

    Class responsible for configuration VGSDateTextField or VGSTextField with fieldType = .date. Extends VGSConfiguration

    "},"Classes/VGSCardHolderNameTokenizationConfiguration.html":{"name":"VGSCardHolderNameTokenizationConfiguration","abstract":"

    VGSCardHolderNameTokenizationConfiguration - textfield configuration for textfield with type .cardHolderName, required for work with tokenization api.

    "},"Classes/VGSCardNumberTokenizationConfiguration.html":{"name":"VGSCardNumberTokenizationConfiguration","abstract":"

    VGSCardTokenizationConfiguration - textfield configuration for textfield with type .cardNumber, required for work with tokenization api.

    "},"Classes/VGSCVCTokenizationConfiguration.html":{"name":"VGSCVCTokenizationConfiguration","abstract":"

    VGSCVCTokenizationConfiguration - textfield configuration for textfield with type .cvc, required for work with tokenization api.

    "},"Classes/VGSDateTokenizationConfiguration.html":{"name":"VGSDateTokenizationConfiguration","abstract":"

    Class responsible for configuration VGSDateTextField or VGSTextField with fieldType = .date."},"Classes/VGSExpDateTokenizationConfiguration.html":{"name":"VGSExpDateTokenizationConfiguration","abstract":"

    VGSExpDateTokenizationConfiguration - textfield configuration for textfield with type .expDate, required for work with tokenization api.

    "},"Classes/VGSSSNTokenizationConfiguration.html":{"name":"VGSSSNTokenizationConfiguration","abstract":"

    VGSSSNTokenizationConfiguration - textfield configuration for textfield with type .ssn, required for work with tokenization api.

    "},"Classes/VGSTokenizationConfiguration.html":{"name":"VGSTokenizationConfiguration","abstract":"

    VGSTokenizationConfiguration - textfield configuration for textfield with any type of data, required for work with tokenization api.

    "},"Protocols/VGSDateConfigurationProtocol.html":{"name":"VGSDateConfigurationProtocol","abstract":"

    Define the methods and properties the date configuration must have

    "},"Protocols/VGSExpDateConfigurationProtocol.html":{"name":"VGSExpDateConfigurationProtocol","abstract":"

    Attributes required to configure date format and input source for field with type .expDate.

    "},"Enums/FieldType.html":{"name":"FieldType","abstract":"

    Type of VGSTextField configuration.

    "},"Enums/VGSDateFormat.html":{"name":"VGSDateFormat","abstract":"

    Format used to validate a VGS date text input

    "},"Structs/VGSDate.html":{"name":"VGSDate","abstract":"

    Struct that represents a date including year, month and day. It doesn’t include hours, minutes or seconds.

    "},"Enums/VGSTextFieldInputSource.html":{"name":"VGSTextFieldInputSource","abstract":"

    Type of VGSTextField input source.

    "},"UI%20Elements.html":{"name":"UI Elements"},"Tokenization%20Parameters.html":{"name":"Tokenization Parameters"},"File%20Picker.html":{"name":"File Picker"},"Observe%20State%20and%20Send%20Data.html":{"name":"Observe State and Send Data"},"Payment%20Cards.html":{"name":"Payment Cards"},"VGSTextField%20Serializers.html":{"name":"VGSTextField Serializers"},"Validation%20Rules.html":{"name":"Validation Rules"},"Errors.html":{"name":"Errors"},"Error%20Keys.html":{"name":"Error Keys"},"Debugging.html":{"name":"Debugging"},"Enumerations.html":{"name":"Enumerations"}} \ No newline at end of file +{"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO8flatJSONyA2CmF":{"name":"flatJSON","abstract":"

    Map fieldName to JSON without applying any transformations.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO10nestedJSONyA2CmF":{"name":"nestedJSON","abstract":"

    Map fieldName to nested JSON.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO24nestedJSONWithArrayMergeyA2CmF":{"name":"nestedJSONWithArrayMerge","abstract":"

    Map field name to nested JSON and array if array index is specified.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCollectFieldNameMappingPolicy.html#/s:13VGSCollectSDK0A22FieldNameMappingPolicyO28nestedJSONWithArrayOverwriteyA2CmF":{"name":"nestedJSONWithArrayOverwrite","abstract":"

    Map field name to nested JSON and array if array index is specified.","parent_name":"VGSCollectFieldNameMappingPolicy"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO9shortYearyA2CmF":{"name":"shortYear","abstract":"

    Exp.Date in format mm/yy: 01/22

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO8longYearyA2CmF":{"name":"longYear","abstract":"

    Exp.Date in format mm/yyyy: 01/2022

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO18shortYearThenMonthyA2CmF":{"name":"shortYearThenMonth","abstract":"

    Exp.Date in format yy/mm: 22/01

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html#/s:13VGSCollectSDK20VGSCardExpDateFormatO17longYearThenMonthyA2CmF":{"name":"longYearThenMonth","abstract":"

    Exp.Date in format yy/mm: 2022/01

    ","parent_name":"VGSCardExpDateFormat"},"Enums/VGSCardExpDateFormat.html":{"name":"VGSCardExpDateFormat","abstract":"

    Payment Card Expiration Date Format

    "},"Enums/VGSCollectFieldNameMappingPolicy.html":{"name":"VGSCollectFieldNameMappingPolicy","abstract":"

    Defines fieldName mapping to JSON.

    "},"Structs/VGSCollectLoggingConfiguration.html#/s:13VGSCollectSDK0A20LoggingConfigurationV5levelAA11VGSLogLevelOvp":{"name":"level","abstract":"

    Log level. Default is .none.

    ","parent_name":"VGSCollectLoggingConfiguration"},"Structs/VGSCollectLoggingConfiguration.html#/s:13VGSCollectSDK0A20LoggingConfigurationV21isNetworkDebugEnabledSbvp":{"name":"isNetworkDebugEnabled","abstract":"

    Bool flag. Specify true to record VGSCollectSDK network session with success/failed requests. Default is false.

    ","parent_name":"VGSCollectLoggingConfiguration"},"Structs/VGSCollectLoggingConfiguration.html#/s:13VGSCollectSDK0A20LoggingConfigurationV23isExtensiveDebugEnabledSbvp":{"name":"isExtensiveDebugEnabled","abstract":"

    Bool flag. Specify true to enable extensive debugging. Default is false.

    ","parent_name":"VGSCollectLoggingConfiguration"},"Enums/VGSLogLevel.html#/s:13VGSCollectSDK11VGSLogLevelO4infoyA2CmF":{"name":"info","abstract":"

    Log all events including errors and warnings.

    ","parent_name":"VGSLogLevel"},"Enums/VGSLogLevel.html#/s:13VGSCollectSDK11VGSLogLevelO7warningyA2CmF":{"name":"warning","abstract":"

    Log only events indicating warnings and errors.

    ","parent_name":"VGSLogLevel"},"Enums/VGSLogLevel.html#/s:13VGSCollectSDK11VGSLogLevelO4noneyA2CmF":{"name":"none","abstract":"

    Log no events.

    ","parent_name":"VGSLogLevel"},"Classes/VGSCollectLogger.html#/s:13VGSCollectSDK0A6LoggerC6sharedACvpZ":{"name":"shared","abstract":"

    Shared instance.

    ","parent_name":"VGSCollectLogger"},"Classes/VGSCollectLogger.html#/s:13VGSCollectSDK0A6LoggerC13configurationAA0A20LoggingConfigurationVvp":{"name":"configuration","abstract":"

    Logging configuration. Check VGSCollectLoggingConfiguration for logging options.

    ","parent_name":"VGSCollectLogger"},"Classes/VGSCollectLogger.html#/s:13VGSCollectSDK0A6LoggerC17disableAllLoggersyyF":{"name":"disableAllLoggers()","abstract":"

    Stop logging all activities.

    ","parent_name":"VGSCollectLogger"},"Classes/VGSCollectLogger.html":{"name":"VGSCollectLogger","abstract":"

    VGSCollectLogger encapsulates logging logic and debugging options for VGSCollectSDK. Use .configuration property to setup these options. VGSCollectLogger logging implies only printing logs to Xcode console. It doesn’t save logs to persistent store/local file, also it doesn’t send debugging logs to backend services."},"Enums/VGSLogLevel.html":{"name":"VGSLogLevel","abstract":"

    Defines levels of logging.

    "},"Structs/VGSCollectLoggingConfiguration.html":{"name":"VGSCollectLoggingConfiguration","abstract":"

    Holds configuration for VGSCollectSDK logging.

    "},"Error%20Keys.html#/s:13VGSCollectSDK30VGSSDKErrorInputDataIsNotValidSSvp":{"name":"VGSSDKErrorInputDataIsNotValid","abstract":"

    Error key, used for errors when input data is required to be not empty or to be valid only, but is not valid.

    "},"Error%20Keys.html#/s:13VGSCollectSDK28VGSSDKErrorInputDataRequiredSSvp":{"name":"VGSSDKErrorInputDataRequired","abstract":"

    Error key, used for errors when input data is required to be not empty but is empty or nil.

    "},"Error%20Keys.html#/s:13VGSCollectSDK33VGSSDKErrorInputDataRequiredValidSSvp":{"name":"VGSSDKErrorInputDataRequiredValid","abstract":"

    Error key, used for errors when input data is required to be valid is not valid.

    "},"Error%20Keys.html#/s:13VGSCollectSDK23VGSSDKErrorFileNotFoundSSvp":{"name":"VGSSDKErrorFileNotFound","abstract":"

    Error key, used for errors when SDK can’t find the file at file path. Can happened when file changes the path or doesn’t exist.

    "},"Error%20Keys.html#/s:13VGSCollectSDK31VGSSDKErrorFileTypeNotSupportedSSvp":{"name":"VGSSDKErrorFileTypeNotSupported","abstract":"

    Error key, used for errors when file type is not supported by SDK.

    "},"Error%20Keys.html#/s:13VGSCollectSDK34VGSSDKErrorFileSizeExceedsTheLimitSSvp":{"name":"VGSSDKErrorFileSizeExceedsTheLimit","abstract":"

    Error key, used for errors when file size exceeds maximum limit.

    "},"Error%20Keys.html#/s:13VGSCollectSDK29VGSSDKErrorSourceNotAvailableSSvp":{"name":"VGSSDKErrorSourceNotAvailable","abstract":"

    Error key, used for errors when SDK can’t get access to specific source.

    "},"Error%20Keys.html#/s:13VGSCollectSDK39VGSSDKErrorUnexpectedResponseDataFormatSSvp":{"name":"VGSSDKErrorUnexpectedResponseDataFormat","abstract":"

    Error key, used for errors when response for SDK API request is in format that not supported by SDK.

    "},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO7patternyA2CmF":{"name":"pattern","abstract":"

    Default Validation error for VGSValidationRulePattern

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO6lengthyA2CmF":{"name":"length","abstract":"

    Default Validation error for VGSValidationRuleLength

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO12lengthMathesyA2CmF":{"name":"lengthMathes","abstract":"

    Default Validation error for VGSValidationRuleLength

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO7expDateyA2CmF":{"name":"expDate","abstract":"

    Default Validation error for VGSValidationRuleCardExpirationDate

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO4dateyA2CmF":{"name":"date","abstract":"

    Default Validation error for VGSValidationRuleDateRange

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO10cardNumberyA2CmF":{"name":"cardNumber","abstract":"

    Default Validation error for VGSValidationRulePaymentCard

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSValidationErrorType.html#/s:13VGSCollectSDK22VGSValidationErrorTypeO9luhnCheckyA2CmF":{"name":"luhnCheck","abstract":"

    Default Validation error for VGSValidationRuleLuhnCheck

    ","parent_name":"VGSValidationErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO19inputDataIsNotValidyA2CmF":{"name":"inputDataIsNotValid","abstract":"

    When input data is not valid, but required to be valid

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO17inputFileNotFoundyA2CmF":{"name":"inputFileNotFound","abstract":"

    When can’t find file on device

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO09inputFileD14IsNotSupportedyA2CmF":{"name":"inputFileTypeIsNotSupported","abstract":"

    When can’t find file on device

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO28inputFileSizeExceedsTheLimityA2CmF":{"name":"inputFileSizeExceedsTheLimit","abstract":"

    When file size is larger then allowed limit

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO18sourceNotAvailableyA2CmF":{"name":"sourceNotAvailable","abstract":"

    When can’t get access to file source

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO018unexpectedResponseD0yA2CmF":{"name":"unexpectedResponseType","abstract":"

    When response type is not supported

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO28unexpectedResponseDataFormatyA2CmF":{"name":"unexpectedResponseDataFormat","abstract":"

    When reponse data format is not supported

    ","parent_name":"VGSErrorType"},"Enums/VGSErrorType.html#/s:13VGSCollectSDK12VGSErrorTypeO23invalidConfigurationURLyA2CmF":{"name":"invalidConfigurationURL","abstract":"

    When VGS config URL is not valid.

    ","parent_name":"VGSErrorType"},"Classes/VGSError.html#/s:13VGSCollectSDK8VGSErrorC4typeAA0C4TypeOSgvp":{"name":"type","abstract":"

    VGSErrorType- required for each VGSError instance

    ","parent_name":"VGSError"},"Classes/VGSError.html#/c:@M@VGSCollectSDK@objc(cs)VGSError(py)code":{"name":"code","abstract":"

    Code assiciated with VGSErrorType

    ","parent_name":"VGSError"},"Classes/VGSError.html#/c:@M@VGSCollectSDK@objc(cs)VGSError(im)initWithCoder:":{"name":"init(coder:)","abstract":"

    : nodoc. Public required init.

    ","parent_name":"VGSError"},"Classes/VGSError.html":{"name":"VGSError","abstract":"

    An error produced by VGSCollectSDK. Works similar to default NSError in iOS.

    "},"Enums/VGSErrorType.html":{"name":"VGSErrorType","abstract":"

    Type of VGSError and it status code.

    "},"Errors.html#/s:13VGSCollectSDK0A14SDKErrorDomainSSvp":{"name":"VGSCollectSDKErrorDomain","abstract":"

    An error domain string used to produce VGSError from VGSCollectSDK - “vgscollect.sdk”

    "},"Errors.html#/s:13VGSCollectSDK18VGSValidationErrora":{"name":"VGSValidationError","abstract":"

    VGS Validation Error object type

    "},"Enums/VGSValidationErrorType.html":{"name":"VGSValidationErrorType","abstract":"

    Default validation error types

    "},"Enums/CheckSumAlgorithmType.html#/s:13VGSCollectSDK21CheckSumAlgorithmTypeO4luhnyA2CmF":{"name":"luhn","abstract":"

    Luhn Algorithm

    ","parent_name":"CheckSumAlgorithmType"},"Enums/CheckSumAlgorithmType.html#/s:13VGSCollectSDK21CheckSumAlgorithmTypeO8validateySbSSF":{"name":"validate(_:)","abstract":"

    Validate input String with specified algorithm.

    ","parent_name":"CheckSumAlgorithmType"},"Structs/VGSValidationRuleDateRange.html#/s:13VGSCollectSDK26VGSValidationRuleDateRangeV10dateFormatAA07VGSDateH0Ovp":{"name":"dateFormat","abstract":"

    Date format used to validate the rule

    ","parent_name":"VGSValidationRuleDateRange"},"Structs/VGSValidationRuleDateRange.html#/s:13VGSCollectSDK26VGSValidationRuleDateRangeV5errorSSvp":{"name":"error","abstract":"

    Error used in case the validation is invalid

    ","parent_name":"VGSValidationRuleDateRange"},"Structs/VGSValidationRuleDateRange.html#/s:13VGSCollectSDK26VGSValidationRuleDateRangeV10dateFormat5error5start3endAcA07VGSDateH0O_SSAA0L0VSgALtcfc":{"name":"init(dateFormat:error:start:end:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleDateRange"},"Structs/VGSValidationRuleCardExpirationDate.html#/s:13VGSCollectSDK35VGSValidationRuleCardExpirationDateV10dateFormatAA010VGSCardExpgI0Ovp":{"name":"dateFormat","abstract":"

    Payment Card Expiration Date Format

    ","parent_name":"VGSValidationRuleCardExpirationDate"},"Structs/VGSValidationRuleCardExpirationDate.html#/s:13VGSCollectSDK35VGSValidationRuleCardExpirationDateV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleCardExpirationDate"},"Structs/VGSValidationRuleCardExpirationDate.html#/s:13VGSCollectSDK35VGSValidationRuleCardExpirationDateV10dateFormat5errorAcA010VGSCardExpgI0O_SStcfc":{"name":"init(dateFormat:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleCardExpirationDate"},"Structs/VGSValidationRuleLuhnCheck.html#/s:13VGSCollectSDK26VGSValidationRuleLuhnCheckV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleLuhnCheck"},"Structs/VGSValidationRuleLuhnCheck.html#/s:13VGSCollectSDK26VGSValidationRuleLuhnCheckV5errorACSS_tcfc":{"name":"init(error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleLuhnCheck"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV015validateUnknownF5BrandSbvp":{"name":"validateUnknownCardBrand","abstract":"

    Turn on/off validation of cards that are not defined in SDK - CardBrand.unknown

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV5errorACSS_tcfc":{"name":"init(error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePaymentCard.html#/s:13VGSCollectSDK28VGSValidationRulePaymentCardV5error015validateUnknownF5BrandACSS_Sbtcfc":{"name":"init(error:validateUnknownCardBrand:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRulePaymentCard"},"Structs/VGSValidationRulePattern.html#/s:13VGSCollectSDK24VGSValidationRulePatternV7patternSSvp":{"name":"pattern","abstract":"

    Regex pattern

    ","parent_name":"VGSValidationRulePattern"},"Structs/VGSValidationRulePattern.html#/s:13VGSCollectSDK24VGSValidationRulePatternV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRulePattern"},"Structs/VGSValidationRulePattern.html#/s:13VGSCollectSDK24VGSValidationRulePatternV7pattern5errorACSS_SStcfc":{"name":"init(pattern:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRulePattern"},"Structs/VGSValidationRuleLengthMatch.html#/s:13VGSCollectSDK28VGSValidationRuleLengthMatchV7lengthsSaySiGvp":{"name":"lengths","abstract":"

    Array of valid length ranges

    ","parent_name":"VGSValidationRuleLengthMatch"},"Structs/VGSValidationRuleLengthMatch.html#/s:13VGSCollectSDK28VGSValidationRuleLengthMatchV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleLengthMatch"},"Structs/VGSValidationRuleLengthMatch.html#/s:13VGSCollectSDK28VGSValidationRuleLengthMatchV7lengths5errorACSaySiG_SStcfc":{"name":"init(lengths:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleLengthMatch"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV3minSivp":{"name":"min","abstract":"

    Min input length required

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV3maxSivp":{"name":"max","abstract":"

    Max input length required

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV5errorSSvp":{"name":"error","abstract":"

    Validation Error

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleLength.html#/s:13VGSCollectSDK23VGSValidationRuleLengthV3min3max5errorACSi_SiSStcfc":{"name":"init(min:max:error:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleLength"},"Structs/VGSValidationRuleSet.html#/s:13VGSCollectSDK20VGSValidationRuleSetVACycfc":{"name":"init()","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleSet"},"Structs/VGSValidationRuleSet.html#/s:13VGSCollectSDK20VGSValidationRuleSetV5rulesACSayAA0cD8Protocol_pG_tcfc":{"name":"init(rules:)","abstract":"

    Initialization

    ","parent_name":"VGSValidationRuleSet"},"Structs/VGSValidationRuleSet.html#/s:13VGSCollectSDK20VGSValidationRuleSetV3add4ruleyAA0cD8Protocol_p_tF":{"name":"add(rule:)","abstract":"

    Add validation rule

    ","parent_name":"VGSValidationRuleSet"},"Structs/VGSValidationRuleSet.html":{"name":"VGSValidationRuleSet","abstract":"

    Set of validation rules

    "},"Structs/VGSValidationRuleLength.html":{"name":"VGSValidationRuleLength","abstract":"

    Validate input in scope of length.

    "},"Structs/VGSValidationRuleLengthMatch.html":{"name":"VGSValidationRuleLengthMatch","abstract":"

    Validate input in scope of multiple lengths, e.x.: [16, 19].

    "},"Structs/VGSValidationRulePattern.html":{"name":"VGSValidationRulePattern","abstract":"

    Validate input in scope of matching the pattern(regex).

    "},"Structs/VGSValidationRulePaymentCard.html":{"name":"VGSValidationRulePaymentCard","abstract":"

    Validate input in scope of matching supported card brands, available lengths and checkSum algorithms."},"Structs/VGSValidationRuleLuhnCheck.html":{"name":"VGSValidationRuleLuhnCheck","abstract":"

    Validate input in scope of matching Luhn algorithm.

    "},"Structs/VGSValidationRuleCardExpirationDate.html":{"name":"VGSValidationRuleCardExpirationDate","abstract":"

    Validate input in scope of matching card expiration date format and time range.

    "},"Structs/VGSValidationRuleDateRange.html":{"name":"VGSValidationRuleDateRange","abstract":"

    Validation rule used to validate the date input in objects"},"Enums/CheckSumAlgorithmType.html":{"name":"CheckSumAlgorithmType","abstract":"

    Check Sum Algorithm Types

    "},"Structs/VGSExpDateSeparateSerializer.html#/s:13VGSCollectSDK28VGSExpDateSeparateSerializerV14monthFieldNameSSvp":{"name":"monthFieldName","abstract":"

    Field Name that will be used as a JSON key with month value from expDate string on send request.

    ","parent_name":"VGSExpDateSeparateSerializer"},"Structs/VGSExpDateSeparateSerializer.html#/s:13VGSCollectSDK28VGSExpDateSeparateSerializerV13yearFieldNameSSvp":{"name":"yearFieldName","abstract":"

    Field Name that will be used as a JSON key with year value from expDate string on send request.

    ","parent_name":"VGSExpDateSeparateSerializer"},"Structs/VGSExpDateSeparateSerializer.html#/s:13VGSCollectSDK28VGSExpDateSeparateSerializerV14monthFieldName04yearhI0ACSS_SStcfc":{"name":"init(monthFieldName:yearFieldName:)","abstract":"

    Initialization

    ","parent_name":"VGSExpDateSeparateSerializer"},"VGSTextField%20Serializers.html#/s:13VGSCollectSDK27VGSFormatSerializerProtocolP":{"name":"VGSFormatSerializerProtocol","abstract":"

    Base protocol describing Content Serialization attributes

    "},"Structs/VGSExpDateSeparateSerializer.html":{"name":"VGSExpDateSeparateSerializer","abstract":"

    Expiration Date Separate serializer, split date string to components with separate fieldNames

    "},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV5regexSSvp":{"name":"regex","abstract":"

    Regex validating that input contains digits only.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV17cardNumberLengthsSaySiGvp":{"name":"cardNumberLengths","abstract":"

    Valid Unknown Card Numbers Lengths

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV10cvcLengthsSaySiGvp":{"name":"cvcLengths","abstract":"

    Valid Unknown Card CVC/CVV Lengths. For most brands valid cvc lengths is [3], while for Amex is [4]. For unknown brands can be set as [3, 4]

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV17checkSumAlgorithmAA05CheckhI4TypeOSgvp":{"name":"checkSumAlgorithm","abstract":"

    Check sum validation algorithm. For most brands card number can be validated by CheckSumAlgorithmType.luhn algorithm. If none - result of Checksum Algorithm validation will be true.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV13formatPatternSSvp":{"name":"formatPattern","abstract":"

    Unknown Payment Card Numbers visual format pattern. NOTE: format pattern length limits input length.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    Image, associated with Unknown Payment Card Brands.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSUnknownPaymentCardModel.html#/s:13VGSCollectSDK26VGSUnknownPaymentCardModelV7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    Image, associated with CVC for Unknown Payment Card Brands.

    ","parent_name":"VGSUnknownPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV5brandAA15VGSPaymentCardsC0E5BrandOvp":{"name":"brand","abstract":"

    Payment Card Brand

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV4nameSSvp":{"name":"name","abstract":"

    Payment Card Name

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV5regexSSvp":{"name":"regex","abstract":"

    Regex Pattern required to detect Payment Card Brand

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV17cardNumberLengthsSaySiGvp":{"name":"cardNumberLengths","abstract":"

    Valid Card Number Lengths

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV10cvcLengthsSaySiGvp":{"name":"cvcLengths","abstract":"

    Valid Card CVC/CVV Lengths. For most brands valid cvc lengths is [3], while for Amex is [4]. For unknown brands can be set as [3, 4]

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV17checkSumAlgorithmAA05CheckhI4TypeOSgvp":{"name":"checkSumAlgorithm","abstract":"

    Check sum validation algorithm. For most brands card number can be validated by CheckSumAlgorithmType.luhn algorithm. If none - result of Checksum Algorithm validation will be true.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV13formatPatternSSvp":{"name":"formatPattern","abstract":"

    Payment Card Number visual format pattern.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    Image, associated with Payment Card Brand.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    Image, associated with CVC for Payment Card Brand.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSCustomPaymentCardModel.html#/s:13VGSCollectSDK25VGSCustomPaymentCardModelV4name5regex13formatPattern17cardNumberLengths03cvcM017checkSumAlgorithm9brandIconACSS_S2SSaySiGAkA05CheckpQ4TypeOSgSo7UIImageCSgtcfc":{"name":"init(name:regex:formatPattern:cardNumberLengths:cvcLengths:checkSumAlgorithm:brandIcon:)","abstract":"

    Initializer.

    ","parent_name":"VGSCustomPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV5brandAA0C5CardsC0D5BrandOvp":{"name":"brand","abstract":"

    Payment Card Brand

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV4nameSSvp":{"name":"name","abstract":"

    Payment Card Name

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV5regexSSvp":{"name":"regex","abstract":"

    Regex Pattern required to detect Payment Card Brand

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV17cardNumberLengthsSaySiGvp":{"name":"cardNumberLengths","abstract":"

    Valid Card Number Lengths

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV10cvcLengthsSaySiGvp":{"name":"cvcLengths","abstract":"

    Valid Card CVC/CVV Lengths. For most brands valid cvc lengths is [3], while for Amex is [4]. For unknown brands can be set as [3, 4]

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV17checkSumAlgorithmAA05CheckgH4TypeOSgvp":{"name":"checkSumAlgorithm","abstract":"

    Check sum validation algorithm. For most brands card number can be validated by CheckSumAlgorithmType.luhn algorithm. If none - result of Checksum Algorithm validation will be true.

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV13formatPatternSSvp":{"name":"formatPattern","abstract":"

    Payment Card Number visual format pattern.

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    Image, associated with Payment Card Brand.

    ","parent_name":"VGSPaymentCardModel"},"Structs/VGSPaymentCardModel.html#/s:13VGSCollectSDK19VGSPaymentCardModelV7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    Image, associated with CVC for Payment Card Brand.

    ","parent_name":"VGSPaymentCardModel"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO3eloyA2EmF":{"name":"elo","abstract":"

    ELO

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO12visaElectronyA2EmF":{"name":"visaElectron","abstract":"

    Visa Electron

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7maestroyA2EmF":{"name":"maestro","abstract":"

    Maestro

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO18forbrugsforeningenyA2EmF":{"name":"forbrugsforeningen","abstract":"

    Forbrugsforeningen

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7dankortyA2EmF":{"name":"dankort","abstract":"

    Dankort

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO4visayA2EmF":{"name":"visa","abstract":"

    Visa

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO10mastercardyA2EmF":{"name":"mastercard","abstract":"

    Mastercard

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO4amexyA2EmF":{"name":"amex","abstract":"

    American Express

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO9hipercardyA2EmF":{"name":"hipercard","abstract":"

    Hipercard

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO10dinersClubyA2EmF":{"name":"dinersClub","abstract":"

    Diners Club

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO8discoveryA2EmF":{"name":"discover","abstract":"

    Discover

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO8unionpayyA2EmF":{"name":"unionpay","abstract":"

    UnionPay

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO3jcbyA2EmF":{"name":"jcb","abstract":"

    JCB

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7unknownyA2EmF":{"name":"unknown","abstract":"

    Not supported card brand - “unknown”

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO6customyAESS_tcAEmF":{"name":"custom(brandName:)","abstract":"

    Custom Payment Card Brand. Should have unique brandName.

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO16cvcFormatPatternSSvp":{"name":"cvcFormatPattern","abstract":"

    no:doc

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO9brandIconSo7UIImageCSgvp":{"name":"brandIcon","abstract":"

    no:doc

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO7cvcIconSo7UIImageCSgvp":{"name":"cvcIcon","abstract":"

    no:doc

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO11stringValueSSvp":{"name":"stringValue","abstract":"

    String representation of VGSPaymentCards.CardBrand enum values.

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html#/s:13VGSCollectSDK15VGSPaymentCardsC9CardBrandO11cardLengthsSaySiGvp":{"name":"cardLengths","abstract":"

    Returns array with valid card number lengths for specific VGSPaymentCards.CardBrand

    ","parent_name":"CardBrand"},"Classes/VGSPaymentCards/CardBrand.html":{"name":"CardBrand","abstract":"

    Supported card brands

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC3eloAA0C9CardModelVvpZ":{"name":"elo","abstract":"

    Elo Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC12visaElectronAA0C9CardModelVvpZ":{"name":"visaElectron","abstract":"

    Visa Electron Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC7maestroAA0C9CardModelVvpZ":{"name":"maestro","abstract":"

    Maestro Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC18forbrugsforeningenAA0C9CardModelVvpZ":{"name":"forbrugsforeningen","abstract":"

    Forbrugsforeningen Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC7dankortAA0C9CardModelVvpZ":{"name":"dankort","abstract":"

    Dankort Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC4visaAA0C9CardModelVvpZ":{"name":"visa","abstract":"

    Elo Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC10masterCardAA0cF5ModelVvpZ":{"name":"masterCard","abstract":"

    Master Card Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC4amexAA0C9CardModelVvpZ":{"name":"amex","abstract":"

    Amex Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC9hipercardAA0C9CardModelVvpZ":{"name":"hipercard","abstract":"

    Hipercard Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC10dinersClubAA0C9CardModelVvpZ":{"name":"dinersClub","abstract":"

    DinersClub Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC8discoverAA0C9CardModelVvpZ":{"name":"discover","abstract":"

    Discover Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC8unionpayAA0C9CardModelVvpZ":{"name":"unionpay","abstract":"

    UnionPay Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC3jcbAA0C9CardModelVvpZ":{"name":"jcb","abstract":"

    JCB Payment Card Model

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC7unknownAA26VGSUnknownPaymentCardModelVvpZ":{"name":"unknown","abstract":"

    Unknown Brand Payment Card Model. Can be used for specifing cards details when VGSValidationRulePaymentCard requires validating CardBrand.unknown cards.

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC22cutomPaymentCardModelsSayAA09VGSCustomfG5ModelVGvpZ":{"name":"cutomPaymentCardModels","abstract":"

    Array of Custom Payment Card Models.

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC15validCardBrandsSayAA0cF13ModelProtocol_pGSgvpZ":{"name":"validCardBrands","abstract":"

    An array of valid Card Brands, could include custom and default brands. If not set, will use availableCardBrands array instead.

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC31getCardModelFromAvailableModels5brandAA0cfG8Protocol_pSgAC0F5BrandO_tFZ":{"name":"getCardModelFromAvailableModels(brand:)","abstract":"

    no:doc

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html#/s:13VGSCollectSDK15VGSPaymentCardsC028detectCardBrandFromAvailableD05inputAC0fG0OSS_tFZ":{"name":"detectCardBrandFromAvailableCards(input:)","abstract":"

    no:doc

    ","parent_name":"VGSPaymentCards"},"Classes/VGSPaymentCards.html":{"name":"VGSPaymentCards","abstract":"

    Class responsible for storing and managing Payment Cards in SDK.

    "},"Structs/VGSPaymentCardModel.html":{"name":"VGSPaymentCardModel","abstract":"

    An object representing Payment Card

    "},"Structs/VGSCustomPaymentCardModel.html":{"name":"VGSCustomPaymentCardModel","abstract":"

    Holds information for custom payment model.

    "},"Structs/VGSUnknownPaymentCardModel.html":{"name":"VGSUnknownPaymentCardModel","abstract":"

    An object representing Unknown Payment Cards - cards not defined in the SDK. Object is used when validation forCardBrand.unknown is set as true. Check VGSValidationRulePaymentCard for more details. Validation attributes can be edited through `VGSPaymentCards.unknown model.

    "},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO3getyA2CmF":{"name":"get","abstract":"

    GET method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO4postyA2CmF":{"name":"post","abstract":"

    POST method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO3putyA2CmF":{"name":"put","abstract":"

    PUT method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO5patchyA2CmF":{"name":"patch","abstract":"

    PATCH method.

    ","parent_name":"VGSCollectHTTPMethod"},"Enums/VGSCollectHTTPMethod.html#/s:13VGSCollectSDK0A10HTTPMethodO6deleteyA2CmF":{"name":"delete","abstract":"

    DELETE method.

    ","parent_name":"VGSCollectHTTPMethod"},"Structs/VGSCollectRequestOptions.html#/s:13VGSCollectSDK0A14RequestOptionsV22fieldNameMappingPolicyAA0a5FieldfgH0Ovp":{"name":"fieldNameMappingPolicy","abstract":"

    Defines how to map fieldNames to JSON. Default is .nestedJSON.

    ","parent_name":"VGSCollectRequestOptions"},"Structs/VGSCollectRequestOptions.html#/s:13VGSCollectSDK0A14RequestOptionsVACycfc":{"name":"init()","abstract":"

    Initializer.

    ","parent_name":"VGSCollectRequestOptions"},"Enums/VGSTokenizationResponse.html#/s:13VGSCollectSDK23VGSTokenizationResponseO7successyACSi_SDySSypGSgSo13NSURLResponseCSgtcACmF":{"name":"success(_:_:_:)","abstract":"

    Success response case

    ","parent_name":"VGSTokenizationResponse"},"Enums/VGSTokenizationResponse.html#/s:13VGSCollectSDK23VGSTokenizationResponseO7failureyACSi_10Foundation4DataVSgSo13NSURLResponseCSgs5Error_pSgtcACmF":{"name":"failure(_:_:_:_:)","abstract":"

    Failed response case

    ","parent_name":"VGSTokenizationResponse"},"Enums/VGSResponse.html#/s:13VGSCollectSDK11VGSResponseO7successyACSi_10Foundation4DataVSgSo13NSURLResponseCSgtcACmF":{"name":"success(_:_:_:)","abstract":"

    Success response case

    ","parent_name":"VGSResponse"},"Enums/VGSResponse.html#/s:13VGSCollectSDK11VGSResponseO7failureyACSi_10Foundation4DataVSgSo13NSURLResponseCSgs5Error_pSgtcACmF":{"name":"failure(_:_:_:_:)","abstract":"

    Failed response case

    ","parent_name":"VGSResponse"},"Structs/VGSTextFieldStatePublisher.html#/s:7Combine9PublisherP6OutputQa":{"name":"Output","parent_name":"VGSTextFieldStatePublisher"},"Structs/VGSTextFieldStatePublisher.html#/s:7Combine9PublisherP7FailureQa":{"name":"Failure","parent_name":"VGSTextFieldStatePublisher"},"Structs/VGSTextFieldStatePublisher.html#/s:13VGSCollectSDK26VGSTextFieldStatePublisherV7receive10subscriberyx_t7Combine10SubscriberRzs5NeverO7FailureRtzAA0E0C5InputRtzlF":{"name":"receive(subscriber:)","abstract":"

    Attaches a subscriber to the publisher to receive updates on the VGSTextField State.

    ","parent_name":"VGSTextFieldStatePublisher"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC5last4SSvp":{"name":"last4","abstract":"

    Last 4 digits of the valid card number from associated VGSTextField with field configuration type FieldType.cardNumber.

    ","parent_name":"CardState"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC3binSSvp":{"name":"bin","abstract":"

    Bin digits of the valid card number from associated VGSTextField with field configuration type FieldType.cardNumber.

    ","parent_name":"CardState"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC9cardBrandAA15VGSPaymentCardsC0cF0Ovp":{"name":"cardBrand","abstract":"

    Credit Card Brand of the card number from associated VGSTextField with field configuration type FieldType.cardNumber.

    ","parent_name":"CardState"},"Classes/CardState.html#/s:13VGSCollectSDK9CardStateC11descriptionSSvp":{"name":"description","abstract":"

    Message that contains CardState attributes and their values.

    ","parent_name":"CardState"},"Classes/SSNState.html#/s:13VGSCollectSDK8SSNStateC5last4SSvp":{"name":"last4","abstract":"

    Last 4 digits of the valid ssn from associated VGSTextField with field configuration type FieldType.ssn.

    ","parent_name":"SSNState"},"Classes/SSNState.html#/s:13VGSCollectSDK8SSNStateC11descriptionSSvp":{"name":"description","abstract":"

    Message that contains SSNState attributes and their values.

    ","parent_name":"SSNState"},"Classes/State.html#/s:13VGSCollectSDK5StateC9fieldNameSSSgvp":{"name":"fieldName","abstract":"

    VGSConfiguration.fieldName associated with VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC10isRequiredSbvp":{"name":"isRequired","abstract":"

    VGSConfiguration.isRequired attribute defined for VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC19isRequiredValidOnlySbvp":{"name":"isRequiredValidOnly","abstract":"

    VGSConfiguration.isRequiredValidOnly attribute defined for VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC7isValidSbvp":{"name":"isValid","abstract":"

    Contains current validation state for VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC7isEmptySbvp":{"name":"isEmpty","abstract":"

    Show if VGSTextField input is empty

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC7isDirtySbvp":{"name":"isDirty","abstract":"

    Show if VGSTextField was edited

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC11inputLengthSivp":{"name":"inputLength","abstract":"

    Input data length in VGSTextField

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC16validationErrorsSaySSGvp":{"name":"validationErrors","abstract":"

    Array of VGSValidationError. Should be empty when textfield input is valid.

    ","parent_name":"State"},"Classes/State.html#/s:13VGSCollectSDK5StateC11descriptionSSvp":{"name":"description","abstract":"

    Message that contains State attributes and their values

    ","parent_name":"State"},"Enums/Environment.html#/s:13VGSCollectSDK11EnvironmentO7sandboxyA2CmF":{"name":"sandbox","abstract":"

    Should be used for development and testing purpose.

    ","parent_name":"Environment"},"Enums/Environment.html#/s:13VGSCollectSDK11EnvironmentO4liveyA2CmF":{"name":"live","abstract":"

    Should be used for production.

    ","parent_name":"Environment"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C13customHeadersSDyS2SGSgvp":{"name":"customHeaders","abstract":"

    Set your custom HTTP headers.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C17observeFieldStateyAA07VGSTextD0CcSgvp":{"name":"observeFieldState","abstract":"

    Observe only focused VGSTextField on editing events.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C13observeStatesySayAA12VGSTextFieldCGcSgvp":{"name":"observeStates","abstract":"

    Observe all VGSTextField on editing events.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C10textFieldsSayAA12VGSTextFieldCGvp":{"name":"textFields","abstract":"

    Returns array of VGSTextFields associated with VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C2id11environment8hostname13satellitePortACSS_S2SSgSiSgtcfc":{"name":"init(id:environment:hostname:satellitePort:)","abstract":"

    Initialization.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C2id11environment10dataRegion8hostname13satellitePortACSS_AA11EnvironmentOSSSgAKSiSgtcfc":{"name":"init(id:environment:dataRegion:hostname:satellitePort:)","abstract":"

    Initialization.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C12getTextField9fieldNameAA07VGSTextE0CSgSS_tF":{"name":"getTextField(fieldName:)","abstract":"

    Returns VGSTextField with VGSConfiguration.fieldName associated with VGCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C20unsubscribeTextFieldyyAA07VGSTextE0CF":{"name":"unsubscribeTextField(_:)","abstract":"

    Unasubscribe VGSTextField from VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C21unsubscribeTextFieldsyySayAA12VGSTextFieldCGF":{"name":"unsubscribeTextFields(_:)","abstract":"

    Unasubscribe VGSTextFields from VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C24unsubscribeAllTextFieldsyyF":{"name":"unsubscribeAllTextFields()","abstract":"

    Unasubscribe all VGSTextFields from VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C10cleanFilesyyF":{"name":"cleanFiles()","abstract":"

    Detach files for associated VGSCollect instance.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendData4path6method7routeId05extraD014requestOptions10completionySS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestK0VyAA11VGSResponseOctF":{"name":"sendData(path:method:routeId:extraData:requestOptions:completion:)","abstract":"

    Send data from VGSTextFields to your organization vault.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendFile4path6method7routeId9extraData14requestOptions10completionySS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestL0VyAA11VGSResponseOctF":{"name":"sendFile(path:method:routeId:extraData:requestOptions:completion:)","abstract":"

    Send file to your organization vault. Only send one file at a time.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C12tokenizeData7routeId10completionySSSg_yAA23VGSTokenizationResponseOctF":{"name":"tokenizeData(routeId:completion:)","abstract":"

    Send tokenization request with data from VGSTextFields.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendData4path6method7routeId05extraD014requestOptionsAA11VGSResponseOSS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestK0VtYaF":{"name":"sendData(path:method:routeId:extraData:requestOptions:)","abstract":"

    Asynchronously send data from VGSTextFields to your organization vault.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C8sendFile4path6method7routeId9extraDataAA11VGSResponseOSS_AA0A10HTTPMethodOSSSgSDySSypGSgtYaF":{"name":"sendFile(path:method:routeId:extraData:)","abstract":"

    Asynchronously send file to your organization vault. Only send one file at a time.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C12tokenizeData7routeIdAA23VGSTokenizationResponseOSSSg_tYaF":{"name":"tokenizeData(routeId:)","abstract":"

    Asynchronously send tokenization request with data from VGSTextFields.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C17sendDataPublisher4path6method7routeId05extraD014requestOptions7Combine6FutureCyAA11VGSResponseOs5NeverOGSS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestL0VtF":{"name":"sendDataPublisher(path:method:routeId:extraData:requestOptions:)","abstract":"

    Send data from VGSTextFields to your organization vault using the Combine framework.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C17sendFilePublisher4path6method7routeId9extraData14requestOptions7Combine6FutureCyAA11VGSResponseOs5NeverOGSS_AA0A10HTTPMethodOSSSgSDySSypGSgAA0a7RequestM0VtF":{"name":"sendFilePublisher(path:method:routeId:extraData:requestOptions:)","abstract":"

    Send file to your organization vault using the Combine framework.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html#/s:13VGSCollectSDK0A0C21tokenizeDataPublisher7routeId7Combine6FutureCyAA23VGSTokenizationResponseOs5NeverOGSSSg_tF":{"name":"tokenizeDataPublisher(routeId:)","abstract":"

    Send tokenization request with data from VGSTextFields to your organization vault using the Combine framework.

    ","parent_name":"VGSCollect"},"Classes/VGSCollect.html":{"name":"VGSCollect","abstract":"

    An object you use for observing VGSTextField State and send data to your organization vault.

    "},"Enums/Environment.html":{"name":"Environment","abstract":"

    Organization vault environment.

    "},"Classes/State.html":{"name":"State","abstract":"

    An object that describes VGSTextField state. State attributes are read-only.

    "},"Classes/SSNState.html":{"name":"SSNState","abstract":"

    An object that describes VGSTextField state with configuration FieldType.ssn . State attributes are read-only.

    "},"Classes/CardState.html":{"name":"CardState","abstract":"

    An object that describes VGSTextField state with configuration FieldType.cardNumber . State attributes are read-only.

    "},"Structs/VGSTextFieldStatePublisher.html":{"name":"VGSTextFieldStatePublisher","abstract":"

    A custom publisher that emits State of a given VGSTextField.

    "},"Enums/VGSResponse.html":{"name":"VGSResponse","abstract":"

    Response enum cases for SDK requests.

    "},"Enums/VGSTokenizationResponse.html":{"name":"VGSTokenizationResponse","abstract":"

    Tokenization response enum cases for SDK requests.

    "},"Structs/VGSCollectRequestOptions.html":{"name":"VGSCollectRequestOptions","abstract":"

    Request options.

    "},"Observe%20State%20and%20Send%20Data.html#/s:13VGSCollectSDK8JsonDataa":{"name":"JsonData","abstract":"

    Key-value data type, usually used for response format.

    "},"Enums/VGSCollectHTTPMethod.html":{"name":"VGSCollectHTTPMethod","abstract":"

    HTTP request methods

    "},"Observe%20State%20and%20Send%20Data.html#/s:13VGSCollectSDK11HTTPHeadersa":{"name":"HTTPHeaders","abstract":"

    Key-value data type, used in http request headers.

    "},"Classes/VGSFileInfo.html#/c:@M@VGSCollectSDK@objc(cs)VGSFileInfo(py)fileExtension":{"name":"fileExtension","abstract":"

    File extension, like “jpeg”, “png”, etc.

    ","parent_name":"VGSFileInfo"},"Classes/VGSFileInfo.html#/c:@M@VGSCollectSDK@objc(cs)VGSFileInfo(py)size":{"name":"size","abstract":"

    File size.

    ","parent_name":"VGSFileInfo"},"Classes/VGSFileInfo.html#/c:@M@VGSCollectSDK@objc(cs)VGSFileInfo(py)sizeUnits":{"name":"sizeUnits","abstract":"

    File size units.

    ","parent_name":"VGSFileInfo"},"Enums/VGSFileSource.html#/s:13VGSCollectSDK13VGSFileSourceO12photoLibraryyA2CmF":{"name":"photoLibrary","abstract":"

    Device photo library.

    ","parent_name":"VGSFileSource"},"Enums/VGSFileSource.html#/s:13VGSCollectSDK13VGSFileSourceO6camerayA2CmF":{"name":"camera","abstract":"

    Device camera.

    ","parent_name":"VGSFileSource"},"Enums/VGSFileSource.html#/s:13VGSCollectSDK13VGSFileSourceO18documentsDirectoryyA2CmF":{"name":"documentsDirectory","abstract":"

    Device documents directory.

    ","parent_name":"VGSFileSource"},"Protocols/VGSFilePickerControllerDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSFilePickerControllerDelegate(im)userDidPickFileWithInfo:":{"name":"userDidPickFileWithInfo(_:)","abstract":"

    On user select a file

    ","parent_name":"VGSFilePickerControllerDelegate"},"Protocols/VGSFilePickerControllerDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSFilePickerControllerDelegate(im)userDidSCancelFilePicking":{"name":"userDidSCancelFilePicking()","abstract":"

    On user canceling file picking

    ","parent_name":"VGSFilePickerControllerDelegate"},"Protocols/VGSFilePickerControllerDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSFilePickerControllerDelegate(im)filePickingFailedWithError:":{"name":"filePickingFailedWithError(_:)","abstract":"

    On error occured when user pick a file.

    ","parent_name":"VGSFilePickerControllerDelegate"},"Classes/VGSFilePickerConfiguration.html#/s:13VGSCollectSDK26VGSFilePickerConfigurationC9fieldNameSSvp":{"name":"fieldName","abstract":"

    Name that will be associated with selected file by user. Used as a JSON key on send request with file data to your organozation vault.

    ","parent_name":"VGSFilePickerConfiguration"},"Classes/VGSFilePickerConfiguration.html#/s:13VGSCollectSDK26VGSFilePickerConfigurationC9collector9fieldName10fileSourceAcA0A0C_SSAA0cJ0Otcfc":{"name":"init(collector:fieldName:fileSource:)","abstract":"

    Initialization

    ","parent_name":"VGSFilePickerConfiguration"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC8delegateAA0cdE8Delegate_pSgvp":{"name":"delegate","abstract":"

    VGSFilePickerControllerDelegate - handle user interaction on file picking.

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC13configurationAcA0cD13ConfigurationC_tcfc":{"name":"init(configuration:)","abstract":"

    Initialization

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC011presentFileD02on8animated10completionySo06UIViewE0C_SbyycSgtF":{"name":"presentFilePicker(on:animated:completion:)","abstract":"

    Present file picker view

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html#/s:13VGSCollectSDK23VGSFilePickerControllerC011dismissFileD08animated10completionySb_yycSgtF":{"name":"dismissFilePicker(animated:completion:)","abstract":"

    Dismiss file picker view

    ","parent_name":"VGSFilePickerController"},"Classes/VGSFilePickerController.html":{"name":"VGSFilePickerController","abstract":"

    Controller responsible for importing files from device sources.

    "},"Classes/VGSFilePickerConfiguration.html":{"name":"VGSFilePickerConfiguration","abstract":"

    A class responsible for configuration VGSFilePickerController.

    "},"Protocols/VGSFilePickerControllerDelegate.html":{"name":"VGSFilePickerControllerDelegate","abstract":"

    Delegates produced by VGSFilePickerController.

    "},"Enums/VGSFileSource.html":{"name":"VGSFileSource","abstract":"

    Available file source destinations that VGSFilePickerController can work with.

    "},"Classes/VGSFileInfo.html":{"name":"VGSFileInfo","abstract":"

    An object that holds optional files’ metadata on selecting file through VGSFilePickerController.

    "},"Enums/VGSVaultStorageType.html#/s:13VGSCollectSDK19VGSVaultStorageTypeO10PERSISTENTyA2CmF":{"name":"PERSISTENT","abstract":"

    PERSISTENT data storage.

    ","parent_name":"VGSVaultStorageType"},"Enums/VGSVaultStorageType.html#/s:13VGSCollectSDK19VGSVaultStorageTypeO8VOLATILEyA2CmF":{"name":"VOLATILE","abstract":"

    VOLATILE data storage.

    ","parent_name":"VGSVaultStorageType"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO18FPE_ACC_NUM_T_FOURyA2CmF":{"name":"FPE_ACC_NUM_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO31FPE_ALPHANUMERIC_ACC_NUM_T_FOURyA2CmF":{"name":"FPE_ALPHANUMERIC_ACC_NUM_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO14FPE_SIX_T_FOURyA2CmF":{"name":"FPE_SIX_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO14FPE_SSN_T_FOURyA2CmF":{"name":"FPE_SSN_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO10FPE_T_FOURyA2CmF":{"name":"FPE_T_FOUR","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO21NUM_LENGTH_PRESERVINGyA2CmF":{"name":"NUM_LENGTH_PRESERVING","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO4PFPTyA2CmF":{"name":"PFPT","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO8RAW_UUIDyA2CmF":{"name":"RAW_UUID","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Enums/VGSVaultAliasFormat.html#/s:13VGSCollectSDK19VGSVaultAliasFormatO4UUIDyA2CmF":{"name":"UUID","abstract":"

    no:doc

    ","parent_name":"VGSVaultAliasFormat"},"Structs/VGSTokenizationParameters.html#/s:13VGSCollectSDK25VGSTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSTokenizationParameters"},"Structs/VGSTokenizationParameters.html#/s:13VGSCollectSDK25VGSTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSTokenizationParameters"},"Structs/VGSSSNTokenizationParameters.html#/s:13VGSCollectSDK28VGSSSNTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSSSNTokenizationParameters"},"Structs/VGSSSNTokenizationParameters.html#/s:13VGSCollectSDK28VGSSSNTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSSSNTokenizationParameters"},"Structs/VGSExpDateTokenizationParameters.html#/s:13VGSCollectSDK32VGSExpDateTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSExpDateTokenizationParameters"},"Structs/VGSExpDateTokenizationParameters.html#/s:13VGSCollectSDK32VGSExpDateTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSExpDateTokenizationParameters"},"Structs/VGSDateTokenizationParameters.html#/s:13VGSCollectSDK29VGSDateTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSDateTokenizationParameters"},"Structs/VGSDateTokenizationParameters.html#/s:13VGSCollectSDK29VGSDateTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSDateTokenizationParameters"},"Structs/VGSCardNumberTokenizationParameters.html#/s:13VGSCollectSDK35VGSCardNumberTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSCardNumberTokenizationParameters"},"Structs/VGSCardNumberTokenizationParameters.html#/s:13VGSCollectSDK35VGSCardNumberTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSCardNumberTokenizationParameters"},"Structs/VGSCardHolderNameTokenizationParameters.html#/s:13VGSCollectSDK39VGSCardHolderNameTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSCardHolderNameTokenizationParameters"},"Structs/VGSCardHolderNameTokenizationParameters.html#/s:13VGSCollectSDK39VGSCardHolderNameTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSCardHolderNameTokenizationParameters"},"Structs/VGSCVCTokenizationParameters.html#/s:13VGSCollectSDK28VGSCVCTokenizationParametersV7storageSSvp":{"name":"storage","abstract":"

    Vault storage type.

    ","parent_name":"VGSCVCTokenizationParameters"},"Structs/VGSCVCTokenizationParameters.html#/s:13VGSCollectSDK28VGSCVCTokenizationParametersV6formatSSvp":{"name":"format","abstract":"

    Data alies format.

    ","parent_name":"VGSCVCTokenizationParameters"},"Protocols/VGSTokenizationParametersProtocol.html#/s:13VGSCollectSDK33VGSTokenizationParametersProtocolP6formatSSvp":{"name":"format","abstract":"

    Tokenization format.

    ","parent_name":"VGSTokenizationParametersProtocol"},"Protocols/VGSTokenizationParametersProtocol.html#/s:13VGSCollectSDK33VGSTokenizationParametersProtocolP7storageSSvp":{"name":"storage","abstract":"

    Storage type.

    ","parent_name":"VGSTokenizationParametersProtocol"},"Protocols/VGSTokenizationParametersProtocol.html":{"name":"VGSTokenizationParametersProtocol","abstract":"

    Parameters describing textfield input tokenization.

    "},"Structs/VGSCVCTokenizationParameters.html":{"name":"VGSCVCTokenizationParameters","abstract":"

    VGSCVCTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSCardHolderNameTokenizationParameters.html":{"name":"VGSCardHolderNameTokenizationParameters","abstract":"

    VGSCardHolderNameTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSCardNumberTokenizationParameters.html":{"name":"VGSCardNumberTokenizationParameters","abstract":"

    VGSCardTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSDateTokenizationParameters.html":{"name":"VGSDateTokenizationParameters","abstract":"

    VGSDateTokenizationParameters - parameters required for tokenization API

    "},"Structs/VGSExpDateTokenizationParameters.html":{"name":"VGSExpDateTokenizationParameters","abstract":"

    VGSExpDateTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSSSNTokenizationParameters.html":{"name":"VGSSSNTokenizationParameters","abstract":"

    VGSSSNTokenizationParameters - parameters required for tokenization api.

    "},"Structs/VGSTokenizationParameters.html":{"name":"VGSTokenizationParameters","abstract":"

    VGSTokenizationParameters - parameters required for tokenization api.

    "},"Enums/VGSVaultAliasFormat.html":{"name":"VGSVaultAliasFormat","abstract":"

    Type of Alias format. Read more about avaliable formats: https://www.verygoodsecurity.com/docs/terminology/nomenclature#alias-formats .

    "},"Enums/VGSVaultStorageType.html":{"name":"VGSVaultStorageType","abstract":"

    Type of VGS Vault storage.

    "},"Enums/VGSTextFieldInputSource.html#/s:13VGSCollectSDK23VGSTextFieldInputSourceO8keyboardyA2CmF":{"name":"keyboard","abstract":"

    UIKeyboard input type.

    ","parent_name":"VGSTextFieldInputSource"},"Enums/VGSTextFieldInputSource.html#/s:13VGSCollectSDK23VGSTextFieldInputSourceO10datePickeryA2CmF":{"name":"datePicker","abstract":"

    UIDatePicker input type.

    ","parent_name":"VGSTextFieldInputSource"},"Structs/VGSDate.html#/s:13VGSCollectSDK7VGSDateV12dayFormattedSSvp":{"name":"dayFormatted","abstract":"

    Get the day formatted value, for example if the day is 1 it is returned as 01

    ","parent_name":"VGSDate"},"Structs/VGSDate.html#/s:13VGSCollectSDK7VGSDateV14monthFormattedSSvp":{"name":"monthFormatted","abstract":"

    Get the month formatted value, for example if the month is 3 it is returned as 03

    ","parent_name":"VGSDate"},"Structs/VGSDate.html#/s:13VGSCollectSDK7VGSDateV3day5month4yearACSgSi_S2itcfc":{"name":"init(day:month:year:)","abstract":"

    Create a new instance of a VGSDate object, if the date is not valid, it returns nil

    ","parent_name":"VGSDate"},"Enums/VGSDateFormat.html#/s:13VGSCollectSDK13VGSDateFormatO07displayD0SSvp":{"name":"displayFormat","abstract":"

    Date format used for display in UI

    ","parent_name":"VGSDateFormat"},"Enums/VGSDateFormat.html#/s:13VGSCollectSDK13VGSDateFormatO7defaultACvpZ":{"name":"default","abstract":"

    Default format

    ","parent_name":"VGSDateFormat"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO4noneyA2CmF":{"name":"none","abstract":"

    Field type that doesn’t require any input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO10cardNumberyA2CmF":{"name":"cardNumber","abstract":"

    Field type that requires Credit Card Number input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO7expDateyA2CmF":{"name":"expDate","abstract":"

    Field type that requires Expiration Date input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO4dateyA2CmF":{"name":"date","abstract":"

    Field type that requires Date input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO3cvcyA2CmF":{"name":"cvc","abstract":"

    Field type that requires Credit Card CVC input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO14cardHolderNameyA2CmF":{"name":"cardHolderName","abstract":"

    Field type that requires Cardholder Name input formatting and validation.

    ","parent_name":"FieldType"},"Enums/FieldType.html#/s:13VGSCollectSDK9FieldTypeO3ssnyA2CmF":{"name":"ssn","abstract":"

    Field type that requires US Social Security Number input formatting and validation.

    ","parent_name":"FieldType"},"Protocols/VGSExpDateConfigurationProtocol.html#/s:13VGSCollectSDK31VGSExpDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputH0Ovp":{"name":"inputSource","abstract":"

    Input Source type.

    ","parent_name":"VGSExpDateConfigurationProtocol"},"Protocols/VGSExpDateConfigurationProtocol.html#/s:13VGSCollectSDK31VGSExpDateConfigurationProtocolP05inputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSExpDateConfigurationProtocol"},"Protocols/VGSExpDateConfigurationProtocol.html#/s:13VGSCollectSDK31VGSExpDateConfigurationProtocolP06outputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateConfigurationProtocol"},"Protocols/VGSDateConfigurationProtocol.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","abstract":"

    Input source type.

    ","parent_name":"VGSDateConfigurationProtocol"},"Protocols/VGSDateConfigurationProtocol.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP15inputDateFormatAA0cH0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSDateConfigurationProtocol"},"Protocols/VGSDateConfigurationProtocol.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP16outputDateFormatAA0cH0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format to convert.

    ","parent_name":"VGSDateConfigurationProtocol"},"Classes/VGSTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSTokenizationConfigurationC22tokenizationParametersAA0cF0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSTokenizationConfiguration"},"Classes/VGSSSNTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSSSNTokenizationConfigurationC22tokenizationParametersAA0cF0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSSSNTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSSSNTokenizationConfiguration"},"Classes/VGSSSNTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSSSNTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.ssn type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSSSNTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.expDate type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC11inputSourceAA017VGSTextFieldInputH0Ovp":{"name":"inputSource","abstract":"

    Input Source type. Default is VGSTextFieldInputSource.datePicker.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC05inputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC06outputD6FormatAA010VGSCardExpdH0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC22tokenizationParametersAA0cdeH0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSExpDateTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSExpDateTokenizationConfiguration.html#/s:13VGSCollectSDK35VGSExpDateTokenizationConfigurationC11serializersSayAA27VGSFormatSerializerProtocol_pGvp":{"name":"serializers","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK32VGSDateTokenizationConfigurationC9collector9fieldName19datePickerStartDate0ij3EndL0AcA0A0C_SSAA0C0VSgALtcfc":{"name":"init(collector:fieldName:datePickerStartDate:datePickerEndDate:)","abstract":"

    Initialization","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK32VGSDateTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    Super initializer

    ","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP15inputDateFormatAA0cH0OSgvp":{"name":"inputDateFormat","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSDateTokenizationConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP16outputDateFormatAA0cH0OSgvp":{"name":"outputDateFormat","parent_name":"VGSDateTokenizationConfiguration"},"Classes/VGSCVCTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSCVCTokenizationConfigurationC22tokenizationParametersAA0cF0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSCVCTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSCVCTokenizationConfiguration"},"Classes/VGSCVCTokenizationConfiguration.html#/s:13VGSCollectSDK31VGSCVCTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.cvc type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSCVCTokenizationConfiguration"},"Classes/VGSCardNumberTokenizationConfiguration.html#/s:13VGSCollectSDK38VGSCardNumberTokenizationConfigurationC22tokenizationParametersAA0cdeH0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSCardTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSCardNumberTokenizationConfiguration"},"Classes/VGSCardNumberTokenizationConfiguration.html#/s:13VGSCollectSDK38VGSCardNumberTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.cardNumber type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSCardNumberTokenizationConfiguration"},"Classes/VGSCardHolderNameTokenizationConfiguration.html#/s:13VGSCollectSDK42VGSCardHolderNameTokenizationConfigurationC22tokenizationParametersAA0cdefI0Vvp":{"name":"tokenizationParameters","abstract":"

    VGSCardHolderNameTokenizationParameters - tokenization configuration parameters.

    ","parent_name":"VGSCardHolderNameTokenizationConfiguration"},"Classes/VGSCardHolderNameTokenizationConfiguration.html#/s:13VGSCollectSDK42VGSCardHolderNameTokenizationConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.cardHolderName type of VGSTextFieldtokenization configuration.

    ","parent_name":"VGSCardHolderNameTokenizationConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC9collector9fieldName19datePickerStartDate0hi3EndK0AcA0A0C_SSAA0C0VSgALtcfc":{"name":"init(collector:fieldName:datePickerStartDate:datePickerEndDate:)","abstract":"

    Initialization","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    Super initializer

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP15inputDateFormatAA0cH0OSgvp":{"name":"inputDateFormat","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK28VGSDateConfigurationProtocolP16outputDateFormatAA0cH0OSgvp":{"name":"outputDateFormat","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC15validYearsCountSivpZ":{"name":"validYearsCount","abstract":"

    Amount of years used to calculate the minimun and maximun date picker default dates

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC23minValidPickerStartDateAA0C0VvpZ":{"name":"minValidPickerStartDate","abstract":"

    Minimun date picker start date, current year minus validYearsCount

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSDateConfiguration.html#/s:13VGSCollectSDK20VGSDateConfigurationC21maxValidPickerEndDateAA0C0VvpZ":{"name":"maxValidPickerEndDate","abstract":"

    Maximun date picker valid end date, current year plus validYearsCount

    ","parent_name":"VGSDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    FieldType.expDate type of VGSTextField configuration.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC11inputSourceAA017VGSTextFieldInputG0Ovp":{"name":"inputSource","abstract":"

    Input Source type. Default is VGSTextFieldInputSource.datePicker.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC05inputD6FormatAA010VGSCardExpdG0OSgvp":{"name":"inputDateFormat","abstract":"

    Input date format to convert.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC06outputD6FormatAA010VGSCardExpdG0OSgvp":{"name":"outputDateFormat","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSExpDateConfiguration.html#/s:13VGSCollectSDK23VGSExpDateConfigurationC11serializersSayAA27VGSFormatSerializerProtocol_pGvp":{"name":"serializers","abstract":"

    Output date format.

    ","parent_name":"VGSExpDateConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC12vgsCollectorAA0A0CSgvp":{"name":"vgsCollector","abstract":"

    Collect form that will be assiciated with VGSTextField.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC4typeAA9FieldTypeOvp":{"name":"type","abstract":"

    Type of field congfiguration. Default is FieldType.none.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC9fieldNameSSvp":{"name":"fieldName","abstract":"

    Name that will be associated with VGSTextField and used as a JSON key on send request with textfield data to your organozation vault.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC10isRequiredSbvp":{"name":"isRequired","abstract":"

    Set if VGSTextField is required to be non-empty and non-nil on send request. Default is false.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC19isRequiredValidOnlySbvp":{"name":"isRequiredValidOnly","abstract":"

    Set if VGSTextField is required to be valid only on send request. Default is false.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC13formatPatternSSSgvp":{"name":"formatPattern","abstract":"

    Input data visual format pattern. If not applied, will be set by default depending on field type.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC7dividerSSSgvp":{"name":"divider","abstract":"

    String, used to replace not default VGSConfiguration.formatPattern characters in input text on send request.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC12keyboardTypeSo010UIKeyboardE0VSgvp":{"name":"keyboardType","abstract":"

    Preferred UIKeyboardType for VGSTextField. If not applied, will be set by default depending on field type parameter.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC13returnKeyTypeSo08UIReturneF0VSgvp":{"name":"returnKeyType","abstract":"

    Preferred UIReturnKeyType for VGSTextField.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC18keyboardAppearanceSo010UIKeyboardE0VSgvp":{"name":"keyboardAppearance","abstract":"

    Preferred UIKeyboardAppearance for textfield. By default is UIKeyboardAppearance.default.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC15validationRulesAA20VGSValidationRuleSetVSgvp":{"name":"validationRules","abstract":"

    Validation rules for field input. Defines State.isValide result.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC14maxInputLengthSiSgvp":{"name":"maxInputLength","abstract":"

    Max input length. IMPORTANT! Can conflict with .formatPattern attribute.

    ","parent_name":"VGSConfiguration"},"Classes/VGSConfiguration.html#/s:13VGSCollectSDK16VGSConfigurationC9collector9fieldNameAcA0A0C_SStcfc":{"name":"init(collector:fieldName:)","abstract":"

    Initialization

    ","parent_name":"VGSConfiguration"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidBeginEditing:":{"name":"vgsTextFieldDidBeginEditing(_:)","abstract":"

    VGSTextField did become first responder.

    ","parent_name":"VGSTextFieldDelegate"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidEndEditing:":{"name":"vgsTextFieldDidEndEditing(_:)","abstract":"

    VGSTextField did resign first responder.

    ","parent_name":"VGSTextFieldDelegate"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidEndEditingOnReturn:":{"name":"vgsTextFieldDidEndEditingOnReturn(_:)","abstract":"

    VGSTextField did resign first responder on Return button pressed.

    ","parent_name":"VGSTextFieldDelegate"},"Protocols/VGSTextFieldDelegate.html#/c:@M@VGSCollectSDK@objc(pl)VGSTextFieldDelegate(im)vgsTextFieldDidChange:":{"name":"vgsTextFieldDidChange(_:)","abstract":"

    VGSTextField input changed.

    ","parent_name":"VGSTextFieldDelegate"},"Classes/VGSCVCTextField/CVCIconLocation.html#/s:13VGSCollectSDK15VGSCVCTextFieldC15CVCIconLocationO4leftyA2EmF":{"name":"left","abstract":"

    CVC icon at left side of VGSCardTextField.

    ","parent_name":"CVCIconLocation"},"Classes/VGSCVCTextField/CVCIconLocation.html#/s:13VGSCollectSDK15VGSCVCTextFieldC15CVCIconLocationO5rightyA2EmF":{"name":"right","abstract":"

    CVC icon at right side of VGSCardTextField.

    ","parent_name":"CVCIconLocation"},"Classes/VGSCVCTextField/CVCIconLocation.html":{"name":"CVCIconLocation","abstract":"

    Available CVC icon positions enum.

    ","parent_name":"VGSCVCTextField"},"Classes/VGSCVCTextField.html#/s:13VGSCollectSDK15VGSCVCTextFieldC15cvcIconLocationAC07CVCIconG0Ovp":{"name":"cvcIconLocation","abstract":"

    CVC icon position inside VGSCardTextField.

    ","parent_name":"VGSCVCTextField"},"Classes/VGSCVCTextField.html#/s:13VGSCollectSDK15VGSCVCTextFieldC11cvcIconSizeSo6CGSizeVvp":{"name":"cvcIconSize","abstract":"

    CVC icon size.

    ","parent_name":"VGSCVCTextField"},"Classes/VGSCVCTextField.html#/c:@M@VGSCollectSDK@objc(cs)VGSCVCTextField(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

    The natural size for the Textfield, considering only properties of the view itself.

    ","parent_name":"VGSCVCTextField"},"Classes/VGSCVCTextField.html#/s:13VGSCollectSDK15VGSCVCTextFieldC13cvcIconSourceSo7UIImageCSgAA15VGSPaymentCardsC9CardBrandOcSgvp":{"name":"cvcIconSource","abstract":"

    Asks custom image for specific VGSPaymentCards.CardBrand

    ","parent_name":"VGSCVCTextField"},"Classes/VGSDateTextField/MonthFormat.html#/s:13VGSCollectSDK16VGSDateTextFieldC11MonthFormatO12shortSymbolsyA2EmF":{"name":"shortSymbols","abstract":"

    Short month name, e.g.: Jan

    ","parent_name":"MonthFormat"},"Classes/VGSDateTextField/MonthFormat.html#/s:13VGSCollectSDK16VGSDateTextFieldC11MonthFormatO11longSymbolsyA2EmF":{"name":"longSymbols","abstract":"

    Long month name, e.g.: January

    ","parent_name":"MonthFormat"},"Classes/VGSDateTextField/MonthFormat.html#/s:13VGSCollectSDK16VGSDateTextFieldC11MonthFormatO7numbersyA2EmF":{"name":"numbers","abstract":"

    Month number: e.g.: 01

    ","parent_name":"MonthFormat"},"Classes/VGSDateTextField/MonthFormat.html":{"name":"MonthFormat","abstract":"

    Available month Label formats in UIPickerView

    ","parent_name":"VGSDateTextField"},"Classes/VGSDateTextField.html#/s:13VGSCollectSDK16VGSDateTextFieldC17monthPickerFormatAC05MonthH0Ovp":{"name":"monthPickerFormat","abstract":"

    UIPickerView month label format

    ","parent_name":"VGSDateTextField"},"Classes/VGSDateTextField.html#/s:13VGSCollectSDK16VGSDateTextFieldC13configurationAA16VGSConfigurationCSgvp":{"name":"configuration","parent_name":"VGSDateTextField"},"Classes/VGSExpDateTextField/YearFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC10YearFormatO5shortyA2EmF":{"name":"short","abstract":"

    Two digits year format, e.g.: 21

    ","parent_name":"YearFormat"},"Classes/VGSExpDateTextField/YearFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC10YearFormatO4longyA2EmF":{"name":"long","abstract":"

    Four digits year format:, e.g.:2021

    ","parent_name":"YearFormat"},"Classes/VGSExpDateTextField/MonthFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC11MonthFormatO12shortSymbolsyA2EmF":{"name":"shortSymbols","abstract":"

    Short month name, e.g.: Jan

    ","parent_name":"MonthFormat"},"Classes/VGSExpDateTextField/MonthFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC11MonthFormatO11longSymbolsyA2EmF":{"name":"longSymbols","abstract":"

    Long month name, e.g.: January

    ","parent_name":"MonthFormat"},"Classes/VGSExpDateTextField/MonthFormat.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC11MonthFormatO7numbersyA2EmF":{"name":"numbers","abstract":"

    Month number: e.g.: 01

    ","parent_name":"MonthFormat"},"Classes/VGSExpDateTextField/MonthFormat.html":{"name":"MonthFormat","abstract":"

    Available Month Label formats in UIPickerView

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSExpDateTextField/YearFormat.html":{"name":"YearFormat","abstract":"

    Available Year Label formats in UIPickerView

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSExpDateTextField.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC17monthPickerFormatAC05MonthI0Ovp":{"name":"monthPickerFormat","abstract":"

    UIPickerView Month Label format

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSExpDateTextField.html#/s:13VGSCollectSDK19VGSExpDateTextFieldC16yearPickerFormatAC04YearI0Ovp":{"name":"yearPickerFormat","abstract":"

    UIPickerView Year Label format

    ","parent_name":"VGSExpDateTextField"},"Classes/VGSCardTextField/CardIconLocation.html#/s:13VGSCollectSDK16VGSCardTextFieldC16CardIconLocationO4leftyA2EmF":{"name":"left","abstract":"

    Card brand icon at left side of VGSCardTextField.

    ","parent_name":"CardIconLocation"},"Classes/VGSCardTextField/CardIconLocation.html#/s:13VGSCollectSDK16VGSCardTextFieldC16CardIconLocationO5rightyA2EmF":{"name":"right","abstract":"

    Card brand icon at right side of VGSCardTextField.

    ","parent_name":"CardIconLocation"},"Classes/VGSCardTextField/CardIconLocation.html":{"name":"CardIconLocation","abstract":"

    Available Card brand icon positions enum.

    ","parent_name":"VGSCardTextField"},"Classes/VGSCardTextField.html#/s:13VGSCollectSDK16VGSCardTextFieldC16cardIconLocationAC04CardgH0Ovp":{"name":"cardIconLocation","abstract":"

    Card brand icon position inside VGSCardTextField.

    ","parent_name":"VGSCardTextField"},"Classes/VGSCardTextField.html#/s:13VGSCollectSDK16VGSCardTextFieldC12cardIconSizeSo6CGSizeVvp":{"name":"cardIconSize","abstract":"

    Card brand icon size.

    ","parent_name":"VGSCardTextField"},"Classes/VGSCardTextField.html#/s:13VGSCollectSDK16VGSCardTextFieldC15cardsIconSourceSo7UIImageCSgAA15VGSPaymentCardsC9CardBrandOcSgvp":{"name":"cardsIconSource","abstract":"

    Asks custom image for specific VGSPaymentCards.CardBrand

    ","parent_name":"VGSCardTextField"},"Classes/VGSCardTextField.html#/c:@M@VGSCollectSDK@objc(cs)VGSCardTextField(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

    The natural size for the Textfield, considering only properties of the view itself.

    ","parent_name":"VGSCardTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC11placeholderSSSgvp":{"name":"placeholder","abstract":"

    Textfield placeholder string.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC22autocapitalizationTypeSo024UITextAutocapitalizationF0Vvp":{"name":"autocapitalizationType","abstract":"

    Textfield autocapitalization type. Default is .sentences.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC17spellCheckingTypeSo011UITextSpellfG0Vvp":{"name":"spellCheckingType","abstract":"

    Textfield spell checking type. Default is UITextSpellCheckingType.default.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC21attributedPlaceholderSo18NSAttributedStringCSgvp":{"name":"attributedPlaceholder","abstract":"

    Textfield attributedPlaceholder string.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@M@VGSCollectSDK@objc(cs)VGSTextField(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

    The natural size for the Textfield, considering only properties of the view itself.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC7paddingSo12UIEdgeInsetsVvp":{"name":"padding","abstract":"

    UIEdgeInsets for text and placeholder inside VGSTextField.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC13textAlignmentSo06NSTextF0Vvp":{"name":"textAlignment","abstract":"

    The technique to use for aligning the text.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC15clearButtonModeSo06UITextd4ViewG0Vvp":{"name":"clearButtonMode","abstract":"

    Sets when the clear button shows up. Default is UITextField.ViewMode.never

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC17isSecureTextEntrySbvp":{"name":"isSecureTextEntry","abstract":"

    Identifies whether the text object should disable text copying and in some cases hide the text being entered. Default is false.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC33adjustsFontForContentSizeCategorySbvp":{"name":"adjustsFontForContentSizeCategory","abstract":"

    Indicates whether VGSTextField should automatically update its font when the device’s UIContentSizeCategory is changed.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC21keyboardAccessoryViewSo6UIViewCSgvp":{"name":"keyboardAccessoryView","abstract":"

    Input Accessory View

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC18autocorrectionTypeSo020UITextAutocorrectionF0Vvp":{"name":"autocorrectionType","abstract":"

    Determines whether autocorrection is enabled or disabled during typing.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC04textD18AccessibilityLabelSSSgvp":{"name":"textFieldAccessibilityLabel","abstract":"

    A succinct label in a localized string that identifies the accessibility text field.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC04textD17AccessibilityHintSSSgvp":{"name":"textFieldAccessibilityHint","abstract":"

    A localized string that contains a brief description of the result of","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC04textD22IsAccessibilityElementSbvp":{"name":"textFieldIsAccessibilityElement","abstract":"

    Boolean value that determinates if the text field should be exposed as an accesibility element.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC13configurationAA16VGSConfigurationCSgvp":{"name":"configuration","abstract":"

    Specifies VGSTextField configuration parameters to work with VGSCollect.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC8delegateAA0cD8Delegate_pSgvp":{"name":"delegate","abstract":"

    Delegates VGSTextField editing events. Default is nil.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC14setDefaultTextyySSSgF":{"name":"setDefaultText(_:)","abstract":"

    Set textfield default text.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC9cleanTextyyF":{"name":"cleanText()","abstract":"

    Removes input from field.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC14isContentEqualySbACF":{"name":"isContentEqual(_:)","abstract":"

    Check if input text in two textfields is same. Returns Bool.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC4fontSo6UIFontCSgvp":{"name":"font","abstract":"

    VGSTextField text font

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)textColor":{"name":"textColor","abstract":"

    VGSTextField text color

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)cornerRadius":{"name":"cornerRadius","abstract":"

    VGSTextField layer corner radius

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)borderWidth":{"name":"borderWidth","abstract":"

    VGSTextField layer borderWidth

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)borderColor":{"name":"borderColor","abstract":"

    VGSTextField layer borderColor

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/s:13VGSCollectSDK12VGSTextFieldC14statePublisherAA0cd5StateF0Vvp":{"name":"statePublisher","abstract":"

    VGSTextFieldStatePublisher publisher that emits the State of a given VGSTextField.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(im)becomeFirstResponder":{"name":"becomeFirstResponder()","abstract":"

    Make VGSTextField focused.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(im)resignFirstResponder":{"name":"resignFirstResponder()","abstract":"

    Remove focus from VGSTextField.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html#/c:@CM@VGSCollectSDK@objc(cs)VGSTextField(py)isFirstResponder":{"name":"isFirstResponder","abstract":"

    Check if VGSTextField is focused.

    ","parent_name":"VGSTextField"},"Classes/VGSTextField.html":{"name":"VGSTextField","abstract":"

    An object that displays an editable text area in user interface.

    "},"Classes/VGSCardTextField.html":{"name":"VGSCardTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to detect and show credit card brand images.

    "},"Classes/VGSExpDateTextField.html":{"name":"VGSExpDateTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to show picker view with Card Number Expiration Month and Year.

    "},"Classes/VGSDateTextField.html":{"name":"VGSDateTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to show picker view with a Date. It support to define a range of valid dates to select from.

    "},"Classes/VGSCVCTextField.html":{"name":"VGSCVCTextField","abstract":"

    An object that displays an editable text area. Can be use instead of a VGSTextField when need to show CVC/CVV images for credit card brands.

    "},"Protocols/VGSTextFieldDelegate.html":{"name":"VGSTextFieldDelegate","abstract":"

    Delegates produced by VGSTextField instance.

    "},"Classes/VGSConfiguration.html":{"name":"VGSConfiguration","abstract":"

    A class responsible for configuration VGSTextField.

    "},"Classes/VGSExpDateConfiguration.html":{"name":"VGSExpDateConfiguration","abstract":"

    A class responsible for configuration VGSTextField with fieldType = .expDate. Extends VGSConfiguration class.

    "},"Classes/VGSDateConfiguration.html":{"name":"VGSDateConfiguration","abstract":"

    Class responsible for configuration VGSDateTextField or VGSTextField with fieldType = .date. Extends VGSConfiguration

    "},"Classes/VGSCardHolderNameTokenizationConfiguration.html":{"name":"VGSCardHolderNameTokenizationConfiguration","abstract":"

    VGSCardHolderNameTokenizationConfiguration - textfield configuration for textfield with type .cardHolderName, required for work with tokenization api.

    "},"Classes/VGSCardNumberTokenizationConfiguration.html":{"name":"VGSCardNumberTokenizationConfiguration","abstract":"

    VGSCardTokenizationConfiguration - textfield configuration for textfield with type .cardNumber, required for work with tokenization api.

    "},"Classes/VGSCVCTokenizationConfiguration.html":{"name":"VGSCVCTokenizationConfiguration","abstract":"

    VGSCVCTokenizationConfiguration - textfield configuration for textfield with type .cvc, required for work with tokenization api.

    "},"Classes/VGSDateTokenizationConfiguration.html":{"name":"VGSDateTokenizationConfiguration","abstract":"

    Class responsible for configuration VGSDateTextField or VGSTextField with fieldType = .date."},"Classes/VGSExpDateTokenizationConfiguration.html":{"name":"VGSExpDateTokenizationConfiguration","abstract":"

    VGSExpDateTokenizationConfiguration - textfield configuration for textfield with type .expDate, required for work with tokenization api.

    "},"Classes/VGSSSNTokenizationConfiguration.html":{"name":"VGSSSNTokenizationConfiguration","abstract":"

    VGSSSNTokenizationConfiguration - textfield configuration for textfield with type .ssn, required for work with tokenization api.

    "},"Classes/VGSTokenizationConfiguration.html":{"name":"VGSTokenizationConfiguration","abstract":"

    VGSTokenizationConfiguration - textfield configuration for textfield with any type of data, required for work with tokenization api.

    "},"Protocols/VGSDateConfigurationProtocol.html":{"name":"VGSDateConfigurationProtocol","abstract":"

    Define the methods and properties the date configuration must have

    "},"Protocols/VGSExpDateConfigurationProtocol.html":{"name":"VGSExpDateConfigurationProtocol","abstract":"

    Attributes required to configure date format and input source for field with type .expDate.

    "},"Enums/FieldType.html":{"name":"FieldType","abstract":"

    Type of VGSTextField configuration.

    "},"Enums/VGSDateFormat.html":{"name":"VGSDateFormat","abstract":"

    Format used to validate a VGS date text input

    "},"Structs/VGSDate.html":{"name":"VGSDate","abstract":"

    Struct that represents a date including year, month and day. It doesn’t include hours, minutes or seconds.

    "},"Enums/VGSTextFieldInputSource.html":{"name":"VGSTextFieldInputSource","abstract":"

    Type of VGSTextField input source.

    "},"UI%20Elements.html":{"name":"UI Elements"},"Tokenization%20Parameters.html":{"name":"Tokenization Parameters"},"File%20Picker.html":{"name":"File Picker"},"Observe%20State%20and%20Send%20Data.html":{"name":"Observe State and Send Data"},"Payment%20Cards.html":{"name":"Payment Cards"},"VGSTextField%20Serializers.html":{"name":"VGSTextField Serializers"},"Validation%20Rules.html":{"name":"Validation Rules"},"Errors.html":{"name":"Errors"},"Error%20Keys.html":{"name":"Error Keys"},"Debugging.html":{"name":"Debugging"},"Enumerations.html":{"name":"Enumerations"}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index 76d04dc7..e4caf9e0 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -44,21 +44,21 @@ }, { "file": "/Users/donald.rodriguez/Documents/Projects/VGS/repos/vgs-collect-ios/Sources/VGSCollectSDK/UIElements/Text Field/Validation/Date/VGSDateFormat.swift", - "line": 9, + "line": 10, "symbol": "VGSDateFormat.mmddyyyy", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { "file": "/Users/donald.rodriguez/Documents/Projects/VGS/repos/vgs-collect-ios/Sources/VGSCollectSDK/UIElements/Text Field/Validation/Date/VGSDateFormat.swift", - "line": 10, + "line": 11, "symbol": "VGSDateFormat.ddmmyyyy", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented" }, { "file": "/Users/donald.rodriguez/Documents/Projects/VGS/repos/vgs-collect-ios/Sources/VGSCollectSDK/UIElements/Text Field/Validation/Date/VGSDateFormat.swift", - "line": 11, + "line": 12, "symbol": "VGSDateFormat.yyyymmdd", "symbol_kind": "source.lang.swift.decl.enumelement", "warning": "undocumented"

    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