Merge branch 'feature/monarch' into 'develop'

Feature/monarch

See merge request BPHV_MIPS/vds_ios!230
This commit is contained in:
Hedden, Kyle Matthew 2024-06-13 19:50:54 +00:00
commit 17d119fa6c
73 changed files with 93 additions and 77 deletions

View File

@ -39,6 +39,7 @@
71FC86E02B973AE500700965 /* DropShadowConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71FC86DF2B973AE500700965 /* DropShadowConfiguration.swift */; };
71FC86E22B97483000700965 /* Clamping.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71FC86E12B97483000700965 /* Clamping.swift */; };
71FC86E42B9841AC00700965 /* PaginationFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71FC86E32B9841AC00700965 /* PaginationFlowLayout.swift */; };
AF1CEFE42BEA736A0001F9A5 /* VDSCoreTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF1CEFE32BEA736A0001F9A5 /* VDSCoreTokens.xcframework */; };
EA0B18022A9E236900F2D0CD /* SelectorGroupBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0B18012A9E236900F2D0CD /* SelectorGroupBase.swift */; };
EA0B18052A9E2D2D00F2D0CD /* SelectorBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0B18032A9E2D2D00F2D0CD /* SelectorBase.swift */; };
EA0B18062A9E2D2D00F2D0CD /* SelectorItemBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0B18042A9E2D2D00F2D0CD /* SelectorItemBase.swift */; };
@ -51,7 +52,6 @@
EA0D1C412A6AD61C00E5C127 /* Typography+Additional.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0D1C402A6AD61C00E5C127 /* Typography+Additional.swift */; };
EA0D1C452A6AD73000E5C127 /* RawRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0D1C442A6AD73000E5C127 /* RawRepresentable.swift */; };
EA0FC2C62914222900DF80B4 /* ButtonGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0FC2C52914222900DF80B4 /* ButtonGroup.swift */; };
EA21C5DB2B600EDE00CFC139 /* VDSTokens.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA21C5DA2B600EDD00CFC139 /* VDSTokens.xcframework */; };
EA297A5529FB07760031ED56 /* TooltipLabelAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA297A5429FB07760031ED56 /* TooltipLabelAttribute.swift */; };
EA297A5729FB0A360031ED56 /* AppleGuidelinesTouchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA297A5629FB0A360031ED56 /* AppleGuidelinesTouchable.swift */; };
EA2DC9B02BE175BA004F58C5 /* RequiredRule.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA2DC9AF2BE175BA004F58C5 /* RequiredRule.swift */; };
@ -246,6 +246,7 @@
71FC86DF2B973AE500700965 /* DropShadowConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DropShadowConfiguration.swift; sourceTree = "<group>"; };
71FC86E12B97483000700965 /* Clamping.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Clamping.swift; sourceTree = "<group>"; };
71FC86E32B9841AC00700965 /* PaginationFlowLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaginationFlowLayout.swift; sourceTree = "<group>"; };
AF1CEFE32BEA736A0001F9A5 /* VDSCoreTokens.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = VDSCoreTokens.xcframework; path = ../SharedFrameworks/VDSCoreTokens.xcframework; sourceTree = "<group>"; };
EA0B18012A9E236900F2D0CD /* SelectorGroupBase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectorGroupBase.swift; sourceTree = "<group>"; };
EA0B18032A9E2D2D00F2D0CD /* SelectorBase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectorBase.swift; sourceTree = "<group>"; };
EA0B18042A9E2D2D00F2D0CD /* SelectorItemBase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectorItemBase.swift; sourceTree = "<group>"; };
@ -420,7 +421,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
EA21C5DB2B600EDE00CFC139 /* VDSTokens.xcframework in Frameworks */,
AF1CEFE42BEA736A0001F9A5 /* VDSCoreTokens.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -636,6 +637,7 @@
EA33618D288B1C0C0071C351 /* Frameworks */ = {
isa = PBXGroup;
children = (
AF1CEFE32BEA736A0001F9A5 /* VDSCoreTokens.xcframework */,
EA21C5DA2B600EDD00CFC139 /* VDSTokens.xcframework */,
);
name = Frameworks;

View File

@ -8,7 +8,7 @@
import Foundation
import UIKit
import Combine
import VDSTokens
import VDSCoreTokens
public protocol SelectorControlable: Control, Changeable {
/// Whether not to show the error.

View File

@ -8,7 +8,7 @@
import Foundation
import UIKit
import Combine
import VDSTokens
import VDSCoreTokens
public protocol SelectorGroup {
associatedtype SelectorItemType: Control

View File

@ -8,7 +8,7 @@
import Foundation
import UIKit
import Combine
import VDSTokens
import VDSCoreTokens
/// Base Class used to build out a SelectorControlable control.
open class SelectorItemBase<Selector: SelectorControlable>: Control, Errorable, Changeable, Groupable {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A badge is a visual label used to convey status or highlight supplemental information.

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A badge indicator is a visual label used to convey status or highlight supplemental information.

View File

@ -6,7 +6,7 @@
//
import UIKit
import VDSTokens
import VDSCoreTokens
///This is customised view for Breadcrumb cell item
final class BreadcrumbCellItem: UICollectionViewCell {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A Breadcrumb Item contains href(link) and selected flag.

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A Breadcrumbs contains BreadcrumbItems.

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A button is an interactive element that triggers an action. Buttons are prominent and attention-getting, with more visual emphasis than any of the Text Link components. For this reason, buttons are best suited for critical and driving actions. This class can be used within a ``ButtonGroup``.

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// Base class used for UIButton type classes.

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A button group contains combinations of related CTAs including ``Button``, ``TextLink``, and ``TextLinkCaret``. This group component controls a combination's orientation, spacing, size and allowable size pairings.

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A text link is an interactive element that navigates a customer to pages within an experience, like a Bill details page, or triggers a secondary action,

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A text link caret is an interactive element that always brings a customer to another page. It's used for navigation,

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A calendar is a monthly view that lets customers select a single date.

View File

@ -6,7 +6,7 @@
//
import UIKit
import VDSTokens
import VDSCoreTokens
final class CalendarDateViewCell: UICollectionViewCell {

View File

@ -6,7 +6,7 @@
//
import UIKit
import VDSTokens
import VDSCoreTokens
/// Footer view to show indicators data.
class CalendarFooterReusableView: UICollectionReusableView {

View File

@ -6,7 +6,7 @@
//
import UIKit
import VDSTokens
import VDSCoreTokens
/// Header view to display month and year along with days of week.
class CalendarHeaderReusableView: UICollectionReusableView {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A carousel scrollbar is a control that allows to navigate between items in a carousel.

View File

@ -8,7 +8,7 @@
import Foundation
import UIKit
import Combine
import VDSTokens
import VDSCoreTokens
/// Checkboxes are a multi-select component through which a customer indicates a choice. This is also used within
/// ``CheckboxItem`` and ``CheckboxGroup``

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
/// When the choice has multiple options, use a checkbox group. For example, use a checkbox group when
/// asking a customer which attributes they would like to filter their search by. This uses ``CheckboxItem``

View File

@ -1,6 +1,6 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A dropdown select is an expandable menu of predefined options that allows a customer to make a single selection.

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A dropdown select is an expandable menu of predefined options that allows a customer to make a single selection.

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A button icon is an interactive element that visually communicates the action it triggers via an icon.

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// An icon is a graphical element that conveys information at a glance. It helps orient

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
extension Icon {

View File

@ -8,7 +8,7 @@
import Foundation
import UIKit
import Combine
import VDSTokens
import VDSCoreTokens
public class TooltipLabelAttribute: ActionLabelAttributeModel, TooltipLaunchable {
public var id = UUID()

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// Label is a standard view used to draw text with applying Typography through ``TextStyle`` as well

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
/// A line visually separates content sections or elements in lists, tables and layouts to indicate content hierarchy.
@objc(VDSLine)

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
/// A loader is an indicator that uses animation to show customers that there is an indefinite amount of wait time while a task is ongoing, e.g. a page is loading, a form is being submitted. The component disappears when the task is complete.

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
/// ViewController to show the Loader, this will be presented using the LoaderLaunchable Protocl.
open class LoaderViewController: UIViewController, Surfaceable {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// Notifications are prominent, attention-getting banners that provide information

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
///Pagination is a control that enables customers to navigate multiple pages of content by selecting either a specific page or the next or previous set of four pages.

View File

@ -6,7 +6,7 @@
//
import UIKit
import VDSTokens
import VDSCoreTokens
///This is customised button for Pagination view
@objc(PaginationButton)

View File

@ -6,7 +6,7 @@
//
import UIKit
import VDSTokens
import VDSCoreTokens
///This is customised view for Pagination cell item
final class PaginationCellItem: UICollectionViewCell {

View File

@ -6,7 +6,7 @@
//
import Foundation
import VDSTokens
import VDSCoreTokens
import UIKit
///Customised flow layout for Pagination view

View File

@ -8,7 +8,7 @@
import Foundation
import UIKit
import Combine
import VDSTokens
import VDSCoreTokens
/// Radio boxes are single-select components through which a customer indicates a choice
/// that are used within a ``RadioBoxGroup``.

View File

@ -8,7 +8,7 @@
import Foundation
import UIKit
import Combine
import VDSTokens
import VDSCoreTokens
/// Radio buttons are single-select components through which a customer indicates a choice.
/// They must always be paired with one or more ``RadioButtonItem`` within a ``RadioButtonGroup``.

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
///Table is view composed of rows and columns, which takes any view into each cell and resizes based on the highest cell height.
@objc(VDSTable)

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
final class TableCellItem: UICollectionViewCell {

View File

@ -6,7 +6,7 @@
//
import UIKit
import VDSTokens
import VDSCoreTokens
protocol TableCollectionViewLayoutDataDelegate: AnyObject {
func collectionView(_ collectionView: UICollectionView, dataForItemAt indexPath: IndexPath) -> TableItemModel

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
/// Model that represent the content of each cell of Table component
public struct TableItemModel {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
extension Tabs {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
/// Tabs are organizational components that group content and allow customers to navigate its display. Use them to separate content when the content is related but doesnt need to be compared.
@objc(VDSTabs)
@ -267,6 +267,8 @@ open class Tabs: View {
}
}
}
accessibilityElements = tabViews
setNeedsUpdate()
scrollToSelectedIndex(animated: false)
}

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// Base Class used to build out a Input controls.

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
extension InputField {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
extension InputField {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// An input field is an input wherein a customer enters information. They typically appear in forms.

View File

@ -8,7 +8,7 @@
import Foundation
import UIKit
import Combine
import VDSTokens
import VDSCoreTokens
@objc(VDSTextField)
open class TextField: UITextField, ViewProtocol, Errorable {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A text area is an input wherein a customer enters long-form information.

View File

@ -8,7 +8,7 @@
import Foundation
import UIKit
import Combine
import VDSTokens
import VDSCoreTokens
@objc(VDSTextView)
open class TextView: UITextView, ViewProtocol, Errorable {

View File

@ -6,7 +6,7 @@
//
import Foundation
import VDSTokens
import VDSCoreTokens
import UIKit
import Combine

View File

@ -7,7 +7,7 @@
import Foundation
import Foundation
import VDSTokens
import VDSCoreTokens
import UIKit
import Combine

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
extension Tilelet {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// Title Lockup ensures the readability of words on the screen

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
extension TitleLockup {

View File

@ -6,7 +6,7 @@
//
import Foundation
import VDSTokens
import VDSCoreTokens
import UIKit
extension TitleLockup {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A toggle is a control that lets customers instantly turn on

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A toggle is a control that lets customers instantly turn on

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
import Combine
/// A tooltip is an overlay that clarifies another component or content

View File

@ -8,7 +8,7 @@
import Foundation
import UIKit
import Combine
import VDSTokens
import VDSCoreTokens
open class TooltipAlertViewController: UIViewController, Surfaceable {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
open class TooltipDialog: View, UIScrollViewDelegate {

View File

@ -6,7 +6,7 @@
//
import Foundation
import VDSTokens
import VDSCoreTokens
import UIKit
extension UIColor {
@ -47,6 +47,7 @@ extension UIColor {
case paletteGreen61
case paletteGreen36
case paletteGreen26
case paletteGreen22
case paletteGreen15
case paletteGreen10
case palettePink87
@ -59,6 +60,16 @@ extension UIColor {
case palettePurple60
case palettePurple39
case palettePurple20
case paletteMonarchred
case paletteStone
case paletteNeonyellow
case paletteCoral
case paletteWarmgray95
case paletteWarmgray84
case paletteWarmgray64
case paletteWarmgray41
case paletteWarmgray20
case paletteWarmgray11
case backgroundPrimaryLight
case backgroundPrimaryDark
case backgroundPrimaryInverseLight
@ -145,15 +156,15 @@ extension UIColor {
case badgesBackgroundWhiteOndark
case badgesBackgroundBlackOnlight
case badgesBackgroundBlackOndark
/// Map each color name to its corresponding UIColor object.
public var uiColor: UIColor {
do {
let color = try VDSTokens.VDSColor.getTokenByString(tokenName: "VDSColor.\(rawValue)")
let color = try VDSCoreTokens.VDSColor.getTokenByString(tokenName: "VDSColor.\(rawValue)")
return color
} catch {
print(error)
return VDSTokens.VDSColor.paletteBlack
return VDSCoreTokens.VDSColor.paletteBlack
}
}
}

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
extension UIColor {
//--------------------------------------------------

View File

@ -56,8 +56,9 @@ extension UIView {
for subview in view.subviews {
if subview.isAccessibilityElement && subview.isVisibleOnScreen {
elements.append(subview)
} else {
elements.append(contentsOf: gatherAccessibilityElements(from: subview))
}
elements.append(contentsOf: gatherAccessibilityElements(from: subview))
}
return elements

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
//--------------------------------------------------
// MARK: - Debug Borders

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
extension UIView {
public func constraint(with identifier: String) -> NSLayoutConstraint? {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
public protocol LayoutConstraintable {
var superview: UIView? { get }

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
/// The background tint that the component will be placed on. This will automatically adjust other elements as needed and takes "light" or "dark"
public enum Surface: String, Equatable {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
/// Enum to describe types of use.
public enum Use: String, Equatable {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
//MARK: Definitions
extension TextStyle {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
//MARK: Alignments
extension TextStyle {

View File

@ -7,7 +7,7 @@
import Foundation
import UIKit
import VDSTokens
import VDSCoreTokens
/// This is the Definition that will determine how the Text is drawn