Commit 7e33b382 by Daniel Dahan

master: updated for release 1.8.0

parents c316eea6 f6894a40
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = 'MK' s.name = 'MK'
s.version = '1.7.0' s.version = '1.8.0'
s.license = { :type => "AGPLv3+", :file => "LICENSE" } s.license = { :type => "AGPLv3+", :file => "LICENSE" }
s.summary = 'A Material Design Framework In Swift' s.summary = 'A Material Design Framework In Swift'
s.homepage = 'http://materialkit.io' s.homepage = 'http://materialkit.io'
......
...@@ -7,10 +7,10 @@ ...@@ -7,10 +7,10 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
657CD02A1B8EE0D3008C0029 /* MaterialCard.swift in Headers */ = {isa = PBXBuildFile; fileRef = 9A94D1081B8A3F5100F586A5 /* MaterialCard.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 657CD02A1B8EE0D3008C0029 /* MaterialCardView.swift in Headers */ = {isa = PBXBuildFile; fileRef = 9A94D1081B8A3F5100F586A5 /* MaterialCardView.swift */; settings = {ATTRIBUTES = (Public, ); }; };
657CD02C1B8EE0D3008C0029 /* SideNavController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 65B965861B8BEEC60055B139 /* SideNavController.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 657CD02C1B8EE0D3008C0029 /* SideNavController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 65B965861B8BEEC60055B139 /* SideNavController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
657CD02D1B8EE0D3008C0029 /* MaterialButton.swift in Headers */ = {isa = PBXBuildFile; fileRef = 65B9657D1B8A7C330055B139 /* MaterialButton.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 657CD02D1B8EE0D3008C0029 /* MaterialButton.swift in Headers */ = {isa = PBXBuildFile; fileRef = 65B9657D1B8A7C330055B139 /* MaterialButton.swift */; settings = {ATTRIBUTES = (Public, ); }; };
657CD02F1B8EE0D3008C0029 /* ImageCard.swift in Headers */ = {isa = PBXBuildFile; fileRef = 9A94D10A1B8A485C00F586A5 /* ImageCard.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 657CD02F1B8EE0D3008C0029 /* ImageCardView.swift in Headers */ = {isa = PBXBuildFile; fileRef = 9A94D10A1B8A485C00F586A5 /* ImageCardView.swift */; settings = {ATTRIBUTES = (Public, ); }; };
65B9657E1B8A7C330055B139 /* MaterialButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65B9657D1B8A7C330055B139 /* MaterialButton.swift */; }; 65B9657E1B8A7C330055B139 /* MaterialButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65B9657D1B8A7C330055B139 /* MaterialButton.swift */; };
65B965871B8BEEC60055B139 /* SideNavController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65B965861B8BEEC60055B139 /* SideNavController.swift */; }; 65B965871B8BEEC60055B139 /* SideNavController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65B965861B8BEEC60055B139 /* SideNavController.swift */; };
963832421B88DFD80015F710 /* MaterialKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 963832361B88DFD80015F710 /* MaterialKit.framework */; }; 963832421B88DFD80015F710 /* MaterialKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 963832361B88DFD80015F710 /* MaterialKit.framework */; };
...@@ -20,11 +20,11 @@ ...@@ -20,11 +20,11 @@
9638326B1B88E5BF0015F710 /* FabButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963832601B88E5BF0015F710 /* FabButton.swift */; }; 9638326B1B88E5BF0015F710 /* FabButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963832601B88E5BF0015F710 /* FabButton.swift */; };
9638326C1B88E5BF0015F710 /* FlatButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963832611B88E5BF0015F710 /* FlatButton.swift */; }; 9638326C1B88E5BF0015F710 /* FlatButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963832611B88E5BF0015F710 /* FlatButton.swift */; };
963832701B88E5BF0015F710 /* RaisedButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963832651B88E5BF0015F710 /* RaisedButton.swift */; }; 963832701B88E5BF0015F710 /* RaisedButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963832651B88E5BF0015F710 /* RaisedButton.swift */; };
963832711B88E5BF0015F710 /* Text.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963832661B88E5BF0015F710 /* Text.swift */; }; 963832711B88E5BF0015F710 /* MaterialText.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963832661B88E5BF0015F710 /* MaterialText.swift */; };
963832721B88E5BF0015F710 /* TextStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963832671B88E5BF0015F710 /* TextStorage.swift */; }; 963832721B88E5BF0015F710 /* MaterialTextStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963832671B88E5BF0015F710 /* MaterialTextStorage.swift */; };
963832731B88E5BF0015F710 /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963832681B88E5BF0015F710 /* TextView.swift */; }; 963832731B88E5BF0015F710 /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963832681B88E5BF0015F710 /* TextView.swift */; };
9638327E1B89070E0015F710 /* Text.swift in Headers */ = {isa = PBXBuildFile; fileRef = 963832661B88E5BF0015F710 /* Text.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 9638327E1B89070E0015F710 /* MaterialText.swift in Headers */ = {isa = PBXBuildFile; fileRef = 963832661B88E5BF0015F710 /* MaterialText.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9638327F1B89070E0015F710 /* TextStorage.swift in Headers */ = {isa = PBXBuildFile; fileRef = 963832671B88E5BF0015F710 /* TextStorage.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 9638327F1B89070E0015F710 /* MaterialTextStorage.swift in Headers */ = {isa = PBXBuildFile; fileRef = 963832671B88E5BF0015F710 /* MaterialTextStorage.swift */; settings = {ATTRIBUTES = (Public, ); }; };
963832801B89070E0015F710 /* TextView.swift in Headers */ = {isa = PBXBuildFile; fileRef = 963832681B88E5BF0015F710 /* TextView.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 963832801B89070E0015F710 /* TextView.swift in Headers */ = {isa = PBXBuildFile; fileRef = 963832681B88E5BF0015F710 /* TextView.swift */; settings = {ATTRIBUTES = (Public, ); }; };
963832811B89070E0015F710 /* FabButton.swift in Headers */ = {isa = PBXBuildFile; fileRef = 963832601B88E5BF0015F710 /* FabButton.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 963832811B89070E0015F710 /* FabButton.swift in Headers */ = {isa = PBXBuildFile; fileRef = 963832601B88E5BF0015F710 /* FabButton.swift */; settings = {ATTRIBUTES = (Public, ); }; };
963832821B89070E0015F710 /* FlatButton.swift in Headers */ = {isa = PBXBuildFile; fileRef = 963832611B88E5BF0015F710 /* FlatButton.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 963832821B89070E0015F710 /* FlatButton.swift in Headers */ = {isa = PBXBuildFile; fileRef = 963832611B88E5BF0015F710 /* FlatButton.swift */; settings = {ATTRIBUTES = (Public, ); }; };
...@@ -40,11 +40,11 @@ ...@@ -40,11 +40,11 @@
9A94D0FB1B895EA500F586A5 /* Roboto-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9AAC38591B8956E300FE6B2D /* Roboto-Regular.ttf */; }; 9A94D0FB1B895EA500F586A5 /* Roboto-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9AAC38591B8956E300FE6B2D /* Roboto-Regular.ttf */; };
9A94D0FC1B895EA500F586A5 /* Roboto-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9AAC38571B8956CF00FE6B2D /* Roboto-Medium.ttf */; }; 9A94D0FC1B895EA500F586A5 /* Roboto-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9AAC38571B8956CF00FE6B2D /* Roboto-Medium.ttf */; };
9A94D0FD1B895EA500F586A5 /* Roboto-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9AAC38551B8956C500FE6B2D /* Roboto-Light.ttf */; }; 9A94D0FD1B895EA500F586A5 /* Roboto-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9AAC38551B8956C500FE6B2D /* Roboto-Light.ttf */; };
9A94D1091B8A3F5100F586A5 /* MaterialCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A94D1081B8A3F5100F586A5 /* MaterialCard.swift */; }; 9A94D1091B8A3F5100F586A5 /* MaterialCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A94D1081B8A3F5100F586A5 /* MaterialCardView.swift */; };
9A94D10B1B8A485C00F586A5 /* ImageCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A94D10A1B8A485C00F586A5 /* ImageCard.swift */; }; 9A94D10B1B8A485C00F586A5 /* ImageCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A94D10A1B8A485C00F586A5 /* ImageCardView.swift */; };
9AAC384D1B89528900FE6B2D /* BasicCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AAC384C1B89528900FE6B2D /* BasicCard.swift */; }; 9AAC384D1B89528900FE6B2D /* BasicCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AAC384C1B89528900FE6B2D /* BasicCardView.swift */; };
9AAC38541B89559900FE6B2D /* Roboto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AAC38531B89559900FE6B2D /* Roboto.swift */; }; 9AAC38541B89559900FE6B2D /* Roboto.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AAC38531B89559900FE6B2D /* Roboto.swift */; };
9AAC385F1B8957A200FE6B2D /* BasicCard.swift in Headers */ = {isa = PBXBuildFile; fileRef = 9AAC384C1B89528900FE6B2D /* BasicCard.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 9AAC385F1B8957A200FE6B2D /* BasicCardView.swift in Headers */ = {isa = PBXBuildFile; fileRef = 9AAC384C1B89528900FE6B2D /* BasicCardView.swift */; settings = {ATTRIBUTES = (Public, ); }; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
...@@ -71,14 +71,14 @@ ...@@ -71,14 +71,14 @@
963832611B88E5BF0015F710 /* FlatButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FlatButton.swift; sourceTree = "<group>"; }; 963832611B88E5BF0015F710 /* FlatButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FlatButton.swift; sourceTree = "<group>"; };
963832631B88E5BF0015F710 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; }; 963832631B88E5BF0015F710 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
963832651B88E5BF0015F710 /* RaisedButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RaisedButton.swift; sourceTree = "<group>"; }; 963832651B88E5BF0015F710 /* RaisedButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RaisedButton.swift; sourceTree = "<group>"; };
963832661B88E5BF0015F710 /* Text.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Text.swift; sourceTree = "<group>"; }; 963832661B88E5BF0015F710 /* MaterialText.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialText.swift; sourceTree = "<group>"; };
963832671B88E5BF0015F710 /* TextStorage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextStorage.swift; sourceTree = "<group>"; }; 963832671B88E5BF0015F710 /* MaterialTextStorage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialTextStorage.swift; sourceTree = "<group>"; };
963832681B88E5BF0015F710 /* TextView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextView.swift; sourceTree = "<group>"; }; 963832681B88E5BF0015F710 /* TextView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextView.swift; sourceTree = "<group>"; };
963832871B8908180015F710 /* Layout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Layout.swift; sourceTree = "<group>"; }; 963832871B8908180015F710 /* Layout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Layout.swift; sourceTree = "<group>"; };
96B57D4D1B90AF7D00DE7BBB /* MaterialTheme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialTheme.swift; sourceTree = "<group>"; }; 96B57D4D1B90AF7D00DE7BBB /* MaterialTheme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialTheme.swift; sourceTree = "<group>"; };
9A94D1081B8A3F5100F586A5 /* MaterialCard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialCard.swift; sourceTree = "<group>"; }; 9A94D1081B8A3F5100F586A5 /* MaterialCardView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MaterialCardView.swift; sourceTree = "<group>"; };
9A94D10A1B8A485C00F586A5 /* ImageCard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageCard.swift; sourceTree = "<group>"; }; 9A94D10A1B8A485C00F586A5 /* ImageCardView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageCardView.swift; sourceTree = "<group>"; };
9AAC384C1B89528900FE6B2D /* BasicCard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BasicCard.swift; sourceTree = "<group>"; }; 9AAC384C1B89528900FE6B2D /* BasicCardView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BasicCardView.swift; sourceTree = "<group>"; };
9AAC38531B89559900FE6B2D /* Roboto.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Roboto.swift; sourceTree = "<group>"; }; 9AAC38531B89559900FE6B2D /* Roboto.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Roboto.swift; sourceTree = "<group>"; };
9AAC38551B8956C500FE6B2D /* Roboto-Light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Light.ttf"; sourceTree = "<group>"; }; 9AAC38551B8956C500FE6B2D /* Roboto-Light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Light.ttf"; sourceTree = "<group>"; };
9AAC38571B8956CF00FE6B2D /* Roboto-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Medium.ttf"; sourceTree = "<group>"; }; 9AAC38571B8956CF00FE6B2D /* Roboto-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Medium.ttf"; sourceTree = "<group>"; };
...@@ -203,8 +203,8 @@ ...@@ -203,8 +203,8 @@
963832761B88E8990015F710 /* Text */ = { 963832761B88E8990015F710 /* Text */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
963832661B88E5BF0015F710 /* Text.swift */, 963832661B88E5BF0015F710 /* MaterialText.swift */,
963832671B88E5BF0015F710 /* TextStorage.swift */, 963832671B88E5BF0015F710 /* MaterialTextStorage.swift */,
963832681B88E5BF0015F710 /* TextView.swift */, 963832681B88E5BF0015F710 /* TextView.swift */,
); );
name = Text; name = Text;
...@@ -229,9 +229,9 @@ ...@@ -229,9 +229,9 @@
9AAC384B1B89524E00FE6B2D /* Card */ = { 9AAC384B1B89524E00FE6B2D /* Card */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
9A94D1081B8A3F5100F586A5 /* MaterialCard.swift */, 9A94D1081B8A3F5100F586A5 /* MaterialCardView.swift */,
9AAC384C1B89528900FE6B2D /* BasicCard.swift */, 9AAC384C1B89528900FE6B2D /* BasicCardView.swift */,
9A94D10A1B8A485C00F586A5 /* ImageCard.swift */, 9A94D10A1B8A485C00F586A5 /* ImageCardView.swift */,
); );
name = Card; name = Card;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -254,9 +254,9 @@ ...@@ -254,9 +254,9 @@
isa = PBXHeadersBuildPhase; isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
9AAC385F1B8957A200FE6B2D /* BasicCard.swift in Headers */, 9AAC385F1B8957A200FE6B2D /* BasicCardView.swift in Headers */,
9638327E1B89070E0015F710 /* Text.swift in Headers */, 9638327E1B89070E0015F710 /* MaterialText.swift in Headers */,
9638327F1B89070E0015F710 /* TextStorage.swift in Headers */, 9638327F1B89070E0015F710 /* MaterialTextStorage.swift in Headers */,
963832801B89070E0015F710 /* TextView.swift in Headers */, 963832801B89070E0015F710 /* TextView.swift in Headers */,
963832811B89070E0015F710 /* FabButton.swift in Headers */, 963832811B89070E0015F710 /* FabButton.swift in Headers */,
963832821B89070E0015F710 /* FlatButton.swift in Headers */, 963832821B89070E0015F710 /* FlatButton.swift in Headers */,
...@@ -265,11 +265,11 @@ ...@@ -265,11 +265,11 @@
9A94D0F91B895C8C00F586A5 /* Roboto.swift in Headers */, 9A94D0F91B895C8C00F586A5 /* Roboto.swift in Headers */,
963832851B89070E0015F710 /* CapturePreview.swift in Headers */, 963832851B89070E0015F710 /* CapturePreview.swift in Headers */,
963832891B89097D0015F710 /* Layout.swift in Headers */, 963832891B89097D0015F710 /* Layout.swift in Headers */,
657CD02A1B8EE0D3008C0029 /* MaterialCard.swift in Headers */, 657CD02A1B8EE0D3008C0029 /* MaterialCardView.swift in Headers */,
657CD02C1B8EE0D3008C0029 /* SideNavController.swift in Headers */, 657CD02C1B8EE0D3008C0029 /* SideNavController.swift in Headers */,
657CD02D1B8EE0D3008C0029 /* MaterialButton.swift in Headers */, 657CD02D1B8EE0D3008C0029 /* MaterialButton.swift in Headers */,
96C910ED1B95804B00E7CE5C /* MaterialTheme.swift in Headers */, 96C910ED1B95804B00E7CE5C /* MaterialTheme.swift in Headers */,
657CD02F1B8EE0D3008C0029 /* ImageCard.swift in Headers */, 657CD02F1B8EE0D3008C0029 /* ImageCardView.swift in Headers */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
...@@ -374,20 +374,20 @@ ...@@ -374,20 +374,20 @@
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
963832691B88E5BF0015F710 /* Capture.swift in Sources */, 963832691B88E5BF0015F710 /* Capture.swift in Sources */,
9A94D10B1B8A485C00F586A5 /* ImageCard.swift in Sources */, 9A94D10B1B8A485C00F586A5 /* ImageCardView.swift in Sources */,
96B57D4E1B90AF7D00DE7BBB /* MaterialTheme.swift in Sources */, 96B57D4E1B90AF7D00DE7BBB /* MaterialTheme.swift in Sources */,
9638326B1B88E5BF0015F710 /* FabButton.swift in Sources */, 9638326B1B88E5BF0015F710 /* FabButton.swift in Sources */,
9A94D1091B8A3F5100F586A5 /* MaterialCard.swift in Sources */, 9A94D1091B8A3F5100F586A5 /* MaterialCardView.swift in Sources */,
65B965871B8BEEC60055B139 /* SideNavController.swift in Sources */, 65B965871B8BEEC60055B139 /* SideNavController.swift in Sources */,
9638326C1B88E5BF0015F710 /* FlatButton.swift in Sources */, 9638326C1B88E5BF0015F710 /* FlatButton.swift in Sources */,
963832711B88E5BF0015F710 /* Text.swift in Sources */, 963832711B88E5BF0015F710 /* MaterialText.swift in Sources */,
9638326A1B88E5BF0015F710 /* CapturePreview.swift in Sources */, 9638326A1B88E5BF0015F710 /* CapturePreview.swift in Sources */,
9AAC38541B89559900FE6B2D /* Roboto.swift in Sources */, 9AAC38541B89559900FE6B2D /* Roboto.swift in Sources */,
65B9657E1B8A7C330055B139 /* MaterialButton.swift in Sources */, 65B9657E1B8A7C330055B139 /* MaterialButton.swift in Sources */,
963832881B8908180015F710 /* Layout.swift in Sources */, 963832881B8908180015F710 /* Layout.swift in Sources */,
9AAC384D1B89528900FE6B2D /* BasicCard.swift in Sources */, 9AAC384D1B89528900FE6B2D /* BasicCardView.swift in Sources */,
963832731B88E5BF0015F710 /* TextView.swift in Sources */, 963832731B88E5BF0015F710 /* TextView.swift in Sources */,
963832721B88E5BF0015F710 /* TextStorage.swift in Sources */, 963832721B88E5BF0015F710 /* MaterialTextStorage.swift in Sources */,
963832701B88E5BF0015F710 /* RaisedButton.swift in Sources */, 963832701B88E5BF0015F710 /* RaisedButton.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
......
...@@ -68,7 +68,7 @@ Easily make cards with fully customizable components. ...@@ -68,7 +68,7 @@ Easily make cards with fully customizable components.
```swift ```swift
var card: BasicCard = BasicCard() var card: BasicCardView = BasicCardView()
// title // title
card.titleLabel = UILabel() card.titleLabel = UILabel()
...@@ -109,7 +109,7 @@ Add photos with an Image Card. ...@@ -109,7 +109,7 @@ Add photos with an Image Card.
```swift ```swift
var card: ImageCard = ImageCard() var card: ImageCardView = ImageCardView()
card.imageView = UIImageView(image: UIImage(named: "photo.jpg")) card.imageView = UIImageView(image: UIImage(named: "photo.jpg"))
// layout // layout
...@@ -127,7 +127,7 @@ Allow the Image Card to really shine by adding a title, some details, and button ...@@ -127,7 +127,7 @@ Allow the Image Card to really shine by adding a title, some details, and button
```swift ```swift
var card: ImageCard = ImageCard() var card: ImageCardView = ImageCardView()
card.imageView = UIImageView(image: UIImage(named: "photo.jpg")) card.imageView = UIImageView(image: UIImage(named: "photo.jpg"))
// title // title
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
import UIKit import UIKit
public class BasicCard : MaterialCard, Comparable, Equatable { public class BasicCardView : MaterialCardView, Comparable, Equatable {
// //
// :name: layoutConstraints // :name: layoutConstraints
// //
...@@ -277,22 +277,22 @@ public class BasicCard : MaterialCard, Comparable, Equatable { ...@@ -277,22 +277,22 @@ public class BasicCard : MaterialCard, Comparable, Equatable {
} }
} }
public func ==(lhs: BasicCard, rhs: BasicCard) -> Bool { public func ==(lhs: BasicCardView, rhs: BasicCardView) -> Bool {
return lhs.tag == rhs.tag return lhs.tag == rhs.tag
} }
public func <=(lhs: BasicCard, rhs: BasicCard) -> Bool { public func <=(lhs: BasicCardView, rhs: BasicCardView) -> Bool {
return lhs.tag <= rhs.tag return lhs.tag <= rhs.tag
} }
public func >=(lhs: BasicCard, rhs: BasicCard) -> Bool { public func >=(lhs: BasicCardView, rhs: BasicCardView) -> Bool {
return lhs.tag >= rhs.tag return lhs.tag >= rhs.tag
} }
public func >(lhs: BasicCard, rhs: BasicCard) -> Bool { public func >(lhs: BasicCardView, rhs: BasicCardView) -> Bool {
return lhs.tag > rhs.tag return lhs.tag > rhs.tag
} }
public func <(lhs: BasicCard, rhs: BasicCard) -> Bool { public func <(lhs: BasicCardView, rhs: BasicCardView) -> Bool {
return lhs.tag < rhs.tag return lhs.tag < rhs.tag
} }
...@@ -26,6 +26,7 @@ public class FabButton : MaterialButton { ...@@ -26,6 +26,7 @@ public class FabButton : MaterialButton {
super.prepareView() super.prepareView()
setTitleColor(MaterialTheme.white.color, forState: .Normal) setTitleColor(MaterialTheme.white.color, forState: .Normal)
backgroundColor = MaterialTheme.red.darken1 backgroundColor = MaterialTheme.red.darken1
pulseColor = MaterialTheme.white.color
contentEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0) contentEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0)
} }
......
...@@ -24,8 +24,7 @@ public class FlatButton : MaterialButton { ...@@ -24,8 +24,7 @@ public class FlatButton : MaterialButton {
// //
internal override func prepareView() { internal override func prepareView() {
super.prepareView() super.prepareView()
setTitleColor(MaterialTheme.indigo.darken1, forState: .Normal) setTitleColor(MaterialTheme.blue.accent2, forState: .Normal)
pulseColor = MaterialTheme.indigo.darken1
backgroundColor = MaterialTheme.clear.color backgroundColor = MaterialTheme.clear.color
contentEdgeInsets = UIEdgeInsetsMake(4, 16, 4, 16) contentEdgeInsets = UIEdgeInsetsMake(4, 16, 4, 16)
} }
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
import UIKit import UIKit
public class ImageCard : MaterialCard, Comparable, Equatable { public class ImageCardView : MaterialCardView, Comparable, Equatable {
// //
// :name: layoutConstraints // :name: layoutConstraints
// //
...@@ -351,22 +351,22 @@ public class ImageCard : MaterialCard, Comparable, Equatable { ...@@ -351,22 +351,22 @@ public class ImageCard : MaterialCard, Comparable, Equatable {
} }
} }
public func ==(lhs: ImageCard, rhs: ImageCard) -> Bool { public func ==(lhs: ImageCardView, rhs: ImageCardView) -> Bool {
return lhs.tag == rhs.tag return lhs.tag == rhs.tag
} }
public func <=(lhs: ImageCard, rhs: ImageCard) -> Bool { public func <=(lhs: ImageCardView, rhs: ImageCardView) -> Bool {
return lhs.tag <= rhs.tag return lhs.tag <= rhs.tag
} }
public func >=(lhs: ImageCard, rhs: ImageCard) -> Bool { public func >=(lhs: ImageCardView, rhs: ImageCardView) -> Bool {
return lhs.tag >= rhs.tag return lhs.tag >= rhs.tag
} }
public func >(lhs: ImageCard, rhs: ImageCard) -> Bool { public func >(lhs: ImageCardView, rhs: ImageCardView) -> Bool {
return lhs.tag > rhs.tag return lhs.tag > rhs.tag
} }
public func <(lhs: ImageCard, rhs: ImageCard) -> Bool { public func <(lhs: ImageCardView, rhs: ImageCardView) -> Bool {
return lhs.tag < rhs.tag return lhs.tag < rhs.tag
} }
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>FMWK</string> <string>FMWK</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.7.0</string> <string>1.8.0</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
import UIKit import UIKit
public class MaterialCard : UIView { public class MaterialCardView : UIView {
// //
// :name: backgroundColorView // :name: backgroundColorView
// //
......
...@@ -18,14 +18,14 @@ ...@@ -18,14 +18,14 @@
import UIKit import UIKit
@objc(TextDelegate) @objc(MaterialTextDelegate)
public protocol TextDelegate { public protocol TextDelegate {
optional func textStorageWillProcessEdit(text: Text, textStorage: TextStorage, string: String, range: NSRange) optional func textStorageWillProcessEdit(text: MaterialText, textStorage: MaterialTextStorage, string: String, range: NSRange)
optional func textStorageDidProcessEdit(text: Text, textStorage: TextStorage, string: String, result: NSTextCheckingResult, flags: NSMatchingFlags, stop: UnsafeMutablePointer<ObjCBool>) optional func textStorageDidProcessEdit(text: MaterialText, textStorage: MaterialTextStorage, string: String, result: NSTextCheckingResult, flags: NSMatchingFlags, stop: UnsafeMutablePointer<ObjCBool>)
} }
@objc(Text) @objc(MaterialText)
public class Text: NSObject { public class MaterialText: NSObject {
/** /**
:name: searchPattern :name: searchPattern
:description: A string representation of the regular expression that matches text within :description: A string representation of the regular expression that matches text within
...@@ -42,7 +42,7 @@ public class Text: NSObject { ...@@ -42,7 +42,7 @@ public class Text: NSObject {
:name: textStorage :name: textStorage
:description: Reference to wrapped NSTextStorage :description: Reference to wrapped NSTextStorage
*/ */
public let textStorage: TextStorage public let textStorage: MaterialTextStorage
/** /**
:name: delegate :name: delegate
...@@ -53,14 +53,14 @@ public class Text: NSObject { ...@@ -53,14 +53,14 @@ public class Text: NSObject {
/** /**
:name: init :name: init
*/ */
override public init() { public override init() {
textStorage = TextStorage() textStorage = MaterialTextStorage()
super.init() super.init()
textStorage.searchExpression = NSRegularExpression(pattern: searchPattern, options: nil, error: nil) textStorage.searchExpression = NSRegularExpression(pattern: searchPattern, options: nil, error: nil)
textStorage.textStorageWillProcessEdit = { (textStorage: TextStorage, string: String, range: NSRange) -> Void in textStorage.textStorageWillProcessEdit = { (textStorage: MaterialTextStorage, string: String, range: NSRange) -> Void in
self.delegate?.textStorageWillProcessEdit?(self, textStorage: textStorage, string: string, range: range) self.delegate?.textStorageWillProcessEdit?(self, textStorage: textStorage, string: string, range: range)
} }
textStorage.textStorageDidProcessEdit = { (textStorage: TextStorage, result: NSTextCheckingResult, flags: NSMatchingFlags, stop: UnsafeMutablePointer<ObjCBool>) -> Void in textStorage.textStorageDidProcessEdit = { (textStorage: MaterialTextStorage, result: NSTextCheckingResult, flags: NSMatchingFlags, stop: UnsafeMutablePointer<ObjCBool>) -> Void in
self.delegate?.textStorageDidProcessEdit?(self, textStorage: textStorage, string: textStorage.string, result: result, flags: flags, stop: stop) self.delegate?.textStorageDidProcessEdit?(self, textStorage: textStorage, string: textStorage.string, result: result, flags: flags, stop: stop)
} }
} }
......
...@@ -18,10 +18,10 @@ ...@@ -18,10 +18,10 @@
import UIKit import UIKit
internal typealias TextStorageWillProcessEdit = (TextStorage, String, NSRange) -> Void internal typealias MaterialTextStorageWillProcessEdit = (MaterialTextStorage, String, NSRange) -> Void
internal typealias TextStorageDidProcessEdit = (TextStorage, NSTextCheckingResult, NSMatchingFlags, UnsafeMutablePointer<ObjCBool>) -> Void internal typealias MaterialTextStorageDidProcessEdit = (MaterialTextStorage, NSTextCheckingResult, NSMatchingFlags, UnsafeMutablePointer<ObjCBool>) -> Void
public class TextStorage: NSTextStorage { public class MaterialTextStorage: NSTextStorage {
/** /**
:name: store :name: store
:description: Acts as the model, storing the string value. :description: Acts as the model, storing the string value.
...@@ -39,14 +39,14 @@ public class TextStorage: NSTextStorage { ...@@ -39,14 +39,14 @@ public class TextStorage: NSTextStorage {
:description: If set, this block callback executes when there is a change in the TextStorage :description: If set, this block callback executes when there is a change in the TextStorage
string value. string value.
*/ */
internal var textStorageWillProcessEdit: TextStorageWillProcessEdit? internal var textStorageWillProcessEdit: MaterialTextStorageWillProcessEdit?
/** /**
:name: textStorageDidProcessEdit :name: textStorageDidProcessEdit
:description: If set, this block callback executes when a match is detected after a change in :description: If set, this block callback executes when a match is detected after a change in
the TextStorage string value. the TextStorage string value.
*/ */
internal var textStorageDidProcessEdit: TextStorageDidProcessEdit? internal var textStorageDidProcessEdit: MaterialTextStorageDidProcessEdit?
required public init(coder aDecoder: NSCoder) { required public init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder) super.init(coder: aDecoder)
......
...@@ -25,7 +25,7 @@ public class RaisedButton : MaterialButton { ...@@ -25,7 +25,7 @@ public class RaisedButton : MaterialButton {
internal override func prepareView() { internal override func prepareView() {
super.prepareView() super.prepareView()
setTitleColor(MaterialTheme.white.color, forState: .Normal) setTitleColor(MaterialTheme.white.color, forState: .Normal)
backgroundColor = MaterialTheme.indigo.darken1 backgroundColor = MaterialTheme.blue.accent2
contentEdgeInsets = UIEdgeInsetsMake(4, 16, 4, 16) contentEdgeInsets = UIEdgeInsetsMake(4, 16, 4, 16)
} }
......
...@@ -20,23 +20,22 @@ import UIKit ...@@ -20,23 +20,22 @@ import UIKit
public class TextView: UITextView { public class TextView: UITextView {
// //
// :name: label // :name: layoutConstraints
// :description: Placeholder label.
// //
private lazy var label: UILabel = UILabel() internal lazy var layoutConstraints: Array<NSLayoutConstraint> = Array<NSLayoutConstraint>()
// /**
// :name: labelConstraints :name: init
// :description: Autoresize constraints for the placeholder label. */
// public required init(coder aDecoder: NSCoder) {
private var labelConstraints: Array<NSLayoutConstraint>?
required public init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder) super.init(coder: aDecoder)
prepareView() prepareView()
} }
override public init(frame: CGRect, textContainer: NSTextContainer?) { /**
:name: init
*/
public override init(frame: CGRect, textContainer: NSTextContainer?) {
super.init(frame: frame, textContainer: textContainer) super.init(frame: frame, textContainer: textContainer)
if CGRectZero == frame { if CGRectZero == frame {
setTranslatesAutoresizingMaskIntoConstraints(false) setTranslatesAutoresizingMaskIntoConstraints(false)
...@@ -56,47 +55,27 @@ public class TextView: UITextView { ...@@ -56,47 +55,27 @@ public class TextView: UITextView {
:name: placeholder :name: placeholder
:description: The placeholder label string. :description: The placeholder label string.
*/ */
public var placeholder: String = "" { public var placeholderLabel: UILabel? {
didSet { didSet {
label.text = placeholder if let p = placeholderLabel {
} p.setTranslatesAutoresizingMaskIntoConstraints(false)
p.font = font
p.textAlignment = textAlignment
p.numberOfLines = 0
p.backgroundColor = MaterialTheme.clear.color
addSubview(p)
updateLabelConstraints()
textViewTextDidChange()
} }
/**
:name: placeholderColor
:description: The placeholder color.
*/
public var placeholderColor: UIColor = MaterialTheme.blueGrey.lighten1 {
didSet {
label.textColor = placeholderColor
} }
} }
/**
:name: font
:description: Font to use for placeholder based on UITextView font.
*/
override public var font: UIFont! {
didSet {
label.font = font
}
}
/**
:name: textAlignment
:description: Sets placeholder textAlignment based on UITextView textAlignment.
*/
override public var textAlignment: NSTextAlignment {
didSet {
label.textAlignment = textAlignment
}
}
/** /**
:name: text :name: text
:description: When set, updates the placeholder text. :description: When set, updates the placeholder text.
*/ */
override public var text: String! { public override var text: String! {
didSet { didSet {
textViewTextDidChange() textViewTextDidChange()
} }
...@@ -106,7 +85,7 @@ public class TextView: UITextView { ...@@ -106,7 +85,7 @@ public class TextView: UITextView {
:name: attributedText :name: attributedText
:description: When set, updates the placeholder attributedText. :description: When set, updates the placeholder attributedText.
*/ */
override public var attributedText: NSAttributedString! { public override var attributedText: NSAttributedString! {
didSet { didSet {
textViewTextDidChange() textViewTextDidChange()
} }
...@@ -116,15 +95,15 @@ public class TextView: UITextView { ...@@ -116,15 +95,15 @@ public class TextView: UITextView {
:name: textContainerInset :name: textContainerInset
:description: When set, updates the placeholder constraints. :description: When set, updates the placeholder constraints.
*/ */
override public var textContainerInset: UIEdgeInsets { public override var textContainerInset: UIEdgeInsets {
didSet { didSet {
updateLabelConstraints() updateLabelConstraints()
} }
} }
override public func layoutSubviews() { public override func layoutSubviews() {
super.layoutSubviews() super.layoutSubviews()
label.preferredMaxLayoutWidth = textContainer.size.width - textContainer.lineFragmentPadding * 2 placeholderLabel?.preferredMaxLayoutWidth = textContainer.size.width - textContainer.lineFragmentPadding * 2
} }
// //
...@@ -132,7 +111,9 @@ public class TextView: UITextView { ...@@ -132,7 +111,9 @@ public class TextView: UITextView {
// :description: Updates the label visibility when text is empty or not. // :description: Updates the label visibility when text is empty or not.
// //
internal func textViewTextDidChange() { internal func textViewTextDidChange() {
label.hidden = !text.isEmpty if let p = placeholderLabel {
p.hidden = !text.isEmpty
}
} }
// //
...@@ -140,21 +121,10 @@ public class TextView: UITextView { ...@@ -140,21 +121,10 @@ public class TextView: UITextView {
// :description: Sets up the common initilized values. // :description: Sets up the common initilized values.
// //
private func prepareView() { private func prepareView() {
backgroundColor = MaterialTheme.clear.color
textColor = MaterialTheme.black.color
label.font = font
label.textColor = placeholderColor
label.textAlignment = textAlignment
label.text = placeholder
label.numberOfLines = 0
label.backgroundColor = MaterialTheme.clear.color
label.setTranslatesAutoresizingMaskIntoConstraints(false)
addSubview(label)
// label needs to be added to the view // label needs to be added to the view
// hierarchy before setting insets // hierarchy before setting insets
textContainerInset = UIEdgeInsetsMake(16, 16, 16, 16) textContainerInset = UIEdgeInsetsMake(16, 16, 16, 16)
backgroundColor = MaterialTheme.clear.color
NSNotificationCenter.defaultCenter().addObserver(self, selector: "textViewTextDidChange", name: UITextViewTextDidChangeNotification, object: nil) NSNotificationCenter.defaultCenter().addObserver(self, selector: "textViewTextDidChange", name: UITextViewTextDidChangeNotification, object: nil)
updateLabelConstraints() updateLabelConstraints()
} }
...@@ -164,15 +134,27 @@ public class TextView: UITextView { ...@@ -164,15 +134,27 @@ public class TextView: UITextView {
// :description: Updates the placeholder constraints. // :description: Updates the placeholder constraints.
// //
private func updateLabelConstraints() { private func updateLabelConstraints() {
if nil != labelConstraints { if let p = placeholderLabel {
removeConstraints(labelConstraints!) NSLayoutConstraint.deactivateConstraints(layoutConstraints)
layoutConstraints = Layout.constraint("H:|-(left)-[placeholderLabel]-(right)-|",
options: nil,
metrics: [
"left": textContainerInset.left + textContainer.lineFragmentPadding,
"right": textContainerInset.right + textContainer.lineFragmentPadding
], views: [
"placeholderLabel": p
])
layoutConstraints += Layout.constraint("V:|-(top)-[placeholderLabel]-(>=bottom)-|",
options: nil,
metrics: [
"top": textContainerInset.top,
"bottom": textContainerInset.bottom
],
views: [
"placeholderLabel": p
])
NSLayoutConstraint.activateConstraints(layoutConstraints)
} }
var constraints: Array<NSLayoutConstraint> = NSLayoutConstraint.constraintsWithVisualFormat("H:|-(left)-[placeholder]-(right)-|", options: nil, metrics: ["left": textContainerInset.left + textContainer.lineFragmentPadding, "right": textContainerInset.right + textContainer.lineFragmentPadding], views: ["placeholder": label]) as! Array<NSLayoutConstraint>
constraints += NSLayoutConstraint.constraintsWithVisualFormat("V:|-(top)-[placeholder]-(>=bottom)-|", options: nil, metrics: ["top": textContainerInset.top, "bottom": textContainerInset.bottom], views: ["placeholder": label]) as! Array<NSLayoutConstraint>
labelConstraints = constraints
addConstraints(constraints)
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment