@@ -10,8 +10,8 @@ class SubHeader < Primer::Component
1010 SHOWN_FILTER_TARGET_SELECTOR = "sub-header.shownItemsOnExpandedFilter"
1111 FILTER_EXPAND_BUTTON_TARGET_SELECTOR = "sub-header.filterExpandButton"
1212
13- MOBILE_ACTIONS_DISPLAY = [ :flex , :none ] . freeze
14- DESKTOP_ACTIONS_DISPLAY = [ :none , :flex ] . freeze
13+ MOBILE_ACTIONS_DISPLAY = [ :flex , :flex , : none] . freeze
14+ DESKTOP_ACTIONS_DISPLAY = [ :none , :none , : flex] . freeze
1515
1616 # A button or custom content that will render on the right-hand side of the component.
1717 #
@@ -177,9 +177,8 @@ class SubHeader < Primer::Component
177177 deny_tag_argument ( **kwargs )
178178 kwargs [ :tag ] = :div
179179 kwargs [ :mr ] ||= 2
180- kwargs [ :display ] = DESKTOP_ACTIONS_DISPLAY
181180
182- Primer :: BaseComponent . new ( **kwargs )
181+ QuickFilter . new ( **kwargs )
183182 }
184183
185184 renders_one :segmented_control , lambda { |**system_arguments , &block |
@@ -235,14 +234,20 @@ def initialize(collapsed_search: false, **system_arguments)
235234 end
236235
237236 def before_render
238- if quick_filters . any? && filter_button . nil?
237+ if quick_filters . size > 1 && filter_button . nil?
239238 raise ArgumentError , "You must provide a filter_button when using quick_filters."
240239 end
241240
242241 if quick_filters . size > 5
243242 raise ArgumentError , "SubHeader supports a maximum of 5 quick_filters, got #{ quick_filters . size } ."
244243 end
245244
245+ if quick_filters . size > 1
246+ quick_filters . each do |qf |
247+ qf . merge_system_arguments! ( display : DESKTOP_ACTIONS_DISPLAY )
248+ end
249+ end
250+
246251 @system_arguments [ :classes ] = class_names (
247252 @system_arguments [ :classes ] ,
248253 "SubHeader--emptyLeftPane" => !segmented_control? && !filter_button && !filter_input && quick_filters . empty?
0 commit comments