playbook_ui 4.1.2 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/playbook/pages_controller.rb +25 -3
  3. data/app/helpers/playbook/application_helper.rb +0 -4
  4. data/app/helpers/playbook/pb_doc_helper.rb +41 -10
  5. data/app/pb_kits/playbook/_playbook.scss +1 -0
  6. data/app/pb_kits/playbook/config/_kit_example.html.erb +9 -0
  7. data/app/pb_kits/playbook/config/_kit_example.html.slim +1 -1
  8. data/app/pb_kits/playbook/config/_kit_ui.html.slim +18 -13
  9. data/app/pb_kits/playbook/data/menu.yml +70 -0
  10. data/app/pb_kits/playbook/index.js +2 -0
  11. data/app/pb_kits/playbook/packs/application.js +0 -1
  12. data/app/pb_kits/playbook/packs/examples.js +76 -72
  13. data/app/pb_kits/playbook/packs/kits/pb_avatar.js +1 -0
  14. data/app/pb_kits/playbook/packs/kits/pb_badge.js +1 -0
  15. data/app/pb_kits/playbook/packs/kits/pb_bar_graph.js +1 -0
  16. data/app/pb_kits/playbook/packs/kits/pb_body.js +1 -0
  17. data/app/pb_kits/playbook/packs/kits/pb_button.js +1 -0
  18. data/app/pb_kits/playbook/packs/kits/pb_caption.js +1 -0
  19. data/app/pb_kits/playbook/packs/kits/pb_card.js +1 -0
  20. data/app/pb_kits/playbook/packs/kits/pb_checkbox.js +1 -0
  21. data/app/pb_kits/playbook/packs/kits/pb_circle_icon_button.js +1 -0
  22. data/app/pb_kits/playbook/packs/kits/pb_contact.js +1 -0
  23. data/app/pb_kits/playbook/packs/kits/pb_currency.js +1 -0
  24. data/app/pb_kits/playbook/packs/kits/pb_dashboard_value.js +1 -0
  25. data/app/pb_kits/playbook/packs/kits/pb_date.js +2 -0
  26. data/app/pb_kits/playbook/packs/kits/pb_date_range_inline.js +1 -0
  27. data/app/pb_kits/playbook/packs/kits/pb_date_stacked.js +1 -0
  28. data/app/pb_kits/playbook/packs/kits/pb_date_year_stacked.js +2 -0
  29. data/app/pb_kits/playbook/packs/kits/pb_distribution_bar.js +2 -0
  30. data/app/pb_kits/playbook/packs/kits/pb_fixed_confirmation_toast.js +2 -0
  31. data/app/pb_kits/playbook/packs/kits/pb_flex.js +1 -0
  32. data/app/pb_kits/playbook/packs/kits/pb_hashtag.js +2 -0
  33. data/app/pb_kits/playbook/packs/kits/pb_home_address_street.js +2 -0
  34. data/app/pb_kits/playbook/packs/kits/pb_icon.js +2 -0
  35. data/app/pb_kits/playbook/packs/kits/pb_icon_circle.js +2 -0
  36. data/app/pb_kits/playbook/packs/kits/pb_icon_value.js +2 -0
  37. data/app/pb_kits/playbook/packs/kits/pb_image.js +1 -0
  38. data/app/pb_kits/playbook/packs/kits/pb_label_pill.js +2 -0
  39. data/app/pb_kits/playbook/packs/kits/pb_label_value.js +2 -0
  40. data/app/pb_kits/playbook/packs/kits/pb_layout.js +2 -0
  41. data/app/pb_kits/playbook/packs/kits/pb_legend.js +2 -0
  42. data/app/pb_kits/playbook/packs/kits/pb_line_graph.js +1 -0
  43. data/app/pb_kits/playbook/packs/kits/pb_list.js +2 -0
  44. data/app/pb_kits/playbook/packs/kits/pb_loading_inline.js +2 -0
  45. data/app/pb_kits/playbook/packs/kits/pb_message.js +2 -0
  46. data/app/pb_kits/playbook/packs/kits/pb_multiple_users.js +2 -0
  47. data/app/pb_kits/playbook/packs/kits/pb_multiple_users_stacked.js +2 -0
  48. data/app/pb_kits/playbook/packs/kits/pb_nav.js +1 -0
  49. data/app/pb_kits/playbook/packs/kits/pb_online_status.js +2 -0
  50. data/app/pb_kits/playbook/packs/kits/pb_person.js +2 -0
  51. data/app/pb_kits/playbook/packs/kits/pb_person_contact.js +2 -0
  52. data/app/pb_kits/playbook/packs/kits/pb_pill.js +2 -0
  53. data/app/pb_kits/playbook/packs/kits/pb_progress_pills.js +2 -0
  54. data/app/pb_kits/playbook/packs/kits/pb_progress_simple.js +2 -0
  55. data/app/pb_kits/playbook/packs/kits/pb_radio.js +2 -0
  56. data/app/pb_kits/playbook/packs/kits/pb_section_separator.js +2 -0
  57. data/app/pb_kits/playbook/packs/kits/pb_select.js +2 -0
  58. data/app/pb_kits/playbook/packs/kits/pb_selectable_card.js +2 -0
  59. data/app/pb_kits/playbook/packs/kits/pb_source.js +2 -0
  60. data/app/pb_kits/playbook/packs/kits/pb_star_rating.js +2 -0
  61. data/app/pb_kits/playbook/packs/kits/pb_stat_change.js +2 -0
  62. data/app/pb_kits/playbook/packs/kits/pb_stat_value.js +2 -0
  63. data/app/pb_kits/playbook/packs/kits/pb_table.js +1 -0
  64. data/app/pb_kits/playbook/packs/kits/pb_text_input.js +1 -0
  65. data/app/pb_kits/playbook/packs/kits/pb_textarea.js +2 -0
  66. data/app/pb_kits/playbook/packs/kits/pb_time.js +2 -0
  67. data/app/pb_kits/playbook/packs/kits/pb_timestamp.js +2 -0
  68. data/app/pb_kits/playbook/packs/kits/pb_title.js +1 -0
  69. data/app/pb_kits/playbook/packs/kits/pb_title_count.js +2 -0
  70. data/app/pb_kits/playbook/packs/kits/pb_title_detail.js +2 -0
  71. data/app/pb_kits/playbook/packs/kits/pb_toggle.js +2 -0
  72. data/app/pb_kits/playbook/packs/kits/pb_user.js +2 -0
  73. data/app/pb_kits/playbook/packs/kits/pb_user_badge.js +2 -0
  74. data/app/pb_kits/playbook/packs/site_styles/_site-style.scss +18 -23
  75. data/app/pb_kits/playbook/packs/site_styles/docs/_all.scss +1 -0
  76. data/app/pb_kits/playbook/packs/site_styles/docs/_flex_examples.scss +4 -0
  77. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.html.erb +1 -1
  78. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +3 -0
  79. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.rb +4 -1
  80. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_dark.jsx +2 -2
  81. data/app/pb_kits/playbook/pb_flex/_flex.html.erb +6 -0
  82. data/app/pb_kits/playbook/pb_flex/_flex.jsx +48 -0
  83. data/app/pb_kits/playbook/pb_flex/_flex.scss +86 -0
  84. data/app/pb_kits/playbook/pb_flex/_flex_item.html.erb +7 -0
  85. data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +32 -0
  86. data/app/pb_kits/playbook/pb_flex/_flex_item.scss +10 -0
  87. data/app/pb_kits/playbook/pb_flex/docs/_flex_default.html.erb +19 -0
  88. data/app/pb_kits/playbook/pb_flex/docs/_flex_default.jsx +57 -0
  89. data/app/pb_kits/playbook/pb_flex/docs/_flex_horizontal.html.erb +64 -0
  90. data/app/pb_kits/playbook/pb_flex/docs/_flex_horizontal.jsx +194 -0
  91. data/app/pb_kits/playbook/pb_flex/docs/_flex_inline.html.erb +19 -0
  92. data/app/pb_kits/playbook/pb_flex/docs/_flex_inline.jsx +59 -0
  93. data/app/pb_kits/playbook/pb_flex/docs/_flex_reverse.html.erb +19 -0
  94. data/app/pb_kits/playbook/pb_flex/docs/_flex_reverse.jsx +62 -0
  95. data/app/pb_kits/playbook/pb_flex/docs/_flex_spacing.html.erb +33 -0
  96. data/app/pb_kits/playbook/pb_flex/docs/_flex_spacing.jsx +109 -0
  97. data/app/pb_kits/playbook/pb_flex/docs/_flex_vertical.html.erb +64 -0
  98. data/app/pb_kits/playbook/pb_flex/docs/_flex_vertical.jsx +202 -0
  99. data/app/pb_kits/playbook/pb_flex/docs/_flex_wrap.html.erb +31 -0
  100. data/app/pb_kits/playbook/pb_flex/docs/_flex_wrap.jsx +94 -0
  101. data/app/pb_kits/playbook/pb_flex/docs/example.yml +20 -0
  102. data/app/pb_kits/playbook/pb_flex/docs/index.js +7 -0
  103. data/app/pb_kits/playbook/pb_flex/flex.rb +84 -0
  104. data/app/pb_kits/playbook/pb_flex/flex_item.rb +33 -0
  105. data/app/pb_kits/playbook/pb_form/form/form_with_form.rb +1 -1
  106. data/app/pb_kits/playbook/pb_form/form/simple_form_form.rb +1 -1
  107. data/app/pb_kits/playbook/pb_nav/_horizontal_nav.scss +10 -4
  108. data/app/pb_kits/playbook/pb_nav/_item.html.erb +13 -6
  109. data/app/pb_kits/playbook/pb_nav/_item.jsx +38 -13
  110. data/app/pb_kits/playbook/pb_nav/_nav.jsx +34 -14
  111. data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +110 -48
  112. data/app/pb_kits/playbook/pb_nav/docs/_block_nav.html.erb +5 -4
  113. data/app/pb_kits/playbook/pb_nav/docs/_block_nav.jsx +5 -5
  114. data/app/pb_kits/playbook/pb_nav/docs/_block_no_title_nav.html.erb +5 -3
  115. data/app/pb_kits/playbook/pb_nav/docs/_block_no_title_nav.jsx +27 -9
  116. data/app/pb_kits/playbook/pb_nav/docs/_default_nav.html.erb +5 -4
  117. data/app/pb_kits/playbook/pb_nav/docs/_default_nav.jsx +9 -5
  118. data/app/pb_kits/playbook/pb_nav/docs/_horizontal_nav.html.erb +4 -3
  119. data/app/pb_kits/playbook/pb_nav/docs/_horizontal_nav.jsx +7 -4
  120. data/app/pb_kits/playbook/pb_nav/docs/_no_highlight_nav.html.erb +6 -0
  121. data/app/pb_kits/playbook/pb_nav/docs/_no_highlight_nav.jsx +29 -0
  122. data/app/pb_kits/playbook/pb_nav/docs/_subtle_nav.html.erb +8 -0
  123. data/app/pb_kits/playbook/pb_nav/docs/_subtle_nav.jsx +37 -0
  124. data/app/pb_kits/playbook/pb_nav/docs/_subtle_no_highlight_nav.html.erb +5 -0
  125. data/app/pb_kits/playbook/pb_nav/docs/_subtle_no_highlight_nav.jsx +28 -0
  126. data/app/pb_kits/playbook/pb_nav/docs/_subtle_with_icons_nav.html.erb +9 -0
  127. data/app/pb_kits/playbook/pb_nav/docs/_subtle_with_icons_nav.jsx +50 -0
  128. data/app/pb_kits/playbook/pb_nav/docs/_with_icons_nav.html.erb +7 -0
  129. data/app/pb_kits/playbook/pb_nav/docs/_with_icons_nav.jsx +42 -0
  130. data/app/pb_kits/playbook/pb_nav/docs/example.yml +11 -2
  131. data/app/pb_kits/playbook/pb_nav/docs/index.js +5 -0
  132. data/app/pb_kits/playbook/pb_nav/item.rb +20 -2
  133. data/app/pb_kits/playbook/pb_nav/nav.rb +10 -7
  134. data/app/pb_kits/playbook/pb_popover/_popover.scss +3 -0
  135. data/app/pb_kits/playbook/tokens/_colors.scss +1 -1
  136. data/app/views/layouts/playbook/_nav.html.slim +3 -0
  137. data/app/views/layouts/playbook/_sidebar.html.erb +36 -0
  138. data/app/views/layouts/playbook/application.html.slim +2 -2
  139. data/app/views/playbook/pages/kit_category_show.html.slim +10 -0
  140. data/lib/generators/kit/kit_generator.rb +1 -1
  141. data/lib/playbook/version.rb +1 -1
  142. metadata +116 -64
  143. data/app/pb_kits/playbook/kits/pb_avatar.js +0 -4
  144. data/app/pb_kits/playbook/kits/pb_badge.js +0 -4
  145. data/app/pb_kits/playbook/kits/pb_bar_graph.js +0 -4
  146. data/app/pb_kits/playbook/kits/pb_body.js +0 -4
  147. data/app/pb_kits/playbook/kits/pb_button.js +0 -4
  148. data/app/pb_kits/playbook/kits/pb_caption.js +0 -4
  149. data/app/pb_kits/playbook/kits/pb_card.js +0 -4
  150. data/app/pb_kits/playbook/kits/pb_checkbox.js +0 -4
  151. data/app/pb_kits/playbook/kits/pb_circle_icon_button.js +0 -4
  152. data/app/pb_kits/playbook/kits/pb_contact.js +0 -4
  153. data/app/pb_kits/playbook/kits/pb_currency.js +0 -4
  154. data/app/pb_kits/playbook/kits/pb_dashboard_value.js +0 -4
  155. data/app/pb_kits/playbook/kits/pb_date.js +0 -4
  156. data/app/pb_kits/playbook/kits/pb_date_range_inline.js +0 -4
  157. data/app/pb_kits/playbook/kits/pb_date_stacked.js +0 -4
  158. data/app/pb_kits/playbook/kits/pb_date_year_stacked.js +0 -4
  159. data/app/pb_kits/playbook/kits/pb_distribution_bar.js +0 -4
  160. data/app/pb_kits/playbook/kits/pb_fixed_confirmation_toast.js +0 -4
  161. data/app/pb_kits/playbook/kits/pb_hashtag.js +0 -4
  162. data/app/pb_kits/playbook/kits/pb_home_address_street.js +0 -4
  163. data/app/pb_kits/playbook/kits/pb_icon.js +0 -4
  164. data/app/pb_kits/playbook/kits/pb_icon_circle.js +0 -4
  165. data/app/pb_kits/playbook/kits/pb_icon_value.js +0 -4
  166. data/app/pb_kits/playbook/kits/pb_image.js +0 -4
  167. data/app/pb_kits/playbook/kits/pb_label_pill.js +0 -4
  168. data/app/pb_kits/playbook/kits/pb_label_value.js +0 -4
  169. data/app/pb_kits/playbook/kits/pb_layout.js +0 -4
  170. data/app/pb_kits/playbook/kits/pb_legend.js +0 -4
  171. data/app/pb_kits/playbook/kits/pb_line_graph.js +0 -4
  172. data/app/pb_kits/playbook/kits/pb_list.js +0 -4
  173. data/app/pb_kits/playbook/kits/pb_loading_inline.js +0 -4
  174. data/app/pb_kits/playbook/kits/pb_message.js +0 -4
  175. data/app/pb_kits/playbook/kits/pb_multiple_users.js +0 -4
  176. data/app/pb_kits/playbook/kits/pb_multiple_users_stacked.js +0 -4
  177. data/app/pb_kits/playbook/kits/pb_nav.js +0 -4
  178. data/app/pb_kits/playbook/kits/pb_online_status.js +0 -4
  179. data/app/pb_kits/playbook/kits/pb_person.js +0 -4
  180. data/app/pb_kits/playbook/kits/pb_person_contact.js +0 -4
  181. data/app/pb_kits/playbook/kits/pb_pill.js +0 -4
  182. data/app/pb_kits/playbook/kits/pb_progress_pills.js +0 -4
  183. data/app/pb_kits/playbook/kits/pb_progress_simple.js +0 -4
  184. data/app/pb_kits/playbook/kits/pb_radio.js +0 -4
  185. data/app/pb_kits/playbook/kits/pb_section_separator.js +0 -4
  186. data/app/pb_kits/playbook/kits/pb_select.js +0 -4
  187. data/app/pb_kits/playbook/kits/pb_selectable_card.js +0 -4
  188. data/app/pb_kits/playbook/kits/pb_source.js +0 -4
  189. data/app/pb_kits/playbook/kits/pb_star_rating.js +0 -4
  190. data/app/pb_kits/playbook/kits/pb_stat_change.js +0 -4
  191. data/app/pb_kits/playbook/kits/pb_stat_value.js +0 -4
  192. data/app/pb_kits/playbook/kits/pb_table.js +0 -16
  193. data/app/pb_kits/playbook/kits/pb_text_input.js +0 -4
  194. data/app/pb_kits/playbook/kits/pb_textarea.js +0 -4
  195. data/app/pb_kits/playbook/kits/pb_time.js +0 -4
  196. data/app/pb_kits/playbook/kits/pb_timestamp.js +0 -4
  197. data/app/pb_kits/playbook/kits/pb_title.js +0 -4
  198. data/app/pb_kits/playbook/kits/pb_title_count.js +0 -4
  199. data/app/pb_kits/playbook/kits/pb_title_detail.js +0 -4
  200. data/app/pb_kits/playbook/kits/pb_toggle.js +0 -4
  201. data/app/pb_kits/playbook/kits/pb_user.js +0 -4
  202. data/app/pb_kits/playbook/kits/pb_user_badge.js +0 -4
  203. data/app/pb_kits/playbook/packs/kits.js +0 -59
  204. data/app/views/layouts/playbook/_sidebar.html.slim +0 -28
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8d8d2706a6185cb8fff36a451298252df283de1357548d7bfe979a800d348667
4
- data.tar.gz: bbd353a847bb8ca1f36d49326ceaa861e83ef3ef8fad809ee4380afd00ecb76b
3
+ metadata.gz: e1f5453ef495f16a0c7abae04bef14015972c62ac815cd6b2c95e8b3d628bd67
4
+ data.tar.gz: 541addf63471c2acbc2c8e67ecbfa7beb2d13f7a986bdea2675e78a915cdd568
5
5
  SHA512:
