playbook_ui 4.15.0 → 4.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -1
  3. data/app/pb_kits/playbook/_playbook.scss +7 -1
  4. data/app/pb_kits/playbook/data/menu.yml +5 -1
  5. data/app/pb_kits/playbook/index.js +5 -0
  6. data/app/pb_kits/playbook/packs/examples.js +8 -0
  7. data/app/pb_kits/playbook/packs/samples.js +2 -0
  8. data/app/pb_kits/playbook/packs/site_styles/docs/_markdown.scss +1 -1
  9. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +24 -15
  10. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.jsx +45 -0
  11. data/app/pb_kits/playbook/pb_avatar/docs/example.yml +6 -5
  12. data/app/pb_kits/playbook/pb_avatar/docs/index.js +1 -0
  13. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.html.erb +33 -0
  14. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.jsx +81 -0
  15. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.scss +63 -0
  16. data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.rb +44 -0
  17. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.html.erb +15 -0
  18. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.jsx +19 -0
  19. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.html.erb +8 -0
  20. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.jsx +13 -0
  21. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click.jsx +15 -0
  22. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_onclick.html.erb +14 -0
  23. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.html.erb +27 -0
  24. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.jsx +29 -0
  25. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_tooltip.html.erb +11 -0
  26. data/app/pb_kits/playbook/pb_avatar_action_button/docs/example.yml +16 -0
  27. data/app/pb_kits/playbook/pb_avatar_action_button/docs/index.js +4 -0
  28. data/app/pb_kits/playbook/pb_badge/_badge.jsx +20 -14
  29. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +9 -2
  30. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +5 -1
  31. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.html.erb +2 -2
  32. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_default.jsx +2 -2
  33. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.html.erb +26 -0
  34. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_height.jsx +36 -0
  35. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.html.erb +14 -0
  36. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend.jsx +23 -0
  37. data/app/pb_kits/playbook/pb_bar_graph/docs/_description.md +3 -1
  38. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +4 -0
  39. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +2 -0
  40. data/app/pb_kits/playbook/pb_body/_body.jsx +2 -1
  41. data/app/pb_kits/playbook/pb_body/docs/_body_light.jsx +4 -0
  42. data/app/pb_kits/playbook/pb_button/_button.jsx +2 -1
  43. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +6 -0
  44. data/app/pb_kits/playbook/pb_caption/_caption.jsx +19 -17
  45. data/app/pb_kits/playbook/pb_card/_card.html.erb +1 -1
  46. data/app/pb_kits/playbook/pb_card/_card.jsx +35 -38
  47. data/app/pb_kits/playbook/pb_card/_card.scss +0 -10
  48. data/app/pb_kits/playbook/pb_card/card.rb +9 -3
  49. data/app/pb_kits/playbook/pb_card/card_body.rb +1 -5
  50. data/app/pb_kits/playbook/pb_card/card_header.rb +0 -3
  51. data/app/pb_kits/playbook/pb_card/docs/_card_light.html.erb +2 -1
  52. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +17 -18
  53. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.html.erb +1 -1
  54. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +10 -1
  55. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.rb +3 -1
  56. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.html.erb +11 -0
  57. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.jsx +25 -0
  58. data/app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml +3 -1
  59. data/app/pb_kits/playbook/pb_circle_icon_button/docs/index.js +1 -0
  60. data/app/pb_kits/playbook/pb_contact/_contact.html.erb +16 -3
  61. data/app/pb_kits/playbook/pb_contact/_contact.jsx +58 -34
  62. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.html.erb +1 -1
  63. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.jsx +1 -0
  64. data/app/pb_kits/playbook/pb_currency/_currency.html.erb +7 -9
  65. data/app/pb_kits/playbook/pb_currency/_currency.jsx +37 -21
  66. data/app/pb_kits/playbook/pb_currency/currency.rb +22 -29
  67. data/app/pb_kits/playbook/pb_currency/docs/_currency_dark.html.erb +3 -3
  68. data/app/pb_kits/playbook/pb_currency/docs/_currency_dark.jsx +2 -3
  69. data/app/pb_kits/playbook/pb_currency/docs/_currency_large.jsx +2 -3
  70. data/app/pb_kits/playbook/pb_currency/docs/_currency_medium.jsx +2 -2
  71. data/app/pb_kits/playbook/pb_currency/docs/_currency_small.html.erb +1 -1
  72. data/app/pb_kits/playbook/pb_currency/docs/_currency_small.jsx +5 -2
  73. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +2 -2
  74. data/app/pb_kits/playbook/pb_date/_date.jsx +39 -15
  75. data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +3 -1
  76. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.jsx +43 -37
  77. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_default.jsx +2 -2
  78. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.jsx +6 -16
  79. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +21 -18
  80. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.jsx +30 -33
  81. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +10 -15
  82. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.jsx +8 -8
  83. data/app/pb_kits/playbook/pb_file_upload/_file_upload.jsx +13 -23
  84. data/app/pb_kits/playbook/pb_filter/Filter/FilterBackground.jsx +16 -14
  85. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +13 -12
  86. data/app/pb_kits/playbook/pb_flex/_flex.jsx +35 -20
  87. data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +6 -9
  88. data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +14 -19
  89. data/app/pb_kits/playbook/pb_hashtag/_hashtag.jsx +26 -22
  90. data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +13 -12
  91. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +85 -80
  92. data/app/pb_kits/playbook/pb_icon/_icon.jsx +54 -33
  93. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.jsx +13 -9
  94. data/app/pb_kits/playbook/pb_icon_value/_icon_value.jsx +16 -20
  95. data/app/pb_kits/playbook/pb_image/_image.jsx +12 -10
  96. data/app/pb_kits/playbook/pb_label_pill/_label_pill.html.erb +1 -0
  97. data/app/pb_kits/playbook/pb_label_pill/_label_pill.jsx +49 -14
  98. data/app/pb_kits/playbook/pb_label_pill/docs/_label_pill_default.jsx +50 -0
  99. data/app/pb_kits/playbook/pb_label_pill/docs/example.yml +4 -3
  100. data/app/pb_kits/playbook/pb_label_pill/docs/index.js +1 -0
  101. data/app/pb_kits/playbook/pb_label_pill/label_pill.rb +1 -1
  102. data/app/pb_kits/playbook/pb_label_value/_label_value.html.erb +1 -0
  103. data/app/pb_kits/playbook/pb_label_value/_label_value.jsx +30 -18
  104. data/app/pb_kits/playbook/pb_layout/_layout.jsx +51 -45
  105. data/app/pb_kits/playbook/pb_layout/_layout.scss +76 -57
  106. data/app/pb_kits/playbook/pb_layout/docs/_layout_collection.html.erb +54 -0
  107. data/app/pb_kits/playbook/pb_layout/docs/_layout_collection.jsx +27 -0
  108. data/app/pb_kits/playbook/pb_layout/docs/example.yml +2 -0
  109. data/app/pb_kits/playbook/pb_layout/docs/index.js +1 -0
  110. data/app/pb_kits/playbook/pb_layout/layout.rb +10 -2
  111. data/app/pb_kits/playbook/pb_legend/_legend.jsx +17 -15
  112. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +9 -2
  113. data/app/pb_kits/playbook/pb_line_graph/docs/_description.md +3 -1
  114. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.html.erb +8 -8
  115. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_default.jsx +1 -1
  116. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.html.erb +26 -0
  117. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_height.jsx +35 -0
  118. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.html.erb +15 -0
  119. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +23 -0
  120. data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +5 -1
  121. data/app/pb_kits/playbook/pb_line_graph/docs/index.js +2 -0
  122. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +6 -0
  123. data/app/pb_kits/playbook/pb_list/_list.jsx +24 -21
  124. data/app/pb_kits/playbook/pb_list/docs/_description.md +7 -1
  125. data/app/pb_kits/playbook/pb_list/docs/_list_layout_left.html.erb +8 -0
  126. data/app/pb_kits/playbook/pb_list/docs/_list_layout_right.html.erb +8 -0
  127. data/app/pb_kits/playbook/pb_list/docs/example.yml +2 -0
  128. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.jsx +21 -19
  129. data/app/pb_kits/playbook/pb_logistic/_logistic.html.erb +1 -0
  130. data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +26 -11
  131. data/app/pb_kits/playbook/pb_message/_message.html.erb +1 -0
  132. data/app/pb_kits/playbook/pb_message/_message.jsx +33 -11
  133. data/app/pb_kits/playbook/pb_message/docs/_message_default.jsx +1 -2
  134. data/app/pb_kits/playbook/pb_message/message.rb +1 -1
  135. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.jsx +10 -10
  136. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.jsx +7 -19
  137. data/app/pb_kits/playbook/pb_nav/_nav.jsx +17 -14
  138. data/app/pb_kits/playbook/pb_online_status/_online_status.jsx +5 -13
  139. data/app/pb_kits/playbook/pb_person/_person.html.erb +9 -2
  140. data/app/pb_kits/playbook/pb_person/_person.jsx +36 -18
  141. data/app/pb_kits/playbook/pb_person/docs/_person_default.html.erb +5 -1
  142. data/app/pb_kits/playbook/pb_person_contact/_person_contact.html.erb +1 -0
  143. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +73 -21
  144. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_with_wrong_numbers.jsx +32 -0
  145. data/app/pb_kits/playbook/pb_person_contact/docs/example.yml +2 -0
  146. data/app/pb_kits/playbook/pb_person_contact/docs/index.js +1 -0
  147. data/app/pb_kits/playbook/pb_pill/_pill.jsx +5 -10
  148. data/app/pb_kits/playbook/pb_popover/_popover.jsx +52 -41
  149. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.html.erb +1 -0
  150. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.jsx +41 -13
  151. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +15 -12
  152. data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +17 -10
  153. data/app/pb_kits/playbook/pb_radio/_radio.jsx +3 -1
  154. data/app/pb_kits/playbook/pb_section_separator/_section_separator.html.erb +1 -0
  155. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +30 -15
  156. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text.jsx +3 -1
  157. data/app/pb_kits/playbook/pb_select/_select.jsx +4 -2
  158. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.jsx +12 -7
  159. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.html.erb +30 -0
  160. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.jsx +97 -0
  161. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +74 -0
  162. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_checkmark.html.erb +29 -0
  163. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_checkmark.jsx +41 -0
  164. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_dark.html.erb +30 -0
  165. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_dark.jsx +40 -0
  166. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_default.html.erb +26 -0
  167. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_default.jsx +37 -0
  168. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_single_select.html.erb +27 -0
  169. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_single_select.jsx +40 -0
  170. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/example.yml +16 -0
  171. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/index.js +4 -0
  172. data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.rb +50 -0
  173. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.html.erb +24 -0
  174. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.jsx +107 -0
  175. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +85 -0
  176. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_dark.html.erb +26 -0
  177. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_dark.jsx +43 -0
  178. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_default.html.erb +23 -0
  179. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_default.jsx +40 -0
  180. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_single_select.html.erb +27 -0
  181. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_single_select.jsx +46 -0
  182. data/app/pb_kits/playbook/pb_selectable_icon/docs/example.yml +12 -0
  183. data/app/pb_kits/playbook/pb_selectable_icon/docs/index.js +3 -0
  184. data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb +55 -0
  185. data/app/pb_kits/playbook/pb_source/_source.jsx +113 -13
  186. data/app/pb_kits/playbook/pb_source/docs/_source_default.html.erb +3 -1
  187. data/app/pb_kits/playbook/pb_source/docs/_source_default.jsx +37 -0
  188. data/app/pb_kits/playbook/pb_source/docs/_source_noicon.jsx +40 -0
  189. data/app/pb_kits/playbook/pb_source/docs/_source_types.jsx +85 -0
  190. data/app/pb_kits/playbook/pb_source/docs/example.yml +3 -0
  191. data/app/pb_kits/playbook/pb_source/docs/index.js +5 -0
  192. data/app/pb_kits/playbook/pb_star_rating/_star_rating.html.erb +6 -2
  193. data/app/pb_kits/playbook/pb_star_rating/_star_rating.jsx +98 -13
  194. data/app/pb_kits/playbook/pb_star_rating/docs/_star_rating_default.jsx +28 -0
  195. data/app/pb_kits/playbook/pb_star_rating/docs/_star_rating_hide.jsx +13 -0
  196. data/app/pb_kits/playbook/pb_star_rating/docs/example.yml +2 -1
  197. data/app/pb_kits/playbook/pb_star_rating/docs/index.js +3 -0
  198. data/app/pb_kits/playbook/pb_star_rating/star_rating.rb +2 -1
  199. data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +14 -13
  200. data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +2 -1
  201. data/app/pb_kits/playbook/pb_table/_table.jsx +29 -28
  202. data/app/pb_kits/playbook/pb_table/_table.scss +1 -1
  203. data/app/pb_kits/playbook/pb_table/_table_row.jsx +6 -7
  204. data/app/pb_kits/playbook/pb_table/docs/_table_side_highlight.html.erb +52 -8
  205. data/app/pb_kits/playbook/pb_table/docs/_table_side_highlight.jsx +52 -8
  206. data/app/pb_kits/playbook/pb_table/docs/_table_side_highlight.md +3 -1
  207. data/app/pb_kits/playbook/pb_text_input/_text_input.html.erb +5 -3
  208. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +21 -5
  209. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.html.erb +31 -5
  210. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.jsx +3 -0
  211. data/app/pb_kits/playbook/pb_text_input/text_input.rb +1 -1
  212. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +2 -1
  213. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +38 -18
  214. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +12 -11
  215. data/app/pb_kits/playbook/pb_timeline/_item.html.erb +28 -0
  216. data/app/pb_kits/playbook/pb_timeline/_item.jsx +54 -0
  217. data/app/pb_kits/playbook/pb_timeline/_timeline.html.erb +6 -0
  218. data/app/pb_kits/playbook/pb_timeline/_timeline.jsx +43 -0
  219. data/app/pb_kits/playbook/pb_timeline/_timeline.scss +271 -0
  220. data/app/pb_kits/playbook/pb_timeline/docs/_description.md +3 -0
  221. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_default.html.erb +43 -0
  222. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_default.jsx +73 -0
  223. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_vertical.html.erb +43 -0
  224. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_vertical.jsx +73 -0
  225. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.html.erb +44 -0
  226. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.jsx +85 -0
  227. data/app/pb_kits/playbook/pb_timeline/docs/example.yml +13 -0
  228. data/app/pb_kits/playbook/pb_timeline/docs/index.js +3 -0
  229. data/app/pb_kits/playbook/pb_timeline/item.rb +25 -0
  230. data/app/pb_kits/playbook/pb_timeline/timeline.rb +27 -0
  231. data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +7 -14
  232. data/app/pb_kits/playbook/pb_title/_title.jsx +12 -13
  233. data/app/pb_kits/playbook/pb_title/docs/_title_light.html.erb +1 -1
  234. data/app/pb_kits/playbook/pb_title_count/_title_count.jsx +49 -28
  235. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_align.jsx +31 -0
  236. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_default.jsx +13 -2
  237. data/app/pb_kits/playbook/pb_title_count/docs/example.yml +4 -5
  238. data/app/pb_kits/playbook/pb_title_count/docs/index.js +1 -0
  239. data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +7 -18
  240. data/app/pb_kits/playbook/pb_toggle/_toggle.jsx +9 -11
  241. data/app/pb_kits/playbook/pb_user/_user.jsx +37 -37
  242. data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +7 -7
  243. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.jsx +32 -30
  244. data/app/pb_kits/playbook/plugins/pb_chart.js +4 -0
  245. data/app/pb_kits/playbook/props.rb +48 -0
  246. data/app/pb_kits/playbook/tokens/_colors.scss +3 -3
  247. data/app/pb_kits/playbook/tokens/_spacing.scss +1 -0
  248. data/app/pb_kits/playbook/utilities/_spacing.scss +42 -0
  249. data/app/pb_kits/playbook/utilities/spacing.js +33 -0
  250. data/app/views/playbook/samples/dashboards/index.html.erb +3 -1
  251. data/app/views/playbook/samples/registration/index.html.erb +316 -0
  252. data/app/views/playbook/samples/registration/index.jsx +476 -0
  253. data/lib/playbook/version.rb +1 -1
  254. metadata +88 -4
