playbook_ui 6.6.0 → 6.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (360) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -2
  3. data/app/controllers/playbook/application_controller.rb +3 -1
  4. data/app/controllers/playbook/pages_controller.rb +21 -1
  5. data/app/helpers/playbook/application_helper.rb +19 -0
  6. data/app/helpers/playbook/pb_kit_helper.rb +18 -2
  7. data/app/pb_kits/playbook/config/_kit_example.html.erb +3 -3
  8. data/app/pb_kits/playbook/config/_kit_ui.html.erb +2 -1
  9. data/app/pb_kits/playbook/config/_pb_kit_api.html.erb +10 -12
  10. data/app/pb_kits/playbook/index.js +1 -0
  11. data/app/pb_kits/playbook/packs/examples.js +2 -0
  12. data/app/pb_kits/playbook/packs/site_styles/_site-style.scss +15 -4
  13. data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +26 -73
  14. data/app/pb_kits/playbook/packs/site_styles/docs/_kits_examples.scss +0 -3
  15. data/app/pb_kits/playbook/packs/site_styles/docs/_markdown.scss +8 -2
  16. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +13 -4
  17. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.jsx +6 -1
  18. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_monogram.jsx +6 -1
  19. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.jsx +5 -1
  20. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.jsx +3 -1
  21. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.jsx +2 -1
  22. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click.jsx +2 -1
  23. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.jsx +5 -1
  24. data/app/pb_kits/playbook/pb_avatar_action_button/docs/example.yml +1 -9
  25. data/app/pb_kits/playbook/pb_avatar_action_button/docs/index.js +0 -4
  26. data/app/pb_kits/playbook/pb_badge/_badge.jsx +4 -2
  27. data/app/pb_kits/playbook/pb_badge/docs/_badge_colors.jsx +19 -1
  28. data/app/pb_kits/playbook/pb_badge/docs/_badge_default.jsx +4 -1
  29. data/app/pb_kits/playbook/pb_badge/docs/_badge_rounded.jsx +4 -1
  30. data/app/pb_kits/playbook/pb_badge/docs/example.yml +1 -2
  31. data/app/pb_kits/playbook/pb_badge/docs/index.js +0 -1
  32. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +1 -1
  33. data/app/pb_kits/playbook/pb_body/docs/_body_block.jsx +2 -2
  34. data/app/pb_kits/playbook/pb_body/docs/_body_light.jsx +6 -1
  35. data/app/pb_kits/playbook/pb_body/docs/example.yml +2 -4
  36. data/app/pb_kits/playbook/pb_body/docs/index.js +0 -1
  37. data/app/pb_kits/playbook/pb_button/_button.jsx +5 -1
  38. data/app/pb_kits/playbook/pb_button/docs/_button_accessibility.jsx +2 -1
  39. data/app/pb_kits/playbook/pb_button/docs/_button_block_content.jsx +2 -1
  40. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +6 -2
  41. data/app/pb_kits/playbook/pb_button/docs/_button_full_width.jsx +2 -1
  42. data/app/pb_kits/playbook/pb_button/docs/_button_link.jsx +4 -1
  43. data/app/pb_kits/playbook/pb_button/docs/_button_loading.jsx +4 -1
  44. data/app/pb_kits/playbook/pb_button/docs/_button_options.jsx +2 -1
  45. data/app/pb_kits/playbook/pb_button/docs/example.yml +0 -2
  46. data/app/pb_kits/playbook/pb_button/docs/index.js +0 -1
  47. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.jsx +5 -1
  48. data/app/pb_kits/playbook/pb_caption/_caption.jsx +2 -2
  49. data/app/pb_kits/playbook/pb_caption/docs/_caption_light.jsx +7 -2
  50. data/app/pb_kits/playbook/pb_caption/docs/example.yml +2 -6
  51. data/app/pb_kits/playbook/pb_caption/docs/index.js +0 -1
  52. data/app/pb_kits/playbook/pb_card/_card.scss +0 -3
  53. data/app/pb_kits/playbook/pb_card/docs/_card_border_none.jsx +7 -4
  54. data/app/pb_kits/playbook/pb_card/docs/_card_content.jsx +3 -3
  55. data/app/pb_kits/playbook/pb_card/docs/_card_header.jsx +39 -13
  56. data/app/pb_kits/playbook/pb_card/docs/_card_highlight.jsx +13 -4
  57. data/app/pb_kits/playbook/pb_card/docs/_card_light.jsx +2 -2
  58. data/app/pb_kits/playbook/pb_card/docs/_card_padding.jsx +37 -7
  59. data/app/pb_kits/playbook/pb_card/docs/_card_selected.jsx +8 -3
  60. data/app/pb_kits/playbook/pb_card/docs/_card_separator.jsx +13 -4
  61. data/app/pb_kits/playbook/pb_card/docs/_card_shadow.jsx +25 -5
  62. data/app/pb_kits/playbook/pb_card/docs/example.yml +0 -2
  63. data/app/pb_kits/playbook/pb_card/docs/index.js +0 -1
  64. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +5 -2
  65. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +3 -1
  66. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_checked.jsx +2 -1
  67. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_custom.jsx +5 -2
  68. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_default.jsx +2 -1
  69. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_error.jsx +2 -1
  70. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_options.html.erb +10 -0
  71. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +1 -4
  72. data/app/pb_kits/playbook/pb_checkbox/docs/index.js +0 -2
  73. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.html.erb +1 -1
  74. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.jsx +130 -0
  75. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.scss +1 -1
  76. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +39 -0
  77. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +29 -0
  78. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +28 -0
  79. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.jsx +117 -0
  80. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +53 -0
  81. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +30 -0
  82. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.jsx +45 -0
  83. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.jsx +30 -0
  84. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.jsx +45 -0
  85. data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +11 -0
  86. data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +9 -0
  87. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +5 -1
  88. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_click.jsx +2 -1
  89. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_default.jsx +5 -1
  90. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.jsx +3 -1
  91. data/app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml +0 -2
  92. data/app/pb_kits/playbook/pb_circle_icon_button/docs/index.js +0 -1
  93. data/app/pb_kits/playbook/pb_contact/_contact.jsx +5 -1
  94. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.jsx +6 -1
  95. data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.jsx +5 -1
  96. data/app/pb_kits/playbook/pb_currency/_currency.jsx +5 -1
  97. data/app/pb_kits/playbook/pb_currency/docs/_currency_large.jsx +4 -1
  98. data/app/pb_kits/playbook/pb_currency/docs/_currency_medium.jsx +4 -1
  99. data/app/pb_kits/playbook/pb_currency/docs/_currency_small.jsx +4 -1
  100. data/app/pb_kits/playbook/pb_currency/docs/example.yml +1 -2
  101. data/app/pb_kits/playbook/pb_currency/docs/index.js +0 -1
  102. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +5 -1
  103. data/app/pb_kits/playbook/pb_dashboard_value/docs/_dashboard_value_align.jsx +4 -1
  104. data/app/pb_kits/playbook/pb_dashboard_value/docs/_dashboard_value_default.jsx +4 -1
  105. data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +2 -2
  106. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +4 -0
  107. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.jsx +34 -0
  108. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.md +3 -0
  109. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +1 -0
  110. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +1 -0
  111. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.jsx +5 -1
  112. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +2 -2
  113. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +5 -1
  114. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +2 -2
  115. data/app/pb_kits/playbook/pb_flex/_flex.jsx +2 -2
  116. data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +1 -1
  117. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +9 -1
  118. data/app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb +7 -2
  119. data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +3 -2
  120. data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +1 -1
  121. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_default.jsx +5 -1
  122. data/app/pb_kits/playbook/pb_hashtag/docs/example.yml +0 -2
  123. data/app/pb_kits/playbook/pb_hashtag/docs/index.js +0 -1
  124. data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +1 -1
  125. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +2 -2
  126. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_emphasis.jsx +3 -1
  127. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_modified.jsx +2 -1
  128. data/app/pb_kits/playbook/pb_home_address_street/docs/example.yml +1 -3
  129. data/app/pb_kits/playbook/pb_home_address_street/docs/index.js +0 -1
  130. data/app/pb_kits/playbook/pb_icon/_icon.jsx +2 -2
  131. data/app/pb_kits/playbook/pb_icon_value/_icon_value.jsx +5 -1
  132. data/app/pb_kits/playbook/pb_image/_image.jsx +5 -1
  133. data/app/pb_kits/playbook/pb_label_pill/_label_pill.jsx +5 -1
  134. data/app/pb_kits/playbook/pb_label_value/docs/example.yml +1 -7
  135. data/app/pb_kits/playbook/pb_label_value/docs/index.js +0 -4
  136. data/app/pb_kits/playbook/pb_layout/_layout.jsx +4 -4
  137. data/app/pb_kits/playbook/pb_legend/docs/example.yml +1 -5
  138. data/app/pb_kits/playbook/pb_legend/docs/index.js +0 -2
  139. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +1 -1
  140. data/app/pb_kits/playbook/pb_list/_list.jsx +3 -2
  141. data/app/pb_kits/playbook/pb_list/_list_item.jsx +3 -2
  142. data/app/pb_kits/playbook/pb_list/docs/example.yml +1 -11
  143. data/app/pb_kits/playbook/pb_list/docs/index.js +0 -6
  144. data/app/pb_kits/playbook/pb_loading_inline/docs/example.yml +1 -3
  145. data/app/pb_kits/playbook/pb_loading_inline/docs/index.js +0 -1
  146. data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +5 -1
  147. data/app/pb_kits/playbook/pb_message/_message.jsx +5 -1
  148. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.jsx +5 -2
  149. data/app/pb_kits/playbook/pb_multiple_users/docs/example.yml +1 -2
  150. data/app/pb_kits/playbook/pb_multiple_users/docs/index.js +0 -1
  151. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/example.yml +1 -2
  152. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/index.js +0 -1
  153. data/app/pb_kits/playbook/pb_nav/_horizontal_nav.scss +24 -0
  154. data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -2
  155. data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +28 -0
  156. data/app/pb_kits/playbook/pb_online_status/docs/_online_status_default.jsx +13 -4
  157. data/app/pb_kits/playbook/pb_online_status/docs/example.yml +1 -2
  158. data/app/pb_kits/playbook/pb_online_status/docs/index.js +0 -1
  159. data/app/pb_kits/playbook/pb_person/_person.jsx +5 -1
  160. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +5 -1
  161. data/app/pb_kits/playbook/pb_pill/docs/example.yml +1 -3
  162. data/app/pb_kits/playbook/pb_pill/docs/index.js +0 -1
  163. data/app/pb_kits/playbook/pb_popover/_popover.jsx +5 -1
  164. data/app/pb_kits/playbook/pb_progress_pills/docs/example.yml +1 -4
  165. data/app/pb_kits/playbook/pb_progress_pills/docs/index.js +0 -2
  166. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +4 -4
  167. data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +1 -1
  168. data/app/pb_kits/playbook/pb_progress_step/docs/example.yml +0 -2
  169. data/app/pb_kits/playbook/pb_progress_step/docs/index.js +0 -1
  170. data/app/pb_kits/playbook/pb_radio/_radio.html.erb +1 -1
  171. data/app/pb_kits/playbook/pb_radio/docs/_radio_options.html.erb +9 -0
  172. data/app/pb_kits/playbook/pb_radio/docs/example.yml +1 -4
  173. data/app/pb_kits/playbook/pb_radio/docs/index.js +0 -3
  174. data/app/pb_kits/playbook/pb_radio/radio.rb +2 -4
  175. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +1 -1
  176. data/app/pb_kits/playbook/pb_section_separator/docs/example.yml +1 -2
  177. data/app/pb_kits/playbook/pb_section_separator/docs/index.js +0 -1
  178. data/app/pb_kits/playbook/pb_select/_select.scss +1 -1
  179. data/app/pb_kits/playbook/pb_select/docs/example.yml +1 -4
  180. data/app/pb_kits/playbook/pb_select/docs/index.js +0 -2
  181. data/app/pb_kits/playbook/pb_selectable_card/docs/example.yml +1 -2
  182. data/app/pb_kits/playbook/pb_selectable_card/docs/index.js +0 -1
  183. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/example.yml +1 -4
  184. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/index.js +0 -1
  185. data/app/pb_kits/playbook/pb_selectable_icon/docs/example.yml +1 -3
  186. data/app/pb_kits/playbook/pb_selectable_icon/docs/index.js +0 -1
  187. data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +2 -2
  188. data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +3 -3
  189. data/app/pb_kits/playbook/pb_stat_value/docs/_stat_value_default.jsx +6 -1
  190. data/app/pb_kits/playbook/pb_table/_table.jsx +2 -2
  191. data/app/pb_kits/playbook/pb_table/docs/example.yml +1 -4
  192. data/app/pb_kits/playbook/pb_table/docs/index.js +0 -2
  193. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +1 -1
  194. data/app/pb_kits/playbook/pb_text_input/docs/example.yml +0 -5
  195. data/app/pb_kits/playbook/pb_text_input/docs/index.js +0 -2
  196. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +1 -1
  197. data/app/pb_kits/playbook/pb_textarea/docs/example.yml +1 -4
  198. data/app/pb_kits/playbook/pb_textarea/docs/index.js +0 -2
  199. data/app/pb_kits/playbook/pb_time/_time.jsx +2 -2
  200. data/app/pb_kits/playbook/pb_time/docs/_time_default.html.erb +4 -4
  201. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.html.erb +2 -1
  202. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.html.erb +1 -5
  203. data/app/pb_kits/playbook/pb_time/docs/example.yml +0 -2
  204. data/app/pb_kits/playbook/pb_time/docs/index.js +0 -1
  205. data/app/pb_kits/playbook/pb_time/time.rb +1 -1
  206. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +1 -1
  207. data/app/pb_kits/playbook/pb_time_range_inline/docs/example.yml +0 -3
  208. data/app/pb_kits/playbook/pb_time_range_inline/docs/index.js +0 -1
  209. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +3 -3
  210. data/app/pb_kits/playbook/pb_time_stacked/docs/example.yml +1 -3
  211. data/app/pb_kits/playbook/pb_time_stacked/docs/index.js +0 -1
  212. data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +1 -1
  213. data/app/pb_kits/playbook/pb_title/_title.jsx +5 -1
  214. data/app/pb_kits/playbook/pb_title/docs/example.yml +1 -2
  215. data/app/pb_kits/playbook/pb_title/docs/index.js +0 -1
  216. data/app/pb_kits/playbook/pb_title_count/_title_count.jsx +5 -1
  217. data/app/pb_kits/playbook/pb_title_count/docs/example.yml +0 -4
  218. data/app/pb_kits/playbook/pb_title_count/docs/index.js +0 -2
  219. data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +1 -1
  220. data/app/pb_kits/playbook/pb_toggle/_toggle.jsx +3 -3
  221. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +41 -43
  222. data/app/pb_kits/playbook/pb_toggle/docs/example.yml +0 -2
  223. data/app/pb_kits/playbook/pb_toggle/docs/index.js +0 -1
  224. data/app/pb_kits/playbook/pb_toggle/toggle.rb +1 -1
  225. data/app/pb_kits/playbook/pb_user/docs/example.yml +1 -4
  226. data/app/pb_kits/playbook/pb_user/docs/index.js +0 -3
  227. data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +5 -2
  228. data/app/pb_kits/playbook/pb_user_badge/docs/example.yml +0 -5
  229. data/app/pb_kits/playbook/pb_user_badge/docs/index.js +0 -1
  230. data/app/pb_kits/playbook/pb_weekday_stacked/docs/example.yml +0 -3
  231. data/app/pb_kits/playbook/pb_weekday_stacked/docs/index.js +0 -1
  232. data/app/pb_kits/playbook/plugins/pb_chart.js +1 -1
  233. data/app/pb_kits/playbook/tokens/_colors.scss +1 -1
  234. data/app/views/layouts/playbook/_nav.html.erb +31 -7
  235. data/app/views/layouts/playbook/_sidebar.html.erb +6 -7
  236. data/app/views/layouts/playbook/application.html.erb +26 -0
  237. data/app/views/playbook/pages/kit_show.html.erb +4 -4
  238. data/lib/generators/kit/templates/kit_jsx.erb.tt +1 -1
  239. data/lib/playbook/version.rb +1 -2
  240. metadata +19 -123
  241. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions_dark.html.erb +0 -17
  242. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions_dark.jsx +0 -21
  243. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_dark.html.erb +0 -9
  244. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_dark.jsx +0 -14
  245. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click_dark.html.erb +0 -15
  246. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click_dark.jsx +0 -16
  247. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement_dark.html.erb +0 -31
  248. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement_dark.jsx +0 -33
  249. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_tooltip_dark.html.erb +0 -12
  250. data/app/pb_kits/playbook/pb_badge/docs/_badge_dark.html.erb +0 -124
  251. data/app/pb_kits/playbook/pb_badge/docs/_badge_dark.jsx +0 -160
  252. data/app/pb_kits/playbook/pb_body/docs/_body_dark.html.erb +0 -28
  253. data/app/pb_kits/playbook/pb_body/docs/_body_dark.jsx +0 -35
  254. data/app/pb_kits/playbook/pb_button/docs/_button_default_dark.html.erb +0 -22
  255. data/app/pb_kits/playbook/pb_button/docs/_button_default_dark.jsx +0 -31
  256. data/app/pb_kits/playbook/pb_caption/docs/_caption_dark.html.erb +0 -3
  257. data/app/pb_kits/playbook/pb_caption/docs/_caption_dark.jsx +0 -25
  258. data/app/pb_kits/playbook/pb_card/docs/_card_dark.html.erb +0 -3
  259. data/app/pb_kits/playbook/pb_card/docs/_card_dark.jsx +0 -12
  260. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_dark.html.erb +0 -4
  261. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_dark.jsx +0 -17
  262. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_dark_error.html.erb +0 -7
  263. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_dark_error.jsx +0 -18
  264. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_dark.html.erb +0 -29
  265. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_dark.jsx +0 -38
  266. data/app/pb_kits/playbook/pb_currency/docs/_currency_dark.html.erb +0 -23
  267. data/app/pb_kits/playbook/pb_currency/docs/_currency_dark.jsx +0 -32
  268. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_dark.html.erb +0 -13
  269. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_dark.jsx +0 -41
  270. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_dark.html.erb +0 -12
  271. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_dark.jsx +0 -20
  272. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_dark.html.erb +0 -24
  273. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_dark.jsx +0 -35
  274. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_details_dark.html.erb +0 -43
  275. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_details_dark.jsx +0 -54
  276. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_details_examples_dark.html.erb +0 -80
  277. data/app/pb_kits/playbook/pb_label_value/docs/_label_value_details_examples_dark.jsx +0 -101
  278. data/app/pb_kits/playbook/pb_legend/docs/_legend_dark.html.erb +0 -5
  279. data/app/pb_kits/playbook/pb_legend/docs/_legend_dark.jsx +0 -21
  280. data/app/pb_kits/playbook/pb_legend/docs/_legend_dark_prefix.html.erb +0 -1
  281. data/app/pb_kits/playbook/pb_legend/docs/_legend_dark_prefix.jsx +0 -15
  282. data/app/pb_kits/playbook/pb_list/docs/_list_dark.html.erb +0 -7
  283. data/app/pb_kits/playbook/pb_list/docs/_list_dark.jsx +0 -19
  284. data/app/pb_kits/playbook/pb_list/docs/_list_dark_borderless.html.erb +0 -7
  285. data/app/pb_kits/playbook/pb_list/docs/_list_dark_borderless.jsx +0 -22
  286. data/app/pb_kits/playbook/pb_list/docs/_list_dark_lg.html.erb +0 -7
  287. data/app/pb_kits/playbook/pb_list/docs/_list_dark_lg.jsx +0 -22
  288. data/app/pb_kits/playbook/pb_list/docs/_list_dark_ordered.html.erb +0 -7
  289. data/app/pb_kits/playbook/pb_list/docs/_list_dark_ordered.jsx +0 -22
  290. data/app/pb_kits/playbook/pb_list/docs/_list_dark_xpadding.html.erb +0 -7
  291. data/app/pb_kits/playbook/pb_list/docs/_list_dark_xpadding.jsx +0 -22
  292. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_dark.html.erb +0 -13
  293. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_dark.jsx +0 -20
  294. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_dark.html.erb +0 -41
  295. data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_dark.jsx +0 -52
  296. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_multiple_users_stacked_dark.html.erb +0 -53
  297. data/app/pb_kits/playbook/pb_multiple_users_stacked/docs/_multiple_users_stacked_dark.jsx +0 -62
  298. data/app/pb_kits/playbook/pb_online_status/docs/_online_status_dark.html.erb +0 -9
  299. data/app/pb_kits/playbook/pb_online_status/docs/_online_status_dark.jsx +0 -28
  300. data/app/pb_kits/playbook/pb_pill/docs/_pill_dark.html.erb +0 -52
  301. data/app/pb_kits/playbook/pb_pill/docs/_pill_dark.jsx +0 -69
  302. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_dark.html.erb +0 -1
  303. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_dark.jsx +0 -20
  304. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_status_dark.html.erb +0 -1
  305. data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_status_dark.jsx +0 -19
  306. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_dark.html.erb +0 -34
  307. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_dark.jsx +0 -18
  308. data/app/pb_kits/playbook/pb_radio/docs/_radio_dark.html.erb +0 -25
  309. data/app/pb_kits/playbook/pb_radio/docs/_radio_dark.jsx +0 -33
  310. data/app/pb_kits/playbook/pb_radio/docs/_radio_dark_error.html.erb +0 -7
  311. data/app/pb_kits/playbook/pb_radio/docs/_radio_dark_error.jsx +0 -17
  312. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_dark.html.erb +0 -1
  313. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_dark.jsx +0 -14
  314. data/app/pb_kits/playbook/pb_select/docs/_select_dark.html.erb +0 -24
  315. data/app/pb_kits/playbook/pb_select/docs/_select_dark.jsx +0 -33
  316. data/app/pb_kits/playbook/pb_select/docs/_select_dark_error.html.erb +0 -25
  317. data/app/pb_kits/playbook/pb_select/docs/_select_dark_error.jsx +0 -39
  318. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_dark.html.erb +0 -45
  319. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_dark.jsx +0 -72
  320. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_dark.html.erb +0 -30
  321. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_dark.jsx +0 -40
  322. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_dark.html.erb +0 -26
  323. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_dark.jsx +0 -43
  324. data/app/pb_kits/playbook/pb_table/docs/_table_container_dark.html.erb +0 -34
  325. data/app/pb_kits/playbook/pb_table/docs/_table_container_dark.jsx +0 -47
  326. data/app/pb_kits/playbook/pb_table/docs/_table_dark.html.erb +0 -34
  327. data/app/pb_kits/playbook/pb_table/docs/_table_dark.jsx +0 -46
  328. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_dark.html.erb +0 -5
  329. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_dark.jsx +0 -78
  330. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_dark_error.html.erb +0 -14
  331. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_dark_error.jsx +0 -18
  332. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_dark.html.erb +0 -9
  333. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_dark.jsx +0 -34
  334. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_dark_error.html.erb +0 -6
  335. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_dark_error.jsx +0 -19
  336. data/app/pb_kits/playbook/pb_time/docs/_time_dark.html.erb +0 -70
  337. data/app/pb_kits/playbook/pb_time/docs/_time_dark.jsx +0 -21
  338. data/app/pb_kits/playbook/pb_time_range_inline/docs/_time_range_inline_dark.html.erb +0 -72
  339. data/app/pb_kits/playbook/pb_time_range_inline/docs/_time_range_inline_dark.jsx +0 -81
  340. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_dark.html.erb +0 -1
  341. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_dark.jsx +0 -15
  342. data/app/pb_kits/playbook/pb_title/docs/_title_dark.html.erb +0 -8
  343. data/app/pb_kits/playbook/pb_title/docs/_title_dark.jsx +0 -35
  344. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_align_dark.html.erb +0 -23
  345. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_align_dark.jsx +0 -34
  346. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_dark.html.erb +0 -23
  347. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_dark.jsx +0 -34
  348. data/app/pb_kits/playbook/pb_title_detail/docs/_title_detail_dark.html.erb +0 -19
  349. data/app/pb_kits/playbook/pb_title_detail/docs/_title_detail_dark.jsx +0 -29
  350. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.html.erb +0 -11
  351. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.jsx +0 -44
  352. data/app/pb_kits/playbook/pb_user/docs/_user_dark.html.erb +0 -42
  353. data/app/pb_kits/playbook/pb_user/docs/_user_dark.jsx +0 -55
  354. data/app/pb_kits/playbook/pb_user/docs/_user_text_only_dark.html.erb +0 -19
  355. data/app/pb_kits/playbook/pb_user/docs/_user_text_only_dark.jsx +0 -26
  356. data/app/pb_kits/playbook/pb_user_badge/docs/_user_badge_dark.html.erb +0 -13
  357. data/app/pb_kits/playbook/pb_user_badge/docs/_user_badge_dark.jsx +0 -27
  358. data/app/pb_kits/playbook/pb_weekday_stacked/docs/_weekday_stacked_dark.html.erb +0 -1
  359. data/app/pb_kits/playbook/pb_weekday_stacked/docs/_weekday_stacked_dark.jsx +0 -14
  360. data/app/views/layouts/playbook/application.html.slim +0 -22
