// 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_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_FAVICON_ITEM_H_
#define IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_FAVICON_ITEM_H_

#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
#import "ios/third_party/material_components_ios/src/components/CollectionCells/src/MaterialCollectionCells.h"

// Delegate for the ContentSuggestionsFaviconCell, handling the interaction with
// the inner collection view.
@protocol ContentSuggestionsFaviconCellDelegate

// Opens the favicon associated with the |indexPath| of the internal cell.
- (void)openFaviconAtIndexPath:(nonnull NSIndexPath*)innerIndexPath;

@end

// Item for a cell containing favicons in the suggestions. The favicons are
// presented in an inner collection view contained in the cell associated with
// this item. The collection view scrolls horizontally.
@interface ContentSuggestionsFaviconItem : CollectionViewItem

@property(nonatomic, weak, nullable) id<ContentSuggestionsFaviconCellDelegate>
    delegate;

// Adds a favicon with a |favicon| image and a |title| to this item.
- (void)addFavicon:(nonnull UIImage*)favicon withTitle:(nonnull NSString*)title;

@end

// The corresponding cell of a favicon item.
@interface ContentSuggestionsFaviconCell : MDCCollectionViewCell

// The inner collection view, used to display the favicons.
@property(nonatomic, strong, nullable) UICollectionView* collectionView;

@property(nonatomic, weak, nullable) id<ContentSuggestionsFaviconCellDelegate>
    delegate;

@end

#endif  // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_FAVICON_ITEM_H_
