diff --git a/AnyFormatKit.xcodeproj/project.pbxproj b/AnyFormatKit.xcodeproj/project.pbxproj index 7425a6d..f73b9f2 100644 --- a/AnyFormatKit.xcodeproj/project.pbxproj +++ b/AnyFormatKit.xcodeproj/project.pbxproj @@ -15,9 +15,10 @@ 0210847925B5854900DE16E4 /* SumTextInputFormatterUnformatTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0210847825B5854900DE16E4 /* SumTextInputFormatterUnformatTests.swift */; }; 022766DC25BF4DD500740DFE /* PlaceholderCaretPositionCalculator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 022766DB25BF4DD500740DFE /* PlaceholderCaretPositionCalculator.swift */; }; 02330C7125B2493500DE9EB8 /* DefaultTextInputFormatterPhoneEmojisInputTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02330C7025B2493500DE9EB8 /* DefaultTextInputFormatterPhoneEmojisInputTests.swift */; }; + 025AAB0F25C873B100CDA81D /* TextNumberFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 025AAB0E25C873B100CDA81D /* TextNumberFormatter.swift */; }; 026A487525C1E0CB000A38C7 /* CaretPositioner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 026A487425C1E0CB000A38C7 /* CaretPositioner.swift */; }; - 026A487B25C1E11F000A38C7 /* TextFieldPlaceholderInputController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 026A487A25C1E11F000A38C7 /* TextFieldPlaceholderInputController.swift */; }; - 026A488C25C1E626000A38C7 /* TextViewPlaceholderInputController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 026A488B25C1E626000A38C7 /* TextViewPlaceholderInputController.swift */; }; + 026A487B25C1E11F000A38C7 /* TextFieldStartInputController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 026A487A25C1E11F000A38C7 /* TextFieldStartInputController.swift */; }; + 026A488C25C1E626000A38C7 /* TextViewStartInputController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 026A488B25C1E626000A38C7 /* TextViewStartInputController.swift */; }; 02902B7F25B5E87F00E3BF25 /* TextNumberUnformatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02902B7E25B5E87F00E3BF25 /* TextNumberUnformatter.swift */; }; 02902B8525B5E90D00E3BF25 /* SumTextInputFormatterNumberUnformatTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02902B8425B5E90D00E3BF25 /* SumTextInputFormatterNumberUnformatTests.swift */; }; 02902B8E25B5F27100E3BF25 /* DefaultTextInputFormatterFormatTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02902B8D25B5F27100E3BF25 /* DefaultTextInputFormatterFormatTests.swift */; }; @@ -122,9 +123,11 @@ 0210847825B5854900DE16E4 /* SumTextInputFormatterUnformatTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SumTextInputFormatterUnformatTests.swift; sourceTree = ""; }; 022766DB25BF4DD500740DFE /* PlaceholderCaretPositionCalculator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaceholderCaretPositionCalculator.swift; sourceTree = ""; }; 02330C7025B2493500DE9EB8 /* DefaultTextInputFormatterPhoneEmojisInputTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultTextInputFormatterPhoneEmojisInputTests.swift; sourceTree = ""; }; + 024A797625C73D3400478A15 /* AnyFormatKit 2.4.0 MigrationGuide.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "AnyFormatKit 2.4.0 MigrationGuide.md"; sourceTree = ""; }; + 025AAB0E25C873B100CDA81D /* TextNumberFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextNumberFormatter.swift; sourceTree = ""; }; 026A487425C1E0CB000A38C7 /* CaretPositioner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CaretPositioner.swift; sourceTree = ""; }; - 026A487A25C1E11F000A38C7 /* TextFieldPlaceholderInputController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldPlaceholderInputController.swift; sourceTree = ""; }; - 026A488B25C1E626000A38C7 /* TextViewPlaceholderInputController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextViewPlaceholderInputController.swift; sourceTree = ""; }; + 026A487A25C1E11F000A38C7 /* TextFieldStartInputController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldStartInputController.swift; sourceTree = ""; }; + 026A488B25C1E626000A38C7 /* TextViewStartInputController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextViewStartInputController.swift; sourceTree = ""; }; 02902B7E25B5E87F00E3BF25 /* TextNumberUnformatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextNumberUnformatter.swift; sourceTree = ""; }; 02902B8425B5E90D00E3BF25 /* SumTextInputFormatterNumberUnformatTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SumTextInputFormatterNumberUnformatTests.swift; sourceTree = ""; }; 02902B8D25B5F27100E3BF25 /* DefaultTextInputFormatterFormatTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DefaultTextInputFormatterFormatTests.swift; sourceTree = ""; }; @@ -459,6 +462,8 @@ 307EA2191FAA1B5B00DE439D /* TextInputFormatter.swift */, DB4EEED5255DB80700F02145 /* FormattedTextValue.swift */, 026A487425C1E0CB000A38C7 /* CaretPositioner.swift */, + 02902B7E25B5E87F00E3BF25 /* TextNumberUnformatter.swift */, + 025AAB0E25C873B100CDA81D /* TextNumberFormatter.swift */, ); path = TextFormatter; sourceTree = ""; @@ -744,6 +749,7 @@ 30D7EAAC229D56D20014E31B /* README.md */, 30D7EAAA229D55A20014E31B /* AnyFormatKit 0.2.0 MigrationGuide.md */, 30EB6CBB22BBA0A000447D5A /* AnyFormatKit 1.0.0 MigrationGuide.md */, + 024A797625C73D3400478A15 /* AnyFormatKit 2.4.0 MigrationGuide.md */, ); path = Documentation; sourceTree = ""; @@ -806,7 +812,6 @@ DB4EEEA8255D9F0200F02145 /* Helpers */ = { isa = PBXGroup; children = ( - 02902B7E25B5E87F00E3BF25 /* TextNumberUnformatter.swift */, 30EB6CB522BB870E00447D5A /* SumFormatParser.swift */, 30EB6CB622BB870E00447D5A /* SumTextInputFormatterCaretPositionCalculator.swift */, ); @@ -1025,7 +1030,7 @@ 30A308962072BA7300CFC062 /* CaretPositionCorrector.swift in Sources */, 3032CFC021D412E1008137EE /* DefaultTextFormatter.swift in Sources */, 30EB6CB822BB870E00447D5A /* SumFormatParser.swift in Sources */, - 026A488C25C1E626000A38C7 /* TextViewPlaceholderInputController.swift in Sources */, + 026A488C25C1E626000A38C7 /* TextViewStartInputController.swift in Sources */, 307EA2341FAA1B5B00DE439D /* TextFormatter.swift in Sources */, 0210845725B57BD300DE16E4 /* TextUnformatter.swift in Sources */, 02902B7F25B5E87F00E3BF25 /* TextNumberUnformatter.swift in Sources */, diff --git a/Documentation/AnyFormatKit 2.4.0 MigrationGuide.md b/Documentation/AnyFormatKit 2.4.0 MigrationGuide.md new file mode 100644 index 0000000..09a6eae --- /dev/null +++ b/Documentation/AnyFormatKit 2.4.0 MigrationGuide.md @@ -0,0 +1,6 @@ +# AnyFormatKit 2.4.0 Migration Guide + +## Breaking Changes + +- `TextFieldPlaceholderInputController` was renamed to `TextFieldStartInputController` +- `TextViewPlaceholderInputController` was renamed to `TextViewStartInputController` diff --git a/Example/Podfile.lock b/Example/Podfile.lock index ab80b78..47f3c69 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - AnyFormatKit (2.2.1) + - AnyFormatKit (2.3.0) - SnapKit (4.0.1) DEPENDENCIES: @@ -15,7 +15,7 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - AnyFormatKit: a433c9051897ec3af3aa77172c443d08660419ca + AnyFormatKit: c3c214deb03a53dee974bfd671f7fba9c568e3b7 SnapKit: 0de968a9fec17499afa29683b05d0c775b6d1c29 PODFILE CHECKSUM: 3b2233463479c8716321bdf1faf9974b8abd16c7 diff --git a/Example/Pods/Local Podspecs/AnyFormatKit.podspec.json b/Example/Pods/Local Podspecs/AnyFormatKit.podspec.json index d75688c..59409c9 100644 --- a/Example/Pods/Local Podspecs/AnyFormatKit.podspec.json +++ b/Example/Pods/Local Podspecs/AnyFormatKit.podspec.json @@ -1,6 +1,6 @@ { "name": "AnyFormatKit", - "version": "2.2.1", + "version": "2.3.0", "summary": "Simple text formatting in Swift.", "description": "This framework provide to format text with format like \"## ##-###\", where # - replaceble symbol. Support format all string or character by character input.", "homepage": "https://github.com/luximetr/AnyFormatKit", @@ -13,7 +13,7 @@ }, "source": { "git": "https://github.com/luximetr/AnyFormatKit.git", - "tag": "2.2.1" + "tag": "2.3.0" }, "platforms": { "ios": "8.0" diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index ab80b78..47f3c69 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,5 +1,5 @@ PODS: - - AnyFormatKit (2.2.1) + - AnyFormatKit (2.3.0) - SnapKit (4.0.1) DEPENDENCIES: @@ -15,7 +15,7 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - AnyFormatKit: a433c9051897ec3af3aa77172c443d08660419ca + AnyFormatKit: c3c214deb03a53dee974bfd671f7fba9c568e3b7 SnapKit: 0de968a9fec17499afa29683b05d0c775b6d1c29 PODFILE CHECKSUM: 3b2233463479c8716321bdf1faf9974b8abd16c7 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 399417e..019db6f 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,89 +7,90 @@ objects = { /* Begin PBXBuildFile section */ - 07165DB3459CCFE784956D2D204FD293 /* PlaceholderTextInputFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 777CABB9D44D711A0DF01840F8CDCA3A /* PlaceholderTextInputFormatter.swift */; }; 095547A88EE037F12395713A469C9B60 /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8D6B4E640B3D09C454814F36856E2EE /* ConstraintLayoutSupport.swift */; }; - 0BBB1A441A5AB794CE32D306441D1671 /* AnyFormatKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB859FC84EC3D2BB13A7CDDC646FFB3 /* AnyFormatKit-dummy.m */; }; + 0AAC2D3952A06B4096E4722AE844209B /* TextFieldStartInputController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7AC6494F40BC245F0E1CFDB1B178DB4 /* TextFieldStartInputController.swift */; }; + 0ABB0107E861D79AD0B2855998160063 /* SumFormatParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54798CEB12C80FA9EC501C358C1B6876 /* SumFormatParser.swift */; }; 0D7A7F3919AE48736753181756DE8AE8 /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0D8610217E033F12A628571FD3D1684 /* Typealiases.swift */; }; + 0E8D2283FB687B02FB0945A8000FE34C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; }; 0FA8E62C7A4A6DA9BB841007B5E16CD4 /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB3146B382C3292E28917B8CF4356923 /* ConstraintMakerFinalizable.swift */; }; 14E9ACC5796C5E35C84DD6659BEB788F /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6199B0E33536DD7E23A71C2A1DFA3CB3 /* ConstraintPriorityTarget.swift */; }; - 26689A5702DCAF57F5F0FCEE2423CF75 /* SumTextInputFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4210DB8C28479A9AEE2056D9B32AFDE /* SumTextInputFormatter.swift */; }; + 17B7CFB549A7D79A8EDFE58BDD9577AE /* StringCalculator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 323C3F2C3C58806F2F672F7AB9D6A4B4 /* StringCalculator.swift */; }; 276EE563D9B688173DBBF47DB80D72D8 /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7413D1E3B3849A8B98CECBCB1E3EA510 /* ConstraintLayoutGuideDSL.swift */; }; + 27D7537B71EC50623C634B79262CBFDF /* TextInputFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F58F5330C796A29B67D65B4775FFB125 /* TextInputFormatter.swift */; }; 28400157B63F40AA135BF16780AB4B96 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 42EDC7C7A525E5D5191CA0B7A731184D /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 30BC860539D7CA8ACD684D6CB653464D /* DefaultTextFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 196AB6896DE7344EAB5C840B6978D968 /* DefaultTextFormatter.swift */; }; + 291CEAC254504D27A16FB088D7AE71A1 /* UITextField+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D312BCD7682CF9565EE03D0CF4C79A45 /* UITextField+Extension.swift */; }; + 3420FACF55EF103468D343F8D989F0A7 /* TextViewInputController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B2DBE186E8D0847AD009AD29E0FA5F7 /* TextViewInputController.swift */; }; 35CDFA197D8219EB8DEFC227259A5C03 /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E887F5BC85E664CAF1EAD58DB6EF027D /* ConstraintMakerRelatable.swift */; }; - 361233DD33957926EB9ADA2A5DE29E4F /* TextViewInputController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BED0C8BE8B33D38AB687AB73E6C51822 /* TextViewInputController.swift */; }; - 42665EE1AAF211CC28AFDBE163D2C4AF /* FormattedTextValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 522CB3A4BDDB1CE66FEDE1623397BD2B /* FormattedTextValue.swift */; }; + 3B0F46F28DC808DA869D7CF265727CAA /* DefaultTextInputFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE1B80AD13F8132DEF77041032418CCA /* DefaultTextInputFormatter.swift */; }; + 40CDA828DA94C1777F2B7B637EBB71E5 /* PlaceholderTextInputFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCA057D4652D35D36898B2BB794EDFB5 /* PlaceholderTextInputFormatter.swift */; }; 4268E348E6D5E9037A640ADC8E065009 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 766CC484A3E4DD46665D9EF06679B007 /* ConstraintMakerEditable.swift */; }; - 480FB3661BCCF31FB3C274F8A4F96D71 /* UITextField+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D312BCD7682CF9565EE03D0CF4C79A45 /* UITextField+Extension.swift */; }; - 4A11B18A367C7B98CC9887A4FCB52F16 /* TextFieldInputController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DBAB53C833AB26A00C12E4A7859D63D /* TextFieldInputController.swift */; }; + 4D75359D184830D842CF000C548E10DA /* DefaultTextFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8680064D4164DB7EAAD39F6CFBFCB27 /* DefaultTextFormatter.swift */; }; + 4E89CBEC66C4683C6DD32BB33DDFC952 /* SumTextFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 616651330CD0565C7EA79BD81E372BC7 /* SumTextFormatter.swift */; }; + 5322C9F3D7D1CE440B7388368EEB56A3 /* TextViewStartInputController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47325B955D90684BC8FE5E3B31875C0B /* TextViewStartInputController.swift */; }; 54D1686EFA926E23C4BED5EEE7A19C08 /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C81B0C23EADA502AA9895105ACF93AD /* ConstraintInsets.swift */; }; 5544BDD6A14E06C7FB3A878BC3E96299 /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A3284DB6C9BFEF88606695BBC11E150 /* ConstraintView.swift */; }; - 55A721A8A943EDF382173B7A365E1DD2 /* StringCalculator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F42B51244A64E7DB9B1F0B5519C1BB6 /* StringCalculator.swift */; }; 5C376607904258A10F4DDD6D42EFC491 /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46F8B378A0D395518DE2DD11AE4B6F98 /* ConstraintMaker.swift */; }; + 5C4FA0DE0D1AF517884A54DE6829F5C9 /* TextFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7609DA89886AE1448B7F56845E636E0 /* TextFormatter.swift */; }; 5DBFB9A0499F04CBE806486211A4ABD0 /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AB1B5C574EC29B2A222C6281A4A0B3BC /* SnapKit-dummy.m */; }; 5F74325318CC62BF95BFAAFDF6E7F8C7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; }; + 698E98D140E5140DFF6792CB6CEBB7A8 /* SumTextInputFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C5ABE8818013614106367856A1B8204 /* SumTextInputFormatter.swift */; }; 6B43F2F53DD6C161CF414A9BF67550C5 /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAA070155DE459F51A650261C10EA9CB /* ConstraintDSL.swift */; }; - 6F59D39C250F7F4588E02E5675FD6717 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E30890A9A841E2E6AE6368B0977ED9D /* String+Extension.swift */; }; 72A3635503C126B9809268B868630039 /* Pods-iOS Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0DF20CED5314A166507DB77D931DB488 /* Pods-iOS Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 72C2B5D60A24B4B663C8994276A962B6 /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91102F716DCE9969F79474488AEA2BFD /* ConstraintOffsetTarget.swift */; }; - 752BAB7B0ACDA949705732272B8B06D0 /* TextFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1FACFE7E66553147A4CB64A7B45450F /* TextFormatter.swift */; }; 77A618FE4FF299682F776C974300EBA1 /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5975457FA577D667D0257900DF1D4FDD /* ConstraintView+Extensions.swift */; }; + 7C68E91512955F3A5219A872945B02D6 /* AnyFormatKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB859FC84EC3D2BB13A7CDDC646FFB3 /* AnyFormatKit-dummy.m */; }; 7ED12926E82C9D1DE457504DA75B80A9 /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00EFECCF7F4E78B3021A97741173FC2F /* LayoutConstraintItem.swift */; }; - 80A6C88A87E0F29D468689B23D4E93A9 /* SumTextInputFormatterCaretPositionCalculator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75486878096C69834DA78C63A3C81EEA /* SumTextInputFormatterCaretPositionCalculator.swift */; }; + 8AE8853A5FE0B61E9ED6526D9E0C2033 /* CaretPositioner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09FFFE1FA525F810FD5119BBB91F4293 /* CaretPositioner.swift */; }; 8B8BE709B46663F60DB6A661A3B2A28A /* ConstraintMakerPriortizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3DD21F59E9ABB6CFA8B14FAEE0B52DA /* ConstraintMakerPriortizable.swift */; }; + 8DC47DF04E2011C4432B16FA20DBF53E /* TextNumberUnformatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92F247371E6255BC03D9B8EB65D3E302 /* TextNumberUnformatter.swift */; }; + 91E0F6B6557CEF0323C8503B36DF19F3 /* FormattedTextValue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BD0C125161AC8F95C8FE74B56F6E230 /* FormattedTextValue.swift */; }; 9432185152350A4A90F6DD19C33AC057 /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00BB2CE9C8C7607CDA3E1B49246B760E /* Debugging.swift */; }; + 96EC0A25F6D48E887CBA611A99AED2D3 /* TextFieldInputController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1D8A0B991FE49CE0B51303F1E9618E1 /* TextFieldInputController.swift */; }; 98AE4E2F24A858A47B5A1B405CEAD8FD /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DCD15E7A2AFE53263B4335C9B3D9813 /* UILayoutSupport+Extensions.swift */; }; - 9913EE4FE98B49097BC7BD362A4D6C42 /* TextFieldPlaceholderInputController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD775D582B1F809692D38D6EB215852F /* TextFieldPlaceholderInputController.swift */; }; + 9D1B830EDB800283F185E0AD9D90BF52 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E30890A9A841E2E6AE6368B0977ED9D /* String+Extension.swift */; }; 9E6184458532BFF2E3E3F804C54BD0E7 /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CACD95C459F4D08F9C1E57893F55090 /* ConstraintDescription.swift */; }; 9EE2D363A721ACFA89B5B899E1987633 /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1F10AA484FE3CE9A074FF4CA855D1C7 /* ConstraintConstantTarget.swift */; }; A04D46C4C48247D004BAE5C7AD6E05A3 /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3499D06B7741051669EFC6E6A929A57 /* ConstraintConfig.swift */; }; A3DEA82F229FDF7C9444CEFEE3D9AB84 /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51566D0AF41FEBB1DD1BB7CA86B07225 /* ConstraintMultiplierTarget.swift */; }; A4070B8C9BD30965648B2876CD3C1C43 /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F2D0C7209EFA17EFECCB8074F0E9071 /* ConstraintAttributes.swift */; }; + A4458D536F7E3A6EBD1385374379188E /* AnyFormatKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C5DF60EA17587666C4BB90CDE927FC2F /* AnyFormatKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; A482F623A133B7E947C01456C779622A /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37F1A25F3C9883F6A0A4428D8AFC44B2 /* ConstraintPriority.swift */; }; - AED2ECA227A775A0C3C420B01B969236 /* SumTextFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC3C5F9DEFC74611BDA2BF38F52B90D9 /* SumTextFormatter.swift */; }; - B6EF2BAE6159872289C194EEFBC910F2 /* UITextView+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DE4ED702EA8CE3408A56D1011222E13 /* UITextView+Extension.swift */; }; - B7B2E0A7C0DF9A941CB056EC3A449C74 /* SumFormatParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1D4936871BF2A50A6935E26EE7AC81B /* SumFormatParser.swift */; }; BCBB3C5E06C23A4EC83720C7F91CF17E /* Pods-iOS Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7780B356081F967441EF8270D372A005 /* Pods-iOS Example-dummy.m */; }; - BED559CBAFC32E7AFCCB990502A5E8CE /* AnyFormatKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C5DF60EA17587666C4BB90CDE927FC2F /* AnyFormatKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; BF7843175A0FB0180B6F4C0249B8874A /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 103B8B35502B427E3F46D5237C681DCB /* LayoutConstraint.swift */; }; C1C2B61E08DAD3B59BA5D82964D39C3C /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C80000E1CA4369B2E82035A1825982D /* ConstraintRelation.swift */; }; C89096F27EB7CAE5D2E2ADB1755A9E22 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; }; - C8ACA701E68EF463D5A2D5FD98414E46 /* TextViewPlaceholderInputController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A4487A0B9B27A03A03F8089CA52B691 /* TextViewPlaceholderInputController.swift */; }; - C9F591B42CF6E239315E9C98A00E76AA /* TextUnformatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D077EA2959E61467322EE67AEABCABAF /* TextUnformatter.swift */; }; CA0FAE669FAB7067D09F7007AD838E19 /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBB01221055BDABDD47999C671F4A9BD /* ConstraintItem.swift */; }; - CE04AB4846FBDE28ADA284C596B1E90A /* TextNumberUnformatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D1BCF1BD74A3CE3B0AD54307F306A0A /* TextNumberUnformatter.swift */; }; + D802FF59CB419D28986A75B22566AB2A /* CaretPositionCorrector.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7D66DA286373EFDC1A300356E8C5A96 /* CaretPositionCorrector.swift */; }; DBB93D3827327B8FB4CFA164C03357E5 /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4230A725EDA6C25944C70BFF90CCC3F4 /* ConstraintLayoutGuide+Extensions.swift */; }; DCCEFF1B52226DE5ABB2D0043442FE61 /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6E9D9A9A36CAC6827C30D02B1B414B /* Constraint.swift */; }; DEC3E541DB551729EC407FA6566CEE54 /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09C2F3330EB4A39DC3B20B40D8981F66 /* ConstraintViewDSL.swift */; }; - DFBB8FD176DBB5E7D681234BF34FB305 /* PlaceholderCaretPositionCalculator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 790E2EA10FAEB2A40916C168CD05B53E /* PlaceholderCaretPositionCalculator.swift */; }; - E3133FBBBC8F7BE9BE771511407B4963 /* PlaceholderTextFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = E93BB69D089FFD33B3A63F193E4F39EB /* PlaceholderTextFormatter.swift */; }; + E2D60F9C8B90D00687104CCBC881D5A1 /* TextNumberFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = F0C874E7DBB0559B399EC25C05E69BD8 /* TextNumberFormatter.swift */; }; E85BBB972867783044ADCD772438150F /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 807F5279ECA1E77BEC4455F1645BF6D7 /* ConstraintRelatableTarget.swift */; }; - EA3A3F0AC87C0EEDBD436C990BA6F4A9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; }; - ED184093D38340FFF23529F042C85B41 /* TextInputFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4D0D29E1846E5C1C23992312D92F358 /* TextInputFormatter.swift */; }; - EF8CFC2625BC80DB227D8CAF230CA7D5 /* DefaultTextInputFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D17D0B8DF75165F453CDE9987BD19CA /* DefaultTextInputFormatter.swift */; }; - F2B8A0EF96C443C2F57B9FE560081BBE /* CaretPositionCorrector.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB3E7B8DBB771E010C97587BF6579D30 /* CaretPositionCorrector.swift */; }; + F3C2B7CF4FE439472773C66705193468 /* UITextView+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DE4ED702EA8CE3408A56D1011222E13 /* UITextView+Extension.swift */; }; F41CA723E31884664B9C032D90EAEF1A /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA5597D051B6350A61151221E8BEE0D0 /* ConstraintInsetTarget.swift */; }; F6C7F81AA5BBC4042A3A78D5EA8E62A4 /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = C89552C29B3090667057D8E56D2C3D81 /* ConstraintLayoutSupportDSL.swift */; }; - F9697422D7B3EB39F2E9AB12E4638CB7 /* CaretPositioner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CAF227156FA034FC034FB25ABB6D6F3 /* CaretPositioner.swift */; }; + F9100B2114F38D59B389E1BE37B45C06 /* TextUnformatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA2AF431C3F923FF27D9CE848F2D418E /* TextUnformatter.swift */; }; + FE870CD8A59CAB3428F845594C07267B /* PlaceholderTextFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 392EC7661744BE6D8A6A3AEE9AD2A529 /* PlaceholderTextFormatter.swift */; }; + FEA0C7F279F4F9E9552F0A56E559D2B1 /* PlaceholderCaretPositionCalculator.swift in Sources */ = {isa = PBXBuildFile; fileRef = A51E7160B9273E0703B102E6422F6D8E /* PlaceholderCaretPositionCalculator.swift */; }; FF0E3F8B3FB568ACBB1BC433D67ED093 /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7478F64EB1BC7B207D2133307B4B5015 /* ConstraintMakerExtendable.swift */; }; + FF210FC5FC8B1BE35FDD41DFF11CC8E0 /* SumTextInputFormatterCaretPositionCalculator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8DFE53CDA91D7144A6EAB2CBF2D06DB /* SumTextInputFormatterCaretPositionCalculator.swift */; }; FFE7A02118B5288BC94F7422D6CFEB3F /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 460FE348E93FFA86EF28B0DE4C0F4A7D /* ConstraintLayoutGuide.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 46B535A53C791BCA7EBF245C0A8F6404 /* PBXContainerItemProxy */ = { + 07BABB7F91DE06890E1245044CF50DED /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 8C07AD7DF8B0F18B7DB12F0D2C1F899D; - remoteInfo = AnyFormatKit; + remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; + remoteInfo = SnapKit; }; - FCA83706F6EF4D6104B1DCE88C21EC53 /* PBXContainerItemProxy */ = { + 72DFC3A2E7FE22053244A630001312C5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; - remoteInfo = SnapKit; + remoteGlobalIDString = 8C07AD7DF8B0F18B7DB12F0D2C1F899D; + remoteInfo = AnyFormatKit; }; /* End PBXContainerItemProxy section */ @@ -97,18 +98,20 @@ 00BB2CE9C8C7607CDA3E1B49246B760E /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Source/Debugging.swift; sourceTree = ""; }; 00EFECCF7F4E78B3021A97741173FC2F /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Source/LayoutConstraintItem.swift; sourceTree = ""; }; 09C2F3330EB4A39DC3B20B40D8981F66 /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Source/ConstraintViewDSL.swift; sourceTree = ""; }; + 09FFFE1FA525F810FD5119BBB91F4293 /* CaretPositioner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CaretPositioner.swift; sourceTree = ""; }; 0DF20CED5314A166507DB77D931DB488 /* Pods-iOS Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-iOS Example-umbrella.h"; sourceTree = ""; }; 103B8B35502B427E3F46D5237C681DCB /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Source/LayoutConstraint.swift; sourceTree = ""; }; 108E091FB1F47D2D16BA4036CD7E4ABB /* Pods-iOS Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-iOS Example-acknowledgements.plist"; sourceTree = ""; }; 137298D24BA24A232DC14CB0DEA3C50B /* Pods-iOS Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-iOS Example-Info.plist"; sourceTree = ""; }; 17AAD06CD54FEFC1D5FADEA5D17559D5 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - 196AB6896DE7344EAB5C840B6978D968 /* DefaultTextFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DefaultTextFormatter.swift; sourceTree = ""; }; 1C81B0C23EADA502AA9895105ACF93AD /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Source/ConstraintInsets.swift; sourceTree = ""; }; 1D29C1B7B810296B19C6DD1E6A1BA9E0 /* AnyFormatKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AnyFormatKit.modulemap; sourceTree = ""; }; 29693EC049D6AC1AE94A7B743D01A9AB /* SnapKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.debug.xcconfig; sourceTree = ""; }; 2C24A49B7D6F08BA6B96F52DFACFC7A9 /* AnyFormatKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AnyFormatKit-prefix.pch"; sourceTree = ""; }; 2C4B5856C0A3F14F6A44C0098A2170BC /* Pods-iOS Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-iOS Example.modulemap"; sourceTree = ""; }; + 323C3F2C3C58806F2F672F7AB9D6A4B4 /* StringCalculator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StringCalculator.swift; sourceTree = ""; }; 37F1A25F3C9883F6A0A4428D8AFC44B2 /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Source/ConstraintPriority.swift; sourceTree = ""; }; + 392EC7661744BE6D8A6A3AEE9AD2A529 /* PlaceholderTextFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaceholderTextFormatter.swift; sourceTree = ""; }; 3B569D02FFB2C8143A71D4511C970AC4 /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = ""; }; 4230A725EDA6C25944C70BFF90CCC3F4 /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Source/ConstraintLayoutGuide+Extensions.swift"; sourceTree = ""; }; 42EDC7C7A525E5D5191CA0B7A731184D /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = ""; }; @@ -116,97 +119,96 @@ 44E5D8786C8A4E1B56D3FCBD432C3814 /* Pods_iOS_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_iOS_Example.framework; path = "Pods-iOS Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 460FE348E93FFA86EF28B0DE4C0F4A7D /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Source/ConstraintLayoutGuide.swift; sourceTree = ""; }; 46F8B378A0D395518DE2DD11AE4B6F98 /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Source/ConstraintMaker.swift; sourceTree = ""; }; - 4D17D0B8DF75165F453CDE9987BD19CA /* DefaultTextInputFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DefaultTextInputFormatter.swift; sourceTree = ""; }; + 47325B955D90684BC8FE5E3B31875C0B /* TextViewStartInputController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextViewStartInputController.swift; sourceTree = ""; }; + 4B2DBE186E8D0847AD009AD29E0FA5F7 /* TextViewInputController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextViewInputController.swift; sourceTree = ""; }; 4DCD15E7A2AFE53263B4335C9B3D9813 /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Source/UILayoutSupport+Extensions.swift"; sourceTree = ""; }; 51566D0AF41FEBB1DD1BB7CA86B07225 /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Source/ConstraintMultiplierTarget.swift; sourceTree = ""; }; - 522CB3A4BDDB1CE66FEDE1623397BD2B /* FormattedTextValue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FormattedTextValue.swift; sourceTree = ""; }; + 54798CEB12C80FA9EC501C358C1B6876 /* SumFormatParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SumFormatParser.swift; sourceTree = ""; }; 5975457FA577D667D0257900DF1D4FDD /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Source/ConstraintView+Extensions.swift"; sourceTree = ""; }; 5BA77DA2702E599745142E6195449764 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - 5DBAB53C833AB26A00C12E4A7859D63D /* TextFieldInputController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextFieldInputController.swift; sourceTree = ""; }; + 616651330CD0565C7EA79BD81E372BC7 /* SumTextFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SumTextFormatter.swift; sourceTree = ""; }; 6199B0E33536DD7E23A71C2A1DFA3CB3 /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Source/ConstraintPriorityTarget.swift; sourceTree = ""; }; + 6BD0C125161AC8F95C8FE74B56F6E230 /* FormattedTextValue.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FormattedTextValue.swift; sourceTree = ""; }; 6CACD95C459F4D08F9C1E57893F55090 /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Source/ConstraintDescription.swift; sourceTree = ""; }; 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 73F6D6395A65C442BDF0912FD4DED989 /* AnyFormatKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AnyFormatKit.framework; path = AnyFormatKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7413D1E3B3849A8B98CECBCB1E3EA510 /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Source/ConstraintLayoutGuideDSL.swift; sourceTree = ""; }; 742071112C81977771B23F71CA67B692 /* AnyFormatKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AnyFormatKit.release.xcconfig; sourceTree = ""; }; 7478F64EB1BC7B207D2133307B4B5015 /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Source/ConstraintMakerExtendable.swift; sourceTree = ""; }; - 75486878096C69834DA78C63A3C81EEA /* SumTextInputFormatterCaretPositionCalculator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SumTextInputFormatterCaretPositionCalculator.swift; sourceTree = ""; }; 766CC484A3E4DD46665D9EF06679B007 /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Source/ConstraintMakerEditable.swift; sourceTree = ""; }; - 777CABB9D44D711A0DF01840F8CDCA3A /* PlaceholderTextInputFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaceholderTextInputFormatter.swift; sourceTree = ""; }; 7780B356081F967441EF8270D372A005 /* Pods-iOS Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-iOS Example-dummy.m"; sourceTree = ""; }; - 790E2EA10FAEB2A40916C168CD05B53E /* PlaceholderCaretPositionCalculator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaceholderCaretPositionCalculator.swift; sourceTree = ""; }; 7A3284DB6C9BFEF88606695BBC11E150 /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Source/ConstraintView.swift; sourceTree = ""; }; 7BB97E4E18DB2EB1292AF59A08C7C347 /* Pods-iOS Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-iOS Example-acknowledgements.markdown"; sourceTree = ""; }; - 7CAF227156FA034FC034FB25ABB6D6F3 /* CaretPositioner.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CaretPositioner.swift; sourceTree = ""; }; - 7D1BCF1BD74A3CE3B0AD54307F306A0A /* TextNumberUnformatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextNumberUnformatter.swift; sourceTree = ""; }; 7DAD8F9F8B11AF3A95F30A13D20719C1 /* Pods-iOS Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-iOS Example.debug.xcconfig"; sourceTree = ""; }; 807F5279ECA1E77BEC4455F1645BF6D7 /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Source/ConstraintRelatableTarget.swift; sourceTree = ""; }; 80C95FFA529EDAF80262D783C29BABF1 /* AnyFormatKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AnyFormatKit.debug.xcconfig; sourceTree = ""; }; 848E9BA38AE7A77B37C78B343E836974 /* SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SnapKit-Info.plist"; sourceTree = ""; }; + 8C5ABE8818013614106367856A1B8204 /* SumTextInputFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SumTextInputFormatter.swift; sourceTree = ""; }; 8C80000E1CA4369B2E82035A1825982D /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Source/ConstraintRelation.swift; sourceTree = ""; }; 8DE4ED702EA8CE3408A56D1011222E13 /* UITextView+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UITextView+Extension.swift"; sourceTree = ""; }; 8F2D0C7209EFA17EFECCB8074F0E9071 /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Source/ConstraintAttributes.swift; sourceTree = ""; }; - 8F42B51244A64E7DB9B1F0B5519C1BB6 /* StringCalculator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StringCalculator.swift; sourceTree = ""; }; 91102F716DCE9969F79474488AEA2BFD /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Source/ConstraintOffsetTarget.swift; sourceTree = ""; }; + 92F247371E6255BC03D9B8EB65D3E302 /* TextNumberUnformatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextNumberUnformatter.swift; sourceTree = ""; }; 979486118B3E90C08386079D57962701 /* SnapKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapKit.framework; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9A4487A0B9B27A03A03F8089CA52B691 /* TextViewPlaceholderInputController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextViewPlaceholderInputController.swift; sourceTree = ""; }; 9AF6036FB4A11AF1C6470AFA842D2E63 /* Pods-iOS Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-iOS Example.release.xcconfig"; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 9E30890A9A841E2E6AE6368B0977ED9D /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "String+Extension.swift"; sourceTree = ""; }; A3499D06B7741051669EFC6E6A929A57 /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Source/ConstraintConfig.swift; sourceTree = ""; }; - A4210DB8C28479A9AEE2056D9B32AFDE /* SumTextInputFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SumTextInputFormatter.swift; sourceTree = ""; }; + A51E7160B9273E0703B102E6422F6D8E /* PlaceholderCaretPositionCalculator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaceholderCaretPositionCalculator.swift; sourceTree = ""; }; AB1B5C574EC29B2A222C6281A4A0B3BC /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = ""; }; AD6E9D9A9A36CAC6827C30D02B1B414B /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Source/Constraint.swift; sourceTree = ""; }; + B7D66DA286373EFDC1A300356E8C5A96 /* CaretPositionCorrector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CaretPositionCorrector.swift; sourceTree = ""; }; B8BEF98EFE5AA5B53394A45BAC472945 /* SnapKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.release.xcconfig; sourceTree = ""; }; B9862B55F765F90CB66019F6C44ADBC0 /* Pods-iOS Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-iOS Example-frameworks.sh"; sourceTree = ""; }; BAA070155DE459F51A650261C10EA9CB /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Source/ConstraintDSL.swift; sourceTree = ""; }; - BED0C8BE8B33D38AB687AB73E6C51822 /* TextViewInputController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextViewInputController.swift; sourceTree = ""; }; + BE1B80AD13F8132DEF77041032418CCA /* DefaultTextInputFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DefaultTextInputFormatter.swift; sourceTree = ""; }; C5DF60EA17587666C4BB90CDE927FC2F /* AnyFormatKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AnyFormatKit-umbrella.h"; sourceTree = ""; }; C89552C29B3090667057D8E56D2C3D81 /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Source/ConstraintLayoutSupportDSL.swift; sourceTree = ""; }; C8D6B4E640B3D09C454814F36856E2EE /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Source/ConstraintLayoutSupport.swift; sourceTree = ""; }; - CD775D582B1F809692D38D6EB215852F /* TextFieldPlaceholderInputController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextFieldPlaceholderInputController.swift; sourceTree = ""; }; - D077EA2959E61467322EE67AEABCABAF /* TextUnformatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextUnformatter.swift; sourceTree = ""; }; D0D8610217E033F12A628571FD3D1684 /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Source/Typealiases.swift; sourceTree = ""; }; - D1D4936871BF2A50A6935E26EE7AC81B /* SumFormatParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SumFormatParser.swift; sourceTree = ""; }; - D1FACFE7E66553147A4CB64A7B45450F /* TextFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextFormatter.swift; sourceTree = ""; }; + D1D8A0B991FE49CE0B51303F1E9618E1 /* TextFieldInputController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextFieldInputController.swift; sourceTree = ""; }; D312BCD7682CF9565EE03D0CF4C79A45 /* UITextField+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UITextField+Extension.swift"; sourceTree = ""; }; D3DD21F59E9ABB6CFA8B14FAEE0B52DA /* ConstraintMakerPriortizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPriortizable.swift; path = Source/ConstraintMakerPriortizable.swift; sourceTree = ""; }; - D4D0D29E1846E5C1C23992312D92F358 /* TextInputFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextInputFormatter.swift; sourceTree = ""; }; + D7AC6494F40BC245F0E1CFDB1B178DB4 /* TextFieldStartInputController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextFieldStartInputController.swift; sourceTree = ""; }; + DA2AF431C3F923FF27D9CE848F2D418E /* TextUnformatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextUnformatter.swift; sourceTree = ""; }; DA5597D051B6350A61151221E8BEE0D0 /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Source/ConstraintInsetTarget.swift; sourceTree = ""; }; - DB3E7B8DBB771E010C97587BF6579D30 /* CaretPositionCorrector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CaretPositionCorrector.swift; sourceTree = ""; }; DBB01221055BDABDD47999C671F4A9BD /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Source/ConstraintItem.swift; sourceTree = ""; }; + DCA057D4652D35D36898B2BB794EDFB5 /* PlaceholderTextInputFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaceholderTextInputFormatter.swift; sourceTree = ""; }; DEB859FC84EC3D2BB13A7CDDC646FFB3 /* AnyFormatKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AnyFormatKit-dummy.m"; sourceTree = ""; }; E1F10AA484FE3CE9A074FF4CA855D1C7 /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Source/ConstraintConstantTarget.swift; sourceTree = ""; }; E2070246046EC94EF1396AC30E3FC5E8 /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapKit.modulemap; sourceTree = ""; }; E5B2D3E50DC675275AF478EC9687ED7E /* AnyFormatKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = AnyFormatKit.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + E7609DA89886AE1448B7F56845E636E0 /* TextFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextFormatter.swift; sourceTree = ""; }; + E8680064D4164DB7EAAD39F6CFBFCB27 /* DefaultTextFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DefaultTextFormatter.swift; sourceTree = ""; }; E887F5BC85E664CAF1EAD58DB6EF027D /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Source/ConstraintMakerRelatable.swift; sourceTree = ""; }; - E93BB69D089FFD33B3A63F193E4F39EB /* PlaceholderTextFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlaceholderTextFormatter.swift; sourceTree = ""; }; - EC3C5F9DEFC74611BDA2BF38F52B90D9 /* SumTextFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SumTextFormatter.swift; sourceTree = ""; }; + F0C874E7DBB0559B399EC25C05E69BD8 /* TextNumberFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextNumberFormatter.swift; sourceTree = ""; }; + F58F5330C796A29B67D65B4775FFB125 /* TextInputFormatter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextInputFormatter.swift; sourceTree = ""; }; + F8DFE53CDA91D7144A6EAB2CBF2D06DB /* SumTextInputFormatterCaretPositionCalculator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SumTextInputFormatterCaretPositionCalculator.swift; sourceTree = ""; }; FB3146B382C3292E28917B8CF4356923 /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Source/ConstraintMakerFinalizable.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 09578666EC720727D189C31266DB8D42 /* Frameworks */ = { + 2BEED36A9DD6C2E0CB8075F174B6E6CA /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EA3A3F0AC87C0EEDBD436C990BA6F4A9 /* Foundation.framework in Frameworks */, + 5F74325318CC62BF95BFAAFDF6E7F8C7 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2BEED36A9DD6C2E0CB8075F174B6E6CA /* Frameworks */ = { + 73A173863657894A01CB54BA862DDBBA /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5F74325318CC62BF95BFAAFDF6E7F8C7 /* Foundation.framework in Frameworks */, + C89096F27EB7CAE5D2E2ADB1755A9E22 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 73A173863657894A01CB54BA862DDBBA /* Frameworks */ = { + C8B8C177EFD1F646A596D24FE302DF23 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C89096F27EB7CAE5D2E2ADB1755A9E22 /* Foundation.framework in Frameworks */, + 0E8D2283FB687B02FB0945A8000FE34C /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -216,8 +218,8 @@ 0738E8206A1D81C9DE680D43523A663D /* Controllers */ = { isa = PBXGroup; children = ( - 67BADF6821FD83C465685F6CF6E3A1B9 /* TextFieldControllers */, - D885737D256A6BC4FFBAECEB31EB7813 /* TextViewControllers */, + 642C8B18DD2FACE04BA0865D435CE247 /* TextFieldControllers */, + EC8F9CD5D6DBB1B075E4C6E1F747F41E /* TextViewControllers */, ); name = Controllers; path = Source/Controllers; @@ -231,14 +233,14 @@ name = "Development Pods"; sourceTree = ""; }; - 283007629C3219925F0CE0CEB984A814 /* DefaultFormatters */ = { + 13996092B0E553D66749A4BE42E0A4D4 /* PlaceholderFormatters */ = { isa = PBXGroup; children = ( - 744B190D38C5EF6422559BA982955B38 /* Formatters */, - 5A7C2977B3C39BC739BD13C31407CAD6 /* Helpers */, + 8ECE3F2BE1563C4336B279D75F10948D /* Formatters */, + FF698CFB18E49D721437E911B3E67AF8 /* Helpers */, ); - name = DefaultFormatters; - path = DefaultFormatters; + name = PlaceholderFormatters; + path = PlaceholderFormatters; sourceTree = ""; }; 2C1CE9B208ABEC075671F7D45964CC80 /* AnyFormatKit */ = { @@ -248,7 +250,7 @@ 344858355A279CCD0EFF2EBF8AA6050E /* Extensions */, 8FF843D47732503DD0C73CA5900DC1B8 /* Pod */, 49400D3D23C48D70100DECEE10C66F6A /* Support Files */, - D91780064C3293447D56BF94897F1224 /* TextFormatter */, + 79B1770B3835CD0C2CAF9ABCD3E8882D /* TextFormatter */, ); name = AnyFormatKit; path = ../..; @@ -288,6 +290,16 @@ path = "Example/Pods/Target Support Files/AnyFormatKit"; sourceTree = ""; }; + 506724E52A2A65FD6168E526B7BA83F7 /* DefaultFormatters */ = { + isa = PBXGroup; + children = ( + 6ED508BFD8A91A72ACFEFBD4C0B77071 /* Formatters */, + 9E45ACAFBB3F004A91F6B599F61E5742 /* Helpers */, + ); + name = DefaultFormatters; + path = DefaultFormatters; + sourceTree = ""; + }; 53DA492A91420834C4122C405C51348A /* Products */ = { isa = PBXGroup; children = ( @@ -306,62 +318,53 @@ name = iOS; sourceTree = ""; }; - 5A7C2977B3C39BC739BD13C31407CAD6 /* Helpers */ = { + 5787448BDE6F343DEAC4FAA26E59454C /* SumFormatters */ = { isa = PBXGroup; children = ( - DB3E7B8DBB771E010C97587BF6579D30 /* CaretPositionCorrector.swift */, - 8F42B51244A64E7DB9B1F0B5519C1BB6 /* StringCalculator.swift */, - ); - name = Helpers; - path = Helpers; - sourceTree = ""; - }; - 5B6B32A397F3D630B7F7FA6B9FA1662B /* SumFormatters */ = { - isa = PBXGroup; - children = ( - C99037787F04DF43BA8F1A596E4304DF /* Formatters */, - 6A71AC21AFE7582DD267C253923014D6 /* Helpers */, + 91B2CAA606CFBB3ACE0694AD9B8514F5 /* Formatters */, + C359880747B7BE8D10C6B8FFCF4E526E /* Helpers */, ); name = SumFormatters; path = SumFormatters; sourceTree = ""; }; - 5DA271F1D89541EEC0D442838D47AFD7 /* PlaceholderFormatters */ = { + 642C8B18DD2FACE04BA0865D435CE247 /* TextFieldControllers */ = { isa = PBXGroup; children = ( - 9058D3394E54BC691CB3238FB94A243B /* Formatters */, - A8C823CD4D689D4E4D9592133555FA7B /* Helpers */, + D1D8A0B991FE49CE0B51303F1E9618E1 /* TextFieldInputController.swift */, + D7AC6494F40BC245F0E1CFDB1B178DB4 /* TextFieldStartInputController.swift */, ); - name = PlaceholderFormatters; - path = PlaceholderFormatters; + name = TextFieldControllers; + path = TextFieldControllers; sourceTree = ""; }; - 67BADF6821FD83C465685F6CF6E3A1B9 /* TextFieldControllers */ = { + 6ED508BFD8A91A72ACFEFBD4C0B77071 /* Formatters */ = { isa = PBXGroup; children = ( - 5DBAB53C833AB26A00C12E4A7859D63D /* TextFieldInputController.swift */, - CD775D582B1F809692D38D6EB215852F /* TextFieldPlaceholderInputController.swift */, + E8680064D4164DB7EAAD39F6CFBFCB27 /* DefaultTextFormatter.swift */, + BE1B80AD13F8132DEF77041032418CCA /* DefaultTextInputFormatter.swift */, ); - name = TextFieldControllers; - path = TextFieldControllers; + name = Formatters; + path = Formatters; sourceTree = ""; }; - 6A71AC21AFE7582DD267C253923014D6 /* Helpers */ = { + 79B1770B3835CD0C2CAF9ABCD3E8882D /* TextFormatter */ = { isa = PBXGroup; children = ( - D1D4936871BF2A50A6935E26EE7AC81B /* SumFormatParser.swift */, - 75486878096C69834DA78C63A3C81EEA /* SumTextInputFormatterCaretPositionCalculator.swift */, - 7D1BCF1BD74A3CE3B0AD54307F306A0A /* TextNumberUnformatter.swift */, + 506724E52A2A65FD6168E526B7BA83F7 /* DefaultFormatters */, + 13996092B0E553D66749A4BE42E0A4D4 /* PlaceholderFormatters */, + 5787448BDE6F343DEAC4FAA26E59454C /* SumFormatters */, + AD50F6FBE347981F31A4A6D452EE678A /* TextFormatter */, ); - name = Helpers; - path = Helpers; + name = TextFormatter; + path = Source/TextFormatter; sourceTree = ""; }; - 744B190D38C5EF6422559BA982955B38 /* Formatters */ = { + 8ECE3F2BE1563C4336B279D75F10948D /* Formatters */ = { isa = PBXGroup; children = ( - 196AB6896DE7344EAB5C840B6978D968 /* DefaultTextFormatter.swift */, - 4D17D0B8DF75165F453CDE9987BD19CA /* DefaultTextInputFormatter.swift */, + 392EC7661744BE6D8A6A3AEE9AD2A529 /* PlaceholderTextFormatter.swift */, + DCA057D4652D35D36898B2BB794EDFB5 /* PlaceholderTextInputFormatter.swift */, ); name = Formatters; path = Formatters; @@ -377,41 +380,57 @@ name = Pod; sourceTree = ""; }; - 9058D3394E54BC691CB3238FB94A243B /* Formatters */ = { + 91B2CAA606CFBB3ACE0694AD9B8514F5 /* Formatters */ = { isa = PBXGroup; children = ( - E93BB69D089FFD33B3A63F193E4F39EB /* PlaceholderTextFormatter.swift */, - 777CABB9D44D711A0DF01840F8CDCA3A /* PlaceholderTextInputFormatter.swift */, + 616651330CD0565C7EA79BD81E372BC7 /* SumTextFormatter.swift */, + 8C5ABE8818013614106367856A1B8204 /* SumTextInputFormatter.swift */, ); name = Formatters; path = Formatters; sourceTree = ""; }; - A8C823CD4D689D4E4D9592133555FA7B /* Helpers */ = { + 9E45ACAFBB3F004A91F6B599F61E5742 /* Helpers */ = { isa = PBXGroup; children = ( - 790E2EA10FAEB2A40916C168CD05B53E /* PlaceholderCaretPositionCalculator.swift */, + B7D66DA286373EFDC1A300356E8C5A96 /* CaretPositionCorrector.swift */, + 323C3F2C3C58806F2F672F7AB9D6A4B4 /* StringCalculator.swift */, ); name = Helpers; path = Helpers; sourceTree = ""; }; - C97F3E302F76EA0C9FD3CD02763DA6D6 /* Targets Support Files */ = { + AD50F6FBE347981F31A4A6D452EE678A /* TextFormatter */ = { isa = PBXGroup; children = ( - E008CA7CCF1D2BE29B2EEA3406CCF535 /* Pods-iOS Example */, + 09FFFE1FA525F810FD5119BBB91F4293 /* CaretPositioner.swift */, + 6BD0C125161AC8F95C8FE74B56F6E230 /* FormattedTextValue.swift */, + E7609DA89886AE1448B7F56845E636E0 /* TextFormatter.swift */, + F58F5330C796A29B67D65B4775FFB125 /* TextInputFormatter.swift */, + F0C874E7DBB0559B399EC25C05E69BD8 /* TextNumberFormatter.swift */, + 92F247371E6255BC03D9B8EB65D3E302 /* TextNumberUnformatter.swift */, + DA2AF431C3F923FF27D9CE848F2D418E /* TextUnformatter.swift */, ); - name = "Targets Support Files"; + name = TextFormatter; + path = TextFormatter; sourceTree = ""; }; - C99037787F04DF43BA8F1A596E4304DF /* Formatters */ = { + C359880747B7BE8D10C6B8FFCF4E526E /* Helpers */ = { isa = PBXGroup; children = ( - EC3C5F9DEFC74611BDA2BF38F52B90D9 /* SumTextFormatter.swift */, - A4210DB8C28479A9AEE2056D9B32AFDE /* SumTextInputFormatter.swift */, + 54798CEB12C80FA9EC501C358C1B6876 /* SumFormatParser.swift */, + F8DFE53CDA91D7144A6EAB2CBF2D06DB /* SumTextInputFormatterCaretPositionCalculator.swift */, ); - name = Formatters; - path = Formatters; + name = Helpers; + path = Helpers; + sourceTree = ""; + }; + C97F3E302F76EA0C9FD3CD02763DA6D6 /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + E008CA7CCF1D2BE29B2EEA3406CCF535 /* Pods-iOS Example */, + ); + name = "Targets Support Files"; sourceTree = ""; }; CA51EB6A266DFF60E2669DC4F20AE5DD /* SnapKit */ = { @@ -492,28 +511,6 @@ path = "../Target Support Files/SnapKit"; sourceTree = ""; }; - D885737D256A6BC4FFBAECEB31EB7813 /* TextViewControllers */ = { - isa = PBXGroup; - children = ( - BED0C8BE8B33D38AB687AB73E6C51822 /* TextViewInputController.swift */, - 9A4487A0B9B27A03A03F8089CA52B691 /* TextViewPlaceholderInputController.swift */, - ); - name = TextViewControllers; - path = TextViewControllers; - sourceTree = ""; - }; - D91780064C3293447D56BF94897F1224 /* TextFormatter */ = { - isa = PBXGroup; - children = ( - 283007629C3219925F0CE0CEB984A814 /* DefaultFormatters */, - 5DA271F1D89541EEC0D442838D47AFD7 /* PlaceholderFormatters */, - 5B6B32A397F3D630B7F7FA6B9FA1662B /* SumFormatters */, - F41DCEC02A686D1CAD8C86968E82BE37 /* TextFormatter */, - ); - name = TextFormatter; - path = Source/TextFormatter; - sourceTree = ""; - }; E008CA7CCF1D2BE29B2EEA3406CCF535 /* Pods-iOS Example */ = { isa = PBXGroup; children = ( @@ -531,17 +528,23 @@ path = "Target Support Files/Pods-iOS Example"; sourceTree = ""; }; - F41DCEC02A686D1CAD8C86968E82BE37 /* TextFormatter */ = { + EC8F9CD5D6DBB1B075E4C6E1F747F41E /* TextViewControllers */ = { isa = PBXGroup; children = ( - 7CAF227156FA034FC034FB25ABB6D6F3 /* CaretPositioner.swift */, - 522CB3A4BDDB1CE66FEDE1623397BD2B /* FormattedTextValue.swift */, - D1FACFE7E66553147A4CB64A7B45450F /* TextFormatter.swift */, - D4D0D29E1846E5C1C23992312D92F358 /* TextInputFormatter.swift */, - D077EA2959E61467322EE67AEABCABAF /* TextUnformatter.swift */, + 4B2DBE186E8D0847AD009AD29E0FA5F7 /* TextViewInputController.swift */, + 47325B955D90684BC8FE5E3B31875C0B /* TextViewStartInputController.swift */, ); - name = TextFormatter; - path = TextFormatter; + name = TextViewControllers; + path = TextViewControllers; + sourceTree = ""; + }; + FF698CFB18E49D721437E911B3E67AF8 /* Helpers */ = { + isa = PBXGroup; + children = ( + A51E7160B9273E0703B102E6422F6D8E /* PlaceholderCaretPositionCalculator.swift */, + ); + name = Helpers; + path = Helpers; sourceTree = ""; }; /* End PBXGroup section */ @@ -563,11 +566,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 7B1A495AB8B4047202DCE01996C53FD6 /* Headers */ = { + E8D91F765F7244F05A3EFDA2FB3A1AFA /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - BED559CBAFC32E7AFCCB990502A5E8CE /* AnyFormatKit-umbrella.h in Headers */, + A4458D536F7E3A6EBD1385374379188E /* AnyFormatKit-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -594,12 +597,12 @@ }; 8C07AD7DF8B0F18B7DB12F0D2C1F899D /* AnyFormatKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 0120579BD3CA2757B4C95DDE8EEA034E /* Build configuration list for PBXNativeTarget "AnyFormatKit" */; + buildConfigurationList = 28B31DB29AF907AB0441E388CB7071E1 /* Build configuration list for PBXNativeTarget "AnyFormatKit" */; buildPhases = ( - 7B1A495AB8B4047202DCE01996C53FD6 /* Headers */, - 0122FC9B29AF18A363085377AE751BFC /* Sources */, - 09578666EC720727D189C31266DB8D42 /* Frameworks */, - EAA97F8B48FFC4F9BA5A091EAB5515A6 /* Resources */, + E8D91F765F7244F05A3EFDA2FB3A1AFA /* Headers */, + 4658FC3C6F93DC69F453D0F6328B1516 /* Sources */, + C8B8C177EFD1F646A596D24FE302DF23 /* Frameworks */, + 83940C642A8CE68808F57E8015F9FCBC /* Resources */, ); buildRules = ( ); @@ -622,8 +625,8 @@ buildRules = ( ); dependencies = ( - 0C0D779005EFE3AAE5AA9A2D668F4566 /* PBXTargetDependency */, - 8CB23D68B2332CC58779EB1BE28E3393 /* PBXTargetDependency */, + 9D1111B412D44E141762C911C5601BAD /* PBXTargetDependency */, + 299816CD75BA27BBB8E7A0E955F52526 /* PBXTargetDependency */, ); name = "Pods-iOS Example"; productName = "Pods-iOS Example"; @@ -667,14 +670,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 9CAB8A66E406C98051B438DE84556CF6 /* Resources */ = { + 83940C642A8CE68808F57E8015F9FCBC /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - EAA97F8B48FFC4F9BA5A091EAB5515A6 /* Resources */ = { + 9CAB8A66E406C98051B438DE84556CF6 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -684,35 +687,36 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 0122FC9B29AF18A363085377AE751BFC /* Sources */ = { + 4658FC3C6F93DC69F453D0F6328B1516 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 0BBB1A441A5AB794CE32D306441D1671 /* AnyFormatKit-dummy.m in Sources */, - F2B8A0EF96C443C2F57B9FE560081BBE /* CaretPositionCorrector.swift in Sources */, - F9697422D7B3EB39F2E9AB12E4638CB7 /* CaretPositioner.swift in Sources */, - 30BC860539D7CA8ACD684D6CB653464D /* DefaultTextFormatter.swift in Sources */, - EF8CFC2625BC80DB227D8CAF230CA7D5 /* DefaultTextInputFormatter.swift in Sources */, - 42665EE1AAF211CC28AFDBE163D2C4AF /* FormattedTextValue.swift in Sources */, - DFBB8FD176DBB5E7D681234BF34FB305 /* PlaceholderCaretPositionCalculator.swift in Sources */, - E3133FBBBC8F7BE9BE771511407B4963 /* PlaceholderTextFormatter.swift in Sources */, - 07165DB3459CCFE784956D2D204FD293 /* PlaceholderTextInputFormatter.swift in Sources */, - 6F59D39C250F7F4588E02E5675FD6717 /* String+Extension.swift in Sources */, - 55A721A8A943EDF382173B7A365E1DD2 /* StringCalculator.swift in Sources */, - B7B2E0A7C0DF9A941CB056EC3A449C74 /* SumFormatParser.swift in Sources */, - AED2ECA227A775A0C3C420B01B969236 /* SumTextFormatter.swift in Sources */, - 26689A5702DCAF57F5F0FCEE2423CF75 /* SumTextInputFormatter.swift in Sources */, - 80A6C88A87E0F29D468689B23D4E93A9 /* SumTextInputFormatterCaretPositionCalculator.swift in Sources */, - 4A11B18A367C7B98CC9887A4FCB52F16 /* TextFieldInputController.swift in Sources */, - 9913EE4FE98B49097BC7BD362A4D6C42 /* TextFieldPlaceholderInputController.swift in Sources */, - 752BAB7B0ACDA949705732272B8B06D0 /* TextFormatter.swift in Sources */, - ED184093D38340FFF23529F042C85B41 /* TextInputFormatter.swift in Sources */, - CE04AB4846FBDE28ADA284C596B1E90A /* TextNumberUnformatter.swift in Sources */, - C9F591B42CF6E239315E9C98A00E76AA /* TextUnformatter.swift in Sources */, - 361233DD33957926EB9ADA2A5DE29E4F /* TextViewInputController.swift in Sources */, - C8ACA701E68EF463D5A2D5FD98414E46 /* TextViewPlaceholderInputController.swift in Sources */, - 480FB3661BCCF31FB3C274F8A4F96D71 /* UITextField+Extension.swift in Sources */, - B6EF2BAE6159872289C194EEFBC910F2 /* UITextView+Extension.swift in Sources */, + 7C68E91512955F3A5219A872945B02D6 /* AnyFormatKit-dummy.m in Sources */, + D802FF59CB419D28986A75B22566AB2A /* CaretPositionCorrector.swift in Sources */, + 8AE8853A5FE0B61E9ED6526D9E0C2033 /* CaretPositioner.swift in Sources */, + 4D75359D184830D842CF000C548E10DA /* DefaultTextFormatter.swift in Sources */, + 3B0F46F28DC808DA869D7CF265727CAA /* DefaultTextInputFormatter.swift in Sources */, + 91E0F6B6557CEF0323C8503B36DF19F3 /* FormattedTextValue.swift in Sources */, + FEA0C7F279F4F9E9552F0A56E559D2B1 /* PlaceholderCaretPositionCalculator.swift in Sources */, + FE870CD8A59CAB3428F845594C07267B /* PlaceholderTextFormatter.swift in Sources */, + 40CDA828DA94C1777F2B7B637EBB71E5 /* PlaceholderTextInputFormatter.swift in Sources */, + 9D1B830EDB800283F185E0AD9D90BF52 /* String+Extension.swift in Sources */, + 17B7CFB549A7D79A8EDFE58BDD9577AE /* StringCalculator.swift in Sources */, + 0ABB0107E861D79AD0B2855998160063 /* SumFormatParser.swift in Sources */, + 4E89CBEC66C4683C6DD32BB33DDFC952 /* SumTextFormatter.swift in Sources */, + 698E98D140E5140DFF6792CB6CEBB7A8 /* SumTextInputFormatter.swift in Sources */, + FF210FC5FC8B1BE35FDD41DFF11CC8E0 /* SumTextInputFormatterCaretPositionCalculator.swift in Sources */, + 96EC0A25F6D48E887CBA611A99AED2D3 /* TextFieldInputController.swift in Sources */, + 0AAC2D3952A06B4096E4722AE844209B /* TextFieldStartInputController.swift in Sources */, + 5C4FA0DE0D1AF517884A54DE6829F5C9 /* TextFormatter.swift in Sources */, + 27D7537B71EC50623C634B79262CBFDF /* TextInputFormatter.swift in Sources */, + E2D60F9C8B90D00687104CCBC881D5A1 /* TextNumberFormatter.swift in Sources */, + 8DC47DF04E2011C4432B16FA20DBF53E /* TextNumberUnformatter.swift in Sources */, + F9100B2114F38D59B389E1BE37B45C06 /* TextUnformatter.swift in Sources */, + 3420FACF55EF103468D343F8D989F0A7 /* TextViewInputController.swift in Sources */, + 5322C9F3D7D1CE440B7388368EEB56A3 /* TextViewStartInputController.swift in Sources */, + 291CEAC254504D27A16FB088D7AE71A1 /* UITextField+Extension.swift in Sources */, + F3C2B7CF4FE439472773C66705193468 /* UITextView+Extension.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -769,17 +773,17 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0C0D779005EFE3AAE5AA9A2D668F4566 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = AnyFormatKit; - target = 8C07AD7DF8B0F18B7DB12F0D2C1F899D /* AnyFormatKit */; - targetProxy = 46B535A53C791BCA7EBF245C0A8F6404 /* PBXContainerItemProxy */; - }; - 8CB23D68B2332CC58779EB1BE28E3393 /* PBXTargetDependency */ = { + 299816CD75BA27BBB8E7A0E955F52526 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SnapKit; target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */; - targetProxy = FCA83706F6EF4D6104B1DCE88C21EC53 /* PBXContainerItemProxy */; + targetProxy = 07BABB7F91DE06890E1245044CF50DED /* PBXContainerItemProxy */; + }; + 9D1111B412D44E141762C911C5601BAD /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AnyFormatKit; + target = 8C07AD7DF8B0F18B7DB12F0D2C1F899D /* AnyFormatKit */; + targetProxy = 72DFC3A2E7FE22053244A630001312C5 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -816,7 +820,7 @@ }; name = Debug; }; - 546E5A44F1C4C62E7FDC4151A97B2836 /* Release */ = { + 629B34937F2FC60BA5121A93F6C49FE6 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 742071112C81977771B23F71CA67B692 /* AnyFormatKit.release.xcconfig */; buildSettings = { @@ -847,36 +851,6 @@ }; name = Release; }; - 5C355D0451490E319B3E3F22493648DC /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 80C95FFA529EDAF80262D783C29BABF1 /* AnyFormatKit.debug.xcconfig */; - buildSettings = { - "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/AnyFormatKit/AnyFormatKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AnyFormatKit/AnyFormatKit-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AnyFormatKit/AnyFormatKit.modulemap"; - PRODUCT_MODULE_NAME = AnyFormatKit; - PRODUCT_NAME = AnyFormatKit; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; 6D42DC62C4F2E194221DF89C48496C98 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1099,14 +1073,44 @@ }; name = Debug; }; + E8F6D82565893ACB21659782D95B65FF /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 80C95FFA529EDAF80262D783C29BABF1 /* AnyFormatKit.debug.xcconfig */; + buildSettings = { + "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/AnyFormatKit/AnyFormatKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AnyFormatKit/AnyFormatKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/AnyFormatKit/AnyFormatKit.modulemap"; + PRODUCT_MODULE_NAME = AnyFormatKit; + PRODUCT_NAME = AnyFormatKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 0120579BD3CA2757B4C95DDE8EEA034E /* Build configuration list for PBXNativeTarget "AnyFormatKit" */ = { + 28B31DB29AF907AB0441E388CB7071E1 /* Build configuration list for PBXNativeTarget "AnyFormatKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5C355D0451490E319B3E3F22493648DC /* Debug */, - 546E5A44F1C4C62E7FDC4151A97B2836 /* Release */, + E8F6D82565893ACB21659782D95B65FF /* Debug */, + 629B34937F2FC60BA5121A93F6C49FE6 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Target Support Files/AnyFormatKit/AnyFormatKit-Info.plist b/Example/Pods/Target Support Files/AnyFormatKit/AnyFormatKit-Info.plist index 0816e96..d135faf 100644 --- a/Example/Pods/Target Support Files/AnyFormatKit/AnyFormatKit-Info.plist +++ b/Example/Pods/Target Support Files/AnyFormatKit/AnyFormatKit-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.2.1 + 2.3.0 CFBundleSignature ???? CFBundleVersion diff --git a/Example/iOS Example.xcodeproj/xcshareddata/xcschemes/UIKitExample.xcscheme b/Example/iOS Example.xcodeproj/xcshareddata/xcschemes/UIKitExample.xcscheme new file mode 100644 index 0000000..d8f7c2a --- /dev/null +++ b/Example/iOS Example.xcodeproj/xcshareddata/xcschemes/UIKitExample.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/iOS Example/ExampleViewController.swift b/Example/iOS Example/ExampleViewController.swift index 15d083c..b4aac59 100644 --- a/Example/iOS Example/ExampleViewController.swift +++ b/Example/iOS Example/ExampleViewController.swift @@ -18,9 +18,9 @@ class ExampleViewController: UIViewController { // MARK: - Controllers let phoneNumberInputController = TextFieldInputController() - let cardNumberInputController = TextFieldPlaceholderInputController() - let cardExpirationInputController = TextFieldPlaceholderInputController() - let cardCVVInputController = TextFieldPlaceholderInputController() + let cardNumberInputController = TextFieldStartInputController() + let cardExpirationInputController = TextFieldStartInputController() + let cardCVVInputController = TextFieldStartInputController() let moneyInputController = TextFieldInputController() // MARK: - Formatters diff --git a/README.md b/README.md index 1287d5b..9726d43 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,7 @@ To run the example project, clone the repo and run `pod install` from the Exampl - [AnyFormatKit 0.2.0 MigrationGuide](https://github.com/luximetr/AnyFormatKit/blob/master/Documentation/AnyFormatKit%200.2.0%20MigrationGuide.md) - [AnyFormatKit 1.0.0 MigrationGuide](https://github.com/luximetr/AnyFormatKit/blob/master/Documentation/AnyFormatKit%201.0.0%20MigrationGuide.md) +- [AnyFormatKit 2.4.0 MigrationGuide](https://github.com/luximetr/AnyFormatKit/blob/master/Documentation/AnyFormatKit%202.4.0%20MigrationGuide.md) ## Installation diff --git a/Source/Controllers/TextFieldControllers/TextFieldPlaceholderInputController.swift b/Source/Controllers/TextFieldControllers/TextFieldStartInputController.swift similarity index 88% rename from Source/Controllers/TextFieldControllers/TextFieldPlaceholderInputController.swift rename to Source/Controllers/TextFieldControllers/TextFieldStartInputController.swift index f1fe8a5..ddfd653 100644 --- a/Source/Controllers/TextFieldControllers/TextFieldPlaceholderInputController.swift +++ b/Source/Controllers/TextFieldControllers/TextFieldStartInputController.swift @@ -1,5 +1,5 @@ // -// TextFieldPlaceholderInputController.swift +// TextFieldStartInputController.swift // AnyFormatKit // // Created by Oleksandr Orlov on 27.01.2021. @@ -8,7 +8,7 @@ import UIKit -open class TextFieldPlaceholderInputController: NSObject, UITextFieldDelegate { +open class TextFieldStartInputController: NSObject, UITextFieldDelegate { open var formatter: (TextInputFormatter & CaretPositioner)? diff --git a/Source/Controllers/TextViewControllers/TextViewPlaceholderInputController.swift b/Source/Controllers/TextViewControllers/TextViewStartInputController.swift similarity index 88% rename from Source/Controllers/TextViewControllers/TextViewPlaceholderInputController.swift rename to Source/Controllers/TextViewControllers/TextViewStartInputController.swift index 18ae7fc..fbf09c1 100644 --- a/Source/Controllers/TextViewControllers/TextViewPlaceholderInputController.swift +++ b/Source/Controllers/TextViewControllers/TextViewStartInputController.swift @@ -1,5 +1,5 @@ // -// TextViewPlaceholderInputController.swift +// TextViewStartInputController.swift // AnyFormatKit // // Created by Oleksandr Orlov on 27.01.2021. @@ -8,7 +8,7 @@ import UIKit -class TextViewPlaceholderInputController: NSObject, UITextViewDelegate { +class TextViewStartInputController: NSObject, UITextViewDelegate { open var formatter: (TextInputFormatter & CaretPositioner)? diff --git a/Source/TextFormatter/TextFormatter/TextNumberFormatter.swift b/Source/TextFormatter/TextFormatter/TextNumberFormatter.swift new file mode 100644 index 0000000..25017c9 --- /dev/null +++ b/Source/TextFormatter/TextFormatter/TextNumberFormatter.swift @@ -0,0 +1,13 @@ +// +// TextNumberFormatter.swift +// AnyFormatKit +// +// Created by Oleksandr Orlov on 01.02.2021. +// Copyright © 2021 Oleksandr Orlov. All rights reserved. +// + +import Foundation + +public protocol TextNumberFormatter { + func format(_ number: NSNumber) -> String? +} diff --git a/Source/TextFormatter/SumFormatters/Helpers/TextNumberUnformatter.swift b/Source/TextFormatter/TextFormatter/TextNumberUnformatter.swift similarity index 100% rename from Source/TextFormatter/SumFormatters/Helpers/TextNumberUnformatter.swift rename to Source/TextFormatter/TextFormatter/TextNumberUnformatter.swift