@@ -1,22 +1,31 @@
1
1
  import React from 'react'
2
2
  import { Card } from '../../'
3
3
 
4
- const CardHighlight = () => {
4
+ const CardHighlight = (props) => {
5
5
  return (
6
6
  <div>
7
- <Card highlight={{ position: 'side', color: 'windows' }}>
7
+ <Card
8
+ {...props}
9
+ highlight={{ position: 'side', color: 'windows' }}
10
+ >
8
11
  {'Card content'}
9
12
  </Card>
10
13
 
11
14
  <br />
12
15
 
13
- <Card highlight={{ position: 'top', color: 'warning' }}>
16
+ <Card
17
+ {...props}
18
+ highlight={{ position: 'top', color: 'warning' }}
19
+ >
14
20
  {'Card content'}
15
21
  </Card>
16
22
 
17
23
  <br />
18
24
 
19
- <Card highlight={{ position: 'side', color: 'category_2' }}>
25
+ <Card
26
+ {...props}
27
+ highlight={{ position: 'side', color: 'category_2' }}
28
+ >
20
29
  {'Card content'}
21
30
  </Card>
22
31
  </div>
@@ -1,10 +1,10 @@
1
1
  import React from 'react'
2
2
  import Card from '../_card.jsx'
3
3
 
4
- const CardLight = () => {
4
+ const CardLight = (props) => {
5
5
  return (
6
6
  <div>
7
- <Card>{'Card content'}</Card>
7
+ <Card {...props}>{'Card content'}</Card>
8
8
  </div>
9
9
  )
10
10
  }
@@ -1,20 +1,50 @@
1
1
  import React from 'react'
2
2
  import { Card } from '../../'
3
3
 
4
- const CardPadding = () => {
4
+ const CardPadding = (props) => {
5
5
  return (
6
6
  <div>
7
- <Card padding="none">{'Card content'}</Card>
7
+ <Card
8
+ {...props}
9
+ padding="none"
10
+ >
11
+ {'Card content'}
12
+ </Card>
8
13
  <br />
9
- <Card padding="xs">{'Card content'}</Card>
14
+ <Card
15
+ {...props}
16
+ padding="xs"
17
+ >
18
+ {'Card content'}
19
+ </Card>
10
20
  <br />
11
- <Card padding="sm">{'Card content'}</Card>
21
+ <Card
22
+ {...props}
23
+ padding="sm"
24
+ >
25
+ {'Card content'}
26
+ </Card>
12
27
  <br />
13
- <Card padding="md">{'Card content'}</Card>
28
+ <Card
29
+ {...props}
30
+ padding="md"
31
+ >
32
+ {'Card content'}
33
+ </Card>
14
34
  <br />
15
- <Card padding="lg">{'Card content'}</Card>
35
+ <Card
36
+ {...props}
37
+ padding="lg"
38
+ >
39
+ {'Card content'}
40
+ </Card>
16
41
  <br />
17
- <Card padding="xl">{'Card content'}</Card>
42
+ <Card
43
+ {...props}
44
+ padding="xl"
45
+ >
46
+ {'Card content'}
47
+ </Card>
18
48
  <br />
19
49
  </div>
20
50
  )
@@ -1,12 +1,17 @@
1
1
  import React from 'react'
2
2
  import Card from '../_card.jsx'
3
3
 
4
- const CardSelected = () => {
4
+ const CardSelected = (props) => {
5
5
  return (
6
6
  <div>
7
- <Card>{'Card content'}</Card>
7
+ <Card {...props}>{'Card content'}</Card>
8
8
  <br />
9
- <Card selected>{'Card content'}</Card>
9
+ <Card
10
+ {...props}
11
+ selected
12
+ >
13
+ {'Card content'}
14
+ </Card>
10
15
  </div>
11
16
  )
12
17
  }
@@ -2,19 +2,28 @@ import React from 'react'
2
2
  import { Card } from '../../'
3
3
  import { SectionSeparator } from '../../'
4
4
 
5
- const CardSeparator = () => {
5
+ const CardSeparator = (props) => {
6
6
  return (
7
- <Card padding="none">
7
+ <Card
8
+ {...props}
9
+ padding="none"
10
+ >
8
11
  <Card.Body>
9
12
  {'Header'}
10
13
  </Card.Body>
11
- <SectionSeparator variant="card" />
14
+ <SectionSeparator
15
+ {...props}
16
+ variant="card"
17
+ />
12
18
  <Card.Body>
13
19
  {
14
20
  'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec iaculis, risus a fringilla luctus, sapien eros sodales ex, quis molestie est nulla non turpis. Vestibulum aliquet at ipsum eget posuere. Morbi sed laoreet erat. Sed commodo posuere lectus, at porta nulla ornare a. Suspendisse quam est, sollicitudin ut enim sit amet, commodo placerat enim. Donec laoreet metus ac mauris pellentesque mattis. Pellentesque luctus vel mauris non aliquam. Mauris hendrerit mattis porttitor. Curabitur vehicula justo non ex consectetur commodo. Quisque posuere aliquet quam. Maecenas malesuada magna mauris, ac tempor metus euismod at. Cras ornare fermentum magna mollis efficitur. Sed vitae nulla vel purus ultrices mollis. Maecenas id nulla id libero faucibus feugiat quis sit amet turpis. In commodo pellentesque risus at fringilla. Integer non interdum leo, non commodo ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut mi augue, dignissim at orci vel, egestas aliquam mi. Proin finibus aliquet tempor. Integer cursus, ex quis gravida rhoncus, nisi elit viverra ipsum, non efficitur est ex ac tortor. Praesent vitae odio massa.'
15
21
  }
16
22
  </Card.Body>
17
- <SectionSeparator variant="card" />
23
+ <SectionSeparator
24
+ {...props}
25
+ variant="card"
26
+ />
18
27
  <Card.Body>
19
28
  {'Footer'}
20
29
  </Card.Body>
@@ -1,16 +1,36 @@
1
1
  import React from 'react'
2
2
  import { Card } from '../../'
3
3
 
4
- const CardShadow = () => {
4
+ const CardShadow = (props) => {
5
5
  return (
6
6
  <div>
7
- <Card shadow="none">{'Card content'}</Card>
7
+ <Card
8
+ {...props}
9
+ shadow="none"
10
+ >
11
+ {'Card content'}
12
+ </Card>
8
13
  <br />
9
- <Card shadow="deep">{'Card content'}</Card>
14
+ <Card
15
+ {...props}
16
+ shadow="deep"
17
+ >
18
+ {'Card content'}
19
+ </Card>
10
20
  <br />
11
- <Card shadow="deeper">{'Card content'}</Card>
21
+ <Card
22
+ {...props}
23
+ shadow="deeper"
24
+ >
25
+ {'Card content'}
26
+ </Card>
12
27
  <br />
13
- <Card shadow="deepest">{'Card content'}</Card>
28
+ <Card
29
+ {...props}
30
+ shadow="deepest"
31
+ >
32
+ {'Card content'}
33
+ </Card>
14
34
  <br />
15
35
  </div>
16
36
  )
@@ -1,7 +1,6 @@
1
1
  examples:
2
2
  rails:
3
3
  - card_light: Default
4
- - card_dark: Dark Cards
5
4
  - card_highlight: Highlight Cards
6
5
  - card_header: Header Cards
7
6
  - card_selected: Selected
@@ -12,7 +11,6 @@ examples:
12
11
  - card_border_none: No Border
13
12
  react:
14
13
  - card_light: Default
15
- - card_dark: Dark Cards
16
14
  - card_highlight: Highlight Cards
17
15
  - card_header: Header Cards
18
16
  - card_selected: Selected
@@ -6,5 +6,4 @@ export { default as CardPadding } from './_card_padding.jsx'
6
6
  export { default as CardShadow } from './_card_shadow.jsx'
7
7
  export { default as CardContent } from './_card_content.jsx'
8
8
  export { default as CardSeparator } from './_card_separator.jsx'
9
- export { default as CardDark } from './_card_dark.jsx'
10
9
  export { default as CardBorderNone } from './_card_border_none.jsx'
@@ -40,8 +40,11 @@ const Checkbox = (props: CheckboxProps) => {
40
40
 
41
41
  const dataProps = buildDataProps(data)
42
42
  const ariaProps = buildAriaProps(aria)
43
- const classes = classnames(buildCss('pb_checkbox_kit',
44
- { checked: checked, error: error }), className, globalProps(props))
43
+ const classes = classnames(
44
+ buildCss('pb_checkbox_kit', { checked, error }),
45
+ globalProps(props),
46
+ className
47
+ )
45
48
 
46
49
  return (
47
50
  <label
@@ -15,6 +15,8 @@ module Playbook
15
15
  prop :value
16
16
  prop :name
17
17
 
18
+ prop :input_options, type: Playbook::Props::Hash,
19
+ default: {}
18
20
  prop :required, type: Playbook::Props::Boolean,
19
21
  default: false
20
22
  prop :form_spacing, type: Playbook::Props::Boolean,
@@ -29,7 +31,7 @@ module Playbook
29
31
  end
30
32
 
31
33
  def input
32
- check_box_tag(name, value, checked)
34
+ check_box_tag(name, value, checked, input_options)
33
35
  end
34
36
 
35
37
  def checkbox_label_status
@@ -1,10 +1,11 @@
1
1
  import React from 'react'
2
2
  import { Checkbox } from '../../'
3
3
 
4
- const CheckboxChecked = () => {
4
+ const CheckboxChecked = (props) => {
5
5
  return (
6
6
  <div>
7
7
  <Checkbox
8
+ {...props}
8
9
  checked
9
10
  name="checkbox-name"
10
11
  text="Checked Checkbox"
@@ -1,7 +1,7 @@
1
1
  import React, { useState } from 'react'
2
2
  import { Checkbox } from '../../'
3
3
 
4
- const CheckboxCustom = () => {
4
+ const CheckboxCustom = (props) => {
5
5
  const [checked, setChecked] = useState(false)
6
6
 
7
7
  const handleOnChange = () => {
@@ -14,7 +14,10 @@ const CheckboxCustom = () => {
14
14
  <br />
15
15
  <br />
16
16
  <div>
17
- <Checkbox text="Toggle Me">
17
+ <Checkbox
18
+ {...props}
19
+ text="Toggle Me"
20
+ >
18
21
  <input
19
22
  checked={checked}
20
23
  name="custom-name"
@@ -1,10 +1,11 @@
1
1
  import React from 'react'
2
2
  import { Checkbox } from '../../'
3
3
 
4
- const CheckboxDefault = () => {
4
+ const CheckboxDefault = (props) => {
5
5
  return (
6
6
  <div>
7
7
  <Checkbox
8
+ {...props}
8
9
  name="default name"
9
10
  text="Checkbox label"
10
11
  value="default value"
@@ -1,10 +1,11 @@
1
1
  import React from 'react'
2
2
  import { Checkbox } from '../..'
3
3
 
4
- const CheckboxError = () => {
4
+ const CheckboxError = (props) => {
5
5
  return (
6
6
  <div>
7
7
  <Checkbox
8
+ {...props}
8
9
  error
9
10
  name="default name"
10
11
  text="Checkbox label"
@@ -0,0 +1,10 @@
1
+ <%= pb_rails("checkbox" , props: {
2
+ text: "Checkbox with Options",
3
+ input_options: {
4
+ id: "checkbox-id",
5
+ name: "checkbox-name",
6
+ value: "checkbox-value",
7
+ class: "checkbox-class",
8
+ checked: true
9
+ }
10
+ }) %>
@@ -2,15 +2,12 @@ examples:
2
2
  rails:
3
3
  - checkbox_default: Default
4
4
  - checkbox_checked: Load as checked
5
- - checkbox_dark: Dark
6
5
  - checkbox_custom: Custom Checkbox
7
6
  - checkbox_error: Default w/ Error
8
- - checkbox_dark_error: Dark w/ Error
7
+ - checkbox_options: Checkbox w/ Options
9
8
 
10
9
  react:
11
10
  - checkbox_default: Default
12
11
  - checkbox_checked: Load as checked
13
- - checkbox_dark: Dark
14
12
  - checkbox_custom: Custom Checkbox
15
13
  - checkbox_error: Default w/ Error
16
- - checkbox_dark_error: Dark w/ Error
@@ -1,6 +1,4 @@
1
1
  export { default as CheckboxDefault } from './_checkbox_default.jsx'
2
- export { default as CheckboxDark } from './_checkbox_dark.jsx'
3
2
  export { default as CheckboxCustom } from './_checkbox_custom.jsx'
4
3
  export { default as CheckboxError } from './_checkbox_error.jsx'
5
- export { default as CheckboxDarkError } from './_checkbox_dark_error.jsx'
6
4
  export { default as CheckboxChecked } from './_checkbox_checked.jsx'
@@ -15,7 +15,7 @@
15
15
  <% end %>
16
16
 
17
17
  <% if object.children %>
18
- <div class="pb_circle_chart_block">
18
+ <div class="pb-circle-chart-block">
19
19
  <%= capture(&object.children) %>
20
20
  </div>
21
21
  <% end %>
@@ -0,0 +1,130 @@
1
+ /* @flow */
2
+
3
+ import React, { useEffect, useRef } from 'react'
4
+ import { pbChart } from '../'
5
+ import { globalProps } from '../utilities/globalProps'
6
+ import classnames from 'classnames'
7
+ import Highcharts from 'highcharts'
8
+
9
+ import { buildAriaProps, buildDataProps } from '../utilities/props'
10
+
11
+ type CircleChartProps = {
12
+ aria: Object,
13
+ chartData?: array,
14
+ children: Node,
15
+ className?: string,
16
+ colors: array,
17
+ data?: Object,
18
+ dataLabelHtml: string,
19
+ dataLabels: boolean,
20
+ headerFormat: string,
21
+ id?: string,
22
+ innerSize: "sm" | "md" | "lg" | "none",
23
+ legend: boolean,
24
+ maxPointSize: number,
25
+ minPointSize: number,
26
+ rounded: boolean,
27
+ startAngle: number,
28
+ style: string,
29
+ title: string,
30
+ tooltipHtml: string,
31
+ useHtml: boolean,
32
+ zMin: number,
33
+ }
34
+
35
+ const CircleChart = (props: CircleChartProps) => {
36
+ const {
37
+ aria = {},
38
+ chartData = [{}],
39
+ children,
40
+ className,
41
+ colors = [],
42
+ data = {},
43
+ dataLabelHtml = '<div>{point.name}</div>',
44
+ dataLabels = false,
45
+ headerFormat = null,
46
+ id,
47
+ innerSize = 'md',
48
+ legend = false,
49
+ maxPointSize = null,
50
+ minPointSize = null,
51
+ rounded = false,
52
+ startAngle = null,
53
+ style = 'pie',
54
+ title = '',
55
+ tooltipHtml = '<span style="font-weight: bold; color:{point.color};">●</span>{point.name}: ' +
56
+ '<b>{point.y}</b>',
57
+ useHtml = false,
58
+ zMin = null,
59
+ } = props
60
+
61
+ const ariaProps = buildAriaProps(aria)
62
+ const dataProps = buildDataProps(data)
63
+ const innerSizes = { sm: '35%', md: '50%', lg: '85%', none: '0%' }
64
+ const innerSizeFormat = (size) => innerSizes[size]
65
+ const roundedBorderWidth = rounded ? 20 : null
66
+ const roundedBorderColor = rounded ? null : ''
67
+
68
+ // Runs first time component Renders
69
+ useEffect(() => {
70
+ const formattedChartData = chartData.map((obj) => {
71
+ obj.y = obj.value
72
+ delete obj.value
73
+ return obj
74
+ })
75
+
76
+ new pbChart('.selector', {
77
+ id,
78
+ colors,
79
+ borderColor: roundedBorderColor,
80
+ borderWidth: roundedBorderWidth,
81
+ chartData: formattedChartData,
82
+ title,
83
+ type: style,
84
+ showInLegend: legend,
85
+ dataLabelHtml,
86
+ dataLabels,
87
+ headerFormat,
88
+ tooltipHtml,
89
+ useHTML: useHtml,
90
+ minPointSize,
91
+ maxPointSize,
92
+ innerSize: innerSizeFormat(innerSize),
93
+ zMin,
94
+ startAngle,
95
+ })
96
+ }, [])
97
+
98
+ const componentDidMount = useRef(false)
99
+
100
+ // Doesn't run the first time but runs every subsequent render
101
+ useEffect(() => {
102
+ if (componentDidMount.current) {
103
+ Highcharts.charts.forEach((chart) => {
104
+ if (chart.renderTo.id === id) {
105
+ const updatedValueArray = chartData.map((obj) => {
106
+ return obj.value
107
+ })
108
+ chart.series[0].setData(updatedValueArray)
109
+ }
110
+ })
111
+ } else {
112
+ componentDidMount.current = true
113
+ }
114
+ }, [chartData])
115
+ return (
116
+ <div id={`wrapper-circle-chart-${id}`}>
117
+ <div
118
+ id={id}
119
+ {...ariaProps}
120
+ {...dataProps}
121
+ className={classnames('pb_circle_chart', globalProps(props), className)}
122
+ />
123
+ <If condition={children}>
124
+ <div className="pb-circle-chart-block">{children}</div>
125
+ </If>
126
+ </div>
127
+ )
128
+ }
129
+
130
+ export default CircleChart