Showing preview only (914K chars total). Download the full file or copy to clipboard to get everything.
Repository: CosmicMind/Material
Branch: development
Commit: ea59f7c4d72a
Files: 185
Total size: 854.8 KB
Directory structure:
gitextract_djfw36z0/
├── .gitignore
├── .gitmodules
├── .swift-version
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Cartfile
├── LICENSE.md
├── Material.podspec
├── Material.xcodeproj/
│ ├── project.pbxproj
│ ├── project.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ └── Material.xcscmblueprint
│ └── xcshareddata/
│ └── xcschemes/
│ └── Material.xcscheme
├── Package.swift
├── README.md
└── Sources/
├── Assets.xcassets/
│ ├── Contents.json
│ ├── cm_add_white.imageset/
│ │ └── Contents.json
│ ├── cm_arrow_back_white.imageset/
│ │ └── Contents.json
│ ├── cm_arrow_downward_white.imageset/
│ │ └── Contents.json
│ ├── cm_audio_library_white.imageset/
│ │ └── Contents.json
│ ├── cm_audio_white.imageset/
│ │ └── Contents.json
│ ├── cm_bell_white.imageset/
│ │ └── Contents.json
│ ├── cm_check_white.imageset/
│ │ └── Contents.json
│ ├── cm_close_white.imageset/
│ │ └── Contents.json
│ ├── cm_image_white.imageset/
│ │ └── Contents.json
│ ├── cm_menu_white.imageset/
│ │ └── Contents.json
│ ├── cm_microphone_white.imageset/
│ │ └── Contents.json
│ ├── cm_more_horiz_white.imageset/
│ │ └── Contents.json
│ ├── cm_more_vert_white.imageset/
│ │ └── Contents.json
│ ├── cm_movie_white.imageset/
│ │ └── Contents.json
│ ├── cm_pause_white.imageset/
│ │ └── Contents.json
│ ├── cm_pen_white.imageset/
│ │ └── Contents.json
│ ├── cm_photo_camera_white.imageset/
│ │ └── Contents.json
│ ├── cm_photo_library_white.imageset/
│ │ └── Contents.json
│ ├── cm_play_white.imageset/
│ │ └── Contents.json
│ ├── cm_search_white.imageset/
│ │ └── Contents.json
│ ├── cm_settings_white.imageset/
│ │ └── Contents.json
│ ├── cm_share_white.imageset/
│ │ └── Contents.json
│ ├── cm_shuffle_white.imageset/
│ │ └── Contents.json
│ ├── cm_skip_backward_white.imageset/
│ │ └── Contents.json
│ ├── cm_skip_forward_white.imageset/
│ │ └── Contents.json
│ ├── cm_star_white.imageset/
│ │ └── Contents.json
│ ├── cm_videocam_white.imageset/
│ │ └── Contents.json
│ ├── cm_volume_high_white.imageset/
│ │ └── Contents.json
│ ├── cm_volume_medium_white.imageset/
│ │ └── Contents.json
│ ├── cm_volume_off_white.imageset/
│ │ └── Contents.json
│ ├── ic_add_circle_outline_white.imageset/
│ │ └── Contents.json
│ ├── ic_add_circle_white.imageset/
│ │ └── Contents.json
│ ├── ic_add_white.imageset/
│ │ └── Contents.json
│ ├── ic_arrow_back_white.imageset/
│ │ └── Contents.json
│ ├── ic_arrow_downward_white.imageset/
│ │ └── Contents.json
│ ├── ic_audiotrack_white.imageset/
│ │ └── Contents.json
│ ├── ic_camera_front_white.imageset/
│ │ └── Contents.json
│ ├── ic_camera_rear_white.imageset/
│ │ └── Contents.json
│ ├── ic_check_white.imageset/
│ │ └── Contents.json
│ ├── ic_close_white.imageset/
│ │ └── Contents.json
│ ├── ic_edit_white.imageset/
│ │ └── Contents.json
│ ├── ic_email_white.imageset/
│ │ └── Contents.json
│ ├── ic_favorite_border_white.imageset/
│ │ └── Contents.json
│ ├── ic_favorite_white.imageset/
│ │ └── Contents.json
│ ├── ic_flash_auto_white.imageset/
│ │ └── Contents.json
│ ├── ic_flash_off_white.imageset/
│ │ └── Contents.json
│ ├── ic_flash_on_white.imageset/
│ │ └── Contents.json
│ ├── ic_history_white.imageset/
│ │ └── Contents.json
│ ├── ic_home_white.imageset/
│ │ └── Contents.json
│ ├── ic_image_white.imageset/
│ │ └── Contents.json
│ ├── ic_menu_white.imageset/
│ │ └── Contents.json
│ ├── ic_more_horiz_white.imageset/
│ │ └── Contents.json
│ ├── ic_more_vert_white.imageset/
│ │ └── Contents.json
│ ├── ic_movie_white.imageset/
│ │ └── Contents.json
│ ├── ic_phone_white.imageset/
│ │ └── Contents.json
│ ├── ic_photo_camera_white.imageset/
│ │ └── Contents.json
│ ├── ic_photo_library_white.imageset/
│ │ └── Contents.json
│ ├── ic_place_white.imageset/
│ │ └── Contents.json
│ ├── ic_search_white.imageset/
│ │ └── Contents.json
│ ├── ic_settings_white.imageset/
│ │ └── Contents.json
│ ├── ic_share_white.imageset/
│ │ └── Contents.json
│ ├── ic_star_border_white.imageset/
│ │ └── Contents.json
│ ├── ic_star_half_white.imageset/
│ │ └── Contents.json
│ ├── ic_star_white.imageset/
│ │ └── Contents.json
│ ├── ic_videocam_white.imageset/
│ │ └── Contents.json
│ ├── ic_visibility_off_white.imageset/
│ │ └── Contents.json
│ ├── ic_visibility_white.imageset/
│ │ └── Contents.json
│ └── ic_work_white.imageset/
│ └── Contents.json
├── Info.plist
├── LICENSE
├── Material.h
└── iOS/
├── Animation/
│ ├── PulseAnimation.swift
│ └── SpringAnimation.swift
├── Application/
│ └── Application.swift
├── Bar/
│ └── Bar.swift
├── BottomTabBar/
│ └── BottomNavigationController.swift
├── Button/
│ ├── BaseIconLayerButton.swift
│ ├── Button.swift
│ ├── CheckButton.swift
│ ├── FABButton.swift
│ ├── FlatButton.swift
│ ├── IconButton.swift
│ ├── RadioButton.swift
│ └── RaisedButton.swift
├── ButtonGroup/
│ ├── BaseButtonGroup.swift
│ ├── CheckButtonGroup.swift
│ └── RadioButtonGroup.swift
├── Card/
│ ├── Card.swift
│ ├── ImageCard.swift
│ └── PresenterCard.swift
├── Chip/
│ ├── ChipBar.swift
│ └── ChipBarController.swift
├── Collection/
│ ├── CardCollectionView/
│ │ ├── CardCollectionViewCell.swift
│ │ └── CardCollectionViewController.swift
│ ├── CollectionReusableView.swift
│ ├── CollectionView.swift
│ ├── CollectionViewCell.swift
│ ├── CollectionViewController.swift
│ └── CollectionViewLayout.swift
├── Color/
│ └── Color.swift
├── Data/
│ └── DataSourceItem.swift
├── Device/
│ └── Device.swift
├── Dialogs/
│ ├── Dialog.swift
│ ├── DialogController.swift
│ └── DialogView.swift
├── Divider/
│ └── Divider.swift
├── Extension/
│ ├── Material+Array.swift
│ ├── Material+CALayer.swift
│ ├── Material+MotionAnimation.swift
│ ├── Material+NSMutableAttributedString.swift
│ ├── Material+String.swift
│ ├── Material+UIButton.swift
│ ├── Material+UIColor.swift
│ ├── Material+UIFont.swift
│ ├── Material+UIImage.swift
│ ├── Material+UILabel.swift
│ ├── Material+UIView.swift
│ ├── Material+UIViewController.swift
│ └── Material+UIWindow.swift
├── FABMenu/
│ ├── FABMenu.swift
│ └── FABMenuController.swift
├── Font/
│ ├── DynamicFontType.swift
│ ├── Font.swift
│ └── RobotoFont.swift
├── Grid/
│ └── Grid.swift
├── Height/
│ └── HeightPreset.swift
├── Icon/
│ └── Icon.swift
├── Layer/
│ └── Layer.swift
├── Layout/
│ ├── Layout.swift
│ ├── LayoutAnchor.swift
│ ├── LayoutAttribute.swift
│ └── LayoutConstraint.swift
├── Navigation/
│ ├── NavigationBar.swift
│ ├── NavigationController.swift
│ └── NavigationItem.swift
├── NavigationDrawer/
│ └── NavigationDrawerController.swift
├── Screen/
│ └── Screen.swift
├── SearchBar/
│ ├── SearchBar.swift
│ └── SearchBarController.swift
├── Snackbar/
│ ├── Snackbar.swift
│ └── SnackbarController.swift
├── StatusBar/
│ └── StatusBarController.swift
├── Switch/
│ └── Switch.swift
├── Tab/
│ ├── TabBar.swift
│ └── TabsController.swift
├── Table/
│ ├── TableView.swift
│ ├── TableViewCell.swift
│ └── TableViewController.swift
├── Text/
│ ├── Editor.swift
│ ├── ErrorTextField.swift
│ ├── ErrorTextFieldValidator.swift
│ ├── TextField.swift
│ ├── TextStorage.swift
│ └── TextView.swift
├── Theme/
│ └── Theme.swift
├── Toolbar/
│ ├── Toolbar.swift
│ └── ToolbarController.swift
├── Transition/
│ ├── DisplayStyle.swift
│ └── TransitionController.swift
├── Type/
│ ├── Border.swift
│ ├── CornerRadius.swift
│ ├── Depth.swift
│ ├── EdgeInsets.swift
│ ├── InterimSpace.swift
│ ├── Offset.swift
│ └── Shape.swift
└── View/
├── PulseView.swift
├── View.swift
└── ViewController.swift
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
#OS X
.DS_Store
# Xcode
build/*
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
profile
*.moved-aside
*.playground
*.framework
DerivedData
Index
Build
Checkouts
================================================
FILE: .gitmodules
================================================
[submodule "Sources/Frameworks/Motion"]
path = Sources/Frameworks/Motion
url = https://github.com/CosmicMind/Motion.git
================================================
FILE: .swift-version
================================================
5.0
================================================
FILE: CHANGELOG.md
================================================
## 3.1.8
- [pr-1269](https://github.com/CosmicMind/Material/pull/1269): Fixed Xcode 11 crash, where layoutMargins are not available before iOS 13.
- [pr-1270](https://github.com/CosmicMind/Material/pull/1270): Fixed missing argument in Swift Package Manager.
* Updated to [Motion 3.1.3](https://github.com/CosmicMind/Motion/releases/tag/3.1.3).
## 3.1.7
* Fixed Grid issues, where the layout calculations were being deferred and causing inconsistencies in layouts.
* Updated to [Motion 3.1.2](https://github.com/CosmicMind/Motion/releases/tag/3.1.2).
## 3.1.6
- [issue-1245](https://github.com/CosmicMind/Material/issues/1245): Fixed issue where completion block was not executed when calling Switch.toggle.
## 3.1.5
- [pr-1248](https://github.com/CosmicMind/Material/pull/1248): Exposed Obj-C methods for NavigationDrawerController.
- [issue-1247](https://github.com/CosmicMind/Material/issues/1247): Several methods in NavigationDrawerController not visible in Obj-C.
## 3.1.4
- [pr-1239](https://github.com/CosmicMind/Material/pull/1239): Fixed regression with intrinsic content sizing in Switch control.
- [pr-1240](https://github.com/CosmicMind/Material/pull/1240): Fixed prepare method called twice.
- [issue-1215](https://github.com/CosmicMind/Material/issues/1215): prepare() is called twice on NavigationDrawerController.
## 3.1.3
* Added installation instructions to README.
- [pr-1236](https://github.com/CosmicMind/Material/pull/1236): Added Layout relations.
- [issue-1220](https://github.com/CosmicMind/Material/issues/1220): Support all relations for Layout constraints.
## 3.1.2
- [pr-1233](https://github.com/CosmicMind/Material/pull/1233): Fixed Layout breaks - subview ordering.
- [issue-1232](https://github.com/CosmicMind/Material/issues/1232): Layout breaks view arrangements.
## 3.1.1
- [pr-2131](https://github.com/CosmicMind/Material/pull/2131): Storyboard TextField fixes.
- [issue-1229](https://github.com/CosmicMind/Material/issues/1229): TextField's tintColor doesn't support user setting.
- [issue-1230](https://github.com/CosmicMind/Material/issues/1230): Button's title font doesn't support user setting.
## 3.1.0
- Updated to swift 5.
## 3.0.0
- Updated to swift 4.2.
- [pr-1124](https://github.com/CosmicMind/Material/pull/1124): Fixed issue-1123, TextField is not scrolling.
- [issue-1123](https://github.com/CosmicMind/Material/issues/1123): TextField is not scrolling when inputing characters and using a large Font size.
- [pr-1126](https://github.com/CosmicMind/Material/pull/1126): Cleaned up TextField.
- [pr-1130](https://github.com/CosmicMind/Material/pull/1130): Addressed multiple issues.
- [issue-1125](https://github.com/CosmicMind/Material/issues/1125): TextView with animated placeholder.
- [issue-1127](https://github.com/CosmicMind/Material/issues/1127): TextView auto-adjust height based on text lines.
- [issue-1128](https://github.com/CosmicMind/Material/issues/1128): TextField animates weird when text alignment is .right and we have textInset.
- Removed `textInset: CGFloat` and added `textInsets: EdgeInsets` to `TextField`.
- [pr-1134](https://github.com/CosmicMind/Material/pull/1134): Added swipe feature to BottomNavigationController.
- [issue-1132](https://github.com/CosmicMind/Material/issues/1132): BottomNavigationController same swipe behaviour as TabsController.
- [pr-1147](https://github.com/CosmicMind/Material/pull/1147): Allow framework to be linked from extensions.
- [pr-1151](https://github.com/CosmicMind/Material/pull/1151): New features.
- Added `left/right/above/below` directions to `DepthPreset`.
- Added `.custom(x)` case for `HeightPreset`.
- Added support for `heightPreset` in `BottomNavigationController`. [issue-1150](https://github.com/CosmicMind/Material/issues/1150)
- [pr-1165](https://github.com/CosmicMind/Material/pull/1165): Added interactive swipe.
- [issue-1135](https://github.com/CosmicMind/Material/issues/1135): Convert swiping in TabsController and BottomNavigationController to interactive.
- [pr-1115](https://github.com/CosmicMind/Material/pull/1115): Introducing Theming to Material.
- [pr-1173](https://github.com/CosmicMind/Material/pull/1173): Added dialogs.
- [pr-1174](https://github.com/CosmicMind/Material/pull/1174): Added disabling theming globally and per-class.
- [pr-1183](https://github.com/CosmicMind/Material/pull/1183): Added global theme font.
- [pr-1185](https://github.com/CosmicMind/Material/pull/1185): Reworked layout system.
- [pr-1186](https://github.com/CosmicMind/Material/pull/1186): Fixed SnackBar laid out incorrectly.
- [pr-1187](https://github.com/CosmicMind/Material/pull/1187): Added option for disabling snackbar layout edge inset calculation
## 2.17.0
* Updated for Swift 4.2.
* Updated to [Motion 1.5.0](https://github.com/CosmicMind/Motion/releases/tag/1.5.0)
## 2.16.4
* [pr-1120](https://github.com/CosmicMind/Material/pull/1120): Fixed issue where TextField cursor was not being repositioned correctly.
* [issue-1119](https://github.com/CosmicMind/Material/issues/1119): Cursor position was incorrectly being positioned when toggling security entry.
## 2.16.3
* Updated to [Motion 1.4.3](https://github.com/CosmicMind/Motion/releases/tag/1.4.3)
* [pr-1116](https://github.com/CosmicMind/Material/pull/1116): ViewController-oriented clean up.
* [pr-1117](https://github.com/CosmicMind/Material/pull/1117): Fixed TextView font issue with emojis.
* [issue-838](https://github.com/CosmicMind/Material/issues/838): TextView's font breaks when you type emoji.
## 2.16.2
* [pr-1113](https://github.com/CosmicMind/Material/pull/1113): Added update() to Grid.
* [pr-1112](https://github.com/CosmicMind/Material/pull/1112): Added tab bar centering.
* [issue-926](https://github.com/CosmicMind/Material/issues/926): TabsController - centering TabItem after selection.
* [pr-1114](https://github.com/CosmicMind/Material/pull/1114): Added option to adjust tabBar line width.
* [issue-1109](https://github.com/CosmicMind/Material/issues/1109): Want to change TabBar line width.
## 2.16.1
* [issue-1110](https://github.com/CosmicMind/Material/issues/1110): Fixed an issue where the depth of a view was being clipped incorrectly.
* [pr-1111](https://github.com/CosmicMind/Material/pull/1111): Fixed TabItem - was not being changed on swipe.
* [pr-1106](https://github.com/CosmicMind/Material/pull/1106): Added ability to show visibility and clear button at the same time.
* [issue-992](https://github.com/CosmicMind/Material/issues/992): Visibility & Clear Button can't be shown in TextField at the same time.
* [pr-1104](https://github.com/CosmicMind/Material/pull/1104): Added missing devices.
* [pr-1101](https://github.com/CosmicMind/Material/pull/1101): Enum for support iPhoneX.
## 2.16.0
* Updated to [Motion 1.4.2](https://github.com/CosmicMind/Motion/releases/tag/1.4.2).
* [pr-1004](https://github.com/CosmicMind/Material/pull/1004): Added RadioButton/CheckButton and RadioButtonGroup/CheckButtonGroup.
* [issue-505](https://github.com/CosmicMind/Material/issues/505): Add RadioButton and Checkbox.
* Updated to [Motion 1.4.0](https://github.com/CosmicMind/Motion/releases/tag/1.4.0).
* [issue-1078](https://github.com/CosmicMind/Material/issues/1078): Update Motion Dependency.
* [pr-1047](https://github.com/CosmicMind/Material/pull/1047): Document material color codes.
* [issue-1000](https://github.com/CosmicMind/Material/issues/1000): Color: Document mapping from codes (e.g. a400) to names (e.g. accent1).
* [pr-1055](https://github.com/CosmicMind/Material/pull/1055): Open up FABMenu a little bit.
* Updated Copyright years.
* [pr-1079](https://github.com/CosmicMind/Material/pull/1079): Added custom navigationBarClass support to NavigationController.
* [issue-1074](https://github.com/CosmicMind/Material/issues/1074): Need to use a NavigationBar subclass with NavigationController.
* [pr-1080](https://github.com/CosmicMind/Material/pull/1080): Fixed license badge href.
* [pr-1046](https://github.com/CosmicMind/Material/pull/1046): Added ShouldOpen and ShouldClose delegate methods to FABMenuDelegate.
* [issue-1043](https://github.com/CosmicMind/Material/issues/1043): ShouldOpen and ShouldClose delegate methods FABMenu.
* [pr-1086](https://github.com/CosmicMind/Material/pull/1086): Fix delegations never fired on tab swipe.
* [issue-1087](https://github.com/CosmicMind/Material/issues/1087): TabBar item is selected even though TabsController delegate shouldSelect always returns false.
* [issue-1056](https://github.com/CosmicMind/Material/issues/1056): Delegation methods never fired on Tab swipe.
* [pr-1088](https://github.com/CosmicMind/Material/pull/1088): Removed unnecessary convenience initializers.
* [issue-1085](https://github.com/CosmicMind/Material/issues/1085): `convenience init()` across the framework prevents generic initialization of the components.
* [pr-1082](https://github.com/CosmicMind/Material/pull/1082): Added ErrorTextField validation.
* [issue-1017](https://github.com/CosmicMind/Material/issues/1017): Can we make the error detail for textfields dynamic?
* [issue-1053](https://github.com/CosmicMind/Material/issues/1053): TextField Detail Label not Layed-Out correctly with Left-Image.
* [pr-1103](https://github.com/CosmicMind/Material/pull/1103): Added ability to change password visibility icons.
* [pr-1097](https://github.com/CosmicMind/Material/pull/1097):: Added new extensions: UIColor(argb:), UIColor(rgb:), UIButton.fontSize, UILabel.fontSize.
* [pr-1093](https://github.com/CosmicMind/Material/pull/1093):: Fix TextField placeholderLabel position.
* [issue-1092](https://github.com/CosmicMind/Material/issues/1092): TextField.placeholderLabel is positioned higher than before in version 2.x.x.
* [pr-1103](https://github.com/CosmicMind/Material/pull/1103): Added ability to change password visibility icons.
* [issue-1012](https://github.com/CosmicMind/Material/issues/1012): Can we set visibility icon custom for password textfield.
## 2.15.0
* [issue-1057](https://github.com/CosmicMind/Material/issues/1057): Added image states for TabItems used in TabBar and TabsController.
## 2.14.0
* [issue-995](https://github.com/CosmicMind/Material/issues/995): Updated iOS 11 layout margins for NavigationBar.
* [pr-1038](https://github.com/CosmicMind/Material/pull/1038): Merged PR for iOS 11 layout margins fix.
## 2.13.7
* Updated TabsController to no longer force the default animation to change between tabs and not return to normal behavior.
* [issue-1044](https://github.com/CosmicMind/Material/issues/1044): Fixed issue where TabBar items were not correctly laying out.
## 2.13.6
* [issue-841](https://github.com/CosmicMind/Material/issues/841): Adjusted default sizing for Switch to be more like the original sizing.
* [pr-1030](https://github.com/CosmicMind/Material/pull/1032): Added workaround for known issue where trailing whitespace is apparent in UITextField.
* Updated to [Motion 1.3.5](https://github.com/CosmicMind/Motion/releases/tag/1.3.5).
## 2.13.5
* [pr-1019](https://github.com/CosmicMind/Material/pull/1019): Added swipe gesture handling to TabsController.
* Updated to [Motion 1.3.4](https://github.com/CosmicMind/Motion/releases/tag/1.3.4).
## 2.13.4
* [issue-1016](https://github.com/CosmicMind/Material/issues/1016): Updated hierarchy traversal for TransitionController types to no longer skip over non TransitionController types.
## 2.13.3
* [issue-1015](https://github.com/CosmicMind/Material/issues/1015): Fixed regression where view lifecycle functions were not being called.
* Motion disabled by default for NavigationController to avoid unbalanced calls to view lifecycle when presenting a NavigationController modally.
* Updated to [Motion 1.3.3](https://github.com/CosmicMind/Motion/releases/tag/1.3.3).
## 2.13.2
* Updated to [Motion 1.3.2](https://github.com/CosmicMind/Motion/releases/tag/1.3.2).
* Fixed unbalanced calls in Motion transitions.
## 2.13.1
* Updated to [Motion 1.3.1](https://github.com/CosmicMind/Motion/releases/tag/1.3.1).
## 2.13.0
* Updated to [Motion 1.3.0](https://github.com/CosmicMind/Motion/releases/tag/1.3.0).
## 2.12.19
* [issue-997](https://github.com/CosmicMind/Material/issues/977): Fixed NavigationDrawerController where swiping off device caused a partial correct state.
## 2.12.18
* Fixed layout issues in CollectionView, where the sizing was not correctlly being initialized.
* [issue-495](https://github.com/CosmicMind/Material/issues/495): Made TextField.textInset available in Obj-C.
## 2.12.17
* [pr-979](https://github.com/CosmicMind/Material/pull/979): Added `visibilityOff` icon and updated `TextField` to utilize it.
* [issue-982](https://github.com/CosmicMind/Material/issues/982): Updated Icon let declarations to var declarations to allow custom icon sets.
* [issue-980](https://github.com/CosmicMind/Material/issues/980): Added `@objc` to extension properties in Material+UIView.
* [issue-650](https://github.com/CosmicMind/Material/issues/650): Fixed issue where `NavigationBar.backButton` would incorrectly be laid out when caching view controllers.
* [issue-973](https://github.com/CosmicMind/Material/issues/973): Fixed issue where `Button.prepare` was not being called in the correct order.
## 2.12.16
* [issue-965](https://github.com/CosmicMind/Material/issues/965): Removed duplicate `prepare` call in initializer.
* Rework of Layout's internal process - removed an async call to layout views.
* Updated the layout calls for FABMenu's fabButton.
## 2.12.15
* [issue-957](https://github.com/CosmicMind/Material/issues/957): Fixed StatusBar height issue in iOS 9 and iOS 10.
## 2.12.14
* [samples issue-95](https://github.com/CosmicMind/Samples/issues/95): Fixed TabBar image colors that were not correctly being set for a given state.
* Fixed layout issue, where the calculation of the layout item was not being set in the current render cycle.
## 2.12.13
* Fixed issue where sizing of pulse was incorrectly animating when using the NavigationController on iOS 11.
## 2.12.12
* [issue-924](https://github.com/CosmicMind/Material/issues/924): Fixed NavigationController display in iOS 10.
## 2.12.11
* Fixed iPhoneX topLayoutGuide constraints not properly being set for StatusBarController types.
* Fixed iOS 11 layout issues for NavigationController.
* [pr-945](https://github.com/CosmicMind/Material/pull/945): iPhoneX update for TabBar bottom line alignment.
## 2.12.10
* [samples-issue-78](https://github.com/CosmicMind/Samples/issues/78): Fixed iPhoneX bottomLayoutGuide constraints not properly being set.
## 2.12.9
* Fixed breaking change to loading the TabsController.
## 2.12.8
* [issue-933](https://github.com/CosmicMind/Material/issues/933): Fixed issue where `NavigationDrawerController` was not displaying the `leftViewController` and `rightViewController`.
* [issue-940](https://github.com/CosmicMind/Material/issues/940): Fixed an issue where the `TransitionController` was not executing the lifecycle functions for the initial `rootViewController`.
## 2.12.7
* [pr-938](https://github.com/CosmicMind/Material/pull/938): An expansion on this PR to fix the lifecycle issues with transitions.
## 2.12.6
* Fixed issue where TabBar.lineColor was incorrectly being updated.
## 2.12.5
* Updated to [Motion 1.2.4](https://github.com/CosmicMind/Motion/releases/tag/1.2.4).
* [issue-937](https://github.com/CosmicMind/Material/issues/937): Added @objc to `TabBar.lineColor` for access availability.
* [pr-934](https://github.com/CosmicMind/Material/pull/934): Added access to the `TabBar.line` view.
## 2.12.4
* Updated to [Motion 1.2.3](https://github.com/CosmicMind/Motion/releases/tag/1.2.3).
* [issue-919](https://github.com/CosmicMind/Material/issues/919): Fixed issue where lifecycle methods were being called on tab item view controllers prematurely.
* [pr-923](https://github.com/CosmicMind/Material/pull/923): Merge PR that fixes [issue-919](https://github.com/CosmicMind/Material/issues/919).
* [issue-931](https://github.com/CosmicMind/Material/issues/931): Fixed issue where selectedTabItem was not updated correctly during a porgrammatic transition.
## 2.12.3
* [issue-907](https://github.com/CosmicMind/Material/issues/907): Fixed Layout ordering issues.
## 2.12.2
* [issue-860](https://github.com/CosmicMind/Material/issues/860): Updated TabBar color states and added an independent line color state.
## 2.12.1
* [issue-911](https://github.com/CosmicMind/Material/issues/911): Added @objc to TabBar.tabItems for visibility in Obj-C.
## 2.12.0
* [issue-860](https://github.com/CosmicMind/Material/issues/860): Added `TabBar` color states.
## 2.11.4
* Added Cartfile for Carthage package manager, which includes the Motion dependency.
## 2.11.3
* Updated Motion submodule to use `https` over `git@`.
## 2.11.2
* Updated to [Motion 1.2.2](https://github.com/CosmicMind/Motion/releases/tag/1.2.2).
## 2.11.1
* Fixed duplicate `prepare` call in `TabsController`.
## 2.11.0
* Updated the installation guide for Material, [Material - It's time to download](https://www.cosmicmind.com/danieldahan/lesson/6). Material now uses [Motion](https://github.com/CosmicMind/Motion) as a submodule and CocoaPods dependancy.
* [samples issue-70](https://github.com/CosmicMind/Samples/issues/70#issuecomment-335533243): Made an internal `_TabBarDelegate` to avoid needing to override the `TabBarDelegate` in `TabsController`.
## 2.10.4
* [issue-891](https://github.com/CosmicMind/Material/pull/891): Fixed conflict with addAttributes method in the NSMutableAttributedString extension.
## 2.10.3
* [issue-773](https://github.com/CosmicMind/Material/pull/773): Added `Swift 4` support.
* [pr-873](https://github.com/CosmicMind/Material/pull/873): Fixes PlaceholderLabel position when right-aligned - iOS 11.0
* [issue-886](https://github.com/CosmicMind/Material/issues/886): Fixed a memory leak within Motion's references to previous `UINavigationControllerDelegate` and `UITabBarControllerDelegate`.
* [issue-861](https://github.com/CosmicMind/Material/pull/861): Fixed `NavigationBar` being `nil` in some cases.
* [issue-845](https://github.com/CosmicMind/Material/pull/845): Fixed ambiguity issues with all properties.
## 2.10.2
* [issue-849](https://github.com/CosmicMind/Material/issues/849): Fixed issue where `TextView.placeholderNormalColor` was not correctly displaying. Renamed `TextView.placeholderNormalColor` to `TextView.placeholderColor`.
* [issue-856](https://github.com/CosmicMind/Material/issues/856): Fixed issue where `TextField.placeholderAnimation = .hidden` was not correctly being displayed when text was set to nil.
* All default instances of `Color.grey.lighten3` have been switched to `Color.grey.lighten2`.
## 2.10.1
* [issue-833](https://github.com/CosmicMind/Material/issues/833): `TabsController` now be selected programmatically.
* [issue-859](https://github.com/CosmicMind/Material/issues/859): `TabsController` now has a delegation protocol `TabsControllerDelegate`.
* [issue-830](https://github.com/CosmicMind/Material/issues/830): Bug fix where `TabsController` did not animate to the correct tab when programmatically set.
## 2.10.0
* [issue-857](https://github.com/CosmicMind/Material/issues/857): Fixed an issue where setting the `statusBar` property for the `ToolbarController` was not updating the background color correctly.
* [issue-858](https://github.com/CosmicMind/Material/issues/858): Fixed `Photos` sample project that was not updated to reflect the changes in the `TabBar`.
* [pr-715](https://github.com/CosmicMind/Material/pull/715): Added `isPlaceholderUppercasedWhenEditing` property to `TextField`.
* [pr-721](https://github.com/CosmicMind/Material/pull/721): Added `FABMenuItemTitleLabelPosition` which allows the `FABMenu` to place its `FABBMenuItems` to either the `left` or `right` position of the `FABButton`.
* [pr-851](https://github.com/CosmicMind/Material/pull/851): Added `placeholderHorizontalOffset` property to `TextField`.
* [pr-847](https://github.com/CosmicMind/Material/pull/847): Added `placeholderActiveScale` property to `TextField`.
* [pr-848](https://github.com/CosmicMind/Material/pull/848): Natural motion transition added to `TabsController` when view controller `motionModalTransitionType` is set to `.auto`.
* `Card` types default to a `depthPreset` of `.none`.
* Added `shouldSelect` method to `TabBarDelegate`.
* Updated `TabsController` to use `TabBarDelegate` rather than button handlers.
* Updated `EdgeInsetsPreset` values to:
```swift
.square1: EdgeInsets(top: 4, left: 4, bottom: 4, right: 4)
.square2: EdgeInsets(top: 8, left: 8, bottom: 8, right: 8)
.square3: EdgeInsets(top: 16, left: 16, bottom: 16, right: 16)
.square4: EdgeInsets(top: 20, left: 20, bottom: 20, right: 20)
.square5: EdgeInsets(top: 24, left: 24, bottom: 24, right: 24)
.square6: EdgeInsets(top: 28, left: 28, bottom: 28, right: 28)
.square7: EdgeInsets(top: 32, left: 32, bottom: 32, right: 32)
.square8: EdgeInsets(top: 36, left: 36, bottom: 36, right: 36)
.square9: EdgeInsets(top: 40, left: 40, bottom: 40, right: 40)
.square10: EdgeInsets(top: 44, left: 44, bottom: 44, right: 44)
.square11: EdgeInsets(top: 48, left: 48, bottom: 48, right: 48)
.square12: EdgeInsets(top: 52, left: 52, bottom: 52, right: 52)
.square13: EdgeInsets(top: 56, left: 56, bottom: 56, right: 56)
.square14: EdgeInsets(top: 60, left: 60, bottom: 60, right: 60)
.square15: EdgeInsets(top: 64, left: 64, bottom: 64, right: 64)
```
## 2.9.4
* Added `ToolbarAlignment` to allow placement of the `Toolbar` at the top or bottom of the view controller.
* Added `SearchBarAlignment` to allow placement of the `SearchBar` at the top or bottom of the view controller.
## 2.9.3
* Renamed `TabBarController` to `TabsController` to avoid name confusion with iOS `UITabBarController` helper properties.
* Updated layout with `TabsController` to properly adjust during orientation changes.
## 2.9.2
* `TabBarController` now subclasses `TransitionController` to minimize code.
* Fixed regression in `TabBarController` where line was incorrectly animation upon initial interaction.
## 2.9.1
* Renamed `TabsController` to `TabBarController`.
* Renamed `ChipsController` to `ChipBarController`.
* [issue-832](https://github.com/CosmicMind/Material/issues/832): Fixed issue where `TabBar` line was incorrectly laying out.
## 2.9.0
* Replaced `RootController` with `TransitionController`.
* Updated CharacterAttribute API.
* Added Chips - alpha phase.
* [issue-824](https://github.com/CosmicMind/Material/issues/824): Fixed issue where `TabBar` line alignment was not correctly animating when initial engaged.
* [issue-820](https://github.com/CosmicMind/Material/issues/820): Fixed retain cycle found in FABMenuController.
## 2.8.1
* [issue-815](https://github.com/CosmicMind/Material/issues/815): Fixed the TabBar line alignment issue when rotating the device orientation.
## 2.8.0
Removed PageTabBarController and added the TabsController. Now removing the following issues and feature requests:
* [issue-642](https://github.com/CosmicMind/Material/issues/642)
* [issue-742](https://github.com/CosmicMind/Material/issues/742)
* [issue-768](https://github.com/CosmicMind/Material/issues/768)
* [issue-605](https://github.com/CosmicMind/Material/issues/605)
* [issue-743](https://github.com/CosmicMind/Material/issues/743)
* [issue-619](https://github.com/CosmicMind/Material/issues/619)
## 2.7.1
* [issue-811](https://github.com/CosmicMind/Material/issues/811): Removed scrollable TabBar style, until feature is ready.
## 2.7.0
* Added [Motion](https://github.com/CosmicMind/Motion) framework to Material as new animation and transitions library.
* Removed `Capture`.
* Removed `PhotoLibrary`.
* Removed `Reminders`.
* [issue-809](https://github.com/CosmicMind/Material/issues/809): Fixed detailTextLabel visibility issue.
* [issue-797](https://github.com/CosmicMind/Material/issues/797): Added `back button` hiding features to `NavigationController`.
* [issue-552](https://github.com/CosmicMind/Material/issues/552): Fixed `@objc` declaration issues.
* [pr-662](https://github.com/CosmicMind/Material/pull/662): Added the ability to set a text inset for a `TextField`.
* [pr-707](https://github.com/CosmicMind/Material/pull/707): Moved the `statusBarStyle` extension to `NavigationController` from `UINavigationController`.
* Updated `Display` to `DisplayStyle` and renamed corresponding properties, in `ToolbarController`, `StatusBarController`, `SearchBarController`, `CaptureController`, and `ImageCard`.
## 2.6.3
* Fixed an issue where using child view controllers would break `presenting` and `dismissing` transition animations.
## 2.6.2
* [issue-608](https://github.com/CosmicMind/Material/issues/608): Updated `PageTabBarController` to allow programmatic selection of the current index using the `selectedIndex` property.
## 2.6.1
* Updated for Xcode 8.3.
## 2.6.0
* [issue-704](https://github.com/CosmicMind/Material/issues/704): Fixed an issue where `TextView.clipsToBounds` was revealing the scrollable text.
* [issue-663](https://github.com/CosmicMind/Material/issues/663): Added the ability to add insets for the `TextView`.
* [issue-598](https://github.com/CosmicMind/Material/issues/598): Added a placeholder to the `TextView`.
* Removed `Editor` and added all the necessary functionality in `TextView`.
## 2.5.2
* [issue-695](https://github.com/CosmicMind/Material/issues/695): Fixed issue with [pr-696](https://github.com/CosmicMind/Material/pull/696), where FABMenu was incorrectly being displayed used the SpringAnimation API.
## 2.5.1
* [issue-681](https://github.com/CosmicMind/Material/issues/681): Fixed regression where `NavigationBar` was not properly setting the background color.
* Fixed issue where transitions using `UINavigationController` would sometimes flicker.
## 2.5.0
* Renamed `FabButton` to `FABButton`.
* Moved `Menu` to `FABMenu`.
* Moved `MenuController` to `FABMenuController`.
* Added `FABMenuBacking` enum type to set a `blur` or `fade` for the opened `FABMenu` state using a `FABMenuController`.
* Renamed `MenuItem` to `FABMenuItem`.
* Added `SpringAnimation` animation API.
* [issue-641](https://github.com/CosmicMind/Material/issues/641): Added a new `PulseAnimation.tap` type, which has an instant feedback response when tapping.
* Updated `Toolbar.display` to `Toolbar.toolbarDisplay`.
* Updated `SearchBar.display` to `SearchBar.searchBarDisplay`.
* Added `StatusBar.statusBarDisplay`.
* Added `MotionAnimation` enum type and helper methods to `CALayer` and `UIView` as extensions.
* Added [Motion](https://github.com/CosmicMind/Motion) to Material.
## 2.4.19
* [issue-692](https://github.com/CosmicMind/Material/issues/692): Fixed issue where Carthage was failing to build the macOS target for Material.
## 2.4.18
* Removed macOS support.
## 2.4.17
* Updated Material.podspec to fix potential macOS issue.
## 2.4.16
* [issue-678](https://github.com/CosmicMind/Material/issues/678): Fixed issue where `Card` was incorrectly displaying its `contentView`.
## 2.4.15
* Fixed an issue where the `Card` was not displaying the `contentView` and `presenterView` correctly on initial load.
## 2.4.14
* Added missing `UIView` properties to `Material+UIView` extension that are used in the [Motion](https://github.com/CosmicMind/Motion) [PhotoCollection](https://github.com/CosmicMind/Samples/tree/master/Motion/PhotoCollection) sample.
## 2.4.13
* Added [Motion](https://github.com/CosmicMind/Motion) as a separate framework from [Material](https://github.com/CosmicMind/Material).
## 2.4.12
* [issue-676](https://github.com/CosmicMind/Material/issues/676): Fixed an issue where `Card` types were not adjusting size correctly when using `UILabels`.
## 2.4.11
* [issue-658](https://github.com/CosmicMind/Material/issues/658): Added `TextFieldPlaceholderAnimation` enum type to enable `TextField` to have different animations.
## 2.4.10
* Fixed an issue where `TabBar` was not correctly setting the `contentEdgeInsets*` and `interimSpace*`.
## 2.4.9
* [issue-655](https://github.com/CosmicMind/Material/issues/655): Updated date for release in README to 2017.
## 2.4.8
* [issue-653](https://github.com/CosmicMind/Material/issues/653): Fixed a `TextField` issue where the animation was not correctly responding to a programmatic text update.
## 2.4.7
* Updated README release dates.
## 2.4.6
* [issue-640](https://github.com/CosmicMind/Material/issues/640): Fixed an issue where `TextField` was not laying out correctly when setting the text programmatically.
## 2.4.5
* [issue-646](https://github.com/CosmicMind/Material/issues/646): Fixed an issue where calling `TextField.becomeFirstResponder` in `viewDidLoad` would cause a layout issue.
## 2.4.4
* [issue-644](https://github.com/CosmicMind/Material/issues/644): Fixed issue where `Switch.isOn` and `Switch.switchState` were not updating correctly.
## 2.4.3
* [issue-643](https://github.com/CosmicMind/Material/issues/643): Fixed an issue where `Layout` was not anchoring correctly for `View` subclasses.
## 2.4.2
* Fixed double `Menu.hitTest` call that was causing the delegation method to be fired more than once.
* Updated `Toolbar.title`, `Toolbar.titleLabel`, `Toolbar.detail`, and `Toolbar.detailLabel` to be `@IBInspectable`.
## 2.4.1
* [issue-194](https://github.com/CosmicMind/Material/issues/194): Fixed an issue where hitTest was failing after translation animation.
* [issue-624](https://github.com/CosmicMind/Material/issues/624): Updated `Switch` & `TabBar` control to only call the delegation methods when the control is updated through a user interaction.
* Renamed `Switch.on` to `Switch.isOn`.
* Removed `Switch.setOn` function.
* [issue-630](https://github.com/CosmicMind/Material/issues/630): Added `Reminders` and `RemindersController`.
* Added `isDividerHidden` for the `Divider UIView` extension.
## 2.4.0
* [issue-551](https://github.com/CosmicMind/Material/issues/551): Fixed issue where `TabBar` was not laying out buttons correctly when more than 6 were used.
* [issue-618](https://github.com/CosmicMind/Material/issues/618): Updated `Grid` and `Layout` to solve a `Toolbar` layout challenge.
* [issue-620](https://github.com/CosmicMind/Material/issues/620): Fixed issue where setting the `CAAnimation.delegate` was causing an animation issue.
## 2.3.22
* [issue-597](https://github.com/CosmicMind/Material/issues/597): Fixed an issue where `NavigationBar` was not adjusting to all sizes correctly when using modal presentation styles.
* Fixed an issue when `cornerRadius` was not being calculated correctly when the `CALayer` was rotated.
## 2.3.21
* [issue-612](https://github.com/CosmicMind/Material/issues/612): Fixed issue where SnackbarController was not resizing correctly.
* [issue-615](https://github.com/CosmicMind/Material/issues/615): Added `snackbarEdgeInsets` and `snackbarEdgeInsetsPreset` to position the `Snackbar` from the `SnackbarController's` edges.
## 2.3.20
* [issue-613](https://github.com/CosmicMind/Material/issues/613): Fixed an issue where the Grid system was not laying out in all cases that it should.
* Removed `statusBarStyle` and `isStatusBarHidden` properties from `RootController` types, in favor of using the `Application` class. `StatusBarController` now provides `statusBarStyle` and `isStatusBarHidden` properties.
## 2.3.19
* [issue-553](https://github.com/CosmicMind/Material/issues/553): Fixed an issue where the `NavigationDrawerController.leftViewController` was sizing incorrectly.
## 2.3.18
* [issue-610](https://github.com/CosmicMind/Material/issues/610): Fixed issue where the `RootController.rootViewController` was not transitioning correctly when using certain UIViewController types.
## 2.3.17
* Added the ability to modify the `contentViewAlignment` of a `NavigationItem` dynamically.
* Renamed the `ContentViewAlignment.any` value to `ContentViewAlignment.full`.
## 2.3.16
* Minor updates to `Card` types for code clarity.
## 2.3.15
* Fixed issue where `ImageCard` was not ordering the `UIImageView` behind the `Toolbar` correctly.
## 2.3.14
* Fixed an issue where iOS animations with `Motion` were not correctly writing their end value using `CAAnimationDelegate`.
## 2.3.13
* Fixed an issue where the `NavigationBar.backButton` was not placed at the most left position when present.
## 2.3.12
* Updates `Motion.translation*` to `Motion.translate*`.
* [issue-595](https://github.com/CosmicMind/Material/issues/595): Fixed issue where CAAnimations for iOS 10 were not working correctly.
* [issue-600](https://github.com/CosmicMind/Material/issues/600): Fixed issue where `Carthage` was not able to build due to failing to recognize the `NavigationDrawerController` gesture recognizer.
## 2.3.11
* [issue-600](https://github.com/CosmicMind/Material/issues/600): Fixed issue where `Carthage` was not able to build due to failing to recognize the `NavigationDrawerController` gesture recognizer.
## 2.3.10
* [issue-583](https://github.com/CosmicMind/Material/issues/583): Fixed issue where `TextField.detail` was not being displayed unless it was set upon preparation time.
* [issue-594](https://github.com/CosmicMind/Material/issues/594): Added feature request to set the `TextField.leftView` coloring based on the `normal` or `active` states, using the `TextField.detail .leftViewNormalColor` and `TextField.detail .leftViewActiveColor` properties respectively.
## 2.3.9
* [issue-584](https://github.com/CosmicMind/Material/issues/584): Added enum types for `Device.model` value.
* Divided `Device` into `Application`, `Device`, and `Screen`. This is for expansion of their APIs.
* Fixed issue where `NavigationDrawer` and `RootController` types would conflict when showing the statusBar.
## 2.3.8
* [issue-588](https://github.com/CosmicMind/Material/issues/588): removed memory leaks that surround Grid.
* `Grid` is now a struct from a class type.
* `Divider` is now a struct from a class type.
* `Pulse` is now a struct and views that have pulse now conform to the `Pulseable` protocol.
## 2.3.7
* [issue-592](https://github.com/CosmicMind/Material/issues/592): fixed `NavigationDrawerController` regression, where transitioning the `rootViewController` would go behind the `contentViewController`.
## 2.3.6
* Updated blur logic.
## 2.3.5
* [issue-591](https://github.com/CosmicMind/Material/issues/591): Fixed `blur` calculation complexity for `Carthage` compilation.
## 2.3.4
* [issue-588](https://github.com/CosmicMind/Material/issues/588): Fixed GridAxis memory leak issue.
## 2.3.3
* [issue-568](https://github.com/CosmicMind/Material/issues/568): fixed issue where `placeholderActiveColor` was not being set correctly when `TextField` was in an active state.
* [issue-568](https://github.com/CosmicMind/Material/issues/568): fixed issue where setting `text` to `nil` broke the `TextField` layout.
* [issue-581](https://github.com/CosmicMind/Material/issues/568): Added `UIImage.blur` extension.
## 2.3.2
* Fixed [issue-557](https://github.com/CosmicMind/Material/issues/577) where the transitioned view controller was overlapping the `RootController` type controls.
## 2.3.1
* Added `Capture` delegation methods that notify when `videoOrientation` changes.
## 2.3.0
* Merged in [PR-566](https://github.com/CosmicMind/Material/pull/566) to move `CAAnimation` String constants to enum types.
* Renamed the `Animation` struct to `Motion`, in order to initiate the expansion of the Motion library within Material.
* Fixed [issue-573](https://github.com/CosmicMind/Material/issues/573) where sample had incorrect spelling for `Material`.
* Updated `Bar` type layout mathematics.
* Updated `FabButton` default `backgroundColor` to `white`.
* Updated `Capture` API with [sample project](https://github.com/CosmicMind/Samples/tree/master/Material/Programmatic/CaptureController).
## 2.2.5
* Merged in [PR-563](https://github.com/CosmicMind/Material/pull/563) for [issue-549](https://github.com/CosmicMind/Material/issues/549), where Privacy related features are now using CocoaPods subspecs.
## 2.2.4
* Fixed issue where `ImageCard` `top` and `bottom` `EdgeInsets` were not being applied correctly.
## 2.2.3
* Updated Card internals for better performance.
* Added sample [CardTableView](https://github.com/CosmicMind/Samples/tree/master/Graph/CardTableView).
## 2.2.2
We moved all sample projects to a separate repo named [Samples](https://github.com/CosmicMind/Samples) to allow their development to be independent of the Material framework. There has been instances where we needed to update the versions of the framework to accommodate changes that only occurred in the sample projects.
## 2.2.1
* Fixed recursion issue with `Snackbar` and reloading.
* issue-552: Removed extraneous @objc declarations.
* Added `dividerContentEdgeInsets` and `dividerContentEdgeInsetsPreset` to Material+UIView extension.
## 2.2.0
* Updated default `pulseColor` to `Color.grey.base`.
* Added `HeightPreset` type to dynamically set the height of the `CALayer` & `UIView` types.
* `UIImage.tintWithColor(color: UIColor)` is now `UIImage.tint(with color: UIColor)` and always returns with `.alwaysOriginal` rendering mode.
* `UIImage.imageWithColor(color: UIColor)` is now `UIImage.image(with color: UIColor)` and always returns with `.alwaysOriginal` rendering mode.
* Merged in [PR 544](https://github.com/CosmicMind/Material/pull/544#pullrequestreview-3892111), which allows for the left view to be used in the `TextField`.
* Updated the `TextField` example project to reflect [PR 544](https://github.com/CosmicMind/Material/pull/544#pullrequestreview-3892111).
* Reworked `TextField`.
* Added `contentEdgeInsets` to `Divider`.
* Fixed issue where `pulse layer` was covering `Button` images when engaged.
* For `Divider`, renamed `dividerHeight` to `dividerThickness` to accommodate alignment logic.
* Added SearchBar delegation methods for when text changes and for when the text has been cleared.
## 2.1.2
* Updated default `pulseColor` to `Color.white`.
* Updated [NavigationDrawerController Example Project](https://github.com/CosmicMind/Material/tree/master/Examples/Programmatic/NavigationDrawerController) to demonstrate how to transition the `rootViewController`, both with a `ToolbarController` and without, issue-546.
## 2.1.1
* Moved the Switch `trackLayer` property from a `CAShapeLayer` to a `UIView` that is now named `track`.
* Fixed an issue where `Switch` in a `Bar` type or `NavigationBar` would behave incorrectly, issue-540.
* Added a `ToolbarController` to the programmatic `NavigationDrawerController` example project.
## 2.1.0
* Added a new feature where `TextField`'s `placeholder` can be fixed at the top and not animated by setting the `isPlaceholderAnimated` property to `false` (issue-534).
* Added a new feature where a `centerViews` property is added to `Bar` types, to automatically align views in the center outward positions. Updated sample `Card` projects and `Bar` projects to reflect this.
* Added a new feature to `Grid`, where `columns` and `rows` are automatically set if their values have not been changed from the default `0` value.
## 2.0.0
* Renamed `MaterialColor` to `Color`.
* Renamed `MaterialIcon` to `Icon`.
* Renamed `MaterialSpacing` to `InterimSpacePreset`.
* Renamed `MaterialButton` to `Button`.
* Renamed `MaterialView` to `View`.
* Renamed `MaterialPulseView` to `PulseView`.
* Renamed `MaterialSwitch` to `Switch`.
* Renamed `MaterialLayer` to `Layer`.
* Renamed `MaterialFont` to `Font.
* Renamed `MaterialEdgeInset` to `EdgeInsetsPreset`.
* Renamed `MaterialDevice` to `Device`.
* Renamed `MaterialDepth` to `Depth`.
* Renamed `CaptureView` to `Capture`.
* Renamed `CardView` to `Card`.
* Renamed `ImageCardView` to `ImageCard`.
* Renamed `MaterialBorder` to `BorderWidthPreset`.
* Renamed `MaterialRadius` to `CornerRadiusPreset`.
* Renamed `MaterialDataSourceItem` to `DataSourceItem`.
* Renamed `MaterialTableViewCell` to `TableViewCell`.
* Renamed `shadowPathAutoSizeEnabled` to `isShadowPathAutoSizing`.
* Fixed issue where TextField placeholder was not respecting initial vertical offset (issue-469).
* Added @objc to all enums to allow Obj-C to see the enum types and associated methods (issue-472).
* Added `PageTabBarController`.
* Added `JSON` to simplify working with JSON objects.
## 1.42.9
* Fixed issue where `textColor` was not being respected in Storyboards for `TextField` (issue-487).
## 1.42.8
* Fixed issue where initially setting the `TextField` did not correctly align the `placeholder` offset (issue-469).
## 1.42.7
* Fixed issue where `TextField` alignment was incorrect with RTL (issue-456).
## 1.42.6
* Fixed issue where `StatusBarController` was not calling its `super.prepareView` method.
## 1.42.5
* Fixed issue where NavigationBar was not aligning correctly with Storyboards.
* Updated `CGRectZero` values to `CGRect.zero`.
* Minor cleanups.
## 1.42.4
* Fixed issue where left and right view controllers are not enabled on `NavigationDrawerController` (issue-452).
## 1.42.3
* Fixed an issue where `MaterialSwitch` was exposing a memory leak with its `delegate` (issue-449).
* Fixed a regression where FabButton was losing shape (issue-450).
* Updated property `enableHideStatusbar` to `enableHideStatusBar` for `NavigationDrawerController`.
* Updated `CGRectZero` to `CGRect.zero`.
## 1.42.2
* Fixed an issue where `Toolbar` and `NavigationBar` `title` alignment was off with a `detail` value of "" (issue-445).
* Fixed an issue where `NavigationDrawerController` was crashing when transitioning between `rootViewController` (issue-444).
## 1.42.1
* Fixed issue with NavigationDrawerController rightView not aligning correctly when rotating device.
## 1.42.0
* Update `shadowPath` animation to happen when laying out subviews, rather than when laying out sublayers.
* Renamed `MaterialLayout` to `Layout` for simplicity.
* Added `Layout` extension to ease the usage of AutoLayout.
* Added [Layout Documentation](http://www.cosmicmind.io/material/layout).
* Updated the `MaterialLayout` project to `Layout`.
* fixed width issue for all `ControlView` types when using dynamic `intrinsicContentSize` (issue-436).
* Renamed `SideNavigationController` to `NavigationDrawerController`.
* Removed `SideNavigationController` example project for both programmatic and storyboards.
* Added `NavigationDrawerController` example project for both programmatic.
* Added `StatusBarController` to manage a statusBarView.
## 1.41.8
* Fixed an issue where the `UINavigationItem.title` KVO would crash when releasing the instance. The fix completely removes KVO and utilizes Swift `nonobjc` tagging.
## 1.41.7
* Added `adjustOrientationForImage` to `CaptureSession` in order to fix image alignment issues.
* Updated `CaptureView` sample project to reflect changes made in `ToolbarController`.
* Updated `MaterialView` sample project to demonstrate aligning a `MaterialView` in the `center` of a view controller.
* Fixed issue where UINavigationItem.title was not updating the titleLabel text.
## 1.41.6
* Fixed issue with ellipses in NavigationBar showing when panning back to the backItem (pr-409).
## 1.41.5
* Added delegation method `menuViewDidTapOutside` to `MenuView` to support closing the `Menu`, `MenuView`, or `MenuController` items when opened and clicking on any area of the view (issue-406).
## 1.41.4
* Removed `statusBarStyle` from `BarView` types.
* Added `statusBarStyle` to BarController types.
* Added `layoutInset` to `Grid` for an additional layer of flexibility.
* Fixed an issue where BarControllers were not allowing `contentInset.top` to be used correctly.
* Updated projects to reflect framework changes.
## 1.41.3
* Fixed issue where `MaterialSwitch` was referencing self and creating a bad access (issue-399).
* Fixed issue where `TextField.secureTextEntry` would break the font being displayed (issue-400).
* Moved `MenuViewController` to `MenuController`.
* Updated `MenuController.itemViewSize` to `MenuController.itemSize`.
* Updated `MenuController.baseViewSize` to `MenuController.baseSize`.
* Updated all references to `unowned self` to `weak self`.
* Added convenience properties `title` and `detail` to the `Toolbar`, which reload the view when changed.
* Added convenience properties `title` and `detail` to UINavigationItem to easily handle text changes.
* added to `TextField` the `placeholderVerticalOffset` and `detailVerticalOffset` to determine the alignment during animations and loading of the `placeholderLabel` and `detailLabel`.
## 1.41.2
* Fixed issue where Toolbar was not respective the frame size set (issue-382).
* Fixed issue where Toolbar was not drawing the titleLabel and detailLabel text without left/right controls (issue-381).
* `StatusBarView` is now `BarView`.
* `StatusBarViewController` is now `BarViewController`.
## 1.41.1
* Fixed text alignment issue in NavigationBar and Toolbar.
## 1.41.0
* All references to `detailView` are now `contentView`.
* Updated NavigationBar interface.
* Reworked NavigationBar.
* Reworked Toolbar measurements.
* Reworked SearchBar measurements.
## 1.40.1
* Fixed issue where initializing a Toolbar in a method was causing an ambiguous initializer error (issue-363).
* Added Boolean properties to SideNavigationController to enable and disable gestures (issue-365).
```swift
sideNavigationController.enabled = true
sideNavigationController.enabledLeftView = true
sideNavigationController.enabledLeftTapGesture = true
sideNavigationController.enabledLeftPanGesture = true
sideNavigationController.enabledRightView = true
sideNavigationController.enabledRightTapGesture = true
sideNavigationController.enabledRightPanGesture = true
```
* Updated the SideNavigationController `leftThreshold` and `rightThreshold` to 64 as a default.
* Updated MaterialIcon images to work better with CocoaPods (issue-362).
## 1.40.0
* Added Google visibility icon to MaterialIcon.
* Added Google check icon to MaterialIcon.
* Reworked TextField with [documentation](http://www.cosmicmind.io/material/textfield).
* Added ErrorTextField.
* Added visibility button and clear button auto enabling without conflicting with iOS clearButton for TextField.
* Reworked pulse animations.
* Added `PulseAnimation` enum type to select the type of pulse animation.
* Added `IconButton` to simplify the usage of using icons and buttons.
* Fixed issue where panning gestures were conflicting with the SideNavigationController rootViewController (1ssue-322, issue-320).
## 1.39.17
* Updated MaterialDepth to more accurately express Material Design's shadows (issue-323).
* Fixed an issue where MaterialButtons could not update `textColor` (issue-333).
## 1.39.16
* Fixed issue where TextField `resignFirstResponder` was not hiding the `titleLabel` (issue-332).
* TextField no longer needs to setup `detailLabel` property.
* TextField `detailLabel` now supports @IBInspectable.
## 1.39.15
* Fixed issue where TextField doesn't hide the titleLabel when programmatically cleared (issue-330) (pr-331).
## 1.39.14
* Added UIImage extension `tintWithColor`, which allows an image to be tinted with a passed in color.
* Added `pulseCenter` property, which forces the pulse animation to animate from the center of the view (pr-325).
* Updated `prepareView` to be public, which allows for better subclassing and preparation of views (pr-329).
* Fixed issue where TextField regressed when updating the `placeholder` value (issue-316).
## 1.39.13
* Fixed issue where TextField `placeholder` could be updated while a text value exists (issue-316).
## 1.39.12
* Updated Example/Programmatic/SideNavigationController project to demonstrate how to transition the rootViewController (issue-309).
## 1.39.11
* Added a link to download our sticker sheet.
* Updated App project with correct naming in AppDelegate file.
## 1.39.10
* README Update.
## 1.39.9
* Added storyboard CardView example with two CardViews (issue-304).
## 1.39.8
* Fixed issue where TextField animation references `unowned self` and should be `weak self` (issue-301) (pr-302).
* Added `lineLayerThickness` and `lineLayerActiveThickness` to TextField in order to adjust lineLayer during different states (issue-307).
## 1.39.7
* Fixed issue where TextField delegate method `textFieldShouldClear` was not being respected (issue-296).
## 1.39.6
* Updated TextField's default colors to the correct Material Design colors (pr-290).
* Added UIImage blur effect (pr-291).
* Added UIImage blur example project, FilterBlur.
* Added `SideNavigationController.statusBarUpdateAnimation` property to set the animation type when hiding the statusBar.
* Added `SideNavigationController.statusBarStyle` property to set the statusBar style.
## 1.39.5
* Added MaterialIcon example project.
* Added additional Google and CosmicMind icons.
* Added MaterialFontLoader to aid in loading packaged fonts with Material.
* Updated App project to properly handle SideNavigationController ```openLeftView``` if used.
## 1.39.4
* Updated the TextField animations.
## 1.39.3
* Fixed bundle identifier issue with CocoaPods and MaterialIcon.
## 1.39.2
* Updated Material bundle identifier.
## 1.39.1
* Updated TextField to match Material Design input text spec.
## 1.39.0
* Added early release of TabBar.
* Updated default `spacing` to `Spacing1` for Toolbar and SearchBar.
* Updated default `contentInsetPreset` to `Square1` for Toolbar, SearchBar, and NavigationBar.
* Updated ```MaterialGravityToString``` to ```MaterialGravityToValue```.
* TextField's ```clearButton``` no longer needs to be setup.
* TextField's ```titleLabel``` no longer needs to be setup (issue-241).
* TextField and SearchBar - added ```clearButtonAutoHandleEnabled``` flag that when set to ```false```, the handler for clearing text is removed (issue-229).
* TextField's ```titleLabelAnimationDistance``` is now 4 by default.
* TextField's ```titleLabel``` now floats when focused (issue-203).
* TextField's ```bottomBorderLayerDistance``` is now ```lineLayerDistance```.
* TextField now supports the ```lineLayerActiveColor```, which is set when the TextField is focused.
* TextField now supports the ```lineLayerDetailActiveColor```, which is set when the TextField detailLabel is displayed.
* Fixed issue-203, where TextField's ```lineLayer``` property was not the proper thickness when active.
* Fixed regression, where the TextField's ```bottomLayer``` color was not showing (issue-276).
* Removed shape code that was not needed in TextField and TextView.
* Updated example projects using SearchBar, and simplified the configuration for the SearchBar.
* Added OSX build target.
* Added MaterialColor to OSX.
* Added Google icons as default for ```MaterialIcon``` and additional CosmicMind icons with ```cm``` namespace (issue-285).
## 1.38.5
* Fix for MaterialIcon, [issue-279](https://github.com/CosmicMind/Material/issues/279).
* Fix for touch consumption, [issue-280](https://github.com/CosmicMind/Material/issues/280).
## 1.38.4
* Added custom icons to MaterialIcon.
## 1.38.3
* Updated App example project.
* Added MaterialCollectionView example project.
* Added NavigationController storyboard example project.
* Default colors for MaterialSwitch moved from MaterialColor.lightBlue.* to MaterialColor.blue.*.
* Updated MaterialColor with corrections to the colors from Material Design (issue-271).
## 1.38.2
* Switched BottomNavigationBar to BottomTabBar, as it is more appropriate in the context of iOS. BottomNavigationController will be comprised of a SnackBar (coming soon), and BottomTabBar.
* Added fix for Interface Builder, where MaterialSwitch was causing crashes (issue-259).
* Fixed issue where MaterialSwitch color was not propagating until engaged (issue-260).
## 1.38.1
* Added missing imports for UIKit in MaterialCollectionView classes.
## 1.38.0
* Added BottomNavigationBar.
* Added default Fade animation to BottomNavigationBar.
* Added programmatic BottomNavigationBar example project.
* Added storyboard BottomNavigationBar example project.
* Added BottomNavigationController.
* Added programmatic BottomNavigationController example.
* Removed c-style ```for``` loops.
* Updated bundle detection for MaterialIcon.
* References for `mainViewController` are now `rootViewController`.
* References for `transitionFromMainViewController` are now `transitionFromRootViewController`.
* The example App project demonstrates how to hide the `statusBar` without the `navigationBar` being animated.
* Fixed warnings for Swift 3.
* Added detection for latest iPad and iPhone.
## 1.37.3
* Fixed issue-244, where Test Coverage flag was causing an error.
## 1.37.2
* Updated the default width of the SideNavigationController to reflect the Material Design spec more accurately. For mobile, the default width is 280px, and for tablet, the default width is 320px.
## 1.37.1
* Removed SideNavigationControllerDelegate call from NavigationController class that was not used.
## 1.37.0
* Added `pulseFocus` Boolean flag that keeps the pulse displayed as the button is highlighted (issue-217).
* Switched `pulseColorOpacity` to `pulseOpacity`.
* Added @IBInspectable where appropriate (issue-151).
* Added @IBDesignable where appropriate (issue-151).
* Fixed an issue where the tests were being broken (issue-224).
* `NavigationBarView` is now called `Toolbar`.
* `SearchBarView` is now called `SearchBar`.
* `SideNavigationViewController` is now `SideNavigationController`.
* Added public `leftThreshold` and `rightThreshold` to `SideNavigationController` (issue-220).
## 1.36.0
* Added class NavigationBar and NavigationController.
* Added contentsGravityPreset where appropriate, and now contentsGravity takes a String.
* Fixed issue-213, `shadowPathAutoSizeEnabled` now defaults to true, from false.
## 1.35.3
* MaterialAnimation.rotate now accepts an `angle` parameter or a `rotation` parameter.
* Fixed issue-194, where the MaterialAnimation.translation animations were not capturing the final state value.
* Fixed issue-201, by guaranteeing that the minimal iOS version is 8.
## 1.35.2
* Updated storyboard NavigationBarView example project to correctly set the height of the NavigationBarView when rotating orientations on both iPad and iPhone.
* Removed NavigationBarViewDelegate and SearchBarViewDelegate.
## 1.35.1
* Fixed issue-195, where MaterialSwitch was switching the switchState automatically through the highlighted property.
* Fixed issue-196, where NavigationBarView was not sizing correctly on iPad.
* Added MaterialDevice helper class that provides useful values for orientation and bounds size.
## 1.35.0
* Removed backDropLayer for SideNavigationViewController. Now, the mainViewController.view property is set to 50% alpha when opened and 100% alpha when closed. The color is adopted from the backgroundColor of the mainViewController.view property.
* MenuViewController now animates its backdrop effect.
## 1.34.10
* Added `shadowPathAutoSizeEnabled` property that enables auto sizing for the shadowPath property. Defaults to false.
## 1.34.9
* Fixed shadowPath animation on rotation.
* Proposed fixed for NavigationBarView geometry issue.
* Updated CardView and ImageCardView to have a default rounded corner of .Radius1 as in the Material Design spec.
* Updated the example App project.
## 1.34.8
* Updated example App project.
## 1.34.7
* Updated App project example, by showing how to switch NavigationBarViewController's mainViewController from a SideNavigationViewController.
* Added a FeedViewController to the example App project that shows how to use CardViews in a MaterialCollectionView.
* Fixed a performance issue with shadows and animations, issue-186.
## 1.34.6
* Fixed issue with MaterialSwitch, issue-181.
* Fixed issue with NavigationBarView Geometry, issue-179.
* Added MaterialCollectionView, MaterialCollectionViewLayout, MaterialCollectionViewCell.
* Added enum MaterialSpacing type for spacing presets, spacingPreset.
* Added TextField storyboard example.
* Rework to better the performance of animations with depth.
## 1.34.5
* Fixed breaking examples.
## 1.34.4
* Added **NavigationBarViewControllerDelegate** that monitors the state of the `floatingViewController` property.
* Added **TextField** `detailLabelAutoHideEnabled`property that flags the animation to hide the detailLabel automatically when the text value has changed. Default is true.
## 1.34.3
* Added headers to public build phase.
## 1.34.2
* License text update.
## 1.34.1
* CaptureView example has been updated to use the latest NavigationBarView API.
* NavigationBarView default sizing:
- Only titleLabel, font size is 20.
- With titleLabel and detailLabel, font size is 17 for titleLabel, and 12 for detailLabel.
* Example projects updated.
## 1.34.0
* Added App example project in Examples/Programmatic.
* Added ControlView.
* Added StatusBarView.
* NavigationViewController is now NavigationBarViewController.
* Added StatusBarViewController.
* Added SearchBarViewController.
* MaterialSwitch now supports setting the "on", "selected", "highlighted", and "switchState" properties to toggle the state of the control.
* MaterialSwitch now supports setOn(on: Bool, animated: Bool) method to switch the state of the control.
* MaterialSwitch now supports 'on', 'highlighted', 'selected', 'state', and 'switchState' public mutators.
* MaterialSwitchDelegate updated 'materialSwitchStateChanged' delegation method to only pass a reference to the control, rather than control and state value.
* Added MenuViewController.
* SideNavigationBarViewController is now SideNavigationViewController.
* UIViewController Optional property sideNavigationBarViewController is now sideNavigationViewController.
* Added TextField placeholderTextColor property to set the placeholder text color.
* TextField detailLabel property hides automatically when typing.
* TextField now supports a custom clear UIButton by setting the clearButton property.
## 1.33.2
* Updated SerchBarView Example.
* A rotation issue is fixed when in landscape mode and toggling the SideNavigationViewController, where the statusBar would
* Added MaterialSwitch UIControl component with example projects in the Examples/Programmatic directory.
* MaterialEdgeInsetPreset is now MaterialEdgeInset.
* MaterialRadius preset values are now supported through the cornerRadiusPreset property. The cornerRadius property now supports CGFloat values directly.
* Updated TableCardView example.
* Added SearchBarView.
* Updated NavigationBarView API.
* Added NavigationViewController.
* Updated TextField and TextView issue, where letters such as "y g p" would not display correctly.
* MaterialButton has updated contentInsetPreset to contentEdgeInsetsPreset.
* Added MaterialTableViewCell with pulse animation.
* Updated SideNavigationViewController example project.
## 1.32.2
* Fixed an issue with MenuView, where outside views were not detected when touched.
* Updated API to reference views.
## 1.32.1
* MenuView wraps a Menu with a MaterialPulseView to ease the use of laying out menus, as well as, provide a more robust approach to Menus.
* Menus now hold an array of UIViews, allowing any UIView to be animated with Menu.
* The borderWidth property for Material views no longer uses an enum MaterialBorder type. It now supports the CGFloat type.
## 1.32.0
* CardView and ImageCardView no longer support the detailLabel property. Now, a detailView property has been added to allow any UIView, including UILabel to be added in the detail area.
## 1.31.6
* Grid now supports management of rows and columns in a single mapping.
* Updated Grid examples.
* Visit the Examples directory to see example projects using Material.
## 1.31.5
* Updated README.
## 1.31.4
* Updated Grid Example.
* Updated README.
## 1.31.3
* Updated Material usage description.
## 1.31.2
* Introducing Material Grid. A flexible grid system to handle complex layouts.
* Default depth is now .Depth1.
## 1.31.1
* Added two more examples using Menu.
## 1.31.0
* Added a new component, Menu!
* A Menu manages a group of UIButtons that may be animated open in the Up, Down, Left, and Right directions. The animations
## 1.30.2
* Fixed an issue where toggling the SideNavigationViewController enabled property caused the 'left' and 'right' view to stop
## 1.30.1
* Updated MaterialView example.
## 1.30.0
* Updated pulse animation to be a wave.
* Added `pulse` method to programmatically trigger the pulse animation.
* Updated examples to reflect pulse changes.
* Updated README to reflect pulse changes.
* Removed `pulseFill` and `spotlight` from pulse animatable views as they are no longer needed.
## 1.29.4
* Some minor updates to the internal references used for animations.
* Removed Task example to its own repository.
## 1.29.3
***This update is recommended.***
* Major update to SideNavigationViewController internals and animation.
* Added an additional duration parameter to setLeftViewWidth with animation and setRightViewWidth with animation.
## 1.29.2
***This is a recommended update.***
* Updated internal animations to handle UIView animations correctly.
* Updated SideNavigationViewController to allow quick swipe to close.
* Updated SideNavigationViewController to not block view touches when tap gesture is triggered.
* Updated workspace reference to Material project.
## 1.29.1
* To remove deprecated warnings, and provide an overall better solution, UIImage now utilizes NSURLSession for asynchronous image loading.
* The MaterialLayer example project demonstrates this feature update.
## 1.29.0
* SideNavigationViewController now supports the Right position for View Controllers.
* SideNavigationViewController API updates should be reviewed from the Class file.
## 1.28.1
* Updated README.
## 1.28.0
* Updated framework name to Material to avoid conflicts with other frameworks.
* Updated default TextField animation distance for titleLabel to 8.
* Updated default TextView animation distance for titleLabel to 8.
## 1.27.14
* The SideNavigationViewController example project has been updated.
* Updated README.
## 1.27.13
* An updated SideNavigationViewController example has been added to the Examples Programmatic directory. It includes a fresh new look and a reusable template for your applications.
## 1.27.12
* Updates to the TextView and TextField were made to follow Google's spacing guidelines.
* An issue with setting the TextView or TextField's text property has been fixed, where the title label was not being
* Additional updates were made to many of the example projects.
## 1.27.11
* Updated License Format.
## 1.27.10
* Updated License Format.
## 1.27.9
* Material is moving to a BSD license.
## 1.27.8
* Added @objc to TextView and TextViewDelegate to eliminate conflicts when using swift within an Objective-C project.
Below is an example of a medium CardView using Grid.
## 1.27.7
* Fixed an issue where the optional TextView.text property was being accessed and throwing an error when used in combination with Objective-C.
## 1.27.6
* Updated TextView internals to avoid optimization build issue with Carthage.
* Updated icon set in example projects.
* Updated Resources folder with latest graphics.
* Updated README.
## 1.27.4
* Removed the File Class.
* Updated README to correct TextField example.
Right out of the box to a fully customizable configuration, CardView always stands out. Take a look at a few examples in action.
### 1.27.2
* **titleLabelTextColor** is now **titleLabelColor**.
* **titleLabelActiveTextColor** is now **titleLabelActiveColor**.
* **detailLabelActiveTextColor** is now **detailLabelActiveColor**.
* **titleLabelTextColor** is now **titleLabelColor**.
* **titleLabelActiveTextColor** is now **titleLabelActiveColor**.
## 1.27.1
* Updated README to include Changelog link.
## 1.27.0
* Has been removed completely.
* **MaterialEdgeInsets** is now **MaterialEdgeInsetPreset**.
* **contentInsets** is now **contentInsetPreset**.
* **contentInsetsRef** is now **contentInset**.
* **dividerInsets** is now **dividerInsetPreset**.
* **dividerInsetRef** is now **dividerInset**.
* **contentInsets** is now **contentInsetPreset**.
* **contentInsetsRef** is now **contentInset**.
* **titleLabelInsets** is now **titleLabelInsetPreset**.
* **titleLabelInsetsRef** is now **titleLabelInset**.
* **detailLabelInsets** is now **detailLabelInsetPreset**.
* **detailLabelInsetsRef** is now **detailLabelInset**.
* **leftButtonsInsets** is now **leftButtonsInsetPreset**.
* **leftButtonsInsetsRef** is now **leftButtonsInset**.
* **rightButtonsInsets** is now **rightButtonsInsetPreset**.
* **rightButtonsInsetsRef** is now **rightButtonsInset**.
* **dividerInsets** is now **dividerInsetPreset**.
* **dividerInsetRef** is now **dividerInset**.
* **contentInsets** is now **contentInsetPreset**.
* **contentInsetsRef** is now **contentInset**.
* **titleLabelInsets** is now **titleLabelInsetPreset**.
* **titleLabelInsetsRef** is now **titleLabelInset**.
* **detailLabelInsets** is now **detailLabelInsetPreset**.
* **detailLabelInsetsRef** is now **detailLabelInset**.
* **leftButtonsInsets** is now **leftButtonsInsetPreset**.
* **leftButtonsInsetsRef** is now **leftButtonsInset**.
* **rightButtonsInsets** is now **rightButtonsInsetPreset**.
* **rightButtonsInsetsRef** is now **rightButtonsInset**.
* **shrink** is now **shrinkAnimation**.
* **wrapped** is no longer an Optional.
* **contentsScale** is no longer an Optional.
* **shrink** is now **shrinkAnimation**.
* **updatedPulseLayer** is now **updatePulseLayer**.
* **contentInsets** is now **contentInsetPreset**.
* **contentInsetsRef** is now **contentInset**.
* **titleLabelInsets** is now **titleLabelInsetPreset**.
* **titleLabelInsetsRef** is now **titleLabelInset**.
* **detailLabelInsets** is now **detailLabelInsetPreset**.
* **detailLabelInsetsRef** is now **detailLabelInset**.
* **leftButtonsInsets** is now **leftButtonsInsetPreset**.
* **leftButtonsInsetsRef** is now **leftButtonsInset**.
* **rightButtonsInsets** is now **rightButtonsInsetPreset**.
* **rightButtonsInsetsRef** is now **rightButtonsInset**.
* When setting the **enabled** property, gestures are removed and added appropriately.
* **titleLabelNormalColor** is now **titleLabelTextColor**.
* **titleLabelHighlightedColor** is now **titleLabelActiveTextColor**.
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at support@cosmicmind.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
================================================
FILE: CONTRIBUTING.md
================================================
# Contributing Guidelines
This document contains information and guidelines about contributing to this project.
Please read it before you start participating.
**Topics**
* [Pull Request Submissions](#pull-request-submissions)
* [Asking Questions](#asking-questions)
* [Reporting Security Issues](#reporting-security-issues)
* [Reporting Issues](#reporting-other-issues)
* [Developers Certificate of Origin](#developers-certificate-of-origin)
* [Code of Conduct](#code-of-conduct)
<a href="#pull-request-submissions"></a>
## Pull Request Submissions.
All pull requests should be made to the development branch. Details should be available describing your fix. Before submitting a pull request, please confirm that merge issues are resolved.
<a href="#asking-questions"></a>
## Asking Questions
We don't use GitHub as a support forum.
For any usage questions that are not specific to the project itself,
please ask on [Stack Overflow](http://stackoverflow.com/questions/tagged/cosmicmind) instead.
By doing so, you'll be more likely to quickly solve your problem,
and you'll allow anyone else with the same question to find the answer.
This also allows maintainers to focus on improving the project for others.
<a href="#reporting-security-issues"></a>
## Reporting Security Issues
CosmicMind takes security seriously.
If you discover a security issue, please bring it to our attention right away!
Please **DO NOT** file a public issue,
instead send your report privately to <support@cosmicmind.com>.
This will help ensure that any vulnerabilities that _are_ found
can be [disclosed responsibly](http://en.wikipedia.org/wiki/Responsible_disclosure)
to any affected parties.
<a href="#reporting-other-issues"></a>
## Reporting Other Issues
A great way to contribute to the project
is to send a detailed issue when you encounter an problem.
We always appreciate a well-written, thorough bug report.
Check that the project issues database
doesn't already include that problem or suggestion before submitting an issue.
If you find a match, add a quick "+1" or "I have this problem too."
Doing this helps prioritize the most common problems and requests.
When reporting issues, please include the following:
* The version of Xcode you're using
* The version of iOS you're targeting
* The full output of any stack trace or compiler error
* A code snippet that reproduces the described behavior, if applicable
* Any other details that would be useful in understanding the problem
This information will help us review and fix your issue faster.
<a href="#developers-certificate-of-origin"></a>
## Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
- (a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
- (b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
- (c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
- (d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
---
*Some of the ideas and wording for the statements above were based on work by the [Alamofire](https://github.com/Alamofire/Alamofire/blob/master/CONTRIBUTING.md), [Docker](https://github.com/docker/docker/blob/master/CONTRIBUTING.md) and [Linux](http://elinux.org/Developer_Certificate_Of_Origin) communities. We commend them for their efforts to facilitate collaboration in their projects.*
================================================
FILE: Cartfile
================================================
github "CosmicMind/Motion" >= 1.2.2
================================================
FILE: LICENSE.md
================================================
The MIT License (MIT)
Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================
FILE: Material.podspec
================================================
Pod::Spec.new do |s|
s.name = 'Material'
s.version = '3.1.8'
s.swift_version = '5.0'
s.license = 'BSD-3-Clause'
s.summary = 'A UI/UX framework for creating beautiful applications.'
s.homepage = 'http://cosmicmind.com'
s.social_media_url = 'https://www.facebook.com/cosmicmindcom'
s.authors = { 'CosmicMind, Inc.' => 'support@cosmicmind.com' }
s.source = { :git => 'https://github.com/CosmicMind/Material.git', :tag => s.version }
s.default_subspec = 'Core'
s.platform = :ios, '8.0'
s.subspec 'Core' do |s|
s.ios.deployment_target = '8.0'
s.ios.source_files = 'Sources/**/*.swift'
s.requires_arc = true
s.resource_bundles = {
'com.cosmicmind.material.icons' => ['Sources/**/*.xcassets'],
'com.cosmicmind.material.fonts' => ['Sources/**/*.ttf']
}
s.dependency 'Motion', '~> 3.1.1'
end
end
================================================
FILE: Material.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
961154CC1F32A7B100A78D74 /* ChipBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 961154CB1F32A7B100A78D74 /* ChipBar.swift */; };
961527B91F3A509900E8B2AC /* ChipBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 961527B81F3A509900E8B2AC /* ChipBarController.swift */; };
9617B07D1DFCA8CF00410F8F /* Application.swift in Headers */ = {isa = PBXBuildFile; fileRef = 961E6BDE1DDA2A95004E6C93 /* Application.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9617B07E1DFCA8CF00410F8F /* Card.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB75D1CB40DC500C806FE /* Card.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9617B07F1DFCA8CF00410F8F /* ImageCard.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7621CB40DC500C806FE /* ImageCard.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9617B0801DFCA8CF00410F8F /* PresenterCard.swift in Headers */ = {isa = PBXBuildFile; fileRef = 9631A7C01D95E3AC00CFB109 /* PresenterCard.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9617B0861DFCA8CF00410F8F /* HeightPreset.swift in Headers */ = {isa = PBXBuildFile; fileRef = 9626CB9A1DAD3D1D003E2611 /* HeightPreset.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9617B08A1DFCA8CF00410F8F /* DisplayStyle.swift in Headers */ = {isa = PBXBuildFile; fileRef = 9626CA961DAB53A8003E2611 /* DisplayStyle.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9617B08B1DFCA8CF00410F8F /* Screen.swift in Headers */ = {isa = PBXBuildFile; fileRef = 961E6BE11DDA2AF3004E6C93 /* Screen.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9617B08C1DFCA8CF00410F8F /* SearchBar.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7951CB40DC500C806FE /* SearchBar.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9617B08D1DFCA8CF00410F8F /* SearchBarController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7961CB40DC500C806FE /* SearchBarController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9617B08E1DFCA8CF00410F8F /* TabBar.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB79A1CB40DC500C806FE /* TabBar.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9617B08F1DFCA8CF00410F8F /* Material+NSMutableAttributedString.swift in Headers */ = {isa = PBXBuildFile; fileRef = 961276621DCD8B1800A7D920 /* Material+NSMutableAttributedString.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9617B0901DFCA8CF00410F8F /* Toolbar.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB79F1CB40DC500C806FE /* Toolbar.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9617B0911DFCA8CF00410F8F /* ToolbarController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7A01CB40DC500C806FE /* ToolbarController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9618006D1F4D384200CD77A1 /* Material+UIViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9618006C1F4D384200CD77A1 /* Material+UIViewController.swift */; };
9618006E1F4D38BC00CD77A1 /* ChipBar.swift in Headers */ = {isa = PBXBuildFile; fileRef = 961154CB1F32A7B100A78D74 /* ChipBar.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9618006F1F4D38BC00CD77A1 /* ChipBarController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 961527B81F3A509900E8B2AC /* ChipBarController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
961800701F4D38BC00CD77A1 /* Material+UIViewController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 9618006C1F4D384200CD77A1 /* Material+UIViewController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
961E6BDF1DDA2A95004E6C93 /* Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = 961E6BDE1DDA2A95004E6C93 /* Application.swift */; };
961E6BE21DDA2AF3004E6C93 /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 961E6BE11DDA2AF3004E6C93 /* Screen.swift */; };
96328B7A1E020A41009A4C90 /* CollectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96328B791E020A41009A4C90 /* CollectionViewController.swift */; };
96328B971E05C0BB009A4C90 /* TableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96328B961E05C0BB009A4C90 /* TableView.swift */; };
96328B991E05C0CE009A4C90 /* TableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96328B981E05C0CE009A4C90 /* TableViewController.swift */; };
96328B9B1E05C24E009A4C90 /* CollectionViewController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96328B791E020A41009A4C90 /* CollectionViewController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96328B9E1E05C24E009A4C90 /* TableView.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96328B961E05C0BB009A4C90 /* TableView.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96328B9F1E05C24E009A4C90 /* TableViewController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96328B981E05C0CE009A4C90 /* TableViewController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96334EF61C8B84660083986B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 96334EF51C8B84660083986B /* Assets.xcassets */; };
9656895F1F002F16001C656D /* CardCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9656895E1F002F16001C656D /* CardCollectionViewCell.swift */; };
965689611F002F4C001C656D /* CardCollectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 965689601F002F4C001C656D /* CardCollectionViewController.swift */; };
965E80CC1DD4C50600D61E4B /* Bar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7981CB40DC500C806FE /* Bar.swift */; };
965E80CD1DD4C50600D61E4B /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7701CB40DC500C806FE /* Button.swift */; };
965E80CE1DD4C50600D61E4B /* FABButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB75F1CB40DC500C806FE /* FABButton.swift */; };
965E80CF1DD4C50600D61E4B /* FlatButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7601CB40DC500C806FE /* FlatButton.swift */; };
965E80D01DD4C50600D61E4B /* RaisedButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7931CB40DC500C806FE /* RaisedButton.swift */; };
965E80D11DD4C50600D61E4B /* IconButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9658F2161CD6FA4700B902C1 /* IconButton.swift */; };
965E80D21DD4C50600D61E4B /* Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7761CB40DC500C806FE /* Color.swift */; };
965E80D31DD4C50600D61E4B /* Device.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7791CB40DC500C806FE /* Device.swift */; };
965E80D41DD4C50600D61E4B /* Divider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96230AB71D6A520C00AF47DC /* Divider.swift */; };
965E80D51DD4C50600D61E4B /* Grid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7611CB40DC500C806FE /* Grid.swift */; };
965E80D61DD4C50600D61E4B /* HeightPreset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9626CB9A1DAD3D1D003E2611 /* HeightPreset.swift */; };
965E80D71DD4C50600D61E4B /* Icon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB77D1CB40DC500C806FE /* Icon.swift */; };
965E80D81DD4C50600D61E4B /* Layer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7801CB40DC500C806FE /* Layer.swift */; };
965E80D91DD4C50600D61E4B /* Layout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7811CB40DC500C806FE /* Layout.swift */; };
965E80DA1DD4C50600D61E4B /* Border.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB76F1CB40DC500C806FE /* Border.swift */; };
965E80DB1DD4C50600D61E4B /* InterimSpace.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7871CB40DC500C806FE /* InterimSpace.swift */; };
965E80DC1DD4C50600D61E4B /* Depth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7781CB40DC500C806FE /* Depth.swift */; };
965E80DD1DD4C50600D61E4B /* EdgeInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB77A1CB40DC500C806FE /* EdgeInsets.swift */; };
965E80DF1DD4C50600D61E4B /* CornerRadius.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7851CB40DC500C806FE /* CornerRadius.swift */; };
965E80E01DD4C50600D61E4B /* Shape.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7861CB40DC500C806FE /* Shape.swift */; };
965E80E11DD4C50600D61E4B /* Offset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 968C99461D377849000074FF /* Offset.swift */; };
965E80E21DD4C50600D61E4B /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB78C1CB40DC500C806FE /* View.swift */; };
965E80E41DD4C53300D61E4B /* PulseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7841CB40DC500C806FE /* PulseView.swift */; };
965E80E51DD4C53300D61E4B /* PulseAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7821CB40DC500C806FE /* PulseAnimation.swift */; };
965E80E71DD4C55200D61E4B /* Material+UIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96E3C3931D397AE90086A024 /* Material+UIView.swift */; };
965E80E81DD4C55200D61E4B /* Material+CALayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96F1DC871D654FDF0025F925 /* Material+CALayer.swift */; };
965E80E91DD4C55200D61E4B /* Material+String.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7641CB40DC500C806FE /* Material+String.swift */; };
965E80EA1DD4C55200D61E4B /* Material+UIFont.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7651CB40DC500C806FE /* Material+UIFont.swift */; };
965E80EB1DD4C55200D61E4B /* Material+UIImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB76C1CB40DC500C806FE /* Material+UIImage.swift */; };
965E80EC1DD4C55200D61E4B /* Material+Array.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96C1C8801D42C62800E6608F /* Material+Array.swift */; };
965E80ED1DD4C55200D61E4B /* Material+UIWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 962864591D53FE3E00690B69 /* Material+UIWindow.swift */; };
965E80F71DD4D59500D61E4B /* Card.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB75D1CB40DC500C806FE /* Card.swift */; };
965E80F81DD4D59500D61E4B /* ImageCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7621CB40DC500C806FE /* ImageCard.swift */; };
965E80F91DD4D59500D61E4B /* PresenterCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9631A7C01D95E3AC00CFB109 /* PresenterCard.swift */; };
965E80FB1DD4D59500D61E4B /* SearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7951CB40DC500C806FE /* SearchBar.swift */; };
965E80FC1DD4D59500D61E4B /* SearchBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7961CB40DC500C806FE /* SearchBarController.swift */; };
965E80FD1DD4D59500D61E4B /* Toolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB79F1CB40DC500C806FE /* Toolbar.swift */; };
965E80FE1DD4D59500D61E4B /* ToolbarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7A01CB40DC500C806FE /* ToolbarController.swift */; };
965E80FF1DD4D5C800D61E4B /* BottomNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7581CB40DC500C806FE /* BottomNavigationController.swift */; };
965E81031DD4D5C800D61E4B /* CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7711CB40DC500C806FE /* CollectionView.swift */; };
965E81041DD4D5C800D61E4B /* CollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7721CB40DC500C806FE /* CollectionViewCell.swift */; };
965E81071DD4D5C800D61E4B /* CollectionViewLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7751CB40DC500C806FE /* CollectionViewLayout.swift */; };
965E81081DD4D5C800D61E4B /* CollectionReusableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 966ECF291CF4C20100BB0BDF /* CollectionReusableView.swift */; };
965E81091DD4D5C800D61E4B /* DataSourceItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7771CB40DC500C806FE /* DataSourceItem.swift */; };
965E810A1DD4D5C800D61E4B /* Font.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB77B1CB40DC500C806FE /* Font.swift */; };
965E810B1DD4D5C800D61E4B /* RobotoFont.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7941CB40DC500C806FE /* RobotoFont.swift */; };
965E810C1DD4D5C800D61E4B /* DynamicFontType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9628645E1D540AF300690B69 /* DynamicFontType.swift */; };
965E81101DD4D5C800D61E4B /* NavigationBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7901CB40DC500C806FE /* NavigationBar.swift */; };
965E81111DD4D5C800D61E4B /* NavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7911CB40DC500C806FE /* NavigationController.swift */; };
965E81121DD4D5C800D61E4B /* NavigationItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7921CB40DC500C806FE /* NavigationItem.swift */; };
965E81131DD4D5C800D61E4B /* NavigationDrawerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7971CB40DC500C806FE /* NavigationDrawerController.swift */; };
965E81161DD4D5C800D61E4B /* DisplayStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9626CA961DAB53A8003E2611 /* DisplayStyle.swift */; };
965E81171DD4D5C800D61E4B /* TransitionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7991CB40DC500C806FE /* TransitionController.swift */; };
965E81181DD4D5C800D61E4B /* Snackbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963FBEFC1D669510008F8512 /* Snackbar.swift */; };
965E81191DD4D5C800D61E4B /* SnackbarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 961EFC571D738FF600E84652 /* SnackbarController.swift */; };
965E811A1DD4D5C800D61E4B /* StatusBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 967A48181D0F425A00B8CEB7 /* StatusBarController.swift */; };
965E811B1DD4D5C800D61E4B /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7881CB40DC500C806FE /* Switch.swift */; };
965E811C1DD4D5C800D61E4B /* TabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB79A1CB40DC500C806FE /* TabBar.swift */; };
965E811D1DD4D5C800D61E4B /* TableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB7891CB40DC500C806FE /* TableViewCell.swift */; };
965E811E1DD4D5C800D61E4B /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB79C1CB40DC500C806FE /* TextField.swift */; };
965E811F1DD4D5C800D61E4B /* ErrorTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 961F18E71CD93E3E008927C5 /* ErrorTextField.swift */; };
965E81211DD4D5C800D61E4B /* TextStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB79D1CB40DC500C806FE /* TextStorage.swift */; };
965E81221DD4D5C800D61E4B /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96BCB79E1CB40DC500C806FE /* TextView.swift */; };
965E81261DD4D7C800D61E4B /* Material+NSMutableAttributedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 961276621DCD8B1800A7D920 /* Material+NSMutableAttributedString.swift */; };
966C17731F0439F600D3E83C /* Material+MotionAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 966C17721F0439F600D3E83C /* Material+MotionAnimation.swift */; };
9685D5AF1F0F04CB00AFEB79 /* CardCollectionViewCell.swift in Headers */ = {isa = PBXBuildFile; fileRef = 9656895E1F002F16001C656D /* CardCollectionViewCell.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9685D5B01F0F04CB00AFEB79 /* CardCollectionViewController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 965689601F002F4C001C656D /* CardCollectionViewController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9685D5B11F0F04CB00AFEB79 /* Material+MotionAnimation.swift in Headers */ = {isa = PBXBuildFile; fileRef = 966C17721F0439F600D3E83C /* Material+MotionAnimation.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9697F7BF1D8F2572004741EC /* Divider.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96230AB71D6A520C00AF47DC /* Divider.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9697F7C01D8F2572004741EC /* Material+CALayer.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96F1DC871D654FDF0025F925 /* Material+CALayer.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9697F7C11D8F2572004741EC /* Material+Array.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96C1C8801D42C62800E6608F /* Material+Array.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9697F7C21D8F2572004741EC /* Material+UIWindow.swift in Headers */ = {isa = PBXBuildFile; fileRef = 962864591D53FE3E00690B69 /* Material+UIWindow.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9697F7C31D8F2572004741EC /* DynamicFontType.swift in Headers */ = {isa = PBXBuildFile; fileRef = 9628645E1D540AF300690B69 /* DynamicFontType.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9697F7CB1D8F2573004741EC /* Snackbar.swift in Headers */ = {isa = PBXBuildFile; fileRef = 963FBEFC1D669510008F8512 /* Snackbar.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9697F7CC1D8F2573004741EC /* SnackbarController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 961EFC571D738FF600E84652 /* SnackbarController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96B8D22C20CF82D2008BD149 /* FABMenuController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96A183641E0C6DD400083C30 /* FABMenuController.swift */; };
96B8D22D20CF82D5008BD149 /* FABMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96A183621E0C6CE200083C30 /* FABMenu.swift */; };
96BCB7F31CB40DE900C806FE /* Roboto-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 96BCB7EE1CB40DE900C806FE /* Roboto-Bold.ttf */; };
96BCB7F51CB40DE900C806FE /* Roboto-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 96BCB7EF1CB40DE900C806FE /* Roboto-Light.ttf */; };
96BCB7F71CB40DE900C806FE /* Roboto-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 96BCB7F01CB40DE900C806FE /* Roboto-Medium.ttf */; };
96BCB7F91CB40DE900C806FE /* Roboto-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 96BCB7F11CB40DE900C806FE /* Roboto-Regular.ttf */; };
96BCB7FB1CB40DE900C806FE /* Roboto-Thin.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 96BCB7F21CB40DE900C806FE /* Roboto-Thin.ttf */; };
96BCB8141CB4115200C806FE /* PulseAnimation.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7821CB40DC500C806FE /* PulseAnimation.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8151CB4115200C806FE /* FABButton.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB75F1CB40DC500C806FE /* FABButton.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8161CB4115200C806FE /* FlatButton.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7601CB40DC500C806FE /* FlatButton.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8171CB4115200C806FE /* Button.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7701CB40DC500C806FE /* Button.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8181CB4115200C806FE /* RaisedButton.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7931CB40DC500C806FE /* RaisedButton.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB81E1CB4115200C806FE /* DataSourceItem.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7771CB40DC500C806FE /* DataSourceItem.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB81F1CB4115200C806FE /* CollectionView.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7711CB40DC500C806FE /* CollectionView.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8201CB4115200C806FE /* CollectionViewCell.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7721CB40DC500C806FE /* CollectionViewCell.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8231CB4115200C806FE /* CollectionViewLayout.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7751CB40DC500C806FE /* CollectionViewLayout.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8241CB4115200C806FE /* TableViewCell.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7891CB40DC500C806FE /* TableViewCell.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8251CB4115200C806FE /* Color.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7761CB40DC500C806FE /* Color.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8261CB4115200C806FE /* Device.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7791CB40DC500C806FE /* Device.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8281CB4115200C806FE /* Material+String.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7641CB40DC500C806FE /* Material+String.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8291CB4115200C806FE /* Material+UIFont.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7651CB40DC500C806FE /* Material+UIFont.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8301CB4115200C806FE /* Material+UIImage.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB76C1CB40DC500C806FE /* Material+UIImage.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8311CB4115200C806FE /* Font.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB77B1CB40DC500C806FE /* Font.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8321CB4115200C806FE /* RobotoFont.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7941CB40DC500C806FE /* RobotoFont.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8331CB4115200C806FE /* Icon.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB77D1CB40DC500C806FE /* Icon.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8341CB4115200C806FE /* Layer.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7801CB40DC500C806FE /* Layer.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8361CB4115200C806FE /* Grid.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7611CB40DC500C806FE /* Grid.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8371CB4115200C806FE /* Layout.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7811CB40DC500C806FE /* Layout.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB83B1CB4115200C806FE /* NavigationDrawerController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7971CB40DC500C806FE /* NavigationDrawerController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB83C1CB4115200C806FE /* Bar.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7981CB40DC500C806FE /* Bar.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB83D1CB4115200C806FE /* TransitionController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7991CB40DC500C806FE /* TransitionController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8441CB4115200C806FE /* BottomNavigationController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7581CB40DC500C806FE /* BottomNavigationController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8461CB4115200C806FE /* NavigationBar.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7901CB40DC500C806FE /* NavigationBar.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8471CB4115200C806FE /* NavigationController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7911CB40DC500C806FE /* NavigationController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8481CB4115200C806FE /* NavigationItem.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7921CB40DC500C806FE /* NavigationItem.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB84A1CB4115200C806FE /* TextField.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB79C1CB40DC500C806FE /* TextField.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB84B1CB4115200C806FE /* TextStorage.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB79D1CB40DC500C806FE /* TextStorage.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB84C1CB4115200C806FE /* TextView.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB79E1CB40DC500C806FE /* TextView.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB84D1CB4115200C806FE /* Border.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB76F1CB40DC500C806FE /* Border.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB84E1CB4115200C806FE /* InterimSpace.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7871CB40DC500C806FE /* InterimSpace.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB84F1CB4115200C806FE /* Depth.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7781CB40DC500C806FE /* Depth.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8501CB4115200C806FE /* EdgeInsets.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB77A1CB40DC500C806FE /* EdgeInsets.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8521CB4115200C806FE /* CornerRadius.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7851CB40DC500C806FE /* CornerRadius.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8531CB4115200C806FE /* Shape.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7861CB40DC500C806FE /* Shape.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8551CB4115200C806FE /* PulseView.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7841CB40DC500C806FE /* PulseView.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8561CB4115200C806FE /* Switch.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB7881CB40DC500C806FE /* Switch.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BCB8571CB4115200C806FE /* View.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96BCB78C1CB40DC500C806FE /* View.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96BFC1541E5E486F0075DE1F /* SpringAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 965532281E47E388005C2792 /* SpringAnimation.swift */; };
96BFC16F1E63C10A0075DE1F /* SpringAnimation.swift in Headers */ = {isa = PBXBuildFile; fileRef = 965532281E47E388005C2792 /* SpringAnimation.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96D88C321C1328D800B91418 /* Material.h in Headers */ = {isa = PBXBuildFile; fileRef = 96D88C091C1328D800B91418 /* Material.h */; settings = {ATTRIBUTES = (Public, ); }; };
96E09DC81F2287E50000B121 /* TabsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96E09DC71F2287E50000B121 /* TabsController.swift */; };
96E3C3951D3A1CC20086A024 /* IconButton.swift in Headers */ = {isa = PBXBuildFile; fileRef = 9658F2161CD6FA4700B902C1 /* IconButton.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96E3C3961D3A1CC20086A024 /* CollectionReusableView.swift in Headers */ = {isa = PBXBuildFile; fileRef = 966ECF291CF4C20100BB0BDF /* CollectionReusableView.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96E3C3971D3A1CC20086A024 /* Material+UIView.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96E3C3931D397AE90086A024 /* Material+UIView.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96E3C3991D3A1CC20086A024 /* StatusBarController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 967A48181D0F425A00B8CEB7 /* StatusBarController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96E3C39A1D3A1CC20086A024 /* ErrorTextField.swift in Headers */ = {isa = PBXBuildFile; fileRef = 961F18E71CD93E3E008927C5 /* ErrorTextField.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96E3C39C1D3A1CC20086A024 /* Offset.swift in Headers */ = {isa = PBXBuildFile; fileRef = 968C99461D377849000074FF /* Offset.swift */; settings = {ATTRIBUTES = (Public, ); }; };
96F1A5531F24F17A001D8CAF /* TabsController.swift in Headers */ = {isa = PBXBuildFile; fileRef = 96E09DC71F2287E50000B121 /* TabsController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
9D00EBB4216675FB00DBCD69 /* Theme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D00EBB3216675FB00DBCD69 /* Theme.swift */; };
9D054A6520D175AC00D0528D /* Material+UIButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D054A6320D175AC00D0528D /* Material+UIButton.swift */; };
9D054A6620D175AC00D0528D /* Material+UILabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D054A6420D175AC00D0528D /* Material+UILabel.swift */; };
9D39A81B20FE8ED100BA8FA1 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D39A81A20FE8ED100BA8FA1 /* ViewController.swift */; };
9D494A38217F6B63003D66F1 /* LayoutAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D494A37217F6B63003D66F1 /* LayoutAttribute.swift */; };
9D494A3A217F6B70003D66F1 /* LayoutAnchor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D494A39217F6B70003D66F1 /* LayoutAnchor.swift */; };
9D494A3C217F6B7D003D66F1 /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D494A3B217F6B7D003D66F1 /* LayoutConstraint.swift */; };
9D9089B92118914500605DC9 /* Editor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D9089B82118914500605DC9 /* Editor.swift */; };
9DE25DE02170D7AF000C04DF /* Dialog.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DE25DDF2170D7AF000C04DF /* Dialog.swift */; };
9DE25DE22170D7C0000C04DF /* DialogController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DE25DE12170D7C0000C04DF /* DialogController.swift */; };
9DE25DE42170D7FF000C04DF /* DialogView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DE25DE32170D7FF000C04DF /* DialogView.swift */; };
9DE84D721FF0252600586C8B /* RadioButtonGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DE84D6F1FF0252500586C8B /* RadioButtonGroup.swift */; };
9DE84D731FF0252600586C8B /* BaseButtonGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DE84D701FF0252500586C8B /* BaseButtonGroup.swift */; };
9DE84D741FF0252600586C8B /* CheckButtonGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DE84D711FF0252500586C8B /* CheckButtonGroup.swift */; };
9DF352421FED20C900B2A11B /* BaseIconLayerButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DF352411FED20C900B2A11B /* BaseIconLayerButton.swift */; };
9DF352441FED20ED00B2A11B /* RadioButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DF352431FED20ED00B2A11B /* RadioButton.swift */; };
9DF352461FED210000B2A11B /* CheckButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DF352451FED210000B2A11B /* CheckButton.swift */; };
9DF58CEE20C098C60098968D /* ErrorTextFieldValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DF58CED20C098C60098968D /* ErrorTextFieldValidator.swift */; };
9DF74C4E20D15D84003C1D66 /* Material+UIColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DF74C4D20D15D84003C1D66 /* Material+UIColor.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
968BA8351F8D201B0091852E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 968BA8311F8D201B0091852E /* Motion.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 96C98DD11E424AB000B22906;
remoteInfo = "Motion iOS";
};
968BA8371F8D20530091852E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 968BA8311F8D201B0091852E /* Motion.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = 96C98DD01E424AB000B22906;
remoteInfo = "Motion iOS";
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
961154CB1F32A7B100A78D74 /* ChipBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChipBar.swift; sourceTree = "<group>"; };
961276621DCD8B1800A7D920 /* Material+NSMutableAttributedString.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+NSMutableAttributedString.swift"; sourceTree = "<group>"; };
961527B81F3A509900E8B2AC /* ChipBarController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChipBarController.swift; sourceTree = "<group>"; };
9618006C1F4D384200CD77A1 /* Material+UIViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+UIViewController.swift"; sourceTree = "<group>"; };
961E6BDE1DDA2A95004E6C93 /* Application.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Application.swift; sourceTree = "<group>"; };
961E6BE11DDA2AF3004E6C93 /* Screen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = "<group>"; };
961EFC571D738FF600E84652 /* SnackbarController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SnackbarController.swift; sourceTree = "<group>"; };
961F18E71CD93E3E008927C5 /* ErrorTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ErrorTextField.swift; sourceTree = "<group>"; };
96230AB71D6A520C00AF47DC /* Divider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Divider.swift; sourceTree = "<group>"; };
9626CA961DAB53A8003E2611 /* DisplayStyle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DisplayStyle.swift; sourceTree = "<group>"; };
9626CB9A1DAD3D1D003E2611 /* HeightPreset.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HeightPreset.swift; sourceTree = "<group>"; };
962864591D53FE3E00690B69 /* Material+UIWindow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+UIWindow.swift"; sourceTree = "<group>"; };
9628645E1D540AF300690B69 /* DynamicFontType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DynamicFontType.swift; sourceTree = "<group>"; };
9631A7C01D95E3AC00CFB109 /* PresenterCard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PresenterCard.swift; sourceTree = "<group>"; };
96328B791E020A41009A4C90 /* CollectionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewController.swift; sourceTree = "<group>"; };
96328B961E05C0BB009A4C90 /* TableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableView.swift; sourceTree = "<group>"; };
96328B981E05C0CE009A4C90 /* TableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableViewController.swift; sourceTree = "<group>"; };
96334EF51C8B84660083986B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
963832361B88DFD80015F710 /* Material.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Material.framework; sourceTree = BUILT_PRODUCTS_DIR; };
963FBEFC1D669510008F8512 /* Snackbar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Snackbar.swift; sourceTree = "<group>"; };
965532281E47E388005C2792 /* SpringAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SpringAnimation.swift; sourceTree = "<group>"; };
9656895E1F002F16001C656D /* CardCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardCollectionViewCell.swift; sourceTree = "<group>"; };
965689601F002F4C001C656D /* CardCollectionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CardCollectionViewController.swift; sourceTree = "<group>"; };
9658F2161CD6FA4700B902C1 /* IconButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IconButton.swift; sourceTree = "<group>"; };
966C17721F0439F600D3E83C /* Material+MotionAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+MotionAnimation.swift"; sourceTree = "<group>"; };
966ECF291CF4C20100BB0BDF /* CollectionReusableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionReusableView.swift; sourceTree = "<group>"; };
967A48181D0F425A00B8CEB7 /* StatusBarController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StatusBarController.swift; sourceTree = "<group>"; };
968BA8311F8D201B0091852E /* Motion.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = Motion.xcodeproj; sourceTree = "<group>"; };
968C99461D377849000074FF /* Offset.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Offset.swift; sourceTree = "<group>"; };
96A183621E0C6CE200083C30 /* FABMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FABMenu.swift; sourceTree = "<group>"; };
96A183641E0C6DD400083C30 /* FABMenuController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FABMenuController.swift; sourceTree = "<group>"; };
96BCB7581CB40DC500C806FE /* BottomNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BottomNavigationController.swift; sourceTree = "<group>"; };
96BCB75D1CB40DC500C806FE /* Card.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Card.swift; sourceTree = "<group>"; };
96BCB75F1CB40DC500C806FE /* FABButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FABButton.swift; sourceTree = "<group>"; };
96BCB7601CB40DC500C806FE /* FlatButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FlatButton.swift; sourceTree = "<group>"; };
96BCB7611CB40DC500C806FE /* Grid.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Grid.swift; sourceTree = "<group>"; };
96BCB7621CB40DC500C806FE /* ImageCard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageCard.swift; sourceTree = "<group>"; };
96BCB7641CB40DC500C806FE /* Material+String.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+String.swift"; sourceTree = "<group>"; };
96BCB7651CB40DC500C806FE /* Material+UIFont.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+UIFont.swift"; sourceTree = "<group>"; };
96BCB76C1CB40DC500C806FE /* Material+UIImage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+UIImage.swift"; sourceTree = "<group>"; };
96BCB76F1CB40DC500C806FE /* Border.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Border.swift; sourceTree = "<group>"; };
96BCB7701CB40DC500C806FE /* Button.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = "<group>"; };
96BCB7711CB40DC500C806FE /* CollectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionView.swift; sourceTree = "<group>"; };
96BCB7721CB40DC500C806FE /* CollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewCell.swift; sourceTree = "<group>"; };
96BCB7751CB40DC500C806FE /* CollectionViewLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewLayout.swift; sourceTree = "<group>"; };
96BCB7761CB40DC500C806FE /* Color.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Color.swift; sourceTree = "<group>"; };
96BCB7771CB40DC500C806FE /* DataSourceItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DataSourceItem.swift; sourceTree = "<group>"; };
96BCB7781CB40DC500C806FE /* Depth.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Depth.swift; sourceTree = "<group>"; };
96BCB7791CB40DC500C806FE /* Device.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Device.swift; sourceTree = "<group>"; };
96BCB77A1CB40DC500C806FE /* EdgeInsets.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EdgeInsets.swift; sourceTree = "<group>"; };
96BCB77B1CB40DC500C806FE /* Font.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Font.swift; sourceTree = "<group>"; };
96BCB77D1CB40DC500C806FE /* Icon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Icon.swift; sourceTree = "<group>"; };
96BCB7801CB40DC500C806FE /* Layer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Layer.swift; sourceTree = "<group>"; };
96BCB7811CB40DC500C806FE /* Layout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Layout.swift; sourceTree = "<group>"; };
96BCB7821CB40DC500C806FE /* PulseAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PulseAnimation.swift; sourceTree = "<group>"; };
96BCB7841CB40DC500C806FE /* PulseView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PulseView.swift; sourceTree = "<group>"; };
96BCB7851CB40DC500C806FE /* CornerRadius.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CornerRadius.swift; sourceTree = "<group>"; };
96BCB7861CB40DC500C806FE /* Shape.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Shape.swift; sourceTree = "<group>"; };
96BCB7871CB40DC500C806FE /* InterimSpace.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InterimSpace.swift; sourceTree = "<group>"; };
96BCB7881CB40DC500C806FE /* Switch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Switch.swift; sourceTree = "<group>"; };
96BCB7891CB40DC500C806FE /* TableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableViewCell.swift; sourceTree = "<group>"; };
96BCB78C1CB40DC500C806FE /* View.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = "<group>"; };
96BCB7901CB40DC500C806FE /* NavigationBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationBar.swift; sourceTree = "<group>"; };
96BCB7911CB40DC500C806FE /* NavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationController.swift; sourceTree = "<group>"; };
96BCB7921CB40DC500C806FE /* NavigationItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationItem.swift; sourceTree = "<group>"; };
96BCB7931CB40DC500C806FE /* RaisedButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RaisedButton.swift; sourceTree = "<group>"; };
96BCB7941CB40DC500C806FE /* RobotoFont.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RobotoFont.swift; sourceTree = "<group>"; };
96BCB7951CB40DC500C806FE /* SearchBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchBar.swift; sourceTree = "<group>"; };
96BCB7961CB40DC500C806FE /* SearchBarController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchBarController.swift; sourceTree = "<group>"; };
96BCB7971CB40DC500C806FE /* NavigationDrawerController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationDrawerController.swift; sourceTree = "<group>"; };
96BCB7981CB40DC500C806FE /* Bar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Bar.swift; sourceTree = "<group>"; };
96BCB7991CB40DC500C806FE /* TransitionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransitionController.swift; sourceTree = "<group>"; };
96BCB79A1CB40DC500C806FE /* TabBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.swift; path = TabBar.swift; sourceTree = "<group>"; tabWidth = 2; };
96BCB79C1CB40DC500C806FE /* TextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = "<group>"; };
96BCB79D1CB40DC500C806FE /* TextStorage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextStorage.swift; sourceTree = "<group>"; };
96BCB79E1CB40DC500C806FE /* TextView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextView.swift; sourceTree = "<group>"; };
96BCB79F1CB40DC500C806FE /* Toolbar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Toolbar.swift; sourceTree = "<group>"; };
96BCB7A01CB40DC500C806FE /* ToolbarController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ToolbarController.swift; sourceTree = "<group>"; };
96BCB7EE1CB40DE900C806FE /* Roboto-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Bold.ttf"; sourceTree = "<group>"; };
96BCB7EF1CB40DE900C806FE /* Roboto-Light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Light.ttf"; sourceTree = "<group>"; };
96BCB7F01CB40DE900C806FE /* Roboto-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Medium.ttf"; sourceTree = "<group>"; };
96BCB7F11CB40DE900C806FE /* Roboto-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Regular.ttf"; sourceTree = "<group>"; };
96BCB7F21CB40DE900C806FE /* Roboto-Thin.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Roboto-Thin.ttf"; sourceTree = "<group>"; };
96C1C8801D42C62800E6608F /* Material+Array.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+Array.swift"; sourceTree = "<group>"; };
96D88BFC1C1328D800B91418 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
96D88BFD1C1328D800B91418 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
96D88C091C1328D800B91418 /* Material.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Material.h; sourceTree = "<group>"; };
96E09DC71F2287E50000B121 /* TabsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabsController.swift; sourceTree = "<group>"; };
96E3C3931D397AE90086A024 /* Material+UIView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+UIView.swift"; sourceTree = "<group>"; };
96F1DC871D654FDF0025F925 /* Material+CALayer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+CALayer.swift"; sourceTree = "<group>"; };
9D00EBB3216675FB00DBCD69 /* Theme.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Theme.swift; sourceTree = "<group>"; };
9D054A6320D175AC00D0528D /* Material+UIButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+UIButton.swift"; sourceTree = "<group>"; };
9D054A6420D175AC00D0528D /* Material+UILabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Material+UILabel.swift"; sourceTree = "<group>"; };
9D39A81A20FE8ED100BA8FA1 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
9D494A37217F6B63003D66F1 /* LayoutAttribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LayoutAttribute.swift; sourceTree = "<group>"; };
9D494A39217F6B70003D66F1 /* LayoutAnchor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LayoutAnchor.swift; sourceTree = "<group>"; };
9D494A3B217F6B7D003D66F1 /* LayoutConstraint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LayoutConstraint.swift; sourceTree = "<group>"; };
9D9089B82118914500605DC9 /* Editor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Editor.swift; sourceTree = "<group>"; };
9DE25DDF2170D7AF000C04DF /* Dialog.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Dialog.swift; sourceTree = "<group>"; };
9DE25DE12170D7C0000C04DF /* DialogController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DialogController.swift; sourceTree = "<group>"; };
9DE25DE32170D7FF000C04DF /* DialogView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DialogView.swift; sourceTree = "<group>"; };
9DE84D6F1FF0252500586C8B /* RadioButtonGroup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RadioButtonGroup.swift; sourceTree = "<group>"; };
9DE84D701FF0252500586C8B /* BaseButtonGroup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseButtonGroup.swift; sourceTree = "<group>"; };
9DE84D711FF0252500586C8B /* CheckButtonGroup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CheckButtonGroup.swift; sourceTree = "<group>"; };
9DF352411FED20C900B2A11B /* BaseIconLayerButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseIconLayerButton.swift; sourceTree = "<group>"; };
9DF352431FED20ED00B2A11B /* RadioButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioButton.swift; sourceTree = "<group>"; };
9DF352451FED210000B2A11B /* CheckButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckButton.swift; sourceTree = "<group>"; };
9DF58CED20C098C60098968D /* ErrorTextFieldValidator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorTextFieldValidator.swift; sourceTree = "<group>"; };
9DF74C4D20D15D84003C1D66 /* Material+UIColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Material+UIColor.swift"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXGroup section */
9602F00C1DA1163000F3FB79 /* Grid */ = {
isa = PBXGroup;
children = (
96BCB7611CB40DC500C806FE /* Grid.swift */,
);
path = Grid;
sourceTree = "<group>";
};
96090B031D9D709E00709CA6 /* Text */ = {
isa = PBXGroup;
children = (
9D9089B82118914500605DC9 /* Editor.swift */,
961F18E71CD93E3E008927C5 /* ErrorTextField.swift */,
9DF58CED20C098C60098968D /* ErrorTextFieldValidator.swift */,
96BCB79C1CB40DC500C806FE /* TextField.swift */,
96BCB79D1CB40DC500C806FE /* TextStorage.swift */,
96BCB79E1CB40DC500C806FE /* TextView.swift */,
);
path = Text;
sourceTree = "<group>";
};
961154CA1F32999000A78D74 /* Chip */ = {
isa = PBXGroup;
children = (
961154CB1F32A7B100A78D74 /* ChipBar.swift */,
961527B81F3A509900E8B2AC /* ChipBarController.swift */,
);
path = Chip;
sourceTree = "<group>";
};
961527531F393C0E00E8B2AC /* Motion */ = {
isa = PBXGroup;
children = (
968BA8311F8D201B0091852E /* Motion.xcodeproj */,
);
path = Motion;
sourceTree = "<group>";
};
961E6BDD1DDA2A7E004E6C93 /* Application */ = {
isa = PBXGroup;
children = (
961E6BDE1DDA2A95004E6C93 /* Application.swift */,
);
path = Application;
sourceTree = "<group>";
};
961E6BE01DDA2ADD004E6C93 /* Screen */ = {
isa = PBXGroup;
children = (
961E6BE11DDA2AF3004E6C93 /* Screen.swift */,
);
path = Screen;
sourceTree = "<group>";
};
961E6BEF1DDA4B04004E6C93 /* NavigationDrawer */ = {
isa = PBXGroup;
children = (
96BCB7971CB40DC500C806FE /* NavigationDrawerController.swift */,
);
path = NavigationDrawer;
sourceTree = "<group>";
};
96230AB61D6A51FD00AF47DC /* Divider */ = {
isa = PBXGroup;
children = (
96230AB71D6A520C00AF47DC /* Divider.swift */,
);
path = Divider;
sourceTree = "<group>";
};
96264BE41D833C8400576F37 /* Bar */ = {
isa = PBXGroup;
children = (
96BCB7981CB40DC500C806FE /* Bar.swift */,
);
path = Bar;
sourceTree = "<group>";
};
9626CA951DAB5370003E2611 /* Transition */ = {
isa = PBXGroup;
children = (
9626CA961DAB53A8003E2611 /* DisplayStyle.swift */,
96BCB7991CB40DC500C806FE /* TransitionController.swift */,
);
path = Transition;
sourceTree = "<group>";
};
9626CBCC1DADA5F1003E2611 /* Height */ = {
isa = PBXGroup;
children = (
9626CB9A1DAD3D1D003E2611 /* HeightPreset.swift */,
);
path = Height;
sourceTree = "<group>";
};
962DDD081D6FBBD0001C307C /* BottomTabBar */ = {
isa = PBXGroup;
children = (
96BCB7581CB40DC500C806FE /* BottomNavigationController.swift */,
);
path = BottomTabBar;
sourceTree = "<group>";
};
9630ACB71F29A26B00B4217D /* Frameworks */ = {
isa = PBXGroup;
children = (
961527531F393C0E00E8B2AC /* Motion */,
);
path = Frameworks;
sourceTree = "<group>";
};
96328B9A1E05C135009A4C90 /* Data */ = {
isa = PBXGroup;
children = (
96BCB7771CB40DC500C806FE /* DataSourceItem.swift */,
);
path = Data;
sourceTree = "<group>";
};
9638322C1B88DFD80015F710 = {
isa = PBXGroup;
children = (
96D88BF41C1328D800B91418 /* Sources */,
963832371B88DFD80015F710 /* Products */,
);
indentWidth = 2;
sourceTree = "<group>";
tabWidth = 2;
usesTabs = 0;
};
963832371B88DFD80015F710 /* Products */ = {
isa = PBXGroup;
children = (
963832361B88DFD80015F710 /* Material.framework */,
);
name = Products;
sourceTree = "<group>";
};
963FBEFB1D6694E8008F8512 /* Snackbar */ = {
isa = PBXGroup;
children = (
963FBEFC1D669510008F8512 /* Snackbar.swift */,
961EFC571D738FF600E84652 /* SnackbarController.swift */,
);
path = Snackbar;
sourceTree = "<group>";
};
963FBF001D66964F008F8512 /* Toolbar */ = {
isa = PBXGroup;
children = (
96BCB79F1CB40DC500C806FE /* Toolbar.swift */,
96BCB7A01CB40DC500C806FE /* ToolbarController.swift */,
);
path = Toolbar;
sourceTree = "<group>";
};
963FBF011D6696AB008F8512 /* Tab */ = {
isa = PBXGroup;
children = (
96BCB79A1CB40DC500C806FE /* TabBar.swift */,
96E09DC71F2287E50000B121 /* TabsController.swift */,
);
path = Tab;
sourceTree = "<group>";
};
963FBF021D6696D0008F8512 /* FABMenu */ = {
isa = PBXGroup;
children = (
96A183621E0C6CE200083C30 /* FABMenu.swift */,
96A183641E0C6DD400083C30 /* FABMenuController.swift */,
);
path = FABMenu;
sourceTree = "<group>";
};
963FBF031D6696EF008F8512 /* SearchBar */ = {
isa = PBXGroup;
children = (
96BCB7951CB40DC500C806FE /* SearchBar.swift */,
96BCB7961CB40DC500C806FE /* SearchBarController.swift */,
);
path = SearchBar;
sourceTree = "<group>";
};
965689641F003476001C656D /* CardCollectionView */ = {
isa = PBXGroup;
children = (
9656895E1F002F16001C656D /* CardCollectionViewCell.swift */,
965689601F002F4C001C656D /* CardCollectionViewController.swift */,
);
path = CardCollectionView;
sourceTree = "<group>";
};
966ECF2B1CF4C21B00BB0BDF /* Table */ = {
isa = PBXGroup;
children = (
96328B961E05C0BB009A4C90 /* TableView.swift */,
96BCB7891CB40DC500C806FE /* TableViewCell.swift */,
96328B981E05C0CE009A4C90 /* TableViewController.swift */,
);
path = Table;
sourceTree = "<group>";
};
967A48171D0F424B00B8CEB7 /* StatusBar */ = {
isa = PBXGroup;
children = (
967A48181D0F425A00B8CEB7 /* StatusBarController.swift */,
);
path = StatusBar;
sourceTree = "<group>";
};
968BA8321F8D201B0091852E /* Products */ = {
isa = PBXGroup;
children = (
968BA8361F8D201B0091852E /* Motion.framework */,
);
name = Products;
sourceTree = "<group>";
};
968C99421D36EC9E000074FF /* Switch */ = {
isa = PBXGroup;
children = (
96BCB7881CB40DC500C806FE /* Switch.swift */,
);
path = Switch;
sourceTree = "<group>";
};
96BCB7571CB40DC500C806FE /* iOS */ = {
isa = PBXGroup;
children = (
96EF418E1E835E850012CA1C /* Animation */,
961E6BDD1DDA2A7E004E6C93 /* Application */,
96264BE41D833C8400576F37 /* Bar */,
962DDD081D6FBBD0001C307C /* BottomTabBar */,
96BCB8031CB40F4B00C806FE /* Button */,
9DE84D6E1FF0250E00586C8B /* ButtonGroup */,
96BCB8021CB40F3B00C806FE /* Card */,
961154CA1F32999000A78D74 /* Chip */,
96BCB8051CB40F9C00C806FE /* Collection */,
96BCB8001CB40F0300C806FE /* Color */,
96328B9A1E05C135009A4C90 /* Data */,
96BCB80B1CB410CC00C806FE /* Device */,
9DE25DDE2170D779000C04DF /* Dialogs */,
96230AB61D6A51FD00AF47DC /* Divider */,
96BCB80A1CB410A100C806FE /* Extension */,
963FBF021D6696D0008F8512 /* FABMenu */,
96BCB8071CB4101C00C806FE /* Font */,
9602F00C1DA1163000F3FB79 /* Grid */,
9626CBCC1DADA5F1003E2611 /* Height */,
96BCB8081CB4105E00C806FE /* Icon */,
96BCB80D1CB410FD00C806FE /* Layer */,
96BCB8041CB40F6C00C806FE /* Layout */,
96BCB8011CB40F1700C806FE /* Navigation */,
961E6BEF1DDA4B04004E6C93 /* NavigationDrawer */,
961E6BE01DDA2ADD004E6C93 /* Screen */,
963FBF031D6696EF008F8512 /* SearchBar */,
963FBEFB1D6694E8008F8512 /* Snackbar */,
967A48171D0F424B00B8CEB7 /* StatusBar */,
968C99421D36EC9E000074FF /* Switch */,
963FBF011D6696AB008F8512 /* Tab */,
966ECF2B1CF4C21B00BB0BDF /* Table */,
96090B031D9D709E00709CA6 /* Text */,
9D00EBB2216675A800DBCD69 /* Theme */,
963FBF001D66964F008F8512 /* Toolbar */,
9626CA951DAB5370003E2611 /* Transition */,
96BCB8061CB40FD000C806FE /* Type */,
96BCB80C1CB410DD00C806FE /* View */,
);
path = iOS;
sourceTree = "<group>";
};
96BCB7EC1CB40DE900C806FE /* Font */ = {
isa = PBXGroup;
children = (
96BCB7ED1CB40DE900C806FE /* Roboto */,
);
path = Font;
sourceTree = "<group>";
};
96BCB7ED1CB40DE900C806FE /* Roboto */ = {
isa = PBXGroup;
children = (
96BCB7EE1CB40DE900C806FE /* Roboto-Bold.ttf */,
96BCB7EF1CB40DE900C806FE /* Roboto-Light.ttf */,
96BCB7F01CB40DE900C806FE /* Roboto-Medium.ttf */,
96BCB7F11CB40DE900C806FE /* Roboto-Regular.ttf */,
96BCB7F21CB40DE900C806FE /* Roboto-Thin.ttf */,
);
path = Roboto;
sourceTree = "<group>";
};
96BCB8001CB40F0300C806FE /* Color */ = {
isa = PBXGroup;
children = (
96BCB7761CB40DC500C806FE /* Color.swift */,
);
path = Color;
sourceTree = "<group>";
};
96BCB8011CB40F1700C806FE /* Navigation */ = {
isa = PBXGroup;
children = (
96BCB7901CB40DC500C806FE /* NavigationBar.swift */,
96BCB7911CB40DC500C806FE /* NavigationController.swift */,
96BCB7921CB40DC500C806FE /* NavigationItem.swift */,
);
path = Navigation;
sourceTree = "<group>";
};
96BCB8021CB40F3B00C806FE /* Card */ = {
isa = PBXGroup;
children = (
96BCB75D1CB40DC500C806FE /* Card.swift */,
96BCB7621CB40DC500C806FE /* ImageCard.swift */,
9631A7C01D95E3AC00CFB109 /* PresenterCard.swift */,
);
path = Card;
sourceTree = "<group>";
};
96BCB8031CB40F4B00C806FE /* Button */ = {
isa = PBXGroup;
children = (
9DF352411FED20C900B2A11B /* BaseIconLayerButton.swift */,
96BCB7701CB40DC500C806FE /* Button.swift */,
9DF352451FED210000B2A11B /* CheckButton.swift */,
96BCB75F1CB40DC500C806FE /* FABButton.swift */,
96BCB7601CB40DC500C806FE /* FlatButton.swift */,
9658F2161CD6FA4700B902C1 /* IconButton.swift */,
9DF352431FED20ED00B2A11B /* RadioButton.swift */,
96BCB7931CB40DC500C806FE /* RaisedButton.swift */,
);
path = Button;
sourceTree = "<group>";
};
96BCB8041CB40F6C00C806FE /* Layout */ = {
isa = PBXGroup;
children = (
96BCB7811CB40DC500C806FE /* Layout.swift */,
9D494A39217F6B70003D66F1 /* LayoutAnchor.swift */,
9D494A37217F6B63003D66F1 /* LayoutAttribute.swift */,
9D494A3B217F6B7D003D66F1 /* LayoutConstraint.swift */,
);
path = Layout;
sourceTree = "<group>";
};
96BCB8051CB40F9C00C806FE /* Collection */ = {
isa = PBXGroup;
children = (
965689641F003476001C656D /* CardCollectionView */,
966ECF291CF4C20100BB0BDF /* CollectionReusableView.swift */,
96BCB7711CB40DC500C806FE /* CollectionView.swift */,
96BCB7721CB40DC500C806FE /* CollectionViewCell.swift */,
96328B791E020A41009A4C90 /* CollectionViewController.swift */,
96BCB7751CB40DC500C806FE /* CollectionViewLayout.swift */,
);
path = Collection;
sourceTree = "<group>";
};
96BCB8061CB40FD000C806FE /* Type */ = {
isa = PBXGroup;
children = (
96BCB76F1CB40DC500C806FE /* Border.swift */,
96BCB7851CB40DC500C806FE /* CornerRadius.swift */,
96BCB7781CB40DC500C806FE /* Depth.swift */,
96BCB77A1CB40DC500C806FE /* EdgeInsets.swift */,
96BCB7871CB40DC500C806FE /* InterimSpace.swift */,
968C99461D377849000074FF /* Offset.swift */,
96BCB7861CB40DC500C806FE /* Shape.swift */,
);
path = Type;
sourceTree = "<group>";
};
96BCB8071CB4101C00C806FE /* Font */ = {
isa = PBXGroup;
children = (
9628645E1D540AF300690B69 /* DynamicFontType.swift */,
96BCB77B1CB40DC500C806FE /* Font.swift */,
96BCB7941CB40DC500C806FE /* RobotoFont.swift */,
);
path = Font;
sourceTree = "<group>";
};
96BCB8081CB4105E00C806FE /* Icon */ = {
isa = PBXGroup;
children = (
96BCB77D1CB40DC500C806FE /* Icon.swift */,
);
path = Icon;
sourceTree = "<group>";
};
96BCB80A1CB410A100C806FE /* Extension */ = {
isa = PBXGroup;
children = (
96C1C8801D42C62800E6608F /* Material+Array.swift */,
96F1DC871D654FDF0025F925 /* Material+CALayer.swift */,
966C17721F0439F600D3E83C /* Material+MotionAnimation.swift */,
961276621DCD8B1800A7D920 /* Material+NSMutableAttributedString.swift */,
96BCB7641CB40DC500C806FE /* Material+String.swift */,
9D054A6320D175AC00D0528D /* Material+UIButton.swift */,
9DF74C4D20D15D84003C1D66 /* Material+UIColor.swift */,
96BCB7651CB40DC500C806FE /* Material+UIFont.swift */,
96BCB76C1CB40DC500C806FE /* Material+UIImage.swift */,
9D054A6420D175AC00D0528D /* Material+UILabel.swift */,
96E3C3931D397AE90086A024 /* Material+UIView.swift */,
9618006C1F4D384200CD77A1 /* Material+UIViewController.swift */,
962864591D53FE3E00690B69 /* Material+UIWindow.swift */,
);
path = Extension;
sourceTree = "<group>";
};
96BCB80B1CB410CC00C806FE /* Device */ = {
isa = PBXGroup;
children = (
96BCB7791CB40DC500C806FE /* Device.swift */,
);
path = Device;
sourceTree = "<group>";
};
96BCB80C1CB410DD00C806FE /* View */ = {
isa = PBXGroup;
children = (
96BCB7841CB40DC500C806FE /* PulseView.swift */,
96BCB78C1CB40DC500C806FE /* View.swift */,
9D39A81A20FE8ED100BA8FA1 /* ViewController.swift */,
);
path = View;
sourceTree = "<group>";
};
96BCB80D1CB410FD00C806FE /* Layer */ = {
isa = PBXGroup;
children = (
96BCB7801CB40DC500C806FE /* Layer.swift */,
);
path = Layer;
sourceTree = "<group>";
};
96D88BF41C1328D800B91418 /* Sources */ = {
isa = PBXGroup;
children = (
96BCB7EC1CB40DE900C806FE /* Font */,
9630ACB71F29A26B00B4217D /* Frameworks */,
96BCB7571CB40DC500C806FE /* iOS */,
96334EF51C8B84660083986B /* Assets.xcassets */,
96D88BFC1C1328D800B91418 /* Info.plist */,
96D88BFD1C1328D800B91418 /* LICENSE */,
96D88C091C1328D800B91418 /* Material.h */,
);
path = Sources;
sourceTree = "<group>";
};
96EF418E1E835E850012CA1C /* Animation */ = {
isa = PBXGroup;
children = (
96BCB7821CB40DC500C806FE /* PulseAnimation.swift */,
965532281E47E388005C2792 /* SpringAnimation.swift */,
);
path = Animation;
sourceTree = "<group>";
};
9D00EBB2216675A800DBCD69 /* Theme */ = {
isa = PBXGroup;
children = (
9D00EBB3216675FB00DBCD69 /* Theme.swift */,
);
path = Theme;
sourceTree = "<group>";
};
9DE25DDE2170D779000C04DF /* Dialogs */ = {
isa = PBXGroup;
children = (
9DE25DDF2170D7AF000C04DF /* Dialog.swift */,
9DE25DE12170D7C0000C04DF /* DialogController.swift */,
9DE25DE32170D7FF000C04DF /* DialogView.swift */,
);
path = Dialogs;
sourceTree = "<group>";
};
9DE84D6E1FF0250E00586C8B /* ButtonGroup */ = {
isa = PBXGroup;
children = (
9DE84D701FF0252500586C8B /* BaseButtonGroup.swift */,
9DE84D711FF0252500586C8B /* CheckButtonGroup.swift */,
9DE84D6F1FF0252500586C8B /* RadioButtonGroup.swift */,
);
path = ButtonGroup;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
963832331B88DFD80015F710 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
96D88C321C1328D800B91418 /* Material.h in Headers */,
96BCB8141CB4115200C806FE /* PulseAnimation.swift in Headers */,
96BCB8151CB4115200C806FE /* FABButton.swift in Headers */,
96BCB8161CB4115200C806FE /* FlatButton.swift in Headers */,
96BCB8171CB4115200C806FE /* Button.swift in Headers */,
96BCB8181CB4115200C806FE /* RaisedButton.swift in Headers */,
96BCB81E1CB4115200C806FE /* DataSourceItem.swift in Headers */,
96BCB81F1CB4115200C806FE /* CollectionView.swift in Headers */,
96BCB8201CB4115200C806FE /* CollectionViewCell.swift in Headers */,
96BCB8231CB4115200C806FE /* CollectionViewLayout.swift in Headers */,
96BCB8241CB4115200C806FE /* TableViewCell.swift in Headers */,
96BCB8251CB4115200C806FE /* Color.swift in Headers */,
96BCB8261CB4115200C806FE /* Device.swift in Headers */,
96BCB8281CB4115200C806FE /* Material+String.swift in Headers */,
96BCB8291CB4115200C806FE /* Material+UIFont.swift in Headers */,
96BCB8301CB4115200C806FE /* Material+UIImage.swift in Headers */,
96BCB8311CB4115200C806FE /* Font.swift in Headers */,
96BCB8321CB4115200C806FE /* RobotoFont.swift in Headers */,
96BCB8331CB4115200C806FE /* Icon.swift in Headers */,
96BCB8341CB4115200C806FE /* Layer.swift in Headers */,
96BCB8361CB4115200C806FE /* Grid.swift in Headers */,
96BCB8371CB4115200C806FE /* Layout.swift in Headers */,
96BCB83B1CB4115200C806FE /* NavigationDrawerController.swift in Headers */,
96BCB83C1CB4115200C806FE /* Bar.swift in Headers */,
96BCB83D1CB4115200C806FE /* TransitionController.swift in Headers */,
96BCB8441CB4115200C806FE /* BottomNavigationController.swift in Headers */,
96BCB8461CB4115200C806FE /* NavigationBar.swift in Headers */,
96BCB8471CB4115200C806FE /* NavigationController.swift in Headers */,
96BCB8481CB4115200C806FE /* NavigationItem.swift in Headers */,
96BCB84A1CB4115200C806FE /* TextField.swift in Headers */,
96BCB84B1CB4115200C806FE /* TextStorage.swift in Headers */,
96BCB84C1CB4115200C806FE /* TextView.swift in Headers */,
96BCB84D1CB4115200C806FE /* Border.swift in Headers */,
96BCB84E1CB4115200C806FE /* InterimSpace.swift in Headers */,
96BCB84F1CB4115200C806FE /* Depth.swift in Headers */,
96BCB8501CB4115200C806FE /* EdgeInsets.swift in Headers */,
96BCB8521CB4115200C806FE /* CornerRadius.swift in Headers */,
96BCB8531CB4115200C806FE /* Shape.swift in Headers */,
96BCB8551CB4115200C806FE /* PulseView.swift in Headers */,
96BCB8561CB4115200C806FE /* Switch.swift in Headers */,
96BCB8571CB4115200C806FE /* View.swift in Headers */,
96E3C3951D3A1CC20086A024 /* IconButton.swift in Headers */,
96E3C3961D3A1CC20086A024 /* CollectionReusableView.swift in Headers */,
96E3C3971D3A1CC20086A024 /* Material+UIView.swift in Headers */,
96E3C3991D3A1CC20086A024 /* StatusBarController.swift in Headers */,
96E3C39A1D3A1CC20086A024 /* ErrorTextField.swift in Headers */,
96E3C39C1D3A1CC20086A024 /* Offset.swift in Headers */,
9697F7BF1D8F2572004741EC /* Divider.swift in Headers */,
9697F7C01D8F2572004741EC /* Material+CALayer.swift in Headers */,
9697F7C11D8F2572004741EC /* Material+Array.swift in Headers */,
9697F7C21D8F2572004741EC /* Material+UIWindow.swift in Headers */,
9697F7C31D8F2572004741EC /* DynamicFontType.swift in Headers */,
9697F7CB1D8F2573004741EC /* Snackbar.swift in Headers */,
9697F7CC1D8F2573004741EC /* SnackbarController.swift in Headers */,
9617B07D1DFCA8CF00410F8F /* Application.swift in Headers */,
9617B07E1DFCA8CF00410F8F /* Card.swift in Headers */,
9617B07F1DFCA8CF00410F8F /* ImageCard.swift in Headers */,
9617B0801DFCA8CF00410F8F /* PresenterCard.swift in Headers */,
9617B0861DFCA8CF00410F8F /* HeightPreset.swift in Headers */,
9617B08A1DFCA8CF00410F8F /* DisplayStyle.swift in Headers */,
9617B08B1DFCA8CF00410F8F /* Screen.swift in Headers */,
9617B08C1DFCA8CF00410F8F /* SearchBar.swift in Headers */,
9617B08D1DFCA8CF00410F8F /* SearchBarController.swift in Headers */,
9617B08E1DFCA8CF00410F8F /* TabBar.swift in Headers */,
9617B08F1DFCA8CF00410F8F /* Material+NSMutableAttributedString.swift in Headers */,
9617B0901DFCA8CF00410F8F /* Toolbar.swift in Headers */,
9617B0911DFCA8CF00410F8F /* ToolbarController.swift in Headers */,
96328B9B1E05C24E009A4C90 /* CollectionViewController.swift in Headers */,
96328B9E1E05C24E009A4C90 /* TableView.swift in Headers */,
96328B9F1E05C24E009A4C90 /* TableViewController.swift in Headers */,
96BFC16F1E63C10A0075DE1F /* SpringAnimation.swift in Headers */,
9685D5AF1F0F04CB00AFEB79 /* CardCollectionViewCell.swift in Headers */,
9685D5B01F0F04CB00AFEB79 /* CardCollectionViewController.swift in Headers */,
9685D5B11F0F04CB00AFEB79 /* Material+MotionAnimation.swift in Headers */,
96F1A5531F24F17A001D8CAF /* TabsController.swift in Headers */,
9618006E1F4D38BC00CD77A1 /* ChipBar.swift in Headers */,
9618006F1F4D38BC00CD77A1 /* ChipBarController.swift in Headers */,
961800701F4D38BC00CD77A1 /* Material+UIViewController.swift in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
963832351B88DFD80015F710 /* Material */ = {
isa = PBXNativeTarget;
buildConfigurationList = 9638324C1B88DFD80015F710 /* Build configuration list for PBXNativeTarget "Material" */;
buildPhases = (
963832311B88DFD80015F710 /* Sources */,
963832331B88DFD80015F710 /* Headers */,
963832341B88DFD80015F710 /* Resources */,
);
buildRules = (
);
dependencies = (
968BA8381F8D20530091852E /* PBXTargetDependency */,
);
name = Material;
productName = FocusKit;
productReference = 963832361B88DFD80015F710 /* Material.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
9638322D1B88DFD80015F710 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftMigration = 0710;
LastSwiftUpdateCheck = 0730;
LastUpgradeCheck = 1100;
ORGANIZATIONNAME = "CosmicMind, Inc.";
TargetAttributes = {
963832351B88DFD80015F710 = {
CreatedOnToolsVersion = 6.4;
DevelopmentTeam = 9Z76XCNLGL;
DevelopmentTeamName = "CosmicMind Inc.";
LastSwiftMigration = 1020;
ProvisioningStyle = Manual;
};
};
};
buildConfigurationList = 963832301B88DFD80015F710 /* Build configuration list for PBXProject "Material" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 9638322C1B88DFD80015F710;
productRefGroup = 963832371B88DFD80015F710 /* Products */;
projectDirPath = "";
projectReferences = (
{
ProductGroup = 968BA8321F8D201B0091852E /* Products */;
ProjectRef = 968BA8311F8D201B0091852E /* Motion.xcodeproj */;
},
);
projectRoot = "";
targets = (
963832351B88DFD80015F710 /* Material */,
);
};
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
968BA8361F8D201B0091852E /* Motion.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = Motion.framework;
remoteRef = 968BA8351F8D201B0091852E /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
963832341B88DFD80015F710 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
96334EF61C8B84660083986B /* Assets.xcassets in Resources */,
96BCB7F71CB40DE900C806FE /* Roboto-Medium.ttf in Resources */,
96BCB7F31CB40DE900C806FE /* Roboto-Bold.ttf in Resources */,
96BCB7FB1CB40DE900C806FE /* Roboto-Thin.ttf in Resources */,
96BCB7F91CB40DE900C806FE /* Roboto-Regular.ttf in Resources */,
96BCB7F51CB40DE900C806FE /* Roboto-Light.ttf in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
963832311B88DFD80015F710 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
961E6BE21DDA2AF3004E6C93 /* Screen.swift in Sources */,
9DF352441FED20ED00B2A11B /* RadioButton.swift in Sources */,
965E81261DD4D7C800D61E4B /* Material+NSMutableAttributedString.swift in Sources */,
965E80FF1DD4D5C800D61E4B /* BottomNavigationController.swift in Sources */,
965E81031DD4D5C800D61E4B /* CollectionView.swift in Sources */,
965E81041DD4D5C800D61E4B /* CollectionViewCell.swift in Sources */,
965E81071DD4D5C800D61E4B /* CollectionViewLayout.swift in Sources */,
965E81081DD4D5C800D61E4B /* CollectionReusableView.swift in Sources */,
965E81091DD4D5C800D61E4B /* DataSourceItem.swift in Sources */,
9DF352461FED210000B2A11B /* CheckButton.swift in Sources */,
965E810A1DD4D5C800D61E4B /* Font.swift in Sources */,
965E810B1DD4D5C800D61E4B /* RobotoFont.swift in Sources */,
9D494A3C217F6B7D003D66F1 /* LayoutConstraint.swift in Sources */,
965E810C1DD4D5C800D61E4B /* DynamicFontType.swift in Sources */,
965E81101DD4D5C800D61E4B /* NavigationBar.swift in Sources */,
965E81111DD4D5C800D61E4B /* NavigationController.swift in Sources */,
965E81121DD4D5C800D61E4B /* NavigationItem.swift in Sources */,
965E81131DD4D5C800D61E4B /* NavigationDrawerController.swift in Sources */,
9656895F1F002F16001C656D /* CardCollectionViewCell.swift in Sources */,
965E81161DD4D5C800D61E4B /* DisplayStyle.swift in Sources */,
965E81171DD4D5C800D61E4B /* TransitionController.swift in Sources */,
965E81181DD4D5C800D61E4B /* Snackbar.swift in Sources */,
965E81191DD4D5C800D61E4B /* SnackbarController.swift in Sources */,
9618006D1F4D384200CD77A1 /* Material+UIViewController.swift in Sources */,
9DE84D741FF0252600586C8B /* CheckButtonGroup.swift in Sources */,
965E811A1DD4D5C800D61E4B /* StatusBarController.swift in Sources */,
965E811B1DD4D5C800D61E4B /* Switch.swift in Sources */,
965E811C1DD4D5C800D61E4B /* TabBar.swift in Sources */,
965E811D1DD4D5C800D61E4B /* TableViewCell.swift in Sources */,
9D9089B92118914500605DC9 /* Editor.swift in Sources */,
965E811E1DD4D5C800D61E4B /* TextField.swift in Sources */,
965E811F1DD4D5C800D61E4B /* ErrorTextField.swift in Sources */,
965E81211DD4D5C800D61E4B /* TextStorage.swift in Sources */,
965E81221DD4D5C800D61E4B /* TextView.swift in Sources */,
965E80E71DD4C55200D61E4B /* Material+UIView.swift in Sources */,
9D494A38217F6B63003D66F1 /* LayoutAttribute.swift in Sources */,
96B8D22D20CF82D5008BD149 /* FABMenu.swift in Sources */,
965E80E81DD4C55200D61E4B /* Material+CALayer.swift in Sources */,
965E80E91DD4C55200D61E4B /* Material+String.swift in Sources */,
9DE84D731FF0252600586C8B /* BaseButtonGroup.swift in Sources */,
965E80F71DD4D59500D61E4B /* Card.swift in Sources */,
965E80EA1DD4C55200D61E4B /* Material+UIFont.swift in Sources */,
965E80EB1DD4C55200D61E4B /* Material+UIImage.swift in Sources */,
965E80EC1DD4C55200D61E4B /* Material+Array.swift in Sources */,
965E80ED1DD4C55200D61E4B /* Material+UIWindow.swift in Sources */,
961527B91F3A509900E8B2AC /* ChipBarController.swift in Sources */,
965E80E41DD4C53300D61E4B /* PulseView.swift in Sources */,
9DF352421FED20C900B2A11B /* BaseIconLayerButton.swift in Sources */,
966C17731F0439F600D3E83C /* Material+MotionAnimation.swift in Sources */,
965E80E51DD4C53300D61E4B /* PulseAnimation.swift in Sources */,
9DE84D721FF0252600586C8B /* RadioButtonGroup.swift in Sources */,
9D00EBB4216675FB00DBCD69 /* Theme.swift in Sources */,
965E80FE1DD4D59500D61E4B /* ToolbarController.swift in Sources */,
9DE25DE22170D7C0000C04DF /* DialogController.swift in Sources */,
9DE25DE42170D7FF000C04DF /* DialogView.swift in Sources */,
96328B971E05C0BB009A4C90 /* TableView.swift in Sources */,
965E80F81DD4D59500D61E4B /* ImageCard.swift in Sources */,
96328B991E05C0CE009A4C90 /* TableViewController.swift in Sources */,
9DE25DE02170D7AF000C04DF /* Dialog.swift in Sources */,
965E80F91DD4D59500D61E4B /* PresenterCard.swift in Sources */,
96E09DC81F2287E50000B121 /* TabsController.swift in Sources */,
961154CC1F32A7B100A78D74 /* ChipBar.swift in Sources */,
965689611F002F4C001C656D /* CardCollectionViewController.swift in Sources */,
965E80CC1DD4C50600D61E4B /* Bar.swift in Sources */,
965E80CD1DD4C50600D61E4B /* Button.swift in Sources */,
965E80CE1DD4C50600D61E4B /* FABButton.swift in Sources */,
965E80CF1DD4C50600D61E4B /* FlatButton.swift in Sources */,
9D39A81B20FE8ED100BA8FA1 /* ViewController.swift in Sources */,
965E80D01DD4C50600D61E4B /* RaisedButton.swift in Sources */,
9DF58CEE20C098C60098968D /* ErrorTextFieldValidator.swift in Sources */,
9D054A6520D175AC00D0528D /* Material+UIButton.swift in Sources */,
965E80D11DD4C50600D61E4B /* IconButton.swift in Sources */,
965E80D21DD4C50600D61E4B /* Color.swift in Sources */,
96BFC1541E5E486F0075DE1F /* SpringAnimation.swift in Sources */,
9D054A6620D175AC00D0528D /* Material+UILabel.swift in Sources */,
9D494A3A217F6B70003D66F1 /* LayoutAnchor.swift in Sources */,
965E80D31DD4C50600D61E4B /* Device.swift in Sources */,
965E80FD1DD4D59500D61E4B /* Toolbar.swift in Sources */,
965E80D41DD4C50600D61E4B /* Divider.swift in Sources */,
965E80D51DD4C50600D61E4B /* Grid.swift in Sources */,
965E80D61DD4C50600D61E4B /* HeightPreset.swift in Sources */,
961E6BDF1DDA2A95004E6C93 /* Application.swift in Sources */,
965E80D71DD4C50600D61E4B /* Icon.swift in Sources */,
965E80FC1DD4D59500D61E4B /* SearchBarController.swift in Sources */,
965E80D81DD4C50600D61E4B /* Layer.swift in Sources */,
965E80D91DD4C50600D61E4B /* Layout.swift in Sources */,
965E80DA1DD4C50600D61E4B /* Border.swift in Sources */,
965E80DB1DD4C50600D61E4B /* InterimSpace.swift in Sources */,
965E80DC1DD4C50600D61E4B /* Depth.swift in Sources */,
965E80DD1DD4C50600D61E4B /* EdgeInsets.swift in Sources */,
9DF74C4E20D15D84003C1D66 /* Material+UIColor.swift in Sources */,
965E80DF1DD4C50600D61E4B /* CornerRadius.swift in Sources */,
965E80FB1DD4D59500D61E4B /* SearchBar.swift in Sources */,
965E80E01DD4C50600D61E4B /* Shape.swift in Sources */,
965E80E11DD4C50600D61E4B /* Offset.swift in Sources */,
965E80E21DD4C50600D61E4B /* View.swift in Sources */,
96B8D22C20CF82D2008BD149 /* FABMenuController.swift in Sources */,
96328B7A1E020A41009A4C90 /* CollectionViewController.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
968BA8381F8D20530091852E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "Motion iOS";
targetProxy = 968BA8371F8D20530091852E /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
9638324A1B88DFD80015F710 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MACOSX_DEPLOYMENT_TARGET = 10.9;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = Material;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.2;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
9638324B1B88DFD80015F710 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MACOSX_DEPLOYMENT_TARGET = 10.9;
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_NAME = Material;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.2;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
9638324D1B88DFD80015F710 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_OBJC_UNUSED_IVARS = YES;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/**";
GCC_WARN_UNUSED_VALUE = YES;
INFOPLIST_FILE = Sources/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks @rpath/Frameworks";
MARKETING_VERSION = 3.1.8;
PRODUCT_BUNDLE_IDENTIFIER = com.cosmicmind.Material;
PRODUCT_NAME = Material;
PROVISIONING_PROFILE = "";
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
};
name = Debug;
};
9638324E1B88DFD80015F710 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_OBJC_UNUSED_IVARS = YES;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/**";
GCC_WARN_UNUSED_VALUE = YES;
INFOPLIST_FILE = Sources/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks @rpath/Frameworks";
MARKETING_VERSION = 3.1.8;
PRODUCT_BUNDLE_IDENTIFIER = com.cosmicmind.Material;
PRODUCT_NAME = Material;
PROVISIONING_PROFILE = "";
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
963832301B88DFD80015F710 /* Build configuration list for PBXProject "Material" */ = {
isa = XCConfigurationList;
buildConfigurations = (
9638324A1B88DFD80015F710 /* Debug */,
9638324B1B88DFD80015F710 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
9638324C1B88DFD80015F710 /* Build configuration list for PBXNativeTarget "Material" */ = {
isa = XCConfigurationList;
buildConfigurations = (
9638324D1B88DFD80015F710 /* Debug */,
9638324E1B88DFD80015F710 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 9638322D1B88DFD80015F710 /* Project object */;
}
================================================
FILE: Material.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>
================================================
FILE: Material.xcodeproj/project.xcworkspace/xcshareddata/Material.xcscmblueprint
================================================
{
"DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "9CF35BC641478FBD765F7442D4034ED362261E0A",
"DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : {
},
"DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : {
"9CF35BC641478FBD765F7442D4034ED362261E0A" : 9223372036854775807,
"0F3E254D46E5A5B90D1542854F510B7D145A9F31" : 9223372036854775807
},
"DVTSourceControlWorkspaceBlueprintIdentifierKey" : "0F44C283-777E-4E3F-9E10-FC52C3C270CE",
"DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
"9CF35BC641478FBD765F7442D4034ED362261E0A" : "Material\/",
"0F3E254D46E5A5B90D1542854F510B7D145A9F31" : "Material\/Sources\/Frameworks\/Motion\/"
},
"DVTSourceControlWorkspaceBlueprintNameKey" : "Material",
"DVTSourceControlWorkspaceBlueprintVersion" : 204,
"DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "Material.xcodeproj",
"DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [
{
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/CosmicMind\/Motion.git",
"DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "0F3E254D46E5A5B90D1542854F510B7D145A9F31"
},
{
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/CosmicMind\/Material.git",
"DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
"DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "9CF35BC641478FBD765F7442D4034ED362261E0A"
}
]
}
================================================
FILE: Material.xcodeproj/xcshareddata/xcschemes/Material.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "963832351B88DFD80015F710"
BuildableName = "Material.framework"
BlueprintName = "Material"
ReferencedContainer = "container:Material.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "963832351B88DFD80015F710"
BuildableName = "Material.framework"
BlueprintName = "Material"
ReferencedContainer = "container:Material.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "963832401B88DFD80015F710"
BuildableName = "Material.xctest"
BlueprintName = "Material iOS Tests"
ReferencedContainer = "container:Material.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "963832351B88DFD80015F710"
BuildableName = "Material.framework"
BlueprintName = "Material"
ReferencedContainer = "container:Material.xcodeproj">
</BuildableReference>
</MacroExpansion>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "963832351B88DFD80015F710"
BuildableName = "Material.framework"
BlueprintName = "Material"
ReferencedContainer = "container:Material.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: Package.swift
================================================
// swift-tools-version:4.2
import PackageDescription
let package = Package(
name: "Material",
// platforms: [.iOS("8.0")],
products: [
.library(name: "Material", targets: ["Material"])
],
dependencies: [
.package(url: "https://github.com/CosmicMind/Motion.git", .upToNextMajor(from: "3.1.0")),
],
targets: [
.target(
name: "Material",
dependencies: ["Motion"],
path: "Sources",
exclude: ["Frameworks"]
)
]
)
================================================
FILE: README.md
================================================

