playbook_ui_docs 14.17.0.pre.rc.1 → 14.18.0.pre.alpha.play2034zonesandcolors7407

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 (136) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expand_by_depth.jsx +66 -0
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expand_by_depth.md +10 -0
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_fullscreen.jsx +90 -0
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_fullscreen.md +3 -0
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns.jsx +58 -0
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns.md +6 -0
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns_and_header.jsx +64 -0
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_columns_and_header.md +8 -0
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header.jsx +55 -0
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header.md +3 -0
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header_rails.html.erb +33 -0
  13. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sticky_header_rails.md +3 -0
  14. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.html.erb +1 -1
  15. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx +1 -2
  16. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_rails.md +2 -2
  17. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_react.md +1 -1
  18. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_rails.md +6 -2
  19. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_react.md +6 -2
  20. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +9 -3
  21. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +6 -1
  22. data/app/pb_kits/playbook/pb_background/docs/_background_overlay.jsx +35 -0
  23. data/app/pb_kits/playbook/pb_background/docs/_background_overlay.md +1 -0
  24. data/app/pb_kits/playbook/pb_background/docs/example.yml +1 -0
  25. data/app/pb_kits/playbook/pb_background/docs/index.js +1 -0
  26. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.html.erb +2 -2
  27. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +1 -1
  28. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.html.erb +1 -1
  29. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +1 -1
  30. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.html.erb +1 -1
  31. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_custom_tooltip.jsx +1 -1
  32. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.html.erb +1 -1
  33. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +1 -1
  34. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.html.erb +1 -1
  35. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_legend_position.jsx +1 -1
  36. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +2 -2
  37. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.jsx +38 -0
  38. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_pb_styles.md +1 -0
  39. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.html.erb +1 -1
  40. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +1 -1
  41. data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +2 -3
  42. data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +2 -1
  43. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_size.html.erb +28 -0
  44. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_size.jsx +42 -0
  45. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_size.md +1 -0
  46. data/app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml +2 -0
  47. data/app/pb_kits/playbook/pb_circle_icon_button/docs/index.js +1 -0
  48. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_hook.jsx +54 -0
  49. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_hook.md +3 -0
  50. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_hook_rails.html.erb +14 -0
  51. data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_hook_rails.md +3 -0
  52. data/app/pb_kits/playbook/pb_copy_button/docs/example.yml +2 -0
  53. data/app/pb_kits/playbook/pb_copy_button/docs/index.js +2 -1
  54. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.jsx +4 -1
  55. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_turbo_frames.html.erb +117 -0
  56. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_turbo_frames_rails.md +9 -0
  57. data/app/pb_kits/playbook/pb_dialog/docs/example.yml +1 -0
  58. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones.html.erb +43 -0
  59. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones.jsx +102 -105
  60. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_colors.html.erb +55 -0
  61. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_colors.jsx +50 -48
  62. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_colors_rails.md +1 -0
  63. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_colors_react.md +1 -0
  64. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_line.jsx +110 -0
  65. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_line.md +5 -0
  66. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_react.md +5 -0
  67. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_event_listeners.html.erb +42 -0
  68. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_event_listeners.md +1 -0
  69. data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_with_table_react.jsx → _draggable_with_table.jsx} +1 -1
  70. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.md +3 -1
  71. data/app/pb_kits/playbook/pb_draggable/docs/example.yml +12 -7
  72. data/app/pb_kits/playbook/pb_draggable/docs/index.js +4 -1
  73. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_error.jsx +4 -1
  74. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.jsx +6 -6
  75. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_and_custom_display.jsx +6 -6
  76. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.jsx +6 -6
  77. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display_rails.html.erb +8 -8
  78. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.html.erb +15 -5
  79. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.jsx +39 -6
  80. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.jsx +30 -0
  81. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_pb_styles.md +1 -0
  82. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +1 -0
  83. data/app/pb_kits/playbook/pb_gauge/docs/index.js +1 -0
  84. data/app/pb_kits/playbook/pb_layout/docs/_layout_bracket.jsx +394 -0
  85. data/app/pb_kits/playbook/pb_layout/docs/_layout_bracket.md +5 -0
  86. data/app/pb_kits/playbook/pb_layout/docs/example.yml +1 -0
  87. data/app/pb_kits/playbook/pb_layout/docs/index.js +1 -0
  88. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_color.jsx +63 -0
  89. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_color.md +3 -0
  90. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_default.md +1 -7
  91. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_fullscreen_background.jsx +49 -0
  92. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_fullscreen_background.md +1 -0
  93. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_fullscreen_opacity.jsx +81 -0
  94. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_fullscreen_opacity.md +1 -0
  95. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_gradient_opacity.jsx +39 -0
  96. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_gradient_opacity.md +1 -0
  97. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_layout.jsx +40 -0
  98. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_layout.md +5 -0
  99. data/app/pb_kits/playbook/pb_overlay/docs/example.yml +5 -0
  100. data/app/pb_kits/playbook/pb_overlay/docs/index.js +5 -0
  101. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.jsx +8 -1
  102. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_vertical.md +1 -0
  103. data/app/pb_kits/playbook/pb_select/docs/_select_error.jsx +7 -2
  104. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows.md +3 -1
  105. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows_rails.md +3 -1
  106. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table.md +3 -1
  107. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.md +3 -1
  108. data/app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless.html.erb +34 -0
  109. data/app/pb_kits/playbook/pb_table/docs/_table_with_header_style_borderless_rails.md +1 -0
  110. data/app/pb_kits/playbook/pb_table/docs/_table_with_header_style_floating.html.erb +36 -0
  111. data/app/pb_kits/playbook/pb_table/docs/_table_with_header_style_floating_rails.md +1 -0
  112. data/app/pb_kits/playbook/pb_table/docs/_table_with_header_style_floating_react.md +1 -1
  113. data/app/pb_kits/playbook/pb_table/docs/example.yml +2 -0
  114. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_error.jsx +9 -1
  115. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_sanitize.jsx +94 -0
  116. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_sanitize.md +1 -0
  117. data/app/pb_kits/playbook/pb_text_input/docs/example.yml +2 -0
  118. data/app/pb_kits/playbook/pb_text_input/docs/index.js +1 -0
  119. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_error.jsx +7 -1
  120. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.jsx +6 -2
  121. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_highlight.jsx +4 -4
  122. data/dist/playbook-doc.js +19 -1
  123. metadata +69 -16
  124. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones.md +0 -5
  125. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_colors.md +0 -1
  126. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_default_rails.html.erb → _draggable_default.html.erb} +0 -0
  127. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_default.md → _draggable_default_react.md} +0 -0
  128. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_multiple_containers_rails.html.erb → _draggable_multiple_containers.html.erb} +0 -0
  129. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_multiple_containers.md → _draggable_multiple_containers_react.md} +0 -0
  130. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_with_cards_rails.html.erb → _draggable_with_cards.html.erb} +0 -0
  131. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_with_cards.md → _draggable_with_cards_react.md} +0 -0
  132. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_with_list_rails.html.erb → _draggable_with_list.html.erb} +0 -0
  133. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_with_list.md → _draggable_with_list_react.md} +0 -0
  134. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_with_selectable_list_rails.html.erb → _draggable_with_selectable_list.html.erb} +0 -0
  135. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_with_selectable_list.md → _draggable_with_selectable_list_react.md} +0 -0
  136. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_with_table.md → _draggable_with_table_rails.md} +0 -0
@@ -0,0 +1,394 @@
1
+ import React from 'react'
2
+
3
+ import Layout from '../../pb_layout/_layout'
4
+ import Caption from '../../pb_caption/_caption'
5
+ import SectionSeparator from '../../pb_section_separator/_section_separator'
6
+
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
+ const LayoutBracket = () => {
101
+ return (
102
+ <div>
103
+ <Layout
104
+ layout="bracket"
105
+ >
106
+ <Layout.RoundLabel>
107
+ <Caption>Wild Card</Caption>
108
+ <SectionSeparator marginY="sm"/>
109
+ </Layout.RoundLabel>
110
+ <Layout.Round marginBottom={{ xs: "md", sm: "md" }}>
111
+ <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
+ />
128
+ </Layout.Game>
129
+ <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
+ />
145
+ </Layout.Game>
146
+ <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
+ />
162
+ </Layout.Game>
163
+ <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
+ />
179
+ </Layout.Game>
180
+ <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
+ />
196
+ </Layout.Game>
197
+ <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
+ />
213
+ </Layout.Game>
214
+ <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
+ />
230
+ </Layout.Game>
231
+ <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
+ />
247
+ </Layout.Game>
248
+ </Layout.Round>
249
+ <Layout.RoundLabel>
250
+ <Caption>Divisional</Caption>
251
+ <SectionSeparator marginY="sm"/>
252
+ </Layout.RoundLabel>
253
+ <Layout.Round marginBottom={{ xs: "md", sm: "md" }}>
254
+ <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
+ />
271
+ </Layout.Game>
272
+ <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
+ />
288
+ </Layout.Game>
289
+ <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
+ />
305
+ </Layout.Game>
306
+ <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
+ />
322
+ </Layout.Game>
323
+ </Layout.Round>
324
+ <Layout.RoundLabel>
325
+ <Caption>Conference</Caption>
326
+ <SectionSeparator marginY="sm"/>
327
+ </Layout.RoundLabel>
328
+ <Layout.Round marginBottom={{ xs: "md", sm: "md" }}>
329
+ <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
+ />
346
+ </Layout.Game>
347
+ <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
+ />
363
+ </Layout.Game>
364
+ </Layout.Round>
365
+ <Layout.RoundLabel>
366
+ <Caption>Super Bowl</Caption>
367
+ <SectionSeparator marginY="sm"/>
368
+ </Layout.RoundLabel>
369
+ <Layout.Round>
370
+ <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
+ />
387
+ </Layout.Game>
388
+ </Layout.Round>
389
+ </Layout>
390
+ </div>
391
+ )
392
+ }
393
+
394
+ export default LayoutBracket
@@ -0,0 +1,5 @@
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.
2
+
3
+ On mobile devices, `<Layout.RoundLabel>` will display (on desktop these components are hidden) and the bracket will be in one column.
4
+
5
+ Ensure that each `<Layout.Game>` maintains a consistent height for the bracket lines to lay out properly.
@@ -18,4 +18,5 @@ examples:
18
18
  - layout_kanban: Kanban Layout
19
19
  - layout_content: Content Layout
20
20
  - layout_masonry: Masonry Layout
21
+ - layout_bracket: Bracket Layout
21
22
 
@@ -7,4 +7,5 @@ export { default as LayoutKanbanResponsive } from './_layout_kanban_responsive.j
7
7
  export { default as LayoutCollectionDetail } from './_layout_collection_detail.jsx'
8
8
  export { default as LayoutContent } from './_layout_content.jsx'
9
9
  export { default as LayoutMasonry } from './_layout_masonry.jsx'
10
+ export { default as LayoutBracket } from './_layout_bracket.jsx'
10
11
 
@@ -0,0 +1,63 @@
1
+ import React from 'react'
2
+
3
+ import Overlay from '../../pb_overlay/_overlay'
4
+ import Image from '../../pb_image/_image'
5
+ import Flex from '../../pb_flex/_flex'
6
+
7
+ const OverlayColor = () => (
8
+ <Flex
9
+ justify="around"
10
+ wrap
11
+ >
12
+ <Overlay
13
+ color="black"
14
+ marginBottom="xxs"
15
+ >
16
+ <Image
17
+ alt="picture of a misty forest"
18
+ display="block"
19
+ size="xl"
20
+ url="https://unsplash.it/500/400/?image=634"
21
+ />
22
+ </Overlay>
23
+ <Overlay
24
+ color="black"
25
+ gradient={false}
26
+ marginBottom="xxs"
27
+ opacity="opacity_4"
28
+ >
29
+ <Image
30
+ alt="picture of a misty forest"
31
+ display="block"
32
+ size="xl"
33
+ url="https://unsplash.it/500/400/?image=634"
34
+ />
35
+ </Overlay>
36
+ <Overlay
37
+ color="error"
38
+ marginBottom="xxs"
39
+ >
40
+ <Image
41
+ alt="picture of a misty forest"
42
+ display="block"
43
+ size="xl"
44
+ url="https://unsplash.it/500/400/?image=634"
45
+ />
46
+ </Overlay>
47
+ <Overlay
48
+ color="error"
49
+ gradient={false}
50
+ marginBottom="xxs"
51
+ opacity="opacity_4"
52
+ >
53
+ <Image
54
+ alt="picture of a misty forest"
55
+ display="block"
56
+ size="xl"
57
+ url="https://unsplash.it/500/400/?image=634"
58
+ />
59
+ </Overlay>
60
+ </Flex>
61
+ )
62
+
63
+ export default OverlayColor
@@ -0,0 +1,3 @@
1
+ The `color` prop is used to change the color of the solid or gradient mask. Gradient overlays always start opaque and fade to transparent.
2
+
3
+ NOTE: Images are set to `display: block` to remove the default inline spacing caused by line height. This ensures the image fully fills the container without unexpected gaps.
@@ -1,7 +1 @@
1
- Overlays optionally accept a `color`, which sets the "start" (opaque) color of a gradient mask. Because this overlay is intended to reveal underlying content, the "end" color is fixed to transparent.
2
-
3
- The optional `layout` prop accepts the `position` and `size` of the overlay as a key:value pair.
4
-
5
- The `position` key accepts `bottom` (default), `top`, `y` (for both top and bottom) `right`, `left`, or `x` (for both left and right), which sets the side(s) where the `color` overlay starts. The direction of the overlay is always toward the opposite side of the position. For example, the default position of `bottom` starts the overlay on the bottom edge of your container and extends it toward the opposite side: the top.
6
-
7
- The `size` value is `full` (100%) by default, but accepts our [spacing tokens](https://playbook.powerapp.cloud/visual_guidelines/spacing) or a percentage value as a string, and literally translates to how much of the container is covered by the overlay(s).
1
+ Overlays help shift focus by dimming or masking background content. This kit supports gradient and solid color modes, with adjustable opacity to suit the context.
@@ -0,0 +1,49 @@
1
+ import React, { useState } from 'react'
2
+ import Overlay from '../../pb_overlay/_overlay'
3
+ import Button from '../../pb_button/_button'
4
+ import FixedConfirmationToast from '../../pb_fixed_confirmation_toast/_fixed_confirmation_toast'
5
+
6
+ const OverlayFullscreenBackground = () => {
7
+ const [openBackground, setOpenBackground] = useState(false)
8
+
9
+ const handleClickBackground = () => {
10
+ setOpenBackground(true)
11
+ }
12
+
13
+ const handleCloseBackground = () => {
14
+ setOpenBackground(false)
15
+ }
16
+
17
+ return (
18
+ <>
19
+ <div>
20
+ <Button
21
+ onClick={handleClickBackground}
22
+ text="Background Dark"
23
+ variant="secondary"
24
+ />
25
+
26
+ {openBackground && (
27
+ <Overlay
28
+ color="bg_dark"
29
+ fullScreen
30
+ gradient={false}
31
+ opacity="opacity_4"
32
+ >
33
+ <FixedConfirmationToast
34
+ closeable
35
+ horizontal='center'
36
+ onClose={handleCloseBackground}
37
+ open={openBackground}
38
+ status="tip"
39
+ text='Fullscreen Overlay with color set to Background Dark.'
40
+ vertical='top'
41
+ />
42
+ </Overlay>
43
+ )}
44
+ </div>
45
+ </>
46
+ )
47
+ }
48
+
49
+ export default OverlayFullscreenBackground
@@ -0,0 +1 @@
1
+ The `fullScreen` prop also allows you to use `color` along with it.
@@ -0,0 +1,81 @@
1
+ import React, { useState } from 'react'
2
+
3
+ import Overlay from '../../pb_overlay/_overlay'
4
+ import Button from '../../pb_button/_button'
5
+ import FixedConfirmationToast from '../../pb_fixed_confirmation_toast/_fixed_confirmation_toast'
6
+
7
+ const OverlayFullscreenOpacity = () => {
8
+ const [openOpacity40, setOpenOpacity40] = useState(false)
9
+ const [openOpacity80, setOpenOpacity80] = useState(false)
10
+
11
+ const handleClickOpacity40 = () => {
12
+ setOpenOpacity40(true)
13
+ }
14
+ const handleCloseOpacity40 = () => {
15
+ setOpenOpacity40(false)
16
+ }
17
+
18
+ const handleClickOpacity80 = () => {
19
+ setOpenOpacity80(true)
20
+ }
21
+ const handleCloseOpacity80 = () => {
22
+ setOpenOpacity80(false)
23
+ }
24
+
25
+ return (
26
+ <>
27
+ <div>
28
+ <Button
29
+ onClick={handleClickOpacity40}
30
+ text="40% Opacity"
31
+ variant="secondary"
32
+ />
33
+ {' '}
34
+ <Button
35
+ onClick={handleClickOpacity80}
36
+ text="80% Opacity"
37
+ variant="secondary"
38
+ />
39
+
40
+ {openOpacity40 && (
41
+ <Overlay
42
+ fullScreen
43
+ gradient={false}
44
+ opacity="opacity_4"
45
+ >
46
+ <FixedConfirmationToast
47
+ closeable
48
+ horizontal='center'
49
+ onClose={handleCloseOpacity40}
50
+ open={openOpacity40}
51
+ status="tip"
52
+ text='Fullscreen Overlay at 40% Opacity.'
53
+ vertical='top'
54
+ />
55
+ </Overlay>
56
+ )}
57
+
58
+ {openOpacity80 && (
59
+ <Overlay
60
+ fullScreen
61
+ gradient={false}
62
+ opacity="opacity_8"
63
+ >
64
+ <FixedConfirmationToast
65
+ closeable
66
+ display="block"
67
+ horizontal='center'
68
+ onClose={handleCloseOpacity80}
69
+ open={openOpacity80}
70
+ status="tip"
71
+ text='Fullscreen Overlay at 80% Opacity.'
72
+ vertical='top'
73
+ />
74
+ </Overlay>
75
+ )}
76
+ </div>
77
+ </>
78
+ )
79
+ }
80
+
81
+ export default OverlayFullscreenOpacity
@@ -0,0 +1 @@
1
+ To enable the overlay to cover the full size of your screen, you can pass the `fullScreen` prop. You can also pass an opacity along with it.
@@ -0,0 +1,39 @@
1
+ import React from 'react'
2
+
3
+ import Overlay from '../../pb_overlay/_overlay'
4
+ import Image from '../../pb_image/_image'
5
+ import Flex from '../../pb_flex/_flex'
6
+
7
+ const OverlayGradientOpacity = () => (
8
+ <Flex
9
+ justify="around"
10
+ wrap
11
+ >
12
+ <Overlay
13
+ gradient={false}
14
+ marginBottom="xxs"
15
+ opacity="opacity_2"
16
+ >
17
+ <Image
18
+ alt="picture of a misty forest"
19
+ display="block"
20
+ maxWidth="100%"
21
+ url="https://unsplash.it/500/400/?image=634"
22
+ />
23
+ </Overlay>
24
+ <Overlay
25
+ gradient={false}
26
+ marginBottom="xxs"
27
+ opacity="opacity_8"
28
+ >
29
+ <Image
30
+ alt="picture of a misty forest"
31
+ display="block"
32
+ maxWidth="100%"
33
+ url="https://unsplash.it/500/400/?image=634"
34
+ />
35
+ </Overlay>
36
+ </Flex>
37
+ )
38
+
39
+ export default OverlayGradientOpacity
@@ -0,0 +1 @@
1
+ By default, the overlay is rendered as a gradient. Setting the `gradient` prop to `false` renders the overlay as a solid color. You can adjust the transparency of the solid overlay by using the `opacity` prop.