openproject-primer_view_components 0.15.0 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (153) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -0
  3. data/app/assets/javascripts/primer_view_components.js +1 -1
  4. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  5. data/app/assets/styles/primer_view_components.css +1 -1
  6. data/app/assets/styles/primer_view_components.css.map +1 -1
  7. data/app/components/primer/alpha/action_bar.css +1 -1
  8. data/app/components/primer/alpha/action_bar.css.json +1 -4
  9. data/app/components/primer/alpha/action_bar.css.map +1 -1
  10. data/app/components/primer/alpha/action_bar.pcss +1 -17
  11. data/app/components/primer/alpha/action_bar_element.js +21 -9
  12. data/app/components/primer/alpha/action_list/item.rb +0 -2
  13. data/app/components/primer/alpha/action_list.css +1 -1
  14. data/app/components/primer/alpha/action_list.css.map +1 -1
  15. data/app/components/primer/alpha/action_list.rb +0 -1
  16. data/app/components/primer/alpha/action_menu/action_menu_element.js +44 -20
  17. data/app/components/primer/alpha/action_menu/list.rb +0 -9
  18. data/app/components/primer/alpha/action_menu.html.erb +20 -18
  19. data/app/components/primer/alpha/auto_complete.css +1 -1
  20. data/app/components/primer/alpha/auto_complete.css.map +1 -1
  21. data/app/components/primer/alpha/button_marketing.css +1 -1
  22. data/app/components/primer/alpha/button_marketing.css.map +1 -1
  23. data/app/components/primer/alpha/dialog/header.rb +1 -1
  24. data/app/components/primer/alpha/dropdown.css +1 -1
  25. data/app/components/primer/alpha/dropdown.css.map +1 -1
  26. data/app/components/primer/alpha/layout.css +1 -1
  27. data/app/components/primer/alpha/layout.css.map +1 -1
  28. data/app/components/primer/alpha/menu.css +1 -1
  29. data/app/components/primer/alpha/menu.css.map +1 -1
  30. data/app/components/primer/alpha/nav_list/divider.rb +1 -0
  31. data/app/components/primer/alpha/nav_list/group.rb +1 -0
  32. data/app/components/primer/alpha/nav_list/heading.rb +1 -0
  33. data/app/components/primer/alpha/nav_list/item.rb +1 -0
  34. data/app/components/primer/alpha/nav_list.rb +1 -0
  35. data/app/components/primer/alpha/octicon_symbols.html.erb +1 -1
  36. data/app/components/primer/alpha/overlay.css +1 -1
  37. data/app/components/primer/alpha/overlay.css.json +0 -1
  38. data/app/components/primer/alpha/overlay.css.map +1 -1
  39. data/app/components/primer/alpha/segmented_control.css +1 -1
  40. data/app/components/primer/alpha/segmented_control.css.json +0 -1
  41. data/app/components/primer/alpha/segmented_control.css.map +1 -1
  42. data/app/components/primer/alpha/segmented_control.js +2 -1
  43. data/app/components/primer/alpha/segmented_control.pcss +0 -4
  44. data/app/components/primer/alpha/tab_nav.css +1 -1
  45. data/app/components/primer/alpha/tab_nav.css.map +1 -1
  46. data/app/components/primer/alpha/text_field.css +1 -1
  47. data/app/components/primer/alpha/text_field.css.json +11 -5
  48. data/app/components/primer/alpha/text_field.css.map +1 -1
  49. data/app/components/primer/alpha/text_field.pcss +10 -1
  50. data/app/components/primer/alpha/toggle_switch.css +1 -1
  51. data/app/components/primer/alpha/toggle_switch.css.map +1 -1
  52. data/app/components/primer/alpha/underline_nav.css +1 -1
  53. data/app/components/primer/alpha/underline_nav.css.map +1 -1
  54. data/app/components/primer/alpha/x_banner.js +2 -1
  55. data/app/components/primer/anchored_position.js +2 -1
  56. data/app/components/primer/beta/auto_complete/item.rb +1 -1
  57. data/app/components/primer/beta/avatar.rb +1 -1
  58. data/app/components/primer/beta/base_button.rb +1 -1
  59. data/app/components/primer/beta/blankslate.css +1 -1
  60. data/app/components/primer/beta/blankslate.css.json +1 -0
  61. data/app/components/primer/beta/blankslate.css.map +1 -1
  62. data/app/components/primer/beta/blankslate.html.erb +16 -14
  63. data/app/components/primer/beta/blankslate.pcss +52 -2
  64. data/app/components/primer/beta/border_box.css +1 -1
  65. data/app/components/primer/beta/border_box.css.map +1 -1
  66. data/app/components/primer/beta/button.css +1 -1
  67. data/app/components/primer/beta/button.css.json +0 -1
  68. data/app/components/primer/beta/button.css.map +1 -1
  69. data/app/components/primer/beta/button.html.erb +18 -20
  70. data/app/components/primer/beta/button.pcss +0 -5
  71. data/app/components/primer/beta/button.rb +3 -0
  72. data/app/components/primer/beta/button_group.css +1 -1
  73. data/app/components/primer/beta/button_group.css.json +2 -4
  74. data/app/components/primer/beta/button_group.css.map +1 -1
  75. data/app/components/primer/beta/button_group.html.erb +3 -1
  76. data/app/components/primer/beta/button_group.pcss +2 -4
  77. data/app/components/primer/beta/button_group.rb +41 -12
  78. data/app/components/primer/beta/clipboard_copy.rb +4 -0
  79. data/app/components/primer/beta/clipboard_copy_button.rb +25 -0
  80. data/app/components/primer/beta/counter.rb +1 -1
  81. data/app/components/primer/beta/flash.html.erb +1 -1
  82. data/app/components/primer/beta/icon_button.html.erb +4 -6
  83. data/app/components/primer/beta/icon_button.rb +1 -3
  84. data/app/components/primer/beta/label.css +1 -1
  85. data/app/components/primer/beta/label.css.map +1 -1
  86. data/app/components/primer/beta/link.css +1 -1
  87. data/app/components/primer/beta/link.css.map +1 -1
  88. data/app/components/primer/beta/nav_list.js +14 -7
  89. data/app/components/primer/beta/subhead.css +1 -1
  90. data/app/components/primer/beta/subhead.css.json +2 -0
  91. data/app/components/primer/beta/subhead.css.map +1 -1
  92. data/app/components/primer/beta/subhead.pcss +8 -1
  93. data/app/components/primer/beta/subhead.rb +9 -1
  94. data/app/components/primer/focus_group.js +2 -1
  95. data/app/components/primer/open_project/page_header.css +1 -1
  96. data/app/components/primer/open_project/page_header.css.json +4 -1
  97. data/app/components/primer/open_project/page_header.css.map +1 -1
  98. data/app/components/primer/open_project/page_header.html.erb +9 -1
  99. data/app/components/primer/open_project/page_header.pcss +19 -1
  100. data/app/components/primer/open_project/page_header.rb +38 -0
  101. data/app/forms/action_menu_form.rb +20 -0
  102. data/app/forms/immediate_validation_form.rb +2 -2
  103. data/app/lib/primer/fetch_or_fallback_helper.rb +0 -1
  104. data/app/lib/primer/octicon/cache.rb +1 -1
  105. data/lib/primer/classify.rb +0 -2
  106. data/lib/primer/forms/action_menu.html.erb +6 -0
  107. data/lib/primer/forms/action_menu.rb +25 -0
  108. data/lib/primer/forms/acts_as_component.rb +0 -3
  109. data/lib/primer/forms/base.rb +0 -1
  110. data/lib/primer/forms/base_component.rb +0 -2
  111. data/lib/primer/forms/dsl/action_menu_input.rb +36 -0
  112. data/lib/primer/forms/dsl/input.rb +8 -1
  113. data/lib/primer/forms/dsl/input_methods.rb +9 -0
  114. data/lib/primer/forms/dsl/text_field_input.rb +8 -0
  115. data/lib/primer/forms/primer_base_component_wrapper.rb +0 -2
  116. data/lib/primer/forms/primer_text_field.js +40 -5
  117. data/lib/primer/forms/primer_text_field.ts +39 -7
  118. data/lib/primer/forms/validation_message.html.erb +2 -1
  119. data/lib/primer/static/generate_info_arch.rb +1 -2
  120. data/lib/primer/static/generate_previews.rb +0 -2
  121. data/lib/primer/view_components/engine.rb +5 -1
  122. data/lib/primer/view_components/linters/base_linter.rb +3 -2
  123. data/lib/primer/view_components/linters/deprecated_components_counter.rb +1 -1
  124. data/lib/primer/view_components/linters/disallow_action_list.rb +1 -0
  125. data/lib/primer/view_components/linters/severity_schema.rb +1 -0
  126. data/lib/primer/view_components/version.rb +1 -2
  127. data/lib/primer/yard/lookbook_pages_backend.rb +0 -2
  128. data/lib/rubocop/cop/primer/base_cop.rb +1 -1
  129. data/lib/rubocop/cop/primer/deprecated_arguments.rb +0 -2
  130. data/lib/rubocop/cop/primer/deprecated_components.rb +1 -1
  131. data/lib/rubocop/cop/primer/deprecated_label_schemes.rb +1 -1
  132. data/lib/rubocop/cop/primer/deprecated_label_variants.rb +1 -1
  133. data/previews/primer/alpha/octicon_symbols_preview/default.html.erb +6 -0
  134. data/previews/primer/alpha/octicon_symbols_preview/playground.html.erb +13 -0
  135. data/previews/primer/alpha/octicon_symbols_preview.rb +21 -0
  136. data/previews/primer/alpha/text_field_preview.rb +5 -0
  137. data/previews/primer/beta/avatar_preview.rb +6 -0
  138. data/previews/primer/beta/button_group_preview.rb +11 -0
  139. data/previews/primer/beta/clipboard_copy_button_preview.rb +29 -0
  140. data/previews/primer/beta/subhead_preview.rb +32 -4
  141. data/previews/primer/forms_preview/action_menu_form.html.erb +3 -0
  142. data/previews/primer/forms_preview.rb +4 -0
  143. data/previews/primer/open_project/page_header_preview/context_bar_actions.html.erb +25 -0
  144. data/previews/primer/open_project/page_header_preview/playground.html.erb +32 -0
  145. data/previews/primer/open_project/page_header_preview.rb +48 -9
  146. data/static/arguments.json +75 -13
  147. data/static/audited_at.json +2 -0
  148. data/static/classes.json +18 -3
  149. data/static/constants.json +32 -1
  150. data/static/info_arch.json +381 -28
  151. data/static/previews.json +172 -0
  152. data/static/statuses.json +2 -0
  153. metadata +16 -4
