primer_view_components 0.0.60 → 0.0.61

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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +71 -1
  3. data/app/components/primer/alpha/layout.html.erb +5 -0
  4. data/app/components/primer/alpha/layout.rb +276 -0
  5. data/app/components/primer/base_button.rb +1 -5
  6. data/app/components/primer/base_component.rb +7 -2
  7. data/app/components/primer/beta/blankslate.html.erb +15 -0
  8. data/app/components/primer/beta/blankslate.rb +240 -0
  9. data/app/components/primer/blankslate_component.rb +1 -1
  10. data/app/components/primer/component.rb +2 -2
  11. data/app/components/primer/hellip_button.rb +39 -0
  12. data/app/components/primer/hidden_text_expander.rb +18 -6
  13. data/app/components/primer/subhead_component.rb +1 -1
  14. data/lib/primer/classify.rb +3 -3
  15. data/lib/primer/view_components/engine.rb +1 -1
  16. data/lib/primer/view_components/linters/base_linter.rb +3 -52
  17. data/lib/primer/view_components/linters/blankslate_api_migration.rb +146 -0
  18. data/lib/primer/view_components/linters/blankslate_component_migration_counter.rb +1 -1
  19. data/lib/primer/view_components/linters/close_button_component_migration_counter.rb +2 -4
  20. data/lib/primer/view_components/linters/helpers/rubocop_helpers.rb +14 -0
  21. data/lib/primer/view_components/linters/tag_tree_helpers.rb +61 -0
  22. data/lib/primer/view_components/linters/two_column_layout_migration_counter.rb +158 -0
  23. data/lib/primer/view_components/version.rb +1 -1
  24. data/lib/tasks/docs.rake +50 -1
  25. data/static/arguments.yml +52 -67
  26. data/static/audited_at.json +5 -0
  27. data/static/classes.yml +20 -2
  28. data/static/constants.json +103 -0
  29. data/static/statuses.json +6 -1
  30. metadata +11 -2
data/lib/tasks/docs.rake CHANGED
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "active_support/inflector"
4
+
3
5
  namespace :docs do
4
6
  task :livereload do
5
7
  require "listen"
@@ -27,6 +29,8 @@ namespace :docs do
27
29
  # Rails controller for rendering arbitrary ERB
28
30
  view_context = ApplicationController.new.tap { |c| c.request = ActionDispatch::TestRequest.create }.view_context
