include new contentSizePublisher

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2024-03-11 13:51:32 -05:00
parent 6aa09da464
commit 59b72835c0

View File

@ -9,6 +9,7 @@ import Foundation
import UIKit import UIKit
import VDSColorTokens import VDSColorTokens
import VDSFormControlsTokens import VDSFormControlsTokens
import Combine
/// A button group contains combinations of related CTAs including ``Button``, ``TextLink``, and ``TextLinkCaret``. This group component controls a combination's orientation, spacing, size and allowable size pairings. /// A button group contains combinations of related CTAs including ``Button``, ``TextLink``, and ``TextLinkCaret``. This group component controls a combination's orientation, spacing, size and allowable size pairings.
@objc(VDSButtonGroup) @objc(VDSButtonGroup)
@ -98,6 +99,8 @@ open class ButtonGroup: View {
buttons.forEach { $0.surface = surface } buttons.forEach { $0.surface = surface }
} }
} }
open var contentSizePublisher: AnyPublisher<CGSize, Never> { collectionView.contentSizePublisher }
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Private Properties // MARK: - Private Properties
@ -108,6 +111,7 @@ open class ButtonGroup: View {
$0.delegate = self $0.delegate = self
} }
/// CollectionView that renders the array of buttonBase obects.
fileprivate lazy var collectionView: SelfSizingCollectionView = { fileprivate lazy var collectionView: SelfSizingCollectionView = {
return SelfSizingCollectionView(frame: .zero, collectionViewLayout: positionLayout).with { return SelfSizingCollectionView(frame: .zero, collectionViewLayout: positionLayout).with {