@@ -709,6 +709,7 @@
709
709
  32,
710
710
  40,
711
711
  48,
712
+ 64,
712
713
  80
713
714
  ],
714
715
  "SMALL_THRESHOLD": 24
@@ -736,7 +737,8 @@
736
737
  "TAG_OPTIONS": [
737
738
  "button",
738
739
  "a",
739
- "summary"
740
+ "summary",
741
+ "clipboard-copy"
740
742
  ],
741
743
  "TYPE_OPTIONS": [
742
744
  "button",
@@ -836,6 +838,10 @@
836
838
  },
837
839
  "Primer::Beta::ClipboardCopy": {
838
840
  },
841
+ "Primer::Beta::ClipboardCopyBaseButton": {
842
+ },
843
+ "Primer::Beta::ClipboardCopyButton": {
844
+ },
839
845
  "Primer::Beta::CloseButton": {
840
846
  "DEFAULT_TYPE": "button",
841
847
  "TYPE_OPTIONS": [
@@ -1238,7 +1244,16 @@
1238
1244
  ]
1239
1245
  },
1240
1246
  "Primer::Beta::Subhead": {
1247
+ "DEFAULT_HEADING_SIZE": "large",
1241
1248
  "DEFAULT_HEADING_TAG": "div",
1249
+ "HEADING_SIZE_MAP": {
1250
+ "large": "Subhead-heading--large",
1251
+ "medium": "Subhead-heading--medium"
1252
+ },
1253
+ "HEADING_SIZE_OPTIONS": [
1254
+ "large",
1255
+ "medium"
1256
+ ],
1242
1257
  "HEADING_TAG_OPTIONS": [
1243
1258
  "div",
1244
1259
  "h1",
@@ -1370,9 +1385,25 @@
1370
1385
  "medium",
1371
1386
  "large"
1372
1387
  ],
1388
+ "DEFAULT_BACK_BUTTON_DISPLAY": [
1389
+ "none",
1390
+ "flex"
1391
+ ],
1373
1392
  "DEFAULT_BACK_BUTTON_ICON": "arrow-left",
1374
1393
  "DEFAULT_BACK_BUTTON_SIZE": "medium",
1394
+ "DEFAULT_BREADCRUMBS_DISPLAY": [
1395
+ "none",
1396
+ "flex"
1397
+ ],
1398
+ "DEFAULT_CONTEXT_BAR_ACTIONS_DISPLAY": [
1399
+ "block",
1400
+ "none"
1401
+ ],
1375
1402
  "DEFAULT_HEADER_VARIANT": "medium",
1403
+ "DEFAULT_PARENT_LINK_DISPLAY": [
1404
+ "block",
1405
+ "none"
1406
+ ],
1376
1407
  "HEADER_VARIANT_OPTIONS": [
1377
1408
  "large",
1378
1409
  "medium"
@@ -3165,7 +3165,7 @@
3165
3165
  "name": "subtitle",
3166
3166
  "type": "String",
3167
3167
  "default": "`nil`",
3168
- "description": "Provides dditional context for the dialog, also setting the `aria-describedby` attribute."
3168
+ "description": "Provides additional context for the dialog, also setting the `aria-describedby` attribute."
3169
3169
  },
3170
3170
  {
3171
3171
  "name": "show_divider",
@@ -4932,7 +4932,7 @@
4932
4932
  },
4933
4933
  {
4934
4934
  "fully_qualified_name": "Primer::Alpha::NavList",
4935
- "description": "",
4935
+ "description": ":nodoc:",
4936
4936
  "accessibility_docs": null,
4937
4937
  "is_form_component": false,
4938
4938
  "is_published": true,
@@ -4982,7 +4982,7 @@
4982
4982
  "subcomponents": [
4983
4983
  {
4984
4984
  "fully_qualified_name": "Primer::Alpha::NavList::Item",
4985
- "description": "",
4985
+ "description": ":nodoc:",
4986
4986
  "accessibility_docs": null,
4987
4987
  "is_form_component": false,
4988
4988
  "is_published": true,
@@ -5102,7 +5102,7 @@
5102
5102
  },
5103
5103
  {
5104
5104
  "fully_qualified_name": "Primer::Alpha::NavList::Heading",
5105
- "description": "",
5105
+ "description": ":nodoc:",
5106
5106
  "accessibility_docs": null,
5107
5107
  "is_form_component": false,
5108
5108
  "is_published": true,
@@ -5154,7 +5154,7 @@
5154
5154
  },
5155
5155
  {
5156
5156
  "fully_qualified_name": "Primer::Alpha::NavList::Divider",
5157
- "description": "",
5157
+ "description": ":nodoc:",
5158
5158
  "accessibility_docs": null,
5159
5159
  "is_form_component": false,
5160
5160
  "is_published": true,
@@ -5194,7 +5194,7 @@
5194
5194
  },
5195
5195
  {
5196
5196
  "fully_qualified_name": "Primer::Alpha::NavList::Group",
5197
- "description": "",
5197
+ "description": ":nodoc:",
5198
5198
  "accessibility_docs": null,
5199
5199
  "is_form_component": false,
5200
5200
  "is_published": true,
@@ -5438,7 +5438,32 @@
5438
5438
 
5439
5439
  ],
5440
5440
  "previews": [
5441
-
5441
+ {
5442
+ "preview_path": "primer/alpha/octicon_symbols/playground",
5443
+ "name": "playground",
5444
+ "snapshot": "false",
5445
+ "skip_rules": {
5446
+ "wont_fix": [
5447
+ "region"
5448
+ ],
5449
+ "will_fix": [
5450
+ "color-contrast"
5451
+ ]
5452
+ }
5453
+ },
5454
+ {
5455
+ "preview_path": "primer/alpha/octicon_symbols/default",
5456
+ "name": "default",
5457
+ "snapshot": "true",
5458
+ "skip_rules": {
5459
+ "wont_fix": [
5460
+ "region"
5461
+ ],
5462
+ "will_fix": [
5463
+ "color-contrast"
5464
+ ]
5465
+ }
5466
+ }
5442
5467
  ],
5443
5468
  "subcomponents": [
5444
5469
 
@@ -7972,6 +7997,19 @@
7972
7997
  ]
7973
7998
  }
7974
7999
  },
8000
+ {
8001
+ "preview_path": "primer/alpha/text_field/with_auto_check_accepted",
8002
+ "name": "with_auto_check_accepted",
8003
+ "snapshot": "false",
8004
+ "skip_rules": {
8005
+ "wont_fix": [
8006
+ "region"
8007
+ ],
8008
+ "will_fix": [
8009
+ "color-contrast"
8010
+ ]
8011
+ }
8012
+ },
7975
8013
  {
7976
8014
  "preview_path": "primer/alpha/text_field/with_auto_check_error",
7977
8015
  "name": "with_auto_check_error",
@@ -9233,7 +9271,7 @@
9233
9271
  "name": "size",
9234
9272
  "type": "Integer",
9235
9273
  "default": "`20`",
9236
- "description": "One of `16`, `20`, `24`, `32`, `40`, `48`, or `80`."
9274
+ "description": "One of `16`, `20`, `24`, `32`, `40`, `48`, `64`, or `80`."
9237
9275
  },
9238
9276
  {
9239
9277
  "name": "shape",
@@ -9378,6 +9416,19 @@
9378
9416
  ]
9379
9417
  }