29
31
  components = [
32
+ Primer::Alpha::Layout,
33
+ Primer::HellipButton,
30
34
  Primer::Alpha::BorderBox::Header,
31
35
  Primer::Image,
32
36
  Primer::LocalTime,
@@ -38,7 +42,7 @@ namespace :docs do
38
42
  Primer::Beta::Avatar,
39
43
  Primer::Beta::AvatarStack,
40
44
  Primer::BaseButton,
41
- Primer::BlankslateComponent,
45
+ Primer::Beta::Blankslate,
42
46
  Primer::BorderBoxComponent,
43
47
  Primer::BoxComponent,
44
48
  Primer::Beta::Breadcrumbs,
@@ -290,6 +294,10 @@ namespace :docs do
290
294
  f.puts(view_context.render(inline: initialize_method.base_docstring))
291
295
  end
292
296
 
297
+ # Copy over ADR docs and insert them into the nav
298
+ puts "Copying ADRs..."
299
+ Rake::Task["docs:build_adrs"].invoke
300
+
293
301
  puts "Markdown compiled."
294
302
 
295
303
  if components_needing_docs.any?
@@ -298,6 +306,47 @@ namespace :docs do
298
306
  end
299
307
  end
300
308
 
309
+ task :build_adrs do
310
+ adr_content_dir = File.join(*%w[docs content adr])
311
+
312
+ FileUtils.rm_rf(File.join(adr_content_dir))
313
+ FileUtils.mkdir(adr_content_dir)
314
+
315
+ nav_entries = Dir[File.join(*%w[adr *.md])].map do |orig_path|
316
+ orig_file_name = File.basename(orig_path)
317
+ url_name = orig_file_name.chomp(".md")
318
+ title = ActiveSupport::Inflector.titleize(url_name.sub(/\A\d+-/, ""))
319
+
320
+ file_contents = File.read(orig_path)
321
+ file_contents = <<~CONTENTS.sub(/\n+\z/, "\n")
322
+ <!-- Warning: AUTO-GENERATED file, do not edit. Make changes to the files in the adr/ directory instead. -->
323
+ #{file_contents}
324
+ CONTENTS
325
+
326
+ File.write(File.join(adr_content_dir, orig_file_name), file_contents)
327
+ puts "Copied #{orig_path}"
328
+
329
+ { "title" => title, "url" => "/adr/#{url_name}" }
330
+ end
331
+
332
+ nav_yaml_file = File.join(*%w[docs src @primer gatsby-theme-doctocat nav.yml])
333
+ nav_yaml = YAML.load_file(nav_yaml_file)
334
+ adr_entry = {
335
+ "title" => "Architecture Decisions",
336
+ "url" => "/adr",
337
+ "children" => nav_entries
338
+ }
339
+
340
+ existing_index = nav_yaml.index { |entry| entry["url"] == "/adr" }
341
+ if existing_index
342
+ nav_yaml[existing_index] = adr_entry
343
+ else
344
+ nav_yaml << adr_entry
345
+ end
346
+
347
+ File.write(nav_yaml_file, YAML.dump(nav_yaml))
348
+ end
349
+
301
350
  task :preview do
302
351
  registry = generate_yard_registry
303
352
 
data/static/arguments.yml CHANGED
@@ -29,6 +29,28 @@
29
29
  type: Hash
30
30
  default: N/A
31
31
  description: "[System arguments](/system-arguments)"
32
+ - component: Layout
33
+ source: https://github.com/primer/view_components/tree/main/app/components/primer/alpha/layout.rb
34
+ parameters:
35
+ - name: stacking_breakpoint
36
+ type: Symbol
37
+ default: "`:md`"
38
+ description: When the `Layout` should change from rows into columns. One of `:lg`,
39
+ `:md`, or `:sm`.
40
+ - name: first_in_source
41
+ type: Symbol
42
+ default: "`:sidebar`"
43
+ description: Which element to render first in the HTML. This will change the keyboard
44
+ navigation order. One of `:main` and `:sidebar`.
45
+ - name: gutter
46
+ type: Symbol
47
+ default: "`:default`"
48
+ description: The amount of space between the main section and the sidebar. One
49
+ of `:condensed`, `:default`, `:none`, or `:spacious`.
50
+ - name: system_arguments
51
+ type: Hash
52
+ default: N/A
53
+ description: "[System arguments](/system-arguments)"
32
54
  - component: TabNav
33
55
  source: https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tab_nav.rb
34
56
  parameters:
@@ -231,6 +253,25 @@
231
253
  type: Hash
232
254
  default: N/A
233
255
  description: "[System arguments](/system-arguments)"
256
+ - component: Blankslate
257
+ source: https://github.com/primer/view_components/tree/main/app/components/primer/beta/blankslate.rb
258
+ parameters:
259
+ - name: narrow
260
+ type: Boolean
261
+ default: "`false`"
262
+ description: Adds a maximum width of `485px` to the Blankslate.
263
+ - name: spacious
264
+ type: Boolean
265
+ default: "`false`"
266
+ description: Increases the padding from `32px` to `80px 40px`.
267
+ - name: border
268
+ type: Boolean
269
+ default: "`false`"
270
+ description: Adds a border around the Blankslate.
271
+ - name: system_arguments
272
+ type: Hash
273
+ default: N/A
274
+ description: "[System arguments](/system-arguments)"
234
275
  - component: Breadcrumbs
235
276
  source: https://github.com/primer/view_components/tree/main/app/components/primer/beta/breadcrumbs.rb
236
277
  parameters:
@@ -256,73 +297,6 @@
256
297
  type: Hash
257
298
  default: N/A
258
299
  description: "[System arguments](/system-arguments)"
259
- - component: Blankslate
260
- source: https://github.com/primer/view_components/tree/main/app/components/primer/blankslate_component.rb
261
- parameters:
262
- - name: title
263
- type: String
264
- default: '`""`'
265
- description: Text that appears in a larger bold font.
266
- - name: title_tag
267
- type: Symbol
268
- default: "`:h3`"
269
- description: HTML tag to use for title.
270
- - name: icon
271
- type: Symbol
272
- default: '`""`'
273
- description: Octicon icon to use at top of component.
274
- - name: icon_size
275
- type: Symbol
276
- default: "`:medium`"
277
- description: One of `:small` (`16`) and `:medium` (`24`).
278
- - name: image_src
279
- type: String
280
- default: '`""`'
281
- description: Image to display.
282
- - name: image_alt
283
- type: String
284
- default: '`" "`'
285
- description: Alt text for image.
286
- - name: description
287
- type: String
288
- default: '`""`'
289
- description: Text that appears below the title. Typically a whole sentence.
290
- - name: button_text
291
- type: String
292
- default: '`""`'
293
- description: The text of the button.
294
- - name: button_url
295
- type: String
296
- default: '`""`'
297
- description: The URL where the user will be taken after clicking the button.
298
- - name: button_classes
299
- type: String
300
- default: '`"btn-primary my-3"`'
301
- description: Classes to apply to action button
302
- - name: link_text
303
- type: String
304
- default: '`""`'
305
- description: The text of the link.
306
- - name: link_url
307
- type: String
308
- default: '`""`'
309
- description: The URL where the user will be taken after clicking the link.
310
- - name: narrow
311
- type: Boolean
312
- default: "`false`"
313
- description: Adds a maximum width.
314
- - name: large
315
- type: Boolean
316
- default: "`false`"
317
- description: Increases the font size.
318
- - name: spacious
319
- type: Boolean
320
- default: "`false`"
321
- description: Adds extra padding.
322
- - name: system_arguments
323
- type: Hash
324
- default: N/A
325
- description: "[System arguments](/system-arguments)"
326
300
  - component: BorderBox
327
301
  source: https://github.com/primer/view_components/tree/main/app/components/primer/border_box_component.rb
328
302
  parameters:
@@ -584,6 +558,17 @@
584
558
  type: Hash
585
559
  default: N/A
586
560
  description: "[System arguments](/system-arguments)"
561
+ - component: HellipButton
562
+ source: https://github.com/primer/view_components/tree/main/app/components/primer/hellip_button.rb
563
+ parameters:
564
+ - name: inline
565
+ type: Boolean
566
+ default: "`false`"
567
+ description: Whether or not the button is inline.
568
+ - name: system_arguments
569
+ type: Hash
570
+ default: N/A
571
+ description: "[System arguments](/system-arguments)"
587
572
  - component: HiddenTextExpander
588
573
  source: https://github.com/primer/view_components/tree/main/app/components/primer/hidden_text_expander.rb
589
574
  parameters:
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "Primer::Alpha::BorderBox::Header": "",
3
3
  "Primer::Alpha::ButtonMarketing": "",
4
+ "Primer::Alpha::Layout": "",
5
+ "Primer::Alpha::Layout::Main": "",
6
+ "Primer::Alpha::Layout::Sidebar": "",
4
7
  "Primer::Alpha::TabNav": "",
5
8
  "Primer::Alpha::TabPanels": "",
6
9
  "Primer::Alpha::UnderlineNav": "",
@@ -12,6 +15,7 @@
12
15
  "Primer::Beta::AutoComplete::Item": "",
13
16
  "Primer::Beta::Avatar": "",
14
17
  "Primer::Beta::AvatarStack": "",
18
+ "Primer::Beta::Blankslate": "",
15
19
  "Primer::Beta::Breadcrumbs": "",
16
20
  "Primer::Beta::Breadcrumbs::Item": "",
17
21
  "Primer::Beta::Text": "",
@@ -34,6 +38,7 @@
34
38
  "Primer::FlexComponent": "",
35
39
  "Primer::FlexItemComponent": "",
36
40
  "Primer::HeadingComponent": "",
41
+ "Primer::HellipButton": "",
37
42
  "Primer::HiddenTextExpander": "",
38
43
  "Primer::IconButton": "",
39
44
  "Primer::Image": "",
data/static/classes.yml CHANGED
@@ -27,6 +27,21 @@
27
27
  - ".Label--secondary"
28
28
  - ".Label--success"
29
29
  - ".Label--warning"
30
+ - ".Layout"
31
+ - ".Layout--flowRow-until-lg"
32
+ - ".Layout--flowRow-until-md"
33
+ - ".Layout--sidebar-narrow"
34
+ - ".Layout--sidebar-wide"
35
+ - ".Layout--sidebarPosition-end"
36
+ - ".Layout--sidebarPosition-flowRow-end"
37
+ - ".Layout--sidebarPosition-flowRow-none"
38
+ - ".Layout--sidebarPosition-flowRow-start"
39
+ - ".Layout--sidebarPosition-start"
40
+ - ".Layout-main"
41
+ - ".Layout-main-centered-lg"
42
+ - ".Layout-main-centered-md"
43
+ - ".Layout-main-centered-xl"
44
+ - ".Layout-sidebar"
30
45
  - ".Link"
31
46
  - ".Link--muted"
32
47
  - ".Link--primary"
@@ -71,7 +86,6 @@
71
86
  - ".avatar-small"
72
87
  - ".blankslate"
73
88
  - ".blankslate-icon"
74
- - ".blankslate-large"
75
89
  - ".blankslate-narrow"
76
90
  - ".blankslate-spacious"
77
91
  - ".border"
@@ -111,6 +125,9 @@
111
125
  - ".color-shadow-large"
112
126
  - ".color-text-danger"
113
127
  - ".color-text-white"
128
+ - ".container-lg"
129
+ - ".container-md"
130
+ - ".container-xl"
114
131
  - ".css-truncate"
115
132
  - ".css-truncate-overflow"
116
133
  - ".css-truncate-target"
@@ -147,8 +164,8 @@
147
164
  - ".form-control"
148
165
  - ".gutter-condensed"
149
166
  - ".gutter-lg"
167
+ - ".h2"
150
168
  - ".hidden-text-expander"
151
- - ".hx_Subhead--responsive"
152
169
  - ".inline"
153
170
  - ".left-0"
154
171
  - ".lh-0"
@@ -163,6 +180,7 @@
163
180
  - ".menu-item"
164
181
  - ".mr-2"
165
182
  - ".mt-2"
183
+ - ".mt-5"
166
184
  - ".mx-auto"
167
185
  - ".no-underline"
168
186
  - ".no-wrap"
@@ -44,6 +44,84 @@
44
44
  "large"
45
45
  ]
