playbook_ui 7.0.0.pre.alpha9 → 7.0.1.pre.alpha5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (259) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/playbook/application_controller.rb +4 -0
  3. data/app/controllers/playbook/guides_controller.rb +11 -0
  4. data/app/controllers/playbook/pages_controller.rb +90 -0
  5. data/app/controllers/playbook/samples_controller.rb +40 -0
  6. data/app/helpers/playbook/application_helper.rb +19 -0
  7. data/app/helpers/playbook/pb_doc_helper.rb +1 -0
  8. data/app/helpers/playbook/pb_kit_helper.rb +18 -3
  9. data/app/pb_kits/playbook/_playbook.scss +0 -1
  10. data/app/pb_kits/playbook/config/_kit_example.html.erb +3 -3
  11. data/app/pb_kits/playbook/config/_kit_ui.html.erb +2 -1
  12. data/app/pb_kits/playbook/config/_pb_kit_api.html.erb +10 -12
  13. data/app/pb_kits/playbook/index.js +0 -4
  14. data/app/pb_kits/playbook/packs/application.js +55 -0
  15. data/app/pb_kits/playbook/packs/examples.js +175 -0
  16. data/app/pb_kits/playbook/packs/main.scss +12 -0
  17. data/app/pb_kits/playbook/packs/samples.js +21 -0
  18. data/app/pb_kits/playbook/packs/site_styles/_samples.scss +72 -0
  19. data/app/pb_kits/playbook/packs/site_styles/_scaffold.scss +43 -0
  20. data/app/pb_kits/playbook/packs/site_styles/_site-style.scss +146 -0
  21. data/app/pb_kits/playbook/packs/site_styles/docs/_all.scss +10 -0
  22. data/app/pb_kits/playbook/packs/site_styles/docs/_bg_light_doc_example.scss +7 -0
  23. data/app/pb_kits/playbook/packs/site_styles/docs/_code_snippet.scss +531 -0
  24. data/app/pb_kits/playbook/packs/site_styles/docs/_color_utilities.scss +92 -0
  25. data/app/pb_kits/playbook/packs/site_styles/docs/_flex_examples.scss +15 -0
  26. data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +133 -0
  27. data/app/pb_kits/playbook/packs/site_styles/docs/_kits_examples.scss +15 -0
  28. data/app/pb_kits/playbook/packs/site_styles/docs/_markdown.scss +88 -0
  29. data/app/pb_kits/playbook/packs/site_styles/docs/_spacing_tokens.scss +72 -0
  30. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +8 -3
  31. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.jsx +6 -1
  32. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_monogram.jsx +6 -1
  33. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.jsx +5 -1
  34. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.jsx +3 -1
  35. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.jsx +2 -1
  36. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click.jsx +2 -1
  37. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.jsx +5 -1
  38. data/app/pb_kits/playbook/pb_avatar_action_button/docs/example.yml +1 -9
  39. data/app/pb_kits/playbook/pb_avatar_action_button/docs/index.js +0 -4
  40. data/app/pb_kits/playbook/pb_badge/docs/_badge_colors.jsx +19 -1
  41. data/app/pb_kits/playbook/pb_badge/docs/_badge_default.jsx +4 -1
  42. data/app/pb_kits/playbook/pb_badge/docs/_badge_rounded.jsx +4 -1
  43. data/app/pb_kits/playbook/pb_badge/docs/example.yml +1 -2
  44. data/app/pb_kits/playbook/pb_badge/docs/index.js +0 -1
  45. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.html.erb +12 -1
  46. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +1 -1
  47. data/app/pb_kits/playbook/pb_body/_body.jsx +1 -1
  48. data/app/pb_kits/playbook/pb_body/_body.scss +1 -17
  49. data/app/pb_kits/playbook/pb_body/body.rb +1 -1
  50. data/app/pb_kits/playbook/pb_body/docs/_body_block.jsx +2 -2
  51. data/app/pb_kits/playbook/pb_body/docs/_body_light.jsx +6 -1
  52. data/app/pb_kits/playbook/pb_body/docs/example.yml +2 -4
  53. data/app/pb_kits/playbook/pb_body/docs/index.js +0 -1
  54. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +17 -31
  55. data/app/pb_kits/playbook/pb_button/docs/_button_accessibility.jsx +2 -1
  56. data/app/pb_kits/playbook/pb_button/docs/_button_block_content.jsx +2 -1
  57. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +5 -7
  58. data/app/pb_kits/playbook/pb_button/docs/_button_full_width.jsx +2 -1
  59. data/app/pb_kits/playbook/pb_button/docs/_button_link.jsx +4 -1
  60. data/app/pb_kits/playbook/pb_button/docs/_button_loading.jsx +4 -1
  61. data/app/pb_kits/playbook/pb_button/docs/_button_options.jsx +2 -1
  62. data/app/pb_kits/playbook/pb_button/docs/example.yml +0 -2
  63. data/app/pb_kits/playbook/pb_button/docs/index.js +0 -1
  64. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +8 -16
  65. data/app/pb_kits/playbook/pb_caption/_caption.jsx +1 -3
  66. data/app/pb_kits/playbook/pb_caption/_caption.scss +0 -3
  67. data/app/pb_kits/playbook/pb_caption/caption.rb +1 -4
  68. data/app/pb_kits/playbook/pb_caption/docs/_caption_light.jsx +7 -2
  69. data/app/pb_kits/playbook/pb_caption/docs/example.yml +2 -6
  70. data/app/pb_kits/playbook/pb_caption/docs/index.js +0 -2
  71. data/app/pb_kits/playbook/pb_card/_card.scss +0 -3
  72. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +0 -1
  73. data/app/pb_kits/playbook/pb_card/docs/_card_border_none.jsx +7 -4
  74. data/app/pb_kits/playbook/pb_card/docs/_card_content.jsx +3 -3
  75. data/app/pb_kits/playbook/pb_card/docs/_card_header.jsx +39 -13
  76. data/app/pb_kits/playbook/pb_card/docs/_card_highlight.jsx +13 -4
  77. data/app/pb_kits/playbook/pb_card/docs/_card_light.jsx +2 -2
  78. data/app/pb_kits/playbook/pb_card/docs/_card_padding.jsx +37 -7
  79. data/app/pb_kits/playbook/pb_card/docs/_card_selected.jsx +8 -3
  80. data/app/pb_kits/playbook/pb_card/docs/_card_separator.jsx +13 -4
  81. data/app/pb_kits/playbook/pb_card/docs/_card_shadow.jsx +25 -5
  82. data/app/pb_kits/playbook/pb_card/docs/example.yml +0 -2
  83. data/app/pb_kits/playbook/pb_card/docs/index.js +0 -1
  84. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +6 -12
  85. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_checked.jsx +2 -1
  86. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_custom.jsx +5 -2
  87. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_default.jsx +2 -1
  88. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_error.jsx +2 -1
  89. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +0 -4
  90. data/app/pb_kits/playbook/pb_checkbox/docs/index.js +0 -2
  91. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_click.jsx +2 -1
  92. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_default.jsx +5 -1
  93. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.jsx +3 -1
  94. data/app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml +0 -2
  95. data/app/pb_kits/playbook/pb_circle_icon_button/docs/index.js +0 -1
  96. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.jsx +6 -1
  97. data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.jsx +5 -1
  98. data/app/pb_kits/playbook/pb_currency/docs/_currency_large.jsx +4 -1
  99. data/app/pb_kits/playbook/pb_currency/docs/_currency_medium.jsx +4 -1
  100. data/app/pb_kits/playbook/pb_currency/docs/_currency_small.jsx +4 -1
  101. data/app/pb_kits/playbook/pb_currency/docs/example.yml +1 -2
  102. data/app/pb_kits/playbook/pb_currency/docs/index.js +0 -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/_date.html.erb +8 -32
  106. data/app/pb_kits/playbook/pb_date/_date.jsx +67 -76
  107. data/app/pb_kits/playbook/pb_date/_date.scss +0 -25
  108. data/app/pb_kits/playbook/pb_date/date.rb +11 -20
  109. data/app/pb_kits/playbook/pb_date/docs/_date_default.html.erb +9 -1
  110. data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +28 -0
  111. data/app/pb_kits/playbook/pb_date/docs/_description.md +0 -2
  112. data/app/pb_kits/playbook/pb_date/docs/example.yml +2 -6
  113. data/app/pb_kits/playbook/pb_date/docs/index.js +1 -3
  114. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_dark.jsx +1 -1
  115. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_default.jsx +1 -1
  116. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.html.erb +8 -1
  117. data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb +0 -7
  118. data/app/pb_kits/playbook/pb_file_upload/_file_upload.jsx +1 -1
  119. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +2 -5
  120. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_default.jsx +5 -1
  121. data/app/pb_kits/playbook/pb_hashtag/docs/example.yml +0 -2
  122. data/app/pb_kits/playbook/pb_hashtag/docs/index.js +0 -1
  123. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_emphasis.jsx +3 -1
  124. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_modified.jsx +2 -1
  125. data/app/pb_kits/playbook/pb_home_address_street/docs/example.yml +1 -3
  126. data/app/pb_kits/playbook/pb_home_address_street/docs/index.js +0 -1
  127. data/app/pb_kits/playbook/pb_icon/docs/_icon_default_dark.html.erb +1 -3
  128. data/app/pb_kits/playbook/pb_icon/docs/_icon_default_dark.jsx +5 -7
  129. data/app/pb_kits/playbook/pb_line_graph/_line_graph.html.erb +13 -1
  130. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +1 -1
  131. data/app/pb_kits/playbook/pb_nav/_horizontal_nav.scss +28 -6
  132. data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -7
  133. data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +42 -18
  134. data/app/pb_kits/playbook/pb_online_status/docs/_online_status_default.jsx +13 -4
  135. data/app/pb_kits/playbook/pb_online_status/docs/example.yml +1 -2
  136. data/app/pb_kits/playbook/pb_online_status/docs/index.js +0 -1
  137. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +6 -7
  138. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_with_wrong_numbers.jsx +0 -1
  139. data/app/pb_kits/playbook/pb_radio/_radio.scss +4 -9
  140. data/app/pb_kits/playbook/pb_select/_select.scss +4 -8
  141. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +3 -6
  142. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.jsx +5 -9
  143. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.jsx +5 -9
  144. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +37 -35
  145. data/app/pb_kits/playbook/pb_table/styles/_hover.scss +12 -15
  146. data/app/pb_kits/playbook/pb_table/styles/_mobile.scss +4 -6
  147. data/app/pb_kits/playbook/pb_table/styles/_table-dark.scss +4 -6
  148. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +4 -4
  149. data/app/pb_kits/playbook/pb_time/_time.jsx +5 -7
  150. data/app/pb_kits/playbook/pb_time/docs/_time_dark.jsx +2 -0
  151. data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +3 -1
  152. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +3 -0
  153. data/app/pb_kits/playbook/pb_time/docs/example.yml +0 -1
  154. data/app/pb_kits/playbook/pb_time/docs/index.js +0 -1
  155. data/app/pb_kits/playbook/pb_title/_title.jsx +1 -1
  156. data/app/pb_kits/playbook/pb_title/_title.scss +5 -5
  157. data/app/pb_kits/playbook/pb_title/docs/example.yml +0 -2
  158. data/app/pb_kits/playbook/pb_title/docs/index.js +0 -1
  159. data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +4 -4
  160. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +2 -4
  161. data/app/pb_kits/playbook/tokens/_colors.scss +24 -23
  162. data/app/pb_kits/playbook/tokens/_typography.scss +5 -5
  163. data/app/pb_kits/playbook/vendor.js +0 -5
  164. data/app/views/layouts/playbook/_mobile_hamburger.html.erb +2 -0
  165. data/app/views/layouts/playbook/_nav.html.erb +35 -0
  166. data/app/views/layouts/playbook/_sidebar.html.erb +51 -0
  167. data/app/views/layouts/playbook/application.html.erb +26 -0
  168. data/app/views/layouts/playbook/fullscreen.html.slim +10 -0
  169. data/app/views/layouts/playbook/grid.html.slim +10 -0
  170. data/app/views/layouts/playbook/samples.html.erb +19 -0
  171. data/app/views/playbook/guides/create_kit.html.slim +16 -0
  172. data/app/views/playbook/guides/create_kit/_file_naming.html.md +2 -0
  173. data/app/views/playbook/guides/create_kit/_generator.html.md +6 -0
  174. data/app/views/playbook/guides/create_kit/_kit_examples.html.md +2 -0
  175. data/app/views/playbook/guides/create_kit/_kit_rails.html.md +2 -0
  176. data/app/views/playbook/guides/create_kit/_kit_react.html.md +2 -0
  177. data/app/views/playbook/guides/create_kit/_layout.html.md +2 -0
  178. data/app/views/playbook/guides/create_kit/_view_objects.html.md +2 -0
  179. data/app/views/playbook/guides/create_kit/_writing_sass.md +10 -0
  180. data/app/views/playbook/guides/use_nitro.html.slim +6 -0
  181. data/app/views/playbook/guides/use_nitro/_local.html.md +2 -0
  182. data/app/views/playbook/guides/use_nitro/_nitro_components.html.md +2 -0
  183. data/app/views/playbook/guides/use_nitro/_versions.html.md +2 -0
  184. data/app/views/playbook/pages/fullscreen.html.slim +10 -0
  185. data/app/views/playbook/pages/grid.html.slim +2 -0
  186. data/app/views/playbook/pages/home.html.slim +4 -0
  187. data/app/views/playbook/pages/kit_category_show.html.erb +14 -0
  188. data/app/views/playbook/pages/kit_show.html.erb +33 -0
  189. data/app/views/playbook/pages/kits.html.erb +12 -0
  190. data/app/views/playbook/pages/principals/_getting_started.html.md +30 -0
  191. data/app/views/playbook/pages/principles.html.slim +3 -0
  192. data/app/views/playbook/pages/tokens.html.slim +15 -0
  193. data/app/views/playbook/pages/tokens/_pb_doc_spacing.html.slim +61 -0
  194. data/app/views/playbook/pages/utilities.html.slim +116 -0
  195. data/app/views/playbook/pages/utilities/_pb_doc_color.html.slim +15 -0
  196. data/app/views/playbook/samples/collection_detail/index.html.erb +169 -0
  197. data/app/views/playbook/samples/collection_detail/index.jsx +372 -0
  198. data/app/views/playbook/samples/dashboards/index.html.erb +81 -0
  199. data/app/views/playbook/samples/dashboards/index.jsx +130 -0
  200. data/app/views/playbook/samples/filter_table/index.html.erb +348 -0
  201. data/app/views/playbook/samples/filter_table/index.jsx +433 -0
  202. data/app/views/playbook/samples/registration/index.html.erb +316 -0
  203. data/app/views/playbook/samples/registration/index.jsx +476 -0
  204. data/app/views/playbook/samples/sample_show.html.erb +36 -0
  205. data/lib/playbook/engine.rb +0 -1
  206. data/lib/playbook/version.rb +1 -1
  207. data/lib/tasks/pb_release.rake +0 -3
  208. metadata +64 -55
  209. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions_dark.html.erb +0 -17
  210. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions_dark.jsx +0 -21
  211. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_dark.html.erb +0 -9
  212. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_dark.jsx +0 -14
  213. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click_dark.html.erb +0 -15
  214. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click_dark.jsx +0 -16
  215. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement_dark.html.erb +0 -31
  216. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement_dark.jsx +0 -33
  217. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_tooltip_dark.html.erb +0 -12
  218. data/app/pb_kits/playbook/pb_badge/docs/_badge_dark.html.erb +0 -124
  219. data/app/pb_kits/playbook/pb_badge/docs/_badge_dark.jsx +0 -160
  220. data/app/pb_kits/playbook/pb_body/docs/_body_dark.html.erb +0 -28
  221. data/app/pb_kits/playbook/pb_body/docs/_body_dark.jsx +0 -35
  222. data/app/pb_kits/playbook/pb_button/docs/_button_default_dark.html.erb +0 -22
  223. data/app/pb_kits/playbook/pb_button/docs/_button_default_dark.jsx +0 -28
  224. data/app/pb_kits/playbook/pb_caption/docs/_caption_dark.html.erb +0 -3
  225. data/app/pb_kits/playbook/pb_caption/docs/_caption_dark.jsx +0 -25
  226. data/app/pb_kits/playbook/pb_caption/docs/_caption_variants.html.erb +0 -1
  227. data/app/pb_kits/playbook/pb_caption/docs/_caption_variants.jsx +0 -16
  228. data/app/pb_kits/playbook/pb_caption/docs/_caption_variants.md +0 -3
  229. data/app/pb_kits/playbook/pb_card/docs/_card_dark.html.erb +0 -3
  230. data/app/pb_kits/playbook/pb_card/docs/_card_dark.jsx +0 -12
  231. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_dark.html.erb +0 -4
  232. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_dark.jsx +0 -17
  233. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_dark_error.html.erb +0 -7
  234. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_dark_error.jsx +0 -18
  235. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_dark.html.erb +0 -29
  236. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_dark.jsx +0 -38
  237. data/app/pb_kits/playbook/pb_currency/docs/_currency_dark.html.erb +0 -23
  238. data/app/pb_kits/playbook/pb_currency/docs/_currency_dark.jsx +0 -32
  239. data/app/pb_kits/playbook/pb_date/docs/_date_alignment.html.erb +0 -24
  240. data/app/pb_kits/playbook/pb_date/docs/_date_alignment.jsx +0 -32
  241. data/app/pb_kits/playbook/pb_date/docs/_date_default_react.jsx +0 -20
  242. data/app/pb_kits/playbook/pb_date/docs/_date_default_react.md +0 -3
  243. data/app/pb_kits/playbook/pb_date/docs/_date_timezone.html.erb +0 -51
  244. data/app/pb_kits/playbook/pb_date/docs/_date_timezone.md +0 -6
  245. data/app/pb_kits/playbook/pb_date/docs/_date_variants.html.erb +0 -27
  246. data/app/pb_kits/playbook/pb_date/docs/_date_variants.jsx +0 -39
  247. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_dark.html.erb +0 -13
  248. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_dark.jsx +0 -41
  249. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_dark.html.erb +0 -12
  250. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_dark.jsx +0 -20
  251. data/app/pb_kits/playbook/pb_online_status/docs/_online_status_dark.html.erb +0 -9
  252. data/app/pb_kits/playbook/pb_online_status/docs/_online_status_dark.jsx +0 -28
  253. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.jsx +0 -59
  254. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.md +0 -11
  255. data/app/pb_kits/playbook/pb_title/docs/_title_variants.html.erb +0 -1
  256. data/app/pb_kits/playbook/pb_title/docs/_title_variants.jsx +0 -17
  257. data/app/pb_kits/playbook/pb_title/docs/_title_variants.md +0 -3
  258. data/app/pb_kits/playbook/react_rails_kits.js +0 -5
  259. data/app/pb_kits/playbook/tokens/index.scss +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a43c45f7c02be5a750af086ebfcefc86725299eb31719a0a2dd8a6a79e97fd8d