6
- metadata.gz: c4e51aa393a12e4c058a4e6ad07599dea8e853dc13f09e2adef3c3347876c9bf6c3388cd543dcb33ffad5e9939d9a00c02cc069171ecbd29f31290be5ac19782
7
- data.tar.gz: '080fc6900b777356abf179f744bb3b299055fd7baa3c1da5d68249c766288961f1035e4f62cbbfb33fb7c5b923f30a5b176426509ecb706cc0d3f64fe00159fa'
6
+ metadata.gz: 270dbf525c913b04d5ec65c4318b11da5fffea2c4624e42e2dbc26321651369039f0bc0b24d0d8ae1859cb01387bf1197dfe5f64aeb77ef08ddc5a9c833aaa38
7
+ data.tar.gz: 1f35b76115e2679e476ea3188188a96e5362847db1a1047e9eea3fe1e0c02d937b3abe988f55b5d89b38ee3584f156e3f9710f69d9c448cb425e14e5c8634201
@@ -6,6 +6,7 @@ require "yaml"
6
6
  module Playbook
7
7
  class PagesController < ApplicationController
8
8
  before_action :set_kit, only: %i[kit_show_rails kit_show_react]
9
+ before_action :set_category, only: %i[kit_category_show_rails kit_category_show_react]
9
10
 