46
46
  },
47
+ "Primer::Alpha::Layout": {
48
+ "FIRST_IN_SOURCE_DEFAULT": "sidebar",
49
+ "FIRST_IN_SOURCE_OPTIONS": [
50
+ "sidebar",
51
+ "main"
52
+ ],
53
+ "GUTTER_DEFAULT": "default",
54
+ "GUTTER_MAPPINGS": {
55
+ "none": "Layout--gutter-none",
56
+ "condensed": "Layout--gutter-condensed",
57
+ "spacious": "Layout--gutter-spacious",
58
+ "default": ""
59
+ },
60
+ "GUTTER_OPTIONS": [
61
+ "none",
62
+ "condensed",
63
+ "spacious",
64
+ "default"
65
+ ],
66
+ "Main": "Primer::Alpha::Layout::Main",
67
+ "SIDEBAR_COL_PLACEMENT_DEFAULT": "start",
68
+ "SIDEBAR_COL_PLACEMENT_OPTIONS": [
69
+ "start",
70
+ "end"
71
+ ],
72
+ "SIDEBAR_ROW_PLACEMENT_DEFAULT": "start",
73
+ "SIDEBAR_ROW_PLACEMENT_OPTIONS": [
74
+ "start",
75
+ "end",
76
+ "none"
77
+ ],
78
+ "SIDEBAR_WIDTH_DEFAULT": "default",
79
+ "SIDEBAR_WIDTH_MAPPINGS": {
80
+ "default": "",
81
+ "narrow": "Layout--sidebar-narrow",
82
+ "wide": "Layout--sidebar-wide"
83
+ },
84
+ "SIDEBAR_WIDTH_OPTIONS": [
85
+ "default",
86
+ "narrow",
87
+ "wide"
88
+ ],
89
+ "STACKING_BREAKPOINT_DEFAULT": "md",
90
+ "STACKING_BREAKPOINT_MAPPINGS": {
91
+ "sm": "",
92
+ "md": "Layout--flowRow-until-md",
93
+ "lg": "Layout--flowRow-until-lg"
94
+ },
95
+ "STACKING_BREAKPOINT_OPTIONS": [
96
+ "sm",
97
+ "md",
98
+ "lg"
99
+ ],
100
+ "Sidebar": "Primer::Alpha::Layout::Sidebar"
101
+ },
102
+ "Primer::Alpha::Layout::Main": {
103
+ "TAG_DEFAULT": "div",
104
+ "TAG_OPTIONS": [
105
+ "div",
106
+ "main"
107
+ ],
108
+ "WIDTH_DEFAULT": "full",
109
+ "WIDTH_OPTIONS": [
110
+ "full",
111
+ "md",
112
+ "lg",
113
+ "xl"
114
+ ]
115
+ },
116
+ "Primer::Alpha::Layout::Sidebar": {
117
+ "TAG_DEFAULT": "div",
118
+ "TAG_OPTIONS": [
119
+ "div",
120
+ "aside",
121
+ "nav",
122
+ "section"
123
+ ]
124
+ },
47
125
  "Primer::Alpha::TabNav": {
48
126
  "BODY_TAG_DEFAULT": "ul",
49
127
  "TAG_DEFAULT": "nav",
@@ -85,6 +163,22 @@
85
163
  ]
