From f73de3734bb9bd4a331940eaf4ab072eb81d5f9e Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Mon, 14 Aug 2023 09:03:13 -0500 Subject: [PATCH] refactored inset to private, update constraints Signed-off-by: Matt Bruce --- VDS/Components/Badge/Badge.swift | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/VDS/Components/Badge/Badge.swift b/VDS/Components/Badge/Badge.swift index bf2ff583..5f997c45 100644 --- a/VDS/Components/Badge/Badge.swift +++ b/VDS/Components/Badge/Badge.swift @@ -56,6 +56,11 @@ open class Badge: View { //-------------------------------------------------- // MARK: - Configuration //-------------------------------------------------- + private var minWidth: CGFloat = 23.0 + private var labelInset: UIEdgeInsets = .init(top: 2, + left: VDSLayout.Spacing.space1X.value, + bottom: 2, + right: VDSLayout.Spacing.space1X.value) /// ColorConfiguration that is mapped to the 'fillColor' for the surface. private var backgroundColorConfiguration: AnyColorable = { @@ -104,13 +109,10 @@ open class Badge: View { layer.cornerRadius = 2 addSubview(label) - label.pinToSuperView(.init(top: 2, - left: VDSLayout.Spacing.space1X.value, - bottom: 2, - right: VDSLayout.Spacing.space1X.value)) + label.pinToSuperView(labelInset) - maxWidthConstraint = label.widthAnchor.constraint(lessThanOrEqualToConstant: 100) - minWidthConstraint = label.widthAnchor.constraint(greaterThanOrEqualToConstant: 23) + maxWidthConstraint = label.widthAnchor.constraint(lessThanOrEqualToConstant: 0) + minWidthConstraint = label.widthAnchor.constraint(greaterThanOrEqualToConstant: minWidth) minWidthConstraint?.isActive = true } @@ -145,11 +147,13 @@ open class Badge: View { label.surface = surface label.disabled = disabled - if let maxWidth = maxWidth, let minWidth = minWidthConstraint?.constant, maxWidth > minWidth { + if let maxWidth = maxWidth, maxWidth > minWidth { maxWidthConstraint?.constant = maxWidth maxWidthConstraint?.isActive = true + minWidthConstraint?.isActive = false } else { maxWidthConstraint?.isActive = false + minWidthConstraint?.isActive = true } } }