Index: ios/chrome/browser/ui/suggestions/suggestions_expandable_item.h |
diff --git a/ios/chrome/browser/ui/suggestions/suggestions_expandable_item.h b/ios/chrome/browser/ui/suggestions/suggestions_expandable_item.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..174ab5c8f2c095ce3297d8b72c40d19949bc6e54 |
--- /dev/null |
+++ b/ios/chrome/browser/ui/suggestions/suggestions_expandable_item.h |
@@ -0,0 +1,57 @@ |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef IOS_CHROME_BROWSER_UI_SUGGESTIONS_SUGGESTIONS_EXPANDABLE_ITEM_H_ |
+#define IOS_CHROME_BROWSER_UI_SUGGESTIONS_SUGGESTIONS_EXPANDABLE_ITEM_H_ |
+ |
+#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h" |
+#import "ios/chrome/browser/ui/suggestions/expandable_item.h" |
+#import "ios/third_party/material_components_ios/src/components/CollectionCells/src/MaterialCollectionCells.h" |
+ |
+@class SuggestionsExpandableCell; |
+ |
+// Delegate for the SuggestionsExpandableCell. The delegate will take care of |
+// the expansion/collapsing of the cell. |
+@protocol SuggestionsExpandableCellDelegate |
+ |
+- (void)expandCell:(UICollectionViewCell*)cell; |
+- (void)collapseCell:(UICollectionViewCell*)cell; |
+ |
+@end |
+ |
+// Item for an expandable article in the suggestions. An expandable article can |
+// be expanded, displaying more informations/interactions. |
+@interface SuggestionsExpandableItem |
+ : CollectionViewItem<SuggestionsExpandableArticle> |
+ |
+// Init the article with a |title|, a |subtitle| an |image| and some |detail| |
+// displayed only when the article is expanded. |type| is the type of the item. |
+- (instancetype)initWithType:(NSInteger)type |
+ title:(NSString*)title |
+ subtitle:(NSString*)subtitle |
+ image:(UIImage*)image |
+ detailText:(NSString*)detail NS_DESIGNATED_INITIALIZER; |
+ |
+- (instancetype)initWithType:(NSInteger)type NS_UNAVAILABLE; |
+ |
+// Delegate for the configured cells. |
+@property(nonatomic, weak) id<SuggestionsExpandableCellDelegate> delegate; |
+ |
+@end |
+ |
+// Corresponding cell of an expandable article. |
+@interface SuggestionsExpandableCell : MDCCollectionViewCell |
+ |
+@property(nonatomic, weak) id<SuggestionsExpandableCellDelegate> delegate; |
+@property(nonatomic, readonly, strong) UILabel* titleLabel; |
+@property(nonatomic, readonly, strong) UILabel* subtitleLabel; |
+@property(nonatomic, readonly, strong) UILabel* detailLabel; |
+@property(nonatomic, strong) UIImageView* imageView; |
+ |
+- (void)expand; |
+- (void)collapse; |
+ |
+@end |
+ |
+#endif // IOS_CHROME_BROWSER_UI_SUGGESTIONS_SUGGESTIONS_EXPANDABLE_ITEM_H_ |