4
- data.tar.gz: 859745ed6bd9388339f3ed65fbec574d07f2d3b109b7e8c79353272dcd7f888e
3
+ metadata.gz: 307f7d3b50e4e7f2fa0120bcc21789e4c7cdbdb7d95be1a861916bde4c60d53c
4
+ data.tar.gz: 60128d11456552fcb094b720a0397dd7819e114739724fd453658fbe19b2f79c
5
5
  SHA512:
6
- metadata.gz: 96f4466b2ef7b76c1a35cea42bc83bdad24749c7e0bcfcba2b14a3d71f7215ab21a1400ec222976a96171a8b95bb9c77d3638b245a56856902532bbbdf4cbd42
7
- data.tar.gz: 9e29349a5a6b132d926b48ea385458153886e3f5df9d1eb340d6d7d710ef7506745cd90a59e50c876bdd03c8a697f995c02504c94bf3ab1765ddb4a4e542565b
6
+ metadata.gz: 2b60ba28e743d5e4eaabd90b07d7046de61659cebbc1ff64496dd58c98cc02c16780474fda3a1b6e66332c8dab3c66c2dc87a8b9840e83c693ab2945e499dfec
7
+ data.tar.gz: 79d7e15c19a592e027b8c67e56eb9ae058c4c7b3dd989fd05b0cb2111b18114b704b90b6dc35247a5b0195939e34cbf1c988e7c1db2d87946430be47585e731d
@@ -2,10 +2,14 @@
2
2
 
