primer_view_components 0.0.81 → 0.0.84

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +38 -0
  3. data/README.md +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/components/primer/alpha/auto_complete/auto_complete.html.erb +24 -0
  7. data/app/components/primer/alpha/auto_complete/item.rb +46 -0
  8. data/app/components/primer/alpha/auto_complete.rb +158 -0
  9. data/app/components/primer/alpha/tool-tip-element.js +1 -0
  10. data/app/components/primer/alpha/tool-tip-element.ts +1 -0
  11. data/app/components/primer/beta/auto_complete/auto_complete.html.erb +21 -17
  12. data/app/components/primer/beta/auto_complete/item.html.erb +21 -0
  13. data/app/components/primer/beta/auto_complete/item.rb +42 -6
  14. data/app/components/primer/beta/auto_complete.rb +93 -55
  15. data/app/components/primer/component.rb +1 -1
  16. data/app/components/primer/conditional_wrapper.rb +36 -0
  17. data/app/components/primer/layout_component.html.erb +1 -0
  18. data/lib/primer/view_components/linters/deprecated_components_counter.rb +49 -0
  19. data/lib/primer/view_components/linters/helpers/deprecated_components_helpers.rb +46 -0
  20. data/lib/primer/view_components/version.rb +1 -1
  21. data/lib/rubocop/config/default.yml +2 -26
  22. data/lib/rubocop/cop/primer/deprecated_arguments.rb +10 -0
  23. data/lib/rubocop/cop/primer/deprecated_components.rb +2 -33
  24. data/lib/tasks/docs.rake +3 -3
  25. data/static/arguments.yml +40 -13
  26. data/static/audited_at.json +3 -0
  27. data/static/classes.yml +23 -7
  28. data/static/constants.json +23 -1
  29. data/static/statuses.json +3 -0
  30. metadata +43 -8
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Primer
4
+ # Conditionally renders a `Primer::BaseComponent` around the given content. If the given condition
5
+ # is true, a `Primer::BaseComponent` will render around the content. If the condition is false, only
6
+ # the content is rendered.
7
+ #
8
+ # @example True conditional
9
+ # <%# condition is true, so content will be wrapped in a <span> tag
10
+ # <%= render Primer::ConditionalWrapper.new(condition: true, tag: :span, class: "foobar")) do %>
11
+ # <%# also rendered %>
12
+ # <p class="bazboo">Some text</p>
13
+ # <% end %>
14
+ #
15
+ # @example False conditional
16
+ # <%# condition is false so no <span> tag will render around the content (i.e. the <p> tag)
17
+ # <%= render(Primer::ConditionalWrapper.new(condition: false, tag: :span, class: "foobar")) do %>
18
+ # <%# this content will be rendered %>
19
+ # <p class="bazboo">Some text</p>
20
+ # <% end %>
21
+ #
22
+ # @param condition [Boolean] Whether or not to wrap the content in a `Primer::BaseComponent`.
23
+ # @param base_component_arguments [Hash] The arguments to pass to `Primer::BaseComponent`.
24
+ class ConditionalWrapper < Primer::Component
25
+ def initialize(condition:, **base_component_arguments)
26
+ @condition = condition
27
+ @base_component_arguments = base_component_arguments
28
+ end
29
+
30
+ def call
31
+ return content unless @condition
32
+
33
+ BaseComponent.new(**@base_component_arguments).render_in(self) { content }
34
+ end
35
+ end
36
+ end
@@ -1,3 +1,4 @@
1
+ <%# erblint:counter DeprecatedComponentsCounter 1 %>
1
2
  <%= render(Primer::FlexComponent.new(**@system_arguments)) do %>
2
3
  <% if @side == :left %>
