playbook_ui 7.0.1.pre.alpha10 → 7.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (222) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -6
  3. data/app/controllers/playbook/application_controller.rb +1 -4
  4. data/app/helpers/playbook/pb_kit_helper.rb +2 -2
  5. data/app/pb_kits/playbook/_playbook.scss +1 -0
  6. data/app/pb_kits/playbook/index.js +6 -0
  7. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +5 -1
  8. data/app/pb_kits/playbook/pb_badge/_badge.jsx +4 -2
  9. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.html.erb +1 -12
  10. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +1 -1
  11. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +2 -1
  12. data/app/pb_kits/playbook/pb_button/_button.jsx +5 -1
  13. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.jsx +5 -1
  14. data/app/pb_kits/playbook/pb_caption/_caption.jsx +2 -2
  15. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +5 -2
  16. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +3 -1
  17. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_options.html.erb +10 -0
  18. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +1 -0
  19. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.html.erb +1 -1
  20. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.jsx +130 -0
  21. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.scss +1 -1
  22. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +39 -0
  23. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +29 -0
  24. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +28 -0
  25. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.jsx +117 -0
  26. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +53 -0
  27. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +30 -0
  28. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.jsx +45 -0
  29. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.jsx +30 -0
  30. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.jsx +45 -0
  31. data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +11 -0
  32. data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +9 -0
  33. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +5 -1
  34. data/app/pb_kits/playbook/pb_contact/_contact.jsx +5 -1
  35. data/app/pb_kits/playbook/pb_currency/_currency.jsx +5 -1
  36. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +5 -1
  37. data/app/pb_kits/playbook/pb_date/date.rb +2 -1
  38. data/app/pb_kits/playbook/pb_date/docs/_date_default.html.erb +8 -1
  39. data/app/pb_kits/playbook/pb_date/docs/_date_timezone.html.erb +51 -0
  40. data/app/pb_kits/playbook/pb_date/docs/_date_timezone.md +6 -0
  41. data/app/pb_kits/playbook/pb_date/docs/_description.md +2 -0
  42. data/app/pb_kits/playbook/pb_date/docs/example.yml +1 -0
  43. data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +7 -4
  44. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +0 -4
  45. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +3 -3
  46. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +8 -10
  47. data/app/pb_kits/playbook/pb_date_picker/docs/{_date_picker_read_only.html.erb → _date_picker_allow_input.html.erb} +1 -1
  48. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.jsx +13 -0
  49. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.md +1 -0
  50. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.jsx +34 -0
  51. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.md +3 -0
  52. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +3 -2
  53. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +2 -1
  54. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_calendar_input_icon.scss +1 -0
  55. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.jsx +5 -1
  56. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +2 -2
  57. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +5 -1
  58. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.html.erb +1 -8
  59. data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb +7 -0
  60. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +2 -2
  61. data/app/pb_kits/playbook/pb_flex/_flex.jsx +2 -2
  62. data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +1 -1
  63. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +9 -1
  64. data/app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb +7 -2
  65. data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +3 -2
  66. data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +1 -1
  67. data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +1 -1
  68. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +2 -2
  69. data/app/pb_kits/playbook/pb_icon/_icon.jsx +2 -2
  70. data/app/pb_kits/playbook/pb_icon_value/_icon_value.jsx +5 -1
  71. data/app/pb_kits/playbook/pb_image/_image.jsx +5 -1
  72. data/app/pb_kits/playbook/pb_label_pill/_label_pill.jsx +5 -1
  73. data/app/pb_kits/playbook/pb_layout/_layout.jsx +4 -4
  74. data/app/pb_kits/playbook/pb_line_graph/_line_graph.html.erb +1 -13
  75. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +1 -1
  76. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +2 -1
  77. data/app/pb_kits/playbook/pb_list/_list.jsx +3 -2
  78. data/app/pb_kits/playbook/pb_list/_list_item.jsx +3 -2
  79. data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +5 -1
  80. data/app/pb_kits/playbook/pb_message/_message.jsx +5 -1
  81. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.jsx +5 -2
  82. data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -2
  83. data/app/pb_kits/playbook/pb_person/_person.jsx +5 -1
  84. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +12 -7
  85. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_with_wrong_numbers.jsx +1 -0
  86. data/app/pb_kits/playbook/pb_popover/_popover.jsx +5 -1
  87. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +4 -4
  88. data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +1 -1
  89. data/app/pb_kits/playbook/pb_radio/_radio.html.erb +1 -1
  90. data/app/pb_kits/playbook/pb_radio/docs/_radio_options.html.erb +9 -0
  91. data/app/pb_kits/playbook/pb_radio/docs/example.yml +1 -0
  92. data/app/pb_kits/playbook/pb_radio/radio.rb +2 -4
  93. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +1 -1
  94. data/app/pb_kits/playbook/pb_select/_select.scss +1 -1
  95. data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +2 -2
  96. data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +3 -3
  97. data/app/pb_kits/playbook/pb_stat_value/docs/_stat_value_default.jsx +6 -1
  98. data/app/pb_kits/playbook/pb_table/_table.jsx +2 -2
  99. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +1 -1
  100. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +17 -8
  101. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +1 -1
  102. data/app/pb_kits/playbook/pb_time/_time.html.erb +23 -17
  103. data/app/pb_kits/playbook/pb_time/_time.jsx +22 -13
  104. data/app/pb_kits/playbook/pb_time/_time.scss +16 -8
  105. data/app/pb_kits/playbook/pb_time/docs/_time_align.html.erb +18 -0
  106. data/app/pb_kits/playbook/pb_time/docs/_time_align.jsx +3 -3
  107. data/app/pb_kits/playbook/pb_time/docs/_time_default.html.erb +47 -3
  108. data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +33 -4
  109. data/app/pb_kits/playbook/pb_time/docs/_time_sizes.html.erb +11 -0
  110. data/app/pb_kits/playbook/pb_time/docs/_time_sizes.jsx +19 -0
  111. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.html.erb +3 -1
  112. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +0 -7
  113. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.html.erb +38 -0
  114. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.jsx +12 -14
  115. data/app/pb_kits/playbook/pb_time/docs/example.yml +6 -2
  116. data/app/pb_kits/playbook/pb_time/docs/index.js +1 -0
  117. data/app/pb_kits/playbook/pb_time/time.rb +14 -2
  118. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +1 -1
  119. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +3 -3
  120. data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +1 -1
  121. data/app/pb_kits/playbook/pb_title/_title.jsx +5 -1
  122. data/app/pb_kits/playbook/pb_title_count/_title_count.jsx +5 -1
  123. data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +5 -5
  124. data/app/pb_kits/playbook/pb_toggle/_toggle.jsx +3 -3
  125. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +41 -43
  126. data/app/pb_kits/playbook/pb_toggle/docs/example.yml +0 -2
  127. data/app/pb_kits/playbook/pb_toggle/docs/index.js +0 -1
  128. data/app/pb_kits/playbook/pb_toggle/toggle.rb +1 -1
  129. data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +60 -0
  130. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +20 -3
  131. data/app/pb_kits/playbook/pb_typeahead/components/Control.jsx +30 -0
  132. data/app/pb_kits/playbook/pb_typeahead/components/IndicatorsContainer.jsx +13 -0
  133. data/app/pb_kits/playbook/pb_typeahead/components/MenuList.jsx +12 -0
  134. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.jsx +51 -0
  135. data/app/pb_kits/playbook/pb_typeahead/components/Option.jsx +34 -0
  136. data/app/pb_kits/playbook/pb_typeahead/components/Placeholder.jsx +13 -0
  137. data/app/pb_kits/playbook/pb_typeahead/components/ValueContainer.jsx +13 -0
  138. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.jsx +22 -0
  139. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +29 -0
  140. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.jsx +84 -0
  141. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_summary.jsx +45 -0
  142. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +101 -0
  143. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_summary.jsx +27 -0
  144. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +8 -2
  145. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +4 -0
  146. data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +5 -2
  147. data/app/pb_kits/playbook/plugins/pb_chart.js +1 -1
  148. data/app/pb_kits/playbook/react_rails_kits.js +5 -0
  149. data/app/pb_kits/playbook/tokens/_colors.scss +22 -23
  150. data/app/pb_kits/playbook/tokens/_typography.scss +7 -7
  151. data/app/pb_kits/playbook/tokens/index.scss +11 -0
  152. data/app/pb_kits/playbook/vendor.js +5 -0
  153. data/lib/generators/kit/kit_generator.rb +1 -1
  154. data/lib/generators/kit/templates/kit_jsx.erb.tt +1 -1
  155. data/lib/playbook/engine.rb +1 -0
  156. data/lib/playbook/version.rb +1 -1
  157. data/lib/tasks/pb_release.rake +14 -3
  158. metadata +46 -70
  159. data/app/controllers/playbook/guides_controller.rb +0 -11
  160. data/app/controllers/playbook/pages_controller.rb +0 -94
  161. data/app/controllers/playbook/samples_controller.rb +0 -40
  162. data/app/pb_kits/playbook/packs/application.js +0 -55
  163. data/app/pb_kits/playbook/packs/examples.js +0 -176
  164. data/app/pb_kits/playbook/packs/main.scss +0 -12
  165. data/app/pb_kits/playbook/packs/samples.js +0 -21
  166. data/app/pb_kits/playbook/packs/site_styles/_samples.scss +0 -72
  167. data/app/pb_kits/playbook/packs/site_styles/_scaffold.scss +0 -43
  168. data/app/pb_kits/playbook/packs/site_styles/_site-style.scss +0 -146
  169. data/app/pb_kits/playbook/packs/site_styles/docs/_all.scss +0 -10
  170. data/app/pb_kits/playbook/packs/site_styles/docs/_bg_light_doc_example.scss +0 -7
  171. data/app/pb_kits/playbook/packs/site_styles/docs/_code_snippet.scss +0 -531
  172. data/app/pb_kits/playbook/packs/site_styles/docs/_color_utilities.scss +0 -92
  173. data/app/pb_kits/playbook/packs/site_styles/docs/_flex_examples.scss +0 -15
  174. data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +0 -132
  175. data/app/pb_kits/playbook/packs/site_styles/docs/_kits_examples.scss +0 -15
  176. data/app/pb_kits/playbook/packs/site_styles/docs/_markdown.scss +0 -88
  177. data/app/pb_kits/playbook/packs/site_styles/docs/_spacing_tokens.scss +0 -72
  178. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.jsx +0 -13
  179. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.md +0 -1
  180. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.html.erb +0 -11
  181. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.jsx +0 -44
  182. data/app/views/layouts/playbook/_mobile_hamburger.html.erb +0 -2
  183. data/app/views/layouts/playbook/_nav.html.erb +0 -34
  184. data/app/views/layouts/playbook/_sidebar.html.erb +0 -51
  185. data/app/views/layouts/playbook/application.html.erb +0 -26
  186. data/app/views/layouts/playbook/fullscreen.html.slim +0 -10
  187. data/app/views/layouts/playbook/grid.html.slim +0 -10
  188. data/app/views/layouts/playbook/samples.html.erb +0 -19
  189. data/app/views/playbook/guides/create_kit.html.slim +0 -16
  190. data/app/views/playbook/guides/create_kit/_file_naming.html.md +0 -2
  191. data/app/views/playbook/guides/create_kit/_generator.html.md +0 -6
  192. data/app/views/playbook/guides/create_kit/_kit_examples.html.md +0 -2
  193. data/app/views/playbook/guides/create_kit/_kit_rails.html.md +0 -2
  194. data/app/views/playbook/guides/create_kit/_kit_react.html.md +0 -2
  195. data/app/views/playbook/guides/create_kit/_layout.html.md +0 -2
  196. data/app/views/playbook/guides/create_kit/_view_objects.html.md +0 -2
  197. data/app/views/playbook/guides/create_kit/_writing_sass.md +0 -10
  198. data/app/views/playbook/guides/use_nitro.html.slim +0 -6
  199. data/app/views/playbook/guides/use_nitro/_local.html.md +0 -2
  200. data/app/views/playbook/guides/use_nitro/_nitro_components.html.md +0 -2
  201. data/app/views/playbook/guides/use_nitro/_versions.html.md +0 -2
  202. data/app/views/playbook/pages/fullscreen.html.slim +0 -10
  203. data/app/views/playbook/pages/grid.html.slim +0 -2
  204. data/app/views/playbook/pages/home.html.slim +0 -4
  205. data/app/views/playbook/pages/kit_category_show.html.erb +0 -14
  206. data/app/views/playbook/pages/kit_show.html.erb +0 -33
  207. data/app/views/playbook/pages/kits.html.erb +0 -12
  208. data/app/views/playbook/pages/principals/_getting_started.html.md +0 -30
  209. data/app/views/playbook/pages/principles.html.slim +0 -3
  210. data/app/views/playbook/pages/tokens.html.slim +0 -15
  211. data/app/views/playbook/pages/tokens/_pb_doc_spacing.html.slim +0 -61
  212. data/app/views/playbook/pages/utilities.html.slim +0 -116
  213. data/app/views/playbook/pages/utilities/_pb_doc_color.html.slim +0 -15
  214. data/app/views/playbook/samples/collection_detail/index.html.erb +0 -169
  215. data/app/views/playbook/samples/collection_detail/index.jsx +0 -372
  216. data/app/views/playbook/samples/dashboards/index.html.erb +0 -81
  217. data/app/views/playbook/samples/dashboards/index.jsx +0 -130
  218. data/app/views/playbook/samples/filter_table/index.html.erb +0 -348
  219. data/app/views/playbook/samples/filter_table/index.jsx +0 -433
  220. data/app/views/playbook/samples/registration/index.html.erb +0 -316
  221. data/app/views/playbook/samples/registration/index.jsx +0 -476
  222. data/app/views/playbook/samples/sample_show.html.erb +0 -36
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 564d38b6ee17565260aa12a23e6bd24ffe743ee1e76495ddb3fb6c70cce2ad52
4
- data.tar.gz: 0fd88fa565499b96e2e71d8a6b04e3cc2b78f443360c1b966b3ae66a946239bf
3
+ metadata.gz: a2be1d3b6342ecceb4793c54fc1a73599d4fd10654f050dfb03f3add4bc47cfe
4
+ data.tar.gz: a7e28a3f8f6f51d3ad4eb4b317f25934de789758b69a8cae3487e9588ba2f477
5
5
  SHA512:
6
- metadata.gz: 4b3421ce38f65500a9eb723786150dd104fd7971f8a6ea760250a97da387c2413e8b32ad98d1439535437b7503455810be7520b17b3f7f1237e6585da686f2cb
7
- data.tar.gz: f9e4aa1f86a1d4d281a39619c353e9084a74dae22493f1b11b872e358fa19c15559b08d9ecacdf8ecba91927e493594546de96bb86925bb8bdb545abd36df578
6
+ metadata.gz: 5500e6d44e9b25328ea8083f76bade518d1fdef2ea08719b8d4294976a6abaaba54fa70f2979aa475efbd852cd17c32b29343b64d5c31de498072cc5975add16
7
+ data.tar.gz: ab284d720b728e47237108a52044786a161b1963d59b969ff5e4b0b1eeb419480ac86414b165bc9dea4afdae42d7e2414821cfcbba8366290ef3a4f04493f8cf
data/README.md CHANGED
@@ -9,8 +9,7 @@ Playbook is the first design system built for both Rails & React interfaces. Ins
9
9
 
10
10
  ## Getting started
11
11
 
12
- 1. Run `make install`
13
- 1. Run `make start`
12
+ 1. Run `make it`
14
13
  1. Install overcommit hooks `bin/overcommit`
15
14
  1. open [http://localhost:8089](http://localhost:8089)
16
15
 
@@ -35,10 +34,9 @@ To run the tests, do `bin/test`. To launch a shell in the container run `make sh
35
34
 
36
35
  See [docs/upgrade-guide](./docs/upgrade-guide)
37
36
 
38
- ### Nitro & Releases
37
+ ### Releases
39
38
 
40
- * [Integrating Playbook Kits into Nitro Components](https://github.com/powerhome/playbook/wiki/Integrating-Playbook-Kits-into-Nitro-Components)
41
- * [Creating Releases](https://github.com/powerhome/playbook/wiki/Releasing-a-New-Version)
39
+ * [Playbook Releases](https://github.com/powerhome/playbook/wiki/Playbook-Releases)
42
40
 
43
41
  ### Development Environment
44
42
 
@@ -63,4 +61,4 @@ See [docs/upgrade-guide](./docs/upgrade-guide)
63
61
  5. When finished, inside of the directory you want to test with playbook, run `yarn unlink playbook-ui`.
64
62
  6. Inside of your Playbook repository, run `yarn unlink`.
65
63
 
66
- Keep in mind: Styles are brought in from playbook through the rails gem, so you will not be able to test scss updates with yarn linking.
64
+ Keep in mind: Styles are brought in from playbook through the rails gem, so you will not be able to test scss updates with yarn linking.
@@ -2,8 +2,6 @@
2
2
 
3
3
  module Playbook
4
4
  class ApplicationController < ActionController::Base
5
- protect_from_forgery with: :exception
6
-
7
5
  helper Webpacker::Helper
8
6
  helper Playbook::PbKitHelper
9
7
  helper Playbook::PbDocHelper
@@ -11,6 +9,5 @@ module Playbook
11
9
  append_view_path Playbook::Engine.root + "app/pb_kits"
12
10
  end
13
11
 
14
- ENV["playbook"] = "true"
15
-
12
+
16
13
  end
@@ -22,7 +22,7 @@ module Playbook
22
22
 
23
23
  private
24
24
  def rails_props(props)
25
- if cookies[:dark_mode].nil? && ENV["playbook"].nil?
25
+ if @playbook.nil?
26
26
  props
27
27
  else
28
28
  dark_mode_props(props)
@@ -30,7 +30,7 @@ module Playbook
30
30
  end
31
31
 
32
32
  def react_props
33
- if cookies[:dark_mode].nil? && ENV["playbook"].nil?
33
+ if @playbook.nil?
34
34
  false
35
35
  else
36
36
  dark_mode
@@ -1,3 +1,4 @@
1
+ @import "tokens/fonts";
1
2
  @import "pb_body/body";
2
3
  @import "pb_button/button";
3
4
  @import 'pb_button_toolbar/button_toolbar';
@@ -1,3 +1,7 @@
1
+ import './_playbook.scss'
2
+ import 'lazysizes/plugins/attrchange/ls.attrchange'
3
+ import 'lazysizes'
4
+
1
5
  // React Component JSX Imports from the React Kits
2
6
  export Avatar from './pb_avatar/_avatar.jsx'
3
7
  export AvatarActionButton from './pb_avatar_action_button/_avatar_action_button.jsx'
@@ -9,6 +13,7 @@ export ButtonToolbar from './pb_button_toolbar/_button_toolbar.jsx'
9
13
  export Caption from './pb_caption/_caption.jsx'
10
14
  export Card from './pb_card/_card.jsx'
11
15
  export Checkbox from './pb_checkbox/_checkbox.jsx'
16
+ export CircleChart from './pb_circle_chart/_circle_chart.jsx'
12
17
  export CircleIconButton from './pb_circle_icon_button/_circle_icon_button.jsx'
13
18
  export Contact from './pb_contact/_contact.jsx'
14
19
  export Currency from './pb_currency/_currency.jsx'
@@ -80,6 +85,7 @@ export Title from './pb_title/_title.jsx'
80
85
  export TitleCount from './pb_title_count/_title_count.jsx'
81
86
  export TitleDetail from './pb_title_detail/_title_detail.jsx'
82
87
  export Toggle from './pb_toggle/_toggle.jsx'
88
+ export Typeahead from './pb_typeahead/_typeahead.jsx'
83
89
  export User from './pb_user/_user.jsx'
84
90
  export UserBadge from './pb_user_badge/_user_badge.jsx'
85
91
  export WeekdayStacked from './pb_weekday_stacked/_weekday_stacked.jsx'
@@ -30,7 +30,11 @@ const Avatar = (props: AvatarProps) => {
30
30
  const { aria = {}, className, data = {}, name = null, id = id, imageUrl, size = 'md', status = null, dark = false } = props
31
31
  const dataProps = buildDataProps(data)
32
32
  const ariaProps = buildAriaProps(aria)
33
- const classes = classnames(buildCss('pb_avatar_kit', size), className, globalProps(props))
33
+ const classes = classnames(
34
+ buildCss('pb_avatar_kit', size),
35
+ globalProps(props),
36
+ className
37
+ )
34
38
 
35
39
  const initials = name && firstTwoInitials(name)
36
40
  dataProps['data-initials'] = initials
@@ -32,8 +32,10 @@ const Badge = (props: BadgeProps) => {
32
32
  const ariaProps = buildAriaProps(aria)
33
33
  const dataProps = buildDataProps(data)
34
34
  const css = classnames(
35
- buildCss('pb_badge_kit', variant, { rounded: rounded }), className,
36
- globalProps(props))
35
+ buildCss('pb_badge_kit', variant, { rounded }),
36
+ globalProps(props),
37
+ className
38
+ )
37
39
 
38
40
  return (
39
41
  <div
@@ -1,12 +1 @@
1
- <%= content_tag(:div, "",
2
- aria: object.aria,
3
- id: object.id,
4
- data: object.data,
5
- class: object.classname) %>
6
- <% content_for :pb_js do %>
7
- <%= javascript_tag do %>
8
- window.addEventListener('DOMContentLoaded', function() {
9
- new pbChart('.selector', <%= object.chart_options %>)
10
- })
11
- <% end %>
12
- <% end %>
1
+ <%= react_component('BarGraph', object.chart_options) %>
@@ -75,7 +75,7 @@ export default class BarGraph extends React.Component<BarGraphProps> {
75
75
 
76
76
  return (
77
77
  <div
78
- className={classnames(className, globalProps(this.props))}
78
+ className={classnames(globalProps(this.props), className)}
79
79
  id={id}
80
80
  />
81
81
  )
@@ -32,6 +32,7 @@ module Playbook
32
32
  def chart_options
33
33
  {
34
34
  id: id,
35
+ className: classname,
35
36
  chartData: chart_data,
36
37
  type: chart_type,
37
38
  title: title,
@@ -44,7 +45,7 @@ module Playbook
44
45
  legend: legend,
45
46
  toggleLegendClick: toggle_legend_click,
46
47
  height: height,
47
- }.to_json.html_safe
48
+ }
48
49
  end
49
50
 
50
51
  def classname
@@ -82,7 +82,11 @@ const Button = (props: ButtonPropTypes) => {
82
82
  } = props
83
83
 
84
84
  const buttonAria = buttonAriaProps(props)
85
- const css = classnames(buttonClassName(props), className, globalProps(props))
85
+ const css = classnames(
86
+ buttonClassName(props),
87
+ globalProps(props),
88
+ className
89
+ )
86
90
  const loadingIcon = (
87
91
  <div className="loading-icon">
88
92
  <Icon
@@ -35,7 +35,11 @@ const ButtonToolbar = (props: ButtonToolbarProps) => {
35
35
  const ariaProps = buildAriaProps(aria)
36
36
  const dataProps = buildDataProps(data)
37
37
 
38
- const classes = classnames(buildCss('pb_button_toolbar_kit', orientation, { connected: connected }), className, globalProps(props))
38
+ const classes = classnames(
39
+ buildCss('pb_button_toolbar_kit', orientation, { connected }),
40
+ globalProps(props),
41
+ className
42
+ )
39
43
 
40
44
  return (
41
45
  <div
@@ -35,8 +35,8 @@ const Caption = (props: CaptionProps) => {
35
35
  const dataProps = buildDataProps(data)
36
36
  const css = classnames(
37
37
  buildCss('pb_caption_kit', size, variant),
38
- className,
39
- globalProps(props)
38
+ globalProps(props),
39
+ className
40
40
  )
41
41
 
42
42
  return (
@@ -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
@@ -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
+ }) %>
@@ -4,6 +4,7 @@ examples:
4
4
  - checkbox_checked: Load as checked
5
5
  - checkbox_custom: Custom Checkbox
6
6
  - checkbox_error: Default w/ Error
7
+ - checkbox_options: Checkbox w/ Options
7
8
 
8
9
  react:
9
10
  - checkbox_default: Default
@@ -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
@@ -5,7 +5,7 @@
5
5
 
6
6
  }
7
7
 
8
- .pb_circle_chart_block {
8
+ .pb-circle-chart-block {
9
9
  position:absolute;
10
10
  display: flex;
11
11
  justify-content: center;
@@ -0,0 +1,39 @@
1
+ import React from 'react'
2
+ import { CircleChart, Title } from '../../'
3
+
4
+ const dataWithABlock = [
5
+ {
6
+ name: 'Waiting for Calls',
7
+ value: 41,
8
+ },
9
+ {
10
+ name: 'On Call',
11
+ value: 49,
12
+ },
13
+ {
14
+ name: 'After call',
15
+ value: 10,
16
+ },
17
+ ]
18
+
19
+ const CircleChartBlock = () => (
20
+
21
+ <div>
22
+ <CircleChart
23
+ chartData={dataWithABlock}
24
+ id="chart-with-a-block"
25
+ innerSize="lg"
26
+ marginTop="xl"
27
+ rounded
28
+ >
29
+ <Title
30
+ size={1}
31
+ tag="div"
32
+ >
33
+ {'83'}
34
+ </Title>
35
+ </CircleChart>
36
+ </div>
37
+ )
38
+
39
+ export default CircleChartBlock