primer_view_components 0.27.0 → 0.29.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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/app/assets/javascripts/app/components/primer/alpha/action_menu/action_menu_element.d.ts +0 -9
  4. data/app/assets/javascripts/app/components/primer/alpha/select_panel_element.d.ts +64 -0
  5. data/app/assets/javascripts/app/components/primer/aria_live.d.ts +8 -0
  6. data/app/assets/javascripts/app/components/primer/primer.d.ts +4 -0
  7. data/app/assets/javascripts/app/components/primer/shared_events.d.ts +9 -0
  8. data/app/assets/javascripts/primer_view_components.js +1 -1
  9. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  10. data/app/assets/styles/primer_view_components.css +1 -1
  11. data/app/assets/styles/primer_view_components.css.map +1 -1
  12. data/app/components/primer/alpha/action_list.css +1 -1
  13. data/app/components/primer/alpha/action_list.css.map +1 -1
  14. data/app/components/primer/alpha/action_list.pcss +1 -0
  15. data/app/components/primer/alpha/action_menu/action_menu_element.d.ts +0 -9
  16. data/app/components/primer/alpha/action_menu/action_menu_element.ts +0 -11
  17. data/app/components/primer/alpha/action_menu.rb +13 -6
  18. data/app/components/primer/alpha/select_panel.html.erb +100 -0
  19. data/app/components/primer/alpha/select_panel.rb +486 -0
  20. data/app/components/primer/alpha/select_panel_element.d.ts +64 -0
  21. data/app/components/primer/alpha/select_panel_element.js +927 -0
  22. data/app/components/primer/alpha/select_panel_element.ts +1049 -0
  23. data/app/components/primer/aria_live.d.ts +8 -0
  24. data/app/components/primer/aria_live.js +38 -0
  25. data/app/components/primer/aria_live.ts +41 -0
  26. data/app/components/primer/base_component.rb +1 -1
  27. data/app/components/primer/primer.d.ts +4 -0
  28. data/app/components/primer/primer.js +4 -0
  29. data/app/components/primer/primer.ts +4 -0
  30. data/app/components/primer/shared_events.d.ts +9 -0
  31. data/app/components/primer/shared_events.js +1 -0
  32. data/app/components/primer/shared_events.ts +10 -0
  33. data/app/forms/example_toggle_switch_form/example_field_caption.html.erb +1 -1
  34. data/lib/primer/forms/toggle_switch.html.erb +1 -2
  35. data/lib/primer/static/generate_info_arch.rb +3 -2
  36. data/lib/primer/view_components/version.rb +1 -1
  37. data/lib/primer/yard/component_manifest.rb +2 -0
  38. data/previews/primer/alpha/action_menu_preview.rb +1 -1
  39. data/previews/primer/alpha/select_panel_preview/_interaction_subject_js.html.erb +25 -0
  40. data/previews/primer/alpha/select_panel_preview/eventually_local_fetch.html.erb +16 -0
  41. data/previews/primer/alpha/select_panel_preview/eventually_local_fetch_initial_failure.html.erb +12 -0
  42. data/previews/primer/alpha/select_panel_preview/eventually_local_fetch_no_results.html.erb +16 -0
  43. data/previews/primer/alpha/select_panel_preview/footer_buttons.html.erb +23 -0
  44. data/previews/primer/alpha/select_panel_preview/local_fetch.html.erb +19 -0
  45. data/previews/primer/alpha/select_panel_preview/local_fetch_no_results.html.erb +15 -0
  46. data/previews/primer/alpha/select_panel_preview/multiselect.html.erb +17 -0
  47. data/previews/primer/alpha/select_panel_preview/multiselect_form.html.erb +31 -0
  48. data/previews/primer/alpha/select_panel_preview/playground.html.erb +23 -0
  49. data/previews/primer/alpha/select_panel_preview/remote_fetch.html.erb +16 -0
  50. data/previews/primer/alpha/select_panel_preview/remote_fetch_filter_failure.html.erb +13 -0
  51. data/previews/primer/alpha/select_panel_preview/remote_fetch_initial_failure.html.erb +12 -0
  52. data/previews/primer/alpha/select_panel_preview/remote_fetch_no_results.html.erb +16 -0
  53. data/previews/primer/alpha/select_panel_preview/single_select.html.erb +20 -0
  54. data/previews/primer/alpha/select_panel_preview/single_select_form.html.erb +33 -0
  55. data/previews/primer/alpha/select_panel_preview/with_avatar_items.html.erb +19 -0
  56. data/previews/primer/alpha/select_panel_preview/with_dynamic_label.html.erb +23 -0
  57. data/previews/primer/alpha/select_panel_preview/with_dynamic_label_and_aria_prefix.html.erb +24 -0
  58. data/previews/primer/alpha/select_panel_preview/with_leading_icons.html.erb +31 -0
  59. data/previews/primer/alpha/select_panel_preview/with_subtitle.html.erb +25 -0
  60. data/previews/primer/alpha/select_panel_preview/with_trailing_icons.html.erb +19 -0
  61. data/previews/primer/alpha/select_panel_preview.rb +239 -0
  62. data/static/arguments.json +140 -0
  63. data/static/audited_at.json +2 -0
  64. data/static/constants.json +18 -0
  65. data/static/info_arch.json +950 -106
  66. data/static/previews.json +294 -0
  67. data/static/statuses.json +2 -0
  68. metadata +39 -2
