playbook_ui_docs 13.10.0 → 13.11.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_button/docs/_button_circle_swift.md +28 -0
  3. data/app/pb_kits/playbook/pb_button/docs/_button_default_swift.md +23 -0
  4. data/app/pb_kits/playbook/pb_button/docs/_button_full_width_swift.md +9 -0
  5. data/app/pb_kits/playbook/pb_button/docs/_button_icon_options_swift.md +18 -0
  6. data/app/pb_kits/playbook/pb_button/docs/_button_props_swift.md +11 -0
  7. data/app/pb_kits/playbook/pb_button/docs/_button_size_swift.md +20 -0
  8. data/app/pb_kits/playbook/pb_button/docs/example.yml +8 -0
  9. data/app/pb_kits/playbook/pb_card/docs/_card_background_swift.md +29 -0
  10. data/app/pb_kits/playbook/pb_card/docs/_card_border_none_swift.md +7 -0
  11. data/app/pb_kits/playbook/pb_card/docs/_card_border_radius_swift.md +33 -0
  12. data/app/pb_kits/playbook/pb_card/docs/_card_header_swift.md +33 -0
  13. data/app/pb_kits/playbook/pb_card/docs/_card_highlight_swift.md +17 -0
  14. data/app/pb_kits/playbook/pb_card/docs/_card_light_swift.md +7 -0
  15. data/app/pb_kits/playbook/pb_card/docs/_card_padding_swift.md +33 -0
  16. data/app/pb_kits/playbook/pb_card/docs/_card_props_swift.md +10 -0
  17. data/app/pb_kits/playbook/pb_card/docs/_card_selected_swift.md +0 -0
  18. data/app/pb_kits/playbook/pb_card/docs/_card_separator_swift.md +11 -0
  19. data/app/pb_kits/playbook/pb_card/docs/_card_shadow_swift.md +21 -0
  20. data/app/pb_kits/playbook/pb_card/docs/_card_styles_swift.md +17 -0
  21. data/app/pb_kits/playbook/pb_card/docs/_card_tag_swift.md +0 -0
  22. data/app/pb_kits/playbook/pb_card/docs/example.yml +12 -0
  23. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_default_swift.md +10 -0
  24. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_error_swift.md +12 -0
  25. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate_swift.md +12 -0
  26. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_props_swift.md +7 -0
  27. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +7 -0
  28. data/app/pb_kits/playbook/pb_dawg/docs/example.yml +9 -0
  29. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color_props.md +6 -0
  30. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color_swift.md +16 -0
  31. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_defaul_swift.md +7 -0
  32. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes_swift.md +11 -0
  33. data/app/pb_kits/playbook/pb_icon_circle/docs/example.yml +7 -0
  34. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.html.erb +0 -1
  35. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.html.erb +104 -45
  36. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.jsx +100 -43
  37. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.md +1 -0
  38. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.html.erb +138 -0
  39. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.jsx +150 -0
  40. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.md +1 -0
  41. data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +2 -0
  42. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +1 -0
  43. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_disabled.jsx +33 -0
  44. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_disabled.md +3 -0
  45. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +1 -0
  46. data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +2 -1
  47. data/app/pb_kits/playbook/pb_table/docs/_table_header.html.erb +47 -31
  48. data/app/pb_kits/playbook/pb_table/docs/_table_header.md +5 -0
  49. data/dist/app/components/playbook/pb_docs/kit_example.html.erb +3 -3
  50. data/dist/menu.yml +284 -110
  51. data/dist/pb_doc_helper.rb +5 -5
  52. data/dist/playbook-doc.js +8 -8
  53. metadata +36 -2
