Skip to content

Commit 3163247

Browse files
committed
Add a preview file to display all existing POS button styles.
1 parent 8d038e7 commit 3163247

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import SwiftUI
2+
3+
#if DEBUG
4+
5+
/// A preview that demonstrates all available POS button styles
6+
struct POSButtonStylesPreview: View {
7+
var body: some View {
8+
VStack(spacing: 20) {
9+
// Primary Button
10+
Button("Primary Button") {}
11+
.buttonStyle(POSPrimaryButtonStyle())
12+
13+
// Secondary Button
14+
Button("Secondary Button") {}
15+
.buttonStyle(POSSecondaryButtonStyle())
16+
17+
// Tertiary Button
18+
Button("Tertiary Button") {}
19+
.buttonStyle(POSTertiaryButtonStyle())
20+
21+
// Text Button
22+
Button("Text Button") {}
23+
.buttonStyle(POSTextButtonStyle())
24+
25+
// Disabled state examples
26+
Group {
27+
Button("Disabled Primary") {}
28+
.buttonStyle(POSPrimaryButtonStyle())
29+
.disabled(true)
30+
Button("Disabled Secondary") {}
31+
.buttonStyle(POSSecondaryButtonStyle())
32+
.disabled(true)
33+
34+
Button("Disabled Tertiary") {}
35+
.buttonStyle(POSTertiaryButtonStyle())
36+
.disabled(true)
37+
38+
Button("Disabled Text") {}
39+
.buttonStyle(POSTextButtonStyle())
40+
.disabled(true)
41+
}
42+
}
43+
.padding()
44+
}
45+
}
46+
47+
#Preview {
48+
POSButtonStylesPreview()
49+
}
50+
51+
#endif

WooCommerce/WooCommerce.xcodeproj/project.pbxproj

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@
117117
020F41E623163C0100776C4D /* TopBannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 020F41E423163C0100776C4D /* TopBannerView.swift */; };
118118
021080FA2D5441CE0054C78D /* POSColorPalette.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 021080F92D5441CE0054C78D /* POSColorPalette.xcassets */; };
119119
021080FC2D544B3E0054C78D /* Color+POSColorPalette.swift in Sources */ = {isa = PBXBuildFile; fileRef = 021080FB2D544B3E0054C78D /* Color+POSColorPalette.swift */; };
120+
0210A2472D55EC250054C78D /* POSButtonStylesPreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0210A2462D55EC250054C78D /* POSButtonStylesPreview.swift */; };
120121
0210D8692A7BEEF700846F8C /* WooAnalyticsEvent+ProductListFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0210D8682A7BEEF700846F8C /* WooAnalyticsEvent+ProductListFilter.swift */; };
121122
0211252825773F220075AD2A /* Models+Copiable.generated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0211252725773F220075AD2A /* Models+Copiable.generated.swift */; };
122123
0211252E25773FB00075AD2A /* MockAggregateOrderItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0211252D25773FB00075AD2A /* MockAggregateOrderItem.swift */; };
@@ -3325,6 +3326,7 @@
33253326
020F41E423163C0100776C4D /* TopBannerView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TopBannerView.swift; sourceTree = "<group>"; };
33263327
021080F92D5441CE0054C78D /* POSColorPalette.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = POSColorPalette.xcassets; sourceTree = "<group>"; };
33273328
021080FB2D544B3E0054C78D /* Color+POSColorPalette.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+POSColorPalette.swift"; sourceTree = "<group>"; };
3329+
0210A2462D55EC250054C78D /* POSButtonStylesPreview.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = POSButtonStylesPreview.swift; sourceTree = "<group>"; };
33283330
0210D8682A7BEEF700846F8C /* WooAnalyticsEvent+ProductListFilter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WooAnalyticsEvent+ProductListFilter.swift"; sourceTree = "<group>"; };
33293331
0211252725773F220075AD2A /* Models+Copiable.generated.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Models+Copiable.generated.swift"; sourceTree = "<group>"; };
33303332
0211252D25773FB00075AD2A /* MockAggregateOrderItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockAggregateOrderItem.swift; sourceTree = "<group>"; };
@@ -6480,6 +6482,7 @@
64806482
01620C4C2C5394A400D3EA2F /* Reusable Views */ = {
64816483
isa = PBXGroup;
64826484
children = (
6485+
0210A2452D55EC140054C78D /* Buttons */,
64836486
01620C4D2C5394B200D3EA2F /* POSProgressViewStyle.swift */,
64846487
204D1D612C5A50840064A6BE /* POSModalViewModifier.swift */,
64856488
20D2CCA42C7E328300051705 /* POSModalCloseButton.swift */,
@@ -6650,6 +6653,14 @@
66506653
path = Colors;
66516654
sourceTree = "<group>";
66526655
};
6656+
0210A2452D55EC140054C78D /* Buttons */ = {
6657+
isa = PBXGroup;
6658+
children = (
6659+
0210A2462D55EC250054C78D /* POSButtonStylesPreview.swift */,
6660+
);
6661+
path = Buttons;
6662+
sourceTree = "<group>";
6663+
};
66536664
0211252225773EB40075AD2A /* Copiable */ = {
66546665
isa = PBXGroup;
66556666
children = (
@@ -15522,6 +15533,7 @@
1552215533
CC41E70C29310C1F008B3FB9 /* AnalyticsLineChart.swift in Sources */,
1552315534
456CB50D2444BFAC00992A05 /* ProductPurchaseNoteViewController.swift in Sources */,
1552415535
EE3BC28E2BE390B800195AF0 /* InAppFeedbackCardViewModel.swift in Sources */,
15536+
0210A2472D55EC250054C78D /* POSButtonStylesPreview.swift in Sources */,
1552515537
6827140F28A3988300E6E3F6 /* DismissableNoticeView.swift in Sources */,
1552615538
D802541F2655137A001B2CC1 /* CardPresentModalNonRetryableError.swift in Sources */,
1552715539
B651474527D644FF00C9C4E6 /* CustomerNoteSection.swift in Sources */,

0 commit comments

Comments
 (0)