9380
9418
  },
9419
+ {
9420
+ "preview_path": "primer/beta/avatar/size_64",
9421
+ "name": "size_64",
9422
+ "snapshot": "true",
9423
+ "skip_rules": {
9424
+ "wont_fix": [
9425
+ "region"
9426
+ ],
9427
+ "will_fix": [
9428
+ "color-contrast"
9429
+ ]
9430
+ }
9431
+ },
9381
9432
  {
9382
9433
  "preview_path": "primer/beta/avatar/size_80",
9383
9434
  "name": "size_80",
@@ -9625,7 +9676,7 @@
9625
9676
  "name": "tag",
9626
9677
  "type": "Symbol",
9627
9678
  "default": "`:button`",
9628
- "description": "One of `:a`, `:button`, or `:summary`."
9679
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
9629
9680
  },
9630
9681
  {
9631
9682
  "name": "type",
@@ -10400,6 +10451,12 @@
10400
10451
  "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/button.rb",
10401
10452
  "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/button/default/",
10402
10453
  "parameters": [
10454
+ {
10455
+ "name": "base_button_class",
10456
+ "type": "Class",
10457
+ "default": "`Primer::Beta::BaseButton`",
10458
+ "description": "The button class to render."
10459
+ },
10403
10460
  {
10404
10461
  "name": "scheme",
10405
10462
  "type": "Symbol",
@@ -10428,7 +10485,7 @@
10428
10485
  "name": "tag",
10429
10486
  "type": "Symbol",
10430
10487
  "default": "`:button`",
10431
- "description": "One of `:a`, `:button`, or `:summary`."
10488
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
10432
10489
  },
10433
10490
  {
10434
10491
  "name": "type",
@@ -10771,19 +10828,43 @@
10771
10828
  "slots": [
10772
10829
  {
10773
10830
  "name": "buttons",
10774
- "description": "Required list of buttons to be rendered.",
10831
+ "description": "List of buttons to be rendered. Add buttons via the `#with_button` and `#with_clipboard_copy_button` methods (see below).",
10832
+ "parameters": [
10833
+
10834
+ ]
10835
+ }
10836
+ ],
10837
+ "methods": [
10838
+ {
10839
+ "name": "with_button",
10840
+ "description": "Adds a button.",
10775
10841
  "parameters": [
10776
10842
  {
10777
- "name": "kwargs",
10843
+ "name": "icon",
10844
+ "type": "Symbol",
10845
+ "default": "`nil`",
10846
+ "description": "If included, adds a {{#link_to_component}}Primer::Beta::IconButton{{/link_to_component}} with the given {{link_to_octicons}}. Otherwise, a {{#link_to_component}}Primer::Beta::Button{{/link_to_component}} is added instead."
10847
+ },
10848
+ {
10849
+ "name": "system_arguments",
10850
+ "type": "Hash",
10851
+ "default": "N/A",
10852
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::Button{{/link_to_component}} or {{#link_to_component}}Primer::Beta::IconButton{{/link_to_component}}, depending on the value of the `icon:` argument."
10853
+ }
10854
+ ]
10855
+ },
10856
+ {
10857
+ "name": "with_clipboard_copy_button",
10858
+ "description": "Adds a {{#link_to_component}}Primer::Beta::ClipboardCopyButton{{/link_to_component}}.",
10859
+ "parameters": [
10860
+ {
10861
+ "name": "system_arguments",
10778
10862
  "type": "Hash",
10779
10863
  "default": "N/A",
10780
- "description": "The same arguments as {{#link_to_component}}Primer::Beta::Button{{/link_to_component}}"
10864
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::ClipboardCopyButton{{/link_to_component}}."
10781
10865
  }
10782
10866
  ]
10783
10867
  }
10784
- ],
10785
- "methods": [
10786
-
10787
10868
  ],
10788
10869
  "previews": [
10789
10870
  {
@@ -10850,6 +10931,19 @@
10850
10931
  "color-contrast"
10851
10932
  ]
10852
10933
  }
10934
+ },
10935
+ {
10936
+ "preview_path": "primer/beta/button_group/with_clipboard_copy_button",
10937
+ "name": "with_clipboard_copy_button",
10938
+ "snapshot": "true",
10939
+ "skip_rules": {
10940
+ "wont_fix": [
10941
+ "region"
10942
+ ],
10943
+ "will_fix": [
10944
+ "color-contrast"
10945
+ ]
10946
+ }
10853
10947
  }
10854
10948
  ],
10855
10949
  "subcomponents": [
@@ -10858,7 +10952,7 @@
10858
10952
  },
10859
10953
  {
10860
10954
  "fully_qualified_name": "Primer::Beta::ClipboardCopy",
10861
- "description": "Use `ClipboardCopy` to copy element text content or input values to the clipboard.",
10955
+ "description": "Use `ClipboardCopy` to copy element text content or input values to the clipboard.\n\nThis component by itself is not styled as a button, and can therefore only be used in limited circumstances.\nIf you're looking for a button, consider using {{#link_to_component}}Primer::Beta::ClipboardCopyButton{{/link_to_component}}\ninstead.",
10862
10956
  "accessibility_docs": "Always set an accessible label to help the user interact with the component.",
10863
10957
  "is_form_component": false,
10864
10958
  "is_published": true,
@@ -10959,6 +11053,195 @@
10959
11053
 
10960
11054
  ]
10961
11055
  },
11056
+ {
11057
+ "fully_qualified_name": "Primer::Beta::ClipboardCopyBaseButton",
11058
+ "description": "Internal\n\n:nodoc:",
11059
+ "accessibility_docs": null,
11060
+ "is_form_component": false,
11061
+ "is_published": true,
11062
+ "requires_js": false,
11063
+ "component": "ClipboardCopyBaseButton",
11064
+ "status": "beta",
11065
+ "a11y_reviewed": false,
11066
+ "short_name": "ClipboardCopyBaseButton",
11067
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/clipboard_copy_base_button.rb",
11068
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/clipboard_copy_base_button/default/",
11069
+ "parameters": [
11070
+ {
11071
+ "name": "tag",
11072
+ "type": "Symbol",
11073
+ "default": "`:button`",
11074
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
11075
+ },
11076
+ {
11077
+ "name": "type",
11078
+ "type": "Symbol",
11079
+ "default": "`:button`",
11080
+ "description": "One of `:button`, `:reset`, or `:submit`."
11081
+ },
11082
+ {
11083
+ "name": "block",
11084
+ "type": "Boolean",
11085
+ "default": "`false`",
11086
+ "description": "Whether button is full-width with `display: block`."
11087
+ },
11088
+ {
11089
+ "name": "disabled",
11090
+ "type": "Boolean",
11091
+ "default": "`false`",
11092
+ "description": "Whether or not the button is disabled. If true, this option forces `tag:` to `:button`."
11093
+ },
11094
+ {
11095
+ "name": "inactive",
11096
+ "type": "Boolean",
11097
+ "default": "`false`",
11098
+ "description": "Whether the button looks visually disabled, but can still accept all the same interactions as an enabled button."
11099
+ },
11100
+ {
11101
+ "name": "system_arguments",
11102
+ "type": "Hash",
11103
+ "default": "N/A",
11104
+ "description": "{{link_to_system_arguments_docs}}"
11105
+ }
11106
+ ],
11107
+ "slots": [
11108
+
11109
+ ],
11110
+ "methods": [
11111
+
11112
+ ],
11113
+ "previews": [
11114
+
11115
+ ],
11116
+ "subcomponents": [
11117
+
11118
+ ]
11119
+ },
11120
+ {
11121
+ "fully_qualified_name": "Primer::Beta::ClipboardCopyButton",
11122
+ "description": "`ClipboardCopyButton` uses the `ClipboardCopy` component to copy text to the clipboard,\nstyled as a Primer button. It can be used wherever a button is desired, and works well\nwith components like `ButtonGroup`.",
11123
+ "accessibility_docs": null,
11124
+ "is_form_component": false,
11125
+ "is_published": true,
11126
+ "requires_js": false,
11127
+ "component": "ClipboardCopyButton",
11128
+ "status": "beta",
11129
+ "a11y_reviewed": false,
11130
+ "short_name": "ClipboardCopyButton",
11131
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/clipboard_copy_button.rb",
11132
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/clipboard_copy_button/default/",
11133
+ "parameters": [
11134
+ {
11135
+ "name": "system_arguments",
11136
+ "type": "Hash",
11137
+ "default": "N/A",
11138
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::Button{{/link_to_component}} and {{#link_to_component}}Primer::Beta::ClipboardCopy{{/link_to_component}}."
11139
+ }
11140
+ ],
11141
+ "slots": [
11142
+ {
11143
+ "name": "leading_visual",
11144
+ "description": "Leading visuals appear to the left of the button text.\n\nUse:\n\n- `leading_visual_icon` for a {{#link_to_component}}Primer::Beta::Octicon{{/link_to_component}}.\n\n- `leading_visual_svg` to render a SVG.",
11145
+ "parameters": [
11146
+ {
11147
+ "name": "system_arguments",
11148
+ "type": "Hash",
11149
+ "default": "N/A",
11150
+ "description": "Same arguments as {{#link_to_component}}Primer::Beta::Octicon{{/link_to_component}}."
11151
+ }
11152
+ ]
11153
+ },
11154
+ {
11155
+ "name": "trailing_visual",
11156
+ "description": "Trailing visuals appear to the right of the button text.\n\nUse:\n\n- `trailing_visual_counter` for a {{#link_to_component}}Primer::Beta::Counter{{/link_to_component}}.",
11157
+ "parameters": [
11158
+ {
11159
+ "name": "system_arguments",
11160
+ "type": "Hash",
11161
+ "default": "N/A",
11162
+ "description": "Same arguments as {{#link_to_component}}Primer::Beta::Counter{{/link_to_component}}."
11163
+ }
11164
+ ]
11165
+ },
11166
+ {
11167
+ "name": "trailing_action",
11168
+ "description": "Trailing action appears to the right of the trailing visual.\n\nUse:\n\n- `trailing_action_icon` for a {{#link_to_component}}Primer::Beta::Octicon{{/link_to_component}}.",
11169
+ "parameters": [
11170
+ {
11171
+ "name": "system_arguments",
11172
+ "type": "Hash",
11173
+ "default": "N/A",
11174
+ "description": "Same arguments as {{#link_to_component}}Primer::Beta::Octicon{{/link_to_component}}."
11175
+ }
11176
+ ]
11177
+ },
11178
+ {
11179
+ "name": "tooltip",
11180
+ "description": "`Tooltip` that appears on mouse hover or keyboard focus over the button. Use tooltips sparingly and as a last resort.\n**Important:** This tooltip defaults to `type: :description`. In a few scenarios, `type: :label` may be more appropriate.\nConsult the {{#link_to_component}}Primer::Alpha::Tooltip{{/link_to_component}} documentation for more information.",
11181
+ "parameters": [
11182
+ {
11183
+ "name": "type",
11184
+ "type": "Symbol",
11185
+ "default": "`:description`",
11186
+ "description": "One of `:description` or `:label`."
11187
+ },
11188
+ {
11189
+ "name": "system_arguments",
11190
+ "type": "Hash",
11191
+ "default": "N/A",
11192
+ "description": "Same arguments as {{#link_to_component}}Primer::Alpha::Tooltip{{/link_to_component}}."
11193
+ }
11194
+ ]
11195
+ }
11196
+ ],
11197
+ "methods": [
11198
+
11199
+ ],
11200
+ "previews": [
11201
+ {
11202
+ "preview_path": "primer/beta/clipboard_copy_button/playground",
11203
+ "name": "playground",
11204
+ "snapshot": "false",
11205
+ "skip_rules": {
11206
+ "wont_fix": [
11207
+ "region"
11208
+ ],
11209
+ "will_fix": [
11210
+ "color-contrast"
11211
+ ]
11212
+ }
11213
+ },
11214
+ {
11215
+ "preview_path": "primer/beta/clipboard_copy_button/default",
11216
+ "name": "default",
11217
+ "snapshot": "true",
11218
+ "skip_rules": {
11219
+ "wont_fix": [
11220
+ "region"
11221
+ ],
11222
+ "will_fix": [
11223
+ "color-contrast"
11224
+ ]
11225
+ }
11226
+ },
11227
+ {
11228
+ "preview_path": "primer/beta/clipboard_copy_button/with_tooltip",
11229
+ "name": "with_tooltip",
11230
+ "snapshot": "true",
11231
+ "skip_rules": {
11232
+ "wont_fix": [
11233
+ "region"
11234
+ ],
11235
+ "will_fix": [
11236
+ "color-contrast"
11237
+ ]
11238
+ }
11239
+ }
11240
+ ],
11241
+ "subcomponents": [
11242
+
11243
+ ]
11244
+ },
10962
11245
  {
10963
11246
  "fully_qualified_name": "Primer::Beta::CloseButton",
10964
11247
  "description": "Use `CloseButton` to render an `×` without default button styles.\n\n[0]: https://primer.style/view-components/system-arguments#html-attributes",
@@ -11675,13 +11958,7 @@
11675
11958
  "name": "tag",
11676
11959
  "type": "Symbol",
11677
11960
  "default": "N/A",
11678
- "description": "One of `:a`, `:button`, or `:summary`."
11679
- },
11680
- {
11681
- "name": "wrapper_arguments",
11682
- "type": "Hash",
11683
- "default": "`{}`",
11684
- "description": "Optional keyword arguments to be passed to the wrapper `<div>` tag."
11961
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
11685
11962
  },
11686
11963
  {
11687
11964
  "name": "scheme",
@@ -13925,6 +14202,32 @@
13925
14202
  "color-contrast"
13926
14203
  ]
13927
14204
  }
14205
+ },
14206
+ {
14207
+ "preview_path": "primer/beta/subhead/large_header",
14208
+ "name": "large_header",
14209
+ "snapshot": "false",
14210
+ "skip_rules": {
14211
+ "wont_fix": [
14212
+ "region"
14213
+ ],
14214
+ "will_fix": [
14215
+ "color-contrast"
14216
+ ]
14217
+ }
14218
+ },
14219
+ {
14220
+ "preview_path": "primer/beta/subhead/medium_header",
14221
+ "name": "medium_header",
14222
+ "snapshot": "false",
14223
+ "skip_rules": {
14224
+ "wont_fix": [
14225
+ "region"
14226
+ ],
14227
+ "will_fix": [
14228
+ "color-contrast"
14229
+ ]
14230
+ }
13928
14231
  }
13929
14232
  ],
13930
14233
  "subcomponents": [
@@ -14541,7 +14844,7 @@
14541
14844
  "name": "tag",
14542
14845
  "type": "Symbol",
14543
14846
  "default": "`:button`",
14544
- "description": "One of `:a`, `:button`, or `:summary`."
14847
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
14545
14848
  },
14546
14849
  {
14547
14850
  "name": "type",
@@ -14740,7 +15043,7 @@
14740
15043
  "name": "tag",
14741
15044
  "type": "Symbol",
14742
15045
  "default": "N/A",
14743
- "description": "One of `:a`, `:button`, or `:summary`."
15046
+ "description": "One of `:a`, `:button`, `:clipboard-copy`, or `:summary`."
14744
15047
  },
14745
15048
  {
14746
15049
  "name": "type",
@@ -15473,9 +15776,21 @@
15473
15776
  }
15474
15777
  ]