@@ -0,0 +1,42 @@
1
+ @import "../tokens/spacing";
2
+
3
+ $space_classes: (
4
+ xs: $space_xs,
5
+ sm: $space_sm,
6
+ md: $space_md,
7
+ lg: $space_lg,
8
+ xl: $space_xl,
9
+ none: 0
10
+ );
11
+
12
+ $positions: (
13
+ m: "margin",
14
+ mr: "margin-right",
15
+ ml: "margin-left",
16
+ mt: "margin-top",
17
+ mb: "margin-bottom",
18
+ mx: ("margin-left", "margin-right"),
19
+ my: ("margin-top", "margin-bottom"),
20
+ p: "padding",
21
+ pr: "padding-right",
22
+ pl: "padding-left",
23
+ pt: "padding-top",
24
+ pb: "padding-bottom",
25
+ px: ("padding-left", "padding-right"),
26
+ py: ("padding-top", "padding-bottom")
27
+ );
28
+
29
+ @each $position_name, $position in $positions {
30
+ @each $space_name, $space in $space_classes {
31
+ .#{$position_name}_#{$space_name} {
32
+ @if type-of($position)=="list" {
33
+ @each $coordinate in $position {
34
+ #{$coordinate}: #{$space} !important;
35
+ }
36
+ }
37
+ @else {
38
+ #{$position}: #{$space} !important;
39
+ }
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,33 @@
1
+ export const spacing = ({
2
+ marginRight,
3
+ marginLeft,
4
+ marginTop,
5
+ marginBottom,
6
+ marginX,
7
+ marginY,
8
+ margin,
9
+ paddingRight,
10
+ paddingLeft,
11
+ paddingTop,
12
+ paddingBottom,
13
+ paddingX,
14
+ paddingY,
15
+ padding,
16
+ }) => {
17
+ let css = ''
18
+ css += marginRight ? `mr_${marginRight} ` : ''
19
+ css += marginLeft ? `ml_${marginLeft} ` : ''
20
+ css += marginTop ? `mt_${marginTop} ` : ''
21
+ css += marginBottom ? `mb_${marginBottom} ` : ''
22
+ css += marginX ? `mx_${marginX} ` : ''
23
+ css += marginY ? `my_${marginY} ` : ''
24
+ css += margin ? `m_${margin} ` : ''
25
+ css += paddingRight ? `pr_${paddingRight} ` : ''
26
+ css += paddingLeft ? `pl_${paddingLeft} ` : ''
27
+ css += paddingTop ? `pt_${paddingTop} ` : ''
28
+ css += paddingBottom ? `pb_${paddingBottom} ` : ''
29
+ css += paddingX ? `px_${paddingX} ` : ''
30
+ css += paddingY ? `py_${paddingY} ` : ''
31
+ css += padding ? `p_${padding} ` : ''
32
+ return css
33
+ }
@@ -6,6 +6,7 @@
6
6
  title: "User Experience Designer",
7
7
  orientation: "horizontal",
8
8
  align: "left",
9
+ margin_left: "md",
9
10
  size: "md",
10
11
  avatar_url: "https://s3-hq-f5.powerhrg.com/nitro-production/avatars/55553/badge/business-technology-jonathan-zazula.jpg?AWSAccessKeyId=IWSW00NEQHMEYQTLZ7E9&Signature=S0EN3l5sfIr7yk442Q2MeledXGc%3D&Expires=3161514974"
11
12
  }) %>
