diff --git a/MVMCoreUI/Atomic/Atoms/Buttons/PillButton.swift b/MVMCoreUI/Atomic/Atoms/Buttons/PillButton.swift index 8eefe1d7..1bdf0234 100644 --- a/MVMCoreUI/Atomic/Atoms/Buttons/PillButton.swift +++ b/MVMCoreUI/Atomic/Atoms/Buttons/PillButton.swift @@ -168,10 +168,14 @@ open class PillButton: Button, MVMCoreUIViewConstrainingProtocol { } open override var intrinsicContentSize: CGSize { - - let size = super.intrinsicContentSize - let width = size.width + (2 * getInnerPadding()) - return CGSize(width: max(width, getMinimumWidth()), height: getHeight()) + if buttonSize == .tiny { + let size = super.intrinsicContentSize + let width = size.width + (2 * getInnerPadding()) + return CGSize(width: max(width, getMinimumWidth()), height: getHeight()) + } else { + let width = Padding.Component.gutterForApplicationWidth + (2.0 * Padding.Component.columnFor(size: MVMCoreUISplitViewController.getApplicationViewWidth())) + return CGSize(width: min(292, width), height: getHeight()) + } } //-------------------------------------------------- diff --git a/MVMCoreUI/Styles/MFStyler+PaddingExtension.swift b/MVMCoreUI/Styles/MFStyler+PaddingExtension.swift index a38dd3d7..37fa4a9f 100644 --- a/MVMCoreUI/Styles/MFStyler+PaddingExtension.swift +++ b/MVMCoreUI/Styles/MFStyler+PaddingExtension.swift @@ -18,6 +18,14 @@ import Foundation Padding.Component.gutterFor(size: size) } + @objc static func bridgeGetColumnSizeForForApplicationWidth() -> CGFloat { + Padding.Component.columnFor(size: MVMCoreUISplitViewController.getApplicationViewWidth()) + } + + @objc static func bridgeGetColumnSize(for size: CGFloat) -> CGFloat { + Padding.Component.columnFor(size: size) + } + @objc static func bridgeHorizontalPaddingFor(size: CGFloat) -> CGFloat { Padding.Component.horizontalPaddingForSize(size) } diff --git a/MVMCoreUI/Styles/Padding.swift b/MVMCoreUI/Styles/Padding.swift index 3bf81563..f7e5b407 100644 --- a/MVMCoreUI/Styles/Padding.swift +++ b/MVMCoreUI/Styles/Padding.swift @@ -55,5 +55,9 @@ public struct Padding { let sizeObject = MFSizeObject(standardSize: HorizontalGutterSpacing)! return sizeObject.getValueBased(onSize: size) } + + public static func columnFor(size: CGFloat) -> CGFloat { + return (size - (3.0 * gutterFor(size: size)) - (2.0 * horizontalPaddingForSize(size))) / 4.0 + } } }