playbook_ui 8.0.0.pre.alpha1 → 8.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +8 -7
  3. data/app/pb_kits/playbook/data/menu.yml +1 -0
  4. data/app/pb_kits/playbook/index.js +1 -0
  5. data/app/pb_kits/playbook/pb_card/card_header.rb +7 -7
  6. data/app/pb_kits/playbook/pb_collapsible/_collapsible.jsx +84 -0
  7. data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +15 -0
  8. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleContent.jsx +40 -0
  9. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.jsx +59 -0
  10. data/app/pb_kits/playbook/pb_collapsible/collapsible.html.erb +7 -0
  11. data/app/pb_kits/playbook/pb_collapsible/collapsible.rb +11 -0
  12. data/app/pb_kits/playbook/pb_collapsible/collapsible.test.js +50 -0
  13. data/app/pb_kits/playbook/pb_collapsible/collapsible_content.html.erb +7 -0
  14. data/app/pb_kits/playbook/pb_collapsible/collapsible_content.rb +17 -0
  15. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +16 -0
  16. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.rb +15 -0
  17. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.html.erb +10 -0
  18. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.jsx +19 -0
  19. data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +9 -0
  20. data/app/pb_kits/playbook/pb_collapsible/docs/index.js +1 -0
  21. data/app/pb_kits/playbook/pb_collapsible/index.js +79 -0
  22. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.jsx +6 -2
  23. data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.html.erb +1 -1
  24. data/app/pb_kits/playbook/pb_docs/kit_api.html.erb +12 -0
  25. data/app/pb_kits/playbook/pb_docs/kit_api.rb +19 -0
  26. data/app/pb_kits/playbook/pb_docs/kit_example.html.erb +28 -0
  27. data/app/pb_kits/playbook/pb_docs/kit_example.rb +46 -0
  28. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +2 -2
  29. data/app/pb_kits/playbook/pb_form/form.rb +11 -2
  30. data/app/pb_kits/playbook/pb_form/form_builder.rb +1 -1
  31. data/app/pb_kits/playbook/pb_form/form_builder/action_area.html.erb +1 -1
  32. data/app/pb_kits/playbook/pb_form/form_with.html.erb +7 -14
  33. data/app/pb_kits/playbook/pb_form/form_with.rb +13 -6
  34. data/app/pb_kits/playbook/pb_nav/_item.jsx +2 -0
  35. data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -2
  36. data/app/pb_kits/playbook/pb_nav/item.html.erb +2 -2
  37. data/app/pb_kits/playbook/pb_nav/nav.html.erb +1 -1
  38. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +1 -1
  39. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +5 -0
  40. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_variants.html.erb +5 -0
  41. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_variants.jsx +7 -0
  42. data/app/pb_kits/playbook/pb_progress_simple/docs/_progress_simple_variants.md +1 -1
  43. data/app/pb_kits/playbook/pb_progress_simple/progress_simple.rb +1 -1
  44. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +43 -26
  45. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +18 -0
  46. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.html.erb +18 -5
  47. data/app/pb_kits/playbook/pb_time_stacked/docs/_time_stacked_default.jsx +10 -5
  48. data/app/pb_kits/playbook/pb_time_stacked/time_stacked.html.erb +7 -3
  49. data/app/pb_kits/playbook/pb_time_stacked/time_stacked.rb +8 -30
  50. data/app/pb_kits/playbook/pb_time_stacked/time_stacked.test.js +33 -0
  51. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +4 -3
  52. data/app/pb_kits/playbook/vendor.js +3 -0
  53. data/lib/playbook.rb +13 -8
  54. data/lib/playbook/markdown.rb +4 -0
  55. data/lib/playbook/markdown/helper.rb +153 -0
  56. data/lib/playbook/pb_doc_helper.rb +89 -0
  57. data/lib/playbook/props/base.rb +1 -1
  58. data/lib/playbook/version.rb +1 -1
  59. metadata +34 -10
  60. data/app/controllers/playbook/application_controller.rb +0 -14
  61. data/app/helpers/playbook/application_helper.rb +0 -30
  62. data/app/helpers/playbook/pb_doc_helper.rb +0 -210
  63. data/app/helpers/playbook/pb_sample_helper.rb +0 -64
  64. data/app/helpers/playbook/redcarpet_helper.rb +0 -151
  65. data/app/pb_kits/playbook/pb_form/form.html.erb +0 -7
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module PbDocHelper
5
+ def pb_kit_title(title)
6
+ title.remove("pb_").titleize.tr("_", " ")
7
+ end
8
+
9
+ def pb_kit(kit: "", type: "rails", show_code: true, limit_examples: false, dark_mode: false)
10
+ examples = pb_doc_kit_examples(kit, type)
11
+ examples = examples.first(1) if limit_examples
12
+ examples.map do |example|
13
+ pb_rails "docs/kit_example", props: {
14
+ kit: kit,
15
+ example_title: example.values.first,
16
+ example_key: example.keys.first,
17
+ show_code: show_code,
18
+ type: type,
19
+ dark: dark_mode
20
+ }
21
+ end.join.yield_self(&method(:raw))
22
+ end
23
+
24
+ def nav_hash_array(link)
25
+ link.first.last
26
+ end
27
+
28
+ # Deal with lists of kits, used in Playbook doc and Externally
29
+ def pb_kits(type: "rails", limit_examples: false, dark_mode: false)
30
+ display_kits = []
31
+ kits = get_kits
32
+ kits.each do |kit|
33
+ if kit.is_a?(Hash)
34
+ nav_hash_array(kit).each do |sub_kit|
35
+ display_kits << render_pb_doc_kit(sub_kit, type, limit_examples, false, dark_mode)
36
+ end
37
+ else
38
+ display_kits << render_pb_doc_kit(kit, type, limit_examples, false, dark_mode)
39
+ end
40
+ end
41
+ raw("<div class='pb--docItem'>" + display_kits.join("</div><div class='pb--docItem'>") + "</div>")
42
+ end
43
+
44
+ def get_kits
45
+ menu = YAML.load_file(Playbook::Engine.root.join("app/pb_kits/playbook/data/menu.yml"))
46
+ menu["kits"]
47
+ end
48
+
49
+ def render_pb_doc_kit(kit, type, limit_examples, code = true, dark_mode = false)
50
+ title = pb_doc_render_clickable_title(kit, type)
51
+ ui = raw("<div class='pb--docItem-ui'>
52
+ #{pb_kit(kit: kit, type: type, show_code: code, limit_examples: limit_examples, dark_mode: dark_mode)}</div>")
53
+ title + ui
54
+ end
55
+
56
+ private
57
+
58
+ def pb_doc_kit_path(kit, *args)
59
+ Playbook.kit_path(kit, "docs", *args)
60
+ end
61
+
62
+ def pb_doc_kit_examples(kit, type)
63
+ example_file = pb_doc_kit_path(kit, "example.yml")
64
+ if File.exist?(example_file)
65
+ examples_list = YAML.load_file(example_file)
66
+ .inject({}) { |item, (k, v)| item[k.to_sym] = v; item }
67
+ examples_list.dig(:examples, type) || []
68
+ else
69
+ []
70
+ end
71
+ end
72
+
73
+ def pb_doc_render_clickable_title(kit, type)
74
+ url = "#"
75
+ begin
76
+ url = if type == "react"
77
+ kit_show_reacts_path(kit)
78
+ else
79
+ kit_show_path(kit)
80
+ end
81
+ # FIXME this is here because this helper generates a link for playbook website,
82
+ # but shouldn't do anything when used elsewhere
83
+ rescue
84
+ puts "Kit Path Not Avaliable"
85
+ end
86
+ render inline: "<a href='#{url}'>#{pb_rails(:title, props: { text: pb_kit_title(kit), tag: 'h3', size: 2 })}</a>"
87
+ end
88
+ end
89
+ end
@@ -46,4 +46,4 @@ module Playbook
46
46
  end
47
47
  end
48
48
  end
49
- end
49
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- VERSION = "8.0.0.pre.alpha1"
4
+ VERSION = "8.1.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.0.pre.alpha1
4
+ version: 8.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Power UX
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-02-19 00:00:00.000000000 Z
12
+ date: 2021-03-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -286,6 +286,9 @@ dependencies:
286
286
  requirement: !ruby/object:Gem::Requirement
287
287
  requirements:
288
288
  - - "~>"
289
+ - !ruby/object:Gem::Version
290
+ version: '3.8'
291
+ - - ">="
289
292
  - !ruby/object:Gem::Version
290
293
  version: 3.8.0
291
294
  type: :development
@@ -293,6 +296,9 @@ dependencies:
293
296
  version_requirements: !ruby/object:Gem::Requirement
294
297
  requirements:
295
298
  - - "~>"
299
+ - !ruby/object:Gem::Version
300
+ version: '3.8'
301
+ - - ">="
296
302
  - !ruby/object:Gem::Version
297
303
  version: 3.8.0
298
304
  - !ruby/object:Gem::Dependency
@@ -420,11 +426,6 @@ files:
420
426
  - app/assets/images/pb-logo.svg
421
427
  - app/assets/images/pb-white-logo.svg
422
428
  - app/assets/images/pb.logo.svg
423
- - app/controllers/playbook/application_controller.rb
424
- - app/helpers/playbook/application_helper.rb
425
- - app/helpers/playbook/pb_doc_helper.rb
426
- - app/helpers/playbook/pb_sample_helper.rb
427
- - app/helpers/playbook/redcarpet_helper.rb
428
429
  - app/pb_kits/playbook/_playbook.scss
429
430
  - app/pb_kits/playbook/data/menu.yml
430
431
  - app/pb_kits/playbook/index.js
@@ -662,6 +663,22 @@ files:
662
663
  - app/pb_kits/playbook/pb_circle_icon_button/docs/_footer.md
663
664
  - app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml
664
665
  - app/pb_kits/playbook/pb_circle_icon_button/docs/index.js
666
+ - app/pb_kits/playbook/pb_collapsible/_collapsible.jsx
667
+ - app/pb_kits/playbook/pb_collapsible/_collapsible.scss
668
+ - app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleContent.jsx
669
+ - app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.jsx
670
+ - app/pb_kits/playbook/pb_collapsible/collapsible.html.erb
671
+ - app/pb_kits/playbook/pb_collapsible/collapsible.rb
672
+ - app/pb_kits/playbook/pb_collapsible/collapsible.test.js
673
+ - app/pb_kits/playbook/pb_collapsible/collapsible_content.html.erb
674
+ - app/pb_kits/playbook/pb_collapsible/collapsible_content.rb
675
+ - app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb
676
+ - app/pb_kits/playbook/pb_collapsible/collapsible_main.rb
677
+ - app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.html.erb
678
+ - app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.jsx
679
+ - app/pb_kits/playbook/pb_collapsible/docs/example.yml
680
+ - app/pb_kits/playbook/pb_collapsible/docs/index.js
681
+ - app/pb_kits/playbook/pb_collapsible/index.js
665
682
  - app/pb_kits/playbook/pb_contact/_contact.jsx
666
683
  - app/pb_kits/playbook/pb_contact/_contact.scss
667
684
  - app/pb_kits/playbook/pb_contact/contact.html.erb
@@ -845,6 +862,10 @@ files:
845
862
  - app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_default.jsx
846
863
  - app/pb_kits/playbook/pb_distribution_bar/docs/example.yml
847
864
  - app/pb_kits/playbook/pb_distribution_bar/docs/index.js
865
+ - app/pb_kits/playbook/pb_docs/kit_api.html.erb
866
+ - app/pb_kits/playbook/pb_docs/kit_api.rb
867
+ - app/pb_kits/playbook/pb_docs/kit_example.html.erb
868
+ - app/pb_kits/playbook/pb_docs/kit_example.rb
848
869
  - app/pb_kits/playbook/pb_enhanced_element/element_observer.js
849
870
  - app/pb_kits/playbook/pb_enhanced_element/index.js
850
871
  - app/pb_kits/playbook/pb_file_upload/_file_upload.jsx
@@ -950,7 +971,6 @@ files:
950
971
  - app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb
951
972
  - app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.md
952
973
  - app/pb_kits/playbook/pb_form/docs/example.yml
953
- - app/pb_kits/playbook/pb_form/form.html.erb
954
974
  - app/pb_kits/playbook/pb_form/form.rb
955
975
  - app/pb_kits/playbook/pb_form/form_builder.rb
956
976
  - app/pb_kits/playbook/pb_form/form_builder/action_area.html.erb
@@ -1804,6 +1824,7 @@ files:
1804
1824
  - app/pb_kits/playbook/pb_time_stacked/docs/index.js
1805
1825
  - app/pb_kits/playbook/pb_time_stacked/time_stacked.html.erb
1806
1826
  - app/pb_kits/playbook/pb_time_stacked/time_stacked.rb
1827
+ - app/pb_kits/playbook/pb_time_stacked/time_stacked.test.js
1807
1828
  - app/pb_kits/playbook/pb_timeline/_item.jsx
1808
1829
  - app/pb_kits/playbook/pb_timeline/_timeline.jsx
1809
1830
  - app/pb_kits/playbook/pb_timeline/_timeline.scss
@@ -2014,7 +2035,10 @@ files:
2014
2035
  - lib/playbook/engine.rb
2015
2036
  - lib/playbook/kit_base.rb
2016
2037
  - lib/playbook/kit_resolver.rb
2038
+ - lib/playbook/markdown.rb
2039
+ - lib/playbook/markdown/helper.rb
2017
2040
  - lib/playbook/markdown/template_handler.rb
2041
+ - lib/playbook/pb_doc_helper.rb
2018
2042
  - lib/playbook/pb_kit_helper.rb
2019
2043
  - lib/playbook/props.rb
2020
2044
  - lib/playbook/props/array.rb
@@ -2049,9 +2073,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
2049
2073
  version: '0'
2050
2074
  required_rubygems_version: !ruby/object:Gem::Requirement
2051
2075
  requirements:
2052
- - - ">"
2076
+ - - ">="
2053
2077
  - !ruby/object:Gem::Version
2054
- version: 1.3.1
2078
+ version: '0'
2055
2079
  requirements: []
2056
2080
  rubyforge_project:
2057
2081
  rubygems_version: 2.7.3
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- class ApplicationController < ActionController::Base
5
- helper Webpacker::Helper
6
- helper Playbook::ApplicationHelper
7
- helper Playbook::PbDocHelper
8
- helper Playbook::PbSampleHelper
9
-
10
- def delete_dark_mode_cookie
11
- cookies.delete :dark_mode
12
- end
13
- end
14
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- module ApplicationHelper
5
- include ::Webpacker::React::Helpers
6
- include ::Playbook::PbKitHelper
7
-
8
- def current_webpacker_instance
9
- Playbook.webpacker
10
- end
11
-
12
- def pb_rails(kit, props: {}, &block)
13
- super kit, props: dark_mode_props(props), &block
14
- end
15
-
16
- def pb_react(kit, props: {}, options: {})
17
- react_component kit.camelize, dark_mode_props(props), options
18
- end
19
-
20
- private
21
-
22
- def dark_mode_props(props)
23
- (props || {}).merge(dark: dark_mode?)
24
- end
25
-
26
- def dark_mode?
27
- cookies[:dark_mode].eql? "true"
28
- end
29
- end
30
- end
@@ -1,210 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Playbook
4
- module PbDocHelper
5
- def pb_kit_title(title)
6
- title.remove("pb_").titleize.tr("_", " ")
7
- end
8
-
9
- def pb_doc_source(type, kit, example_key)
10
- highlight = type == "react" ? "react" : "erb"
11
- extension = type == "react" ? "jsx" : "html.erb"
12
- source = read_source_file kit_path(kit).join("docs/_#{example_key}.#{extension}")
13
- raw rouge(source, highlight)
14
- end
15
-
16
- def pb_doc_example(type, kit, example_key)
17
- if type == "rails"
18
- render file: kit_path(kit).join("docs/_#{example_key}.html.erb")
19
- elsif type == "react"
20
- pb_react(example_key.camelize)
21
- end
22
- end
23
-
24
- def pb_doc_kit_api(kit)
25
- kit_class = Playbook::KitResolver.resolve(kit.to_s)
26
- return unless kit_class
27
- render partial: "playbook/config/pb_kit_api", locals: { kit_api: kit_class.props.keys }
28
- end
29
-
30
- def has_kit_type?(kit, type)
31
- type ||= "rails"
32
- if type == "rails"
33
- erbfiles = File.join("**", "*.erb")
34
- Dir.glob(erbfiles, base: "#{kit_path(kit)}/docs").present?
35
- elsif type == "react"
36
- jsxfiles = File.join("**", "*.jsx")
37
- Dir.glob(jsxfiles, base: "#{kit_path(kit)}/docs").present?
38
- end
39
- end
40
-
41
- def get_kit_description(kit)
42
- read_source_file kit_path(kit).join("docs/_description.md")
43
- end
44
-
45
- def get_per_sample_descriptions(kit, key)
46
- read_source_file kit_path(kit).join("docs/_#{key}.md")
47
- end
48
-
49
- def get_kit_footer(kit)
50
- read_source_file kit_path(kit).join("docs/_footer.md")
51
- end
52
-
53
- def pb_kit(kit: "", type: "rails", show_code: true, limit_examples: false)
54
- @type = type
55
- @kit_examples = get_kit_examples(kit, type)
56
- @limit_examples = limit_examples
57
- @show_code = show_code
58
- render partial: "playbook/config/kit_example"
59
- end
60
-
61
- def pb_kits(type: "rails", limit_examples: false)
62
- display_kits = []
63
- kits = get_kits
64
- kits.each do |kit|
65
- if kit.is_a?(Hash)
66
- nav_hash_array(kit).each do |sub_kit|
67
- display_kits << render_pb_doc_kit(sub_kit, type, false, limit_examples)
68
- end
69
- else
70
- display_kits << render_pb_doc_kit(kit, type, false, limit_examples)
71
- end
72
- end
73
- raw("<div class='pb--docItem'>" + display_kits.join("</div><div class='pb--docItem'>") + "</div>")
74
- end
75
-
76
- def get_kits
77
- menu = YAML.load_file("#{Playbook::Engine.root}/app/pb_kits/playbook/data/menu.yml")
78
- menu["kits"]
79
- end
80
-
81
- def pb_category_kits(category_kits: [], type: "rails")
82
- display_kits = []
83
- category_kits.each do |kit|
84
- display_kits << render_pb_doc_kit(kit, type, false)
85
- end
86
- raw("<div class='pb--docItem'>" + display_kits.join("</div><div class='pb--docItem'>") + "</div>")
87
- end
88
-
89
- def render_pb_doc_kit(kit, type, code = true, limit_examples)
90
- title = render_clickable_title(kit, type)
91
- ui = raw("<div class='pb--docItem-ui'>
92
- #{pb_kit(kit: kit, type: type, show_code: code, limit_examples: limit_examples)}</div>")
93
- title + ui
94
- end
95
-
96
- def nav_hash_category(link)
97
- link.keys.first
98
- end
99
-
100
- def nav_hash_array(link)
101
- link.first.last
102
- end
103
-
104
- def all_link(type)
105
- type == "react" ? kits_path("", type: "react") : kits_path
106
- end
107
-
108
- def category_link(type, link)
109
- if type == "react"
110
- kit_category_show_path(nav_hash_category(link), type: "react")
111
- else
112
- kit_category_show_path(nav_hash_category(link), type: "rails")
113
- end
114
- end
115
-
116
- def sub_category_link(type, link)
117
- if type == "react"
118
- kit_show_reacts_path(link)
119
- else
120
- kit_show_path(link)
121
- end
122
- end
123
-
124
- def kit_link(type, link)
125
- if type == "react"
126
- kit_show_reacts_path(link)
127
- else
128
- kit_show_path(link)
129
- end
130
- end
131
-
132
- def all_active(controller_name, action_name)
133
- (controller_name == "pages" && action_name == "kits")
134
- end
135
-
136
- def category_active(category, link)
137
- (!category.nil? && category == nav_hash_category(link))
138
- end
139
-
140
- def kit_active(kit, link)
141
- (!kit.nil? && kit == link)
142
- end
143
-
144
- def sub_category_active(kit, link)
145
- (!kit.nil? && @kit == link)
146
- end
147
-
148
- def read_source_file(*args)
149
- path = Playbook::Engine.root.join(*args)
150
- path.exist? ? path.read : ""
151
- end
152
-
153
- def format_search_hash(kit)
154
- label_value_hash = {
155
- label: kit.to_s.titleize,
156
- value: @type == "react" || @type.nil? ? "/kits/#{kit}/react" : "/kits/#{kit}",
157
- }
158
- label_value_hash
159
- end
160
-
161
- def search_list
162
- all_kits = []
163
- formatted_kits = []
164
- MENU["kits"].each do |kit|
165
- if kit.is_a? Hash
166
- kit.values[0].each do |sub_kit|
167
- all_kits.push(sub_kit)
168
- end
169
- else
170
- all_kits.push(kit)
171
- end
172
- end
173
- all_kits.sort!.each do |sorted_kit|
174
- formatted_kits.push(format_search_hash(sorted_kit))
175
- end
176
- formatted_kits
177
- end
178
-
179
- private
180
-
181
- def kit_path(kit)
182
- Playbook::Engine.root.join("app/pb_kits/playbook/pb_#{kit}")
183
- end
184
-
185
- def get_kit_examples(kit, type)
186
- example_file = kit_path(kit).join("docs/example.yml")
187
- if File.exist? example_file
188
- examples_list = YAML.load_file(example_file)
189
- .inject({}) { |item, (k, v)| item[k.to_sym] = v; item }
190
- { kit: kit, examples: examples_list[:examples][type] }
191
- else
192
- {}
193
- end
194
- end
195
-
196
- def render_clickable_title(kit, type)
197
- url = "#"
198
- begin
199
- url = if type == "react"
200
- kit_show_reacts_path(kit)
201
- else
202
- kit_show_path(kit)
203
- end
204
- rescue
205
- puts "Kit Path Not Avaliable"
206
- end
207
- render inline: "<a href='#{url}'>#{pb_rails(:title, props: { text: pb_kit_title(kit), tag: 'h3', size: 2 })}</a>"
208
- end
209
- end
210
- end