10
11
  def home; end
11
12
 
@@ -36,14 +37,35 @@ module Playbook
36
37
  render template: "playbook/pages/kit_show"
37
38
  end
38
39
 
40
+ def kit_category_show_rails
41
+ params[:type] ||= "rails"
42
+ @type = params[:type]
43
+ render template: "playbook/pages/kit_category_show"
44
+ end
45
+
46
+ def kit_category_show_react
47
+ render template: "playbook/pages/kit_category_show"
48
+ end
49
+
39
50
  private
40
51
 
52
+ def set_category
53
+ categories = MENU["kits"].map { |link| link.first.first if link.is_a?(Hash) }.compact
54
+ @category = params[:name]
55
+ if categories.flatten.include?(@category)
56
+ @category_kits = MENU["kits"].map { |link| link.first.last if link.is_a?(Hash) && link.first.first == @category }.compact.flatten
57
+ @kits = params[:name]
58
+ else
59
+ redirect_to root_path, flash: { error: "That kit does not exist" }
60
+ end
61
+ end
62
+
41
63
  def set_kit
42
- menu = MENU["kits"]
43
- if menu.include?(params[:name])
64
+ menu = MENU["kits"].map { |link| link.is_a?(Hash) ? link.first.last : link }
65
+ if menu.flatten.include?(params[:name])
44
66
  @kit = params[:name]