@@ -0,0 +1,24 @@
1
+ <% subject_id = SecureRandom.hex %>
2
+
3
+ <%= render(Primer::Alpha::SelectPanel.new(
4
+ data: { interaction_subject: subject_id },
5
+ id: "with_avatar_items",
6
+ title: "Select users",
7
+ select_variant: :single,
8
+ fetch_strategy: :local,
9
+ dynamic_label: true,
10
+ dynamic_label_prefix: "Item",
11
+ dynamic_aria_label_prefix: "Your item",
12
+ open_on_load: open_on_load
13
+ )) do |panel| %>
14
+ <% panel.with_show_button { "Choose item" } %>
15
+
16
+ <% panel.with_item(label: "Item 1") %>
17
+ <% panel.with_item(label: "Item 2") %>
18
+ <% panel.with_item(label: "Item 3") %>
19
+ <% panel.with_item(label: "Item 4") %>
20
+ <% panel.with_item(label: "Item 5") %>
21
+ <% panel.with_item(label: "Item 6") %>
22
+ <% end %>
23
+
24
+ <%= render partial: "primer/alpha/select_panel_preview/interaction_subject_js", locals: { subject_id: subject_id } %>
@@ -0,0 +1,31 @@
1
+ <% subject_id = SecureRandom.hex %>
2
+
3
+ <%= render(Primer::Alpha::SelectPanel.new(
4
+ data: { interaction_subject: subject_id },
5
+ select_variant: :single,
6
+ fetch_strategy: :local,
7
+ dynamic_label: true,
8
+ dynamic_label_prefix: "Item",
9
+ dynamic_aria_label_prefix: "Selected item",
10
+ open_on_load: open_on_load
11
+ )) do |panel| %>
12
+ <% panel.with_show_button { "Choose item" } %>
13
+
14
+ <% panel.with_item(label: "Leading SVG visual") do |item| %>
15
+ <% item.with_leading_visual_svg do %>
16
+ <path d="M8 16a2 2 0 001.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 008 16z"></path><path fill-rule="evenodd" d="M8 1.5A3.5 3.5 0 004.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.018.018 0 00-.003.01l.001.006c0 .002.002.004.004.006a.017.017 0 00.006.004l.007.001h10.964l.007-.001a.016.016 0 00.006-.004.016.016 0 00.004-.006l.001-.007a.017.017 0 00-.003-.01l-1.703-2.554a1.75 1.75 0 01-.294-.97V5A3.5 3.5 0 008 1.5zM3 5a5 5 0 0110 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.518 1.518 0 0113.482 13H2.518a1.518 1.518 0 01-1.263-2.36l1.703-2.554A.25.25 0 003 7.947V5z"></path>
17
+ <% end %>
18
+ <% end %>
19
+
20
+ <% panel.with_item(label: "Custom content") do |item| %>
21
+ <% item.with_leading_visual_content do %>
22
+ <span style="width: 16px; height: 16px; display: block; text-align: center; line-height: 16px">A</span>
23
+ <% end %>
24
+ <% end %>
25
+
26
+ <% panel.with_item(label: "Visual icons") do |item| %>
27
+ <% item.with_leading_visual_icon(icon: :star) %>
28
+ <% end %>
29
+ <% end %>
30
+
31
+ <%= render partial: "primer/alpha/select_panel_preview/interaction_subject_js", locals: { subject_id: subject_id } %>
@@ -0,0 +1,25 @@
1
+ <% subject_id = SecureRandom.hex %>
2
+
3
+ <%= render(Primer::Alpha::SelectPanel.new(
4
+ data: { interaction_subject: subject_id },
5
+ select_variant: :single,
6
+ fetch_strategy: :local,
7
+ dynamic_label: true,
8
+ dynamic_label_prefix: "Item",
9
+ dynamic_aria_label_prefix: "Selected item",
10
+ open_on_load: open_on_load
11
+ )) do |panel| %>
12
+ <% panel.with_show_button { "Choose item" } %>
13
+ <% panel.with_subtitle do %>
14
+ Choose the item you want to select
15
+ <% end %>
16
+ <% panel.with_item(label: "Item 1") %>
17
+ <% panel.with_item(label: "Item 2") %>
18
+ <% panel.with_item(label: "Item 3") %>
19
+ <% panel.with_item(label: "Item 4") %>
20
+ <% panel.with_footer(show_divider: true) do %>
21
+ I'm a footer!
22
+ <% end %>
23
+ <% end %>
24
+
25
+ <%= render partial: "primer/alpha/select_panel_preview/interaction_subject_js", locals: { subject_id: subject_id } %>
@@ -0,0 +1,19 @@
1
+ <% subject_id = SecureRandom.hex %>
2
+
3
+ <%= render(Primer::Alpha::SelectPanel.new(
4
+ data: { interaction_subject: subject_id },
5
+ select_variant: :single,
6
+ fetch_strategy: :local,
7
+ dynamic_label: true,
8
+ dynamic_label_prefix: "Item",
9
+ dynamic_aria_label_prefix: "Selected item",
10
+ open_on_load: open_on_load
11
+ )) do |panel| %>
12
+ <% panel.with_show_button { "Choose item" } %>
13
+
14
+ <% panel.with_item(label: "Visual icons") do |item| %>
15
+ <% item.with_trailing_visual_icon(icon: :star) %>
16
+ <% end %>
17
+ <% end %>
18
+
19
+ <%= render partial: "primer/alpha/select_panel_preview/interaction_subject_js", locals: { subject_id: subject_id } %>
@@ -0,0 +1,239 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Primer
4
+ module Alpha
5
+ # @label SelectPanel
6
+ class SelectPanelPreview < ViewComponent::Preview
7
+ # @label Playground
8
+ #
9
+ # @param title text
10
+ # @param size [Symbol] select [auto, small, medium, medium_portrait, large, xlarge]
11
+ # @param simulate_failure toggle
12
+ # @param simulate_no_results toggle
13
+ # @param no_results_label text
14
+ # @param dynamic_label toggle
15
+ # @param dynamic_label_prefix text
16
+ # @param dynamic_aria_label_prefix text
17
+ # @param show_filter toggle
18
+ # @param open_on_load toggle
19
+ # @param anchor_align [Symbol] select [start, center, end]
20
+ # @param anchor_side [Symbol] select [outside_bottom, outside_top, outside_left, outside_right]
21
+ def playground(
22
+ title: "Sci-fi equipment",
23
+ subtitle: "Various tools from your favorite shows",
24
+ size: :auto,
25
+ simulate_failure: false,
26
+ simulate_no_results: false,
27
+ no_results_label: "No results found",
28
+ dynamic_label: false,
29
+ dynamic_label_prefix: nil,
30
+ dynamic_aria_label_prefix: nil,
31
+ show_filter: true,
32
+ open_on_load: false,
33
+ anchor_align: :start,
34
+ anchor_side: :outside_bottom
35
+ )
36
+ render_with_template(locals: {
37
+ subtitle: subtitle,
38
+ system_arguments: {
39
+ title: title,
40
+ size: size,
41
+ simulate_failure: simulate_failure,
42
+ simulate_no_results: simulate_no_results,
43
+ no_results_label: no_results_label,
44
+ dynamic_label: dynamic_label,
45
+ dynamic_label_prefix: dynamic_label_prefix,
46
+ dynamic_aria_label_prefix: dynamic_aria_label_prefix,
47
+ show_filter: show_filter,
48
+ open_on_load: open_on_load,
49
+ anchor_align: anchor_align,
50
+ anchor_side: anchor_side
51
+ }
52
+ })
53
+ end
54
+
55
+ # @label Default
56
+ #
57
+ # @snapshot interactive
58
+ # @param open_on_load toggle
59
+ def default(open_on_load: false)
60
+ render_with_template(template: "primer/alpha/select_panel_preview/local_fetch", locals: {
61
+ open_on_load: open_on_load
62
+ })
63
+ end
64
+
65
+ # @!group Fetch strategies
66
+
67
+ # @label Local fetch
68
+ #
69
+ # @snapshot interactive
70
+ # @param open_on_load toggle
71
+ def local_fetch(open_on_load: false)
72
+ render_with_template(locals: { open_on_load: open_on_load })
73
+ end
74
+
75
+ # @label Eventually local fetch
76
+ #
77
+ # @snapshot interactive
78
+ # @param open_on_load toggle
79
+ def eventually_local_fetch(open_on_load: false)
80
+ render_with_template(locals: { open_on_load: open_on_load })
81
+ end
82
+
83
+ # @label Remote fetch
84
+ #
85
+ # @snapshot interactive
86
+ # @param open_on_load toggle
87
+ def remote_fetch(open_on_load: false)
88
+ render_with_template(locals: { open_on_load: open_on_load })
89
+ end
90
+
91
+ # @label Local fetch (no results)
92
+ #
93
+ # @snapshot interactive
94
+ # @param open_on_load toggle
95
+ def local_fetch_no_results(open_on_load: false)
96
+ render_with_template(locals: { open_on_load: open_on_load })
97
+ end
98
+
99
+ # @label Eventually local fetch (no results)
100
+ #
101
+ # @snapshot interactive
102
+ # @param open_on_load toggle
103
+ def eventually_local_fetch_no_results(open_on_load: false)
104
+ render_with_template(locals: { open_on_load: open_on_load })
105
+ end
106
+
107
+ # @label Remote fetch (no results)
108
+ #
109
+ # @snapshot interactive
110
+ # @param open_on_load toggle
111
+ def remote_fetch_no_results(open_on_load: false)
112
+ render_with_template(locals: { open_on_load: open_on_load })
113
+ end
114
+
115
+ # @!endgroup
116
+
117
+ # @label Single select
118
+ #
119
+ # @snapshot interactive
120
+ # @param dynamic_label toggle
121
+ # @param open_on_load toggle
122
+ def single_select(dynamic_label: false, open_on_load: false)
123
+ render_with_template(locals: { dynamic_label: dynamic_label, open_on_load: open_on_load })
124
+ end
125
+
126
+ # @label Multiselect
127
+ #
128
+ # @snapshot interactive
129
+ # @param open_on_load toggle
130
+ def multiselect(open_on_load: false)
131
+ render_with_template(locals: { open_on_load: open_on_load })
132
+ end
133
+
134
+ # @!group Dynamic label
135
+
136
+ # @label With dynamic label
137
+ #
138
+ # @snapshot interactive
139
+ # @param open_on_load toggle
140
+ def with_dynamic_label(open_on_load: false)
141
+ render_with_template(locals: { open_on_load: open_on_load })
142
+ end
143
+
144
+ # @label With dynamic label and aria prefix
145
+ #
146
+ # @snapshot interactive
147
+ # @param open_on_load toggle
148
+ def with_dynamic_label_and_aria_prefix(open_on_load: false)
149
+ render_with_template(locals: { open_on_load: open_on_load })
150
+ end
151
+
152
+ # @!endgroup
153
+
154
+ # @label Footer buttons
155
+ #
156
+ # @snapshot interactive
157
+ # @param open_on_load toggle
158
+ def footer_buttons(open_on_load: false)
159
+ render_with_template(locals: { open_on_load: open_on_load })
160
+ end
161
+
162
+ # @label With avatar items
163
+ #
164
+ # @snapshot interactive
165
+ # @param open_on_load toggle
166
+ def with_avatar_items(open_on_load: false)
167
+ render_with_template(locals: { open_on_load: open_on_load })
168
+ end
169
+
170
+ # @!group With icons
171
+
172
+ # @label With leading icons
173
+ #
174
+ # @snapshot interactive
175
+ # @param open_on_load toggle
176
+ def with_leading_icons(open_on_load: false)
177
+ render_with_template(locals: { open_on_load: open_on_load })
178
+ end
179
+
180
+ # @label With trailing icons
181
+ #
182
+ # @snapshot interactive
183
+ # @param open_on_load toggle
184
+ def with_trailing_icons(open_on_load: false)
185
+ render_with_template(locals: { open_on_load: open_on_load })
186
+ end
187
+
188
+ # @!endgroup
189
+
190
+ # @label With subtitle
191
+ #
192
+ # @snapshot interactive
193
+ # @param open_on_load toggle
194
+ def with_subtitle(open_on_load: false)
195
+ render_with_template(locals: { open_on_load: open_on_load })
196
+ end
197
+
198
+ # @label Remote fetch initial failure
199
+ #
200
+ # @snapshot interactive
201
+ # @param open_on_load toggle
202
+ def remote_fetch_initial_failure(open_on_load: false)
203
+ render_with_template(locals: { open_on_load: open_on_load })
204
+ end
205
+
206
+ # @label Remote fetch filter failure
207
+ #
208
+ # @snapshot interactive
209
+ # @param open_on_load toggle
210
+ def remote_fetch_filter_failure(open_on_load: false)
211
+ render_with_template(locals: { open_on_load: open_on_load })
212
+ end
213
+
214
+ # @label Eventually local fetch initial failure
215
+ #
216
+ # @snapshot interactive
217
+ # @param open_on_load toggle
218
+ def eventually_local_fetch_initial_failure(open_on_load: false)
219
+ render_with_template(locals: { open_on_load: open_on_load })
220
+ end
221
+
222
+ # @label Single-select form
223
+ #
224
+ # @snapshot interactive
225
+ # @param open_on_load toggle
226
+ def single_select_form(open_on_load: false, route_format: :html)
227
+ render_with_template(locals: { open_on_load: open_on_load, route_format: route_format })
228
+ end
229
+
230
+ # @label Multi-select form
231
+ #
232
+ # @snapshot interactive
233
+ # @param open_on_load toggle
234
+ def multiselect_form(open_on_load: false, route_format: :html)
235
+ render_with_template(locals: { open_on_load: open_on_load, route_format: route_format })
236
+ end
237
+ end
238
+ end
239
+ end
@@ -2352,6 +2352,146 @@
2352
2352
  }