86
164
  },
87
165
  "Primer::BaseComponent": {
166
+ "SELF_CLOSING_TAGS": [
167
+ "area",
168
+ "base",
169
+ "br",
170
+ "col",
171
+ "embed",
172
+ "hr",
173
+ "img",
174
+ "input",
175
+ "link",
176
+ "meta",
177
+ "param",
178
+ "source",
179
+ "track",
180
+ "wbr"
181
+ ]
88
182
  },
89
183
  "Primer::Beta::AutoComplete": {
90
184
  "Input": "Primer::Beta::AutoComplete::Input",
@@ -134,6 +228,13 @@
134
228
  "span"
135
229
  ]
136
230
  },
231
+ "Primer::Beta::Blankslate": {
232
+ "VISUAL_OPTIONS": [
233
+ "icon",
234
+ "spinner",
235
+ "image"
236
+ ]
237
+ },
137
238
  "Primer::Beta::Breadcrumbs": {
138
239
  "ARGS_DENYLIST": {
139
240
  "[:p, :pt, :pb, :pr, :pl, :px, :py]": "Padding system arguments are not allowed on Breadcrumbs. Consider using margins instead.",
@@ -385,6 +486,8 @@
385
486
  "h6"
386
487
  ]
387
488
  },
489
+ "Primer::HellipButton": {
490
+ },
388
491
  "Primer::HiddenTextExpander": {
389
492
  },
