playbook_ui 14.17.0.pre.alpha.play2065passphrasewithselect7295 → 14.17.0.pre.alpha.playcdntest7233

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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +3 -23
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +1 -11
  4. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +128 -60
  5. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +0 -3
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.html.erb +1 -1
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx +2 -1
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_rails.md +2 -2
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_react.md +1 -1
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_rails.md +2 -6
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_react.md +2 -6
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +2 -6
  13. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -4
  14. data/app/pb_kits/playbook/pb_copy_button/_copy_button.tsx +45 -19
  15. data/app/pb_kits/playbook/pb_copy_button/docs/example.yml +0 -1
  16. data/app/pb_kits/playbook/pb_copy_button/docs/index.js +1 -2
  17. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +3 -23
  18. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.html.erb +5 -15
  19. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.jsx +6 -39
  20. data/app/pb_kits/playbook/pb_layout/_layout.scss +1 -70
  21. data/app/pb_kits/playbook/pb_layout/_layout.tsx +2 -29
  22. data/app/pb_kits/playbook/pb_layout/docs/_layout_bracket.jsx +118 -322
  23. data/app/pb_kits/playbook/pb_layout/docs/_layout_bracket.md +1 -1
  24. data/app/pb_kits/playbook/pb_layout/subcomponents/_game.tsx +43 -74
  25. data/app/pb_kits/playbook/pb_layout/subcomponents/_round.tsx +4 -21
  26. data/app/pb_kits/playbook/pb_overlay/_overlay.scss +22 -49
  27. data/app/pb_kits/playbook/pb_overlay/_overlay.tsx +4 -15
  28. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_default.md +7 -1
  29. data/app/pb_kits/playbook/pb_overlay/docs/example.yml +0 -3
  30. data/app/pb_kits/playbook/pb_overlay/docs/index.js +0 -3
  31. data/app/pb_kits/playbook/pb_overlay/overlay.test.jsx +1 -39
  32. data/dist/chunks/{_typeahead-CHd0V9EL.js → _typeahead-C2GOKWtm.js} +2 -2
  33. data/dist/chunks/_weekday_stacked-CFGTPT0O.js +45 -0
  34. data/dist/chunks/{lib-BV_AF_eh.js → lib-BGzBzFZX.js} +3 -3
  35. data/dist/chunks/{pb_form_validation-nsvkJU2J.js → pb_form_validation-BvNy9Bd6.js} +1 -1
  36. data/dist/chunks/vendor.js +1 -1
  37. data/dist/playbook-doc.js +1 -1
  38. data/dist/playbook-rails-react-bindings.js +1 -1
  39. data/dist/playbook-rails.js +1 -1
  40. data/dist/playbook.css +1 -1
  41. data/lib/playbook/version.rb +1 -1
  42. metadata +6 -25
  43. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns.jsx +0 -58
  44. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns.md +0 -6
  45. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns_and_header.jsx +0 -64
  46. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns_and_header.md +0 -8
  47. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header.jsx +0 -55
  48. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header.md +0 -3
  49. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header_rails.html.erb +0 -33
  50. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header_rails.md +0 -3
  51. data/app/pb_kits/playbook/pb_advanced_table/scss_partials/advanced_table_sticky_mixin.scss +0 -97
  52. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_hook.jsx +0 -54
  53. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_hook.md +0 -3
  54. data/app/pb_kits/playbook/pb_copy_button/usePBCopy.ts +0 -45
  55. data/app/pb_kits/playbook/pb_layout/subcomponents/_participant.tsx +0 -79
  56. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_color.jsx +0 -63
  57. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_color.md +0 -3
  58. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_gradient_opacity.jsx +0 -39
  59. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_gradient_opacity.md +0 -1
  60. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_layout.jsx +0 -40
  61. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_layout.md +0 -5
  62. data/dist/chunks/_weekday_stacked-BatiLk3-.js +0 -45
@@ -1,102 +1,11 @@
1
1
  import React from 'react'
2
2
 
3
3
  import Layout from '../../pb_layout/_layout'
4
+ import Flex from '../../pb_flex/_flex'
5
+ import Body from '../../pb_body/_body'
4
6
  import Caption from '../../pb_caption/_caption'