45
67
  else
46
- redirect_to root_path
68
+ redirect_to root_path, flash: { error: "That kit does not exist" }
47
69
  end
48
70
  end
49
71
  end
@@ -13,9 +13,5 @@ module Playbook
13
13
  def current_webpacker_instance
14
14
  Playbook.webpacker
15
15
  end
16
-
17
- # def react_component(component_name, props = {}, options = {})
18
- # ::Webpacker::React::Component.new(component_name).render(props, options)
19
- # end
20
16
  end
21
17
  end
@@ -15,23 +15,42 @@ module Playbook
15
15
  end
16
16
  end
17
17
 
18
- def pb_kit(kit: "", type: "rails")
18
+ def pb_kit(kit: "", type: "rails", show_code: true)
19
19
  @type = type
20
20
  @kit_examples = get_kit_examples(kit, type)
21
- render partial: "playbook/config/kit_example"
21
+ @show_code = show_code
22
+ render partial: "config/kit_example"
22
23
  end
23
24
 
24
25
  def pb_kits(type: "rails")
25
26
  display_kits = []
26
- MENU["kits"].sort.each do |kit|
27
- title = render_clickable_title(kit)
28
- ui = raw("<div class='pb--docItem-ui'>
29
- #{pb_kit(kit: kit, type: type)}</div>")
30
- display_kits << title + ui
27
+ MENU["kits"].each do |kit|
28
+ if kit.is_a?(Hash)
29
+ nav_hash_array(kit).each do |sub_kit|
30
+ display_kits << render_pb_doc_kit(sub_kit, type)
31
+ end
32
+ else
33
+ display_kits << render_pb_doc_kit(kit, type, false)
34
+ end
31
35
  end
32
36
  raw("<div class='pb--docItem'>" + display_kits.join("</div><div class='pb--docItem'>") + "</div>")
33
37
  end
34
38
 
39
+ def pb_category_kits(category_kits: [], type: "rails")
40
+ display_kits = []
41
+ category_kits.each do |kit|
42
+ display_kits << render_pb_doc_kit(kit, type, false)
43
+ end
44
+ raw("<div class='pb--docItem'>" + display_kits.join("</div><div class='pb--docItem'>") + "</div>")
45
+ end
46
+
47
+ def render_pb_doc_kit(kit, type, code = true)
48
+ title = render_clickable_title(kit)
49
+ ui = raw("<div class='pb--docItem-ui'>
50
+ #{pb_kit(kit: kit, type: type, show_code: code)}</div>")
51
+ title + ui
52
+ end
53
+
35
54
  def pb_kit_api(kit)
36
55
  kit_class_obj = get_class_name(kit.to_s)
37
56
  @kit_api = if kit_class_obj < Playbook::PbKit::Base
@@ -42,6 +61,14 @@ module Playbook
42
61
  render partial: "playbook/config/pb_kit_api"
43
62
  end
44
63
 
64
+ def nav_hash_category(link)
65
+ link.keys.first
66
+ end
67
+
68
+ def nav_hash_array(link)
69
+ link.first.last
70
+ end
71
+
45
72
  private
46
73
 
47
74
  def get_kit_examples(kit, type)
@@ -63,9 +90,13 @@ module Playbook
63
90
  end
64
91
 
65
92
  def render_clickable_title(kit)
66
- render inline: "<a href='#{kit_show_path(kit)}'>
67
- #{pb_rails(:title, props: { text: pb_kit_title(kit),
68
- tag: 'h3', size: 2 })}</a>"
93
+ url = "#"
94
+ begin
95
+ url = kit_show_path(kit)
96
+ rescue
97
+ puts "Kit Path Not Avaliable"
98
+ end
99
+ render inline: "<a href='#{url}'>#{ pb_rails(:title, props: { text: pb_kit_title(kit), tag: 'h3', size: 2 })}</a>"
69
100
  end
