refactored inset to private, update constraints

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2023-08-14 09:03:13 -05:00
parent d4d1b8d7c9
commit f73de3734b

View File

@ -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
}
}
}