5
7
  import SectionSeparator from '../../pb_section_separator/_section_separator'
6
8
 
7
- const teamData = {
8
- eagles: {
9
- avatar:"https://images.unsplash.com/photo-1628703117067-fb7c9c20946e?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8ZWFnbGVzfGVufDB8fDB8fHww",
10
- name:"Eagles",
11
- rank:"#1 NFC East",
12
- territory:"PHI",
13
- },
14
- packers: {
15
- avatar:"https://images.unsplash.com/photo-1486297678162-eb2a19b0a32d?q=80&w=500&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
16
- name:"Packers",
17
- rank:"#3 NFC North",
18
- territory:"GB",
19
- },
20
- vikings: {
21
- avatar:"https://images.unsplash.com/photo-1525540796810-55f9fbc5592f?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTV8fHZpa2luZ3xlbnwwfHwwfHx8MA%3D%3D",
22
- name:"Vikings",
23
- rank:"#2 NFC North",
24
- territory:"MIN",
25
- },
26
- rams: {
27
- avatar:"https://images.unsplash.com/photo-1490739043913-239b6cdf4084?q=80&w=500&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
28
- name:"Rams",
29
- rank:"#1 NFC West",
30
- territory:"LAR",
31
- },
32
- lions: {
33
- avatar:"https://images.unsplash.com/photo-1614027164847-1b28cfe1df60?q=80&w=500&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
34
- name:"Lions",
35
- rank:"#1 NFC North",
36
- territory:"DET",
37
- },
38
- commanders: {
39
- avatar:"https://images.unsplash.com/photo-1501466044931-62695aada8e9?q=80&w=500&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
40
- name:"Commanders",
41
- rank:"#2 NFC East",
42
- territory:"WAS",
43
- },
44
- buccaneers: {
45
- avatar:"https://images.unsplash.com/photo-1584116843008-46d529f04145?q=80&w=500&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
46
- name:"Buccaneers",
47
- rank:"#1 NFC South",
48
- territory:"TB",
49
- },
50
- chiefs: {
51
- avatar:"https://plus.unsplash.com/premium_photo-1697729864667-57f5f29e946b?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MXx8a2Fuc2FzJTIwY2l0eXxlbnwwfHwwfHx8MA%3D%3D",
52
- name:"Chiefs",
53
- rank:"#1 AFC West",
54
- territory:"KC",
55
- },
56
- chargers: {
57
- avatar:"https://images.unsplash.com/photo-1529310399831-ed472b81d589?q=80&w=500&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
58
- name:"Chargers",
59
- rank:"#2 AFC West",
60
- territory:"LAC",
61
- },
62
- texans: {
63
- avatar:"https://images.unsplash.com/photo-1545345540-ea5d968030af?q=80&w=500&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
64
- name:"Texans",
65
- rank:"#1 AFC South",
66
- territory:"HOU",
67
- },
68
- broncos: {
69
- avatar:"https://images.unsplash.com/photo-1553284965-83fd3e82fa5a?q=80&w=500&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
70
- name:"Broncos",
71
- rank:"#3 AFC West",
72
- territory:"DEN",
73
- },
74
- bills: {
75
- avatar:"https://images.unsplash.com/photo-1575414914265-ebc9aa2637f4?q=80&w=500&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
76
- name:"Bills",
77
- rank:"#1 AFC East",
78
- territory:"BUF",
79
- },
80
- steelers: {
81
- avatar:"https://plus.unsplash.com/premium_photo-1697730155764-cc8ca8f78cbe?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MXx8cGl0dHNidXJnaHxlbnwwfHwwfHx8MA%3D%3D",
82
- name:"Steelers",
83
- rank:"#2 AFC North",
84
- territory:"PIT",
85
- },
86
- ravens: {
87
- avatar:"https://images.unsplash.com/photo-1433888376991-1297486ba3f5?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8cmF2ZW58ZW58MHx8MHx8fDA%3D",
88
- name:"Ravens",
89
- rank:"#1 AFC North",
90
- territory:"BAL",
91
- },
92
- bye: {
93
- avatar:"",
94
- name:"BYE",
95
- rank:"",
96
- territory:"",
97
- },
98
- }
99
-
100
9
  const LayoutBracket = () => {
101
10
  return (
102
11
  <div>
@@ -109,141 +18,80 @@ const LayoutBracket = () => {
109
18
  </Layout.RoundLabel>
110
19
  <Layout.Round marginBottom={{ xs: "md", sm: "md" }}>
111
20
  <Layout.Game>
112
- <Layout.Participant
113
- avatar={teamData.packers.avatar}
114
- name={teamData.packers.name}
115
- points="10"
116
- rank={teamData.packers.rank}
117
- territory={teamData.packers.territory}
118
- />
119
- <Layout.Participant
120
- avatar={teamData.eagles.avatar}
121
- name={teamData.eagles.name}
122
- points="22"
123
- rank={teamData.eagles.rank}
124
- self
125
- territory={teamData.eagles.territory}
126
- winner
127
- />
21
+ <Flex justify="between">
22
+ <Body>Packers</Body>
23
+ <Body>10</Body>
24
+ </Flex>
25
+ <Flex justify="between">
26
+ <Body><strong>Eagles</strong></Body>
27
+ <Body>22</Body>
28
+ </Flex>
128
29
  </Layout.Game>
129
30
  <Layout.Game>
130
- <Layout.Participant
131
- avatar={teamData.vikings.avatar}
132
- name={teamData.vikings.name}
133
- points="9"
134
- rank={teamData.vikings.rank}
135
- territory={teamData.vikings.territory}
136
- />
137
- <Layout.Participant
138
- avatar={teamData.rams.avatar}
139
- name={teamData.rams.name}
140
- points="27"
141
- rank={teamData.rams.rank}
142
- territory={teamData.rams.territory}
143
- winner
144
- />
31
+ <Flex justify="between">
32
+ <Body>Vikings</Body>
33
+ <Body>9</Body>
34
+ </Flex>
35
+ <Flex justify="between">
36
+ <Body><strong>Rams</strong></Body>
37
+ <Body>27</Body>
38
+ </Flex>
145
39
  </Layout.Game>
146
40
  <Layout.Game>
147
- <Layout.Participant
148
- avatar={teamData.lions.avatar}
149
- name={teamData.lions.name}
150
- points=""
151
- rank={teamData.lions.rank}
152
- territory={teamData.lions.territory}
153
- winner
154
- />
155
- <Layout.Participant
156
- avatar={teamData.bye.avatar}
157
- name={teamData.bye.name}
158
- points=""
159
- rank={teamData.bye.rank}
160
- territory={teamData.bye.territory}
161
- />
41
+ <Flex justify="between">
42
+ <Body><strong>Lions</strong></Body>
43
+ </Flex>
44
+ <Flex justify="between">
45
+ <Body>BYE</Body>
46
+ </Flex>
162
47
  </Layout.Game>
163
48
  <Layout.Game>
164
- <Layout.Participant
165
- avatar={teamData.commanders.avatar}
166
- name={teamData.commanders.name}
167
- points="23"
168
- rank={teamData.commanders.rank}
169
- territory={teamData.commanders.territory}
170
- winner
171
- />
172
- <Layout.Participant
173
- avatar={teamData.buccaneers.avatar}
174
- name={teamData.buccaneers.name}
175
- points="20"
176
- rank={teamData.buccaneers.rank}
177
- territory={teamData.buccaneers.territory}
178
- />
49
+ <Flex justify="between">
50
+ <Body><strong>Commanders</strong></Body>
51
+ <Body>23</Body>
52
+ </Flex>
53
+ <Flex justify="between">
54
+ <Body>Buccaneers</Body>
55
+ <Body>20</Body>
56
+ </Flex>
179
57
  </Layout.Game>
180
58
  <Layout.Game>
181
- <Layout.Participant
182
- avatar={teamData.chiefs.avatar}
183
- name={teamData.chiefs.name}
184
- points=""
185
- rank={teamData.chiefs.rank}
186
- territory={teamData.chiefs.territory}
187
- winner
188
- />
189
- <Layout.Participant
190
- avatar={teamData.bye.avatar}
191
- name={teamData.bye.name}
192
- points=""
193
- rank={teamData.bye.rank}
194
- territory={teamData.bye.territory}
195
- />
59
+ <Flex justify="between">
60
+ <Body><strong>Chiefs</strong></Body>
61
+ </Flex>
62
+ <Flex justify="between">
63
+ <Body>BYE</Body>
64
+ </Flex>
196
65
  </Layout.Game>
197
66
  <Layout.Game>
198
- <Layout.Participant
199
- avatar={teamData.chargers.avatar}
200
- name={teamData.chargers.name}
201
- points="12"
202
- rank={teamData.chargers.rank}
203
- territory={teamData.chargers.territory}
204
- />
205
- <Layout.Participant
206
- avatar={teamData.texans.avatar}
207
- name={teamData.texans.name}
208
- points="32"
209
- rank={teamData.texans.rank}
210
- territory={teamData.texans.territory}
211
- winner
212
- />
67
+ <Flex justify="between">
68
+ <Body>Chargers</Body>
69
+ <Body>12</Body>
70
+ </Flex>
71
+ <Flex justify="between">
72
+ <Body><strong>Texans</strong></Body>
73
+ <Body>32</Body>
74
+ </Flex>
213
75
  </Layout.Game>
214
76
  <Layout.Game>
215
- <Layout.Participant
216
- avatar={teamData.broncos.avatar}
217
- name={teamData.broncos.name}
218
- points="7"
219
- rank={teamData.broncos.rank}
220
- territory={teamData.broncos.territory}
221
- />
222
- <Layout.Participant
223
- avatar={teamData.bills.avatar}
224
- name={teamData.bills.name}
225
- points="31"
226
- rank={teamData.bills.rank}
227
- territory={teamData.bills.territory}
228
- winner
229
- />
77
+ <Flex justify="between">
78
+ <Body>Broncos</Body>
79
+ <Body>7</Body>
80
+ </Flex>
81
+ <Flex justify="between">
82
+ <Body><strong>Bills</strong></Body>
83
+ <Body>31</Body>
84
+ </Flex>
230
85
  </Layout.Game>
231
86
  <Layout.Game>
232
- <Layout.Participant
233
- avatar={teamData.steelers.avatar}
234
- name={teamData.steelers.name}
235
- points="14"
236
- rank={teamData.steelers.rank}
237
- territory={teamData.steelers.territory}
238
- />
239
- <Layout.Participant
240
- avatar={teamData.ravens.avatar}
241
- name={teamData.ravens.name}
242
- points="28"
243
- rank={teamData.ravens.rank}
244
- territory={teamData.ravens.territory}
245
- winner
246
- />
87
+ <Flex justify="between">
88
+ <Body>Steelers</Body>
89
+ <Body>14</Body>
90
+ </Flex>
91
+ <Flex justify="between">
92
+ <Body><strong>Ravens</strong></Body>
93
+ <Body>28</Body>
94
+ </Flex>
247
95
  </Layout.Game>
248
96
  </Layout.Round>
249
97
  <Layout.RoundLabel>
@@ -252,73 +100,44 @@ const LayoutBracket = () => {
252
100
  </Layout.RoundLabel>
253
101
  <Layout.Round marginBottom={{ xs: "md", sm: "md" }}>
254
102
  <Layout.Game>
255
- <Layout.Participant
256
- avatar={teamData.rams.avatar}
257
- name={teamData.rams.name}
258
- points="22"
259
- rank={teamData.rams.rank}
260
- territory={teamData.rams.territory}
261
- />
262
- <Layout.Participant
263
- avatar={teamData.eagles.avatar}
264
- name={teamData.eagles.name}
265
- points="28"
266
- rank={teamData.eagles.rank}
267
- self
268
- territory={teamData.eagles.territory}
269
- winner
270
- />
103
+ <Flex justify="between">
104
+ <Body>Rams</Body>
105
+ <Body>22</Body>
106
+ </Flex>
107
+ <Flex justify="between">
108
+ <Body><strong>Eagles</strong></Body>
109
+ <Body>28</Body>
110
+ </Flex>
271
111
  </Layout.Game>
272
112
  <Layout.Game>
273
- <Layout.Participant
274
- avatar={teamData.commanders.avatar}
275
- name={teamData.commanders.name}
276
- points="45"
277
- rank={teamData.commanders.rank}
278
- territory={teamData.commanders.territory}
279
- winner
280
- />
281
- <Layout.Participant
282
- avatar={teamData.lions.avatar}
283
- name={teamData.lions.name}
284
- points="31"
285
- rank={teamData.lions.rank}
286
- territory={teamData.lions.territory}
287
- />
113
+ <Flex justify="between">
114
+ <Body><strong>Commanders</strong></Body>
115
+ <Body>45</Body>
116
+ </Flex>
117
+ <Flex justify="between">
118
+ <Body>Lions</Body>
119
+ <Body>31</Body>
120
+ </Flex>
288
121
  </Layout.Game>
289
122
  <Layout.Game>
290
- <Layout.Participant
291
- avatar={teamData.texans.avatar}
292
- name={teamData.texans.name}
293
- points="14"
294
- rank={teamData.texans.rank}
295
- territory={teamData.texans.territory}
296
- />
297
- <Layout.Participant
298
- avatar={teamData.chiefs.avatar}
299
- name={teamData.chiefs.name}
300
- points="23"
301
- rank={teamData.chiefs.rank}
302
- territory={teamData.chiefs.territory}
303
- winner
304
- />
123
+ <Flex justify="between">
124
+ <Body>Texans</Body>
125
+ <Body>14</Body>
126
+ </Flex>
127
+ <Flex justify="between">
128
+ <Body><strong>Chiefs</strong></Body>
129
+ <Body>23</Body>
130
+ </Flex>
305
131
  </Layout.Game>
306
132
  <Layout.Game>
307
- <Layout.Participant
308
- avatar={teamData.ravens.avatar}
309
- name={teamData.ravens.name}
310
- points="25"
311
- rank={teamData.ravens.rank}
312
- territory={teamData.ravens.territory}
313
- />
314
- <Layout.Participant
315
- avatar={teamData.bills.avatar}
316
- name={teamData.bills.name}
317
- points="27"
318
- rank={teamData.bills.rank}
319
- territory={teamData.bills.territory}
320
- winner
321
- />
133
+ <Flex justify="between">
134
+ <Body>Ravens</Body>
135
+ <Body>25</Body>
136
+ </Flex>
137
+ <Flex justify="between">
138
+ <Body><strong>Bills</strong></Body>
139
+ <Body>27</Body>
140
+ </Flex>
322
141
  </Layout.Game>
323
142
  </Layout.Round>
324
143
  <Layout.RoundLabel>
@@ -327,39 +146,24 @@ const LayoutBracket = () => {
327
146
  </Layout.RoundLabel>
328
147
  <Layout.Round marginBottom={{ xs: "md", sm: "md" }}>
329
148
  <Layout.Game>
330
- <Layout.Participant
331
- avatar={teamData.commanders.avatar}
332
- name={teamData.commanders.name}
333
- points="23"
334
- rank={teamData.commanders.rank}
335
- territory={teamData.commanders.territory}
336
- />
337
- <Layout.Participant
338
- avatar={teamData.eagles.avatar}
339
- name={teamData.eagles.name}
340
- points="55"
341
- rank={teamData.eagles.rank}
342
- self
343
- territory={teamData.eagles.territory}
344
- winner
345
- />
149
+ <Flex justify="between">
150
+ <Body>Commanders</Body>
151
+ <Body>23</Body>
152
+ </Flex>
153
+ <Flex justify="between">
154
+ <Body><strong>Eagles</strong></Body>
155
+ <Body>55</Body>
156
+ </Flex>
346
157
  </Layout.Game>
347
158
  <Layout.Game>
348
- <Layout.Participant
349
- avatar={teamData.bills.avatar}
350
- name={teamData.bills.name}
351
- points="29"
352
- rank={teamData.bills.rank}
353
- territory={teamData.bills.territory}
354
- />
355
- <Layout.Participant
356
- avatar={teamData.chiefs.avatar}
357
- name={teamData.chiefs.name}
358
- points="32"
359
- rank={teamData.chiefs.rank}
360
- territory={teamData.chiefs.territory}
361
- winner
362
- />
159
+ <Flex justify="between">
160
+ <Body>Bills</Body>
161
+ <Body>29</Body>
162
+ </Flex>
163
+ <Flex justify="between">
164
+ <Body><strong>Chiefs</strong></Body>
165
+ <Body>32</Body>
166
+ </Flex>
363
167
  </Layout.Game>
364
168
  </Layout.Round>
365
169
  <Layout.RoundLabel>
@@ -368,22 +172,14 @@ const LayoutBracket = () => {
368
172
  </Layout.RoundLabel>
369
173
  <Layout.Round>
370
174
  <Layout.Game>
371
- <Layout.Participant
372
- avatar={teamData.chiefs.avatar}
373
- name={teamData.chiefs.name}
374
- points="22"
375
- rank={teamData.chiefs.rank}
376
- territory={teamData.chiefs.territory}
377
- />
378
- <Layout.Participant
379
- avatar={teamData.eagles.avatar}
380
- name={teamData.eagles.name}
381
- points="40"
382
- rank={teamData.eagles.rank}
383
- self
384
- territory={teamData.eagles.territory}
385
- winner
386
- />
175
+ <Flex justify="between">
176
+ <Body>Chiefs</Body>
177
+ <Body>22</Body>
178
+ </Flex>
179
+ <Flex justify="between">
180
+ <Body><strong>Eagles</strong></Body>
181
+ <Body>40</Body>
182
+ </Flex>
387
183
  </Layout.Game>
388
184
  </Layout.Round>
389
185
  </Layout>
@@ -1,4 +1,4 @@
1
- Use `<Layout.RoundLabel>`, `<Layout.Round>`, `<Layout.Game>`, and/or `<Layout.Participant>` to make a bracket layout. Feel free to use custom components in place of the template components based on your needs.
1
+ Use `<Layout.RoundLabel>`, `<Layout.Round>`, and `<Layout.Game>` to make a bracket layout.
2
2
 
3
3
  On mobile devices, `<Layout.RoundLabel>` will display (on desktop these components are hidden) and the bracket will be in one column.
4
4
 
@@ -5,110 +5,79 @@ import { GlobalProps, globalProps, globalInlineProps } from '../../utilities/glo
5
5
 
6
6
  import Card from '../../pb_card/_card'
7
7
  import SectionSeparator from '../../pb_section_separator/_section_separator'
8
- import Body from '../../pb_body/_body'
9
- import Flex from '../../pb_flex/_flex'
10
8
 
11
9
  type LayoutGameProps = {
12
10
  children: React.ReactNode[] | React.ReactNode,
13
11
  className?: string,
14
12
  numberOfRounds: number,
15
13
  numberOfGames: number,
16
- lastRoundWithSelf?: number,
17
14
  isOdd: boolean,
18
15
  } & GlobalProps
19
16
 
20
17
  // Game component (modeled after Item)
21
18
  const Game = (props: LayoutGameProps) => {
22
- const { children, className, numberOfRounds, numberOfGames, isOdd, lastRoundWithSelf } = props
19
+ const { children, className, numberOfRounds, numberOfGames, isOdd } = props
23
20
  const dynamicInlineProps = globalInlineProps(props)
24
-
21
+
25
22
  const numberOfChildren = Array.isArray(children) ? children.length : 0
26
-
23
+
27
24
  const isMultiple = Array.isArray(children)
28
-
25
+
29
26
  let ratio = 0
30
27
  let exponent
31
- let currentRound = numberOfRounds
32
28
  if (numberOfGames > 1) {
33
29
  exponent = (numberOfRounds) - Math.log2(numberOfGames) - 1
34
30
  ratio = 2 ** exponent
35
-
36
- currentRound = exponent + 1
37
31
  }
38
-
39
- let hasWinner = false
40
- const hasLastWinnerAndSelf = lastRoundWithSelf === currentRound
32
+
41
33
  if (numberOfChildren === 2) {
42
- const [firstChildWithoutProps, secondChildWithoutProps] = React.Children.toArray(children)
43
-
44
- const firstChild = React.isValidElement(firstChildWithoutProps) ? React.cloneElement(firstChildWithoutProps, { hasLastWinnerAndSelf }) : firstChildWithoutProps
45
- const secondChild = React.isValidElement(secondChildWithoutProps) ? React.cloneElement(secondChildWithoutProps, { hasLastWinnerAndSelf }) : secondChildWithoutProps
46
-
47
- if (React.isValidElement(firstChild) && React.isValidElement(secondChild)) {
48
- if (
49
- firstChild?.props && typeof firstChild.props === 'object' && 'winner' in firstChild.props ||
50
- secondChild?.props && typeof secondChild.props === 'object' && 'winner' in secondChild.props
51
- ) {
52
- hasWinner = true
53
- }
54
- return (
55
- <div
56
- className={classnames('layout_game', globalProps(props), className)}
57
- style={dynamicInlineProps}
34
+ const [firstChild, secondChild] = React.Children.toArray(children)
35
+
36
+ if (React.isValidElement(firstChild) && React.isValidElement(secondChild)) {
37
+ return (
38
+ <div
39
+ className={classnames('layout_game', globalProps(props), className)}
40
+ style={dynamicInlineProps}
41
+ >
42
+ <Card
43
+ marginY="xs"
44
+ padding="none"
45
+ shadow="deep"
58
46
  >
59
- <Card
60
- marginY="xs"
61
- overflow="hidden"
62
- padding="none"
63
- shadow="deep"
64
- >
65
- <Card.Body padding="none">{firstChild}</Card.Body>
66
- <SectionSeparator className="game_separator"/>
67
- <Card.Body padding="none">{secondChild}</Card.Body>
68
- </Card>
69
- {isOdd && numberOfGames > 1 &&
70
- <div
71
- className="half_box"
72
- style={{ height: `calc(${ratio} * 100% + 4px)` }}
73
- />
74
- }
75
- {numberOfGames > 1 && hasWinner &&
76
- <div className="polygon_node" />
77
- }
78
- </div>
47
+ <Card.Body padding="xs">{firstChild}</Card.Body>
48
+ <SectionSeparator />
49
+ <Card.Body padding="xs">{secondChild}</Card.Body>
50
+ </Card>
51
+ {isOdd && numberOfGames > 1 &&
52
+ <div
53
+ className="half_box"
54
+ style={{ height: `calc(${ratio} * 100% + 4px)` }}
55
+ />
56
+ }
57
+ </div>
79
58
  )
80
59
  }
81
60
  }
82
-
61
+
83
62
  return (
84
63
  <div
85
64
  className={classnames('layout_game', globalProps(props), className)}
86
65
  style={dynamicInlineProps}
87
66
  >
88
- {((!isMultiple && children) || numberOfChildren >= 1) ? (
89
- children
90
- ) : (
91
- <div className="layout_tbd">
92
- <Card
93
- marginY="xs"
94
- padding="none"
95
- shadow="deep"
96
- >
97
- <Card.Body padding="xs">
98
- <Body color="light">
99
- To be determined...
100
- </Body>
101
- </Card.Body>
102
- <SectionSeparator className="game_separator"/>
103
- <Card.Body padding="xs">
104
- <Body color="light">
105
- To be determined...
106
- </Body>
107
- </Card.Body>
108
- </Card>
109
- </div>
110
- )}
111
- {isOdd && numberOfGames > 1 &&
67
+ {((!isMultiple && children) || numberOfChildren >= 1 )? (
68
+ children
69
+ ) : (
70
+ <Card
71
+ marginY="xs"
72
+ padding="none"
73
+ shadow="deep"
74
+ >
75
+ <Card.Body padding="xs">To be determined...</Card.Body>
76
+ <SectionSeparator />
77
+ <Card.Body padding="xs">To be determined...</Card.Body>
78
+ </Card>
79
+ )}
80
+ {isOdd && numberOfGames > 1 &&
112
81
  <div
113
82
  className="half_box"
114
83
  style={{ height: `calc(${ratio} * 100% + 4px)` }}