primer_view_components 0.13.2 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -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/forms/action_menu_form.rb +20 -0
  96. data/app/forms/immediate_validation_form.rb +2 -2
  97. data/app/lib/primer/fetch_or_fallback_helper.rb +0 -1
  98. data/app/lib/primer/octicon/cache.rb +1 -1
  99. data/lib/primer/classify.rb +0 -2
  100. data/lib/primer/forms/action_menu.html.erb +6 -0
  101. data/lib/primer/forms/action_menu.rb +25 -0
  102. data/lib/primer/forms/acts_as_component.rb +0 -3
  103. data/lib/primer/forms/base.rb +0 -1
  104. data/lib/primer/forms/base_component.rb +0 -2
  105. data/lib/primer/forms/dsl/action_menu_input.rb +36 -0
  106. data/lib/primer/forms/dsl/input.rb +8 -1
  107. data/lib/primer/forms/dsl/input_methods.rb +9 -0
  108. data/lib/primer/forms/dsl/text_field_input.rb +8 -0
  109. data/lib/primer/forms/primer_base_component_wrapper.rb +0 -2
  110. data/lib/primer/forms/primer_text_field.js +40 -5
  111. data/lib/primer/forms/primer_text_field.ts +39 -7
  112. data/lib/primer/forms/validation_message.html.erb +2 -1
  113. data/lib/primer/static/generate_info_arch.rb +1 -2
  114. data/lib/primer/static/generate_previews.rb +0 -2
  115. data/lib/primer/view_components/engine.rb +5 -1
  116. data/lib/primer/view_components/linters/base_linter.rb +3 -2
  117. data/lib/primer/view_components/linters/deprecated_components_counter.rb +1 -1
  118. data/lib/primer/view_components/linters/disallow_action_list.rb +1 -0
  119. data/lib/primer/view_components/linters/severity_schema.rb +1 -0
  120. data/lib/primer/view_components/version.rb +2 -3
  121. data/lib/primer/yard/lookbook_pages_backend.rb +0 -2
  122. data/lib/rubocop/cop/primer/base_cop.rb +1 -1
  123. data/lib/rubocop/cop/primer/deprecated_arguments.rb +0 -2
  124. data/lib/rubocop/cop/primer/deprecated_components.rb +1 -1
  125. data/lib/rubocop/cop/primer/deprecated_label_schemes.rb +1 -1
  126. data/lib/rubocop/cop/primer/deprecated_label_variants.rb +1 -1
  127. data/previews/primer/alpha/octicon_symbols_preview/default.html.erb +6 -0
  128. data/previews/primer/alpha/octicon_symbols_preview/playground.html.erb +13 -0
  129. data/previews/primer/alpha/octicon_symbols_preview.rb +21 -0
  130. data/previews/primer/alpha/text_field_preview.rb +5 -0
  131. data/previews/primer/beta/avatar_preview.rb +6 -0
  132. data/previews/primer/beta/button_group_preview.rb +11 -0
  133. data/previews/primer/beta/clipboard_copy_button_preview.rb +29 -0
  134. data/previews/primer/beta/subhead_preview.rb +32 -4
  135. data/previews/primer/forms_preview/action_menu_form.html.erb +3 -0
  136. data/previews/primer/forms_preview.rb +4 -0
  137. data/static/arguments.json +75 -13
  138. data/static/audited_at.json +2 -0
  139. data/static/classes.json +9 -3
  140. data/static/constants.json +16 -1
  141. data/static/info_arch.json +329 -26
  142. data/static/previews.json +146 -0
  143. data/static/statuses.json +2 -0
  144. metadata +12 -2
@@ -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",
data/static/previews.json CHANGED
@@ -1176,6 +1176,19 @@
1176
1176
  ]
1177
1177
  }
1178
1178
  },
1179
+ {
1180
+ "preview_path": "primer/beta/avatar/size_64",
1181
+ "name": "size_64",
1182
+ "snapshot": "true",
1183
+ "skip_rules": {
1184
+ "wont_fix": [
1185
+ "region"
1186
+ ],
1187
+ "will_fix": [
1188
+ "color-contrast"
1189
+ ]
1190
+ }
1191
+ },
1179
1192
  {
1180
1193
  "preview_path": "primer/beta/avatar/size_80",
1181
1194
  "name": "size_80",
@@ -2196,6 +2209,19 @@
2196
2209
  "color-contrast"
2197
2210
  ]
2198
2211
  }
2212
+ },
2213
+ {
2214
+ "preview_path": "primer/beta/button_group/with_clipboard_copy_button",
2215
+ "name": "with_clipboard_copy_button",
2216
+ "snapshot": "true",
2217
+ "skip_rules": {
2218
+ "wont_fix": [
2219
+ "region"
2220
+ ],
2221
+ "will_fix": [
2222
+ "color-contrast"
2223
+ ]
2224
+ }
2199
2225
  }
2200
2226
  ]
2201
2227
  },
@@ -2556,6 +2582,53 @@
2556
2582
  }
2557
2583
  ]
2558
2584
  },