@@ -0,0 +1,3 @@
1
+ Because our default variant's toolbar requires [Tiptap's StarterKit](https://tiptap.dev/api/extensions/starter-kit) which may include features that are not relevant to your project or even block some custom extensions, optionally setting `advancedEditorToolbar` to `false` creates an editor without a toolbar, using only the minimum requirements.
2
+
3
+ __NOTE__: Omitting the Starter Kit requires that the editor’s default extensions (`document`, `paragraph`, and `text`) __must__ be imported directly from Tiptap or as a custom extensions.
@@ -15,6 +15,7 @@ examples:
15
15
  - rich_text_editor_default: Default
16
16
  - rich_text_editor_advanced_default: Advanced Default
17
17
  - rich_text_editor_more_extensions: Advanced (Extra Extensions)
18
+ - rich_text_editor_toolbar_disabled: Advanced (Toolbar disabled)
18
19
  - rich_text_editor_simple: Simple
19
20
  - rich_text_editor_attributes: Attributes
20
21
  - rich_text_editor_focus: Focus
@@ -8,4 +8,5 @@ export { default as RichTextEditorToolbarBottom } from './_rich_text_editor_tool
8
8
  export { default as RichTextEditorInline } from './_rich_text_editor_inline.jsx'
9
9
  export { default as RichTextEditorPreview } from './_rich_text_editor_preview.jsx'
10
10
  export { default as RichTextEditorAdvancedDefault } from './_rich_text_editor_advanced_default.jsx'
11
- export { default as RichTextEditorMoreExtensions } from './_rich_text_editor_more_extensions.jsx'
11
+ export { default as RichTextEditorMoreExtensions } from './_rich_text_editor_more_extensions.jsx'
12
+ export { default as RichTextEditorToolbarDisabled } from './_rich_text_editor_toolbar_disabled.jsx'
@@ -1,12 +1,37 @@
1
- <%= pb_rails("table", props: { size: "lg"} ) do %>
1
+ <%# Example data for demonstration purposes %>
2
+ <% data_rows = [
3
+ { 'territory' => 'North', 'firstname' => 'John', 'lastname' => 'Doe', 'age' => 30, 'job' => 'Engineer' },
4
+ { 'territory' => 'South', 'firstname' => 'Alice', 'lastname' => 'Smith', 'age' => 28, 'job' => 'Designer' },
5
+ { 'territory' => 'East', 'firstname' => 'Mike', 'lastname' => 'Johnson', 'age' => 35, 'job' => 'Manager' },
6
+ { 'territory' => 'West', 'firstname' => 'Sarah', 'lastname' => 'Brown', 'age' => 29, 'job' => 'Developer' },
7
+ { 'territory' => 'Central', 'firstname' => 'David', 'lastname' => 'Wilson', 'age' => 32, 'job' => 'Analyst' }
8
+ ]
9
+ %>
10
+
11
+ <%# Example sort method for demonstration purposes %>
12
+ <% if params["sort"] %>
13
+ <% sort_param = params["sort"].gsub(/_(asc|desc)\z/, "") %>
14
+ <% sort_direction = params["sort"].end_with?("_asc") ? 1 : -1 %>
15
+ <% data_rows.sort! do |a, b|
16
+ value_a = a[sort_param]
17
+ value_b = b[sort_param]
18
+
19
+ value_a = value_a.to_i if value_a.is_a?(String) && value_a.match?(/^\d+$/)
20
+ value_b = value_b.to_i if value_b.is_a?(String) && value_b.match?(/^\d+$/)
21
+
22
+ sort_direction * (value_a <=> value_b)
23
+ end %>
24
+ <% end %>
25
+
26
+ <%= pb_rails("table", props: { data_table: true, vertical_border: true, id: "table-header" } ) do %>
2
27
  <thead>
3
28
  <tr>
4
29
  <%= pb_rails("table/table_header", props: {
5
30
  text: "Territory",
6
31
  id: "territory",
7
32
  sort_menu: [
8
- { item: "Territory", link: "?sort=territory_desc", active: params["sort"] == "territory_desc", direction: "desc" },
9
- { item: "Territory", link: "?sort=territory_asc", active: params["sort"] == "territory_asc", direction: "asc" }
33
+ { item: "Territory", link: "?sort=territory_asc#table-header", active: params["sort"] == "territory_asc", direction: "asc" },
34
+ { item: "Territory", link: "?sort=territory_desc#table-header", active: params["sort"] == "territory_desc", direction: "desc" }
10
35
  ],
11
36
  }) %>
12
37
  <%= pb_rails("table/table_header", props: {
@@ -14,45 +39,36 @@
14
39
  text: "Full Name",
15
40
  colspan: 2,
16
41
  sort_menu: [
17
- { item: "First Name Descending", link: "?sort=firstname_desc", active: params["sort"] == "firstname_desc", direction: "desc" },
18
- { item: "First Name Ascending", link: "?sort=firstname_asc", active: params["sort"] == "firstname_asc", direction: "asc" },
19
- { item: "Last Name Descending", link: "?sort=lastname_desc", active: params["sort"] == "lastname_desc", direction: "desc" },
20
- { item: "Last Name Ascending", link: "?sort=lastname_asc", active: params["sort"] == "lastname_asc", direction: "asc" }
42
+ { item: "First Name Descending", link: "?sort=firstname_desc#table-header", active: params["sort"] == "firstname_desc", direction: "desc" },
43
+ { item: "First Name Ascending", link: "?sort=firstname_asc#table-header", active: params["sort"] == "firstname_asc", direction: "asc" },
44
+ { item: "Last Name Descending", link: "?sort=lastname_desc#table-header", active: params["sort"] == "lastname_desc", direction: "desc" },
45
+ { item: "Last Name Ascending", link: "?sort=lastname_asc#table-header", active: params["sort"] == "lastname_asc", direction: "asc" }
21
46
  ],
22
47
  }) %>
23
48
  <%= pb_rails("table/table_header", props: {
24
49
  text: "Age",
25
50
  id: "age",
26
- sort_dropdown: true,
27
51
  sort_menu: [
28
- { item: "Age Descending", link: "?sort=age_desc", active: params["sort"] == "age_desc", direction: "desc" },
29
- { item: "Age Ascending", link: "?sort=age_asc", active: params["sort"] == "age_asc", direction: "asc" }
52
+ { item: "Age Descending", link: "?sort=age_desc#table-header", active: params["sort"] == "age_desc", direction: "desc" },
53
+ { item: "Age Ascending", link: "?sort=age_asc#table-header", active: params["sort"] == "age_asc", direction: "asc" }
30
54
  ],
31
55
  }) %>
32
56
  <%= pb_rails("table/table_header", props: { text: "Job Title" }) %>
33
57
  </tr>
34
58
  </thead>
35
59
  <tbody>
36
- <tr>
37
- <td>Ter 1</td>
38
- <td>First Name 1</td>
39
- <td>Last Name 1</td>
40
- <td>Age 1</td>
41
- <td>Job 1</td>
42
- </tr>
43
- <tr>
44
- <td>Ter 2</td>
45
- <td>First Name 2</td>
46
- <td>Last Name 2</td>
47
- <td>Age 2</td>
48
- <td>Job 2</td>
49
- </tr>
50
- <tr>
51
- <td>Ter 3</td>
52
- <td>First Name 3</td>
53
- <td>Last Name 3</td>
54
- <td>Age 3</td>
55
- <td>Job 3</td>
56
- </tr>
60
+ <% data_rows.each do |row| %>
61
+ <tr>
62
+ <% row.each do |key, value| %>
63
+ <%= pb_rails("background", props: {
64
+ background_color: (params["sort"] && params["sort"].start_with?(key) ? "info_subtle" : "card_light"),
65
+ text_align: (value.is_a?(Integer) ? "right" : ""),
66
+ tag: "td"
67
+ }) do %>
68
+ <%= value %>
69
+ <% end %>
70
+ <% end %>
71
+ </tr>
72
+ <% end %>
57
73
  </tbody>
58
74
  <% end %>
@@ -6,3 +6,8 @@ presence of `sort_menu` enables the sort link within the header
6
6
  * `sort_dropdown` (boolean) optionally declares that (true) clicking a header's sort link opens a dropdown of sort options, or (false) each sort link click cycles through available sort_menu items in the order they are passed
7
7
  * passing a valid `colspan` will render sort options within a dropdown by default, without requiring `sort_dropdown` explicitly. Alternatively, the default sort dropdown can be prevented on headers with `colspan` by setting `sort_dropdown: false`, which reverts the column to sorting to multi-click default (each click of the sort link cycles through the available sort_menu items in the order they are passed)
8
8
  * `id` (string) is required for headers that have a dropdown (for popover reference); otherwise they are optional
9
+
10
+ </br>
11
+ <div class="pb_pill_kit_warning"><div class="pb_title_kit_size_4 pb_pill_text">Disclaimer</div></div>
12
+
13
+ This example uses a custom sort method that may need to be modified or replaced within your project.
@@ -1,7 +1,7 @@
1
1
  <% example_html = ERB.new(example).result %>
2
2
 
3
3
  <%= pb_rails("card", props: { classname: "pb--doc", padding: "none", dark: dark }) do %>
4
- <% unless (action_name == "kit_show_swift") %>
4
+ <% unless (type == "swift") %>
5
5
  <div class="pb--kit-example">
6
6
  <%= pb_rails("caption", props: { text: example_title, dark: dark }) %>
7
7
  <br />
@@ -9,12 +9,12 @@
9
9
  <br>
10
10
  </div>
11
11
  <% else %>
12
- <div class="pb--kit-example-markdown pt_none markdown <%= dark ? "dark" : "" %>">
12
+ <div class="pb--kit-example-markdown pt_none markdown kit_show_swift <%= dark ? "dark" : "" %>">
13
13
  <%= pb_rails("caption", props: { text: example_title, dark: dark, margin_top: "md" }) %>
14
14
  <%= render_markdown(description) %>
15
15
  </div>
16
16
  <% end %>
17
- <% if show_code %>
17
+ <% if show_code && type != "swift" %>
18
18
  <div class="markdown pb--kit-example-markdown markdown <%= dark ? "dark" : "" %>">
19
19
  <%= render_markdown(description) %>
20
20
  </div>
data/dist/menu.yml CHANGED
@@ -1,111 +1,285 @@
1
+ web: &web ["rails", "react"]
2
+ all: &all ["rails", "react", "swift"]
3
+ rails_swift: &rails_swift ["rails", "swift"]
4
+ react_swift: &react_swift ["swift", "react"]
5
+ rails_only: &rails_only ["rails"]
6
+ react_only: &react_only ["react"]
7
+ swift_only: &swift_only ["swift"]
8
+
1
9
  kits:
2
- - avatars:
3
- - avatar
4
- - avatar_action_button
5
- - multiple_users
6
- - multiple_users_stacked
7
- - user
8
- - background
9
- - bread_crumbs
10
- - buttons:
11
- - button
12
- - button_toolbar
13
- - circle_icon_button
14
- - card
15
- - collapsible
16
- - charts_and_graphs:
17
- - bar_graph
18
- - circle_chart
19
- - distribution_bar
20
- - gauge
21
- - legend
22
- - line_graph
23
- - treemap_chart
24
- - dialog
25
- - filter
26
- - fixed_confirmation_toast
27
- - forms:
28
- - checkbox
29
- - date_picker
30
- - file_upload
31
- - form
32
- - form_group
33
- - form_pill
34
- - multi_level_select
35
- - passphrase
36
- - phone_number_input
37
- - radio
38
- - rich_text_editor
39
- - select
40
- - selectable_card
41
- - selectable_card_icon
42
- - selectable_icon
43
- - selectable_list
44
- - text_input
45
- - textarea
46
- - toggle
47
- - typeahead
48
- - highlight
49
- - icon
50
- - icon_circle
51
- - icon_stat_value
52
- - icon_value
53
- - image
54
- - layouts:
55
- - flex
56
- - layout
57
- - lightbox
58
- - list
59
- - loading_inline
60
- - map
61
- - nav
62
- - tags:
63
- - badge
64
- - hashtag
65
- - pill
66
- - pagination
67
- - popover
68
- - progress:
69
- - progress_pills
70
- - progress_simple
71
- - progress_step
72
- - section_separator
73
- - star_rating
74
- - table
75
- - timeline
76
- - time_and_date:
77
- - date
78
- - date_range_inline
79
- - date_range_stacked
80
- - date_stacked
81
- - date_time
82
- - date_time_stacked
83
- - date_year_stacked
84
- - time
85
- - time_range_inline
86
- - time_stacked
87
- - timestamp
88
- - weekday_stacked
89
- - tooltip
90
- - typography:
91
- - body
92
- - caption
93
- - detail
94
- - title
95
- - typography_patterns:
96
- - contact
97
- - currency
98
- - dashboard_value
99
- - home_address_street
100
- - label_pill
101
- - label_value
102
- - message
103
- - person
104
- - person_contact
105
- - source
106
- - stat_change
107
- - stat_value
108
- - title_count
109
- - title_detail
110
- - user_badge
111
- - walkthrough
10
+ - name: "avatars"
11
+ components:
12
+ - name: "avatar"
13
+ platforms: *all
14
+ - name: "avatar_action_button"
15
+ platforms: *web
16
+ - name: "multiple_users"
17
+ platforms: *web
18
+ - name: "multiple_users_stacked"
19
+ platforms: *web
20
+ - name: "user"
21
+ platforms: *web
22
+ - name: "background"
23
+ components:
24
+ - name: "background"
25
+ platforms: *web
26
+ - name: "bread_crumbs"
27
+ components:
28
+ - name: "bread_crumbs"
29
+ platforms: *web
30
+ - name: "buttons"
31
+ components:
32
+ - name: "button"
33
+ platforms: *web
34
+ - name: "button_toolbar"
35
+ platforms: *web
36
+ - name: "circle_icon_button"
37
+ platforms: *web
38
+ - name: "card"
39
+ components:
40
+ - name: "card"
41
+ platforms: *all
42
+ - name: "collapsible"
43
+ components:
44
+ - name: "collapsible"
45
+ platforms: *web
46
+ - name: "charts_and_graphs"
47
+ components:
48
+ - name: "bar_graph"
49
+ platforms: *web
50
+ - name: "circle_chart"
51
+ platforms: *web
52
+ - name: "distribution_bar"
53
+ platforms: *web
54
+ - name: "gauge"
55
+ platforms: *web
56
+ - name: "legend"
57
+ platforms: *web
58
+ - name: "line_graph"
59
+ platforms: *web
60
+ - name: "treemap_chart"
61
+ platforms: *web
62
+ - name: "dialog"
63
+ components:
64
+ - name: "dialog"
65
+ platforms: *web
66
+ - name: "filter"
67
+ components:
68
+ - name: "filter"
69
+ platforms: *web
70
+ - name: "fixed_confirmation_toast"
71
+ components:
72
+ - name: "fixed_confirmation_toast"
73
+ platforms: *web
74
+ - name: "forms"
75
+ components:
76
+ - name: "checkbox"
77
+ platforms: *web
78
+ - name: "date_picker"
79
+ platforms: *web
80
+ - name: "file_upload"
81
+ platforms: *web
82
+ - name: "form"
83
+ platforms: *rails_only
84
+ - name: "form_group"
85
+ platforms: *web
86
+ - name: "form_pill"
87
+ platforms: *web
88
+ - name: "multi_level_select"
89
+ platforms: *web
90
+ - name: "passphrase"
91
+ platforms: *web
92
+ - name: "phone_number_input"
93
+ platforms: *web
94
+ - name: "radio"
95
+ platforms: *all
96
+ - name: "rich_text_editor"
97
+ platforms: *web
98
+ - name: "select"
99
+ platforms: *web
100
+ - name: "selectable_card"
101
+ platforms: *web
102
+ - name: "selectable_card_icon"
103
+ platforms: *web
104
+ - name: "selectable_icon"
105
+ platforms: *web
106
+ - name: "selectable_list"
107
+ platforms: *web
108
+ - name: "text_input"
109
+ platforms: *web
110
+ - name: "textarea"
111
+ platforms: *web
112
+ - name: "toggle"
113
+ platforms: *web
114
+ - name: "typeahead"
115
+ platforms: *web
116
+ - name: "highlight"
117
+ components:
118
+ - name: "highlight"
119
+ platforms: *web
120
+ - name: "icon"
121
+ components:
122
+ - name: "icon"
123
+ platforms: *web
124
+ - name: "icon_circle"
125
+ components:
126
+ - name: "icon_circle"
127
+ platforms: *web
128
+ - name: "icon_stat_value"
129
+ components:
130
+ - name: "icon_stat_value"
131
+ platforms: *web
132
+ - name: "icon_value"
133
+ components:
134
+ - name: "icon_value"
135
+ platforms: *web
136
+ - name: "image"
137
+ components:
138
+ - name: "image"
139
+ platforms: *web
140
+ - name: "layouts"
141
+ components:
142
+ - name: "flex"
143
+ platforms: *web
144
+ - name: "layout"
145
+ platforms: *web
146
+ - name: "lightbox"
147
+ components:
148
+ - name: "lightbox"
149
+ platforms: *react_only
150
+ - name: "list"
151
+ components:
152
+ - name: "list"
153
+ platforms: *web
154
+ - name: "loading_inline"
155
+ components:
156
+ - name: "loading_inline"
157
+ platforms: *web
158
+ - name: "map"
159
+ components:
160
+ - name: "map"
161
+ platforms: *react_only
162
+ - name: "nav"
163
+ components:
164
+ - name: "nav"
165
+ platforms: *web
166
+ - name: "pagination"
167
+ components:
168
+ - name: "pagination"
169
+ platforms: *rails_only
170
+ - name: "popover"
171
+ components:
172
+ - name: "popover"
173
+ platforms: *web
174
+ - name: "progress"
175
+ components:
176
+ - name: "progress_pills"
177
+ platforms: *web
178
+ - name: "progress_simple"
179
+ platforms: *web
180
+ - name: "progress_step"
181
+ platforms: *web
182
+ - name: "section_separator"
183
+ components:
184
+ - name: "section_separator"
185
+ platforms: *web
186
+ - name: "star_rating"
187
+ components:
188
+ - name: "star_rating"
189
+ platforms: *web
190
+ - name: "table"
191
+ components:
192
+ - name: "table"
193
+ platforms: *web
194
+ - name: "tags"
195
+ components:
196
+ - name: "tags"
197
+ platforms: *web
198
+ - name: "badge"
199
+ platforms: *web
200
+ - name: "hashtag"
201
+ platforms: *web
202
+ - name: "pill"
203
+ platforms: *all
204
+ - name: "timeline"
205
+ components:
206
+ - name: "timeline"
207
+ platforms: *web
208
+ - name: "time_and_date"
209
+ components:
210
+ - name: "date"
211
+ platforms: *web
212
+ - name: "date_range_inline"
213
+ platforms: *web
214
+ - name: "date_range_stacked"
215
+ platforms: *web
216
+ - name: "date_stacked"
217
+ platforms: *web
218
+ - name: "date_time"
219
+ platforms: *web
220
+ - name: "date_time_stacked"
221
+ platforms: *web
222
+ - name: "date_year_stacked"
223
+ platforms: *web
224
+ - name: "time"
225
+ platforms: *web
226
+ - name: "time_range_inline"
227
+ platforms: *web
228
+ - name: "time_stacked"
229
+ platforms: *web
230
+ - name: "timestamp"
231
+ platforms: *all
232
+ - name: "weekday_stacked"
233
+ platforms: *web
234
+ - name: "tooltip"
235
+ components:
236
+ - name: "tooltip"
237
+ platforms: *web
238
+ - name: "typography"
239
+ components:
240
+ - name: "body"
241
+ platforms: *web
242
+ - name: "caption"
243
+ platforms: *web
244
+ - name: "detail"
245
+ platforms: *web
246
+ - name: "title"
247
+ platforms: *web
248
+ - name: "typography_patterns"
249
+ components:
250
+ - name: "contact"
251
+ platforms: *web
252
+ - name: "currency"
253
+ platforms: *web
254
+ - name: "dashboard_value"
255
+ platforms: *web
256
+ - name: "home_address_street"
257
+ platforms: *web
258
+ - name: "label_pill"
259
+ platforms: *web
260
+ - name: "label_value"
261
+ platforms: *web
262
+ - name: "message"
263
+ platforms: *web
264
+ - name: "person"
265
+ platforms: *web
266
+ - name: "person_contact"
267
+ platforms: *web
268
+ - name: "source"
269
+ platforms: *web
270
+ - name: "stat_change"
271
+ platforms: *web
272
+ - name: "stat_value"
273
+ platforms: *web
274
+ - name: "title_count"
275
+ platforms: *web
276
+ - name: "title_detail"
277
+ platforms: *web
278
+ - name: "user_badge"
279
+ components:
280
+ - name: "user_badge"
281
+ platforms: *web
282
+ - name: "walkthrough"
283
+ components:
284
+ - name: "walkthrough"
285
+ platforms: *web
@@ -33,9 +33,9 @@ module PlaybookWebsite
33
33
  kits.each do |kit|
34
34
  if kit.is_a?(Hash)
35
35
  nav_hash_array(kit).each do |sub_kit|
36
- display_kits << render_pb_doc_kit(sub_kit, type, limit_examples, false, dark_mode)
36
+ display_kits << render_pb_doc_kit(sub_kit, type, limit_examples, false, dark_mode) if pb_doc_has_kit_type?(sub_kit, type)
37
37
  end
38
- else
38
+ elsif pb_doc_has_kit_type?(kit, type)
39
39
  display_kits << render_pb_doc_kit(kit, type, limit_examples, false, dark_mode)
40
40
  end
41
41
  end
@@ -44,9 +44,9 @@ module PlaybookWebsite
44
44
  # rubocop:enable Style/StringConcatenation
45
45
 
46
46
  # rubocop:disable Naming/AccessorMethodName
47
- def get_kits
48
- menu = YAML.load_file(Playbook::Engine.root.join("dist/menu.yml"))
49
- menu["kits"]
47
+ def get_kits(_type = "rails")
48
+ aggregate_kits || []
49
+ # Filter kits that have at least one component compatible with the type
50
50
  end
51
51
 
52
52
  def get_kits_pb_website