@@ -42,7 +42,7 @@ public extension Button {
4242/// standard localized texts and icons.
4343public enum ButtonType : String , CaseIterable , Identifiable {
4444 case add, addToFavorites,
45- cancel, call, copy,
45+ cancel, call, close , copy,
4646 delete, deselect, done,
4747 edit, email, export,
4848 like,
@@ -61,6 +61,10 @@ public extension ButtonType {
6161 static func toggleLike( isLiked: Bool ) -> ButtonType {
6262 isLiked ? . removeLike : . like
6363 }
64+
65+ static func toggleSelect( isSelected: Bool ) -> ButtonType {
66+ isSelected ? . deselect : . select
67+ }
6468}
6569
6670public extension ButtonType {
@@ -77,6 +81,7 @@ public extension ButtonType {
7781 case . add: " plus "
7882 case . addToFavorites: " star "
7983 case . cancel: " xmark "
84+ case . close: " xmark.circle "
8085 case . call: " phone "
8186 case . copy: " doc.on.doc "
8287 case . delete: " trash "
@@ -102,6 +107,7 @@ public extension ButtonType {
102107 switch self {
103108 case . add: ( " a " , . command)
104109 case . cancel: ( . escape, nil )
110+ case . close: ( . escape, nil )
105111 case . done: ( . return, . command)
106112 case . edit: ( " e " , . command)
107113 case . save: ( " s " , . command)
@@ -125,6 +131,7 @@ public extension ButtonType {
125131 case . addToFavorites: " Button.AddToFavorites "
126132 case . call: " Button.Call "
127133 case . cancel: " Button.Cancel "
134+ case . close: " Button.Close "
128135 case . copy: " Button.Copy "
129136 case . deselect: " Button.Deselect "
130137 case . edit: " Button.Edit "
@@ -182,6 +189,8 @@ public extension View {
182189 Button ( . toggleFavorite( isFavorite: true ) ) { }
183190 Button ( . toggleLike( isLiked: false ) ) { }
184191 Button ( . toggleLike( isLiked: true ) ) { }
192+ Button ( . toggleSelect( isSelected: false ) ) { }
193+ Button ( . toggleSelect( isSelected: true ) ) { }
185194 }
186195 }
187196
0 commit comments