updated buttonbase

other buttons

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2023-03-29 13:48:09 -05:00
parent aa233515a5
commit ac8d4e707b
4 changed files with 10 additions and 4 deletions

View File

@ -17,7 +17,7 @@ public enum ButtonSize: String, CaseIterable {
} }
@objc(VDSButton) @objc(VDSButton)
open class Button: ButtonBase, Useable { open class Button: ButtonBase, Useable, Clickable {
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Private Properties // MARK: - Private Properties
@ -30,6 +30,8 @@ open class Button: ButtonBase, Useable {
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Properties // MARK: - Properties
//-------------------------------------------------- //--------------------------------------------------
open var onClick: ((Button) -> ())? { didSet { setupOnClick() } }
open override var availableSizes: [ButtonSize] { [.large, .small] } open override var availableSizes: [ButtonSize] { [.large, .small] }
open var use: Use = .primary { didSet { didChange() }} open var use: Use = .primary { didSet { didChange() }}

View File

@ -29,7 +29,7 @@ open class ButtonBase: UIButton, Buttonable, Handlerable, ViewProtocol, Resettab
//-------------------------------------------------- //--------------------------------------------------
public var subject = PassthroughSubject<Void, Never>() public var subject = PassthroughSubject<Void, Never>()
public var subscribers = Set<AnyCancellable>() public var subscribers = Set<AnyCancellable>()
open var onClickSubscriber: AnyCancellable? { internal var onClickSubscriber: AnyCancellable? {
willSet { willSet {
if let onClickSubscriber { if let onClickSubscriber {
onClickSubscriber.cancel() onClickSubscriber.cancel()

View File

@ -12,7 +12,7 @@ import VDSFormControlsTokens
import Combine import Combine
@objc(VDSTextLink) @objc(VDSTextLink)
open class TextLink: ButtonBase { open class TextLink: ButtonBase, Clickable {
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Private Properties // MARK: - Private Properties
@ -22,6 +22,8 @@ open class TextLink: ButtonBase {
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Properties // MARK: - Properties
//-------------------------------------------------- //--------------------------------------------------
open var onClick: ((TextLink) -> ())? { didSet { setupOnClick() } }
open var size: ButtonSize = .large { didSet { didChange() }} open var size: ButtonSize = .large { didSet { didChange() }}
open override var availableSizes: [ButtonSize] { [.large, .small] } open override var availableSizes: [ButtonSize] { [.large, .small] }

View File

@ -12,7 +12,7 @@ import VDSFormControlsTokens
import Combine import Combine
@objc(VDSTextLinkCaret) @objc(VDSTextLinkCaret)
open class TextLinkCaret: ButtonBase { open class TextLinkCaret: ButtonBase, Clickable {
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Enums // MARK: - Enums
@ -24,6 +24,8 @@ open class TextLinkCaret: ButtonBase {
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Private Properties // MARK: - Private Properties
//-------------------------------------------------- //--------------------------------------------------
open var onClick: ((TextLinkCaret) -> ())? { didSet { setupOnClick() } }
open override var textStyle: TextStyle { open override var textStyle: TextStyle {
TextStyle.boldBodyLarge TextStyle.boldBodyLarge
} }