diff --git a/.changeset/soft-stamps-camp.md b/.changeset/soft-stamps-camp.md new file mode 100644 index 0000000000..dabb0f6a25 --- /dev/null +++ b/.changeset/soft-stamps-camp.md @@ -0,0 +1,5 @@ +--- +"@primer/view-components": patch +--- + +Accept keyword arguments in `render_in` methods diff --git a/app/components/primer/alpha/tree_view/sub_tree_node.rb b/app/components/primer/alpha/tree_view/sub_tree_node.rb index b42c54eaa1..a5f249c511 100644 --- a/app/components/primer/alpha/tree_view/sub_tree_node.rb +++ b/app/components/primer/alpha/tree_view/sub_tree_node.rb @@ -164,7 +164,7 @@ def initialize( ) end - def render_in(*args, &block) + def render_in(*args, **_kwargs, &block) super.tap do # check this _after_ rendering so @sub_tree's slots are defined if @node.select_variant != :none && @sub_tree.defer? diff --git a/app/components/primer/alpha/tree_view/visual.rb b/app/components/primer/alpha/tree_view/visual.rb index e5f260b6a2..88d2070622 100644 --- a/app/components/primer/alpha/tree_view/visual.rb +++ b/app/components/primer/alpha/tree_view/visual.rb @@ -17,7 +17,7 @@ def initialize(id:, visual:, label: nil) @label = label end - def render_in(_view_context, &block) + def render_in(_view_context, **_kwargs, &block) block&.call(@visual) super end diff --git a/app/components/primer/beta/button_group.rb b/app/components/primer/beta/button_group.rb index a31357128c..6ac667508c 100644 --- a/app/components/primer/beta/button_group.rb +++ b/app/components/primer/beta/button_group.rb @@ -107,7 +107,7 @@ def initialize(menu_arguments: {}, button_arguments: {}) @button = @menu.with_show_button(icon: "triangle-down", **button_arguments) end - def render_in(view_context, &block) + def render_in(view_context, **_kwargs, &block) super(view_context) do block.call(@menu, @button) end diff --git a/app/lib/primer/forms/acts_as_component.rb b/app/lib/primer/forms/acts_as_component.rb index 45c6f64ddb..a9ff4f381f 100644 --- a/app/lib/primer/forms/acts_as_component.rb +++ b/app/lib/primer/forms/acts_as_component.rb @@ -10,7 +10,7 @@ module ActsAsComponent module InstanceMethods delegate :render, :content_tag, :output_buffer, :capture, to: :@view_context - def render_in(view_context, &block) + def render_in(view_context, **_kwargs, &block) @view_context = view_context before_render perform_render(&block) diff --git a/app/lib/primer/forms/toggle_switch_form.rb b/app/lib/primer/forms/toggle_switch_form.rb index 3aad28d894..27b918b2a4 100644 --- a/app/lib/primer/forms/toggle_switch_form.rb +++ b/app/lib/primer/forms/toggle_switch_form.rb @@ -69,7 +69,7 @@ def initialize(**system_arguments) # assumes the presence of a builder so we create our own here. A builder # cannot be constructed without a corresponding view context, which is why # we have to override render_in and can't create it in the initializer. - def render_in(view_context, &block) + def render_in(view_context, **_kwargs, &block) @builder = Primer::Forms::Builder.new( nil, nil, view_context, {} ) diff --git a/lib/primer/form_components.rb b/lib/primer/form_components.rb index fb8d9082aa..ba1686559a 100644 --- a/lib/primer/form_components.rb +++ b/lib/primer/form_components.rb @@ -16,7 +16,7 @@ def initialize(**system_arguments) @system_arguments = system_arguments end - def render_in(view_context, &block) + def render_in(view_context, **_kwargs, &block) builder = Primer::Forms::Builder.new( nil, nil, view_context, {} )