# Material
Welcome to **Material,** a UI/UX framework for creating beautiful applications. Material's animation system has been completely reworked to take advantage of [Motion](https://github.com/CosmicMind/Motion), a library dedicated to animations and transitions.
[](https://github.com/Carthage/Carthage)
[](https://github.com/JamitLabs/Accio)
[](http://cocoapods.org/pods/Material)
[](https://github.com/CosmicMind/Material/blob/master/LICENSE.md)



[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9D6MURMLLUNQ2)
## Photos Sample
Take a look at a sample [Photos](https://github.com/CosmicMind/Samples/tree/master/Projects/Programmatic/Photos) project to get started.

## Sample Projects
Take a look at [Sample Projects](https://github.com/CosmicMind/Samples) to get your projects started.
## Features
- [x] Completely Customizable
- [x] [Motion Animations & Transitions](https://github.com/CosmicMind/Motion)
- [x] Layout Tools for AutoLayout & Grid Systems
- [x] Color Library
- [x] Cards
- [x] FABMenu
- [x] Icons
- [x] TextField
- [x] Snackbar
- [x] Tabs
- [x] Chips
- [x] SearchBar
- [x] NavigationController
- [x] NavigationDrawer
- [x] BottomNavigationBar
- [x] [Sample Projects](https://github.com/CosmicMind/Samples)
- [x] And More...
## Requirements
* iOS 8.0+
* Xcode 8.0+
## Communication
- If you **need help**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/cosmicmind). (Tag 'cosmicmind')
- If you'd like to **ask a general question**, use [Stack Overflow](http://stackoverflow.com/questions/tagged/cosmicmind).
- If you **found a bug**, _and can provide steps to reliably reproduce it_, open an issue.
- If you **have a feature request**, open an issue.
- If you **want to contribute**, submit a pull request.
## Installation
> **Embedded frameworks require a minimum deployment target of iOS 8+.**
> - [Download Material](https://github.com/CosmicMind/Material/archive/master.zip)
## CocoaPods
[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command:
```bash
$ gem install cocoapods
```
To integrate Material's core features into your Xcode project using CocoaPods, specify it in your `Podfile`:
```ruby
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'Material', '~> 3.1.0'
```
Then, run the following command:
```bash
$ pod install
```
## Carthage
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
```bash
$ brew update
$ brew install carthage
```
To integrate Material into your Xcode project using Carthage, specify it in your Cartfile:
```bash
github "CosmicMind/Material"
```
Run `carthage update` to build the framework and drag the built `Material.framework` into your Xcode project.
## Change Log
Material is a growing project and will encounter changes throughout its development. It is recommended that the [Change Log](https://github.com/CosmicMind/Material/blob/master/CHANGELOG.md) be reviewed prior to updating versions.
## Icons
Icons is a library of Google and CosmicMind icons that are available for use within your iOS applications.

[Learn More](https://github.com/CosmicMind/Material/blob/master/Sources/iOS/Icon/Icon.swift)
## Colors
Try the Material Colors app to see the wonderful colors available in Material, or use the online version at [MaterialColor.com](http://materialcolor.com).

* [Material Colors iOS App](https://itunes.apple.com/app/x/id1111994400?mt=8)
## TextField
A TextField is an excellent way to improve UX. It allows for a placeholder and additional hint details.

* [TextField Sample](https://github.com/CosmicMind/Samples/tree/master/Projects/Programmatic/TextField)
## Button
A button is used to trigger an action through a touch event. Material comes with a foundational button, and 4 specialized buttons that can be stylized in any way.

* [Button Sample](https://github.com/CosmicMind/Samples/tree/master/Projects/Programmatic/Button)
## Switch
A switch is a control component that toggles between on and off states.

* [Switch Sample](https://github.com/CosmicMind/Samples/tree/master/Projects/Programmatic/Switch)
## Card
A Card is a flexible component that may be configured in any way you like. It has a Toolbar, Bar, and content area that may utilize any UIView type.

* [Card Sample](https://github.com/CosmicMind/Samples/tree/master/Projects/Programmatic/Card)
## ImageCard
An ImageCard is an expansion of the base Card. The Toolbar overlays an image area that sits above the dynamic content area.

* [ImageCard Sample](https://github.com/CosmicMind/Samples/tree/master/Projects/Programmatic/ImageCard)
## PresenterCard
The PresenterCard is a completely new card style. It allows for a primary presentation area that may be any UIView type in addition to the content area, Toolbar, and Bar components. The options for this card are endless.

* [PresenterCard Sample](https://github.com/CosmicMind/Samples/tree/master/Projects/Programmatic/PresenterCard)
## FABMenu
A FABMenu manages a collection of views. A new MenuItem type has been added that manages a title and button to improve UX and visual beauty.

* [FABMenu Sample](https://github.com/CosmicMind/Samples/tree/master/Projects/Programmatic/FABMenuController)
## Toolbar
Toolbars are super flexible and add excellent control to your navigation flow. They manage a set of left and right views with auto aligning title and detail labels.

* [Toolbar Sample](https://github.com/CosmicMind/Samples/tree/master/Projects/Programmatic/ToolbarController)
## SearchBar
A SearchBar is a powerful navigation tool that allows for user's input with an instant visual response. A set of left and right views may be added to expand functionality.

* [SearchBar Sample](https://github.com/CosmicMind/Samples/tree/master/Projects/Programmatic/Search)
## Tabs
Tabs is a new component that links a customizable TabBar to a stack of view controllers making a powerful and visually pleasing component to have in any application.

* [Tabs Sample](https://github.com/CosmicMind/Samples/tree/master/Projects/Programmatic/TabsController)
## NavigationController
A NavigationController is a specialized view controller that manages a hierarchy of content efficiently, making it easier for users to move within an application.

* [NavigationController Sample](https://github.com/CosmicMind/Samples/tree/master/Projects/Programmatic/NavigationController)
## NavigationDrawer
A NavigationDrawer slides in from the left or right and contains the navigation destinations for your application.

* [NavigationDrawer Sample](https://github.com/CosmicMind/Samples/tree/master/Projects/Programmatic/NavigationDrawerController)
## Snackbar
A Snackbar is a new component that is very simple in its behavior and very powerful in its message. It can be used application wide, or isolated to specific view controllers.

* [Snackbar Sample](https://github.com/CosmicMind/Samples/tree/master/Projects/Programmatic/SnackbarController)
## Sticker Sheet
To help template your project, checkout Material Sticker Sheet.

* [Material Sticker Sheet](http://www.materialup.com/posts/material-design-sticker-sheets)
## Much More...
So much more inside. Enjoy!
## License
The MIT License (MIT)
Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================
FILE: Sources/Assets.xcassets/Contents.json
================================================
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_add_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_add_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_add_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_add_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_arrow_back_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_arrow_back_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_arrow_back_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_arrow_back_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_arrow_downward_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_arrow_downward_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_arrow_downward_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_arrow_downward_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_audio_library_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_audio_library_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_audio_library_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_audio_library_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_audio_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_audio_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_audio_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_audio_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_bell_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_bell_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_bell_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_bell_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_check_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_check_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_check_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_check_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_close_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_close_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_close_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_close_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_image_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_image_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_image_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_image_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_menu_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_menu_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_menu_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_menu_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_microphone_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_microphone_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_microphone_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_microphone_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_more_horiz_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_more_horiz_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_more_horiz_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_more_horiz_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_more_vert_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_more_vert_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_more_vert_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_more_vert_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_movie_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_movie_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_movie_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_movie_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_pause_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_pause_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_pause_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_pause_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_pen_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_pen_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_pen_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_pen_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_photo_camera_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_photo_camera_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_photo_camera_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_photo_camera_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_photo_library_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_photo_library_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_photo_library_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_photo_library_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_play_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_play_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_play_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_play_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_search_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_search_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_search_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_search_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_settings_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_settings_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_settings_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_settings_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_share_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_share_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_share_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_share_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_shuffle_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_shuffle_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_shuffle_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_shuffle_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_skip_backward_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_skip_backward_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_skip_backward_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_skip_backward_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_skip_forward_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_skip_forward_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_skip_forward_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_skip_forward_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_star_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_star_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_star_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_star_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_videocam_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_videocam_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_videocam_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "cm_videocam_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Sources/Assets.xcassets/cm_volume_high_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "cm_volume_high_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "cm_volume_high_white@2x.png",
"scale" : "2x"
},
{
"idiom" :
gitextract_djfw36z0/
├── .gitignore
├── .gitmodules
├── .swift-version
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Cartfile
├── LICENSE.md
├── Material.podspec
├── Material.xcodeproj/
│ ├── project.pbxproj
│ ├── project.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ └── Material.xcscmblueprint
│ └── xcshareddata/
│ └── xcschemes/
│ └── Material.xcscheme
├── Package.swift
├── README.md
└── Sources/
├── Assets.xcassets/
│ ├── Contents.json
│ ├── cm_add_white.imageset/
│ │ └── Contents.json
│ ├── cm_arrow_back_white.imageset/
│ │ └── Contents.json
│ ├── cm_arrow_downward_white.imageset/
│ │ └── Contents.json
│ ├── cm_audio_library_white.imageset/
│ │ └── Contents.json
│ ├── cm_audio_white.imageset/
│ │ └── Contents.json
│ ├── cm_bell_white.imageset/
│ │ └── Contents.json
│ ├── cm_check_white.imageset/
│ │ └── Contents.json
│ ├── cm_close_white.imageset/
│ │ └── Contents.json
│ ├── cm_image_white.imageset/
│ │ └── Contents.json
│ ├── cm_menu_white.imageset/
│ │ └── Contents.json
│ ├── cm_microphone_white.imageset/
│ │ └── Contents.json
│ ├── cm_more_horiz_white.imageset/
│ │ └── Contents.json
│ ├── cm_more_vert_white.imageset/
│ │ └── Contents.json
│ ├── cm_movie_white.imageset/
│ │ └── Contents.json
│ ├── cm_pause_white.imageset/
│ │ └── Contents.json
│ ├── cm_pen_white.imageset/
│ │ └── Contents.json
│ ├── cm_photo_camera_white.imageset/
│ │ └── Contents.json
│ ├── cm_photo_library_white.imageset/
│ │ └── Contents.json
│ ├── cm_play_white.imageset/
│ │ └── Contents.json
│ ├── cm_search_white.imageset/
│ │ └── Contents.json
│ ├── cm_settings_white.imageset/
│ │ └── Contents.json
│ ├── cm_share_white.imageset/
│ │ └── Contents.json
│ ├── cm_shuffle_white.imageset/
│ │ └── Contents.json
│ ├── cm_skip_backward_white.imageset/
│ │ └── Contents.json
│ ├── cm_skip_forward_white.imageset/
│ │ └── Contents.json
│ ├── cm_star_white.imageset/
│ │ └── Contents.json
│ ├── cm_videocam_white.imageset/
│ │ └── Contents.json
│ ├── cm_volume_high_white.imageset/
│ │ └── Contents.json
│ ├── cm_volume_medium_white.imageset/
│ │ └── Contents.json
│ ├── cm_volume_off_white.imageset/
│ │ └── Contents.json
│ ├── ic_add_circle_outline_white.imageset/
│ │ └── Contents.json
│ ├── ic_add_circle_white.imageset/
│ │ └── Contents.json
│ ├── ic_add_white.imageset/
│ │ └── Contents.json
│ ├── ic_arrow_back_white.imageset/
│ │ └── Contents.json
│ ├── ic_arrow_downward_white.imageset/
│ │ └── Contents.json
│ ├── ic_audiotrack_white.imageset/
│ │ └── Contents.json
│ ├── ic_camera_front_white.imageset/
│ │ └── Contents.json
│ ├── ic_camera_rear_white.imageset/
│ │ └── Contents.json
│ ├── ic_check_white.imageset/
│ │ └── Contents.json
│ ├── ic_close_white.imageset/
│ │ └── Contents.json
│ ├── ic_edit_white.imageset/
│ │ └── Contents.json
│ ├── ic_email_white.imageset/
│ │ └── Contents.json
│ ├── ic_favorite_border_white.imageset/
│ │ └── Contents.json
│ ├── ic_favorite_white.imageset/
│ │ └── Contents.json
│ ├── ic_flash_auto_white.imageset/
│ │ └── Contents.json
│ ├── ic_flash_off_white.imageset/
│ │ └── Contents.json
│ ├── ic_flash_on_white.imageset/
│ │ └── Contents.json
│ ├── ic_history_white.imageset/
│ │ └── Contents.json
│ ├── ic_home_white.imageset/
│ │ └── Contents.json
│ ├── ic_image_white.imageset/
│ │ └── Contents.json
│ ├── ic_menu_white.imageset/
│ │ └── Contents.json
│ ├── ic_more_horiz_white.imageset/
│ │ └── Contents.json
│ ├── ic_more_vert_white.imageset/
│ │ └── Contents.json
│ ├── ic_movie_white.imageset/
│ │ └── Contents.json
│ ├── ic_phone_white.imageset/
│ │ └── Contents.json
│ ├── ic_photo_camera_white.imageset/
│ │ └── Contents.json
│ ├── ic_photo_library_white.imageset/
│ │ └── Contents.json
│ ├── ic_place_white.imageset/
│ │ └── Contents.json
│ ├── ic_search_white.imageset/
│ │ └── Contents.json
│ ├── ic_settings_white.imageset/
│ │ └── Contents.json
│ ├── ic_share_white.imageset/
│ │ └── Contents.json
│ ├── ic_star_border_white.imageset/
│ │ └── Contents.json
│ ├── ic_star_half_white.imageset/
│ │ └── Contents.json
│ ├── ic_star_white.imageset/
│ │ └── Contents.json
│ ├── ic_videocam_white.imageset/
│ │ └── Contents.json
│ ├── ic_visibility_off_white.imageset/
│ │ └── Contents.json
│ ├── ic_visibility_white.imageset/
│ │ └── Contents.json
│ └── ic_work_white.imageset/
│ └── Contents.json
├── Info.plist
├── LICENSE
├── Material.h
└── iOS/
├── Animation/
│ ├── PulseAnimation.swift
│ └── SpringAnimation.swift
├── Application/
│ └── Application.swift
├── Bar/
│ └── Bar.swift
├── BottomTabBar/
│ └── BottomNavigationController.swift
├── Button/
│ ├── BaseIconLayerButton.swift
│ ├── Button.swift
│ ├── CheckButton.swift
│ ├── FABButton.swift
│ ├── FlatButton.swift
│ ├── IconButton.swift
│ ├── RadioButton.swift
│ └── RaisedButton.swift
├── ButtonGroup/
│ ├── BaseButtonGroup.swift
│ ├── CheckButtonGroup.swift
│ └── RadioButtonGroup.swift
├── Card/
│ ├── Card.swift
│ ├── ImageCard.swift
│ └── PresenterCard.swift
├── Chip/
│ ├── ChipBar.swift
│ └── ChipBarController.swift
├── Collection/
│ ├── CardCollectionView/
│ │ ├── CardCollectionViewCell.swift
│ │ └── CardCollectionViewController.swift
│ ├── CollectionReusableView.swift
│ ├── CollectionView.swift
│ ├── CollectionViewCell.swift
│ ├── CollectionViewController.swift
│ └── CollectionViewLayout.swift
├── Color/
│ └── Color.swift
├── Data/
│ └── DataSourceItem.swift
├── Device/
│ └── Device.swift
├── Dialogs/
│ ├── Dialog.swift
│ ├── DialogController.swift
│ └── DialogView.swift
├── Divider/
│ └── Divider.swift
├── Extension/
│ ├── Material+Array.swift
│ ├── Material+CALayer.swift
│ ├── Material+MotionAnimation.swift
│ ├── Material+NSMutableAttributedString.swift
│ ├── Material+String.swift
│ ├── Material+UIButton.swift
│ ├── Material+UIColor.swift
│ ├── Material+UIFont.swift
│ ├── Material+UIImage.swift
│ ├── Material+UILabel.swift
│ ├── Material+UIView.swift
│ ├── Material+UIViewController.swift
│ └── Material+UIWindow.swift
├── FABMenu/
│ ├── FABMenu.swift
│ └── FABMenuController.swift
├── Font/
│ ├── DynamicFontType.swift
│ ├── Font.swift
│ └── RobotoFont.swift
├── Grid/
│ └── Grid.swift
├── Height/
│ └── HeightPreset.swift
├── Icon/
│ └── Icon.swift
├── Layer/
│ └── Layer.swift
├── Layout/
│ ├── Layout.swift
│ ├── LayoutAnchor.swift
│ ├── LayoutAttribute.swift
│ └── LayoutConstraint.swift
├── Navigation/
│ ├── NavigationBar.swift
│ ├── NavigationController.swift
│ └── NavigationItem.swift
├── NavigationDrawer/
│ └── NavigationDrawerController.swift
├── Screen/
│ └── Screen.swift
├── SearchBar/
│ ├── SearchBar.swift
│ └── SearchBarController.swift
├── Snackbar/
│ ├── Snackbar.swift
│ └── SnackbarController.swift
├── StatusBar/
│ └── StatusBarController.swift
├── Switch/
│ └── Switch.swift
├── Tab/
│ ├── TabBar.swift
│ └── TabsController.swift
├── Table/
│ ├── TableView.swift
│ ├── TableViewCell.swift
│ └── TableViewController.swift
├── Text/
│ ├── Editor.swift
│ ├── ErrorTextField.swift
│ ├── ErrorTextFieldValidator.swift
│ ├── TextField.swift
│ ├── TextStorage.swift
│ └── TextView.swift
├── Theme/
│ └── Theme.swift
├── Toolbar/
│ ├── Toolbar.swift
│ └── ToolbarController.swift
├── Transition/
│ ├── DisplayStyle.swift
│ └── TransitionController.swift
├── Type/
│ ├── Border.swift
│ ├── CornerRadius.swift
│ ├── Depth.swift
│ ├── EdgeInsets.swift
│ ├── InterimSpace.swift
│ ├── Offset.swift
│ └── Shape.swift
└── View/
├── PulseView.swift
├── View.swift
└── ViewController.swift
Condensed preview — 185 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (924K chars).
[
{
"path": ".gitignore",
"chars": 245,
"preview": "#OS X\n.DS_Store\n\n# Xcode\nbuild/*\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.pers"
},
{
"path": ".gitmodules",
"chars": 122,
"preview": "[submodule \"Sources/Frameworks/Motion\"]\n\tpath = Sources/Frameworks/Motion\n\turl = https://github.com/CosmicMind/Motion.gi"
},
{
"path": ".swift-version",
"chars": 4,
"preview": "5.0\n"
},
{
"path": "CHANGELOG.md",
"chars": 66577,
"preview": "## 3.1.8\n\n- [pr-1269](https://github.com/CosmicMind/Material/pull/1269): Fixed Xcode 11 crash, where layoutMargins are n"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 3219,
"preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, w"
},
{
"path": "CONTRIBUTING.md",
"chars": 4169,
"preview": "# Contributing Guidelines\n\nThis document contains information and guidelines about contributing to this project.\nPlease "
},
{
"path": "Cartfile",
"chars": 37,
"preview": "github \"CosmicMind/Motion\" >= 1.2.2\n\n"
},
{
"path": "LICENSE.md",
"chars": 1130,
"preview": "The MIT License (MIT)\n\nCopyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\nAll rights reserved.\n\nPermission is"
},
{
"path": "Material.podspec",
"chars": 822,
"preview": "Pod::Spec.new do |s|\n\ts.name = 'Material'\n\ts.version = '3.1.8'\n\ts.swift_version = '5.0'\n\ts.license = 'BSD-3-Clause'\n\ts.s"
},
{
"path": "Material.xcodeproj/project.pbxproj",
"chars": 89096,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "Material.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 135,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:\">\n </FileRef"
},
{
"path": "Material.xcodeproj/project.xcworkspace/xcshareddata/Material.xcscmblueprint",
"chars": 1697,
"preview": "{\n \"DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey\" : \"9CF35BC641478FBD765F7442D4034ED362261E0A\",\n \"DVTS"
},
{
"path": "Material.xcodeproj/xcshareddata/xcschemes/Material.xcscheme",
"chars": 3552,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1100\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Package.swift",
"chars": 521,
"preview": "// swift-tools-version:4.2\nimport PackageDescription\n\nlet package = Package(\n name: \"Material\",\n // platforms: [.i"
},
{
"path": "README.md",
"chars": 10486,
"preview": "\n\n# Material\n\nWelcome to **Material,** a UI/UX f"
},
{
"path": "Sources/Assets.xcassets/Contents.json",
"chars": 62,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n }\n}"
},
{
"path": "Sources/Assets.xcassets/cm_add_white.imageset/Contents.json",
"chars": 393,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_add_white.png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "Sources/Assets.xcassets/cm_arrow_back_white.imageset/Contents.json",
"chars": 414,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_arrow_back_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/cm_arrow_downward_white.imageset/Contents.json",
"chars": 426,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_arrow_downward_white.png\",\n \"scale\" : \"1"
},
{
"path": "Sources/Assets.xcassets/cm_audio_library_white.imageset/Contents.json",
"chars": 423,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_audio_library_white.png\",\n \"scale\" : \"1x"
},
{
"path": "Sources/Assets.xcassets/cm_audio_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_audio_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/cm_bell_white.imageset/Contents.json",
"chars": 396,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_bell_white.png\",\n \"scale\" : \"1x\"\n },\n"
},
{
"path": "Sources/Assets.xcassets/cm_check_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_check_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/cm_close_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_close_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/cm_image_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_image_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/cm_menu_white.imageset/Contents.json",
"chars": 396,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_menu_white.png\",\n \"scale\" : \"1x\"\n },\n"
},
{
"path": "Sources/Assets.xcassets/cm_microphone_white.imageset/Contents.json",
"chars": 414,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_microphone_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/cm_more_horiz_white.imageset/Contents.json",
"chars": 414,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_more_horiz_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/cm_more_vert_white.imageset/Contents.json",
"chars": 411,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_more_vert_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/cm_movie_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_movie_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/cm_pause_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_pause_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/cm_pen_white.imageset/Contents.json",
"chars": 393,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_pen_white.png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "Sources/Assets.xcassets/cm_photo_camera_white.imageset/Contents.json",
"chars": 420,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_photo_camera_white.png\",\n \"scale\" : \"1x\""
},
{
"path": "Sources/Assets.xcassets/cm_photo_library_white.imageset/Contents.json",
"chars": 423,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_photo_library_white.png\",\n \"scale\" : \"1x"
},
{
"path": "Sources/Assets.xcassets/cm_play_white.imageset/Contents.json",
"chars": 396,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_play_white.png\",\n \"scale\" : \"1x\"\n },\n"
},
{
"path": "Sources/Assets.xcassets/cm_search_white.imageset/Contents.json",
"chars": 402,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_search_white.png\",\n \"scale\" : \"1x\"\n }"
},
{
"path": "Sources/Assets.xcassets/cm_settings_white.imageset/Contents.json",
"chars": 408,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_settings_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/cm_share_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_share_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/cm_shuffle_white.imageset/Contents.json",
"chars": 405,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_shuffle_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/cm_skip_backward_white.imageset/Contents.json",
"chars": 423,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_skip_backward_white.png\",\n \"scale\" : \"1x"
},
{
"path": "Sources/Assets.xcassets/cm_skip_forward_white.imageset/Contents.json",
"chars": 420,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_skip_forward_white.png\",\n \"scale\" : \"1x\""
},
{
"path": "Sources/Assets.xcassets/cm_star_white.imageset/Contents.json",
"chars": 396,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_star_white.png\",\n \"scale\" : \"1x\"\n },\n"
},
{
"path": "Sources/Assets.xcassets/cm_videocam_white.imageset/Contents.json",
"chars": 408,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_videocam_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/cm_volume_high_white.imageset/Contents.json",
"chars": 417,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_volume_high_white.png\",\n \"scale\" : \"1x\"\n"
},
{
"path": "Sources/Assets.xcassets/cm_volume_medium_white.imageset/Contents.json",
"chars": 423,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_volume_medium_white.png\",\n \"scale\" : \"1x"
},
{
"path": "Sources/Assets.xcassets/cm_volume_off_white.imageset/Contents.json",
"chars": 414,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"cm_volume_off_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_add_circle_outline_white.imageset/Contents.json",
"chars": 438,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_add_circle_outline_white.png\",\n \"scale\" "
},
{
"path": "Sources/Assets.xcassets/ic_add_circle_white.imageset/Contents.json",
"chars": 414,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_add_circle_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_add_white.imageset/Contents.json",
"chars": 393,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_add_white.png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "Sources/Assets.xcassets/ic_arrow_back_white.imageset/Contents.json",
"chars": 414,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_arrow_back_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_arrow_downward_white.imageset/Contents.json",
"chars": 426,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_arrow_downward_white.png\",\n \"scale\" : \"1"
},
{
"path": "Sources/Assets.xcassets/ic_audiotrack_white.imageset/Contents.json",
"chars": 414,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_audiotrack_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_camera_front_white.imageset/Contents.json",
"chars": 420,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_camera_front_white.png\",\n \"scale\" : \"1x\""
},
{
"path": "Sources/Assets.xcassets/ic_camera_rear_white.imageset/Contents.json",
"chars": 417,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_camera_rear_white.png\",\n \"scale\" : \"1x\"\n"
},
{
"path": "Sources/Assets.xcassets/ic_check_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_check_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/ic_close_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_close_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/ic_edit_white.imageset/Contents.json",
"chars": 396,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_edit_white.png\",\n \"scale\" : \"1x\"\n },\n"
},
{
"path": "Sources/Assets.xcassets/ic_email_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_email_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/ic_favorite_border_white.imageset/Contents.json",
"chars": 429,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_favorite_border_white.png\",\n \"scale\" : \""
},
{
"path": "Sources/Assets.xcassets/ic_favorite_white.imageset/Contents.json",
"chars": 408,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_favorite_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_flash_auto_white.imageset/Contents.json",
"chars": 414,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_flash_auto_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_flash_off_white.imageset/Contents.json",
"chars": 411,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_flash_off_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_flash_on_white.imageset/Contents.json",
"chars": 408,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_flash_on_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_history_white.imageset/Contents.json",
"chars": 405,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_history_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_home_white.imageset/Contents.json",
"chars": 396,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_home_white.png\",\n \"scale\" : \"1x\"\n },\n"
},
{
"path": "Sources/Assets.xcassets/ic_image_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_image_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/ic_menu_white.imageset/Contents.json",
"chars": 396,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_menu_white.png\",\n \"scale\" : \"1x\"\n },\n"
},
{
"path": "Sources/Assets.xcassets/ic_more_horiz_white.imageset/Contents.json",
"chars": 414,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_more_horiz_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_more_vert_white.imageset/Contents.json",
"chars": 411,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_more_vert_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_movie_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_movie_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/ic_phone_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_phone_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/ic_photo_camera_white.imageset/Contents.json",
"chars": 420,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_photo_camera_white.png\",\n \"scale\" : \"1x\""
},
{
"path": "Sources/Assets.xcassets/ic_photo_library_white.imageset/Contents.json",
"chars": 423,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_photo_library_white.png\",\n \"scale\" : \"1x"
},
{
"path": "Sources/Assets.xcassets/ic_place_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_place_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/ic_search_white.imageset/Contents.json",
"chars": 402,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_search_white.png\",\n \"scale\" : \"1x\"\n }"
},
{
"path": "Sources/Assets.xcassets/ic_settings_white.imageset/Contents.json",
"chars": 408,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_settings_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_share_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_share_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Sources/Assets.xcassets/ic_star_border_white.imageset/Contents.json",
"chars": 417,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_star_border_white.png\",\n \"scale\" : \"1x\"\n"
},
{
"path": "Sources/Assets.xcassets/ic_star_half_white.imageset/Contents.json",
"chars": 411,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_star_half_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_star_white.imageset/Contents.json",
"chars": 396,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_star_white.png\",\n \"scale\" : \"1x\"\n },\n"
},
{
"path": "Sources/Assets.xcassets/ic_videocam_white.imageset/Contents.json",
"chars": 408,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_videocam_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_visibility_off_white.imageset/Contents.json",
"chars": 426,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_visibility_off_white.png\",\n \"scale\" : \"1"
},
{
"path": "Sources/Assets.xcassets/ic_visibility_white.imageset/Contents.json",
"chars": 414,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_visibility_white.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Sources/Assets.xcassets/ic_work_white.imageset/Contents.json",
"chars": 396,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_work_white.png\",\n \"scale\" : \"1x\"\n },\n"
},
{
"path": "Sources/Info.plist",
"chars": 1205,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Sources/LICENSE",
"chars": 1130,
"preview": "The MIT License (MIT)\n\nCopyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\nAll rights reserved.\n\nPermission is"
},
{
"path": "Sources/Material.h",
"chars": 1564,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Animation/PulseAnimation.swift",
"chars": 5738,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Animation/SpringAnimation.swift",
"chars": 19984,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Application/Application.swift",
"chars": 3516,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Bar/Bar.swift",
"chars": 6835,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/BottomTabBar/BottomNavigationController.swift",
"chars": 8814,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Button/BaseIconLayerButton.swift",
"chars": 10796,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Button/Button.swift",
"chars": 9179,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Button/CheckButton.swift",
"chars": 7518,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Button/FABButton.swift",
"chars": 1623,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Button/FlatButton.swift",
"chars": 1557,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Button/IconButton.swift",
"chars": 1945,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Button/RadioButton.swift",
"chars": 5014,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Button/RaisedButton.swift",
"chars": 1600,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/ButtonGroup/BaseButtonGroup.swift",
"chars": 3670,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/ButtonGroup/CheckButtonGroup.swift",
"chars": 2564,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/ButtonGroup/RadioButtonGroup.swift",
"chars": 2706,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Card/Card.swift",
"chars": 6694,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Card/ImageCard.swift",
"chars": 3000,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Card/PresenterCard.swift",
"chars": 2496,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Chip/ChipBar.swift",
"chars": 10282,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Chip/ChipBarController.swift",
"chars": 3950,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Collection/CardCollectionView/CardCollectionViewCell.swift",
"chars": 1615,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Collection/CardCollectionView/CardCollectionViewController.swift",
"chars": 3544,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Collection/CollectionReusableView.swift",
"chars": 8283,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Collection/CollectionView.swift",
"chars": 4512,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Collection/CollectionViewCell.swift",
"chars": 7384,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Collection/CollectionViewController.swift",
"chars": 3305,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Collection/CollectionViewLayout.swift",
"chars": 7984,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Color/Color.swift",
"chars": 27908,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Data/DataSourceItem.swift",
"chars": 1876,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Device/Device.swift",
"chars": 6086,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Dialogs/Dialog.swift",
"chars": 9425,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Dialogs/DialogController.swift",
"chars": 5573,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Dialogs/DialogView.swift",
"chars": 13855,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Divider/Divider.swift",
"chars": 5337,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Extension/Material+Array.swift",
"chars": 1974,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Extension/Material+CALayer.swift",
"chars": 6920,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Extension/Material+MotionAnimation.swift",
"chars": 1996,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Extension/Material+NSMutableAttributedString.swift",
"chars": 2327,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Extension/Material+String.swift",
"chars": 2168,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Extension/Material+UIButton.swift",
"chars": 1528,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Extension/Material+UIColor.swift",
"chars": 3918,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Extension/Material+UIFont.swift",
"chars": 2333,
"preview": "/*\n * Copyright (C) 2015 - 2019 and CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n *\n * Authors:\n * "
},
{
"path": "Sources/iOS/Extension/Material+UIImage.swift",
"chars": 13894,
"preview": "/*\n * Copyright (C) 2015 - 2019 and CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n *\n * Authors:\n * "
},
{
"path": "Sources/iOS/Extension/Material+UILabel.swift",
"chars": 1479,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Extension/Material+UIView.swift",
"chars": 3643,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Extension/Material+UIViewController.swift",
"chars": 2171,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Extension/Material+UIWindow.swift",
"chars": 1629,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/FABMenu/FABMenu.swift",
"chars": 15831,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/FABMenu/FABMenuController.swift",
"chars": 5448,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Font/DynamicFontType.swift",
"chars": 2224,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Font/Font.swift",
"chars": 4186,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Font/RobotoFont.swift",
"chars": 3659,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Grid/Grid.swift",
"chars": 9300,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Height/HeightPreset.swift",
"chars": 1846,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Icon/Icon.swift",
"chars": 6635,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Layer/Layer.swift",
"chars": 4877,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Layout/Layout.swift",
"chars": 45710,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Layout/LayoutAnchor.swift",
"chars": 5573,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Layout/LayoutAttribute.swift",
"chars": 3511,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Layout/LayoutConstraint.swift",
"chars": 3285,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Navigation/NavigationBar.swift",
"chars": 6583,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Navigation/NavigationController.swift",
"chars": 8046,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Navigation/NavigationItem.swift",
"chars": 3476,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/NavigationDrawer/NavigationDrawerController.swift",
"chars": 41283,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Screen/Screen.swift",
"chars": 1663,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/SearchBar/SearchBar.swift",
"chars": 6884,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/SearchBar/SearchBarController.swift",
"chars": 3469,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Snackbar/Snackbar.swift",
"chars": 3094,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Snackbar/SnackbarController.swift",
"chars": 7289,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/StatusBar/StatusBarController.swift",
"chars": 4019,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Switch/Switch.swift",
"chars": 17142,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Tab/TabBar.swift",
"chars": 20044,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Tab/TabsController.swift",
"chars": 16403,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Table/TableView.swift",
"chars": 2293,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Table/TableViewCell.swift",
"chars": 5813,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Table/TableViewController.swift",
"chars": 2868,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Text/Editor.swift",
"chars": 11632,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Text/ErrorTextField.swift",
"chars": 2729,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Text/ErrorTextFieldValidator.swift",
"chars": 9183,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Text/TextField.swift",
"chars": 22050,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Text/TextStorage.swift",
"chars": 5883,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Text/TextView.swift",
"chars": 18876,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Theme/Theme.swift",
"chars": 6706,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Toolbar/Toolbar.swift",
"chars": 5740,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Toolbar/ToolbarController.swift",
"chars": 3432,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Transition/DisplayStyle.swift",
"chars": 1295,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Transition/TransitionController.swift",
"chars": 7594,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Type/Border.swift",
"chars": 1891,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Type/CornerRadius.swift",
"chars": 2003,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Type/Depth.swift",
"chars": 5183,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Type/EdgeInsets.swift",
"chars": 6162,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Type/InterimSpace.swift",
"chars": 2594,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Type/Offset.swift",
"chars": 1751,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/Type/Shape.swift",
"chars": 1311,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/View/PulseView.swift",
"chars": 3615,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/View/View.swift",
"chars": 5246,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
},
{
"path": "Sources/iOS/View/ViewController.swift",
"chars": 2340,
"preview": "/*\n * The MIT License (MIT)\n *\n * Copyright (C) 2019, CosmicMind, Inc. <http://cosmicmind.com>.\n * All rights reserved.\n"
}
]
About this extraction
This page contains the full source code of the CosmicMind/Material GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 185 files (854.8 KB), approximately 229.4k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.