70
101
  end
71
102
  end
@@ -18,6 +18,7 @@
18
18
  @import 'pb_distribution_bar/distribution_bar';
19
19
  @import 'pb_fixed_confirmation_toast/fixed_confirmation_toast';
20
20
  @import 'pb_form/form';
21
+ @import 'pb_flex/flex';
21
22
  @import 'pb_hashtag/hashtag';
22
23
  @import 'pb_home_address_street/home_address_street';
23
24
  @import 'pb_icon/icon';
@@ -0,0 +1,9 @@
1
+ <%if !@kit_examples[:examples].nil? %>
2
+ <% @kit_examples[:examples].each do |kit_example| %>
3
+ <% kit_example.each do |key, item| %>
4
+ <div class="pb--doc <%=key.include?('_dark') ? 'dark_ui' : 'light_ui'%>">
5
+ <%= render partial: "config/kit_ui", locals: { key: key, type: @type, item: item, show_code: @show_code } %>
6
+ </div>
7
+ <% end %>
8
+ <% end %>
9
+ <% end %>
@@ -2,4 +2,4 @@
2
2
  - @kit_examples[:examples].each do |kit_example|
3
3
  - kit_example.each do |key, item|
4
4
  .pb--doc class=(key.include?("_dark") ? "dark_ui" : "light_ui")