@@ -48,7 +49,8 @@
48
49
  id: "bar-test",
49
50
  point_start: 2012,
50
51
  subtitle: 'Source: thesolarfoundation.com',
51
- title: 'Solar Employment Growth by Sector, 2010-2016'
52
+ title: 'Solar Employment Growth by Sector, 2010-2016',
53
+ padding_top: "md"
52
54
  }) %>
53
55
 
54
56
  <% data2 = [{
@@ -0,0 +1,316 @@
1
+ <%= pb_rails("layout", props: {position: "left", size: "lg", collapse: "sm"}) do %>
2
+ <%= pb_rails("layout/sidebar") do %>
3
+ <%= pb_rails("flex", props: {orientation: "column", horizontal: "center", padding: "md"}) do %>
4
+ <%= pb_rails("flex/flex_item") do %>
5
+ <%= pb_rails("title", props: { text: "Design Expo", tag: "h2", size: 3 }) %>
6
+ <% end %>
7
+ <%= pb_rails("flex/flex_item") do %>
8
+ <%= pb_rails("body", props: {
9
+ text: "Annual Conference*",
10
+ color: "light"
11
+ }) %>
12
+ <% end %>
13
+ <% end %>
14
+
15
+ <%= pb_rails("section_separator") %>
16
+ <%= pb_rails("flex", props: {orientation: "column", padding: "md"}) do %>
17
+ <%= pb_rails("flex/flex_item") do %>
18
+ <%= pb_rails("title", props: { text: "Regions", tag: "h4", size: 4, padding_bottom: "sm" }) %>
19
+ <% end %>
20
+
21
+ <%= pb_rails("flex", props: {orientation: "column"}) do %>
22
+ <%= pb_rails("body", props: {classname: "flex-item"}) do %>
23
+ <%= pb_rails("checkbox" , props: {
24
+ text: "North America",
25
+ value: "checkbox-value",
26
+ checked: true,
27
+ name: "checkbox-name",
28
+ padding_left: "sm",
29
+ padding_bottom: "sm"
30
+ }) %>
31
+ <% end %>
32
+ <%= pb_rails("body", props: {classname: "flex-item"}) do %>
33
+ <%= pb_rails("checkbox" , props: {
34
+ text: "Europe",
35
+ value: "checkbox-value",
36
+ checked: true,
37
+ name: "checkbox-name",
38
+ padding_left: "sm",
39
+ padding_bottom: "sm"
40
+ }) %>
41
+ <% end %>
42
+ <% end %>
43
+
44
+
45
+ <%= pb_rails("title", props: { text: "Total Registered", tag: "h4", size: 4, padding_y: "sm" }) %>
46
+
47
+ <%= pb_rails("table", props: { size: "sm", disable_hover: true, padding_bottom: "xs" }) do %>
48
+ <thead>
49
+ <tr>
50
+ <th>Conference</th>
51
+ <th>Total #</th>
52
+ </tr>
53
+ </thead>
54
+ <tbody>
55
+ <tr>
56
+ <td>2020 | SF</td>
57
+ <td>2,391</td>
58
+ </tr>
59
+ <tr>
60
+ <td>2020 | TOR</td>
61
+ <td>3,829</td>
62
+ </tr>
63
+ <tr>
64
+ <td>2019 | AMS</td>
65
+ <td>2,047</td>
66
+ </tr>
67
+ <tr>
68
+ <td>2018 | SF</td>
69
+ <td>1,824</td>
70
+ </tr>
71
+ <tr>
72
+ <td>2017 | LA</td>
73
+ <td>719</td>
74
+ </tr>
75
+ <tr>
76
+ <td>2017 | LDN</td>
77
+ <td>491</td>
78
+ </tr>
79
+ </tbody>
80
+ <% end %>
81
+ <%= pb_rails("caption", props: { text: "*This dashboard includes the last six conferences", size: 'xs' }) %>
82
+ <% end %>
83
+
84
+ <% end %>
85
+
86
+
87
+
88
+ <%= pb_rails("layout/body", props: { padding: "xl" }) do %>
89
+
90
+ <%= pb_rails("title", props: { text: "Registration Dashboard", tag: "h1", size: 3, padding_bottom: "lg" }) %>
91
+
92
+
93
+ <%= pb_rails("flex") do %>
94
+ <%= pb_rails("flex/flex_item", props: {fixed_size: "60%", padding_right: "lg"}) do %>
95
+ <%= pb_rails("card") do %>
96
+ <%= pb_rails("flex", props: {vertical: "bottom", spacing: "around", padding_bottom: "md"}) do %>
97
+ <%= pb_rails("flex/flex_item") do %>
98
+ <%= pb_rails("flex", props: {orientation: "column", horizontal: "center"}) do %>
99
+ <%= pb_rails("flex/flex_item") do %>
100
+ <%= pb_rails("caption", props: { text: "2020 | SF", size: "xs" }) %>
101
+ <% end %>
102
+ <%= pb_rails("flex/flex_item") do %>
103
+ <%= pb_rails("caption", props: { text: "Total Registered" }) %>
104
+ <% end %>
105
+ <%= pb_rails("flex/flex_item") do %>
106
+ <%= pb_rails("title", props: { text: "2,391", tag: "h3", size: 2 }) %>
107
+ <% end %>
108
+ <% end %>
109
+ <% end %>
110
+ <%= pb_rails("section_separator", props: { orientation: "vertical" }) %>
111
+ <%= pb_rails("flex/flex_item") do %>
112
+ <%= pb_rails("flex", props: {orientation: "column", horizontal: "center"}) do %>
113
+ <%= pb_rails("flex/flex_item") do %>
114
+ <%= pb_rails("caption", props: { text: "Graphic" }) %>
115
+ <% end %>
116
+ <%= pb_rails("flex/flex_item") do %>
117
+ <%= pb_rails("title", props: { text: "353", tag: "h3", size: 3 }) %>
118
+ <% end %>
119
+ <% end %>
120
+ <% end %>
121
+ <%= pb_rails("flex/flex_item") do %>
122
+ <%= pb_rails("flex", props: {orientation: "column", horizontal: "center"}) do %>
123
+ <%= pb_rails("flex/flex_item") do %>
124
+ <%= pb_rails("caption", props: { text: "UX/UI" }) %>
125
+ <% end %>
126
+ <%= pb_rails("flex/flex_item") do %>
127
+ <%= pb_rails("title", props: { text: "254", tag: "h3", size: 3 }) %>
128
+ <% end %>
129
+ <% end %>
130
+ <% end %>
131
+ <%= pb_rails("flex/flex_item") do %>
132
+ <%= pb_rails("flex", props: {orientation: "column", horizontal: "center"}) do %>
133
+ <%= pb_rails("flex/flex_item") do %>
134
+ <%= pb_rails("caption", props: { text: "Product" }) %>
135
+ <% end %>
136
+ <%= pb_rails("flex/flex_item") do %>
137
+ <%= pb_rails("title", props: { text: "194", tag: "h3", size: 3 }) %>
138
+ <% end %>
139
+ <% end %>
140
+ <% end %>
141
+ <% end %>
142
+ <%= pb_rails("section_separator") %>
143
+ <%= pb_rails("flex", props: {vertical: "bottom", spacing: "around", padding_top: "sm"}) do %>
144
+ <%= pb_rails("flex/flex_item") do %>
145
+ <%= pb_rails("flex", props: {orientation: "column", horizontal: "center"}) do %>
146
+ <%= pb_rails("flex/flex_item") do %>
147
+ <%= pb_rails("caption", props: { text: "2020 | TOR", size: "xs" }) %>
148
+ <% end %>
149
+ <%= pb_rails("flex/flex_item") do %>
150
+ <%= pb_rails("caption", props: { text: "Total Registered" }) %>
151
+ <% end %>
152
+ <%= pb_rails("flex/flex_item") do %>
153
+ <%= pb_rails("title", props: { text: "3,829", tag: "h3", size: 2 }) %>
154
+ <% end %>
155
+ <% end %>
156
+ <% end %>
157
+ <%= pb_rails("flex/flex_item") do %>
158
+ <%= pb_rails("section_separator", props: { orientation: "vertical" }) %>
159
+ <% end %>
160
+ <%= pb_rails("flex/flex_item") do %>
161
+ <%= pb_rails("flex", props: {orientation: "column", horizontal: "center"}) do %>
162
+ <%= pb_rails("flex/flex_item") do %>
163
+ <%= pb_rails("caption", props: { text: "Graphic" }) %>
164
+ <% end %>
165
+ <%= pb_rails("flex/flex_item") do %>
166
+ <%= pb_rails("title", props: { text: "937", tag: "h3", size: 3 }) %>
167
+ <% end %>
168
+ <% end %>
169
+ <% end %>
170
+ <%= pb_rails("flex/flex_item") do %>
171
+ <%= pb_rails("flex", props: {orientation: "column", horizontal: "center"}) do %>
172
+ <%= pb_rails("flex/flex_item") do %>
173
+ <%= pb_rails("caption", props: { text: "UX/UI" }) %>
174
+ <% end %>
175
+ <%= pb_rails("flex/flex_item") do %>
176
+ <%= pb_rails("title", props: { text: "721", tag: "h3", size: 3 }) %>
177
+ <% end %>
178
+ <% end %>
179
+ <% end %>
180
+ <%= pb_rails("flex/flex_item") do %>
181
+ <%= pb_rails("flex", props: {orientation: "column", horizontal: "center"}) do %>
182
+ <%= pb_rails("flex/flex_item") do %>
183
+ <%= pb_rails("caption", props: { text: "Product" }) %>
184
+ <% end %>
185
+ <%= pb_rails("flex/flex_item") do %>
186
+ <%= pb_rails("title", props: { text: "628", tag: "h3", size: 3 }) %>
187
+ <% end %>
188
+ <% end %>
189
+ <% end %>
190
+ <% end %>
191
+ <% end %>
192
+
193
+ <%= pb_rails("flex", props: {orientation: "column", horizontal: "right", padding_bottom: "md"}) do %>
194
+ <%= pb_rails("flex/flex_item") do %>
195
+ <%= pb_rails("button", props: { text: "View full breakdown", variant: "link" }) %>
196
+ <% end %>
197
+ <% end %>
198
+
199
+ <%= pb_rails("card") do %>
200
+ <% data = [{
201
+ name: '2020 | SF',
202
+ data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
203
+ }, {
204
+ name: '2020 | TOR',
205
+ data: [24916, 24064, 29742, 29851, 32490, 30282, 38121, 40434]
206
+ }, {
207
+ name: '2019 | AMS',
208
+ data: [11744, 17722, 16005, 19771, 20185, 24377, 32147, 39387]
209
+ }, {
210
+ name: '2018 | SF',
211
+ data: [nil, nil, 7988, 12169, 15112, 22452, 34400, 34227]
212
+ }, {
213
+ name: '2017 | LA',
214
+ data: [12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111]
215
+ }] %>
216
+
217
+ <%= pb_rails("line_graph", props: {
218
+ id: "line-registration",
219
+ gradient: false,
220
+ chart_data: data,
221
+ x_axis_categories:['7 wks away','6 wks away','5 wks away','4 wks away','3 wks away','2 wks away','1 wk away','Start of event'],
222
+ title: 'Running Total',
223
+ axis_title: 'Total Registration',
224
+ legend: true,
225
+ height: '80%'
226
+ }) %>
227
+ <% end %>
228
+ <% end %>
229
+
230
+
231
+
232
+ <%= pb_rails("flex/flex_item", props: {fixed_size: "40%"}) do %>
233
+ <%= pb_rails("card") do %>
234
+ <% total = [{
235
+ name: 'Registrations',
236
+ data: [1475, 524, 1344, 780, 200, 900]
237
+ }] %>
238
+ <%= pb_rails("bar_graph", props: {
239
+ axis_title: 'Total Registered',
240
+ chart_data: total,
241
+ id: "total-attendees",
242
+ y_axis_min: 0,
243
+ x_axis_categories:['\'17 LDN', '\'17 LA', '\'18 SF', '\'19 AMS', '\'20 TOR', '\'20 SF'],
244
+ height: '30%'
245
+ }) %>
246
+
247
+ <% new_attendees = [{
248
+ name: 'Registrations',
249
+ data: [1475, 524, 1344, 780, 200, 900]
250
+ }] %>
251
+ <%= pb_rails("bar_graph", props: {
252
+ axis_title: 'New Attendees',
253
+ chart_data: new_attendees,
254
+ id: "new-attendees",
255
+ y_axis_min: 0,
256
+ x_axis_categories:['\'17 LDN', '\'17 LA', '\'18 SF', '\'19 AMS', '\'20 TOR', '\'20 SF'],
257
+ height: '30%'
258
+ }) %>
259
+
260
+ <% repeating_attendees = [{
261
+ name: 'Registrations',
262
+ data: [1475, 524, 1344, 780, 200, 900]
263
+ }] %>
264
+ <%= pb_rails("bar_graph", props: {
265
+ axis_title: 'Repeating Attendees',
266
+ chart_data: repeating_attendees,
267
+ id: "repeating-attendees",
268
+ y_axis_min: 0,
269
+ x_axis_categories:['\'17 LDN', '\'17 LA', '\'18 SF', '\'19 AMS', '\'20 TOR', '\'20 SF'],
270
+ height: '30%'
271
+ }) %>
272
+
273
+ <% graphic_designers = [{
274
+ name: 'Registrations',
275
+ data: [1475, 524, 1344, 780, 200, 900]
276
+ }] %>
277
+ <%= pb_rails("bar_graph", props: {
278
+ axis_title: 'Graphic Designers',
279
+ chart_data: graphic_designers,
280
+ id: "graphic-designers",
281
+ y_axis_min: 0,
282
+ x_axis_categories:['\'17 LDN', '\'17 LA', '\'18 SF', '\'19 AMS', '\'20 TOR', '\'20 SF'],
283
+ height: '30%'
284
+ }) %>
285
+
286
+ <% ux_ui = [{
287
+ name: 'Registrations',
288
+ data: [1475, 524, 1344, 780, 200, 900]
289
+ }] %>
290
+ <%= pb_rails("bar_graph", props: {
291
+ axis_title: 'UX/UI',
292
+ chart_data: ux_ui,
293
+ id: "ux-ui",
294
+ y_axis_min: 0,
295
+ x_axis_categories:['\'17 LDN', '\'17 LA', '\'18 SF', '\'19 AMS', '\'20 TOR', '\'20 SF'],
296
+ height: '30%'
297
+ }) %>
298
+
299
+ <% product_designers = [{
300
+ name: 'Registrations',
301
+ data: [1475, 524, 1344, 780, 200, 900]
302
+ }] %>
303
+ <%= pb_rails("bar_graph", props: {
304
+ axis_title: 'Product Designers',
305
+ chart_data: product_designers,
306
+ id: "product-designers",
307
+ y_axis_min: 0,
308
+ x_axis_categories:['\'17 LDN', '\'17 LA', '\'18 SF', '\'19 AMS', '\'20 TOR', '\'20 SF'],
309
+ height: '30%'
310
+ }) %>
311
+
312
+ <% end %>
313
+ <% end %>
314
+ <% end %>
315
+ <% end %>
316
+ <% end %>
@@ -0,0 +1,476 @@
1
+ import React from 'react'
2
+ import { BarGraph, Body, Button, Caption, Card, Checkbox, Flex, Layout, LineGraph, SectionSeparator, Table, Title } from '../../../../pb_kits/playbook'
3
+ import FlexItem from '../../../../pb_kits/playbook/pb_flex/_flex_item.jsx'
4
+
5
+ const data = [{
6
+ name: '2020 | SF',
7
+ data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175],
8
+ }, {
9
+ name: '2020 | TOR',
10
+ data: [24916, 24064, 29742, 29851, 32490, 30282, 38121, 40434],
11
+ }, {
12
+ name: '2019 | AMS',
13
+ data: [11744, 17722, 16005, 19771, 20185, 24377, 32147, 39387],
14
+ }, {
15
+ name: '2018 | SF',
16
+ data: [null, null, 7988, 12169, 15112, 22452, 34400, 34227],
17
+ }, {
18
+ name: '2017 | LA',
19
+ data: [12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111],
20
+ }]
21
+
22
+ const totalRegistered = [{
23
+ name: 'Registrations',
24
+ data: [1475, 524, 1344, 780, 200, 900],
25
+ }]
26
+ const newAttendees = [{
27
+ name: 'Registrations',
28
+ data: [1475, 524, 1344, 780, 200, 900],
29
+ }]
30
+ const repeatingAttendees = [{
31
+ name: 'Registrations',
32
+ data: [1475, 524, 1344, 780, 200, 900],
33
+ }]
34
+ const graphicDesigners = [{
35
+ name: 'Registrations',
36
+ data: [1475, 524, 1344, 780, 200, 900],
37
+ }]
38
+ const uxUi = [{
39
+ name: 'Registrations',
40
+ data: [1475, 524, 1344, 780, 200, 900],
41
+ }]
42
+ const productDesigners = [{
43
+ name: 'Registrations',
44
+ data: [1475, 524, 1344, 780, 200, 900],
45
+ }]
46
+
47
+ const Registration = () => (
48
+ <div>
49
+ <Layout
50
+ collapse="xs"
51
+ position="left"
52
+ size="lg"
53
+ >
54
+ <Layout.Side>
55
+ <Flex
56
+ orientation="column"
57
+ padding="md"
58
+ vertical="center"
59
+ >
60
+ <FlexItem>
61
+ <Title
62
+ size={3}
63
+ tag="h3"
64
+ text="Design Expo"
65
+ />
66
+ </FlexItem>
67
+ <FlexItem>
68
+ <Body
69
+ color="light"
70
+ text="Annual Conference*"
71
+ />
72
+ </FlexItem>
73
+ </Flex>
74
+ <SectionSeparator />
75
+ <Flex
76
+ orientation="column"
77
+ padding="md"
78
+ >
79
+ <FlexItem>
80
+ <Title
81
+ paddingBottom="sm"
82
+ size={4}
83
+ tag="h4"
84
+ text="Regions"
85
+ />
86
+ </FlexItem>
87
+ <Flex
88
+ inline
89
+ orientation="column"
90
+ >
91
+ <Checkbox
92
+ checked
93
+ name="NorthAmerica"
94
+ paddingBottom="sm"
95
+ paddingLeft="sm"
96
+ text="North America"
97
+ value="NorthAmerica"
98
+ />
99
+ <Checkbox
100
+ checked
101
+ name="Europe"
102
+ paddingBottom="sm"
103
+ paddingLeft="sm"
104
+ text="Europe"
105
+ value="Europe"
106
+ />
107
+ </Flex>
108
+ <Title
109
+ paddingY="sm"
110
+ size={4}
111
+ tag="h4"
112
+ text="Total Registered"
113
+ />
114
+ <Table
115
+ paddingBottom="xs"
116
+ size="sm"
117
+ >
118
+ <thead>
119
+ <tr>
120
+ <th>{'Conference'}</th>
121
+ <th>{'Total #'}</th>
122
+ </tr>
123
+ </thead>
124
+ <tbody>
125
+ <tr>
126
+ <td>{'2020 | SF'}</td>
127
+ <td>{'2,391'}</td>
128
+ </tr>
129
+ <tr>
130
+ <td>{'2020 | TOR'}</td>
131
+ <td>{'3,829'}</td>
132
+ </tr>
133
+ <tr>
134
+ <td>{'2019 | AMS'}</td>
135
+ <td>{'2,047'}</td>
136
+ </tr>
137
+ <tr>
138
+ <td>{'2018 | SF'}</td>
139
+ <td>{'1,824'}</td>
140
+ </tr>
141
+ <tr>
142
+ <td>{'2017 | LA'}</td>
143
+ <td>{'719'}</td>
144
+ </tr>
145
+ <tr>
146
+ <td>{'2017 | LDN'}</td>
147
+ <td>{'491'}</td>
148
+ </tr>
149
+ </tbody>
150
+ </Table>
151
+ <Caption
152
+ size="xs"
153
+ text="*This dashboard includes the last six conferences"
154
+ />
155
+ </Flex>
156
+ </Layout.Side>
157
+
158
+ <Layout.Body
159
+ padding="xl"
160
+ >
161
+ <Title
162
+ paddingBottom="lg"
163
+ size={3}
164
+ tag="h3"
165
+ text="Registration Dashboard"
166
+ />
167
+ <Flex
168
+ className="bg_light"
169
+ wrap
170
+ >
171
+ <FlexItem
172
+ fixedSize="60%"
173
+ paddingRight="lg"
174
+ >
175
+ <Card>
176
+
177
+ <Flex
178
+ paddingBottom="md"
179
+ spacing="around"
180
+ vertical="bottom"
181
+ >
182
+ {/****** first number ******/}
183
+ <FlexItem>
184
+ <Flex
185
+ orientation="column"
186
+ vertical="center"
187
+ >
188
+ <FlexItem>
189
+ <Caption
190
+ size="xs"
191
+ text="2020 | SF"
192
+ />
193
+ </FlexItem>
194
+ <FlexItem>
195
+ <Caption
196
+ text="Total Registered"
197
+ />
198
+ </FlexItem>
199
+ <FlexItem>
200
+ <Title
201
+ size={2}
202
+ tag="h2"
203
+ text="2,391"
204
+ />
205
+ </FlexItem>
206
+ </Flex>
207
+ </FlexItem>
208
+
209
+ <SectionSeparator orientation="vertical" />
210
+
211
+ {/****** second number ******/}
212
+
213
+ <FlexItem>
214
+ <Flex
215
+ orientation="column"
216
+ paddingTop="sm"
217
+ vertical="center"
218
+ >
219
+ <FlexItem>
220
+ <Caption
221
+ text="Graphic"
222
+ />
223
+ </FlexItem>
224
+ <FlexItem>
225
+ <Title
226
+ size={3}
227
+ tag="h3"
228
+ text="353"
229
+ />
230
+ </FlexItem>
231
+ </Flex>
232
+ </FlexItem>
233
+
234
+ {/****** third number ******/}
235
+
236
+ <FlexItem>
237
+ <Flex
238
+ orientation="column"
239
+ vertical="center"
240
+ >
241
+ <FlexItem>
242
+ <Caption
243
+ text="UX/UI"
244
+ />
245
+ </FlexItem>
246
+ <FlexItem>
247
+ <Title
248
+ size={3}
249
+ tag="h3"
250
+ text="254"
251
+ />
252
+ </FlexItem>
253
+ </Flex>
254
+ </FlexItem>
255
+
256
+ {/****** fourth number ******/}
257
+
258
+ <FlexItem>
259
+ <Flex
260
+ orientation="column"
261
+ vertical="center"
262
+ >
263
+ <FlexItem>
264
+ <Caption
265
+ text="Product"
266
+ />
267
+ </FlexItem>
268
+ <FlexItem>
269
+ <Title
270
+ size={3}
271
+ tag="h3"
272
+ text="194"
273
+ />
274
+ </FlexItem>
275
+ </Flex>
276
+ </FlexItem>
277
+ </Flex>
278
+
279
+ <SectionSeparator />
280
+
281
+ <Flex
282
+ paddingTop="sm"
283
+ spacing="around"
284
+ vertical="bottom"
285
+ >
286
+ {/****** first number ******/}
287
+ <FlexItem>
288
+ <Flex
289
+ orientation="column"
290
+ vertical="center"
291
+ >
292
+ <FlexItem>
293
+ <Caption
294
+ size="xs"
295
+ text="2020 | TOR"
296
+ />
297
+ </FlexItem>
298
+ <FlexItem>
299
+ <Caption
300
+ text="Total Registered"
301
+ />
302
+ </FlexItem>
303
+ <FlexItem>
304
+ <Title
305
+ size={2}
306
+ tag="h2"
307
+ text="3,829"
308
+ />
309
+ </FlexItem>
310
+ </Flex>
311
+ </FlexItem>
312
+
313
+ <SectionSeparator orientation="vertical" />
314
+
315
+ {/****** second number ******/}
316
+
317
+ <FlexItem>
318
+ <Flex
319
+ orientation="column"
320
+ vertical="center"
321
+ >
322
+ <FlexItem>
323
+ <Caption
324
+ text="Graphic"
325
+ />
326
+ </FlexItem>
327
+ <FlexItem>
328
+ <Title
329
+ size={3}
330
+ tag="h3"
331
+ text="937"
332
+ />
333
+ </FlexItem>
334
+ </Flex>
335
+ </FlexItem>
336
+
337
+ {/****** third number ******/}
338
+
339
+ <FlexItem>
340
+ <Flex
341
+ orientation="column"
342
+ vertical="center"
343
+ >
344
+ <FlexItem>
345
+ <Caption
346
+ text="UX/UI"
347
+ />
348
+ </FlexItem>
349
+ <FlexItem>
350
+ <Title
351
+ size={3}
352
+ tag="h3"
353
+ text="721"
354
+ />
355
+ </FlexItem>
356
+ </Flex>
357
+ </FlexItem>
358
+
359
+ {/****** fourth number ******/}
360
+
361
+ <FlexItem>
362
+ <Flex
363
+ orientation="column"
364
+ vertical="center"
365
+ >
366
+ <FlexItem>
367
+ <Caption
368
+ text="Product"
369
+ />
370
+ </FlexItem>
371
+ <FlexItem>
372
+ <Title
373
+ size={3}
374
+ tag="h3"
375
+ text="628"
376
+ />
377
+ </FlexItem>
378
+ </Flex>
379
+ </FlexItem>
380
+ </Flex>
381
+ </Card>
382
+
383
+ <Flex
384
+ orientation="column"
385
+ paddingBottom="md"
386
+ vertical="right"
387
+ >
388
+ <FlexItem>
389
+ <Button
390
+ onClick={() => alert('button clicked!')}
391
+ text="View full breakdown"
392
+ variant="link"
393
+ />
394
+ </FlexItem>
395
+ </Flex>
396
+
397
+ <Card>
398
+ <LineGraph
399
+ axisTitle="Total Registration"
400
+ chartData={data}
401
+ height="80%"
402
+ id="line-registration"
403
+ legend
404
+ title="Running Total"
405
+ xAxisCategories={['7 wks away', '6 wks away', '5 wks away', '4 wks away', '3 wks away', '2 wks away', '1 wk away', 'Start of Event']}
406
+ yAxisMin={0}
407
+ />
408
+ </Card>
409
+ </FlexItem>
410
+ <FlexItem fixedSize="40%">
411
+ <Card>
412
+ <BarGraph
413
+ axisTitle="Total Registered"
414
+ chartData={totalRegistered}
415
+ height="30%"
416
+ id="total-attendees"
417
+ xAxisCategories={['\'17 LDN', '\'17 LA', '\'18 SF', '\'19 AMS', '\'20 TOR', '\'20 SF']}
418
+ yAxisMin={0}
419
+ />
420
+ <BarGraph
421
+ axisTitle="New Attendees"
422
+ chartData={newAttendees}
423
+ height="30%"
424
+ id="new-attendees"
425
+ xAxisCategories={['\'17 LDN', '\'17 LA', '\'18 SF', '\'19 AMS', '\'20 TOR', '\'20 SF']}
426
+ yAxisMin={0}
427
+ />
428
+ <BarGraph
429
+ axisTitle="New Attendees"
430
+ chartData={newAttendees}
431
+ height="30%"
432
+ id="new-attendees"
433
+ xAxisCategories={['\'17 LDN', '\'17 LA', '\'18 SF', '\'19 AMS', '\'20 TOR', '\'20 SF']}
434
+ yAxisMin={0}
435
+ />
436
+ <BarGraph
437
+ axisTitle="Repeating Attendees"
438
+ chartData={repeatingAttendees}
439
+ height="30%"
440
+ id="repeating-attendees"
441
+ xAxisCategories={['\'17 LDN', '\'17 LA', '\'18 SF', '\'19 AMS', '\'20 TOR', '\'20 SF']}
442
+ yAxisMin={0}
443
+ />
444
+ <BarGraph
445
+ axisTitle="Graphic Designers"
446
+ chartData={graphicDesigners}
447
+ height="30%"
448
+ id="graphic-designers"
449
+ xAxisCategories={['\'17 LDN', '\'17 LA', '\'18 SF', '\'19 AMS', '\'20 TOR', '\'20 SF']}
450
+ yAxisMin={0}
451
+ />
452
+ <BarGraph
453
+ axisTitle="UX/UI"
454
+ chartData={uxUi}
455
+ height="30%"
456
+ id="ux-ui"
457
+ xAxisCategories={['\'17 LDN', '\'17 LA', '\'18 SF', '\'19 AMS', '\'20 TOR', '\'20 SF']}
458
+ yAxisMin={0}
459
+ />
460
+ <BarGraph
461
+ axisTitle="Product Designers"
462
+ chartData={productDesigners}
463
+ height="30%"
464
+ id="product-designers"
465
+ xAxisCategories={['\'17 LDN', '\'17 LA', '\'18 SF', '\'19 AMS', '\'20 TOR', '\'20 SF']}
466
+ yAxisMin={0}
467
+ />
468
+ </Card>
469
+ </FlexItem>
470
+ </Flex>
471
+ </Layout.Body>
472
+ </Layout>
473
+ </div>
474
+ )
475
+
476
+ export default Registration