3
4
  <%= sidebar %>
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "helpers/deprecated_components_helpers"
4
+ require "erblint-github/linters/custom_helpers"
5
+
6
+ module ERBLint
7
+ module Linters
8
+ # Lints against deprecated components
9
+ class DeprecatedComponentsCounter < Linter
10
+ include CustomHelpers
11
+ include ERBLint::LinterRegistry
12
+ include Helpers::DeprecatedComponentsHelpers
13
+
14
+ def run(processed_source)
15
+ processed_source.ast.descendants(:erb).each do |erb_node|
16
+ _, _, code_node = *erb_node
17
+ code = code_node.children.first.strip
18
+
19
+ next unless code.include?("Primer::")
20
+
21
+ deprecated_components.each do |component|
22
+ next unless code.include?(component)
23
+
24
+ add_offense(
25
+ erb_node.loc,
26
+ message(component)
27
+ )
28
+ end
29
+ end
30
+
31
+ counter_correct?(processed_source)
32
+ end
33
+
34
+ def autocorrect(processed_source, offense)
35
+ return unless offense.context
36
+
37
+ lambda do |corrector|
38
+ if processed_source.file_content.include?("erblint:counter #{self.class.name.gsub('ERBLint::Linters::', '')}")
39
+ # update the counter if exists
40
+ corrector.replace(offense.source_range, offense.context)
41
+ else
42
+ # add comment with counter if none
43
+ corrector.insert_before(processed_source.source_buffer.source_range, "#{offense.context}\n")
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ERBLint
4
+ module Linters
5
+ module Helpers
6
+ # Helpers to share between DeprecatedComponents ERB lint and Rubocop cop
7
+ module DeprecatedComponentsHelpers
8
+ # If there is no alternative to suggest, set the value to nil
9
+ COMPONENT_TO_USE_INSTEAD = {
10
+ "Primer::Alpha::AutoComplete::Item" => "Primer::Beta::AutoComplete::Item",
11
+ "Primer::Alpha::AutoComplete" => "Primer::Beta::AutoComplete",
12
+ "Primer::BlankslateComponent" => "Primer::Beta::Blankslate",
13
+ "Primer::DropdownMenuComponent" => nil,
14
+ "Primer::Tooltip" => "Primer::Alpha::Tooltip",
15
+ "Primer::FlexComponent" => nil,
16
+ "Primer::FlexItemComponent" => nil
17
+ }.freeze
18
+
19
+ def message(component)
20
+ message = "#{component} has been deprecated and should not be used."
21
+ message += " Try #{COMPONENT_TO_USE_INSTEAD[component]} instead." if COMPONENT_TO_USE_INSTEAD.fetch(component).present?
22
+ message
23
+ end
24
+
25
+ def statuses_json
26
+ JSON.parse(
27
+ File.read(
28
+ File.join(File.dirname(__FILE__), "../../../../../static/statuses.json")
29
+ )
30
+ ).freeze
31
+ end
32
+
33
+ def deprecated_components
34
+ @deprecated_components ||= statuses_json.select { |_, value| value == "deprecated" }.keys.tap do |deprecated_components|
35
+ deprecated_components.each do |deprecated|
36
+ unless COMPONENT_TO_USE_INSTEAD.key?(deprecated)
37
+ raise "Please provide a component that should be used in place of #{deprecated} in COMPONENT_TO_USE_INSTEAD. "\
38
+ "If there is no alternative, set the value to nil."
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -5,7 +5,7 @@ module Primer
5
5
  module VERSION
6
6
  MAJOR = 0
7
7
  MINOR = 0
8
- PATCH = 81
8
+ PATCH = 84
9
9
 
10
10
  STRING = [MAJOR, MINOR, PATCH].join(".")
11
11
  end
@@ -1,33 +1,9 @@
1
1
  require:
2
2
  - rubocop/cop/primer
3
- - rubocop-rails
4
3
 
5
- ####### RUBOCOP'S DEFAULTS #######
6
- # we don't want these in .erb files
7
- Style/FrozenStringLiteralComment:
8
- Enabled: false
9
-
10
- # lots of false-positives in .erb files
11
- Layout/InitialIndentation:
12
- Enabled: false
13
-
14
- Style/StringLiterals:
15
- EnforcedStyle: double_quotes
16
-
17
- # lots of false-positives - this cop is meant for Ruby code, not .erb
18
- Layout/TrailingEmptyLines:
19
- Enabled: false
20
-
21
- # it's often not desirable to add unnecessary newlines into .erb files, as
22
- # they will appear in the rendered HTML
23
- Layout/LineLength:
24
- Enabled: false
25
-
26
- # calling .html_safe in templates is ok
27
- Rails/OutputSafety:
28
- Enabled: false
4
+ AllCops:
5
+ DisabledByDefault: true
29
6
 
30
- ####### PRIMER COPS #######
31
7
  Primer/SystemArgumentInsteadOfClass:
32
8
  Enabled: true
33
9
 
@@ -33,6 +33,16 @@ module RuboCop
33
33
  # }
34
34
  #