3
3
  module Playbook
4
4
  class ApplicationController < ActionController::Base
5
+ protect_from_forgery with: :exception
6
+
5
7
  helper Webpacker::Helper
6
8
  helper Playbook::PbKitHelper
7
9
  helper Playbook::PbDocHelper
8
10
  helper Playbook::PbSampleHelper
9
11
  append_view_path Playbook::Engine.root + "app/pb_kits"
10
12
  end
13
+
14
+ ENV["dark_mode"] = "false"
11
15
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_dependency "playbook/application_controller"
4
+
5
+ module Playbook
6
+ class GuidesController < ApplicationController
7
+ def create_kit; end
8
+
9
+ def use_nitro; end
10
+ end
11
+ end
@@ -0,0 +1,90 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_dependency "playbook/application_controller"
4
+ require "yaml"
5
+
6
+ module Playbook
7
+ class PagesController < ApplicationController
8
+ before_action :set_kit, only: %i[kit_show_rails kit_show_react]
9
+ before_action :ensure_kit_type_exists, only: %i[kit_show_rails kit_show_react]
10
+ before_action :set_category, only: %i[kit_category_show_rails kit_category_show_react]
11
+
12
+ def enable_dark_mode
13
+ ENV["dark_mode"] = "true"
14
+ redirect_back(fallback_location: root_path)
15
+ end
16
+
17
+ def disable_dark_mode
18
+ ENV["dark_mode"] = "false"
19
+ redirect_back(fallback_location: root_path)
20
+ end
21
+
22
+
23
+ def home; end
24
+
25
+ def utilities; end
26
+
27
+ def tokens; end
28
+
29
+ def kits
30
+ params[:type] ||= "react"
31
+ @type = params[:type]
32
+ end
33
+
34
+ def principles; end
35
+
36
+ def grid
37
+ render layout: "layouts/playbook/grid"
38
+ end
39
+
40
+ def kit_show_rails
41
+ render "playbook/pages/kit_show"
42
+ end
43
+
44
+ def kit_show_react
45
+ render template: "playbook/pages/kit_show"
46
+ end
47
+
48
+ def kit_category_show_rails
49
+ params[:type] ||= "rails"
50
+ @type = params[:type]
51
+ render template: "playbook/pages/kit_category_show"
52
+ end
53
+
54
+ def kit_category_show_react
55
+ render template: "playbook/pages/kit_category_show"
56
+ end
57
+
58
+ private
59
+
60
+ def set_category
61
+ categories = MENU["kits"].map { |link| link.first.first if link.is_a?(Hash) }.compact
62
+ @category = params[:name]
63
+ if categories.flatten.include?(@category)
64
+ @category_kits = MENU["kits"].map { |link| link.first.last if link.is_a?(Hash) && link.first.first == @category }.compact.flatten
65
+ @kits = params[:name]
66
+ else
67
+ redirect_to root_path, flash: { error: "That kit does not exist" }
68
+ end
69
+ end
70
+
71
+ def set_kit
72
+ menu = MENU["kits"].map { |link| link.is_a?(Hash) ? link.first.last : link }
73
+ if menu.flatten.include?(params[:name])
74
+ @kit = params[:name]
75
+ else
76
+ redirect_to root_path, flash: { error: "That kit does not exist" }
77
+ end
78
+ end
79
+
80
+ def ensure_kit_type_exists
81
+ # TODO: unsure why we cannot simply use the helpers that are included in ApplicationController - fix this
82
+ is_rails_kit = action_name == "kit_show_rails"
83
+ files = is_rails_kit ? File.join("**", "*.erb") : File.join("**", "*.jsx")
84
+ kit_files = Dir.glob(files, base: "#{Playbook::Engine.root}/app/pb_kits/playbook/pb_#{@kit}/docs").present?
85
+ if !kit_files.present?
86
+ redirect_to action: is_rails_kit ? "kit_show_react" : "kit_show_rails"
87
+ end
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_dependency "playbook/application_controller"
4
+ require "yaml"
5
+
6
+ module Playbook
7
+ class SamplesController < ApplicationController
8
+ before_action :set_sample, only: %i[sample_show_rails sample_show_react]
9
+
10
+ layout "playbook/samples"
11
+
12
+ def samples
13
+ params[:type] ||= "rails"
14
+ @type = params[:type]
15
+ end
16
+
17
+ def sample_show_rails
18
+ params[:type] ||= "rails"
19
+ @type = params[:type]
20
+ render template: "playbook/samples/sample_show"
21
+ end
22
+
23
+ def sample_show_react
24
+ params[:type] ||= "react"
25
+ @type = params[:type]
26
+ render template: "playbook/samples/sample_show"
27
+ end
28
+
29
+ private
30
+
31
+ def set_sample
32
+ menu = MENU["samples"].map { |link| link.is_a?(Hash) ? link.first.last : link }
33
+ if menu.flatten.include?(params[:name])
34
+ @sample = params[:name]
35
+ else
36
+ redirect_to root_path, flash: { error: "That kit does not exist" }
37
+ end
38
+ end
39
+ end
40
+ end
@@ -13,5 +13,24 @@ module Playbook
13
13
  def current_webpacker_instance
