diff --git a/Example/FloatingLabelTextFieldSwiftUI.xcodeproj/project.pbxproj b/Example/FloatingLabelTextFieldSwiftUI.xcodeproj/project.pbxproj index 7d7dfcd..8e4737b 100644 --- a/Example/FloatingLabelTextFieldSwiftUI.xcodeproj/project.pbxproj +++ b/Example/FloatingLabelTextFieldSwiftUI.xcodeproj/project.pbxproj @@ -7,9 +7,9 @@ objects = { /* Begin PBXBuildFile section */ + 5D2E0F392469AF5A008BBE68 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D2E0F382469AF5A008BBE68 /* ContentView.swift */; }; + 5D2E0F3B2469B017008BBE68 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D2E0F3A2469B017008BBE68 /* SceneDelegate.swift */; }; 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD51AFB9204008FA782 /* AppDelegate.swift */; }; - 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD71AFB9204008FA782 /* ViewController.swift */; }; - 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 607FACD91AFB9204008FA782 /* Main.storyboard */; }; 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDC1AFB9204008FA782 /* Images.xcassets */; }; 607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */; }; 607FACEC1AFB9204008FA782 /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACEB1AFB9204008FA782 /* Tests.swift */; }; @@ -28,25 +28,25 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 1DAF48517260411B42D760B3 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; + 1DAF48517260411B42D760B3 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; 1DD73685EEA1A12C2CDDE2B3 /* Pods_FloatingLabelTextFieldSwiftUI_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_FloatingLabelTextFieldSwiftUI_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5D2E0F382469AF5A008BBE68 /* ContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + 5D2E0F3A2469B017008BBE68 /* SceneDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; 607FACD01AFB9204008FA782 /* FloatingLabelTextFieldSwiftUI_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FloatingLabelTextFieldSwiftUI_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 607FACD71AFB9204008FA782 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 607FACDA1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 607FACDC1AFB9204008FA782 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 607FACDF1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; 607FACE51AFB9204008FA782 /* FloatingLabelTextFieldSwiftUI_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = FloatingLabelTextFieldSwiftUI_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 607FACEB1AFB9204008FA782 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = ""; }; - 7C8A588D4B53B8A064A89A8C /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; name = README.md; path = ../README.md; sourceTree = ""; }; + 7C8A588D4B53B8A064A89A8C /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; 833A7BF5E04083B3ED4BCD47 /* Pods-FloatingLabelTextFieldSwiftUI_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FloatingLabelTextFieldSwiftUI_Tests.release.xcconfig"; path = "Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests.release.xcconfig"; sourceTree = ""; }; 869E8BF7135C205B543CA458 /* Pods-FloatingLabelTextFieldSwiftUI_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FloatingLabelTextFieldSwiftUI_Example.debug.xcconfig"; path = "Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example.debug.xcconfig"; sourceTree = ""; }; B389C0DC0FC117DF19AD04B7 /* Pods-FloatingLabelTextFieldSwiftUI_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FloatingLabelTextFieldSwiftUI_Example.release.xcconfig"; path = "Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example.release.xcconfig"; sourceTree = ""; }; C7B7674DF740DD3A2D3347CE /* Pods-FloatingLabelTextFieldSwiftUI_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FloatingLabelTextFieldSwiftUI_Tests.debug.xcconfig"; path = "Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests.debug.xcconfig"; sourceTree = ""; }; D09E579A9A53332E181158A7 /* Pods_FloatingLabelTextFieldSwiftUI_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_FloatingLabelTextFieldSwiftUI_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D740010D6509D2CE52A2E063 /* FloatingLabelTextFieldSwiftUI.podspec */ = {isa = PBXFileReference; includeInIndex = 1; name = FloatingLabelTextFieldSwiftUI.podspec; path = ../FloatingLabelTextFieldSwiftUI.podspec; sourceTree = ""; }; + D740010D6509D2CE52A2E063 /* FloatingLabelTextFieldSwiftUI.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = FloatingLabelTextFieldSwiftUI.podspec; path = ../FloatingLabelTextFieldSwiftUI.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -77,7 +77,6 @@ C7B7674DF740DD3A2D3347CE /* Pods-FloatingLabelTextFieldSwiftUI_Tests.debug.xcconfig */, 833A7BF5E04083B3ED4BCD47 /* Pods-FloatingLabelTextFieldSwiftUI_Tests.release.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -115,8 +114,8 @@ isa = PBXGroup; children = ( 607FACD51AFB9204008FA782 /* AppDelegate.swift */, - 607FACD71AFB9204008FA782 /* ViewController.swift */, - 607FACD91AFB9204008FA782 /* Main.storyboard */, + 5D2E0F3A2469B017008BBE68 /* SceneDelegate.swift */, + 5D2E0F382469AF5A008BBE68 /* ContentView.swift */, 607FACDC1AFB9204008FA782 /* Images.xcassets */, 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */, 607FACD31AFB9204008FA782 /* Supporting Files */, @@ -208,23 +207,23 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 0830; + LastUpgradeCheck = 1130; ORGANIZATIONNAME = CocoaPods; TargetAttributes = { 607FACCF1AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; - LastSwiftMigration = 0900; + LastSwiftMigration = 1130; }; 607FACE41AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; - LastSwiftMigration = 0900; + LastSwiftMigration = 1130; TestTargetID = 607FACCF1AFB9204008FA782; }; }; }; buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "FloatingLabelTextFieldSwiftUI" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -246,7 +245,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */, 607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */, 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */, ); @@ -331,8 +329,9 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */, + 5D2E0F392469AF5A008BBE68 /* ContentView.swift in Sources */, 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */, + 5D2E0F3B2469B017008BBE68 /* SceneDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -355,14 +354,6 @@ /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - 607FACD91AFB9204008FA782 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 607FACDA1AFB9204008FA782 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */ = { isa = PBXVariantGroup; children = ( @@ -378,6 +369,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -386,12 +378,14 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -419,7 +413,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.3; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -431,6 +425,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -439,12 +434,14 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; @@ -465,7 +462,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.3; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; @@ -479,12 +476,13 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; INFOPLIST_FILE = FloatingLabelTextFieldSwiftUI/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -494,12 +492,13 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; INFOPLIST_FILE = FloatingLabelTextFieldSwiftUI/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Release; }; @@ -520,7 +519,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FloatingLabelTextFieldSwiftUI_Example.app/FloatingLabelTextFieldSwiftUI_Example"; }; name = Debug; @@ -538,7 +537,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FloatingLabelTextFieldSwiftUI_Example.app/FloatingLabelTextFieldSwiftUI_Example"; }; name = Release; diff --git a/Example/FloatingLabelTextFieldSwiftUI.xcodeproj/xcshareddata/xcschemes/FloatingLabelTextFieldSwiftUI-Example.xcscheme b/Example/FloatingLabelTextFieldSwiftUI.xcodeproj/xcshareddata/xcschemes/FloatingLabelTextFieldSwiftUI-Example.xcscheme index 8006ca6..2e0eb1f 100644 --- a/Example/FloatingLabelTextFieldSwiftUI.xcodeproj/xcshareddata/xcschemes/FloatingLabelTextFieldSwiftUI-Example.xcscheme +++ b/Example/FloatingLabelTextFieldSwiftUI.xcodeproj/xcshareddata/xcschemes/FloatingLabelTextFieldSwiftUI-Example.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -54,23 +62,11 @@ - - - - - - - - + + + + + + diff --git a/Example/FloatingLabelTextFieldSwiftUI.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/FloatingLabelTextFieldSwiftUI.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Example/FloatingLabelTextFieldSwiftUI.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Example/FloatingLabelTextFieldSwiftUI/AppDelegate.swift b/Example/FloatingLabelTextFieldSwiftUI/AppDelegate.swift index 4cdddcf..739026f 100644 --- a/Example/FloatingLabelTextFieldSwiftUI/AppDelegate.swift +++ b/Example/FloatingLabelTextFieldSwiftUI/AppDelegate.swift @@ -14,7 +14,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. return true } diff --git a/Example/FloatingLabelTextFieldSwiftUI/Base.lproj/Main.storyboard b/Example/FloatingLabelTextFieldSwiftUI/Base.lproj/Main.storyboard deleted file mode 100644 index 5afc18a..0000000 --- a/Example/FloatingLabelTextFieldSwiftUI/Base.lproj/Main.storyboard +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Example/FloatingLabelTextFieldSwiftUI/ContentView.swift b/Example/FloatingLabelTextFieldSwiftUI/ContentView.swift new file mode 100644 index 0000000..8a93faf --- /dev/null +++ b/Example/FloatingLabelTextFieldSwiftUI/ContentView.swift @@ -0,0 +1,130 @@ +// +// ContentView.swift +// Example +// +// Created by KISHAN_RAJA on 10/05/20. +// Copyright © 2020 KISHAN_RAJA. All rights reserved. +// + +import SwiftUI +import FloatingLabelTextFieldSwiftUI + +struct ContentView: View { + + @State private var firstName: String = "" + @State private var lastName: String = "" + @State private var mobileNumber: String = "" + @State private var email: String = "" + @State private var password: String = "" + + @State private var isPasswordShow: Bool = false + + var body: some View { + VStack { + + HStack(spacing: 20) { + FloatingLabelTextField($firstName, placeholder: "First Name", editingChanged: { (isChanged) in + + }) { + + } + .floatingStyle(ThemeTextFieldStyle()) + .modifier(ThemeTextField()) + + + FloatingLabelTextField($lastName, placeholder: "Last Name", editingChanged: { (isChanged) in + + }) { + + } + .floatingStyle(ThemeTextFieldStyle2()) + .modifier(ThemeTextField()) + } + + FloatingLabelTextField($mobileNumber, placeholder: "Phone Number", editingChanged: { (isChanged) in + + }) { + + } + .keyboardType(.phonePad) + .modifier(ThemeTextField()) + + FloatingLabelTextField($email, placeholder: "Email", editingChanged: { (isChanged) in + + }) { + + } + .keyboardType(.emailAddress) + .modifier(ThemeTextField()) + + FloatingLabelTextField($password, placeholder: "Password", editingChanged: { (isChanged) in + + }) { + + } + .rightView({ + Button(action: { + withAnimation { + self.isPasswordShow.toggle() + } + + }) { + Image(self.isPasswordShow ? "eye_close" : "eye_show") + } + }) + .isSecureTextEntry(!self.isPasswordShow) + .modifier(ThemeTextField()) + // SecureField("", text: $password) + // Text(password) + Button(action: { + self.endEditing(true) + }) { + Text("Create") + } + .buttonStyle(CreateButtonStyle()) + Spacer() + } + + .padding() + + } + +} + +//MARK: Create floating style +struct ThemeTextFieldStyle: FloatingLabelTextFieldStyle { + func body(content: FloatingLabelTextField) -> FloatingLabelTextField { + content.titleColor(.red) + } +} + +struct ThemeTextFieldStyle2: FloatingLabelTextFieldStyle { + func body(content: FloatingLabelTextField) -> FloatingLabelTextField { + content.titleColor(.green) + } +} + +//MARK: ViewModifier +struct ThemeTextField: ViewModifier { + func body(content: Content) -> some View { + content.frame(height: 80) + } +} + +//MARK: Button style +struct CreateButtonStyle: ButtonStyle { + func makeBody(configuration: Self.Configuration) -> some View { + configuration.label + .foregroundColor(Color.white) + .padding() + .background(Color.orange) + .cornerRadius(10.0) + } +} + +//MARK: Preview +struct ContentView_Previews: PreviewProvider { + static var previews: some View { + ContentView() + } +} diff --git a/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_close.imageset/Contents.json b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_close.imageset/Contents.json new file mode 100644 index 0000000..300b8f5 --- /dev/null +++ b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_close.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "eye_close.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "eye_close@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "eye_close@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_close.imageset/eye_close.png b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_close.imageset/eye_close.png new file mode 100644 index 0000000..bfbf1a3 Binary files /dev/null and b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_close.imageset/eye_close.png differ diff --git a/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_close.imageset/eye_close@2x.png b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_close.imageset/eye_close@2x.png new file mode 100644 index 0000000..568dfb4 Binary files /dev/null and b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_close.imageset/eye_close@2x.png differ diff --git a/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_close.imageset/eye_close@3x.png b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_close.imageset/eye_close@3x.png new file mode 100644 index 0000000..999352d Binary files /dev/null and b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_close.imageset/eye_close@3x.png differ diff --git a/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_show.imageset/Contents.json b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_show.imageset/Contents.json new file mode 100644 index 0000000..e41a57b --- /dev/null +++ b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_show.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "eye_show.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "eye_show@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "eye_show@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_show.imageset/eye_show.png b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_show.imageset/eye_show.png new file mode 100644 index 0000000..69e8b48 Binary files /dev/null and b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_show.imageset/eye_show.png differ diff --git a/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_show.imageset/eye_show@2x.png b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_show.imageset/eye_show@2x.png new file mode 100644 index 0000000..3d4c2f3 Binary files /dev/null and b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_show.imageset/eye_show@2x.png differ diff --git a/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_show.imageset/eye_show@3x.png b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_show.imageset/eye_show@3x.png new file mode 100644 index 0000000..8964564 Binary files /dev/null and b/Example/FloatingLabelTextFieldSwiftUI/Images.xcassets/eye_show.imageset/eye_show@3x.png differ diff --git a/Example/FloatingLabelTextFieldSwiftUI/Info.plist b/Example/FloatingLabelTextFieldSwiftUI/Info.plist index eb18faa..d045de4 100644 --- a/Example/FloatingLabelTextFieldSwiftUI/Info.plist +++ b/Example/FloatingLabelTextFieldSwiftUI/Info.plist @@ -22,10 +22,25 @@ 1 LSRequiresIPhoneOS + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + + + + UILaunchStoryboardName LaunchScreen - UIMainStoryboardFile - Main UIRequiredDeviceCapabilities armv7 diff --git a/Example/FloatingLabelTextFieldSwiftUI/SceneDelegate.swift b/Example/FloatingLabelTextFieldSwiftUI/SceneDelegate.swift new file mode 100644 index 0000000..83aaf9f --- /dev/null +++ b/Example/FloatingLabelTextFieldSwiftUI/SceneDelegate.swift @@ -0,0 +1,64 @@ +// +// SceneDelegate.swift +// FloatingLabelTextFieldSwiftUI +// +// Created by KISHAN_RAJA on 10/05/20. +// Copyright © 2020 KISHAN_RAJA. All rights reserved. +// + +import UIKit +import SwiftUI + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + + var window: UIWindow? + + + func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { + // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. + // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. + // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). + + // Create the SwiftUI view that provides the window contents. + let contentView = ContentView() + + // Use a UIHostingController as window root view controller. + if let windowScene = scene as? UIWindowScene { + let window = UIWindow(windowScene: windowScene) + window.rootViewController = UIHostingController(rootView: contentView) + self.window = window + window.makeKeyAndVisible() + } + } + + func sceneDidDisconnect(_ scene: UIScene) { + // Called as the scene is being released by the system. + // This occurs shortly after the scene enters the background, or when its session is discarded. + // Release any resources associated with this scene that can be re-created the next time the scene connects. + // The scene may re-connect later, as its session was not neccessarily discarded (see `application:didDiscardSceneSessions` instead). + } + + func sceneDidBecomeActive(_ scene: UIScene) { + // Called when the scene has moved from an inactive state to an active state. + // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. + } + + func sceneWillResignActive(_ scene: UIScene) { + // Called when the scene will move from an active state to an inactive state. + // This may occur due to temporary interruptions (ex. an incoming phone call). + } + + func sceneWillEnterForeground(_ scene: UIScene) { + // Called as the scene transitions from the background to the foreground. + // Use this method to undo the changes made on entering the background. + } + + func sceneDidEnterBackground(_ scene: UIScene) { + // Called as the scene transitions from the foreground to the background. + // Use this method to save data, release shared resources, and store enough scene-specific state information + // to restore the scene back to its current state. + } + + +} + diff --git a/Example/FloatingLabelTextFieldSwiftUI/ViewController.swift b/Example/FloatingLabelTextFieldSwiftUI/ViewController.swift deleted file mode 100644 index 5026a78..0000000 --- a/Example/FloatingLabelTextFieldSwiftUI/ViewController.swift +++ /dev/null @@ -1,24 +0,0 @@ -// -// ViewController.swift -// FloatingLabelTextFieldSwiftUI -// -// Created by kishanraja on 05/11/2020. -// Copyright (c) 2020 kishanraja. All rights reserved. -// - -import UIKit - -class ViewController: UIViewController { - - override func viewDidLoad() { - super.viewDidLoad() - // Do any additional setup after loading the view, typically from a nib. - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - -} - diff --git a/Example/Podfile.lock b/Example/Podfile.lock new file mode 100644 index 0000000..a2f45b8 --- /dev/null +++ b/Example/Podfile.lock @@ -0,0 +1,16 @@ +PODS: + - FloatingLabelTextFieldSwiftUI (0.1.0) + +DEPENDENCIES: + - FloatingLabelTextFieldSwiftUI (from `../`) + +EXTERNAL SOURCES: + FloatingLabelTextFieldSwiftUI: + :path: "../" + +SPEC CHECKSUMS: + FloatingLabelTextFieldSwiftUI: 13a8dc898deb9a6dc00a92fc38ad54daacfff6c1 + +PODFILE CHECKSUM: 1d492ab90cedd45c2169a52444eb492f5ae66dbf + +COCOAPODS: 1.9.1 diff --git a/Example/Pods/Local Podspecs/FloatingLabelTextFieldSwiftUI.podspec.json b/Example/Pods/Local Podspecs/FloatingLabelTextFieldSwiftUI.podspec.json new file mode 100644 index 0000000..15040a7 --- /dev/null +++ b/Example/Pods/Local Podspecs/FloatingLabelTextFieldSwiftUI.podspec.json @@ -0,0 +1,22 @@ +{ + "name": "FloatingLabelTextFieldSwiftUI", + "version": "0.1.0", + "summary": "A short description of FloatingLabelTextFieldSwiftUI.", + "description": "TODO: Add long description of the pod here.", + "homepage": "https://github.com/kishanraja/FloatingLabelTextFieldSwiftUI", + "license": { + "type": "MIT", + "file": "LICENSE" + }, + "authors": { + "kishanraja": "rajakishanrk1996@gmail.com" + }, + "source": { + "git": "https://github.com/kishanraja/FloatingLabelTextFieldSwiftUI.git", + "tag": "0.1.0" + }, + "platforms": { + "ios": "8.0" + }, + "source_files": "FloatingLabelTextFieldSwiftUI/Classes/**/*" +} diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock new file mode 100644 index 0000000..a2f45b8 --- /dev/null +++ b/Example/Pods/Manifest.lock @@ -0,0 +1,16 @@ +PODS: + - FloatingLabelTextFieldSwiftUI (0.1.0) + +DEPENDENCIES: + - FloatingLabelTextFieldSwiftUI (from `../`) + +EXTERNAL SOURCES: + FloatingLabelTextFieldSwiftUI: + :path: "../" + +SPEC CHECKSUMS: + FloatingLabelTextFieldSwiftUI: 13a8dc898deb9a6dc00a92fc38ad54daacfff6c1 + +PODFILE CHECKSUM: 1d492ab90cedd45c2169a52444eb492f5ae66dbf + +COCOAPODS: 1.9.1 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj new file mode 100644 index 0000000..e080591 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,829 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 00B445DA37711B17D3B5BF61B107D9BC /* Pods-FloatingLabelTextFieldSwiftUI_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F68BA006B402BAB59668AC6A0C2B034C /* Pods-FloatingLabelTextFieldSwiftUI_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1EC95B678A0CEB64339DCD6A7282A499 /* Pods-FloatingLabelTextFieldSwiftUI_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 33B87B774B6B67EE2736D0B3DF2074CC /* Pods-FloatingLabelTextFieldSwiftUI_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 567C50F7FFBB29A2054CC82676646BB9 /* FloatingLabelTextFieldSwiftUI-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EB792DF186EFDEB6841D3310C4291881 /* FloatingLabelTextFieldSwiftUI-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 56D73C2AC0CACE6CEE2882712F51C4CF /* FloatingLabelTextFieldSwiftUI-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DF4E0E873E8558DC7A0955489CD1037A /* FloatingLabelTextFieldSwiftUI-dummy.m */; }; + 5D2E0F322469AD15008BBE68 /* UIControl+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D2E0F2B2469AD15008BBE68 /* UIControl+Extension.swift */; }; + 5D2E0F332469AD15008BBE68 /* UIResponder+Extesnion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D2E0F2C2469AD15008BBE68 /* UIResponder+Extesnion.swift */; }; + 5D2E0F342469AD15008BBE68 /* TextAlignment+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D2E0F2D2469AD15008BBE68 /* TextAlignment+Extension.swift */; }; + 5D2E0F352469AD15008BBE68 /* View+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D2E0F2E2469AD15008BBE68 /* View+Extension.swift */; }; + 5D2E0F362469AD15008BBE68 /* FloatingLabelTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D2E0F2F2469AD15008BBE68 /* FloatingLabelTextField.swift */; }; + 5D2E0F372469AD15008BBE68 /* ObservableObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D2E0F312469AD15008BBE68 /* ObservableObject.swift */; }; + 74863C5D4183CE32FDEBC4C8111967E4 /* Pods-FloatingLabelTextFieldSwiftUI_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EB532DD9194AA050448BC8BE4B6F100B /* Pods-FloatingLabelTextFieldSwiftUI_Tests-dummy.m */; }; + ADBBA635D4793CBBDF9C0F7B5785C5F8 /* Pods-FloatingLabelTextFieldSwiftUI_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2576CA6743DBD278D07BF77002228968 /* Pods-FloatingLabelTextFieldSwiftUI_Example-dummy.m */; }; + C1385C5E3D3145B0A6DD07AC6E8645F7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; }; + F3B72B454C7B3A1C1EC438D425D2DCD5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; }; + FC803E38E63C96D8B701EE7FCFB86B0D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 2DE8DE34C6DBE26E6E3E28D43EADBB77 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 39AED5B13D90A639FED583687DD69045; + remoteInfo = "Pods-FloatingLabelTextFieldSwiftUI_Example"; + }; + FCDA340248E60F2A3943421D096ECE53 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = F6129FEE7258F0F621C402FA13E86152; + remoteInfo = FloatingLabelTextFieldSwiftUI; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 1221C851BB3D0D1FF33460B6F89DC4DC /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + 20C274721E6459A5034B1BA85AB956A2 /* FloatingLabelTextFieldSwiftUI-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "FloatingLabelTextFieldSwiftUI-Info.plist"; sourceTree = ""; }; + 2576CA6743DBD278D07BF77002228968 /* Pods-FloatingLabelTextFieldSwiftUI_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-FloatingLabelTextFieldSwiftUI_Example-dummy.m"; sourceTree = ""; }; + 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 33B87B774B6B67EE2736D0B3DF2074CC /* Pods-FloatingLabelTextFieldSwiftUI_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-FloatingLabelTextFieldSwiftUI_Tests-umbrella.h"; sourceTree = ""; }; + 379E19BC27CAD1B499B2626FA17DF32F /* Pods-FloatingLabelTextFieldSwiftUI_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FloatingLabelTextFieldSwiftUI_Example.release.xcconfig"; sourceTree = ""; }; + 5D2E0F2B2469AD15008BBE68 /* UIControl+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIControl+Extension.swift"; sourceTree = ""; }; + 5D2E0F2C2469AD15008BBE68 /* UIResponder+Extesnion.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIResponder+Extesnion.swift"; sourceTree = ""; }; + 5D2E0F2D2469AD15008BBE68 /* TextAlignment+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "TextAlignment+Extension.swift"; sourceTree = ""; }; + 5D2E0F2E2469AD15008BBE68 /* View+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "View+Extension.swift"; sourceTree = ""; }; + 5D2E0F2F2469AD15008BBE68 /* FloatingLabelTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FloatingLabelTextField.swift; sourceTree = ""; }; + 5D2E0F312469AD15008BBE68 /* ObservableObject.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObservableObject.swift; sourceTree = ""; }; + 5DA2B90C9EF9C267037122FCBFFC32FB /* Pods-FloatingLabelTextFieldSwiftUI_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FloatingLabelTextFieldSwiftUI_Example-acknowledgements.plist"; sourceTree = ""; }; + 63A8FA8D60B08423ABC8F3E32FC3A082 /* FloatingLabelTextFieldSwiftUI.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = FloatingLabelTextFieldSwiftUI.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 86A69F4F3096C8F4DEF7164078CE3E30 /* FloatingLabelTextFieldSwiftUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FloatingLabelTextFieldSwiftUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8FBD2D598C9F0F52E54A8E7820D2877C /* Pods-FloatingLabelTextFieldSwiftUI_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FloatingLabelTextFieldSwiftUI_Tests-Info.plist"; sourceTree = ""; }; + 9158B5E60774F307FC287D2307E4A17E /* Pods-FloatingLabelTextFieldSwiftUI_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FloatingLabelTextFieldSwiftUI_Tests.release.xcconfig"; sourceTree = ""; }; + 9717BD50521A42A36A027377A5F8D88E /* Pods-FloatingLabelTextFieldSwiftUI_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-FloatingLabelTextFieldSwiftUI_Example-acknowledgements.markdown"; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + A6ED3E022A8C4476D628C203A738F814 /* Pods-FloatingLabelTextFieldSwiftUI_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FloatingLabelTextFieldSwiftUI_Tests-acknowledgements.plist"; sourceTree = ""; }; + B16D8A23C0A335A0E09DA48EAA7B4BCB /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + C2D1D4053A7F3486EC71C8CAD7ABFC39 /* Pods-FloatingLabelTextFieldSwiftUI_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-FloatingLabelTextFieldSwiftUI_Example.modulemap"; sourceTree = ""; }; + C39E0E7B66FC87CD98B5722E71EC598E /* Pods_FloatingLabelTextFieldSwiftUI_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_FloatingLabelTextFieldSwiftUI_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C48964D4C60A00B5F5072E95059BAA5F /* FloatingLabelTextFieldSwiftUI.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FloatingLabelTextFieldSwiftUI.release.xcconfig; sourceTree = ""; }; + C93C627C88DC3D28875A3D229AB6ED4C /* Pods-FloatingLabelTextFieldSwiftUI_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-FloatingLabelTextFieldSwiftUI_Tests.modulemap"; sourceTree = ""; }; + D0226F1148958C267735A53677AC4E48 /* Pods-FloatingLabelTextFieldSwiftUI_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FloatingLabelTextFieldSwiftUI_Tests.debug.xcconfig"; sourceTree = ""; }; + D2250C0BC386E22EA82073CDDD920C70 /* Pods-FloatingLabelTextFieldSwiftUI_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FloatingLabelTextFieldSwiftUI_Example.debug.xcconfig"; sourceTree = ""; }; + D62B2968F7942E8B9BCC6758997EE9CF /* Pods_FloatingLabelTextFieldSwiftUI_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_FloatingLabelTextFieldSwiftUI_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D747BBE0346743E4939E4E8C41F05301 /* FloatingLabelTextFieldSwiftUI.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FloatingLabelTextFieldSwiftUI.debug.xcconfig; sourceTree = ""; }; + DAB811CD5CB25F0491A27B92B0B04AC6 /* FloatingLabelTextFieldSwiftUI-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FloatingLabelTextFieldSwiftUI-prefix.pch"; sourceTree = ""; }; + DF4E0E873E8558DC7A0955489CD1037A /* FloatingLabelTextFieldSwiftUI-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FloatingLabelTextFieldSwiftUI-dummy.m"; sourceTree = ""; }; + DFFD1EEC3C54E6D1974BE0B7FE6812A2 /* Pods-FloatingLabelTextFieldSwiftUI_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FloatingLabelTextFieldSwiftUI_Example-Info.plist"; sourceTree = ""; }; + E6A0EA34B4F669270C11763C14A19604 /* FloatingLabelTextFieldSwiftUI.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FloatingLabelTextFieldSwiftUI.modulemap; sourceTree = ""; }; + EB532DD9194AA050448BC8BE4B6F100B /* Pods-FloatingLabelTextFieldSwiftUI_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-FloatingLabelTextFieldSwiftUI_Tests-dummy.m"; sourceTree = ""; }; + EB792DF186EFDEB6841D3310C4291881 /* FloatingLabelTextFieldSwiftUI-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FloatingLabelTextFieldSwiftUI-umbrella.h"; sourceTree = ""; }; + EE99B8AA756188D122D1672E78105565 /* Pods-FloatingLabelTextFieldSwiftUI_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-FloatingLabelTextFieldSwiftUI_Tests-acknowledgements.markdown"; sourceTree = ""; }; + F4187CF6B83F601132CB7B4D7872EF78 /* Pods-FloatingLabelTextFieldSwiftUI_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-FloatingLabelTextFieldSwiftUI_Example-frameworks.sh"; sourceTree = ""; }; + F68BA006B402BAB59668AC6A0C2B034C /* Pods-FloatingLabelTextFieldSwiftUI_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-FloatingLabelTextFieldSwiftUI_Example-umbrella.h"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 2BE77113FB5872FD6F8CD58600DA95BB /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F3B72B454C7B3A1C1EC438D425D2DCD5 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2E9D56BF23FFF1CE2CCA5D27DE125750 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + C1385C5E3D3145B0A6DD07AC6E8645F7 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C02F0EDC7E226D8109BD69CF3BB25141 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FC803E38E63C96D8B701EE7FCFB86B0D /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 10283DEA2DD31C719C09AFAA409C21B5 /* Development Pods */ = { + isa = PBXGroup; + children = ( + CFF6BFEF1CC3CCFA5191C6A36B301111 /* FloatingLabelTextFieldSwiftUI */, + ); + name = "Development Pods"; + sourceTree = ""; + }; + 4A11EB5FD644373D7837297A4C92C44A /* Support Files */ = { + isa = PBXGroup; + children = ( + E6A0EA34B4F669270C11763C14A19604 /* FloatingLabelTextFieldSwiftUI.modulemap */, + DF4E0E873E8558DC7A0955489CD1037A /* FloatingLabelTextFieldSwiftUI-dummy.m */, + 20C274721E6459A5034B1BA85AB956A2 /* FloatingLabelTextFieldSwiftUI-Info.plist */, + DAB811CD5CB25F0491A27B92B0B04AC6 /* FloatingLabelTextFieldSwiftUI-prefix.pch */, + EB792DF186EFDEB6841D3310C4291881 /* FloatingLabelTextFieldSwiftUI-umbrella.h */, + D747BBE0346743E4939E4E8C41F05301 /* FloatingLabelTextFieldSwiftUI.debug.xcconfig */, + C48964D4C60A00B5F5072E95059BAA5F /* FloatingLabelTextFieldSwiftUI.release.xcconfig */, + ); + name = "Support Files"; + path = "Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI"; + sourceTree = ""; + }; + 4F94AF7B98DB58C936A178227C8D80E1 /* Products */ = { + isa = PBXGroup; + children = ( + 86A69F4F3096C8F4DEF7164078CE3E30 /* FloatingLabelTextFieldSwiftUI.framework */, + D62B2968F7942E8B9BCC6758997EE9CF /* Pods_FloatingLabelTextFieldSwiftUI_Example.framework */, + C39E0E7B66FC87CD98B5722E71EC598E /* Pods_FloatingLabelTextFieldSwiftUI_Tests.framework */, + ); + name = Products; + sourceTree = ""; + }; + 5D2E0F292469AC8C008BBE68 /* Source */ = { + isa = PBXGroup; + children = ( + 5D2E0F2A2469AD15008BBE68 /* Extensions */, + 5D2E0F2F2469AD15008BBE68 /* FloatingLabelTextField.swift */, + 5D2E0F302469AD15008BBE68 /* ObservableObject */, + ); + path = Source; + sourceTree = ""; + }; + 5D2E0F2A2469AD15008BBE68 /* Extensions */ = { + isa = PBXGroup; + children = ( + 5D2E0F2B2469AD15008BBE68 /* UIControl+Extension.swift */, + 5D2E0F2C2469AD15008BBE68 /* UIResponder+Extesnion.swift */, + 5D2E0F2D2469AD15008BBE68 /* TextAlignment+Extension.swift */, + 5D2E0F2E2469AD15008BBE68 /* View+Extension.swift */, + ); + path = Extensions; + sourceTree = ""; + }; + 5D2E0F302469AD15008BBE68 /* ObservableObject */ = { + isa = PBXGroup; + children = ( + 5D2E0F312469AD15008BBE68 /* ObservableObject.swift */, + ); + path = ObservableObject; + sourceTree = ""; + }; + 5FE2F9C8C8A48E1B02BF03D2205DF1FC /* Pod */ = { + isa = PBXGroup; + children = ( + 63A8FA8D60B08423ABC8F3E32FC3A082 /* FloatingLabelTextFieldSwiftUI.podspec */, + B16D8A23C0A335A0E09DA48EAA7B4BCB /* LICENSE */, + 1221C851BB3D0D1FF33460B6F89DC4DC /* README.md */, + ); + name = Pod; + sourceTree = ""; + }; + 78B0A611A6D1CDB9EFBCA3E6881F7D68 /* Pods-FloatingLabelTextFieldSwiftUI_Tests */ = { + isa = PBXGroup; + children = ( + C93C627C88DC3D28875A3D229AB6ED4C /* Pods-FloatingLabelTextFieldSwiftUI_Tests.modulemap */, + EE99B8AA756188D122D1672E78105565 /* Pods-FloatingLabelTextFieldSwiftUI_Tests-acknowledgements.markdown */, + A6ED3E022A8C4476D628C203A738F814 /* Pods-FloatingLabelTextFieldSwiftUI_Tests-acknowledgements.plist */, + EB532DD9194AA050448BC8BE4B6F100B /* Pods-FloatingLabelTextFieldSwiftUI_Tests-dummy.m */, + 8FBD2D598C9F0F52E54A8E7820D2877C /* Pods-FloatingLabelTextFieldSwiftUI_Tests-Info.plist */, + 33B87B774B6B67EE2736D0B3DF2074CC /* Pods-FloatingLabelTextFieldSwiftUI_Tests-umbrella.h */, + D0226F1148958C267735A53677AC4E48 /* Pods-FloatingLabelTextFieldSwiftUI_Tests.debug.xcconfig */, + 9158B5E60774F307FC287D2307E4A17E /* Pods-FloatingLabelTextFieldSwiftUI_Tests.release.xcconfig */, + ); + name = "Pods-FloatingLabelTextFieldSwiftUI_Tests"; + path = "Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests"; + sourceTree = ""; + }; + B0365C0A5DE85852D26751E1C0258D8D /* Pods-FloatingLabelTextFieldSwiftUI_Example */ = { + isa = PBXGroup; + children = ( + C2D1D4053A7F3486EC71C8CAD7ABFC39 /* Pods-FloatingLabelTextFieldSwiftUI_Example.modulemap */, + 9717BD50521A42A36A027377A5F8D88E /* Pods-FloatingLabelTextFieldSwiftUI_Example-acknowledgements.markdown */, + 5DA2B90C9EF9C267037122FCBFFC32FB /* Pods-FloatingLabelTextFieldSwiftUI_Example-acknowledgements.plist */, + 2576CA6743DBD278D07BF77002228968 /* Pods-FloatingLabelTextFieldSwiftUI_Example-dummy.m */, + F4187CF6B83F601132CB7B4D7872EF78 /* Pods-FloatingLabelTextFieldSwiftUI_Example-frameworks.sh */, + DFFD1EEC3C54E6D1974BE0B7FE6812A2 /* Pods-FloatingLabelTextFieldSwiftUI_Example-Info.plist */, + F68BA006B402BAB59668AC6A0C2B034C /* Pods-FloatingLabelTextFieldSwiftUI_Example-umbrella.h */, + D2250C0BC386E22EA82073CDDD920C70 /* Pods-FloatingLabelTextFieldSwiftUI_Example.debug.xcconfig */, + 379E19BC27CAD1B499B2626FA17DF32F /* Pods-FloatingLabelTextFieldSwiftUI_Example.release.xcconfig */, + ); + name = "Pods-FloatingLabelTextFieldSwiftUI_Example"; + path = "Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example"; + sourceTree = ""; + }; + C0834CEBB1379A84116EF29F93051C60 /* iOS */ = { + isa = PBXGroup; + children = ( + 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */, + ); + name = iOS; + sourceTree = ""; + }; + CF1408CF629C7361332E53B88F7BD30C = { + isa = PBXGroup; + children = ( + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + 10283DEA2DD31C719C09AFAA409C21B5 /* Development Pods */, + D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */, + 4F94AF7B98DB58C936A178227C8D80E1 /* Products */, + D1F52DA913503CA7A87BF02897EFB51F /* Targets Support Files */, + ); + sourceTree = ""; + }; + CFF6BFEF1CC3CCFA5191C6A36B301111 /* FloatingLabelTextFieldSwiftUI */ = { + isa = PBXGroup; + children = ( + 5D2E0F292469AC8C008BBE68 /* Source */, + 5FE2F9C8C8A48E1B02BF03D2205DF1FC /* Pod */, + 4A11EB5FD644373D7837297A4C92C44A /* Support Files */, + ); + name = FloatingLabelTextFieldSwiftUI; + path = ../..; + sourceTree = ""; + }; + D1F52DA913503CA7A87BF02897EFB51F /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + B0365C0A5DE85852D26751E1C0258D8D /* Pods-FloatingLabelTextFieldSwiftUI_Example */, + 78B0A611A6D1CDB9EFBCA3E6881F7D68 /* Pods-FloatingLabelTextFieldSwiftUI_Tests */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; + D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = { + isa = PBXGroup; + children = ( + C0834CEBB1379A84116EF29F93051C60 /* iOS */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 2D8642FB9F8F084C2D4F1EB3CEB741A9 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 00B445DA37711B17D3B5BF61B107D9BC /* Pods-FloatingLabelTextFieldSwiftUI_Example-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 7F1B74F8B5F2A6613CDB6B72E0E4F10D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 1EC95B678A0CEB64339DCD6A7282A499 /* Pods-FloatingLabelTextFieldSwiftUI_Tests-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EE4639B4F38CB3C1ED370E2AFC5D13D6 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 567C50F7FFBB29A2054CC82676646BB9 /* FloatingLabelTextFieldSwiftUI-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 39AED5B13D90A639FED583687DD69045 /* Pods-FloatingLabelTextFieldSwiftUI_Example */ = { + isa = PBXNativeTarget; + buildConfigurationList = 421E764DD8CE8BE49ED38156C9EF2812 /* Build configuration list for PBXNativeTarget "Pods-FloatingLabelTextFieldSwiftUI_Example" */; + buildPhases = ( + 2D8642FB9F8F084C2D4F1EB3CEB741A9 /* Headers */, + 3EB0CFE80AE815BBED3BBD16B0DF35C1 /* Sources */, + 2BE77113FB5872FD6F8CD58600DA95BB /* Frameworks */, + 1A94EE7E00D66E4D29BE5B4535483FB7 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 2411B89C8B13880FC3DB32739DB60436 /* PBXTargetDependency */, + ); + name = "Pods-FloatingLabelTextFieldSwiftUI_Example"; + productName = "Pods-FloatingLabelTextFieldSwiftUI_Example"; + productReference = D62B2968F7942E8B9BCC6758997EE9CF /* Pods_FloatingLabelTextFieldSwiftUI_Example.framework */; + productType = "com.apple.product-type.framework"; + }; + 48B000E20376AD7DCCEE447AA743086F /* Pods-FloatingLabelTextFieldSwiftUI_Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 914ACF1501A1FD8E232393D8865C2825 /* Build configuration list for PBXNativeTarget "Pods-FloatingLabelTextFieldSwiftUI_Tests" */; + buildPhases = ( + 7F1B74F8B5F2A6613CDB6B72E0E4F10D /* Headers */, + E57AEBB74F144C4D193637A5DF781EDA /* Sources */, + C02F0EDC7E226D8109BD69CF3BB25141 /* Frameworks */, + 1D3BAED4720C257C273DA49332D94469 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 92A1888B3DCD7EBA70AB595C641E57DA /* PBXTargetDependency */, + ); + name = "Pods-FloatingLabelTextFieldSwiftUI_Tests"; + productName = "Pods-FloatingLabelTextFieldSwiftUI_Tests"; + productReference = C39E0E7B66FC87CD98B5722E71EC598E /* Pods_FloatingLabelTextFieldSwiftUI_Tests.framework */; + productType = "com.apple.product-type.framework"; + }; + F6129FEE7258F0F621C402FA13E86152 /* FloatingLabelTextFieldSwiftUI */ = { + isa = PBXNativeTarget; + buildConfigurationList = C45BB0BB61BDE23BCFC83588AEB0BF7A /* Build configuration list for PBXNativeTarget "FloatingLabelTextFieldSwiftUI" */; + buildPhases = ( + EE4639B4F38CB3C1ED370E2AFC5D13D6 /* Headers */, + D8FCAD819D04380F1D3EAE90C19D5A42 /* Sources */, + 2E9D56BF23FFF1CE2CCA5D27DE125750 /* Frameworks */, + 9D935635D7176A20218B1C95A8EE727F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = FloatingLabelTextFieldSwiftUI; + productName = FloatingLabelTextFieldSwiftUI; + productReference = 86A69F4F3096C8F4DEF7164078CE3E30 /* FloatingLabelTextFieldSwiftUI.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + BFDFE7DC352907FC980B868725387E98 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1100; + LastUpgradeCheck = 1100; + TargetAttributes = { + F6129FEE7258F0F621C402FA13E86152 = { + LastSwiftMigration = 1130; + }; + }; + }; + buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = CF1408CF629C7361332E53B88F7BD30C; + productRefGroup = 4F94AF7B98DB58C936A178227C8D80E1 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + F6129FEE7258F0F621C402FA13E86152 /* FloatingLabelTextFieldSwiftUI */, + 39AED5B13D90A639FED583687DD69045 /* Pods-FloatingLabelTextFieldSwiftUI_Example */, + 48B000E20376AD7DCCEE447AA743086F /* Pods-FloatingLabelTextFieldSwiftUI_Tests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 1A94EE7E00D66E4D29BE5B4535483FB7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1D3BAED4720C257C273DA49332D94469 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9D935635D7176A20218B1C95A8EE727F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 3EB0CFE80AE815BBED3BBD16B0DF35C1 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ADBBA635D4793CBBDF9C0F7B5785C5F8 /* Pods-FloatingLabelTextFieldSwiftUI_Example-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D8FCAD819D04380F1D3EAE90C19D5A42 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 5D2E0F342469AD15008BBE68 /* TextAlignment+Extension.swift in Sources */, + 5D2E0F332469AD15008BBE68 /* UIResponder+Extesnion.swift in Sources */, + 5D2E0F352469AD15008BBE68 /* View+Extension.swift in Sources */, + 56D73C2AC0CACE6CEE2882712F51C4CF /* FloatingLabelTextFieldSwiftUI-dummy.m in Sources */, + 5D2E0F372469AD15008BBE68 /* ObservableObject.swift in Sources */, + 5D2E0F362469AD15008BBE68 /* FloatingLabelTextField.swift in Sources */, + 5D2E0F322469AD15008BBE68 /* UIControl+Extension.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E57AEBB74F144C4D193637A5DF781EDA /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74863C5D4183CE32FDEBC4C8111967E4 /* Pods-FloatingLabelTextFieldSwiftUI_Tests-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 2411B89C8B13880FC3DB32739DB60436 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FloatingLabelTextFieldSwiftUI; + target = F6129FEE7258F0F621C402FA13E86152 /* FloatingLabelTextFieldSwiftUI */; + targetProxy = FCDA340248E60F2A3943421D096ECE53 /* PBXContainerItemProxy */; + }; + 92A1888B3DCD7EBA70AB595C641E57DA /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Pods-FloatingLabelTextFieldSwiftUI_Example"; + target = 39AED5B13D90A639FED583687DD69045 /* Pods-FloatingLabelTextFieldSwiftUI_Example */; + targetProxy = 2DE8DE34C6DBE26E6E3E28D43EADBB77 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 05608386EF17DBC771277E59B98C8CF7 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D747BBE0346743E4939E4E8C41F05301 /* FloatingLabelTextFieldSwiftUI.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.modulemap"; + PRODUCT_MODULE_NAME = FloatingLabelTextFieldSwiftUI; + PRODUCT_NAME = FloatingLabelTextFieldSwiftUI; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 7D8448D7376C3ACE8B1CC958E033A195 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 379E19BC27CAD1B499B2626FA17DF32F /* Pods-FloatingLabelTextFieldSwiftUI_Example.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = NO; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 82CAF6B1E921D0BC5F276D22C2F6DB84 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D2250C0BC386E22EA82073CDDD920C70 /* Pods-FloatingLabelTextFieldSwiftUI_Example.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = NO; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + B0087CB4594321EF41619F3181FE120E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; + B6639AF7A256F15D82BAB4BEF46722CC /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D0226F1148958C267735A53677AC4E48 /* Pods-FloatingLabelTextFieldSwiftUI_Tests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = NO; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + B8BCBD0110C2658BB5DAADB9B7D97B92 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; + C9AE33E6243326A84B6890CC300CFCA9 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9158B5E60774F307FC287D2307E4A17E /* Pods-FloatingLabelTextFieldSwiftUI_Tests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = NO; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + E98FE34ED4A61BE661BE54EF30A65A76 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C48964D4C60A00B5F5072E95059BAA5F /* FloatingLabelTextFieldSwiftUI.release.xcconfig */; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.modulemap"; + PRODUCT_MODULE_NAME = FloatingLabelTextFieldSwiftUI; + PRODUCT_NAME = FloatingLabelTextFieldSwiftUI; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SUPPORTS_MACCATALYST = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 421E764DD8CE8BE49ED38156C9EF2812 /* Build configuration list for PBXNativeTarget "Pods-FloatingLabelTextFieldSwiftUI_Example" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 82CAF6B1E921D0BC5F276D22C2F6DB84 /* Debug */, + 7D8448D7376C3ACE8B1CC958E033A195 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B8BCBD0110C2658BB5DAADB9B7D97B92 /* Debug */, + B0087CB4594321EF41619F3181FE120E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 914ACF1501A1FD8E232393D8865C2825 /* Build configuration list for PBXNativeTarget "Pods-FloatingLabelTextFieldSwiftUI_Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B6639AF7A256F15D82BAB4BEF46722CC /* Debug */, + C9AE33E6243326A84B6890CC300CFCA9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C45BB0BB61BDE23BCFC83588AEB0BF7A /* Build configuration list for PBXNativeTarget "FloatingLabelTextFieldSwiftUI" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 05608386EF17DBC771277E59B98C8CF7 /* Debug */, + E98FE34ED4A61BE661BE54EF30A65A76 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; +} diff --git a/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-Info.plist b/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-Info.plist new file mode 100644 index 0000000..161a9d3 --- /dev/null +++ b/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 0.1.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-dummy.m b/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-dummy.m new file mode 100644 index 0000000..4caf4b5 --- /dev/null +++ b/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_FloatingLabelTextFieldSwiftUI : NSObject +@end +@implementation PodsDummy_FloatingLabelTextFieldSwiftUI +@end diff --git a/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-prefix.pch b/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-umbrella.h b/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-umbrella.h new file mode 100644 index 0000000..2cf3198 --- /dev/null +++ b/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double FloatingLabelTextFieldSwiftUIVersionNumber; +FOUNDATION_EXPORT const unsigned char FloatingLabelTextFieldSwiftUIVersionString[]; + diff --git a/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.debug.xcconfig b/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.debug.xcconfig new file mode 100644 index 0000000..b8b1e4b --- /dev/null +++ b/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.debug.xcconfig @@ -0,0 +1,10 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FloatingLabelTextFieldSwiftUI +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.modulemap b/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.modulemap new file mode 100644 index 0000000..d467d54 --- /dev/null +++ b/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.modulemap @@ -0,0 +1,6 @@ +framework module FloatingLabelTextFieldSwiftUI { + umbrella header "FloatingLabelTextFieldSwiftUI-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.release.xcconfig b/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.release.xcconfig new file mode 100644 index 0000000..b8b1e4b --- /dev/null +++ b/Example/Pods/Target Support Files/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.release.xcconfig @@ -0,0 +1,10 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FloatingLabelTextFieldSwiftUI +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-Info.plist b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-Info.plist new file mode 100644 index 0000000..2243fe6 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-acknowledgements.markdown new file mode 100644 index 0000000..9852bc8 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-acknowledgements.markdown @@ -0,0 +1,26 @@ +# Acknowledgements +This application makes use of the following third party libraries: + +## FloatingLabelTextFieldSwiftUI + +Copyright (c) 2020 kishanraja + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-acknowledgements.plist new file mode 100644 index 0000000..f6656c5 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-acknowledgements.plist @@ -0,0 +1,58 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Copyright (c) 2020 kishanraja <rajakishanrk1996@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + License + MIT + Title + FloatingLabelTextFieldSwiftUI + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-dummy.m b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-dummy.m new file mode 100644 index 0000000..cf65d59 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_FloatingLabelTextFieldSwiftUI_Example : NSObject +@end +@implementation PodsDummy_Pods_FloatingLabelTextFieldSwiftUI_Example +@end diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-frameworks.sh new file mode 100755 index 0000000..b196bc6 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-frameworks.sh @@ -0,0 +1,207 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" +SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" + +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +# Copies and strips a vendored framework +install_framework() +{ + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + elif [ -r "$1" ]; then + local source="$1" + fi + + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + + if [ -L "${source}" ]; then + echo "Symlinked..." + source="$(readlink "${source}")" + fi + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + elif [ -L "${binary}" ]; then + echo "Destination binary is symlinked..." + dirname="$(dirname "${binary}")" + binary="${dirname}/$(readlink "${binary}")" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + + # Resign the code if required by the build settings to avoid unstable apps + code_sign_if_enabled "${destination}/$(basename "$1")" + + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi +} + +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + warn_missing_arch=${2:-true} + if [ -r "$source" ]; then + # Copy the dSYM into the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .dSYM "$source")" + binary_name="$(ls "$source/Contents/Resources/DWARF")" + binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}" + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then + strip_invalid_archs "$binary" "$warn_missing_arch" + fi + + if [[ $STRIP_BINARY_RETVAL == 1 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM" + fi + fi +} + +# Copies the bcsymbolmap files of a vendored framework +install_bcsymbolmap() { + local bcsymbolmap_path="$1" + local destination="${BUILT_PRODUCTS_DIR}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" +} + +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identity + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} + +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + warn_missing_arch=${2:-true} + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + if [[ "$warn_missing_arch" == "true" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + fi + STRIP_BINARY_RETVAL=0 + return + fi + stripped="" + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi + STRIP_BINARY_RETVAL=1 +} + +install_artifact() { + artifact="$1" + base="$(basename "$artifact")" + case $base in + *.framework) + install_framework "$artifact" + ;; + *.dSYM) + # Suppress arch warnings since XCFrameworks will include many dSYM files + install_dsym "$artifact" "false" + ;; + *.bcsymbolmap) + install_bcsymbolmap "$artifact" + ;; + *) + echo "error: Unrecognized artifact "$artifact"" + ;; + esac +} + +copy_artifacts() { + file_list="$1" + while read artifact; do + install_artifact "$artifact" + done <$file_list +} + +ARTIFACT_LIST_FILE="${BUILT_PRODUCTS_DIR}/cocoapods-artifacts-${CONFIGURATION}.txt" +if [ -r "${ARTIFACT_LIST_FILE}" ]; then + copy_artifacts "${ARTIFACT_LIST_FILE}" +fi + +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.framework" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait +fi diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-umbrella.h b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-umbrella.h new file mode 100644 index 0000000..7d5b921 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Pods_FloatingLabelTextFieldSwiftUI_ExampleVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_FloatingLabelTextFieldSwiftUI_ExampleVersionString[]; + diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example.debug.xcconfig new file mode 100644 index 0000000..26c2afb --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example.debug.xcconfig @@ -0,0 +1,12 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FloatingLabelTextFieldSwiftUI" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.framework/Headers" +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_LDFLAGS = $(inherited) -framework "FloatingLabelTextFieldSwiftUI" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example.modulemap b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example.modulemap new file mode 100644 index 0000000..118a01c --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example.modulemap @@ -0,0 +1,6 @@ +framework module Pods_FloatingLabelTextFieldSwiftUI_Example { + umbrella header "Pods-FloatingLabelTextFieldSwiftUI_Example-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example.release.xcconfig new file mode 100644 index 0000000..26c2afb --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Example/Pods-FloatingLabelTextFieldSwiftUI_Example.release.xcconfig @@ -0,0 +1,12 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FloatingLabelTextFieldSwiftUI" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.framework/Headers" +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_LDFLAGS = $(inherited) -framework "FloatingLabelTextFieldSwiftUI" +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-Info.plist b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-Info.plist new file mode 100644 index 0000000..2243fe6 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-acknowledgements.markdown new file mode 100644 index 0000000..102af75 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-acknowledgements.markdown @@ -0,0 +1,3 @@ +# Acknowledgements +This application makes use of the following third party libraries: +Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-acknowledgements.plist new file mode 100644 index 0000000..7acbad1 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-acknowledgements.plist @@ -0,0 +1,29 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-dummy.m b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-dummy.m new file mode 100644 index 0000000..8c6ff39 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_FloatingLabelTextFieldSwiftUI_Tests : NSObject +@end +@implementation PodsDummy_Pods_FloatingLabelTextFieldSwiftUI_Tests +@end diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-umbrella.h b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-umbrella.h new file mode 100644 index 0000000..4654ec2 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Pods_FloatingLabelTextFieldSwiftUI_TestsVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_FloatingLabelTextFieldSwiftUI_TestsVersionString[]; + diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests.debug.xcconfig new file mode 100644 index 0000000..0d11d75 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests.debug.xcconfig @@ -0,0 +1,9 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FloatingLabelTextFieldSwiftUI" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "FloatingLabelTextFieldSwiftUI" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests.modulemap b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests.modulemap new file mode 100644 index 0000000..f0696e5 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests.modulemap @@ -0,0 +1,6 @@ +framework module Pods_FloatingLabelTextFieldSwiftUI_Tests { + umbrella header "Pods-FloatingLabelTextFieldSwiftUI_Tests-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests.release.xcconfig new file mode 100644 index 0000000..0d11d75 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-FloatingLabelTextFieldSwiftUI_Tests/Pods-FloatingLabelTextFieldSwiftUI_Tests.release.xcconfig @@ -0,0 +1,9 @@ +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FloatingLabelTextFieldSwiftUI" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FloatingLabelTextFieldSwiftUI/FloatingLabelTextFieldSwiftUI.framework/Headers" +OTHER_LDFLAGS = $(inherited) -framework "FloatingLabelTextFieldSwiftUI" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/FloatingLabelTextFieldSwiftUI.podspec b/FloatingLabelTextFieldSwiftUI.podspec index 68de016..0e2ff67 100644 --- a/FloatingLabelTextFieldSwiftUI.podspec +++ b/FloatingLabelTextFieldSwiftUI.podspec @@ -8,8 +8,8 @@ Pod::Spec.new do |s| s.name = 'FloatingLabelTextFieldSwiftUI' - s.version = '0.1.0' - s.summary = 'A short description of FloatingLabelTextFieldSwiftUI.' + s.version = '2.0.1' + s.summary = 'A beautiful floating label textfield library written in SwiftUI.' # This description is used to generate tags and improve search results. # * Think: What does it do? Why did you write it? What is the focus? @@ -18,7 +18,7 @@ Pod::Spec.new do |s| # * Finally, don't worry about the indent, CocoaPods strips it! s.description = <<-DESC -TODO: Add long description of the pod here. + FloatingLabelTextField is a small and lightweight SwiftUI framework that allows to create beautiful and customisable floating label textfield! DESC s.homepage = 'https://github.com/kishanraja/FloatingLabelTextFieldSwiftUI' @@ -26,11 +26,18 @@ TODO: Add long description of the pod here. s.license = { :type => 'MIT', :file => 'LICENSE' } s.author = { 'kishanraja' => 'rajakishanrk1996@gmail.com' } s.source = { :git => 'https://github.com/kishanraja/FloatingLabelTextFieldSwiftUI.git', :tag => s.version.to_s } - # s.social_media_url = 'https://twitter.com/' + s.social_media_url = 'https://twitter.com/RajaKishan4' - s.ios.deployment_target = '8.0' + s.ios.deployment_target = '13.0' + + s.source_files = 'Source/**/*.swift' + + s.swift_version = "5.0" + s.platforms = { + "ios" : "13.0" + } - s.source_files = 'FloatingLabelTextFieldSwiftUI/Classes/**/*' + # s.resource_bundles = { # 'FloatingLabelTextFieldSwiftUI' => ['FloatingLabelTextFieldSwiftUI/Assets/*.png'] diff --git a/FloatingLabelTextFieldSwiftUI/Classes/ReplaceMe.swift b/FloatingLabelTextFieldSwiftUI/Classes/ReplaceMe.swift deleted file mode 100644 index e69de29..0000000 diff --git a/Source/Extensions/TextAlignment+Extension.swift b/Source/Extensions/TextAlignment+Extension.swift new file mode 100644 index 0000000..b31f8c4 --- /dev/null +++ b/Source/Extensions/TextAlignment+Extension.swift @@ -0,0 +1,15 @@ +// +// TextAlignment+Extension.swift +// FloatingLabelTextFieldSwiftUI +// +// Created by KISHAN_RAJA on 01/05/20. +// Copyright © 2020 KISHAN_RAJA. All rights reserved. +// + +import SwiftUI +@available(iOS 13.0, *) +extension TextAlignment { + func getAlignment() -> Alignment { + self == .leading ? Alignment.leading : self == .trailing ? Alignment.trailing : Alignment.center + } +} diff --git a/Source/Extensions/UIControl+Extension.swift b/Source/Extensions/UIControl+Extension.swift new file mode 100644 index 0000000..fdea917 --- /dev/null +++ b/Source/Extensions/UIControl+Extension.swift @@ -0,0 +1,31 @@ +// +// UIControl+Extension.swift +// FloatingLabelTextFieldSwiftUI +// +// Created by KISHAN_RAJA on 03/05/20. +// Copyright © 2020 KISHAN_RAJA. All rights reserved. +// + +import SwiftUI + +extension UIControl { + func addAction(for controlEvents: UIControl.Event, action: @escaping () -> ()) { + let sleeve = ClosureSleeve(attachTo: self, closure: action) + addTarget(sleeve, action: #selector(ClosureSleeve.invoke), for: controlEvents) + } +} + +var AssociatedObjectHandle: UInt8 = 0 + +class ClosureSleeve { + let closure: () -> () + + init(attachTo: AnyObject, closure: @escaping () -> ()) { + self.closure = closure + objc_setAssociatedObject(attachTo, &AssociatedObjectHandle, self, .OBJC_ASSOCIATION_RETAIN_NONATOMIC) + } + + @objc func invoke() { + closure() + } +} diff --git a/Source/Extensions/UIResponder+Extesnion.swift b/Source/Extensions/UIResponder+Extesnion.swift new file mode 100644 index 0000000..97dbbe3 --- /dev/null +++ b/Source/Extensions/UIResponder+Extesnion.swift @@ -0,0 +1,28 @@ +// +// UIResponder+Extesnion.swift +// FloatingLabelTextFieldSwiftUI +// +// Created by KISHAN_RAJA on 03/05/20. +// Copyright © 2020 KISHAN_RAJA. All rights reserved. +// + +import SwiftUI + +// From https://stackoverflow.com/a/14135456/6870041 +extension UIResponder { + static var currentFirstResponder: UIResponder? { + _currentFirstResponder = nil + UIApplication.shared.sendAction(#selector(UIResponder.findFirstResponder(_:)), to: nil, from: nil, for: nil) + return _currentFirstResponder + } + + private static weak var _currentFirstResponder: UIResponder? + + @objc private func findFirstResponder(_ sender: Any) { + UIResponder._currentFirstResponder = self + } + + var globalView: UIView? { + return self as? UIView + } +} diff --git a/Source/Extensions/View+Extension.swift b/Source/Extensions/View+Extension.swift new file mode 100644 index 0000000..514eb01 --- /dev/null +++ b/Source/Extensions/View+Extension.swift @@ -0,0 +1,16 @@ +// +// View+Extension.swift +// FloatingLabelTextFieldSwiftUI +// +// Created by KISHAN_RAJA on 02/05/20. +// Copyright © 2020 KISHAN_RAJA. All rights reserved. +// + +import SwiftUI + +@available(iOS 13.0, *) +extension View { + public func endEditing(_ force: Bool) { + UIApplication.shared.windows.forEach { $0.endEditing(force)} + } +} diff --git a/Source/FloatingLabelTextField.swift b/Source/FloatingLabelTextField.swift new file mode 100644 index 0000000..f1d6222 --- /dev/null +++ b/Source/FloatingLabelTextField.swift @@ -0,0 +1,260 @@ +// +// FloatingLabelTextField.swift +// FloatingLabelTextFieldSwiftUI +// +// Created by KISHAN_RAJA on 01/05/20. +// Copyright © 2020 KISHAN_RAJA. All rights reserved. +// + +import SwiftUI + +//MARK: FloatingLabelTextField Style Protocol +@available(iOS 13.0, *) +public protocol FloatingLabelTextFieldStyle { + func body(content: FloatingLabelTextField) -> FloatingLabelTextField +} + +//MARK: FloatingLabelTextField View +@available(iOS 13.0, *) +public struct FloatingLabelTextField: View { + + //MARK: Binding Property + @Binding private var textFieldValue: String + @State fileprivate var isSelected: Bool = false + + //MARK: Observed Object + @ObservedObject private var notifier = FloatingLabelTextFieldNotifier() + + //MARK: Properties + private var placeholderText: String = "" + private var editingChanged: (Bool) -> () = { _ in } + private var commit: () -> () = { } + + //MARK: Init + public init(_ text: Binding, placeholder: String = "", editingChanged: @escaping (Bool)->() = { _ in }, commit: @escaping ()->() = { }) { + self._textFieldValue = text + self.placeholderText = placeholder + self.editingChanged = editingChanged + self.commit = commit + + } + + // MARK: Center View + var centerTextFieldView: some View { + ZStack(alignment: notifier.textAlignment.getAlignment()) { + + if textFieldValue.isEmpty { + Text(placeholderText) + .font(notifier.placeholderFont) + .multilineTextAlignment(notifier.textAlignment) + .foregroundColor(notifier.placeholderColor) + } + + if notifier.isSecureTextEntry { + SecureField("", text: $textFieldValue.animation()) { + } + .onTapGesture { + self.editingChanged(self.isSelected) + if !self.isSelected { + UIResponder.currentFirstResponder?.resignFirstResponder() + } + DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { + if let currentResponder = UIResponder.currentFirstResponder, let currentTextField = currentResponder.globalView as? UITextField{ + self.isSelected = self.notifier.isSecureTextEntry + currentTextField.addAction(for: .editingDidEnd) { + self.isSelected = false + self.commit() + } + } + } + } + .font(notifier.font) + .multilineTextAlignment(notifier.textAlignment) + .foregroundColor(isSelected ? notifier.selectedTextColor : notifier.textColor) + + } else { + TextField("", text: $textFieldValue.animation(), onEditingChanged: { (isChanged) in + self.isSelected = isChanged + self.editingChanged(isChanged) + + }, onCommit: { + print("onCommit") + self.commit() + }) + .multilineTextAlignment(notifier.textAlignment) + .font(notifier.font) + .foregroundColor(isSelected ? notifier.selectedTextColor : notifier.textColor) + } + } + } + + //MARK: Body View + public var body: some View { + VStack () { + ZStack(alignment: .bottomLeading) { + + Text(placeholderText) + .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity, alignment: notifier.textAlignment.getAlignment()) + .animation(.default) + .foregroundColor( self.isSelected ? notifier.selectedTitleColor : notifier.titleColor) + .padding(.bottom, CGFloat(!textFieldValue.isEmpty ? notifier.spaceBetweenTitleText : 0)) + .opacity(textFieldValue.isEmpty ? 0 : 1) + .font(notifier.titleFont) + + HStack { + // Left View + notifier.leftView + + // Center View + centerTextFieldView + + //Right View + notifier.rightView + } + } + + //MARK: Line View + Divider() + .frame(height: self.isSelected ? notifier.selectedLineHeight : notifier.lineHeight, alignment: .leading).background( self.isSelected ? notifier.selectedLineColor : notifier.lineColor) + + } + .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity, alignment: .bottomLeading) + } +} + +//MARK: FloatingLabelTextField Style Funcation +@available(iOS 13.0, *) +extension FloatingLabelTextField { + public func floatingStyle(_ style: S) -> some View where S: FloatingLabelTextFieldStyle { + return style.body(content: self) + } +} + +//MARK: View Property Funcation +@available(iOS 13.0, *) +extension FloatingLabelTextField { + /// Adds left view. + public func leftView(@ViewBuilder _ view: @escaping () -> LRView) -> Self { + notifier.leftView = AnyView(view()) + return self + } + + /// Adds right view. + public func rightView(@ViewBuilder _ view: @escaping () -> LRView) -> Self { + notifier.rightView = AnyView(view()) + return self + } +} + +//MARK: Text Property Funcation +@available(iOS 13.0, *) +extension FloatingLabelTextField { + /// Sets the alignment for text. + public func textAlignment(_ alignment: TextAlignment) -> Self { + notifier.textAlignment = alignment + return self + } + + /// Sets the secure text entry for TextField. + public func isSecureTextEntry(_ isSecure: Bool) -> Self { + notifier.isSecureTextEntry = isSecure + return self + } +} + +//MARK: Line Property Funcation +@available(iOS 13.0, *) +extension FloatingLabelTextField { + /// Sets the line height. + public func lineHeight(_ height: CGFloat) -> Self { + notifier.lineHeight = height + return self + } + + /// Sets the selected line height. + public func selectedLineHeight(_ height: CGFloat) -> Self { + notifier.selectedLineHeight = height + return self + } + + /// Sets the line color. + public func lineColor(_ color: Color) -> Self { + notifier.lineColor = color + return self + } + + /// Sets the selected line color. + public func selectedLineColor(_ color: Color) -> Self { + notifier.selectedLineColor = color + return self + } +} + +//MARK: Title Property Funcation +@available(iOS 13.0, *) +extension FloatingLabelTextField { + /// Sets the title color. + public func titleColor(_ color: Color) -> Self { + notifier.titleColor = color + return self + } + + /// Sets the selected title color. + public func selectedTitleColor(_ color: Color) -> Self { + notifier.selectedTitleColor = color + return self + } + + /// Sets the title font. + public func titleFont(_ font: Font) -> Self { + notifier.titleFont = font + return self + } +} + +//MARK: Text Property Funcation +@available(iOS 13.0, *) +extension FloatingLabelTextField { + /// Sets the text color. + public func textColor(_ color: Color) -> Self { + notifier.textColor = color + return self + } + + /// Sets the selected text color. + public func selectedTextColor(_ color: Color) -> Self { + notifier.selectedTextColor = color + return self + } + + /// Sets the text font. + public func textFont(_ font: Font) -> Self { + notifier.font = font + return self + } +} + +//MARK: Placeholder Property Funcation +@available(iOS 13.0, *) +extension FloatingLabelTextField { + /// Sets the placeholder color. + public func placeholderColor(_ color: Color) -> Self { + notifier.placeholderColor = color + return self + } + + /// Sets the placeholder font. + public func placeholderFont(_ font: Font) -> Self { + notifier.placeholderFont = font + return self + } +} + + + +//MARK: Preview +//struct FloatingLabelTextField_Previews: PreviewProvider { +// static var previews: some View { +// FloatingLabelTextField() +// } +//} diff --git a/Source/ObservableObject/ObservableObject.swift b/Source/ObservableObject/ObservableObject.swift new file mode 100644 index 0000000..6ff7259 --- /dev/null +++ b/Source/ObservableObject/ObservableObject.swift @@ -0,0 +1,44 @@ +// +// ObservableObject.swift +// FloatingLabelTextFieldSwiftUI +// +// Created by KISHAN_RAJA on 01/05/20. +// Copyright © 2020 KISHAN_RAJA. All rights reserved. +// + +import SwiftUI + +@available(iOS 13.0, *) +class FloatingLabelTextFieldNotifier: ObservableObject { + + //MARK: Views Properties + @Published var leftView: AnyView? + @Published var rightView: AnyView? + + //MARK: Alignment Properties + @Published var textAlignment: TextAlignment = .leading + + //MARK: Line Properties + @Published var lineHeight: CGFloat = 1 + @Published var selectedLineHeight: CGFloat = 1.5 + @Published var lineColor: Color = .black + @Published var selectedLineColor: Color = .blue + + //MARK: Title Properties + @Published var titleColor: Color = .gray + @Published var selectedTitleColor: Color = .blue + @Published var titleFont: Font = .system(size: 12) + + //MARK: Text Properties + @Published var textColor: Color = .black + @Published var selectedTextColor: Color = .blue + @Published var font: Font = .system(size: 15) + + //MARK: Placeholder Properties + @Published var placeholderColor: Color = .gray + @Published var placeholderFont: Font = .system(size: 15) + + //MARK: Other Properties + @Published var spaceBetweenTitleText: Double = 15 + @Published var isSecureTextEntry: Bool = false +}