playbook_ui 13.8.0.pre.alpha.PLAY1016reactionbuttonemojibug1245 → 13.8.0.pre.alpha.play845allkitsbytypes1254
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_button/_button.tsx +1 -1
- data/app/pb_kits/playbook/pb_button/docs/_button_reaction.html.erb +1 -1
- data/app/pb_kits/playbook/pb_button/docs/_button_reaction.jsx +1 -1
- data/app/pb_kits/playbook/pb_icon/_icon.tsx +1 -1
- data/dist/menu.yml +281 -110
- data/dist/playbook-rails.js +2 -2
- data/lib/playbook/pb_doc_helper.rb +69 -29
- data/lib/playbook/version.rb +1 -1
- metadata +2 -2
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
module
|
3
|
+
module PlaybookWebsite
|
4
4
|
module PbDocHelper
|
5
5
|
def pb_kit_title(title)
|
6
6
|
title.remove("pb_").titleize.tr("_", " ")
|
@@ -26,41 +26,81 @@ module Playbook
|
|
26
26
|
end
|
27
27
|
|
28
28
|
# Deal with lists of kits, used in Playbook doc and Externally
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
kits
|
33
|
-
kits.
|
34
|
-
|
35
|
-
|
36
|
-
display_kits << render_pb_doc_kit(sub_kit, type, limit_examples, false, dark_mode)
|
37
|
-
end
|
38
|
-
else
|
39
|
-
display_kits << render_pb_doc_kit(kit, type, limit_examples, false, dark_mode)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
raw("<div class='pb--docItem'>" + display_kits.join("</div><div class='pb--docItem'>") + "</div>")
|
29
|
+
def pb_kits(type: "rails", limit_examples: false, dark_mode: false)
|
30
|
+
kits = get_kits(type)
|
31
|
+
|
32
|
+
# Iterate through the filtered kits and render them
|
33
|
+
kits.map do |kit|
|
34
|
+
render_pb_doc_kit(kit["name"], type, limit_examples, true, dark_mode)
|
35
|
+
end.join.html_safe
|
43
36
|
end
|
44
|
-
# rubocop:enable Style/StringConcatenation
|
45
37
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
38
|
+
def get_kits(type = "rails")
|
39
|
+
kits = YAML.load_file(Playbook::Engine.root.join("dist/menu.yml")) || []
|
40
|
+
|
41
|
+
# Filter kits that have at least one component compatible with the type
|
42
|
+
kits.select do |kit|
|
43
|
+
kit["components"].any? { |component| component["platforms"].include?(type) }
|
44
|
+
end
|
50
45
|
end
|
51
46
|
|
52
|
-
def
|
53
|
-
|
54
|
-
|
47
|
+
def aggregate_kits
|
48
|
+
all_kits = []
|
49
|
+
|
50
|
+
YAML.load_file(Playbook::Engine.root.join("dist/menu.yml")).each do |kit|
|
51
|
+
kit_name = kit["name"]
|
52
|
+
components = kit["components"].map { |c| c["name"] }
|
53
|
+
|
54
|
+
all_kits << if components.size == 1
|
55
|
+
components.first
|
56
|
+
else
|
57
|
+
{ kit_name => components }
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
all_kits
|
55
62
|
end
|
56
|
-
# rubocop:enable Naming/AccessorMethodName
|
57
63
|
|
58
64
|
# rubocop:disable Style/OptionalBooleanParameter
|
59
|
-
def render_pb_doc_kit(
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
65
|
+
def render_pb_doc_kit(kit_name, type, limit_examples, code = true, dark_mode = false)
|
66
|
+
parent_kit = YAML.load_file(Playbook::Engine.root.join("dist/menu.yml")).find { |kit| kit["name"] == kit_name }
|
67
|
+
|
68
|
+
# Initialize component_content as an empty string
|
69
|
+
component_content = ""
|
70
|
+
title = ""
|
71
|
+
|
72
|
+
# Check if parent_kit is nil
|
73
|
+
if parent_kit.nil?
|
74
|
+
title = pb_doc_render_clickable_title(kit_name, type)
|
75
|
+
component_content = raw("<div class='pb--docItem-ui'>
|
76
|
+
#{pb_kit(kit: kit_name, type: type, show_code: code, limit_examples: limit_examples, dark_mode: dark_mode)}</div>")
|
77
|
+
else
|
78
|
+
# Filter components based on the specified type
|
79
|
+
components = parent_kit["components"].select { |component| component["platforms"].include?(type) }
|
80
|
+
|
81
|
+
# If it's a parent with components, accumulate the UI content for child components
|
82
|
+
if components.any?
|
83
|
+
component_content = components.map do |component|
|
84
|
+
component_name = component["name"]
|
85
|
+
title = pb_doc_render_clickable_title(component_name, type) # Use component_name for the title
|
86
|
+
|
87
|
+
# Render the component UI content with the same styles/tags as the parent
|
88
|
+
component_ui = raw("<div class='pb--docItem-ui'>
|
89
|
+
#{pb_kit(kit: component_name, type: type, show_code: code, limit_examples: limit_examples, dark_mode: dark_mode)}
|
90
|
+
</div>")
|
91
|
+
|
92
|
+
# Combine the component name and component UI content
|
93
|
+
"#{title}#{component_ui}"
|
94
|
+
end.join.to_s
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
# Combine the component content and UI content for the parent kit
|
99
|
+
if parent_kit.nil?
|
100
|
+
"#{title}#{component_content}".to_s
|
101
|
+
else
|
102
|
+
component_content.to_s.to_s
|
103
|
+
end
|
64
104
|
end
|
65
105
|
# rubocop:enable Style/OptionalBooleanParameter
|
66
106
|
|
data/lib/playbook/version.rb
CHANGED
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: 13.8.0.pre.alpha.
|
4
|
+
version: 13.8.0.pre.alpha.play845allkitsbytypes1254
|
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: 2023-10-
|
12
|
+
date: 2023-10-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|