14
14
  Playbook.webpacker
15
15
  end
16
+
17
+ def dark_mode
18
+ if ENV["dark_mode"] == "true"
19
+ true
20
+ else
21
+ false
22
+ end
23
+ end
24
+
25
+ def dark_mode_props(props)
26
+ if ENV["dark_mode"] == "true"
27
+ props.merge(dark: dark_mode)
28
+ elsif ENV["dark_mode"] == "false"
29
+ props.merge(dark: dark_mode)
30
+ else
31
+ props
32
+ end
33
+ end
34
+
16
35
  end
17
36
  end
@@ -45,6 +45,7 @@ module Playbook
45
45
  end
46
46
 
47
47
  def pb_kit(kit: "", type: "rails", show_code: true)
48
+ # @dark = ENV["dark_mode"]
48
49
  @type = type
49
50
  @kit_examples = get_kit_examples(kit, type)
50
51
  @show_code = show_code
@@ -6,21 +6,36 @@ require "webpacker/react/component"
6
6
 
7
7
  module Playbook
8
8
  module PbKitHelper
9
+
9
10
  def pb_rails(kit, props: {}, &block)
10
11
  previous = prefix_partial_path_with_controller_namespace
11
12
  self.prefix_partial_path_with_controller_namespace = false
12
- kit = build_view_model(kit.to_s, props, &block)
13
+ kit = build_view_model(kit.to_s, rails_props, &block)
13
14
  render(partial: kit, as: :object)