5
- = render partial: "playbook/config/kit_ui", locals: { key: key, type: @type, item: item }
5
+ = render partial: "config/kit_ui", locals: { key: key, type: @type, item: item, show_code: @show_code }
@@ -1,24 +1,29 @@
1
1
  - type ||= "rails"
2
- - file_name = type == "rails" ? "_#{key}.html.erb" : "_#{key}.jsx"
3
- - contents = File.read("#{Playbook::Engine.root}/app/pb_kits/playbook/pb_#{@kit_examples[:kit]}/docs/#{file_name}")
2
+
3
+ - if type == "react"
4
+ - contents = "<%= react_component('kits/#{key}') %>"
5
+ - else
6
+ - contents = File.read("#{Playbook::Engine.root}/app/pb_kits/playbook/pb_#{@kit_examples[:kit]}/docs/_#{key}.html.erb")
4
7
 
5
8
  .pb--kit-example
6
9
  = pb_rails("caption", props: { text: item })
7
10
  br
8
11
  - if type == "rails"
9
- = render partial: "playbook/pb_#{@kit_examples[:kit]}/docs/#{key}"
12
+ = render partial: "pb_#{@kit_examples[:kit]}/docs/#{key}"
10
13
  - elsif type == "react"
11
14
  = pb_react(key.camelize)
12
15
  br
13
16
 
14
- .pb--codeControls
15
- ul
16
- li
17
- a href="#" data-toggle="code_example" Code Example
18
17
 
19
- .pb--codeCopy data-action="toggle" data-togglable="code_example"
20
- a.pb--close-toggle href="#" data-toggle="false" Close
21
- - if type == "rails"
22
- = raw rouge(contents, "erb")
23
- - elsif type == "react"
24
- = raw rouge(contents, "erb")
18
+ - if @show_code
19
+ .pb--codeControls
20
+ ul
21
+ li
22
+ a href="#" data-toggle="code_example" Code Example
23
+
24
+ .pb--codeCopy data-action="toggle" data-togglable="code_example"
25
+ a.pb--close-toggle href="#" data-toggle="false" Close
26
+ - if type == "rails"
27
+ = raw rouge(contents, "erb")
28
+ - elsif type == "react"
29
+ = raw rouge(contents, "erb")
@@ -0,0 +1,70 @@
1
+ kits:
2
+ - avatar
3
+ - badge
4
+ - buttons:
5
+ - button
6
+ - circle_icon_button
7
+ - card
8
+ - checkbox
9
+ - charts_and_graphs:
10
+ - bar_graph
11
+ - legend
12
+ - line_graph
13
+ - distribution_bar
14
+ - fixed_confirmation_toast
15
+ - flex
16
+ - forms:
17
+ - form
18
+ - radio
19
+ - select
20
+ - selectable_card
21
+ - text_input
22
+ - textarea
23
+ - typeahead
24
+ - toggle
25
+ - hashtag
26
+ - icon
27
+ - icon_circle
28
+ - icon_value
29
+ - image
30
+ - layout
31
+ - list
32
+ - loading_inline
33
+ - multiple_users
34
+ - multiple_users_stacked
35
+ - nav
36
+ - online_status
37
+ - pill
38
+ - popover
39
+ - progress_pills
40
+ - progress_simple
41
+ - section_separator
42
+ - source
43
+ - star_rating
44
+ - stat_changea
45
+ - table
46
+ - typography:
47
+ - body
48
+ - caption
49
+ - title
50
+ - typography_patterns:
51
+ - contact
52
+ - currency
53
+ - dashboard_value
54
+ - date
55
+ - date_range_inline
56
+ - date_stacked
57
+ - date_year_stacked
58
+ - home_address_street
59
+ - label_pill
60
+ - label_value
61
+ - message
62
+ - person
63
+ - person_contact
64
+ - stat_value
65
+ - time
66
+ - timestamp
67
+ - title_count
68
+ - title_detail
69
+ - user
70
+ - user_badge
@@ -17,6 +17,8 @@ export DateStacked from './pb_date_stacked/_date_stacked.jsx'
17
17
  export DateYearStacked from './pb_date_year_stacked/_date_year_stacked.jsx'