2353
2353
  ]
2354
2354
  },
2355
+ {
2356
+ "component": "SelectPanel",
2357
+ "status": "alpha",
2358
+ "a11y_reviewed": false,
2359
+ "short_name": "SelectPanel",
2360
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/select_panel.rb",
2361
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/select_panel/default/",
2362
+ "parameters": [
2363
+ {
2364
+ "name": "src",
2365
+ "type": "String",
2366
+ "default": "`nil`",
2367
+ "description": "The URL to fetch search results from."
2368
+ },
2369
+ {
2370
+ "name": "title",
2371
+ "type": "String",
2372
+ "default": "`\"Menu\"`",
2373
+ "description": "The title that appears at the top of the panel."
2374
+ },
2375
+ {
2376
+ "name": "id",
2377
+ "type": "String",
2378
+ "default": "`self.class.generate_id`",
2379
+ "description": "The unique ID of the panel."
2380
+ },
2381
+ {
2382
+ "name": "size",
2383
+ "type": "Symbol",
2384
+ "default": "`:small`",
2385
+ "description": "The size of the panel. One of `:auto`, `:large`, `:medium`, `:medium_portrait`, `:small`, or `:xlarge`."
2386
+ },
2387
+ {
2388
+ "name": "select_variant",
2389
+ "type": "Symbol",
2390
+ "default": "`:single`",
2391
+ "description": "One of `:multiple`, `:multiple_checkbox`, `:none`, or `:single`."
2392
+ },
2393
+ {
2394
+ "name": "fetch_strategy",
2395
+ "type": "Symbol",
2396
+ "default": "`:remote`",
2397
+ "description": "One of `:eventually_local`, `:local`, or `:remote`."
2398
+ },
2399
+ {
2400
+ "name": "no_results_label",
2401
+ "type": "String",
2402
+ "default": "`\"No results found\"`",
2403
+ "description": "The label to display when no results are found."
2404
+ },
2405
+ {
2406
+ "name": "preload",
2407
+ "type": "Boolean",
2408
+ "default": "`false`",
2409
+ "description": "Whether to preload search results when the page loads. If this option is false, results are loaded when the panel is opened."
2410
+ },
2411
+ {
2412
+ "name": "dynamic_label",
2413
+ "type": "Boolean",
2414
+ "default": "`false`",
2415
+ "description": "Whether or not to display the text of the currently selected item in the show button."
2416
+ },
2417
+ {
2418
+ "name": "dynamic_label_prefix",
2419
+ "type": "String",
2420
+ "default": "`nil`",
2421
+ "description": "If provided, the prefix is prepended to the dynamic label and displayed in the show button."
2422
+ },
2423
+ {
2424
+ "name": "dynamic_aria_label_prefix",
2425
+ "type": "String",
2426
+ "default": "`nil`",
2427
+ "description": "If provided, the prefix is prepended to the dynamic label and set as the value of the `aria-label` attribute on the show button."
2428
+ },
2429
+ {
2430
+ "name": "body_id",
2431
+ "type": "String",
2432
+ "default": "`nil`",
2433
+ "description": "The unique ID of the panel body. If not provided, the body ID will be set to the panel ID with a \"-body\" suffix."
2434
+ },
2435
+ {
2436
+ "name": "list_arguments",
2437
+ "type": "Hash",
2438
+ "default": "`{}`",
2439
+ "description": "Arguments to pass to the underlying [ActionList](/components/alpha/actionlist) component. Only has an effect for the local fetch strategy."
2440
+ },
2441
+ {
2442
+ "name": "form_arguments",
2443
+ "type": "Hash",
2444
+ "default": "`{}`",
2445
+ "description": "Form arguments to pass to the underlying [ActionList](/components/alpha/actionlist) component. Only has an effect for the local fetch strategy."
2446
+ },
2447
+ {
2448
+ "name": "show_filter",
2449
+ "type": "Boolean",
2450
+ "default": "`true`",
2451
+ "description": "Whether or not to show the filter input."
2452
+ },
2453
+ {
2454
+ "name": "open_on_load",
2455
+ "type": "Boolean",
2456
+ "default": "`false`",
2457
+ "description": "Open the panel when the page loads."
2458
+ },
2459
+ {
2460
+ "name": "anchor_align",
2461
+ "type": "Symbol",
2462
+ "default": "`:start`",
2463
+ "description": "The anchor alignment of the Overlay. One of `:center`, `:end`, or `:start`."
2464
+ },
2465
+ {
2466
+ "name": "anchor_side",
2467
+ "type": "Symbol",
2468
+ "default": "`:outside_bottom`",
2469
+ "description": "The side to anchor the Overlay to. One of `:inside_bottom`, `:inside_center`, `:inside_left`, `:inside_right`, `:inside_top`, `:outside_bottom`, `:outside_left`, `:outside_right`, or `:outside_top`."
2470
+ },
2471
+ {
2472
+ "name": "system_arguments",
2473
+ "type": "Hash",
2474
+ "default": "N/A",
2475
+ "description": "[System arguments](/system-arguments)"
2476
+ }
2477
+ ]
2478
+ },
2479
+ {
2480
+ "component": "SelectPanel::ItemList",
2481
+ "status": "alpha",
2482
+ "a11y_reviewed": true,
2483
+ "short_name": "SelectPanelItemList",
2484
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/select_panel/item_list.rb",
2485
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/select_panel/item_list/default/",
2486
+ "parameters": [
2487
+ {
2488
+ "name": "system_arguments",
2489
+ "type": "Hash",
2490
+ "default": "N/A",
2491
+ "description": "The arguments accepted by [ActionList](/components/alpha/actionlist)."
2492
+ }
2493
+ ]
2494
+ },
2355
2495
  {
2356
2496
  "component": "SubmitButton",
2357
2497
  "status": "alpha",
@@ -52,6 +52,8 @@
52
52
  "Primer::Alpha::SegmentedControl": "2023-02-01",
53
53
  "Primer::Alpha::SegmentedControl::Item": "2023-02-01",
54
54
  "Primer::Alpha::Select": "",
55
+ "Primer::Alpha::SelectPanel": "",
56
+ "Primer::Alpha::SelectPanel::ItemList": "2023-07-10",
55
57
  "Primer::Alpha::SubmitButton": "",
56
58
  "Primer::Alpha::TabContainer": "",
57
59
  "Primer::Alpha::TabNav": "",
@@ -597,6 +597,24 @@
597
597
  },
598
598
  "Primer::Alpha::Select": {
599
599
  },
600
+ "Primer::Alpha::SelectPanel": {
601
+ "DEFAULT_FETCH_STRATEGY": "remote",
602
+ "DEFAULT_PRELOAD": false,
603
+ "DEFAULT_SELECT_VARIANT": "single",
604
+ "FETCH_STRATEGIES": [
605
+ "remote",
606
+ "eventually_local",
607
+ "local"
608
+ ],
609
+ "ItemList": "Primer::Alpha::SelectPanel::ItemList",
610
+ "SELECT_VARIANT_OPTIONS": [
611
+ "single",
612
+ "multiple",
613
+ "none"
614
+ ]
615
+ },
616
+ "Primer::Alpha::SelectPanel::ItemList": {
617
+ },
600
618
  "Primer::Alpha::SubmitButton": {
601
619
  },
602
620
  "Primer::Alpha::TabContainer": {