14
15
  ensure
15
16
  self.prefix_partial_path_with_controller_namespace = previous
16
17
  end
17
18
 
18
- # deprecated
19
- def pb_react(kit, props: {}, options: {})
19
+ def pb_react(kit, props:{dark: react_props}, options: {})
20
20
  ::Webpacker::React::Component.new(kit.camelize).render(props, options)
21
21
  end
22
22
 
23
23
  private
24
+ def rails_props
25
+ if ENV["dark_mode"].nil?
26
+ props
27
+ else
28
+ dark_mode_props
29
+ end
30
+ end
31
+
32
+ def react_props
33
+ if ENV["dark_mode"].is_set?
34
+ false
35
+ else
36
+ dark_mode
37
+ end
38
+ end
24
39
 
25
40
  def is_subkit?(kit)
26
41
  kit.match(%r{[/\\]})
@@ -1,4 +1,3 @@
1
- @import "tokens/fonts";
2
1
  @import "pb_body/body";
3
2
  @import "pb_button/button";
4
3
  @import 'pb_button_toolbar/button_toolbar';
@@ -1,9 +1,9 @@
1
1
  <%if !@kit_examples[:examples].nil? %>
2
2
  <% @kit_examples[:examples].each do |kit_example| %>
3
3
  <% kit_example.each do |key, item| %>
