diff --git a/VDS.xcodeproj/project.pbxproj b/VDS.xcodeproj/project.pbxproj index 3e5d50bc..dd2613d1 100644 --- a/VDS.xcodeproj/project.pbxproj +++ b/VDS.xcodeproj/project.pbxproj @@ -19,6 +19,8 @@ 1855EC662BAABF2A002ACAC2 /* BreadcrumbItemModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1855EC652BAABF2A002ACAC2 /* BreadcrumbItemModel.swift */; }; 186D13CB2BBA8B1500986B53 /* DropdownSelect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 186D13CA2BBA8B1500986B53 /* DropdownSelect.swift */; }; 18792A902B7431F2008C0D29 /* ButtonIconBadgeIndicatorModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18792A8F2B7431F2008C0D29 /* ButtonIconBadgeIndicatorModel.swift */; }; + 18926F5B2C7616A500C55BF6 /* Footnote.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18926F5A2C7616A500C55BF6 /* Footnote.swift */; }; + 18926F5D2C7616C600C55BF6 /* FootnoteChangeLog.txt in Resources */ = {isa = PBXBuildFile; fileRef = 18926F5C2C7616C600C55BF6 /* FootnoteChangeLog.txt */; }; 18A3F12A2BD9298900498E4A /* Calendar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18A3F1292BD9298900498E4A /* Calendar.swift */; }; 18A65A022B96E848006602CC /* Breadcrumbs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18A65A012B96E848006602CC /* Breadcrumbs.swift */; }; 18A65A042B96F050006602CC /* BreadcrumbItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18A65A032B96F050006602CC /* BreadcrumbItem.swift */; }; @@ -227,6 +229,8 @@ 186D13CA2BBA8B1500986B53 /* DropdownSelect.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DropdownSelect.swift; sourceTree = ""; }; 186D13CE2BBC36EE00986B53 /* DropdownSelectChangeLog.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = DropdownSelectChangeLog.txt; sourceTree = ""; }; 18792A8F2B7431F2008C0D29 /* ButtonIconBadgeIndicatorModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonIconBadgeIndicatorModel.swift; sourceTree = ""; }; + 18926F5A2C7616A500C55BF6 /* Footnote.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Footnote.swift; sourceTree = ""; }; + 18926F5C2C7616C600C55BF6 /* FootnoteChangeLog.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = FootnoteChangeLog.txt; sourceTree = ""; }; 18A3F1292BD9298900498E4A /* Calendar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Calendar.swift; sourceTree = ""; }; 18A65A012B96E848006602CC /* Breadcrumbs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Breadcrumbs.swift; sourceTree = ""; }; 18A65A032B96F050006602CC /* BreadcrumbItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BreadcrumbItem.swift; sourceTree = ""; }; @@ -494,6 +498,15 @@ path = DropdownSelect; sourceTree = ""; }; + 18926F592C76168300C55BF6 /* Footnote */ = { + isa = PBXGroup; + children = ( + 18926F5A2C7616A500C55BF6 /* Footnote.swift */, + 18926F5C2C7616C600C55BF6 /* FootnoteChangeLog.txt */, + ); + path = Footnote; + sourceTree = ""; + }; 18A3F1202BD8F5DE00498E4A /* Calendar */ = { isa = PBXGroup; children = ( @@ -706,6 +719,7 @@ EAF7F092289985E200B287F5 /* Checkbox */, EAC58C1F2BF127F000BA39FA /* DatePicker */, 186D13C92BBA8A3500986B53 /* DropdownSelect */, + 18926F592C76168300C55BF6 /* Footnote */, EA985BF3296C609E00F2FF2E /* Icon */, 180636C52C29B06200C92D86 /* InputStepper */, EA3362412892EF700071C351 /* Label */, @@ -1212,6 +1226,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 18926F5D2C7616C600C55BF6 /* FootnoteChangeLog.txt in Resources */, EA3362042891E14D0071C351 /* VerizonNHGeTX-Bold.otf in Resources */, 184023472C61E7EC00A412C8 /* PriceLockupChangeLog.txt in Resources */, EA3362072891E14D0071C351 /* VerizonNHGeDS-Regular.otf in Resources */, @@ -1306,6 +1321,7 @@ 18B463A42BBD3C46005C4528 /* DropdownOptionModel.swift in Sources */, EAF2F4762C231EAA007BFEDC /* AccessibilityActionElement.swift in Sources */, EAC58BFD2BE935C300BA39FA /* TitleLockupTextColor.swift in Sources */, + 18926F5B2C7616A500C55BF6 /* Footnote.swift in Sources */, EAACB89A2B927108006A3869 /* Valuing.swift in Sources */, EAE785312BA0A438009428EA /* UIImage+Helper.swift in Sources */, EAF193422C134F3400C68D18 /* Table.swift in Sources */, diff --git a/VDS/Components/Footnote/Footnote.swift b/VDS/Components/Footnote/Footnote.swift new file mode 100644 index 00000000..9522cc9a --- /dev/null +++ b/VDS/Components/Footnote/Footnote.swift @@ -0,0 +1,56 @@ +// +// Footnote.swift +// VDS +// +// Created by Kanamarlapudi, Vasavi on 21/08/24. +// + +import Foundation +import UIKit +import VDSCoreTokens +import Combine + +/// A footnote is text that provides supporting details, legal copy and links to related content. If exists at the bottom or "foot" of a page or section. +@objcMembers +@objc(VDSFootnote) +open class Footnote: View { + + //-------------------------------------------------- + // MARK: - Initializers + //-------------------------------------------------- + required public init() { + super.init(frame: .zero) + } + + public override init(frame: CGRect) { + super.init(frame: .zero) + } + + public required init?(coder: NSCoder) { + super.init(coder: coder) + } + + //-------------------------------------------------- + // MARK: - Overrides + //-------------------------------------------------- + + /// Called once when a view is initialized and is used to Setup additional UI or other constants and configurations. + open override func setup() { + super.setup() + + } + + open override func setDefaults() { + super.setDefaults() + } + + /// Resets to default settings. + open override func reset() { + super.reset() + } + + /// Used to make changes to the View based off a change events or from local properties. + open override func updateView() { + super.updateView() + } +} diff --git a/VDS/Components/Footnote/FootnoteChangeLog.txt b/VDS/Components/Footnote/FootnoteChangeLog.txt new file mode 100644 index 00000000..5dce6539 --- /dev/null +++ b/VDS/Components/Footnote/FootnoteChangeLog.txt @@ -0,0 +1,17 @@ +MM/DD/YYYY +---------------- +Initial Brand 3.0 handoff + +12/18/2023 +---------------- +- New + +12/28/2023 +---------------- +- hideSymbol updated to showSymbol and default set to True. +- Figma-only properties section added in Footnote Item Configurations section. + +01/16/2024 +---------------- +- hideSymbol reverted to hideSymbol and default set to False. +- Figma-only properties section removed. diff --git a/VDS/VDS.docc/VDS.md b/VDS/VDS.docc/VDS.md index 0a494234..fd139f95 100755 --- a/VDS/VDS.docc/VDS.md +++ b/VDS/VDS.docc/VDS.md @@ -32,6 +32,7 @@ Using the system allows designers and developers to collaborate more easily and - ``CheckboxItem`` - ``CheckboxGroup`` - ``DropdownSelect`` +- ``Footnote`` - ``Icon`` - ``InputStepper`` - ``InputField``