18
18
  export DistributionBar from './pb_distribution_bar/_distribution_bar.jsx'
19
19
  export FixedConfirmationToast from './pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx'
20
+ export Flex from './pb_flex/_flex.jsx'
21
+ export FlexItem from './pb_flex/_flex_item.jsx'
20
22
  export Hashtag from './pb_hashtag/_hashtag.jsx'
21
23
  export HomeAddressStreet from './pb_home_address_street/_home_address_street.jsx'
22
24
  export Icon from './pb_icon/_icon.jsx'
@@ -1,7 +1,6 @@
1
1
  import '../../../../fonts/fontawesome.min.js'
2
2
  import '../../../../fonts/regular.min.js'
3
3
  import './main.scss'
4
- import './kits.js'
5
4
  import '../vendor.js'
6
5
 
7
6
  // Move to separate file
@@ -13,13 +13,13 @@ import WebpackerReact from 'webpacker-react'
13
13
  // KIT EXAMPLES
14
14
 
15
15
  import '../pb_form/pb_form_validation'
16
- import * as avatar from 'pb_avatar/docs'
16
+ import * as Avatar from 'pb_avatar/docs'
17
17
  import * as Badge from 'pb_badge/docs'
18
18
  import * as BarGraph from 'pb_bar_graph/docs'
19
- import * as body from 'pb_body/docs'
20
- import * as button from 'pb_button/docs'
21
- import * as caption from 'pb_caption/docs'
22
- import * as card from 'pb_card/docs'
19
+ import * as Body from 'pb_body/docs'
20
+ import * as Button from 'pb_button/docs'
21
+ import * as Caption from 'pb_caption/docs'
22
+ import * as Card from 'pb_card/docs'
23
23
  import * as Checkbox from 'pb_checkbox/docs'
24
24
  import * as CircleIconButton from 'pb_circle_icon_button/docs'
25
25
  import * as Contact from 'pb_contact/docs'
@@ -31,18 +31,19 @@ import * as DateStacked from 'pb_date_stacked/docs'
31
31
  import * as DateYearStacked from 'pb_date_year_stacked/docs'
32
32
  import * as DistributionBar from 'pb_distribution_bar/docs'
33
33
  import * as FixedConfirmationToast from 'pb_fixed_confirmation_toast/docs'
34
+ import * as Flex from 'pb_flex/docs'
34
35
  import * as Hashtag from 'pb_hashtag/docs'
35
36
  import * as HomeAddressStreet from 'pb_home_address_street/docs'
36
37
  import * as Icon from 'pb_icon/docs'
37
38
  import * as IconCircle from 'pb_icon_circle/docs'
38
39
  import * as IconValue from 'pb_icon_value/docs'
39
- import * as image from 'pb_image/docs'
40
+ import * as Image from 'pb_image/docs'
40
41
  import * as LabelPill from 'pb_label_pill/docs'
41
42
  import * as LabelValue from 'pb_label_value/docs'
42
- import * as layout from 'pb_layout/docs'
43
+ import * as Layout from 'pb_layout/docs'
43
44
  import * as Legend from 'pb_legend/docs'
44
45
  import * as LineGraph from 'pb_line_graph/docs'
45
- import * as list from 'pb_list/docs'
46
+ import * as List from 'pb_list/docs'
46
47
  import * as LoadingInline from 'pb_loading_inline/docs'
47
48
  import * as Message from 'pb_message/docs'
48
49
  import * as MultipleUsers from 'pb_multiple_users/docs'
@@ -62,78 +63,81 @@ import * as Source from 'pb_source/docs'
62
63
  import * as StarRating from 'pb_star_rating/docs'
63
64
  import * as StatChange from 'pb_stat_change/docs'
64
65
  import * as StatValue from 'pb_stat_value/docs'
65
- import * as table from 'pb_table/docs'
66
+ import * as Table from 'pb_table/docs'
66
67
  import * as Textarea from 'pb_textarea/docs'
67
68
  import * as TextInput from 'pb_text_input/docs'
68
69
  import * as Time from 'pb_time/docs'
69
70
  import * as Timestamp from 'pb_timestamp/docs'
70
- import * as title from 'pb_title/docs'
71
+ import * as Title from 'pb_title/docs'
71
72
  import * as TitleCount from 'pb_title_count/docs'
72
73
  import * as TitleDetail from 'pb_title_detail/docs'
73
74
  import * as Toggle from 'pb_toggle/docs'
74
75
  import * as User from 'pb_user/docs'
75
76
  import * as UserBadge from 'pb_user_badge/docs'
76
- import PbTypeahead from 'pb_typeahead'
77
77
 
78
+ import PbTypeahead from 'pb_typeahead'
78
79
  PbTypeahead.start()