4
- <div class="pb--doc <%=key.include?('_dark') ? 'dark_ui' : 'light_ui'%>">
4
+ <%=pb_rails("card", props:{classname: "pb--doc", padding:"none"})do%>
5
5
  <%= render partial: "config/kit_ui", locals: { key: key, type: @type, item: item, show_code: @show_code } %>
6
- </div>
6
+ <% end %>
7
7
  <% end %>
8
8
  <% end %>
9
- <% end %>
9
+ <% end %>
@@ -19,7 +19,7 @@
19
19
  </div>
20
20
 
21
21
  <% if @show_code%>
22
- <div class="markdown pb--kit-example-markdown">
22
+ <div class="markdown pb--kit-example-markdown <%=ENV["dark_mode"] == "true" ? "dark" : "" %>">
23
23
  <%= markdown(get_per_sample_descriptions(@kit_examples[:kit], key)) %>
24
24
  </div>
25
25
  <div class="pb--codeControls">
@@ -30,6 +30,7 @@
30
30
  </ul>
31
31
  </div>
32
32
  <div class="pb--codeCopy" data-action="toggle" data-togglable="code_example" style="display: none" >
33
+ <%= pb_rails("section_separator")%>
33
34
  <a href="#" data-toggle="false" class="pb--close-toggle">Close</a>
34
35
  <% if type == "rails" %>
35
36
  <pre class="highlight"><%= raw rouge(contents, "erb") %></pre>
@@ -1,18 +1,16 @@
1
1
  <% if defined?(@kit_api) && @kit_api.present? %>
2
+
2
3
  <div data-action="toggle" data-togglable="prop_example" class="pb--propsTable">
3
- <table class="pb--propsTable--table">
4
- <thead>
5
- <tr>
6
- <th>Available Props</th>
7
- </tr>
8
- </thead>
9
- <tbody>
4
+ <%= pb_rails("title", props:{text: "Available Props", size:3, margin_bottom:"sm"}) %>
5
+ <%= pb_rails("card",props:{padding:"none"})do%>
6
+ <%= pb_rails("list",props: {xpadding:true})do%>
10
7
  <% @kit_api.each_with_index do |(key,value),index| %>
11
- <tr>
12
- <td><%= key %></td>
13
- </tr>
8
+ <%= pb_rails("list/item") do %>
9
+ <%= key %>
10
+ <% end %>
14
11
  <% end %>
15
- </tbody>
16
- </table>
12
+ <% end %>
13
+ <% end %>
17
14
  </div>
15
+
18
16
  <% end %>
