diff --git a/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift b/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift index 654e48ac..ca4ca068 100644 --- a/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift +++ b/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift @@ -63,6 +63,10 @@ import VDS //------------------------------------------------- open func viewModelDidUpdate() { + borderLine = viewModel.borderLine + if let minWidth = viewModel.minWidth { + self.minWidth = minWidth + } orientation = viewModel.orientation indicatorPosition = viewModel.indicatorPosition overflow = viewModel.overflow diff --git a/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/TabsModel.swift b/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/TabsModel.swift index 24933f45..e09761d5 100644 --- a/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/TabsModel.swift +++ b/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/TabsModel.swift @@ -23,6 +23,8 @@ open class TabsModel: MoleculeModelProtocol { open var overflow: Tabs.Overflow = .scroll open var fillContainer: Bool = false open var size: Tabs.Size = .medium + open var borderLine: Bool = true + open var minWidth: CGFloat? public var backgroundColor: Color? // Must be capped to 0...(tabs.count - 1) @@ -39,6 +41,8 @@ open class TabsModel: MoleculeModelProtocol { case fillContainer case overflow case size + case borderLine + case minWidth case style } @@ -75,6 +79,15 @@ open class TabsModel: MoleculeModelProtocol { if let size = try typeContainer.decodeIfPresent(VDS.Tabs.Size.self, forKey: .orientation) { self.size = size } + + if let borderLine = try typeContainer.decodeIfPresent(Bool.self, forKey: .borderLine) { + self.borderLine = borderLine + } + + if let minWidth = try typeContainer.decodeIfPresent(CGFloat.self, forKey: .minWidth) { + self.minWidth = minWidth + } + } open func encode(to encoder: Encoder) throws { @@ -89,7 +102,8 @@ open class TabsModel: MoleculeModelProtocol { try container.encode(overflow, forKey: .overflow) try container.encode(size, forKey: .size) try container.encode(indicatorPosition, forKey: .indicatorPosition) - + try container.encode(borderLine, forKey: .borderLine) + try container.encodeIfPresent(minWidth, forKey: .minWidth) } } diff --git a/MVMCoreUI/Atomic/Molecules/Items/TabsListItemModel.swift b/MVMCoreUI/Atomic/Molecules/Items/TabsListItemModel.swift index 88bb6db4..1924820b 100644 --- a/MVMCoreUI/Atomic/Molecules/Items/TabsListItemModel.swift +++ b/MVMCoreUI/Atomic/Molecules/Items/TabsListItemModel.swift @@ -57,6 +57,9 @@ public class TabsListItemModel: ListItemModel, ParentMoleculeModelProtocol { style = nil topPadding = 8 bottomPadding = 0 + if line == nil { + line = LineModel(type: .none) + } } //--------------------------------------------------