diff --git a/VDSSample/ViewControllers/BadgeIndicatorViewController.swift b/VDSSample/ViewControllers/BadgeIndicatorViewController.swift index c03d0f2..38f4d89 100644 --- a/VDSSample/ViewControllers/BadgeIndicatorViewController.swift +++ b/VDSSample/ViewControllers/BadgeIndicatorViewController.swift @@ -37,13 +37,17 @@ class BadgeIndicatorViewController: BaseViewController { items: BadgeIndicator.MaximumDigits.allCases) }() - enum BackgroundColor: String, CaseIterable { - case token, custom + enum BorderColor: String, CaseIterable { + case `default`, token, custom } lazy var borderColorLightPickerSelectorView: TokenColorPickerSection = { - TokenColorPickerSection(rowTitle: "Border Light", + TokenColorPickerSection(rowTitle: "Border Light", picker: self.picker).with { + $0.onSelected = { [weak self] color in + guard let self else { return } + component.borderColorLight = nil + } $0.onTokenSelected = { [weak self] color in guard let self else { return } component.borderColorLight = color.uiColor @@ -56,8 +60,12 @@ class BadgeIndicatorViewController: BaseViewController { }() lazy var borderColorDarkPickerSelectorView : TokenColorPickerSection = { - TokenColorPickerSection(rowTitle: "Border Dark", + TokenColorPickerSection(rowTitle: "Border Dark", picker: self.picker).with { + $0.onSelected = { [weak self] color in + guard let self else { return } + component.borderColorDark = nil + } $0.onTokenSelected = { [weak self] color in guard let self else { return } component.borderColorDark = color.uiColor diff --git a/VDSSample/ViewControllers/IconViewController.swift b/VDSSample/ViewControllers/IconViewController.swift index 56296d5..b9fb5a1 100644 --- a/VDSSample/ViewControllers/IconViewController.swift +++ b/VDSSample/ViewControllers/IconViewController.swift @@ -12,19 +12,52 @@ import VDSCoreTokens import Combine class IconViewController: BaseViewController { + enum IconColor: String, CaseIterable { + case `default`, token, custom + } - lazy var lightColorPickerSelectorView = { - PickerSelectorView(title: "", - picker: self.picker, - items: UIColor.VDSColor.allCases) + lazy var lightColorPickerSelectorView : TokenColorPickerSection = { + TokenColorPickerSection(rowTitle: "Light Color", + picker: self.picker).with { + $0.onSelected = { [weak self] color in + guard let self else { return } + light = .black + setColorConfiguration() + } + $0.onTokenSelected = { [weak self] color in + guard let self else { return } + light = color.uiColor + setColorConfiguration() + } + $0.onColorSelected = { [weak self] color in + guard let self else { return } + light = color + setColorConfiguration() + } + } }() - lazy var darkColorPickerSelectorView = { - PickerSelectorView(title: "", - picker: self.picker, - items: UIColor.VDSColor.allCases) + lazy var darkColorPickerSelectorView: TokenColorPickerSection = { + TokenColorPickerSection(rowTitle: "Dark Color", + picker: self.picker).with { + $0.onSelected = { [weak self] color in + guard let self else { return } + dark = .white + setColorConfiguration() + } + $0.onTokenSelected = { [weak self] color in + guard let self else { return } + dark = color.uiColor + setColorConfiguration() + } + $0.onColorSelected = { [weak self] color in + guard let self else { return } + dark = color + setColorConfiguration() + } + } }() - + lazy var namePickerSelectorView = { PickerSelectorView(title: "", picker: self.picker, @@ -51,8 +84,8 @@ class IconViewController: BaseViewController { addFormRow(label: "Surface", view: surfacePickerSelectorView) addFormRow(label: "Size", view: sizePickerSelectorView) addFormRow(label: "Custom Size", view: customSizeField) - addFormRow(label: "Light Color", view: lightColorPickerSelectorView) - addFormRow(label: "Dark Color", view: darkColorPickerSelectorView) + append(section: lightColorPickerSelectorView) + append(section: darkColorPickerSelectorView) addFormRow(label: "Name", view: namePickerSelectorView) customSizeField @@ -69,8 +102,6 @@ class IconViewController: BaseViewController { //setup UI surfacePickerSelectorView.text = component.surface.rawValue sizePickerSelectorView.text = component.size.rawValue - lightColorPickerSelectorView.text = UIColor.VDSColor.elementsPrimaryOnlight.rawValue - darkColorPickerSelectorView.text = UIColor.VDSColor.elementsPrimaryOndark.rawValue namePickerSelectorView.text = name.rawValue } func setupPicker(){ @@ -83,23 +114,15 @@ class IconViewController: BaseViewController { sizePickerSelectorView.onPickerDidSelect = { [weak self] item in self?.component.size = item } - - lightColorPickerSelectorView.onPickerDidSelect = { [weak self] item in - self?.setColorConfiguration() - } - - darkColorPickerSelectorView.onPickerDidSelect = { [weak self] item in - self?.setColorConfiguration() - } - + namePickerSelectorView.onPickerDidSelect = { [weak self] item in self?.component.name = item } } + var light: UIColor = .black + var dark: UIColor = .white func setColorConfiguration() { - let light = lightColorPickerSelectorView.selectedItem.uiColor - let dark = darkColorPickerSelectorView.selectedItem.uiColor component.colorConfiguration = .init(light, dark) }