soccer-jersey-fork 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Generate Soccer Jersey SVG images. Generates Data URIs that
3
+ * can be used directly as image src.
4
+ */
5
+ import drawSoccerJersey from './utils/draw-soccer-jersey';
6
+ declare const SoccerJersey: {
7
+ draw: typeof drawSoccerJersey;
8
+ };
9
+ export default SoccerJersey;
package/lib/index.js ADDED
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Generate Soccer Jersey SVG images. Generates Data URIs that
3
+ * can be used directly as image src.
4
+ */
5
+ import drawSoccerJersey from './utils/draw-soccer-jersey';
6
+ const SoccerJersey = {
7
+ draw: drawSoccerJersey,
8
+ };
9
+ export default SoccerJersey;
@@ -0,0 +1,3 @@
1
+ import drawSoccerJersey from './utils/draw-soccer-jersey';
2
+ declare const draw: typeof drawSoccerJersey;
3
+ export { draw };
@@ -0,0 +1,9 @@
1
+ import { Svg } from '@svgdotjs/svg.js';
2
+ declare const drawStriped: (page: Svg, primaryColor: string, secondaryColor: string, thickness?: "thin" | "thick" | "normal") => import("@svgdotjs/svg.js").Pattern;
3
+ declare const drawCheckered: (page: Svg, primaryColor: string, secondaryColor: string) => import("@svgdotjs/svg.js").Pattern;
4
+ declare const drawHoops: (page: Svg, primaryColor: string, secondaryColor: string) => import("@svgdotjs/svg.js").Pattern;
5
+ declare const drawTwoColor: (page: Svg, primaryColor: string, secondaryColor: string, bandStyle: "diagonal-right" | "diagonal-left" | "horizontal" | "vertical") => import("@svgdotjs/svg.js").Pattern;
6
+ declare const drawSingleBand: (page: Svg, primaryColor: string, secondaryColor: string, bandStyle: "diagonal-right" | "diagonal-left" | "horizontal" | "vertical") => import("@svgdotjs/svg.js").Pattern;
7
+ declare const drawWaves: (page: Svg, primaryColor: string, secondaryColor: string, waveStyle: "horizontal" | "vertical") => import("@svgdotjs/svg.js").Pattern;
8
+ declare const drawDashes: (page: Svg, primaryColor: string, secondaryColor: string, dashDirection: "diagonal-right" | "diagonal-left" | "horizontal" | "vertical") => import("@svgdotjs/svg.js").Pattern;
9
+ export { drawStriped, drawHoops, drawSingleBand, drawCheckered, drawTwoColor, drawWaves, drawDashes, };
@@ -0,0 +1,168 @@
1
+ const drawstripedThick = (page, primaryColor, secondaryColor) => page.pattern(20, 4, function (add) {
2
+ add.rect(20, 4).fill(primaryColor);
3
+ add.rect(10, 4).fill(secondaryColor ? secondaryColor : '#eee');
4
+ });
5
+ const drawstripedThin = (page, primaryColor, secondaryColor) => page.pattern(8, 4, function (add) {
6
+ add.rect(8, 4).fill(primaryColor);
7
+ add.rect(1, 4).fill(secondaryColor ? secondaryColor : '#eee');
8
+ });
9
+ const drawStriped = (page, primaryColor, secondaryColor, thickness = 'normal') => {
10
+ switch (thickness) {
11
+ case 'thick':
12
+ return drawstripedThick(page, primaryColor, secondaryColor);
13
+ case 'thin':
14
+ return drawstripedThin(page, primaryColor, secondaryColor);
15
+ default:
16
+ return page.pattern(10, 4, function (add) {
17
+ add.rect(10, 4).fill(primaryColor);
18
+ add.rect(5, 4).fill(secondaryColor ? secondaryColor : '#eee');
19
+ });
20
+ }
21
+ };
22
+ const drawCheckered = (page, primaryColor, secondaryColor) => page.pattern(20, 20, function (add) {
23
+ add.rect(20, 20).fill(primaryColor);
24
+ add.rect(10, 10).fill(secondaryColor ? secondaryColor : '#eee');
25
+ add
26
+ .rect(10, 10)
27
+ .fill(secondaryColor ? secondaryColor : '#eee')
28
+ .move(10, 10);
29
+ });
30
+ const drawHoops = (page, primaryColor, secondaryColor) => page.pattern(20, 20, function (add) {
31
+ add.rect(20, 20).fill(primaryColor);
32
+ add.rect(20, 10).fill(secondaryColor ? secondaryColor : '#eee');
33
+ });
34
+ const drawTwoColor = (page, primaryColor, secondaryColor, bandStyle) => {
35
+ switch (bandStyle) {
36
+ case 'diagonal-right':
37
+ return page.pattern(100, 100, function (add) {
38
+ add.rect(90, 100).fill(primaryColor);
39
+ add
40
+ .rect(50, 120)
41
+ .fill(secondaryColor ? secondaryColor : '#eee')
42
+ .move(50, 0).rotate(35);
43
+ });
44
+ case 'diagonal-left':
45
+ return page.pattern(100, 100, function (add) {
46
+ add.rect(90, 100).fill(primaryColor);
47
+ add
48
+ .rect(60, 140)
49
+ .fill(secondaryColor ? secondaryColor : '#eee')
50
+ .move(52, -20).rotate(145);
51
+ });
52
+ case 'horizontal':
53
+ return page.pattern(100, 100, function (add) {
54
+ add.rect(100, 100).fill(primaryColor);
55
+ add
56
+ .rect(100, 50)
57
+ .fill(secondaryColor ? secondaryColor : '#eee')
58
+ .move(0, 52);
59
+ });
60
+ case 'vertical':
61
+ return page.pattern(90, 100, function (add) {
62
+ add.rect(90, 100).fill(primaryColor);
63
+ add
64
+ .rect(50, 100)
65
+ .fill(secondaryColor ? secondaryColor : '#eee')
66
+ .move(50, 0);
67
+ });
68
+ default:
69
+ return page.pattern(90, 90, function (add) {
70
+ add.rect(90, 100).fill(primaryColor);
71
+ add.rect(20, 100).fill(secondaryColor).move(50, 0);
72
+ });
73
+ }
74
+ };
75
+ const drawSingleBand = (page, primaryColor, secondaryColor, bandStyle) => {
76
+ switch (bandStyle) {
77
+ case 'diagonal-right':
78
+ return page.pattern(100, 100, function (add) {
79
+ add.rect(100, 100).fill(primaryColor);
80
+ add
81
+ .rect(120, 20)
82
+ .fill(secondaryColor ? secondaryColor : '#eee')
83
+ .move(0, 40)
84
+ .rotate(120);
85
+ });
86
+ case 'diagonal-left':
87
+ return page.pattern(100, 100, function (add) {
88
+ add.rect(100, 100).fill(primaryColor);
89
+ add
90
+ .rect(120, 20)
91
+ .fill(secondaryColor ? secondaryColor : '#eee')
92
+ .move(0, 40)
93
+ .rotate(60);
94
+ });
95
+ case 'horizontal':
96
+ return page.pattern(100, 90, function (add) {
97
+ add.rect(100, 90).fill(primaryColor);
98
+ add
99
+ .rect(100, 30)
100
+ .fill(secondaryColor ? secondaryColor : '#eee')
101
+ .move(0, 30);
102
+ });
103
+ case 'vertical':
104
+ return page.pattern(90, 100, function (add) {
105
+ add.rect(90, 100).fill(primaryColor);
106
+ add
107
+ .rect(20, 100)
108
+ .fill(secondaryColor ? secondaryColor : '#eee')
109
+ .move(40, 0);
110
+ });
111
+ default:
112
+ return page.pattern(90, 90, function (add) {
113
+ add.rect(90, 100).fill(primaryColor);
114
+ add.rect(20, 100).fill(secondaryColor).move(50, 0);
115
+ });
116
+ }
117
+ };
118
+ const drawWaves = (page, primaryColor, secondaryColor, waveStyle) => {
119
+ switch (waveStyle) {
120
+ case 'horizontal':
121
+ return page.pattern(20, 12, function (add) {
122
+ add.rect(20, 12).fill(primaryColor);
123
+ add.rect(14, 6).fill(secondaryColor ? secondaryColor : '#eee')
124
+ .move(-3, 3).rotate(-15);
125
+ add.rect(14, 6).fill(secondaryColor ? secondaryColor : '#eee')
126
+ .move(9, 3).rotate(15);
127
+ });
128
+ default:
129
+ return page.pattern(12, 20, function (add) {
130
+ add.rect(12, 20).fill(primaryColor);
131
+ add.rect(6, 14).fill(secondaryColor ? secondaryColor : '#eee')
132
+ .move(3, -3).rotate(-15);
133
+ add.rect(6, 14).fill(secondaryColor ? secondaryColor : '#eee')
134
+ .move(3, 9).rotate(15);
135
+ });
136
+ }
137
+ };
138
+ const drawDashes = (page, primaryColor, secondaryColor, dashDirection) => {
139
+ switch (dashDirection) {
140
+ case 'diagonal-left':
141
+ return page.pattern(10, 10, function (add) {
142
+ add.rect(10, 10).fill(primaryColor);
143
+ add.rect(5, 2).fill(secondaryColor ? secondaryColor : '#eee')
144
+ .move(5, 5).rotate(45);
145
+ });
146
+ case 'diagonal-right':
147
+ return page.pattern(10, 10, function (add) {
148
+ add.rect(10, 10).fill(primaryColor);
149
+ add.rect(5, 2).fill(secondaryColor ? secondaryColor : '#eee')
150
+ .move(5, 5).rotate(135);
151
+ });
152
+ case 'horizontal':
153
+ return page.pattern(10, 10, function (add) {
154
+ add.rect(10, 10).fill(primaryColor);
155
+ add.rect(5, 2).fill(secondaryColor ? secondaryColor : '#eee');
156
+ add.rect(5, 2).fill(secondaryColor ? secondaryColor : '#eee')
157
+ .move(5, 5);
158
+ });
159
+ default:
160
+ return page.pattern(10, 10, function (add) {
161
+ add.rect(10, 10).fill(primaryColor);
162
+ add.rect(2, 5).fill(secondaryColor ? secondaryColor : '#eee');
163
+ add.rect(2, 5).fill(secondaryColor ? secondaryColor : '#eee')
164
+ .move(5, 5);
165
+ });
166
+ }
167
+ };
168
+ export { drawStriped, drawHoops, drawSingleBand, drawCheckered, drawTwoColor, drawWaves, drawDashes, };
@@ -0,0 +1,2 @@
1
+ import { DrawSoccerJerseyProps } from '../types';
2
+ export declare const ReactTeamPage: (props: DrawSoccerJerseyProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import SoccerJersey from '../index';
3
+ export const ReactTeamPage = (props) => {
4
+ const jerseyImgSrc = SoccerJersey.draw(props); //
5
+ return (_jsx("div", { style: { textAlign: 'center' }, dangerouslySetInnerHTML: { __html: jerseyImgSrc } }));
6
+ };
@@ -0,0 +1,34 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { ReactTeamPage } from './ReactTeamPage';
3
+ declare const meta: Meta<typeof ReactTeamPage>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof ReactTeamPage>;
6
+ export declare const Default: Story;
7
+ export declare const ARS: Story;
8
+ export declare const AVL: Story;
9
+ export declare const BHA: Story;
10
+ export declare const BUR: Story;
11
+ export declare const CHE: Story;
12
+ export declare const CRY: Story;
13
+ export declare const FUL: Story;
14
+ export declare const LEE: Story;
15
+ export declare const LEI: Story;
16
+ export declare const LIV: Story;
17
+ export declare const MCI: Story;
18
+ export declare const MUN: Story;
19
+ export declare const NEW: Story;
20
+ export declare const SHE: Story;
21
+ export declare const SOU: Story;
22
+ export declare const TOT: Story;
23
+ export declare const WIG: Story;
24
+ export declare const WHU: Story;
25
+ export declare const WOL: Story;
26
+ export declare const PSG: Story;
27
+ export declare const ACM: Story;
28
+ export declare const BAR: Story;
29
+ export declare const FCB: Story;
30
+ export declare const JUV: Story;
31
+ export declare const BVB: Story;
32
+ export declare const CAG: Story;
33
+ export declare const MON: Story;
34
+ export declare const INT: Story;
@@ -0,0 +1,289 @@
1
+ import { ReactTeamPage } from './ReactTeamPage';
2
+ const meta = {
3
+ title: 'React Examples',
4
+ component: ReactTeamPage,
5
+ parameters: {
6
+ layout: 'fullscreen',
7
+ },
8
+ };
9
+ export default meta;
10
+ export const Default = {
11
+ args: {
12
+ shirtText: 'SJ JS',
13
+ shirtColor: '#008800',
14
+ sleeveColor: '#008800',
15
+ textColor: '#fff',
16
+ },
17
+ };
18
+ export const ARS = {
19
+ args: {
20
+ shirtText: 'Emirates',
21
+ shirtColor: '#f00000',
22
+ sleeveColor: '#fff',
23
+ shirtStyle: 'checkered',
24
+ shirtStyleColor: '#dc0001',
25
+ textColor: '#fff',
26
+ },
27
+ };
28
+ export const AVL = {
29
+ args: {
30
+ shirtText: 'CAZOO',
31
+ shirtColor: '#670e36',
32
+ sleeveColor: '#94bee5',
33
+ shirtStyle: 'plain',
34
+ textColor: '#fff',
35
+ },
36
+ };
37
+ export const BHA = {
38
+ args: {
39
+ shirtText: 'AMERICAN',
40
+ shirtColor: '#398ae7',
41
+ sleeveColor: '#398ae7',
42
+ shirtStyle: 'striped-thin',
43
+ shirtStyleColor: '#fff',
44
+ textColor: '#fff',
45
+ },
46
+ };
47
+ export const BUR = {
48
+ args: {
49
+ shirtText: ' #|# ',
50
+ shirtColor: '#81204c',
51
+ sleeveColor: '#8bd3f5',
52
+ textColor: '#fff',
53
+ },
54
+ };
55
+ export const CHE = {
56
+ args: {
57
+ shirtText: '3',
58
+ shirtColor: '#001489',
59
+ sleeveColor: '#001489',
60
+ shirtStyle: 'plain',
61
+ textColor: '#fff',
62
+ },
63
+ };
64
+ export const CRY = {
65
+ args: {
66
+ shirtText: 'W88',
67
+ shirtColor: '#014a97',
68
+ sleeveColor: '#014a97',
69
+ shirtStyle: 'striped',
70
+ shirtStyleColor: '#ff362b',
71
+ textColor: '#fff',
72
+ },
73
+ };
74
+ export const FUL = {
75
+ args: {
76
+ shirtText: 'BETVICTOR',
77
+ shirtColor: '#fff',
78
+ sleeveColor: '#333',
79
+ shirtStyle: 'plain',
80
+ textColor: '#222',
81
+ },
82
+ };
83
+ export const LEE = {
84
+ args: {
85
+ shirtText: 'SBOTOP',
86
+ shirtColor: '#ffffff',
87
+ sleeveColor: '#ffffff',
88
+ shirtStyle: 'plain',
89
+ textColor: '#1d4189',
90
+ },
91
+ };
92
+ export const LEI = {
93
+ args: {
94
+ shirtText: 'THAILAND',
95
+ shirtColor: '#003090',
96
+ sleeveColor: '#003090',
97
+ shirtStyle: 'plain',
98
+ textColor: '#fefefe',
99
+ },
100
+ };
101
+ export const LIV = {
102
+ args: {
103
+ shirtText: 'Standard &',
104
+ shirtColor: '#e31b23',
105
+ sleeveColor: '#e31b23',
106
+ shirtStyle: 'plain',
107
+ textColor: '#fff',
108
+ },
109
+ };
110
+ export const MCI = {
111
+ args: {
112
+ shirtText: 'ETIHAD',
113
+ shirtColor: '#98c5e9',
114
+ sleeveColor: '#98c5e9',
115
+ shirtStyle: 'plain',
116
+ textColor: '#00285e',
117
+ },
118
+ };
119
+ export const MUN = {
120
+ args: {
121
+ shirtText: ' CHEVROLET ',
122
+ shirtColor: '#c70101',
123
+ sleeveColor: '#c70101',
124
+ shirtStyle: 'plain',
125
+ textColor: '#fed500',
126
+ },
127
+ };
128
+ export const NEW = {
129
+ args: {
130
+ shirtText: 'FUN88',
131
+ shirtColor: '#fff',
132
+ sleeveColor: '#333',
133
+ shirtStyle: 'striped',
134
+ shirtStyleColor: '#111',
135
+ textColor: '#00bcf6',
136
+ },
137
+ };
138
+ export const SHE = {
139
+ args: {
140
+ shirtText: '## USG',
141
+ shirtColor: '#fff',
142
+ sleeveColor: '#fff',
143
+ shirtStyle: 'striped-thick',
144
+ shirtStyleColor: '#e30613',
145
+ textColor: '#111',
146
+ },
147
+ };
148
+ export const SOU = {
149
+ args: {
150
+ shirtText: 'Sportsbet',
151
+ shirtColor: '#ff0028',
152
+ sleeveColor: '#ff0028',
153
+ shirtStyle: 'single-band',
154
+ shirtStyleColor: '#fff',
155
+ textColor: '#111',
156
+ shirtStyleDirection: 'diagonal-left',
157
+ },
158
+ };
159
+ export const TOT = {
160
+ args: {
161
+ shirtText: 'AIA',
162
+ shirtColor: '#fff',
163
+ sleeveColor: '#0a225c',
164
+ shirtStyle: 'plain',
165
+ textColor: '#d31145',
166
+ },
167
+ };
168
+ export const WIG = {
169
+ args: {
170
+ shirtText: 'ideal',
171
+ shirtColor: '#fff',
172
+ sleeveColor: '#002f68',
173
+ shirtStyle: 'striped',
174
+ shirtStyleColor: '#002f68',
175
+ textColor: '#fff',
176
+ textBackgroundColor: '#002f68',
177
+ },
178
+ };
179
+ export const WHU = {
180
+ args: {
181
+ shirtText: 'betWay',
182
+ shirtColor: '#7d2b3a',
183
+ sleeveColor: '#59b3e4',
184
+ shirtStyle: 'plain',
185
+ textColor: '#fff',
186
+ },
187
+ };
188
+ export const WOL = {
189
+ args: {
190
+ shirtText: 'FiT|#',
191
+ shirtColor: '#fdb913',
192
+ sleeveColor: '#333',
193
+ shirtStyle: 'plain',
194
+ textColor: '#222',
195
+ },
196
+ };
197
+ export const PSG = {
198
+ args: {
199
+ shirtText: ' All ',
200
+ shirtColor: '#00234a',
201
+ sleeveColor: '#00234a',
202
+ shirtStyle: 'single-band',
203
+ shirtStyleColor: '#cc1339',
204
+ textColor: '#fff',
205
+ shirtStyleDirection: 'vertical',
206
+ },
207
+ };
208
+ export const ACM = {
209
+ args: {
210
+ shirtText: 'Emirates',
211
+ shirtColor: '#df061b',
212
+ sleeveColor: '#444',
213
+ shirtStyle: 'striped',
214
+ shirtStyleColor: '#222',
215
+ textColor: '#fff',
216
+ },
217
+ };
218
+ export const BAR = {
219
+ args: {
220
+ shirtText: 'Rakuten',
221
+ shirtColor: '#081868',
222
+ sleeveColor: '#081868',
223
+ shirtStyle: 'striped-thick',
224
+ shirtStyleColor: '#84112b',
225
+ textColor: '#fff',
226
+ },
227
+ };
228
+ export const FCB = {
229
+ args: {
230
+ shirtText: '-T--- ',
231
+ shirtColor: '#d1122e',
232
+ sleeveColor: '#d1122e',
233
+ shirtStyle: 'plain',
234
+ textColor: '#fff',
235
+ },
236
+ };
237
+ export const JUV = {
238
+ args: {
239
+ shirtText: 'Jeep',
240
+ shirtColor: '#fff',
241
+ sleeveColor: '#fff',
242
+ shirtStyle: 'striped',
243
+ shirtStyleColor: '#222',
244
+ textColor: '#e1ceaf',
245
+ },
246
+ };
247
+ export const BVB = {
248
+ args: {
249
+ shirtText: ' 1&1 ',
250
+ shirtColor: '#f6ea32',
251
+ sleeveColor: '#f6ea32',
252
+ shirtStyle: 'dashed',
253
+ shirtStyleColor: '#222',
254
+ shirtStyleDirection: 'diagonal-right',
255
+ textColor: '#fff',
256
+ textBackgroundColor: '#333',
257
+ },
258
+ };
259
+ export const CAG = {
260
+ args: {
261
+ shirtText: '+ Inchusa',
262
+ shirtColor: '#e4343b',
263
+ sleeveColor: '#fff',
264
+ shirtStyle: 'two-color',
265
+ shirtStyleColor: '#1d2c47',
266
+ textColor: '#fff',
267
+ },
268
+ };
269
+ export const MON = {
270
+ args: {
271
+ shirtText: ' FEDCOM ',
272
+ shirtColor: '#fff',
273
+ sleeveColor: '#fff',
274
+ shirtStyle: 'two-color',
275
+ shirtStyleColor: '#e53236',
276
+ shirtStyleDirection: 'diagonal-left',
277
+ textColor: '#fff',
278
+ },
279
+ };
280
+ export const INT = {
281
+ args: {
282
+ shirtText: 'PIRELI',
283
+ shirtColor: '#1756ca',
284
+ sleeveColor: '#1756ca',
285
+ shirtStyle: 'waves',
286
+ shirtStyleColor: '#222',
287
+ textColor: '#fff',
288
+ },
289
+ };
@@ -0,0 +1,13 @@
1
+ export interface DrawSoccerJerseyProps {
2
+ shirtText: string;
3
+ textColor: string;
4
+ textOutlineColor?: string;
5
+ textBackgroundColor?: string;
6
+ shirtColor: string;
7
+ sleeveColor: string;
8
+ shirtStyle: 'plain' | 'two-color' | 'striped' | 'striped-thin' | 'striped-thick' | 'waves' | 'checkered' | 'hoops' | 'single-band' | 'dashed';
9
+ shirtStyleColor?: string;
10
+ shirtStyleDirection?: ('diagonal-right' | 'diagonal-left' | 'horizontal' | 'vertical');
11
+ isBack?: boolean;
12
+ shirtWidth?: number;
13
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ import { DrawSoccerJerseyProps } from '../types';
2
+ /**
3
+ *
4
+ * @param {object} specs Specifications of the soccer jersey.
5
+ * @param {string} specs.shirtText The text to be displayed on the shirt.
6
+ * Recommended 3 letter team initials
7
+ * @param {string} specs.textColor The color (HTML Color Code) for the
8
+ * text displayed on the shirt
9
+ * @param {string} specs.textOutlineColor Optional. The outline color (HTML Color Code) for the
10
+ * text displayed on the shirt
11
+ * @param {string} specs.textBackgroundColor Optional. The background color (HTML Color Code) for the
12
+ * text displayed on the shirt
13
+ * @param {string} specs.shirtColor The main color (HTML Color Code) of
14
+ * the shirt.
15
+ * @param {string} specs.sleeveColor The color (HTML Color Code) of the shirt
16
+ * sleeves;
17
+ * @param {string} specs.shirtStyle The Style of the shirt (torso region).
18
+ * Supports "plain", "two-color", "striped", "striped-thin","striped-thick","checkered",
19
+ * "hoops","single-band", "waves", "dashed";
20
+ * @param {string} specs.shirtStyleColor The color (HTML Color Code) of
21
+ * used for the shirt style.
22
+ * @param {string} specs.shirtStyleDirection The style of the single band.
23
+ * Required when using the "single-band" shirt style. Supports
24
+ * "diagonal-right", "diagonal-left","horizontal", "vertical"
25
+ * @param {boolean} specs.isBack Set to true to draw the shirt from the
26
+ * back (different neck shape, no badges). Defaults to false.
27
+ * @return {string} A data URL ready for direct use as src attribute
28
+ * on <img />
29
+ */
30
+ export default function drawSoccerJersey({ shirtText, textColor, textOutlineColor, textBackgroundColor, shirtColor, sleeveColor, shirtStyle, shirtStyleColor, shirtStyleDirection, isBack, shirtWidth, }: DrawSoccerJerseyProps): string;