diff --git a/VDSSample.xcodeproj/project.pbxproj b/VDSSample.xcodeproj/project.pbxproj index 7b82798..0a5e1ce 100644 --- a/VDSSample.xcodeproj/project.pbxproj +++ b/VDSSample.xcodeproj/project.pbxproj @@ -35,8 +35,10 @@ 180636CB2C29B12B00C92D86 /* InputStepperViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 180636CA2C29B12B00C92D86 /* InputStepperViewController.swift */; }; 1808BEBE2BA4479500129230 /* CarouselScrollbarViewConttroller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1808BEBD2BA4479500129230 /* CarouselScrollbarViewConttroller.swift */; }; 1832AC5B2BA1347B008AE476 /* BreadcrumbsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1832AC5A2BA1347B008AE476 /* BreadcrumbsViewController.swift */; }; + 183B16F52C80B27C00BA6A10 /* FootnoteGroupViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 183B16F42C80B27C00BA6A10 /* FootnoteGroupViewController.swift */; }; 184023492C61E9E700A412C8 /* PriceLockupViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 184023482C61E9E700A412C8 /* PriceLockupViewController.swift */; }; 186D13CD2BBA990800986B53 /* DropdownSelectViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 186D13CC2BBA990800986B53 /* DropdownSelectViewController.swift */; }; + 18926F5F2C76185A00C55BF6 /* FootnoteItemViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18926F5E2C76185A00C55BF6 /* FootnoteItemViewController.swift */; }; 18A3F1302BD9332500498E4A /* CalendarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18A3F12F2BD9332500498E4A /* CalendarViewController.swift */; }; 18AE87522C06FDD60075F181 /* CarouselViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18AE87512C06FDD60075F181 /* CarouselViewController.swift */; }; 18C0F9482C98177F00E1DD71 /* ModalViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18C0F9472C98177F00E1DD71 /* ModalViewController.swift */; }; @@ -136,8 +138,10 @@ 180636CA2C29B12B00C92D86 /* InputStepperViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InputStepperViewController.swift; sourceTree = ""; }; 1808BEBD2BA4479500129230 /* CarouselScrollbarViewConttroller.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CarouselScrollbarViewConttroller.swift; sourceTree = ""; }; 1832AC5A2BA1347B008AE476 /* BreadcrumbsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BreadcrumbsViewController.swift; sourceTree = ""; }; + 183B16F42C80B27C00BA6A10 /* FootnoteGroupViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FootnoteGroupViewController.swift; sourceTree = ""; }; 184023482C61E9E700A412C8 /* PriceLockupViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PriceLockupViewController.swift; sourceTree = ""; }; 186D13CC2BBA990800986B53 /* DropdownSelectViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DropdownSelectViewController.swift; sourceTree = ""; }; + 18926F5E2C76185A00C55BF6 /* FootnoteItemViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FootnoteItemViewController.swift; sourceTree = ""; }; 18A3F12F2BD9332500498E4A /* CalendarViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarViewController.swift; sourceTree = ""; }; 18AE87512C06FDD60075F181 /* CarouselViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CarouselViewController.swift; sourceTree = ""; }; 18C0F9472C98177F00E1DD71 /* ModalViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModalViewController.swift; sourceTree = ""; }; @@ -343,9 +347,11 @@ EA0D1C2E2A66CFE900E5C127 /* CheckboxViewController.swift */, EA1758452BC8893700A5C0D9 /* DatePickerViewController.swift */, 186D13CC2BBA990800986B53 /* DropdownSelectViewController.swift */, + 18926F5E2C76185A00C55BF6 /* FootnoteItemViewController.swift */, + 183B16F42C80B27C00BA6A10 /* FootnoteGroupViewController.swift */, EA985C00296CC21C00F2FF2E /* IconViewController.swift */, - 180636CA2C29B12B00C92D86 /* InputStepperViewController.swift */, EAA5EEAC28EB6924003B3210 /* InputFieldViewController.swift */, + 180636CA2C29B12B00C92D86 /* InputStepperViewController.swift */, EAB1D2D328AC409F00DAE764 /* LabelViewController.swift */, 44604AD829CE1CF900E62B51 /* LineViewController.swift */, EAD0688F2A55FC11002E3A2D /* LoaderViewController.swift */, @@ -361,8 +367,8 @@ EA5F86CD2A1E863F00BC83E4 /* TabsContainerViewController.swift */, EA596AB92A16B2ED00300C4B /* TabsViewController.swift */, EA985C24296E06EA00F2FF2E /* TextAreaViewController.swift */, - EA0FC2C02912DC5500DF80B4 /* TextLinkCaretViewController.swift */, EAC9257F29119FC400091998 /* TextLinkViewController.swift */, + EA0FC2C02912DC5500DF80B4 /* TextLinkCaretViewController.swift */, EA5E304F294D11540082B959 /* TileContainerViewController.swift */, EA5E305B295111050082B959 /* TileletViewController.swift */, EA5E30542950EA6E0082B959 /* TitleLockupViewController.swift */, @@ -563,6 +569,7 @@ 18AE87522C06FDD60075F181 /* CarouselViewController.swift in Sources */, EA596ABA2A16B2ED00300C4B /* TabsViewController.swift in Sources */, EA89204E28B67332006B9984 /* CheckBoxGroupViewController.swift in Sources */, + 183B16F52C80B27C00BA6A10 /* FootnoteGroupViewController.swift in Sources */, EAA5EEAD28EB6924003B3210 /* InputFieldViewController.swift in Sources */, 440B84CC2BD8E98B004A732A /* TableViewController.swift in Sources */, EA985C25296E06EA00F2FF2E /* TextAreaViewController.swift in Sources */, @@ -571,6 +578,7 @@ EA985C20296DECF600F2FF2E /* IconName.swift in Sources */, EA89204928B66CE2006B9984 /* KeyboardFrameChangeListening.swift in Sources */, EA5F86CE2A1E863F00BC83E4 /* TabsContainerViewController.swift in Sources */, + 18926F5F2C76185A00C55BF6 /* FootnoteItemViewController.swift in Sources */, EA985C01296CC21C00F2FF2E /* IconViewController.swift in Sources */, 184023492C61E9E700A412C8 /* PriceLockupViewController.swift in Sources */, EAC9258029119FC400091998 /* TextLinkViewController.swift in Sources */, diff --git a/VDSSample/ViewControllers/BadgeIndicatorViewController.swift b/VDSSample/ViewControllers/BadgeIndicatorViewController.swift index 399454d..7d8e523 100644 --- a/VDSSample/ViewControllers/BadgeIndicatorViewController.swift +++ b/VDSSample/ViewControllers/BadgeIndicatorViewController.swift @@ -59,7 +59,7 @@ class BadgeIndicatorViewController: BaseViewController { override func viewDidLoad() { super.viewDidLoad() - addContentTopView(view: .makeWrapper(for: component)) + addContentTopView(view: component, pinTrailing: false) setupPicker() setupModel() } @@ -82,13 +82,13 @@ class BadgeIndicatorViewController: BaseViewController { addFormRow(label: "Vertical Padding", view: verticalPaddingTextField) addFormRow(label: "Fill Color", view: fillColorPickerSelectorView) addFormRow(label: "Surface", view: surfacePickerSelectorView) - addFormRow(label: "Hide Border", view: hideBorderSwitch) + addFormRow(label: "Hide Border", view: hideBorderSwitch, pinTrailing: false) addFormRow(label: "Border Light", view: borderColorLightPickerSelectorView) addFormRow(label: "Border Dark", view: borderColorDarkPickerSelectorView) addFormRow(label: "Size", view: textSizePickerSelectorView) addFormRow(label: "Accessiblity Text", view: accessibilityTextField) - dotForm.addFormRow(label: "Hide Dot", view: hideDotSwitch) + dotForm.addFormRow(label: "Hide Dot", view: hideDotSwitch, pinTrailing: false) dotForm.addFormRow(label: "Dot Size", view: dotSizeTextField) numberedForm.addFormRow(label: "Leading Character", view: leadingCharacterTextField) numberedForm.addFormRow(label: "Trailing Text", view: trailingTextField) diff --git a/VDSSample/ViewControllers/BadgeViewController.swift b/VDSSample/ViewControllers/BadgeViewController.swift index a0dd887..3fec5dd 100644 --- a/VDSSample/ViewControllers/BadgeViewController.swift +++ b/VDSSample/ViewControllers/BadgeViewController.swift @@ -54,7 +54,7 @@ class BadgeViewController: BaseViewController { override func viewDidLoad() { super.viewDidLoad() - addContentTopView(view: .makeWrapper(for: component)) + addContentTopView(view: component, pinTrailing: false) setupPicker() setupModel() } diff --git a/VDSSample/ViewControllers/BaseViewController.swift b/VDSSample/ViewControllers/BaseViewController.swift index 3fb217d..7d24751 100644 --- a/VDSSample/ViewControllers/BaseViewController.swift +++ b/VDSSample/ViewControllers/BaseViewController.swift @@ -43,7 +43,7 @@ public class FormSection: UIStackView { } @discardableResult - open func addFormRow(label: String, tooltip: Tooltip.TooltipModel? = nil, view: UIView) -> UIView { + open func addFormRow(label: String, tooltip: Tooltip.TooltipModel? = nil, view: UIView, pinTrailing: Bool = true) -> UIView { let formRow = UIStackView().with { $0.translatesAutoresizingMaskIntoConstraints = false $0.alignment = .fill @@ -63,7 +63,7 @@ public class FormSection: UIStackView { } formRow.addArrangedSubview(label) - formRow.addArrangedSubview(view) + formRow.addArrangedSubview(pinTrailing ? view : .makeWrapper(for: view)) addArrangedSubview(formRow) return formRow @@ -311,7 +311,7 @@ public class BaseViewController: UIViewController, Initable , } public func setupForm() { - addFormRow(label: "Show Bounds", view: debugViewSwitch) + addFormRow(label: "Show Bounds", view: debugViewSwitch, pinTrailing: false) } let actionLabel = Label() @@ -334,10 +334,16 @@ public class BaseViewController: UIViewController, Initable , viewController.didMove(toParent: self) } - open func addContentTopView(view: UIView, edgeSpacing: CGFloat = 16.0) { + open func addContentTopView(view: UIView, edgeSpacing: CGFloat = 16.0, pinTrailing: Bool = true) { view.translatesAutoresizingMaskIntoConstraints = false - contentTopView.addSubview(view) - view.pinToSuperView(.uniform(edgeSpacing)) + if pinTrailing { + contentTopView.addSubview(view) + view.pinToSuperView(.uniform(edgeSpacing)) + } else { + let wrapper = UIView.makeWrapper(for: view) + contentTopView.addSubview(wrapper) + wrapper.pinToSuperView(.uniform(edgeSpacing)) + } } open func append(section: FormSection) { @@ -345,8 +351,8 @@ public class BaseViewController: UIViewController, Initable , } @discardableResult - open func addFormRow(label: String, tooltip: Tooltip.TooltipModel? = nil, view: UIView) -> UIView { - return formStackView.addFormRow(label: label,tooltip: tooltip, view: view) + open func addFormRow(label: String, tooltip: Tooltip.TooltipModel? = nil, view: UIView, pinTrailing: Bool = true) -> UIView { + return formStackView.addFormRow(label: label,tooltip: tooltip, view: view, pinTrailing: pinTrailing) } var activeTextField: UITextField? diff --git a/VDSSample/ViewControllers/BreadcrumbsViewController.swift b/VDSSample/ViewControllers/BreadcrumbsViewController.swift index 7c24fe8..e38dbd7 100644 --- a/VDSSample/ViewControllers/BreadcrumbsViewController.swift +++ b/VDSSample/ViewControllers/BreadcrumbsViewController.swift @@ -48,8 +48,8 @@ class BreadcrumbsViewController: BaseViewController { override func setupForm(){ super.setupForm() addFormRow(label: "Surface", view: surfacePickerSelectorView) - addFormRow(label: "Last Crumb Selected", view: selectedSwitch) - addFormRow(label: "No Long Breadcrumbs", view: sampleSwitch) + addFormRow(label: "Last Crumb Selected", view: selectedSwitch, pinTrailing: false) + addFormRow(label: "No Long Breadcrumbs", view: sampleSwitch, pinTrailing: false) selectedSwitch.onChange = { [weak self] sender in guard let self else { return } diff --git a/VDSSample/ViewControllers/ButtonGroupViewController.swift b/VDSSample/ViewControllers/ButtonGroupViewController.swift index ce11410..f4a4ff8 100644 --- a/VDSSample/ViewControllers/ButtonGroupViewController.swift +++ b/VDSSample/ViewControllers/ButtonGroupViewController.swift @@ -111,7 +111,7 @@ class ButtonGroupViewController: BaseViewController { super.setupForm() addActionRow() addFormRow(label: "Surface", view: surfacePickerSelectorView) - addFormRow(label: "Disabled", view: disabledSwitch) + addFormRow(label: "Disabled", view: disabledSwitch, pinTrailing: false) addFormRow(label: "Alignment", view: buttonAlignmentSelectorView) addFormRow(label: "Width", view: widthTextField) addFormRow(label: "Row Quantity", view: rowQuantitySelectorView) diff --git a/VDSSample/ViewControllers/ButtonIconViewController.swift b/VDSSample/ViewControllers/ButtonIconViewController.swift index b037294..23092cd 100644 --- a/VDSSample/ViewControllers/ButtonIconViewController.swift +++ b/VDSSample/ViewControllers/ButtonIconViewController.swift @@ -71,7 +71,7 @@ class ButtonIconViewController: BaseViewController { override func viewDidLoad() { super.viewDidLoad() - addContentTopView(view: .makeWrapper(for: component, edgeSpacing: 16.0), edgeSpacing: 0.0) + addContentTopView(view: component, pinTrailing: false) setupPicker() setupModel() } @@ -106,24 +106,24 @@ class ButtonIconViewController: BaseViewController { override func setupForm(){ super.setupForm() - addFormRow(label: "Disabled", view: disabledSwitch) + addFormRow(label: "Disabled", view: disabledSwitch, pinTrailing: false) addFormRow(label: "Surface", view: surfacePickerSelectorView) addFormRow(label: "Surface Type", view: surfaceTypePickerSelectorView) addFormRow(label: "Size", view: sizePickerSelectorView) addFormRow(label: "Kind", view: kindPickerSelectorView) addFormRow(label: "Selected Light", view: lightColorPicker) addFormRow(label: "Selected Dark", view: darkColorPicker) - addFormRow(label: "Floating", view: floating) - addFormRow(label: "Hide Border", view: hideBorder) - addFormRow(label: "Fit To Icon", view: fitToIcon) + addFormRow(label: "Floating", view: floating, pinTrailing: false) + addFormRow(label: "Hide Border", view: hideBorder, pinTrailing: false) + addFormRow(label: "Fit To Icon", view: fitToIcon, pinTrailing: false) addFormRow(label: "Name", view: namePickerSelectorView) addFormRow(label: "Selected Icon Name", view: selectedIconNamePickerSelectorView) - addFormRow(label: "Selectable", view: selectableSwitch) + addFormRow(label: "Selectable", view: selectableSwitch, pinTrailing: false) addFormRow(label: "X Offset", view: centerX) addFormRow(label: "Y Offset", view: centerY) //badgeIndicator section - addFormRow(label: "Show Badge Indicator", view: badgeIndicatorSwitch) + addFormRow(label: "Show Badge Indicator", view: badgeIndicatorSwitch, pinTrailing: false) badgeIndicatorFormStackView.addFormRow(label: "Expand Direction", view: badgeIndicatorExpandDirectionPickerSelectorView) badgeIndicatorFormStackView.addFormRow(label: "Badge Variants", view: variantOneSwitch) badgeIndicatorFormStackView.addFormRow(label: "Custom X offset", view: customBadgeIndicatorXField) diff --git a/VDSSample/ViewControllers/ButtonViewController.swift b/VDSSample/ViewControllers/ButtonViewController.swift index 8938a84..22d1c4e 100644 --- a/VDSSample/ViewControllers/ButtonViewController.swift +++ b/VDSSample/ViewControllers/ButtonViewController.swift @@ -32,7 +32,7 @@ class ButtonViewController: BaseViewController