openproject-primer_view_components 0.84.4 → 0.85.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 (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/app/assets/javascripts/components/primer/open_project/sub_header_element.d.ts +1 -1
  4. data/app/assets/javascripts/primer_view_components.js +1 -1
  5. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  6. data/app/assets/styles/primer_view_components.css +1 -1
  7. data/app/assets/styles/primer_view_components.css.map +1 -1
  8. data/app/components/primer/alpha/action_menu/action_menu_element.js +4 -0
  9. data/app/components/primer/alpha/action_menu/action_menu_element.ts +3 -0
  10. data/app/components/primer/alpha/select_panel_element.js +2 -2
  11. data/app/components/primer/alpha/select_panel_element.ts +2 -2
  12. data/app/components/primer/open_project/sub_header.css +1 -1
  13. data/app/components/primer/open_project/sub_header.css.json +2 -1
  14. data/app/components/primer/open_project/sub_header.css.map +1 -1
  15. data/app/components/primer/open_project/sub_header.html.erb +11 -8
  16. data/app/components/primer/open_project/sub_header.pcss +14 -7
  17. data/app/components/primer/open_project/sub_header.rb +46 -25
  18. data/app/components/primer/open_project/sub_header_element.d.ts +1 -1
  19. data/app/components/primer/open_project/sub_header_element.js +6 -6
  20. data/app/components/primer/open_project/sub_header_element.ts +5 -10
  21. data/lib/primer/view_components/version.rb +2 -2
  22. data/previews/primer/alpha/action_menu_preview/multiple_select_form.html.erb +8 -8
  23. data/previews/primer/alpha/action_menu_preview/opens_dialog.html.erb +4 -12
  24. data/previews/primer/alpha/action_menu_preview/single_select_form_items.html.erb +4 -34
  25. data/previews/primer/alpha/action_menu_preview/with_actions.html.erb +8 -15
  26. data/previews/primer/alpha/action_menu_preview.rb +1 -0
  27. data/previews/primer/alpha/select_panel_preview.rb +0 -27
  28. data/previews/primer/alpha/text_area_preview.rb +0 -1
  29. data/previews/primer/alpha/text_field_preview.rb +0 -1
  30. data/previews/primer/open_project/inline_message_preview/playground.html.erb +1 -3
  31. data/previews/primer/open_project/inline_message_preview.rb +1 -0
  32. data/previews/primer/open_project/sub_header_preview/quick_filters.html.erb +47 -0
  33. data/previews/primer/open_project/sub_header_preview.rb +23 -1
  34. data/static/arguments.json +6 -0
  35. data/static/constants.json +1 -1
  36. data/static/info_arch.json +66 -29
  37. data/static/previews.json +55 -29
  38. metadata +3 -3
  39. data/previews/primer/open_project/inline_message_preview/default.html.erb +0 -5
@@ -54,7 +54,6 @@ module Primer
54
54
 
55
55
  # @label Default
56
56
  #
57
- # @snapshot interactive
58
57
  # @param open_on_load toggle
59
58
  # @param show_filter toggle
60
59
  def default(open_on_load: false, show_filter: true)
@@ -66,7 +65,6 @@ module Primer
66
65
 
67
66
  # @label Local fetch
68
67
  #
69
- # @snapshot interactive
70
68
  # @param open_on_load toggle
71
69
  # @param show_filter toggle
72
70
  def local_fetch(open_on_load: false, show_filter: true)
@@ -75,7 +73,6 @@ module Primer
75
73
 
76
74
  # @label Eventually local fetch
77
75
  #
78
- # @snapshot interactive
79
76
  # @param open_on_load toggle
80
77
  # @param show_filter toggle
81
78
  def eventually_local_fetch(open_on_load: false, show_filter: true)
@@ -84,7 +81,6 @@ module Primer
84
81
 
85
82
  # @label Remote fetch
86
83
  #
87
- # @snapshot interactive
88
84
  # @param open_on_load toggle
89
85
  # @param selected_items text
90
86
  def remote_fetch(open_on_load: false, selected_items: "Phaser")
@@ -93,7 +89,6 @@ module Primer
93
89
 
94
90
  # @label Custom loading label
95
91
  #
96
- # @snapshot interactive
97
92
  # @param open_on_load toggle
98
93
  # @param selected_items text
99
94
  def custom_loading_label(open_on_load: false, selected_items: "Phaser")
@@ -102,7 +97,6 @@ module Primer
102
97
 
103
98
  # @label Custom loading description
104
99
  #
105
- # @snapshot interactive
106
100
  # @param open_on_load toggle
107
101
  # @param selected_items text
108
102
  def custom_loading_description(open_on_load: false, selected_items: "Phaser")
@@ -111,7 +105,6 @@ module Primer
111
105
 
112
106
  # @label Local fetch (no results)
113
107
  #
114
- # @snapshot interactive
115
108
  # @param open_on_load toggle
116
109
  def local_fetch_no_results(open_on_load: false)
117
110
  render_with_template(locals: { open_on_load: open_on_load })
@@ -119,7 +112,6 @@ module Primer
119
112
 
120
113
  # @label Eventually local fetch (no results)
121
114
  #
122
- # @snapshot interactive
123
115
  # @param open_on_load toggle
124
116
  def eventually_local_fetch_no_results(open_on_load: false)
125
117
  render_with_template(locals: { open_on_load: open_on_load })
@@ -127,7 +119,6 @@ module Primer
127
119
 
128
120
  # @label Remote fetch (no results)
129
121
  #
130
- # @snapshot interactive
131
122
  # @param open_on_load toggle
132
123
  def remote_fetch_no_results(open_on_load: false)
133
124
  render_with_template(locals: { open_on_load: open_on_load })
@@ -135,7 +126,6 @@ module Primer
135
126
 
136
127
  # @label Single select
137
128
  #
138
- # @snapshot interactive
139
129
  # @param dynamic_label toggle
140
130
  # @param open_on_load toggle
141
131
  def single_select(dynamic_label: false, open_on_load: false)
@@ -144,7 +134,6 @@ module Primer
144
134
 
145
135
  # @label Multiselect
146
136
  #
147
- # @snapshot interactive
148
137
  # @param open_on_load toggle
149
138
  def multiselect(open_on_load: false)
150
139
  render_with_template(locals: { open_on_load: open_on_load })
@@ -154,7 +143,6 @@ module Primer
154
143
 
155
144
  # @label With dynamic label
156
145
  #
157
- # @snapshot interactive
158
146
  # @param open_on_load toggle
159
147
  def with_dynamic_label(open_on_load: false)
160
148
  render_with_template(locals: { open_on_load: open_on_load })
@@ -162,7 +150,6 @@ module Primer
162
150
 
163
151
  # @label With dynamic label and aria prefix
164
152
  #
165
- # @snapshot interactive
166
153
  # @param open_on_load toggle
167
154
  def with_dynamic_label_and_aria_prefix(open_on_load: false)
168
155
  render_with_template(locals: { open_on_load: open_on_load })
@@ -172,7 +159,6 @@ module Primer
172
159
 
173
160
  # @label Footer buttons
174
161
  #
175
- # @snapshot interactive
176
162
  # @param open_on_load toggle
177
163
  def footer_buttons(open_on_load: false)
178
164
  render_with_template(locals: { open_on_load: open_on_load })
@@ -180,7 +166,6 @@ module Primer
180
166
 
181
167
  # @label With avatar items
182
168
  #
183
- # @snapshot interactive
184
169
  # @param open_on_load toggle
185
170
  def with_avatar_items(open_on_load: false)
186
171
  render_with_template(locals: { open_on_load: open_on_load })
@@ -188,7 +173,6 @@ module Primer
188
173
 
189
174
  # @label SelectPanel with Primer::IconButton
190
175
  #
191
- # @snapshot interactive
192
176
  # @param open_on_load toggle
193
177
  def select_panel_with_icon_button(open_on_load: false)
194
178
  render_with_template(locals: { open_on_load: open_on_load })
@@ -198,7 +182,6 @@ module Primer
198
182
 
199
183
  # @label With leading icons
200
184
  #
201
- # @snapshot interactive
202
185
  # @param open_on_load toggle
203
186
  def with_leading_icons(open_on_load: false)
204
187
  render_with_template(locals: { open_on_load: open_on_load })
@@ -206,7 +189,6 @@ module Primer
206
189
 
207
190
  # @label With trailing icons
208
191
  #
209
- # @snapshot interactive
210
192
  # @param open_on_load toggle
211
193
  def with_trailing_icons(open_on_load: false)
212
194
  render_with_template(locals: { open_on_load: open_on_load })
@@ -216,7 +198,6 @@ module Primer
216
198
 
217
199
  # @label With subtitle
218
200
  #
219
- # @snapshot interactive
220
201
  # @param open_on_load toggle
221
202
  def with_subtitle(open_on_load: false)
222
203
  render_with_template(locals: { open_on_load: open_on_load })
@@ -224,7 +205,6 @@ module Primer
224
205
 
225
206
  # @label Remote fetch initial failure
226
207
  #
227
- # @snapshot interactive
228
208
  # @param open_on_load toggle
229
209
  def remote_fetch_initial_failure(open_on_load: false)
230
210
  render_with_template(locals: { open_on_load: open_on_load })
@@ -232,7 +212,6 @@ module Primer
232
212
 
233
213
  # @label Remote fetch filter failure
234
214
  #
235
- # @snapshot interactive
236
215
  # @param open_on_load toggle
237
216
  # @param banner_scheme [Symbol] select [danger, warning]
238
217
  # @param show_results toggle
@@ -253,7 +232,6 @@ module Primer
253
232
 
254
233
  # @label Eventually local fetch initial failure
255
234
  #
256
- # @snapshot interactive
257
235
  # @param open_on_load toggle
258
236
  def eventually_local_fetch_initial_failure(open_on_load: false)
259
237
  render_with_template(locals: { open_on_load: open_on_load })
@@ -261,7 +239,6 @@ module Primer
261
239
 
262
240
  # @label Single-select form
263
241
  #
264
- # @snapshot interactive
265
242
  # @param open_on_load toggle
266
243
  def single_select_form(open_on_load: false, route_format: :html)
267
244
  render_with_template(locals: { open_on_load: open_on_load, route_format: route_format })
@@ -269,7 +246,6 @@ module Primer
269
246
 
270
247
  # @label Remote fetch form
271
248
  #
272
- # @snapshot interactive
273
249
  # @param open_on_load toggle
274
250
  # @param selected_items text
275
251
  def remote_fetch_form(open_on_load: false, selected_items: "Phaser", route_format: :html)
@@ -278,7 +254,6 @@ module Primer
278
254
 
279
255
  # @label Multi-select form
280
256
  #
281
- # @snapshot interactive
282
257
  # @param open_on_load toggle
283
258
  def multiselect_form(open_on_load: false, route_format: :html)
284
259
  render_with_template(locals: { open_on_load: open_on_load, route_format: route_format })
@@ -286,7 +261,6 @@ module Primer
286
261
 
287
262
  # @label List of links
288
263
  #
289
- # @snapshot interactive
290
264
  # @param open_on_load toggle
291
265
  def list_of_links(open_on_load: false)
292
266
  render_with_template(locals: { open_on_load: open_on_load })
@@ -294,7 +268,6 @@ module Primer
294
268
 
295
269
  # @label No values
296
270
  #
297
- # @snapshot interactive
298
271
  # @param open_on_load toggle
299
272
  def no_values(open_on_load: false)
300
273
  render_with_template(locals: { open_on_load: open_on_load })
@@ -107,7 +107,6 @@ module Primer
107
107
  end
108
108
 
109
109
  # @label With character limit, over limit
110
- # @snapshot interactive
111
110
  def with_character_limit_over_limit
112
111
  render(Primer::Alpha::TextArea.new(id: "my-text-area-with-character-limit-over-limit", name: "my-text-area-with-character-limit-over-limit", character_limit: 10, label: "Tell me about yourself", value: "This text is definitely over the limit."))
113
112
  end
@@ -236,7 +236,6 @@ module Primer
236
236
  end
237
237
 
238
238
  # @label With character limit, over limit
239
- # @snapshot interactive
240
239
  def with_character_limit_over_limit
241
240
  render(Primer::Alpha::TextField.new(character_limit: 10, name: "my-text-field-19", label: "Tell me about yourself", value: "This text is definitely over the limit."))
242
241
  end
@@ -1,5 +1,3 @@
1
1
  <%= render(Primer::OpenProject::InlineMessage.new(scheme: scheme, size: size)) do %>
2
- <%= render(Primer::Beta::Text.new(tag: :p)) do %>
3
- <%= render(Primer::Beta::Text.new(tag: :strong).with_content("It is an inline message")) %>
4
- <% end %>
2
+ <%= render(Primer::Beta::Text.new(tag: :strong).with_content("It is an inline message")) %>
5
3
  <% end %>
@@ -6,6 +6,7 @@ module Primer
6
6
  # @label Default
7
7
  # @snapshot
8
8
  def default
9
+ render(Primer::OpenProject::InlineMessage.new(scheme: :warning, size: :medium)) { "Warning message" }
9
10
  end
10
11
 
11
12
  # @label Playground
@@ -0,0 +1,47 @@
1
+ <%= render(Primer::OpenProject::SubHeader.new(collapsed_search: true)) do |component|
2
+ component.with_filter_input(name: "filter", label: "Filter")
3
+
4
+ component.with_filter_button(mobile_label: "All filters") do
5
+ "All filters"
6
+ end
7
+
8
+ component.with_quick_filter do
9
+ render(Primer::Alpha::SelectPanel.new(title: "Version",
10
+ select_variant: :single,
11
+ fetch_strategy: :local,
12
+ dynamic_label: true,
13
+ dynamic_label_prefix: "Version")) do |panel|
14
+ panel.with_show_button { "Version" }
15
+ panel.with_item(label: "1.0")
16
+ panel.with_item(label: "2.0")
17
+ panel.with_item(label: "2.1")
18
+ end
19
+ end
20
+
21
+ component.with_quick_filter do
22
+ render(Primer::Alpha::SelectPanel.new(title: "Assignee",
23
+ select_variant: :multiple,
24
+ fetch_strategy: :local,
25
+ dynamic_label: true,
26
+ dynamic_label_prefix: "Assignee")) do |panel|
27
+ panel.with_show_button { "Assignee" }
28
+ panel.with_avatar_item(username: "Alice", src: "https://avatars.githubusercontent.com/u/1?v=4")
29
+ panel.with_avatar_item(username: "Bob", src: "https://avatars.githubusercontent.com/u/2?v=4")
30
+ panel.with_avatar_item(username: "Carol", src: "https://avatars.githubusercontent.com/u/3?v=4")
31
+ panel.with_avatar_item(username: "Dave", src: "https://avatars.githubusercontent.com/u/4?v=4")
32
+ panel.with_avatar_item(username: "Eve", src: "https://avatars.githubusercontent.com/u/5?v=4")
33
+ panel.with_avatar_item(username: "Frank", src: "https://avatars.githubusercontent.com/u/6?v=4")
34
+ panel.with_avatar_item(username: "Grace", src: "https://avatars.githubusercontent.com/u/7?v=4")
35
+ panel.with_avatar_item(username: "Heidi", src: "https://avatars.githubusercontent.com/u/8?v=4")
36
+ panel.with_avatar_item(username: "Ivan", src: "https://avatars.githubusercontent.com/u/9?v=4")
37
+ panel.with_avatar_item(username: "Judy", src: "https://avatars.githubusercontent.com/u/10?v=4")
38
+ panel.with_footer(show_divider: true) do
39
+ render(Primer::Beta::Button.new(scheme: :primary)) { "Apply" }
40
+ end
41
+ end
42
+ end
43
+
44
+ component.with_action_button(leading_icon: :plus, label: "Create", scheme: :primary) do
45
+ "Create"
46
+ end
47
+ end %>
@@ -12,6 +12,7 @@ module Primer
12
12
  # @param show_filter_button toggle
13
13
  # @param show_action_button toggle
14
14
  # @param show_clear_button toggle
15
+ # @param collapsed_search toggle
15
16
  # @param text text
16
17
  # @param value text
17
18
  def playground(
@@ -19,10 +20,11 @@ module Primer
19
20
  show_clear_button: true,
20
21
  show_filter_button: true,
21
22
  show_action_button: true,
23
+ collapsed_search: false,
22
24
  text: nil,
23
25
  value: nil
24
26
  )
25
- render(Primer::OpenProject::SubHeader.new) do |component|
27
+ render(Primer::OpenProject::SubHeader.new(collapsed_search: collapsed_search)) do |component|
26
28
  component.with_filter_input(
27
29
  name: "filter",
28
30
  label: "Filter",
@@ -98,6 +100,26 @@ module Primer
98
100
  end
99
101
  end
100
102
 
103
+ # @label With collapsed search
104
+ def collapsed_search
105
+ render(Primer::OpenProject::SubHeader.new(collapsed_search: true)) do |component|
106
+ component.with_filter_input(name: "filter", label: "Filter")
107
+ component.with_filter_button do |button|
108
+ button.with_trailing_visual_counter(count: "15")
109
+ "Filter"
110
+ end
111
+
112
+ component.with_action_button(leading_icon: :plus, label: "Create", scheme: :primary) do
113
+ "Create"
114
+ end
115
+ end
116
+ end
117
+
118
+ # @label With QuickFilters
119
+ def quick_filters
120
+ render_with_template(locals: {})
121
+ end
122
+
101
123
  # @label With a custom area below
102
124
  def bottom_pane
103
125
  render_with_template(locals: {})
@@ -6473,6 +6473,12 @@
6473
6473
  "source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/sub_header.rb",
6474
6474
  "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/sub_header/default/",
6475
6475
  "parameters": [
6476
+ {
6477
+ "name": "collapsed_search",
6478
+ "type": "Boolean",
6479
+ "default": "`false`",
6480
+ "description": "When true, the search bar starts collapsed as an icon button on all screen sizes. Clicking expands it."
6481
+ },
6476
6482
  {
6477
6483
  "name": "system_arguments",
6478
6484
  "type": "Hash",
@@ -1978,8 +1978,8 @@
1978
1978
  "none",
1979
1979
  "flex"
1980
1980
  ],
1981
+ "FILTER_EXPAND_BUTTON_TARGET_SELECTOR": "sub-header.filterExpandButton",
1981
1982
  "GeneratedSlotMethods": "Primer::OpenProject::SubHeader::GeneratedSlotMethods",
1982
- "HIDDEN_FILTER_TARGET_SELECTOR": "sub-header.hiddenItemsOnExpandedFilter",
1983
1983
  "MOBILE_ACTIONS_DISPLAY": [
1984
1984
  "flex",
1985
1985
  "none"
@@ -8102,7 +8102,7 @@
8102
8102
  {
8103
8103
  "preview_path": "primer/alpha/select_panel/default",
8104
8104
  "name": "default",
8105
- "snapshot": "interactive",
8105
+ "snapshot": "false",
8106
8106
  "skip_rules": {
8107
8107
  "wont_fix": [
8108
8108
  "region"
@@ -8115,7 +8115,7 @@
8115
8115
  {
8116
8116
  "preview_path": "primer/alpha/select_panel/local_fetch",
8117
8117
  "name": "local_fetch",
8118
- "snapshot": "interactive",
8118
+ "snapshot": "false",
8119
8119
  "skip_rules": {
8120
8120
  "wont_fix": [
8121
8121
  "region"
@@ -8128,7 +8128,7 @@
8128
8128
  {
8129
8129
  "preview_path": "primer/alpha/select_panel/eventually_local_fetch",
8130
8130
  "name": "eventually_local_fetch",
8131
- "snapshot": "interactive",
8131
+ "snapshot": "false",
8132
8132
  "skip_rules": {
8133
8133
  "wont_fix": [
8134
8134
  "region"
@@ -8141,7 +8141,7 @@
8141
8141
  {
8142
8142
  "preview_path": "primer/alpha/select_panel/remote_fetch",
8143
8143
  "name": "remote_fetch",
8144
- "snapshot": "interactive",
8144
+ "snapshot": "false",
8145
8145
  "skip_rules": {
8146
8146
  "wont_fix": [
8147
8147
  "region"
@@ -8154,7 +8154,7 @@
8154
8154
  {
8155
8155
  "preview_path": "primer/alpha/select_panel/custom_loading_label",
8156
8156
  "name": "custom_loading_label",
8157
- "snapshot": "interactive",
8157
+ "snapshot": "false",
8158
8158
  "skip_rules": {
8159
8159
  "wont_fix": [
8160
8160
  "region"
@@ -8167,7 +8167,7 @@
8167
8167
  {
8168
8168
  "preview_path": "primer/alpha/select_panel/custom_loading_description",
8169
8169
  "name": "custom_loading_description",
8170
- "snapshot": "interactive",
8170
+ "snapshot": "false",
8171
8171
  "skip_rules": {
8172
8172
  "wont_fix": [
8173
8173
  "region"
@@ -8180,7 +8180,7 @@
8180
8180
  {
8181
8181
  "preview_path": "primer/alpha/select_panel/local_fetch_no_results",
8182
8182
  "name": "local_fetch_no_results",
8183
- "snapshot": "interactive",
8183
+ "snapshot": "false",
8184
8184
  "skip_rules": {
8185
8185
  "wont_fix": [
8186
8186
  "region"
@@ -8193,7 +8193,7 @@
8193
8193
  {
8194
8194
  "preview_path": "primer/alpha/select_panel/eventually_local_fetch_no_results",
8195
8195
  "name": "eventually_local_fetch_no_results",
8196
- "snapshot": "interactive",
8196
+ "snapshot": "false",
8197
8197
  "skip_rules": {
8198
8198
  "wont_fix": [
8199
8199
  "region"
@@ -8206,7 +8206,7 @@
8206
8206
  {
8207
8207
  "preview_path": "primer/alpha/select_panel/remote_fetch_no_results",
8208
8208
  "name": "remote_fetch_no_results",
8209
- "snapshot": "interactive",
8209
+ "snapshot": "false",
8210
8210
  "skip_rules": {
8211
8211
  "wont_fix": [
8212
8212
  "region"
@@ -8219,7 +8219,7 @@
8219
8219
  {
8220
8220
  "preview_path": "primer/alpha/select_panel/single_select",
8221
8221
  "name": "single_select",
8222
- "snapshot": "interactive",
8222
+ "snapshot": "false",
8223
8223
  "skip_rules": {
8224
8224
  "wont_fix": [
8225
8225
  "region"
@@ -8232,7 +8232,7 @@
8232
8232
  {
8233
8233
  "preview_path": "primer/alpha/select_panel/multiselect",
8234
8234
  "name": "multiselect",
8235
- "snapshot": "interactive",
8235
+ "snapshot": "false",
8236
8236
  "skip_rules": {
8237
8237
  "wont_fix": [
8238
8238
  "region"
@@ -8245,7 +8245,7 @@
8245
8245
  {
8246
8246
  "preview_path": "primer/alpha/select_panel/with_dynamic_label",
8247
8247
  "name": "with_dynamic_label",
8248
- "snapshot": "interactive",
8248
+ "snapshot": "false",
8249
8249
  "skip_rules": {
8250
8250
  "wont_fix": [
8251
8251
  "region"
@@ -8258,7 +8258,7 @@
8258
8258
  {
8259
8259
  "preview_path": "primer/alpha/select_panel/with_dynamic_label_and_aria_prefix",
8260
8260
  "name": "with_dynamic_label_and_aria_prefix",
8261
- "snapshot": "interactive",
8261
+ "snapshot": "false",
8262
8262
  "skip_rules": {
8263
8263
  "wont_fix": [
8264
8264
  "region"
@@ -8271,7 +8271,7 @@
8271
8271
  {
8272
8272
  "preview_path": "primer/alpha/select_panel/footer_buttons",
8273
8273
  "name": "footer_buttons",
8274
- "snapshot": "interactive",
8274
+ "snapshot": "false",
8275
8275
  "skip_rules": {
8276
8276
  "wont_fix": [
8277
8277
  "region"
@@ -8284,7 +8284,7 @@
8284
8284
  {
8285
8285
  "preview_path": "primer/alpha/select_panel/with_avatar_items",
8286
8286
  "name": "with_avatar_items",
8287
- "snapshot": "interactive",
8287
+ "snapshot": "false",
8288
8288
  "skip_rules": {
8289
8289
  "wont_fix": [
8290
8290
  "region"
@@ -8297,7 +8297,7 @@
8297
8297
  {
8298
8298
  "preview_path": "primer/alpha/select_panel/select_panel_with_icon_button",
8299
8299
  "name": "select_panel_with_icon_button",
8300
- "snapshot": "interactive",
8300
+ "snapshot": "false",
8301
8301
  "skip_rules": {
8302
8302
  "wont_fix": [
8303
8303
  "region"
@@ -8310,7 +8310,7 @@
8310
8310
  {
8311
8311
  "preview_path": "primer/alpha/select_panel/with_leading_icons",
8312
8312
  "name": "with_leading_icons",
8313
- "snapshot": "interactive",
8313
+ "snapshot": "false",
8314
8314
  "skip_rules": {
8315
8315
  "wont_fix": [
8316
8316
  "region"
@@ -8323,7 +8323,7 @@
8323
8323
  {
8324
8324
  "preview_path": "primer/alpha/select_panel/with_trailing_icons",
8325
8325
  "name": "with_trailing_icons",
8326
- "snapshot": "interactive",
8326
+ "snapshot": "false",
8327
8327
  "skip_rules": {
8328
8328
  "wont_fix": [
8329
8329
  "region"
@@ -8336,7 +8336,7 @@
8336
8336
  {
8337
8337
  "preview_path": "primer/alpha/select_panel/with_subtitle",
8338
8338
  "name": "with_subtitle",
8339
- "snapshot": "interactive",
8339
+ "snapshot": "false",
8340
8340
  "skip_rules": {
8341
8341
  "wont_fix": [
8342
8342
  "region"
@@ -8349,7 +8349,7 @@
8349
8349
  {
8350
8350
  "preview_path": "primer/alpha/select_panel/remote_fetch_initial_failure",
8351
8351
  "name": "remote_fetch_initial_failure",
8352
- "snapshot": "interactive",
8352
+ "snapshot": "false",
8353
8353
  "skip_rules": {
8354
8354
  "wont_fix": [
8355
8355
  "region"
@@ -8362,7 +8362,7 @@
8362
8362
  {
8363
8363
  "preview_path": "primer/alpha/select_panel/remote_fetch_filter_failure",
8364
8364
  "name": "remote_fetch_filter_failure",
8365
- "snapshot": "interactive",
8365
+ "snapshot": "false",
8366
8366
  "skip_rules": {
8367
8367
  "wont_fix": [
8368
8368
  "region"
@@ -8375,7 +8375,7 @@
8375
8375
  {
8376
8376
  "preview_path": "primer/alpha/select_panel/eventually_local_fetch_initial_failure",
8377
8377
  "name": "eventually_local_fetch_initial_failure",
8378
- "snapshot": "interactive",
8378
+ "snapshot": "false",
8379
8379
  "skip_rules": {
8380
8380
  "wont_fix": [
8381
8381
  "region"
@@ -8388,7 +8388,7 @@
8388
8388
  {
8389
8389
  "preview_path": "primer/alpha/select_panel/single_select_form",
8390
8390
  "name": "single_select_form",
8391
- "snapshot": "interactive",
8391
+ "snapshot": "false",
8392
8392
  "skip_rules": {
8393
8393
  "wont_fix": [
8394
8394
  "region"
@@ -8401,7 +8401,7 @@
8401
8401
  {
8402
8402
  "preview_path": "primer/alpha/select_panel/remote_fetch_form",
8403
8403
  "name": "remote_fetch_form",
8404
- "snapshot": "interactive",
8404
+ "snapshot": "false",
8405
8405
  "skip_rules": {
8406
8406
  "wont_fix": [
8407
8407
  "region"
@@ -8414,7 +8414,7 @@
8414
8414
  {
8415
8415
  "preview_path": "primer/alpha/select_panel/multiselect_form",
8416
8416
  "name": "multiselect_form",
8417
- "snapshot": "interactive",
8417
+ "snapshot": "false",
8418
8418
  "skip_rules": {
8419
8419
  "wont_fix": [
8420
8420
  "region"
@@ -8427,7 +8427,7 @@
8427
8427
  {
8428
8428
  "preview_path": "primer/alpha/select_panel/list_of_links",
8429
8429
  "name": "list_of_links",
8430
- "snapshot": "interactive",
8430
+ "snapshot": "false",
8431
8431
  "skip_rules": {
8432
8432
  "wont_fix": [
8433
8433
  "region"
@@ -8440,7 +8440,7 @@
8440
8440
  {
8441
8441
  "preview_path": "primer/alpha/select_panel/no_values",
8442
8442
  "name": "no_values",
8443
- "snapshot": "interactive",
8443
+ "snapshot": "false",
8444
8444
  "skip_rules": {
8445
8445
  "wont_fix": [
8446
8446
  "region"
@@ -9368,7 +9368,7 @@
9368
9368
  {
9369
9369
  "preview_path": "primer/alpha/text_area/with_character_limit_over_limit",
9370
9370
  "name": "with_character_limit_over_limit",
9371
- "snapshot": "interactive",
9371
+ "snapshot": "false",
9372
9372
  "skip_rules": {
9373
9373
  "wont_fix": [
9374
9374
  "region"
@@ -9907,7 +9907,7 @@
9907
9907
  {
9908
9908
  "preview_path": "primer/alpha/text_field/with_character_limit_over_limit",
9909
9909
  "name": "with_character_limit_over_limit",
9910
- "snapshot": "interactive",
9910
+ "snapshot": "false",
9911
9911
  "skip_rules": {
9912
9912
  "wont_fix": [
9913
9913
  "region"
@@ -21649,6 +21649,12 @@
21649
21649
  "source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/sub_header.rb",
21650
21650
  "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/sub_header/default/",
21651
21651
  "parameters": [
21652
+ {
21653
+ "name": "collapsed_search",
21654
+ "type": "Boolean",
21655
+ "default": "`false`",
21656
+ "description": "When true, the search bar starts collapsed as an icon button on all screen sizes. Clicking expands it."
21657
+ },
21652
21658
  {
21653
21659
  "name": "system_arguments",
21654
21660
  "type": "Hash",
@@ -21672,6 +21678,11 @@
21672
21678
  "description": "A button or custom content that will render on the left-hand side of the component, next to the filter input.\n\nTo render a button, call the `with_filter_button` method, which accepts the arguments accepted by {{#link_to_component}}Primer::Beta::Button{{/link_to_component}}.\n\nTo render custom content, call the `with_filter_component` method and pass a block that returns HTML.",
21673
21679
  "parameters": []
21674
21680
  },
21681
+ {
21682
+ "name": "quick_filters",
21683
+ "description": "Quick filters shown in the left pane next to the search bar (0–5 items).\nHidden on mobile. Requires all_filters_button to be set when used.\nSupports ActionMenus, Buttons, IconButtons, SelectPanels, and SegmentedControls inside the block.",
21684
+ "parameters": []
21685
+ },
21675
21686
  {
21676
21687
  "name": "segmented_control",
21677
21688
  "description": null,
@@ -21781,6 +21792,32 @@
21781
21792
  ]
21782
21793
  }
21783
21794
  },
21795
+ {
21796
+ "preview_path": "primer/open_project/sub_header/collapsed_search",
21797
+ "name": "collapsed_search",
21798
+ "snapshot": "false",
21799
+ "skip_rules": {
21800
+ "wont_fix": [
21801
+ "region"
21802
+ ],
21803
+ "will_fix": [
21804
+ "color-contrast"
21805
+ ]
21806
+ }
21807
+ },
21808
+ {
21809
+ "preview_path": "primer/open_project/sub_header/quick_filters",
21810
+ "name": "quick_filters",
21811
+ "snapshot": "false",
21812
+ "skip_rules": {
21813
+ "wont_fix": [
21814
+ "region"
21815
+ ],
21816
+ "will_fix": [
21817
+ "color-contrast"
21818
+ ]
21819
+ }
21820
+ },
21784
21821
  {
21785
21822
  "preview_path": "primer/open_project/sub_header/bottom_pane",
21786
21823
  "name": "bottom_pane",