390
493
  "Primer::IconButton": {
data/static/statuses.json CHANGED
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "Primer::Alpha::BorderBox::Header": "alpha",
3
3
  "Primer::Alpha::ButtonMarketing": "alpha",
4
+ "Primer::Alpha::Layout": "alpha",
5
+ "Primer::Alpha::Layout::Main": "alpha",
6
+ "Primer::Alpha::Layout::Sidebar": "alpha",
4
7
  "Primer::Alpha::TabNav": "alpha",
5
8
  "Primer::Alpha::TabPanels": "alpha",
6
9
  "Primer::Alpha::UnderlineNav": "alpha",
@@ -12,12 +15,13 @@
12
15
  "Primer::Beta::AutoComplete::Item": "beta",
13
16
  "Primer::Beta::Avatar": "beta",
14
17
  "Primer::Beta::AvatarStack": "beta",
18
+ "Primer::Beta::Blankslate": "beta",
15
19
  "Primer::Beta::Breadcrumbs": "beta",
16
20
  "Primer::Beta::Breadcrumbs::Item": "alpha",
17
21
  "Primer::Beta::Text": "beta",
18
22
  "Primer::Beta::Truncate": "beta",
19
23
  "Primer::Beta::Truncate::TruncateText": "alpha",
20
- "Primer::BlankslateComponent": "beta",
24
+ "Primer::BlankslateComponent": "deprecated",
21
25
  "Primer::BorderBoxComponent": "beta",
22
26
  "Primer::BoxComponent": "stable",
23
27
  "Primer::ButtonComponent": "beta",
@@ -34,6 +38,7 @@
34
38
  "Primer::FlexComponent": "deprecated",
35
39
  "Primer::FlexItemComponent": "deprecated",
36
40
  "Primer::HeadingComponent": "beta",
41
+ "Primer::HellipButton": "alpha",
37
42
  "Primer::HiddenTextExpander": "alpha",
38
43
  "Primer::IconButton": "beta",
39
44
  "Primer::Image": "alpha",
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.60
4
+ version: 0.0.61
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: 2021-10-26 00:00:00.000000000 Z
11
+ date: 2021-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionview
@@ -381,6 +381,8 @@ files:
381
381
  - app/components/primer/alpha/border_box/header.html.erb
382
382
  - app/components/primer/alpha/border_box/header.rb
383
383
  - app/components/primer/alpha/button_marketing.rb
384
+ - app/components/primer/alpha/layout.html.erb
385
+ - app/components/primer/alpha/layout.rb
384
386
  - app/components/primer/alpha/tab_nav.html.erb
385
387
  - app/components/primer/alpha/tab_nav.rb
386
388
  - app/components/primer/alpha/tab_panels.html.erb
@@ -404,6 +406,8 @@ files:
404
406
  - app/components/primer/beta/avatar.rb
405
407
  - app/components/primer/beta/avatar_stack.html.erb
406
408
  - app/components/primer/beta/avatar_stack.rb
409
+ - app/components/primer/beta/blankslate.html.erb
410
+ - app/components/primer/beta/blankslate.rb
407
411
  - app/components/primer/beta/breadcrumbs.html.erb
408
412
  - app/components/primer/beta/breadcrumbs.rb
409
413
  - app/components/primer/beta/text.rb
@@ -445,6 +449,7 @@ files:
445
449
  - app/components/primer/flex_component.rb
446
450
  - app/components/primer/flex_item_component.rb
447
451
  - app/components/primer/heading_component.rb
452
+ - app/components/primer/hellip_button.rb
448
453
  - app/components/primer/hidden_text_expander.rb
449
454
  - app/components/primer/icon_button.rb
450
455
  - app/components/primer/image.rb
@@ -526,14 +531,18 @@ files:
526
531
  - lib/primer/view_components/linters/argument_mappers/system_arguments.rb
527
532
  - lib/primer/view_components/linters/autocorrectable.rb
528
533
  - lib/primer/view_components/linters/base_linter.rb
534
+ - lib/primer/view_components/linters/blankslate_api_migration.rb
529
535
  - lib/primer/view_components/linters/blankslate_component_migration_counter.rb
530
536
  - lib/primer/view_components/linters/breadcrumbs_component_migration_counter.rb
531
537
  - lib/primer/view_components/linters/button_component_migration_counter.rb
532
538
  - lib/primer/view_components/linters/clipboard_copy_component_migration_counter.rb
533
539
  - lib/primer/view_components/linters/close_button_component_migration_counter.rb
534
540
  - lib/primer/view_components/linters/flash_component_migration_counter.rb
541
+ - lib/primer/view_components/linters/helpers/rubocop_helpers.rb
535
542
  - lib/primer/view_components/linters/label_component_migration_counter.rb
536
543
  - lib/primer/view_components/linters/subhead_component_migration_counter.rb
544
+ - lib/primer/view_components/linters/tag_tree_helpers.rb
545
+ - lib/primer/view_components/linters/two_column_layout_migration_counter.rb
537
546
  - lib/primer/view_components/statuses.rb
538
547
  - lib/primer/view_components/version.rb
539
548
  - lib/rubocop/config/default.yml