2585
+ {
2586
+ "name": "clipboard_copy_button",
2587
+ "component": "ClipboardCopyButton",
2588
+ "status": "beta",
2589
+ "lookup_path": "primer/beta/clipboard_copy_button",
2590
+ "examples": [
2591
+ {
2592
+ "preview_path": "primer/beta/clipboard_copy_button/playground",
2593
+ "name": "playground",
2594
+ "snapshot": "false",
2595
+ "skip_rules": {
2596
+ "wont_fix": [
2597
+ "region"
2598
+ ],
2599
+ "will_fix": [
2600
+ "color-contrast"
2601
+ ]
2602
+ }
2603
+ },
2604
+ {
2605
+ "preview_path": "primer/beta/clipboard_copy_button/default",
2606
+ "name": "default",
2607
+ "snapshot": "true",
2608
+ "skip_rules": {
2609
+ "wont_fix": [
2610
+ "region"
2611
+ ],
2612
+ "will_fix": [
2613
+ "color-contrast"
2614
+ ]
2615
+ }
2616
+ },
2617
+ {
2618
+ "preview_path": "primer/beta/clipboard_copy_button/with_tooltip",
2619
+ "name": "with_tooltip",
2620
+ "snapshot": "true",
2621
+ "skip_rules": {
2622
+ "wont_fix": [
2623
+ "region"
2624
+ ],
2625
+ "will_fix": [
2626
+ "color-contrast"
2627
+ ]
2628
+ }
2629
+ }
2630
+ ]
2631
+ },
2559
2632
  {
2560
2633
  "name": "close_button",
2561
2634
  "component": "CloseButton",
@@ -4411,6 +4484,40 @@
4411
4484
  }
4412
4485
  ]
4413
4486
  },
4487
+ {
4488
+ "name": "octicon_symbols",
4489
+ "component": "OcticonSymbols",
4490
+ "status": "alpha",
4491
+ "lookup_path": "primer/alpha/octicon_symbols",
4492
+ "examples": [
4493
+ {
4494
+ "preview_path": "primer/alpha/octicon_symbols/playground",
4495
+ "name": "playground",
4496
+ "snapshot": "false",
4497
+ "skip_rules": {
4498
+ "wont_fix": [
4499
+ "region"
4500
+ ],
4501
+ "will_fix": [
4502
+ "color-contrast"
4503
+ ]
4504
+ }
4505
+ },
4506
+ {
4507
+ "preview_path": "primer/alpha/octicon_symbols/default",
4508
+ "name": "default",
4509
+ "snapshot": "true",
4510
+ "skip_rules": {
4511
+ "wont_fix": [
4512
+ "region"
4513
+ ],
4514
+ "will_fix": [
4515
+ "color-contrast"
4516
+ ]
4517
+ }
4518
+ }
4519
+ ]
4520
+ },
4414
4521
  {
4415
4522
  "name": "overlay",
4416
4523
  "component": "Overlay",
@@ -5562,6 +5669,32 @@
5562
5669
  "color-contrast"
5563
5670
  ]
5564
5671
  }
5672
+ },
5673
+ {
5674
+ "preview_path": "primer/beta/subhead/large_header",
5675
+ "name": "large_header",
5676
+ "snapshot": "false",
5677
+ "skip_rules": {
5678
+ "wont_fix": [
5679
+ "region"
5680
+ ],
5681
+ "will_fix": [
5682
+ "color-contrast"
5683
+ ]
5684
+ }
5685
+ },
5686
+ {
5687
+ "preview_path": "primer/beta/subhead/medium_header",
5688
+ "name": "medium_header",
5689
+ "snapshot": "false",
5690
+ "skip_rules": {
5691
+ "wont_fix": [
5692
+ "region"
5693
+ ],
5694
+ "will_fix": [
5695
+ "color-contrast"
5696
+ ]
5697
+ }
5565
5698
  }
5566
5699
  ]
5567
5700
  },
@@ -6045,6 +6178,19 @@
6045
6178
  ]
6046
6179
  }
6047
6180
  },
6181
+ {
6182
+ "preview_path": "primer/alpha/text_field/with_auto_check_accepted",
6183
+ "name": "with_auto_check_accepted",
6184
+ "snapshot": "false",
6185
+ "skip_rules": {
6186
+ "wont_fix": [
6187
+ "region"
6188
+ ],
6189
+ "will_fix": [
6190
+ "color-contrast"
6191
+ ]
6192
+ }
6193
+ },
6048
6194
  {
6049
6195
  "preview_path": "primer/alpha/text_field/with_auto_check_error",
6050
6196
  "name": "with_auto_check_error",
data/static/statuses.json CHANGED
@@ -73,6 +73,8 @@
73
73
  "Primer::Beta::Button": "beta",
74
74
  "Primer::Beta::ButtonGroup": "beta",
75
75
  "Primer::Beta::ClipboardCopy": "beta",
76
+ "Primer::Beta::ClipboardCopyBaseButton": "beta",
77
+ "Primer::Beta::ClipboardCopyButton": "beta",
76
78
  "Primer::Beta::CloseButton": "beta",
77
79
  "Primer::Beta::Counter": "beta",
78
80
  "Primer::Beta::Details": "beta",