35
35
  DEPRECATED = {
36
+ is_label_inline: nil,
37
+ with_icon: nil,
38
+ is_label_visible: {
39
+ false => "visually_hide_label: true",
40
+ true => "visually_hide_label: false"
41
+ },
42
+ is_clearable: {
43
+ false => "show_clear_button: false",
44
+ true => "show_clear_button: true"
45
+ },
36
46
  bg: {
37
47
  white: "bg: :primary",
38
48
  gray_light: "bg: :secondary",
@@ -3,6 +3,7 @@
3
3
  require "rubocop"
4
4
  require "json"
5
5
  require "parser/current"
6
+ require_relative "./../../../primer/view_components/linters/helpers/deprecated_components_helpers"
6
7
 
7
8
  module RuboCop
8
9
  module Cop
@@ -21,14 +22,7 @@ module RuboCop
21
22
  # good
22
23
  # Primer::Alpha::Tooltip.new(:foo)
23
24
  class DeprecatedComponents < BaseCop
24
- # If there is no alternative to suggest, set the value to nil.
25
- COMPONENT_TO_USE_INSTEAD = {
26
- "Primer::BlankslateComponent" => "Primer::Beta::Blankslate",
27
- "Primer::DropdownMenuComponent" => nil,
28
- "Primer::Tooltip" => "Primer::Alpha::Tooltip",
29
- "Primer::FlexComponent" => nil,
30
- "Primer::FlexItemComponent" => nil
31
- }.freeze
25
+ include ERBLint::Linters::Helpers::DeprecatedComponentsHelpers
32
26
 
33
27
  def on_send(node)
34
28
  return unless node.source.include?("Primer::")
@@ -49,31 +43,6 @@ module RuboCop
49
43
  .delete("\n")
50
44
  .gsub(" ", " ")
51
45
  end
52
-
53
- def message(component)
54
- message = "#{component} has been deprecated and should not be used."
55
- message += " Try #{COMPONENT_TO_USE_INSTEAD[component]} instead." if COMPONENT_TO_USE_INSTEAD.fetch(component).present?
56
- message
57
- end
58
-
59
- def statuses_json
60
- JSON.parse(
61
- File.read(
62
- File.join(File.dirname(__FILE__), "../../../../static/statuses.json")
63
- )
64
- ).freeze
65
- end
66
-
67
- def deprecated_components
68
- @deprecated_components ||= statuses_json.select { |_, value| value == "deprecated" }.keys.tap do |deprecated_components|
69
- deprecated_components.each do |deprecated|
70
- unless COMPONENT_TO_USE_INSTEAD.key?(deprecated)
71
- raise "Please provide a component that should be used in place of #{deprecated} in COMPONENT_TO_USE_INSTEAD. "\
72
- "If there is no alternative, set the value to nil."
73
- end
74
- end
75
- end
76
- end
77
46
  end
78
47
  end
79
48
  end
data/lib/tasks/docs.rake CHANGED
@@ -359,7 +359,7 @@ namespace :docs do
359
359
  task :preview do
360
360
  registry = generate_yard_registry
361
361
 
362
- FileUtils.rm_rf("demo/test/components/previews/primer/docs/")
362
+ FileUtils.rm_rf("test/previews/primer/docs/")
363
363
 
364
364
  components = Primer::Component.descendants
365
365
 
@@ -373,7 +373,7 @@ namespace :docs do
373
373
 
374
374
  yard_example_tags = initialize_method.tags(:example)
375
375
 
376
- path = Pathname.new("demo/test/components/previews/primer/docs/#{short_name.underscore}_preview.rb")
376
+ path = Pathname.new("test/previews/primer/docs/#{short_name.underscore}_preview.rb")
377
377
  path.dirname.mkdir unless path.dirname.exist?
378
378
 
379
379
  File.open(path, "w") do |f|
@@ -386,7 +386,7 @@ namespace :docs do
386
386
  method_name = name.split("|").first.downcase.parameterize.underscore
387
387
  f.puts(" def #{method_name}; end")
388
388
  f.puts unless index == yard_example_tags.size - 1
389
- path = Pathname.new("demo/test/components/previews/primer/docs/#{short_name.underscore}_preview/#{method_name}.html.erb")
389
+ path = Pathname.new("test/previews/primer/docs/#{short_name.underscore}_preview/#{method_name}.html.erb")
390
390
  path.dirname.mkdir unless path.dirname.exist?
391
391
  File.open(path, "w") do |view_file|
392
392
  view_file.puts(code.to_s)
data/static/arguments.yml CHANGED
@@ -210,28 +210,47 @@
210
210
  type: String
211
211
  default: N/A
212
212
  description: Id of the list element.
213
- - name: with_icon
213
+ - name: visually_hide_label
214
214
  type: Boolean
215
215
  default: "`false`"
216
- description: Controls if a search icon is visible, defaults to `false`.
217
- - name: is_label_visible
218
- type: Boolean
219
- default: "`true`"
220
- description: Controls if the label is visible. If `false`, screen reader only
221
- text will be added.
222
- - name: is_clearable
216
+ description: Controls if the label is visible. If `true`, screen reader only text
217
+ will be added.
218
+ - name: show_clear_button
223
219
  type: Boolean
224
220
  default: "`false`"
225
221
  description: Adds optional clear button.
226
- - name: is_label_inline
227
- type: Boolean
228
- default: "`false`"
229
- description: Controls if the label is inline. On smaller screens, label will always
230
- become stacked.
231
222
  - name: system_arguments
232
223
  type: Hash
233
224
  default: N/A
234
225
  description: "[System arguments](/system-arguments)"
226
+ - name: size
227
+ type: Hash
228
+ default: "`:medium`"
229
+ description: Input size can be small, medium (default), or large
230
+ - name: full_width
231
+ type: Boolean
232
+ default: "`false`"
233
+ description: Input can be full-width or fit to content
234
+ - name: disabled
235
+ type: Boolean
236
+ default: "`false`"
237
+ description: Disabled input
238
+ - name: invalid
239
+ type: Boolean
240
+ default: "`false`"
241
+ description: Invalid input
242
+ - name: placeholder
243
+ type: String
244
+ default: "`nil`"
245
+ description: The placeholder text displayed within the input
246
+ - name: inset
247
+ type: Boolean
248
+ default: "`false`"
249
+ description: subtle input background color
250
+ - name: monospace
251
+ type: Boolean
252
+ default: "`false`"
253
+ description: monospace input font family
235
254
  - component: AutoCompleteItem
236
255
  source: https://github.com/primer/view_components/tree/main/app/components/primer/beta/auto_complete/item.rb
237
256
  parameters:
@@ -247,6 +266,14 @@
247
266
  type: Boolean
248
267
  default: "`false`"
249
268
  description: Whether the item is disabled.
269
+ - name: description_variant
270
+ type: Hash
271
+ default: "`:block`"
272
+ description: Changes the description style. Allowed values are :inline, :block
273
+ - name: description
274
+ type: String
275
+ default: N/A
276
+ description: Display description text below label
250
277
  - name: system_arguments
251
278
  type: Hash
252
279
  default: N/A
@@ -1,4 +1,6 @@
1
1
  {
2
+ "Primer::Alpha::AutoComplete": "",
3
+ "Primer::Alpha::AutoComplete::Item": "",
2
4
  "Primer::Alpha::BorderBox::Header": "",
3
5
  "Primer::Alpha::ButtonMarketing": "",
4
6
  "Primer::Alpha::Layout": "",
@@ -29,6 +31,7 @@
29
31
  "Primer::ButtonGroup": "",
30
32
  "Primer::ClipboardCopy": "",
31
33
  "Primer::CloseButton": "",
34
+ "Primer::ConditionalWrapper": "",
32
35
  "Primer::Content": "",
33
36
  "Primer::CounterComponent": "",
34
37
  "Primer::DetailsComponent": "",
data/static/classes.yml CHANGED
@@ -1,4 +1,8 @@
1
1
  ---
2
+ - ".ActionList"
3
+ - ".ActionList-content"
4
+ - ".ActionList-item"
5
+ - ".ActionList-item-label"
2
6
  - ".AvatarStack"
3
7
  - ".AvatarStack--right"
4
8
  - ".AvatarStack--three-plus"
@@ -19,6 +23,19 @@
19
23
  - ".Counter"
20
24
  - ".Counter--primary"
21
25
  - ".Counter--secondary"
26
+ - ".FormControl"
27
+ - ".FormControl--fullWidth"
28
+ - ".FormControl-input"
29
+ - ".FormControl-input-leadingVisual"
30
+ - ".FormControl-input-leadingVisualWrap"
31
+ - ".FormControl-input-trailingAction"
32
+ - ".FormControl-input-wrap"
33
+ - ".FormControl-input-wrap--leadingVisual"
34
+ - ".FormControl-input-wrap--trailingAction"
35
+ - ".FormControl-inset"
36
+ - ".FormControl-label"
37
+ - ".FormControl-medium"
38
+ - ".FormControl-monospace"
22
39
  - ".Label"
23
40
  - ".Label--accent"
24
41
  - ".Label--attention"
@@ -49,6 +66,12 @@
49
66
  - ".Link--muted"
50
67
  - ".Link--primary"
51
68
  - ".Link--secondary"
69
+ - ".Overlay"
70
+ - ".Overlay--height-auto"
71
+ - ".Overlay--width-auto"
72
+ - ".Overlay-backdrop--anchor"
73
+ - ".Overlay-body"
74
+ - ".Overlay-body--paddingNone"
52
75
  - ".Popover"
53
76
  - ".Popover-message"
54
77
  - ".Popover-message--large"
@@ -82,12 +105,6 @@
82
105
  - ".UnderlineNav-item"
83
106
  - ".UnderlineNav-octicon"
84
107
  - ".anim-rotate"
85
- - ".autocomplete-body"
86
- - ".autocomplete-embedded-icon-wrap"
87
- - ".autocomplete-item"
88
- - ".autocomplete-label-inline"
89
- - ".autocomplete-label-stacked"
90
- - ".autocomplete-results"
91
108
  - ".avatar"
92
109
  - ".avatar-more"
93
110
  - ".avatar-small"
@@ -167,7 +184,6 @@
167
184
  - ".flex-justify-center"
168
185
  - ".flex-shrink-0"
169
186
  - ".float-right"
170
- - ".form-control"
171
187
  - ".gutter-condensed"
172
188
  - ".gutter-lg"
173
189
  - ".hidden-text-expander"
@@ -1,4 +1,9 @@
1
1
  {
2
+ "Primer::Alpha::AutoComplete": {
3
+ "Item": "Primer::Alpha::AutoComplete::Item"
4
+ },
5
+ "Primer::Alpha::AutoComplete::Item": {
6
+ },
2
7
  "Primer::Alpha::BorderBox::Header": {
3
8
  "TITLE_TAG_FALLBACK": "h2",
4
9
  "TITLE_TAG_OPTIONS": [
@@ -199,9 +204,24 @@
199
204
  ]
200
205
  },
201
206
  "Primer::Beta::AutoComplete": {
202
- "Item": "Primer::Beta::AutoComplete::Item"
207
+ "DEFAULT_SIZE": "medium",
208
+ "Item": "Primer::Beta::AutoComplete::Item",
209
+ "SIZE_MAPPINGS": {
210
+ "small": "FormControl-small",
211
+ "medium": "FormControl-medium",
212
+ "large": "FormControl-large"
213
+ },
214
+ "SIZE_OPTIONS": [
215
+ "small",
216
+ "medium",
217
+ "large"
218
+ ]
203
219
  },
204
220
  "Primer::Beta::AutoComplete::Item": {
221
+ "ALLOWED_DESCRIPTION_VARIANTS": [
222
+ "inline",
223
+ "block"
224
+ ]
205
225
  },
206
226
  "Primer::Beta::Avatar": {
207
227
  "DEFAULT_SHAPE": "circle",
@@ -336,6 +356,8 @@
336
356
  "submit"
337
357
  ]
338
358
  },
359
+ "Primer::ConditionalWrapper": {
360
+ },
339
361
  "Primer::Content": {
340
362
  },
341
363
  "Primer::CounterComponent": {
data/static/statuses.json CHANGED
@@ -1,4 +1,6 @@
1
1
  {
2
+ "Primer::Alpha::AutoComplete": "alpha",
3
+ "Primer::Alpha::AutoComplete::Item": "alpha",
2
4
  "Primer::Alpha::BorderBox::Header": "alpha",
3
5
  "Primer::Alpha::ButtonMarketing": "alpha",
4
6
  "Primer::Alpha::Layout": "alpha",
@@ -29,6 +31,7 @@
29
31
  "Primer::ButtonGroup": "beta",
30
32
  "Primer::ClipboardCopy": "beta",
31
33
  "Primer::CloseButton": "beta",
34
+ "Primer::ConditionalWrapper": "alpha",
32
35
  "Primer::Content": "stable",
33
36
  "Primer::CounterComponent": "beta",
34
37
  "Primer::DetailsComponent": "beta",
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.81
4
+ version: 0.0.84
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub Open Source
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-30 00:00:00.000000000 Z
11
+ date: 2022-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionview
@@ -170,6 +170,20 @@ dependencies:
170
170
  - - ">="
171
171
  - !ruby/object:Gem::Version
172
172
  version: '0'
173
+ - !ruby/object:Gem::Dependency
174
+ name: erblint-github
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - '='
178
+ - !ruby/object:Gem::Version
179
+ version: 0.1.0
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - '='
185
+ - !ruby/object:Gem::Version
186
+ version: 0.1.0
173
187
  - !ruby/object:Gem::Dependency
174
188
  name: listen
175
189
  requirement: !ruby/object:Gem::Requirement
@@ -184,6 +198,20 @@ dependencies:
184
198
  - - "~>"
185
199
  - !ruby/object:Gem::Version
186
200
  version: '3.0'
201
+ - !ruby/object:Gem::Dependency
202
+ name: matrix
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: 0.4.2
208
+ type: :development
209
+ prerelease: false
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: 0.4.2
187
215
  - !ruby/object:Gem::Dependency
188
216
  name: minitest
189
217
  requirement: !ruby/object:Gem::Requirement
@@ -366,7 +394,7 @@ dependencies:
366
394
  - - "~>"
367
395
  - !ruby/object:Gem::Version
368
396
  version: 0.9.25
369
- description:
397
+ description:
370
398
  email:
371
399
  - opensource+primer_view_components@github.com
372
400
  executables: []
@@ -378,6 +406,9 @@ files:
378
406
  - README.md
379
407
  - app/assets/javascripts/primer_view_components.js
380
408
  - app/assets/javascripts/primer_view_components.js.map
409
+ - app/components/primer/alpha/auto_complete.rb
410
+ - app/components/primer/alpha/auto_complete/auto_complete.html.erb
411
+ - app/components/primer/alpha/auto_complete/item.rb
381
412
  - app/components/primer/alpha/border_box/header.html.erb
382
413
  - app/components/primer/alpha/border_box/header.rb
383
414
  - app/components/primer/alpha/button_marketing.rb
@@ -402,6 +433,7 @@ files:
402
433
  - app/components/primer/beta/auto_complete/auto_complete.html.erb
403
434
  - app/components/primer/beta/auto_complete/auto_complete.js
404
435
  - app/components/primer/beta/auto_complete/auto_complete.ts
436
+ - app/components/primer/beta/auto_complete/item.html.erb
405
437
  - app/components/primer/beta/auto_complete/item.rb
406
438
  - app/components/primer/beta/avatar.rb
407
439
  - app/components/primer/beta/avatar_stack.html.erb
@@ -431,6 +463,7 @@ files:
431
463
  - app/components/primer/clipboard_copy_component.ts
432
464
  - app/components/primer/close_button.rb
433
465
  - app/components/primer/component.rb
466
+ - app/components/primer/conditional_wrapper.rb
434
467
  - app/components/primer/content.rb
435
468
  - app/components/primer/counter_component.rb
436
469
  - app/components/primer/details_component.html.erb
@@ -536,8 +569,10 @@ files:
536
569
  - lib/primer/view_components/linters/button_component_migration_counter.rb
537
570
  - lib/primer/view_components/linters/clipboard_copy_component_migration_counter.rb
538
571
  - lib/primer/view_components/linters/close_button_component_migration_counter.rb
572
+ - lib/primer/view_components/linters/deprecated_components_counter.rb
539
573
  - lib/primer/view_components/linters/disallow_action_list.rb
540
574
  - lib/primer/view_components/linters/flash_migration_counter.rb
575
+ - lib/primer/view_components/linters/helpers/deprecated_components_helpers.rb
541
576
  - lib/primer/view_components/linters/helpers/rubocop_helpers.rb
542
577
  - lib/primer/view_components/linters/label_component_migration_counter.rb
543
578
  - lib/primer/view_components/linters/subhead_component_migration_counter.rb
@@ -580,7 +615,7 @@ licenses:
580
615
  - MIT
581
616
  metadata:
582
617
  allowed_push_host: https://rubygems.org
583
- post_install_message:
618
+ post_install_message:
584
619
  rdoc_options: []
585
620
  require_paths:
586
621
  - lib
@@ -588,15 +623,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
588
623
  requirements:
589
624
  - - ">="
590
625
  - !ruby/object:Gem::Version
591
- version: 2.5.0
626
+ version: 2.6.0
592
627
  required_rubygems_version: !ruby/object:Gem::Requirement
593
628
  requirements:
594
629
  - - ">="
595
630
  - !ruby/object:Gem::Version
596
631
  version: '0'
597
632
  requirements: []
598
- rubygems_version: 3.2.22
599
- signing_key:
633
+ rubygems_version: 3.1.6
634
+ signing_key:
600
635
  specification_version: 4
601
636
  summary: ViewComponents for the Primer Design System
602
637
  test_files: []