@@ -1,7 +1,3 @@
1
- import './_playbook.scss'
2
- import 'lazysizes/plugins/attrchange/ls.attrchange'
3
- import 'lazysizes'
4
-
5
1
  // React Component JSX Imports from the React Kits
6
2
  export Avatar from './pb_avatar/_avatar.jsx'
7
3
  export AvatarActionButton from './pb_avatar_action_button/_avatar_action_button.jsx'
@@ -0,0 +1,55 @@
1
+ import '../../../../fonts/fontawesome-min.js'
2
+ import '../../../../fonts/regular-min.js'
3
+ import './main.scss'
4
+ import '../vendor.js'
5
+
6
+ // Move to separate file
7
+ window.$(document).on('click', '[data-toggle]', function(e) {
8
+ e.preventDefault()
9
+
10
+ var kitContainer = window.$(this).closest('.pb--doc')
11
+ var toggleTarget = window.$(this).data('toggle')
12
+
13
+ window
14
+ .$(kitContainer)
15
+ .find('[data-action="toggle"]')
16
+ .hide()
17
+ window
18
+ .$(kitContainer)
19
+ .find('[data-togglable="' + toggleTarget + '"]')
20
+ .show()
21
+ })
22
+
23
+ window.$(document).ready(() => {
24
+ $('.compress').hide()
25
+
26
+ window.$(document).on('click', '.toggle-button', (e) => {
27
+ e.preventDefault()
28
+ $('.pb--codeCopy').toggleClass('close')
29
+ })
30
+
31
+ $('.expand').click(() => {
32
+ $('.sample-nav').hide()
33
+ $('.compress').show()
34
+ })
35
+
36
+ $('.compress').click(() => {
37
+ $('.sample-nav').show()
38
+ $('.compress').hide()
39
+ })
40
+
41
+ const setClipboard = (value) => {
42
+ var tempInput = document.createElement('textarea')
43
+ tempInput.style = 'position: absolute; left: -1000px; top: -1000px'
44
+ tempInput.value = value
45
+ document.body.appendChild(tempInput)
46
+ tempInput.select()
47
+ document.execCommand('copy')
48
+ document.body.removeChild(tempInput)
49
+ }
50
+
51
+ $('.copy-clipboard').click(() => {
52
+ var copyText = document.querySelector('.hiddenCodeforCopy').textContent
53
+ setClipboard(copyText)
54
+ })
55
+ })
@@ -0,0 +1,175 @@
1
+ // ===========================================
2
+ // Generated file from kit generator.
3
+ //
4
+ // KIT EXAMPLES
5
+ // ===========================================
6
+
7
+ import WebpackerReact from 'webpacker-react'
8
+
9
+ //
10
+ // ===========================================
11
+ // ===========================================
12
+ // Generated file from kit generator.
13
+ // KIT EXAMPLES
14
+
15
+ import '../pb_form/pb_form_validation'
16
+ import * as Avatar from 'pb_avatar/docs'
17
+ import * as AvatarActionButton from 'pb_avatar_action_button/docs'
18
+ import * as Badge from 'pb_badge/docs'
19
+ import * as BarGraph from 'pb_bar_graph/docs'
20
+ import * as Body from 'pb_body/docs'
21
+ import * as Button from 'pb_button/docs'
22
+ import * as ButtonToolbar from 'pb_button_toolbar/docs'
23
+ import * as Caption from 'pb_caption/docs'
24
+ import * as Card from 'pb_card/docs'
25
+ import * as Checkbox from 'pb_checkbox/docs'
26
+ import * as CircleIconButton from 'pb_circle_icon_button/docs'
27
+ import * as Contact from 'pb_contact/docs'
28
+ import * as Currency from 'pb_currency/docs'
29
+ import * as DashboardValue from 'pb_dashboard_value/docs'
30
+ import * as Date from 'pb_date/docs'
31
+ import * as DateRangeInline from 'pb_date_range_inline/docs'
32
+ import * as DateRangeStacked from 'pb_date_range_stacked/docs'
33
+ import * as DateStacked from 'pb_date_stacked/docs'
34
+ import * as DateTimeStacked from 'pb_date_time_stacked/docs'
35
+ import * as DateYearStacked from 'pb_date_year_stacked/docs'
36
+ import * as DistributionBar from 'pb_distribution_bar/docs'
37
+ import * as FileUpload from 'pb_file_upload/docs'
38
+ import * as Filter from 'pb_filter/docs'
39
+ import * as FixedConfirmationToast from 'pb_fixed_confirmation_toast/docs'
40
+ import * as Flex from 'pb_flex/docs'
41
+ import * as FormPill from 'pb_form_pill/docs'
42
+ import * as Gauge from 'pb_gauge/docs'
43
+ import * as Hashtag from 'pb_hashtag/docs'
44
+ import * as Highlight from 'pb_highlight/docs'
45
+ import * as HomeAddressStreet from 'pb_home_address_street/docs'
46
+ import * as Icon from 'pb_icon/docs'
47
+ import * as IconCircle from 'pb_icon_circle/docs'
48
+ import * as IconValue from 'pb_icon_value/docs'
49
+ import * as Image from 'pb_image/docs'
50
+ import * as LabelPill from 'pb_label_pill/docs'
51
+ import * as LabelValue from 'pb_label_value/docs'
52
+ import * as Layout from 'pb_layout/docs'
53
+ import * as Legend from 'pb_legend/docs'
54
+ import * as LineGraph from 'pb_line_graph/docs'
55
+ import * as List from 'pb_list/docs'
56
+ import * as LoadingInline from 'pb_loading_inline/docs'
57
+ import * as Message from 'pb_message/docs'
58
+ import * as MultipleUsers from 'pb_multiple_users/docs'
59
+ import * as MultipleUsersStacked from 'pb_multiple_users_stacked/docs'
60
+ import * as Nav from 'pb_nav/docs'
61
+ import * as OnlineStatus from 'pb_online_status/docs'
62
+ import * as PbReactPopover from 'pb_popover/docs'
63
+ import * as Person from 'pb_person/docs'
64
+ import * as PersonContact from 'pb_person_contact/docs'
65
+ import * as Pill from 'pb_pill/docs'
66
+ import * as ProgressPills from 'pb_progress_pills/docs'
67
+ import * as ProgressSimple from 'pb_progress_simple/docs'
68
+ import * as ProgressStep from 'pb_progress_step/docs'
69
+ import * as Radio from 'pb_radio/docs'
70
+ import * as SectionSeparator from 'pb_section_separator/docs'
71
+ import * as Select from 'pb_select/docs'
72
+ import * as SelectableCard from 'pb_selectable_card/docs'
73
+ import * as SelectableCardIcon from 'pb_selectable_card_icon/docs'
74
+ import * as SelectableIcon from 'pb_selectable_icon/docs'
75
+ import * as Source from 'pb_source/docs'
76
+ import * as StarRating from 'pb_star_rating/docs'
77
+ import * as StatChange from 'pb_stat_change/docs'
78
+ import * as StatValue from 'pb_stat_value/docs'
79
+ import * as Table from 'pb_table/docs'
80
+ import * as Textarea from 'pb_textarea/docs'
81
+ import * as TextInput from 'pb_text_input/docs'
82
+ import * as Time from 'pb_time/docs'
83
+ import * as Timeline from 'pb_timeline/docs'
84
+ import * as TimeStacked from 'pb_time_stacked/docs'
85
+ import * as Timestamp from 'pb_timestamp/docs'
86
+ import * as TimeRangeInline from 'pb_time_range_inline/docs'
87
+ import * as Title from 'pb_title/docs'
88
+ import * as TitleCount from 'pb_title_count/docs'
89
+ import * as TitleDetail from 'pb_title_detail/docs'
90
+ import * as Toggle from 'pb_toggle/docs'
91
+ import * as User from 'pb_user/docs'
92
+ import * as UserBadge from 'pb_user_badge/docs'
93
+ import * as WeekdayStacked from 'pb_weekday_stacked/docs'
94
+
95
+ WebpackerReact.setup({
96
+ ...Avatar,
97
+ ...AvatarActionButton,
98
+ ...Badge,
99
+ ...BarGraph,
100
+ ...Body,
101
+ ...Button,
102
+ ...ButtonToolbar,
103
+ ...Caption,
104
+ ...Card,
105
+ ...Checkbox,
106
+ ...CircleIconButton,
107
+ ...Contact,
108
+ ...Currency,
109
+ ...DashboardValue,
110
+ ...Date,
111
+ ...DateRangeInline,
112
+ ...DateRangeStacked,
113
+ ...DateStacked,
114
+ ...DateTimeStacked,
115
+ ...DateYearStacked,
116
+ ...DistributionBar,
117
+ ...FileUpload,
118
+ ...Filter,
119
+ ...FixedConfirmationToast,
120
+ ...Flex,
121
+ ...FormPill,
122
+ ...Gauge,
123
+ ...Hashtag,
124
+ ...Highlight,
125
+ ...HomeAddressStreet,
126
+ ...Icon,
127
+ ...IconCircle,
128
+ ...IconValue,
129
+ ...Image,
130
+ ...LabelPill,
131
+ ...LabelValue,
132
+ ...Layout,
133
+ ...Legend,
134
+ ...LineGraph,
135
+ ...List,
136
+ ...LoadingInline,
137
+ ...Message,
138
+ ...MultipleUsers,
139
+ ...MultipleUsersStacked,
140
+ ...Nav,
141
+ ...OnlineStatus,
142
+ ...PbReactPopover,
143
+ ...Person,
144
+ ...PersonContact,
145
+ ...Pill,
146
+ ...ProgressPills,
147
+ ...ProgressSimple,
148
+ ...ProgressStep,
149
+ ...Radio,
150
+ ...SectionSeparator,
151
+ ...Select,
152
+ ...SelectableCard,
153
+ ...SelectableIcon,
154
+ ...SelectableCardIcon,
155
+ ...Source,
156
+ ...StarRating,
157
+ ...StatChange,
158
+ ...StatValue,
159
+ ...Table,
160
+ ...Textarea,
161
+ ...TextInput,
162
+ ...Time,
163
+ ...Timeline,
164
+ ...TimeStacked,
165
+ ...Timestamp,
166
+ ...TimeRangeInline,
167
+ ...Title,
168
+ ...TitleCount,
169
+ ...TitleDetail,
170
+ ...Toggle,
171
+ ...User,
172
+ ...UserBadge,
173
+ ...WeekdayStacked,
174
+ })
175
+