playbook_ui 4.1.2 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ })