primer_view_components 0.0.86 → 0.0.87

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f85b7d98dc85b59a5312ea5c3c5cfe35c966a1ad495263837032249bc7782d89
4
- data.tar.gz: d4829969cc3672f7e3e492e3179d48f75fe9cd2299fa03b2153b5d2892ed04b4
3
+ metadata.gz: e6bfe00066208f8c4762d50b5df12895b564ef39da4202b625f2250974f8854c
4
+ data.tar.gz: b5ccfedef5c538d1491eca81db4273c67fd549f5737574174074cf89e219c92e
5
5
  SHA512:
6
- metadata.gz: 7270b517ed8032991f97b9369975704fb8596efaf5867f73987b8a0993ef9809df91a4e3673ceb17e29699cb975143ce5644c677ac68149b54e28ada734d2df8
7
- data.tar.gz: e512281e87914e23b3dd7b24c1bd5b1bd89d531e97f733687f872dc8d2bff56079810f5017686af4b84ee7cd05e56e1231d56058a67ccbaca1b0b0ea0c210928
6
+ metadata.gz: 1e3f89321a8c13325ef873074d0ea4e2d880dacd1e06185e3b87af6a2a6ad2a363115e6c85ba4888e134b8f532e1983a8b7c1fe355df139fcd6a93dc0337770d
7
+ data.tar.gz: 70045302ca011ea9c1cd009f7a31a1ea0e41f027198bdb99989f656d2ccd2dfe4d654faad729bbbf60652151fa2e8bfa779492e4f5f72c3b6bc2a5c0d2a8103b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.0.87
4
+
5
+ ### Patch Changes
6
+
7
+ - [#1274](https://github.com/primer/view_components/pull/1274) [`c153f734`](https://github.com/primer/view_components/commit/c153f734a891fc3bc7dfc3bed34630ff38ab39d7) Thanks [@jonrohan](https://github.com/jonrohan)! - Fixing whitespace in rendered LinkComponent
8
+
9
+ * [#1273](https://github.com/primer/view_components/pull/1273) [`f38517ac`](https://github.com/primer/view_components/commit/f38517acf1aed43b27f2c6b94634d70b124883e6) Thanks [@camertron](https://github.com/camertron)! - Revert removal of BlankslateComponent
10
+
11
+ - [#1270](https://github.com/primer/view_components/pull/1270) [`44919308`](https://github.com/primer/view_components/commit/4491930812d16a9bcb5d8f05b4d94e49e469afa5) Thanks [@camertron](https://github.com/camertron)! - Use a custom form builder; introduce primer_form_for
12
+
13
+ * [#1269](https://github.com/primer/view_components/pull/1269) [`9ae9615f`](https://github.com/primer/view_components/commit/9ae9615f31acf43875feb89661cac6311527f9fd) Thanks [@mxriverlynn](https://github.com/mxriverlynn)! - updating component migrator script with improvements in component reference updates, deprecations, etc.
14
+
15
+ - [#1276](https://github.com/primer/view_components/pull/1276) [`759ea56f`](https://github.com/primer/view_components/commit/759ea56f00cbe3e536f4e558a9fb9a3e1b89bf7b) Thanks [@mxriverlynn](https://github.com/mxriverlynn)! - correcting the updates to nav.yml in the component status migrator
16
+
3
17
  ## 0.0.86
4
18
 
5
19
  ### Patch Changes
@@ -6,7 +6,7 @@ module Primer
6
6
 
7
7
  # A text field suitable for use outside a form. For a text field input suitable for use
8
8
  # within an HTML form, see the `Primer::Forms` namespace.
9
- class TextField
9
+ class TextField < Primer::Component
10
10
  status :alpha
11
11
 
12
12
  # @!method initialize
@@ -0,0 +1,25 @@
1
+ <%# erblint:counter ButtonComponentMigrationCounter 1 %>
2
+ <%= render Primer::BaseComponent.new(**@system_arguments) do %>
3
+ <% if spinner.present? %>
4
+ <%= spinner %>
5
+ <% elsif @icon.present? %>
6
+ <%= primer_octicon @icon, size: @icon_size, classes: "blankslate-icon" %>
7
+ <% elsif @image_src.present? && @image_alt.present? %>
8
+ <%= image_tag @image_src.to_s, class: "mb-3", size: "56x56", alt: @image_alt.to_s %>
9
+ <% end %>
10
+ <% if @title.present? %>
11
+ <%= render Primer::BaseComponent.new(tag: @title_tag, mb: 1) do %><%= @title %><% end %>
12
+ <% end %>
13
+ <% if @description.present? %>
14
+ <p><%= @description %></p>
15
+ <% end %>
16
+ <%= content %>
17
+ <% if @button_text.present? && @button_url.present? %>
18
+ <a class="btn <%= @button_classes %>" href="<%= @button_url %>"><%= @button_text %></a>
19
+ <% end %>
20
+ <% if @link_text.present? && @link_url.present? %>
21
+ <p>
22
+ <%= link_to @link_url.to_s do %><%= @link_text %><% end %>
23
+ </p>
24
+ <% end %>
25
+ <% end %>
@@ -1,8 +1,156 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Primer
4
- # BlankslateComponent is deprecated. Please use `Primer::Beta::Blankslate` instead.
5
- class BlankslateComponent < Primer::Beta::Blankslate
4
+ # Use `Blankslate` when there is a lack of content within a page or section. Use as placeholder to tell users why something isn't there.
5
+ # @accessibility
6
+ # `Blankslate` renders an `<h3>` element for the title by default. Update the heading level based on what is appropriate for your page hierarchy by setting `title_tag`.
7
+ # <%= link_to_heading_practices %>
8
+ class BlankslateComponent < Primer::Component
6
9
  status :deprecated
10
+
11
+ # Optional Spinner.
12
+ #
13
+ # @param kwargs [Hash] The same arguments as <%= link_to_component(Primer::SpinnerComponent) %>.
14
+ renders_one :spinner, lambda { |**system_arguments|
15
+ system_arguments[:mb] ||= 3
16
+ Primer::SpinnerComponent.new(**system_arguments)
17
+ }
18
+
19
+ #
20
+ # @example Basic
21
+ # <%= render Primer::BlankslateComponent.new(
22
+ # title: "Title",
23
+ # description: "Description",
24
+ # ) %>
25
+ #
26
+ # @example Icon
27
+ # @description
28
+ # Add an `icon` to give additional context. Refer to the [Octicons](https://primer.style/octicons/) documentation to choose an icon.
29
+ # @code
30
+ # <%= render Primer::BlankslateComponent.new(
31
+ # icon: :globe,
32
+ # title: "Title",
33
+ # description: "Description",
34
+ # ) %>
35
+ #
36
+ # @example Loading
37
+ # @description
38
+ # Add a [SpinnerComponent](https://primer.style/view-components/components/spinner) to the blankslate in place of an icon.
39
+ # @code
40
+ # <%= render Primer::BlankslateComponent.new(
41
+ # title: "Title",
42
+ # description: "Description",
43
+ # ) do |component| %>
44
+ # <% component.spinner(size: :large) %>
45
+ # <% end %>
46
+ #
47
+ # @example Custom content
48
+ # @description
49
+ # Pass custom content as a block in place of `description`.
50
+ # @code
51
+ # <%= render Primer::BlankslateComponent.new(
52
+ # title: "Title",
53
+ # ) do %>
54
+ # <em>Your custom content here</em>
55
+ # <% end %>
56
+ #
57
+ # @example Action button
58
+ # @description
59
+ # Provide a button to guide users to take action from the blankslate. The button appears below the description and custom content.
60
+ # @code
61
+ # <%= render Primer::BlankslateComponent.new(
62
+ # icon: :book,
63
+ # title: "Welcome to the mona wiki!",
64
+ # description: "Wikis provide a place in your repository to lay out the roadmap of your project, show the current status, and document software better, together.",
65
+ #
66
+ # button_text: "Create the first page",
67
+ # button_url: "https://github.com/monalisa/mona/wiki/_new",
68
+ # ) %>
69
+ #
70
+ # @example Link
71
+ # @description
72
+ # Add an additional link to help users learn more about a feature. The link will be shown at the very bottom:
73
+ # @code
74
+ # <%= render Primer::BlankslateComponent.new(
75
+ # icon: :book,
76
+ # title: "Welcome to the mona wiki!",
77
+ # description: "Wikis provide a place in your repository to lay out the roadmap of your project, show the current status, and document software better, together.",
78
+ # link_text: "Learn more about wikis",
79
+ # link_url: "https://docs.github.com/en/github/building-a-strong-community/about-wikis",
80
+ # ) %>
81
+ #
82
+ # @example Variations
83
+ # @description
84
+ # There are a few variations of how the Blankslate appears: `narrow` adds a maximum width, `large` increases the font size, and `spacious` adds extra padding.
85
+ # @code
86
+ # <%= render Primer::BlankslateComponent.new(
87
+ # icon: :book,
88
+ # title: "Welcome to the mona wiki!",
89
+ # description: "Wikis provide a place in your repository to lay out the roadmap of your project, show the current status, and document software better, together.",
90
+ # narrow: true,
91
+ # large: true,
92
+ # spacious: true,
93
+ # ) %>
94
+ #
95
+ # @param title [String] Text that appears in a larger bold font.
96
+ # @param title_tag [Symbol] HTML tag to use for title.
97
+ # @param icon [Symbol] Octicon icon to use at top of component.
98
+ # @param icon_size [Symbol] <%= one_of(Primer::OcticonComponent::SIZE_MAPPINGS, sort: false) %>
99
+ # @param image_src [String] Image to display.
100
+ # @param image_alt [String] Alt text for image.
101
+ # @param description [String] Text that appears below the title. Typically a whole sentence.
102
+ # @param button_text [String] The text of the button.
103
+ # @param button_url [String] The URL where the user will be taken after clicking the button.
104
+ # @param button_classes [String] Classes to apply to action button
105
+ # @param link_text [String] The text of the link.
106
+ # @param link_url [String] The URL where the user will be taken after clicking the link.
107
+ # @param narrow [Boolean] Adds a maximum width.
108
+ # @param large [Boolean] Increases the font size.
109
+ # @param spacious [Boolean] Adds extra padding.
110
+ # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
111
+ def initialize(
112
+ title: "",
113
+ title_tag: :h3,
114
+ icon: "",
115
+ icon_size: :medium,
116
+ image_src: "",
117
+ image_alt: " ",
118
+ description: "",
119
+ button_text: "",
120
+ button_url: "",
121
+ button_classes: "btn-primary my-3",
122
+ link_text: "",
123
+ link_url: "",
124
+
125
+ # variations
126
+ narrow: false,
127
+ large: false,
128
+ spacious: false,
129
+
130
+ **system_arguments
131
+ )
132
+ @system_arguments = system_arguments
133
+ @system_arguments[:tag] = :div
134
+ @system_arguments[:classes] = class_names(
135
+ @system_arguments[:classes],
136
+ "blankslate",
137
+ "blankslate-narrow": narrow,
138
+ "blankslate-large": large,
139
+ "blankslate-spacious": spacious
140
+ )
141
+
142
+ @title_tag = title_tag
143
+ @icon = icon
144
+ @icon_size = icon_size
145
+ @image_src = image_src
146
+ @image_alt = image_alt
147
+ @title = title
148
+ @description = description
149
+ @button_text = button_text
150
+ @button_url = button_url
151
+ @button_classes = button_classes
152
+ @link_text = link_text
153
+ @link_url = link_url
154
+ end
7
155
  end
8
156
  end
@@ -79,5 +79,19 @@ module Primer
79
79
  def before_render
80
80
  raise ArgumentError, "href is required when using <a> tag" if @system_arguments[:tag] == :a && @system_arguments[:href].nil? && !Rails.env.production?
81
81
  end
82
+
83
+ def call
84
+ if tooltip.present?
85
+ render Primer::BaseComponent.new(tag: :span, position: :relative) do
86
+ render(Primer::BaseComponent.new(**@system_arguments)) do
87
+ content
88
+ end.to_s + tooltip.to_s
89
+ end
90
+ else
91
+ render(Primer::BaseComponent.new(**@system_arguments)) do
92
+ content
93
+ end
94
+ end
95
+ end
82
96
  end
83
97
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Primer
4
+ # :nodoc:
5
+ module FormHelper
6
+ def primer_form_with(**kwargs, &block)
7
+ form_with(**kwargs, skip_default_ids: false, builder: Primer::Forms::Builder, &block)
8
+ end
9
+ end
10
+ end
@@ -17,7 +17,7 @@ module Primer
17
17
  end
18
18
 
19
19
  def call
20
- builder = ActionView::Helpers::FormBuilder.new(
20
+ builder = Primer::Forms::Builder.new(
21
21
  nil, nil, __vc_original_view_context, {}
22
22
  )
23
23
 
@@ -28,7 +28,7 @@ module Primer
28
28
  &@block
29
29
  )
30
30
 
31
- input.render_in(__vc_original_view_context) { content }
31
+ input.to_component.render_in(__vc_original_view_context) { content }
32
32
  end
33
33
  end
34
34
  end
@@ -1,6 +1,6 @@
1
1
  <%= render(SpacingWrapper.new) do %>
2
2
  <% inputs.each do |input| %>
3
- <%= render(input) %>
3
+ <%= render(input.to_component) %>
4
4
  <% end %>
5
5
  <% end %>
6
6
  <% if after_content? %>
@@ -17,6 +17,11 @@ module Primer
17
17
  end
18
18
 
19
19
  def new(builder, **options)
20
+ if builder && !builder.is_a?(Primer::Forms::Builder)
21
+ raise ArgumentError, "please pass an instance of Primer::Forms::Builder when "\
22
+ "constructing a form object (consider using the `primer_form_with` helper)"
23
+ end
24
+
20
25
  allocate.tap do |form|
21
26
  form.instance_variable_set(:@builder, builder)
22
27
  form.send(:initialize, **options)
@@ -39,6 +39,10 @@ module Primer
39
39
  false
40
40
  end
41
41
 
42
+ def to_component
43
+ self
44
+ end
45
+
42
46
  private
43
47
 
44
48
  def compile_and_render_template
@@ -16,8 +16,9 @@ module Primer
16
16
  code.dup.tap do |result|
17
17
  parser.var_refs.reverse_each do |lineno, stop|
18
18
  line_offset = line_offsets[lineno]
19
- start = (stop - "@output_buffer".length) + line_offset
20
19
  stop += line_offset
20
+ stop -= 1 if stop < code.length
21
+ start = stop - "@output_buffer".length
21
22
  result[start...stop] = "output_buffer"
22
23
  end
23
24
  end
@@ -39,7 +40,7 @@ module Primer
39
40
  def on_var_ref(var)
40
41
  return unless var == "@output_buffer"
41
42
 
42
- var_refs << [lineno, column - 1]
43
+ var_refs << [lineno, column]
43
44
  end
44
45
 
45
46
  def var_refs
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "primer/classify"
4
+
5
+ module Primer
6
+ module Forms
7
+ # :nodoc:
8
+ class Builder < ActionView::Helpers::FormBuilder
9
+ include Primer::ClassNameHelper
10
+
11
+ UTILITY_KEYS = Primer::Classify::Utilities::UTILITIES.keys.freeze
12
+
13
+ def label(*args, **options, &block)
14
+ super(*args, classify(options), &block)
15
+ end
16
+
17
+ def check_box(*args, **options, &block)
18
+ super(*args, classify(options), &block)
19
+ end
20
+
21
+ def radio_button(*args, **options, &block)
22
+ super(*args, classify(options), &block)
23
+ end
24
+
25
+ def select(*args, **options, &block)
26
+ super(*args, classify(options), &block)
27
+ end
28
+
29
+ def text_field(*args, **options, &block)
30
+ super(*args, classify(options), &block)
31
+ end
32
+
33
+ def text_area(*args, **options, &block)
34
+ super(*args, classify(options), &block)
35
+ end
36
+
37
+ private
38
+
39
+ def classify(options)
40
+ options[:classes] = class_names(options.delete(:class), options[:classes])
41
+ options.merge!(Primer::Classify.call(options))
42
+ options.except!(*UTILITY_KEYS)
43
+ options[:class] = class_names(options[:class], options.delete(:classes))
44
+ options
45
+ end
46
+ end
47
+ end
48
+ end
@@ -6,7 +6,7 @@
6
6
  <% end %>
7
7
  <%= render(SpacingWrapper.new) do %>
8
8
  <% @input.check_boxes.each do |check_box| %>
9
- <%= render(check_box) %>
9
+ <%= render(check_box.to_component) %>
10
10
  <% end %>
11
11
  <% end %>
12
12
  </fieldset>
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "primer/classify"
4
-
5
3
  module Primer
6
4
  module Forms
7
5
  module Dsl
@@ -16,8 +14,6 @@ module Primer
16
14
  }.freeze
17
15
  SIZE_OPTIONS = SIZE_MAPPINGS.keys
18
16
 
19
- UTILITY_KEYS = Primer::Classify::Utilities::UTILITIES.keys.freeze
20
-
21
17
  include Primer::ClassNameHelper
22
18
 
23
19
  attr_reader :builder, :form, :input_arguments, :label_arguments, :caption, :validation_message, :ids
@@ -27,14 +23,11 @@ module Primer
27
23
  @form = form
28
24
 
29
25
  @input_arguments = system_arguments
30
- process_classes!(@input_arguments)
31
-
32
26
  @label_arguments = @input_arguments.delete(:label_arguments) || {}
33
- process_classes!(@label_arguments)
34
27
 
35
28
  @label_arguments[:class] = class_names(
36
29
  @label_arguments[:class],
37
- @input_arguments.fetch(:visually_hide_label, true) ? "sr-only" : nil
30
+ @input_arguments.fetch(:visually_hide_label, false) ? "sr-only" : nil
38
31
  )
39
32
 
40
33
  @input_arguments.delete(:visually_hide_label)
@@ -207,23 +200,8 @@ module Primer
207
200
  true
208
201
  end
209
202
 
210
- # Avoid using Rails delegation here for performance reasons
211
- # rubocop:disable Rails/Delegate
212
- def render_in(view_context)
213
- to_component.render_in(view_context)
214
- end
215
- # rubocop:enable Rails/Delegate
216
-
217
203
  private
218
204
 
219
- def process_classes!(args)
220
- args[:classes] = class_names(args.delete(:class), args[:classes])
221
- args.merge!(Primer::Classify.call(args))
222
- args[:class] = class_names(args[:class], args.delete(:classes))
223
- args.except!(*UTILITY_KEYS)
224
- args
225
- end
226
-
227
205
  def input_data
228
206
  @input_arguments[:data] ||= {}
229
207
  end
@@ -28,13 +28,6 @@ module Primer
28
28
  def input?
29
29
  true
30
30
  end
31
-
32
- # Avoid using Rails delegation here for performance reasons
33
- # rubocop:disable Rails/Delegate
34
- def render_in(view_context)
35
- to_component.render_in(view_context)
36
- end
37
- # rubocop:enable Rails/Delegate
38
31
  end
39
32
  end
40
33
  end
@@ -1,5 +1,5 @@
1
1
  <%= content_tag_if(horizontal?, :div, class: "d-flex", style: "gap: 15px;") do %>
2
2
  <% @inputs.each do |input| %>
3
- <%= render(input) %>
3
+ <%= render(input.to_component) %>
4
4
  <% end %>
5
5
  <% end %>
@@ -1,3 +1,3 @@
1
1
  <% @input.inputs.each do |child_input| %>
2
- <%= render(child_input) %>
2
+ <%= render(child_input.to_component) %>
3
3
  <% end %>
@@ -15,6 +15,7 @@ module Primer
15
15
 
16
16
  config.eager_load_paths = %W[
17
17
  #{root}/app/components
18
+ #{root}/app/helpers
18
19
  #{root}/app/lib
19
20
  ]
20
21
 
@@ -39,6 +40,16 @@ module Primer
39
40
  end
40
41
  end
41
42
 
43
+ initializer "primer.forms.helpers" do
44
+ ActiveSupport.on_load :action_controller do
45
+ require "primer/form_helper"
46
+ helper Primer::FormHelper
47
+
48
+ # make primer_form_with available to view components also
49
+ ViewComponent::Base.prepend(Primer::FormHelper)
50
+ end
51
+ end
52
+
42
53
  initializer "primer_view_components.zeitwerk_ignore" do
43
54
  Rails.autoloaders.each do |autoloader|
44
55
  autoloader.ignore(Engine.root.join("lib", "primer", "view_components", "linters.rb"))
@@ -5,7 +5,7 @@ module Primer
5
5
  module VERSION
6
6
  MAJOR = 0
7
7
  MINOR = 0
8
- PATCH = 86
8
+ PATCH = 87
9
9
 
10
10
  STRING = [MAJOR, MINOR, PATCH].join(".")
11
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: primer_view_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.86
4
+ version: 0.0.87
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub Open Source
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-02 00:00:00.000000000 Z
11
+ date: 2022-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionview
@@ -58,7 +58,7 @@ dependencies:
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 2.0.0
61
+ version: 2.57.0
62
62
  - - "<"
63
63
  - !ruby/object:Gem::Version
64
64
  version: '3.0'
@@ -68,7 +68,7 @@ dependencies:
68
68
  requirements:
69
69
  - - ">="
70
70
  - !ruby/object:Gem::Version
71
- version: 2.0.0
71
+ version: 2.57.0
72
72
  - - "<"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '3.0'
@@ -450,6 +450,7 @@ files:
450
450
  - app/components/primer/beta/text.rb
451
451
  - app/components/primer/beta/truncate.html.erb
452
452
  - app/components/primer/beta/truncate.rb
453
+ - app/components/primer/blankslate_component.html.erb
453
454
  - app/components/primer/blankslate_component.rb
454
455
  - app/components/primer/border_box_component.rb
455
456
  - app/components/primer/box_component.rb
@@ -497,7 +498,6 @@ files:
497
498
  - app/components/primer/label_component.rb
498
499
  - app/components/primer/layout_component.html.erb
499
500
  - app/components/primer/layout_component.rb
500
- - app/components/primer/link_component.html.erb
501
501
  - app/components/primer/link_component.rb
502
502
  - app/components/primer/local_time.d.ts
503
503
  - app/components/primer/local_time.js
@@ -536,6 +536,7 @@ files:
536
536
  - app/components/primer/timeline_item_component.rb
537
537
  - app/components/primer/tooltip.rb
538
538
  - app/components/primer/truncate.rb
539
+ - app/helpers/primer/form_helper.rb
539
540
  - app/lib/primer/audited/dsl.rb
540
541
  - app/lib/primer/class_name_helper.rb
541
542
  - app/lib/primer/fetch_or_fallback_helper.rb
@@ -557,6 +558,7 @@ files:
557
558
  - lib/primer/forms/base.rb
558
559
  - lib/primer/forms/base_component.rb
559
560
  - lib/primer/forms/buffer_rewriter.rb
561
+ - lib/primer/forms/builder.rb
560
562
  - lib/primer/forms/caption.html.erb
561
563
  - lib/primer/forms/caption.rb
562
564
  - lib/primer/forms/check_box.html.erb
@@ -1,12 +0,0 @@
1
- <% if tooltip.present? %>
2
- <%= render Primer::BaseComponent.new(tag: :span, position: :relative) do %>
3
- <%= render Primer::BaseComponent.new(**@system_arguments) do %>
4
- <% content %>
5
- <% end %>
6
- <%= tooltip %>
7
- <% end %>
8
- <% else %>
9
- <%= render Primer::BaseComponent.new(**@system_arguments) do %>
10
- <% content %>
11
- <% end %>
12
- <% end %>