Skip to content

Commit 3e92b55

Browse files
committed
Raise error when there are different sizes for action buttons
1 parent 7323388 commit 3e92b55

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

app/components/primer/open_project/page_header.rb

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,9 +291,17 @@ def show_state?
291291
private
292292

293293
def set_action_arguments(system_arguments, scheme: nil)
294+
requested_size = system_arguments.key?(:size) ? system_arguments[:size] : :medium
295+
@page_header_action_size ||= requested_size
296+
297+
if requested_size != @page_header_action_size
298+
raise ArgumentError,
299+
"PageHeader actions must all use the same size. Set the same `size:` for every action (or omit it to use :medium everywhere)."
300+
end
301+
294302
system_arguments[:ml] ||= 2
295303
system_arguments[:display] = %i[none flex]
296-
system_arguments[:size] ||= :medium
304+
system_arguments[:size] = requested_size
297305
system_arguments[:scheme] = scheme unless scheme.nil?
298306
system_arguments[:classes] = class_names(
299307
system_arguments[:classes],

0 commit comments

Comments
 (0)