From 903418c9a228822ff97b7270e711a80e39e6913b Mon Sep 17 00:00:00 2001 From: Maxim Vialyx Date: Thu, 14 Sep 2023 16:06:05 -0600 Subject: [PATCH 1/2] - add code and number bindings --- Sources/iPhoneNumberField/iPhoneNumberField.swift | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Sources/iPhoneNumberField/iPhoneNumberField.swift b/Sources/iPhoneNumberField/iPhoneNumberField.swift index d48e22a..0ad5168 100644 --- a/Sources/iPhoneNumberField/iPhoneNumberField.swift +++ b/Sources/iPhoneNumberField/iPhoneNumberField.swift @@ -19,6 +19,8 @@ public struct iPhoneNumberField: UIViewRepresentable { /// The formatted phone number `String`. /// This variable writes to the binding provided in the initializer. @Binding public var text: String + @Binding public var code: String + @Binding public var number: String @State private var displayedText: String /// Whether or not the phone number field is editing. @@ -134,6 +136,8 @@ public struct iPhoneNumberField: UIViewRepresentable { public init(_ title: String? = nil, text: Binding, + code: Binding, + number: Binding isEditing: Binding? = nil, formatted: Bool = true, configuration: @escaping (UIViewType) -> () = { _ in } ) { @@ -142,6 +146,8 @@ public struct iPhoneNumberField: UIViewRepresentable { self.externalIsFirstResponder = isEditing self.formatted = formatted self._text = text + self._code = code + self._number = number self._displayedText = State(initialValue: text.wrappedValue) self.configuration = configuration } @@ -269,6 +275,8 @@ public struct iPhoneNumberField: UIViewRepresentable { let country = String(number.countryCode) let nationalNumber = String(number.nationalNumber) text.wrappedValue = "+" + country + nationalNumber + code.wrappedValue = country + number.wrappedValue = number } else { // Otherwise, maintain an empty string text.wrappedValue = "" From e0d1b015edabddc31ae2d754c47f627e26ce27c9 Mon Sep 17 00:00:00 2001 From: Maxim Vialyx Date: Thu, 14 Sep 2023 16:07:12 -0600 Subject: [PATCH 2/2] - fix comma --- Sources/iPhoneNumberField/iPhoneNumberField.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/iPhoneNumberField/iPhoneNumberField.swift b/Sources/iPhoneNumberField/iPhoneNumberField.swift index 0ad5168..b8d0bf5 100644 --- a/Sources/iPhoneNumberField/iPhoneNumberField.swift +++ b/Sources/iPhoneNumberField/iPhoneNumberField.swift @@ -137,7 +137,7 @@ public struct iPhoneNumberField: UIViewRepresentable { public init(_ title: String? = nil, text: Binding, code: Binding, - number: Binding + number: Binding, isEditing: Binding? = nil, formatted: Bool = true, configuration: @escaping (UIViewType) -> () = { _ in } ) {