Skip to content

Commit e70f79a

Browse files
committed
Add new button types
1 parent 859c8bf commit e70f79a

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

RELEASE_NOTES.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@ SwiftUIKit makes its best effort to honor semver, but breaking changes can occur
44

55

66

7+
## 5.1.7
8+
9+
### ✨ Features
10+
11+
* `ButtonType` has a new "close" type.
12+
* `ButtonType` has a new "toggleSelected" type.
13+
14+
15+
716
## 5.1.6
817

918
### ✨ Features

Sources/SwiftUIKit/Buttons/ButtonType.swift

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public extension Button {
4242
/// standard localized texts and icons.
4343
public 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

6670
public 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

Comments
 (0)