79
- WebpackerReact.setup(avatar)
80
- WebpackerReact.setup(Badge)
81
- WebpackerReact.setup(BarGraph)
82
- WebpackerReact.setup(body)
83
- WebpackerReact.setup(button)
84
- WebpackerReact.setup(caption)
85
- WebpackerReact.setup(card)
86
- WebpackerReact.setup(Checkbox)
87
- WebpackerReact.setup(CircleIconButton)
88
- WebpackerReact.setup(Contact)
89
- WebpackerReact.setup(Currency)
90
- WebpackerReact.setup(DashboardValue)
91
- WebpackerReact.setup(Date)
92
- WebpackerReact.setup(DateRangeInline)
93
- WebpackerReact.setup(DateStacked)
94
- WebpackerReact.setup(DateYearStacked)
95
- WebpackerReact.setup(DistributionBar)
96
- WebpackerReact.setup(FixedConfirmationToast)
97
- WebpackerReact.setup(Hashtag)
98
- WebpackerReact.setup(HomeAddressStreet)
99
- WebpackerReact.setup(Icon)
100
- WebpackerReact.setup(IconCircle)
101
- WebpackerReact.setup(IconValue)
102
- WebpackerReact.setup(image)
103
- WebpackerReact.setup(LabelPill)
104
- WebpackerReact.setup(LabelValue)
105
- WebpackerReact.setup(layout)
106
- WebpackerReact.setup(Legend)
107
- WebpackerReact.setup(LineGraph)
108
- WebpackerReact.setup(list)
109
- WebpackerReact.setup(LoadingInline)
110
- WebpackerReact.setup(Message)
111
- WebpackerReact.setup(MultipleUsers)
112
- WebpackerReact.setup(MultipleUsersStacked)
113
- WebpackerReact.setup(Nav)
114
- WebpackerReact.setup(OnlineStatus)
115
- WebpackerReact.setup(Person)
116
- WebpackerReact.setup(PersonContact)
117
- WebpackerReact.setup(Pill)
118
- WebpackerReact.setup(Popover)
119
- WebpackerReact.setup(ProgressPills)
120
- WebpackerReact.setup(ProgressSimple)
121
- WebpackerReact.setup(Radio)
122
- WebpackerReact.setup(SectionSeparator)
123
- WebpackerReact.setup(Select)
124
- WebpackerReact.setup(SelectableCard)
125
- WebpackerReact.setup(Source)
126
- WebpackerReact.setup(StarRating)
127
- WebpackerReact.setup(StatChange)
128
- WebpackerReact.setup(StatValue)
129
- WebpackerReact.setup(table)
130
- WebpackerReact.setup(Textarea)
131
- WebpackerReact.setup(TextInput)
132
- WebpackerReact.setup(Time)
133
- WebpackerReact.setup(Timestamp)
134
- WebpackerReact.setup(title)
135
- WebpackerReact.setup(TitleCount)
136
- WebpackerReact.setup(TitleDetail)
137
- WebpackerReact.setup(Toggle)
138
- WebpackerReact.setup(User)
139
- WebpackerReact.setup(UserBadge)
80
+
81
+ WebpackerReact.setup({
82
+ ...Avatar,
83
+ ...Badge,
84
+ ...BarGraph,
85
+ ...Body,
86
+ ...Button,
87
+ ...Caption,
88
+ ...Card,
89
+ ...Checkbox,
90
+ ...CircleIconButton,
91
+ ...Contact,
92
+ ...Currency,
93
+ ...DashboardValue,
94
+ ...Date,
95
+ ...DateRangeInline,
96
+ ...DateStacked,
97
+ ...DateYearStacked,
98
+ ...DistributionBar,
99
+ ...FixedConfirmationToast,
100
+ ...Flex,
101
+ ...Hashtag,
102
+ ...HomeAddressStreet,
103
+ ...Icon,
104
+ ...IconCircle,
105
+ ...IconValue,
106
+ ...Image,
107
+ ...LabelPill,
108
+ ...LabelValue,
109
+ ...Layout,
110
+ ...Legend,
111
+ ...LineGraph,
112
+ ...List,
113
+ ...LoadingInline,
114
+ ...Message,
115
+ ...MultipleUsers,
116
+ ...MultipleUsersStacked,
117
+ ...Nav,
118
+ ...OnlineStatus,
119
+ ...Person,
120
+ ...PersonContact,
121
+ ...Pill,
122
+ ...ProgressPills,
123
+ ...ProgressSimple,
124
+ ...Radio,
125
+ ...SectionSeparator,
126
+ ...Select,
127
+ ...SelectableCard,
128
+ ...Source,
129
+ ...StarRating,
130
+ ...StatChange,
131
+ ...StatValue,
132
+ ...Table,
133
+ ...Textarea,
134
+ ...TextInput,
135
+ ...Time,
136
+ ...Timestamp,
137
+ ...Title,
138
+ ...TitleCount,
139
+ ...TitleDetail,
140
+ ...Toggle,
141
+ ...User,
142
+ ...UserBadge,
143
+ })