15475
15778
  },
15779
+ {
15780
+ "name": "context_bar_actions",
15781
+ "description": "Context Bar Actions\nBy default shown on narrow screens. Can be overridden with system_argument: display",
15782
+ "parameters": [
15783
+ {
15784
+ "name": "system_arguments",
15785
+ "type": "Hash",
15786
+ "default": "N/A",
15787
+ "description": "{{link_to_system_arguments_docs}}"
15788
+ }
15789
+ ]
15790
+ },
15476
15791
  {
15477
15792
  "name": "back_button",
15478
- "description": "Optional back button prepend the title",
15793
+ "description": "Optional back button prepend the title\nBy default shown on wider screens. Can be overridden with system_argument: display",
15479
15794
  "parameters": [
15480
15795
  {
15481
15796
  "name": "size",
@@ -15497,9 +15812,21 @@
15497
15812
  }
15498
15813
  ]
15499
15814
  },
15815
+ {
15816
+ "name": "parent_link",
15817
+ "description": "Optional parent link in the context area\nBy default shown on narrow screens. Can be overridden with system_argument: display",
15818
+ "parameters": [
15819
+ {
15820
+ "name": "system_arguments",
15821
+ "type": "Hash",
15822
+ "default": "N/A",
15823
+ "description": "{{link_to_system_arguments_docs}}"
15824
+ }
15825
+ ]
15826
+ },
15500
15827
  {
15501
15828
  "name": "breadcrumbs",
15502
- "description": "Optional breadcrumbs above the title row",
15829
+ "description": "Optional breadcrumbs above the title row\nBy default shown on wider screens. Can be overridden with system_argument: display",
15503
15830
  "parameters": [
15504
15831
  {
15505
15832
  "name": "items",
@@ -15610,6 +15937,32 @@
15610
15937
  "color-contrast"
15611
15938
  ]
15612
15939
  }
15940
+ },
15941
+ {
15942
+ "preview_path": "primer/open_project/page_header/parent_link",
15943
+ "name": "parent_link",
15944
+ "snapshot": "false",
15945
+ "skip_rules": {
15946
+ "wont_fix": [
15947
+ "region"
15948
+ ],
15949
+ "will_fix": [
15950
+ "color-contrast"
15951
+ ]
15952
+ }
15953
+ },
15954
+ {
15955
+ "preview_path": "primer/open_project/page_header/context_bar_actions",
15956
+ "name": "context_bar_actions",
15957
+ "snapshot": "false",
15958
+ "skip_rules": {
15959
+ "wont_fix": [
15960
+ "region"
15961
+ ],
15962
+ "will_fix": [
15963
+ "color-contrast"
15964
+ ]
15965
+ }
15613
15966
  }
15614
15967
  ],
15615
15968
  "subcomponents": [