added accessibility to icons

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2024-07-01 14:25:14 -05:00
parent 2b978ffd03
commit b93860cc15

View File

@ -311,6 +311,7 @@ class TileletViewController: BaseViewController<Tilelet> {
var backgroundColor: BackgroundColor = .black var backgroundColor: BackgroundColor = .black
var maxWidthTextField = NumericField() var maxWidthTextField = NumericField()
var isLinkSwitch = Toggle() var isLinkSwitch = Toggle()
var descriptionIconAccessibilityTextField = TextField()
var gradientColorsFormStackView = FormSection().with { $0.isHidden = true } var gradientColorsFormStackView = FormSection().with { $0.isHidden = true }
@ -402,6 +403,7 @@ class TileletViewController: BaseViewController<Tilelet> {
})) }))
append(section: descriptionIconFormStackView) append(section: descriptionIconFormStackView)
descriptionIconFormStackView.addFormRow(label: "Icon", view: descriptionNamePickerSelectorView) descriptionIconFormStackView.addFormRow(label: "Icon", view: descriptionNamePickerSelectorView)
descriptionIconFormStackView.addFormRow(label: "Accessibility", view: descriptionIconAccessibilityTextField)
descriptionIconFormStackView.addFormRow(label: "Size", view: descriptionIconSizePickerSelectorView) descriptionIconFormStackView.addFormRow(label: "Size", view: descriptionIconSizePickerSelectorView)
descriptionIconFormStackView.addFormRow(label: "Color", view: descriptionIconColorPickerSelectorView) descriptionIconFormStackView.addFormRow(label: "Color", view: descriptionIconColorPickerSelectorView)
descriptionIconTokenFormStackView.addFormRow(label: "Token", view: descriptionIconTokenColorView) descriptionIconTokenFormStackView.addFormRow(label: "Token", view: descriptionIconTokenColorView)
@ -516,6 +518,12 @@ class TileletViewController: BaseViewController<Tilelet> {
self.setDescriptionIconForm() self.setDescriptionIconForm()
} }
descriptionIconAccessibilityTextField
.textPublisher
.sink { [weak self] text in
self?.setDescriptiveIconModel()
}.store(in: &subscribers)
showDirectionalIconSwitch.onChange = { [weak self] sender in showDirectionalIconSwitch.onChange = { [weak self] sender in
guard let self else { return } guard let self else { return }
self.setDirectionalIconForm() self.setDirectionalIconForm()
@ -727,6 +735,11 @@ class TileletViewController: BaseViewController<Tilelet> {
let iconSize = descriptionIconSizePickerSelectorView.selectedItem let iconSize = descriptionIconSizePickerSelectorView.selectedItem
let iconName = descriptionNamePickerSelectorView.selectedItem let iconName = descriptionNamePickerSelectorView.selectedItem
var iconColor: Tilelet.IconColor? = nil var iconColor: Tilelet.IconColor? = nil
var accessibleText: String?
if let at = descriptionIconAccessibilityTextField.text, !at.isEmpty {
accessibleText = at
}
switch descriptionIconColorPickerSelectorView.selectedItem { switch descriptionIconColorPickerSelectorView.selectedItem {
case .token: case .token:
iconColor = .token(descriptionIconTokenColorView.selectedItem) iconColor = .token(descriptionIconTokenColorView.selectedItem)
@ -735,7 +748,7 @@ class TileletViewController: BaseViewController<Tilelet> {
default: default:
break break
} }
component.descriptiveIconModel = .init(name: iconName, iconColor: iconColor, size: iconSize) component.descriptiveIconModel = .init(name: iconName, iconColor: iconColor, size: iconSize, accessibleText: accessibleText ?? nil )
} }
func setDirectionalIconModel() { func setDirectionalIconModel() {