@primer/view-components 0.14.0 → 0.15.0-rc.22e6d987

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.
@@ -264,11 +264,17 @@
264
264
  "name": "heading",
265
265
  "description": "Heading text rendered above the list of items.",
266
266
  "parameters": [
267
+ {
268
+ "name": "component_klass",
269
+ "type": "Class",
270
+ "default": "N/A",
271
+ "description": "The class to use instead of the default {{#link_to_component}}Primer::Alpha::ActionList::Heading{{/link_to_component}}."
272
+ },
267
273
  {
268
274
  "name": "system_arguments",
269
275
  "type": "Hash",
270
276
  "default": "N/A",
271
- "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionList::Heading{{/link_to_component}}."
277
+ "description": "The arguments accepted by `component_klass`."
272
278
  }
273
279
  ]
274
280
  },
@@ -743,6 +749,146 @@
743
749
  }
744
750
  ],
745
751
  "subcomponents": [
752
+ {
753
+ "fully_qualified_name": "Primer::Alpha::ActionList::Divider",
754
+ "description": "Separator with optional text rendered above groups or between individual items.",
755
+ "accessibility_docs": null,
756
+ "is_form_component": false,
757
+ "is_published": true,
758
+ "requires_js": false,
759
+ "component": "ActionList::Divider",
760
+ "status": "alpha",
761
+ "a11y_reviewed": false,
762
+ "short_name": "ActionListDivider",
763
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list/divider.rb",
764
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/divider/default/",
765
+ "parameters": [
766
+ {
767
+ "name": "scheme",
768
+ "type": "Symbol",
769
+ "default": "`:subtle`",
770
+ "description": "Display a background color if scheme is `filled`."
771
+ },
772
+ {
773
+ "name": "system_arguments",
774
+ "type": "Hash",
775
+ "default": "N/A",
776
+ "description": "{{link_to_system_arguments_docs}}"
777
+ }
778
+ ],
779
+ "slots": [
780
+
781
+ ],
782
+ "methods": [
783
+
784
+ ],
785
+ "previews": [
786
+
787
+ ],
788
+ "subcomponents": [
789
+
790
+ ]
791
+ },
792
+ {
793
+ "fully_qualified_name": "Primer::Alpha::ActionList::FormWrapper",
794
+ "description": "Utility component for wrapping ActionLists or individual ActionList::Items in forms.",
795
+ "accessibility_docs": null,
796
+ "is_form_component": false,
797
+ "is_published": true,
798
+ "requires_js": false,
799
+ "component": "ActionList::FormWrapper",
800
+ "status": "alpha",
801
+ "a11y_reviewed": false,
802
+ "short_name": "ActionListFormWrapper",
803
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list/form_wrapper.rb",
804
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/form_wrapper/default/",
805
+ "parameters": [
806
+
807
+ ],
808
+ "slots": [
809
+
810
+ ],
811
+ "methods": [
812
+
813
+ ],
814
+ "previews": [
815
+
816
+ ],
817
+ "subcomponents": [
818
+
819
+ ]
820
+ },
821
+ {
822
+ "fully_qualified_name": "Primer::Alpha::ActionList::Heading",
823
+ "description": "Heading used to describe each sub list within an action list.",
824
+ "accessibility_docs": null,
825
+ "is_form_component": false,
826
+ "is_published": true,
827
+ "requires_js": false,
828
+ "component": "ActionList::Heading",
829
+ "status": "alpha",
830
+ "a11y_reviewed": false,
831
+ "short_name": "ActionListHeading",
832
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list/heading.rb",
833
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/heading/default/",
834
+ "parameters": [
835
+ {
836
+ "name": "title",
837
+ "type": "String",
838
+ "default": "N/A",
839
+ "description": "Sub list title."
840
+ },
841
+ {
842
+ "name": "heading_level",
843
+ "type": "Integer",
844
+ "default": "`3`",
845
+ "description": "Heading level. Level 2 results in an `<h2>` tag, level 3 an `<h3>` tag, etc."
846
+ },
847
+ {
848
+ "name": "subtitle",
849
+ "type": "String",
850
+ "default": "`nil`",
851
+ "description": "Optional sub list description."
852
+ },
853
+ {
854
+ "name": "scheme",
855
+ "type": "Symbol",
856
+ "default": "`:subtle`",
857
+ "description": "Display a background color if scheme is `filled`."
858
+ },
859
+ {
860
+ "name": "system_arguments",
861
+ "type": "Hash",
862
+ "default": "N/A",
863
+ "description": "{{link_to_system_arguments_docs}}"
864
+ }
865
+ ],
866
+ "slots": [
867
+
868
+ ],
869
+ "methods": [
870
+ {
871
+ "name": "title_id",
872
+ "description": "Returns the value of attribute title_id.",
873
+ "parameters": [
874
+
875
+ ]
876
+ },
877
+ {
878
+ "name": "subtitle_id",
879
+ "description": "Returns the value of attribute subtitle_id.",
880
+ "parameters": [
881
+
882
+ ]
883
+ }
884
+ ],
885
+ "previews": [
886
+
887
+ ],
888
+ "subcomponents": [
889
+
890
+ ]
891
+ },
746
892
  {
747
893
  "fully_qualified_name": "Primer::Alpha::ActionList::Item",
748
894
  "description": "An individual `ActionList` item. Items can optionally include leading and/or trailing visuals,\nsuch as icons, avatars, and counters.",
@@ -983,238 +1129,98 @@
983
1129
  "subcomponents": [
984
1130
 
985
1131
  ]
1132
+ }
1133
+ ]
1134
+ },
1135
+ {
1136
+ "fully_qualified_name": "Primer::Alpha::ActionMenu",
1137
+ "description": "ActionMenu is used for actions, navigation, to display secondary options, or single/multi select lists. They appear when\nusers interact with buttons, actions, or other controls.\n\nThe only allowed elements for the `Item` components are: `:a`, `:button`, and `:clipboard-copy`. The default is `:button`.\n\n### Select variants\n\nWhile `ActionMenu`s default to a list of buttons that can link to other pages, copy text to the clipboard, etc, they also support\n`single` and `multiple` select variants. The single select variant allows a single item to be \"selected\" (i.e. marked \"active\")\nwhen clicked, which will cause a check mark to appear to the left of the item text. When the `multiple` select variant is chosen,\nmultiple items may be selected and check marks will appear next to each selected item.\n\nUse the `select_variant:` option to control which variant the `ActionMenu` uses. For more information, see the documentation on\nsupported arguments below.\n\n### Dynamic labels\n\nWhen using the `single` select variant, an optional label indicating the selected item can be displayed inside the menu button.\nDynamic labels can also be prefixed with custom text.\n\nPass `dynamic_label: true` to enable dynamic label behavior, and pass `dynamic_label_prefix: \"<string>\"` to set a custom prefix.\nFor more information, see the documentation on supported arguments below.\n\n### `ActionMenu`s as form inputs\n\nWhen using either the `single` or `multiple` select variants, `ActionMenu`s can be used as form inputs. They behave very\nsimilarly to how HTML `<select>` boxes behave, and play nicely with Rails' built-in form mechanisms. Pass arguments via the\n`form_arguments:` argument, including the Rails form builder object and the name of the field:\n\n```erb\n<% form_with(url: update_merge_strategy_path) do |f| %>\n <%= render(Primer::Alpha::ActionMenu.new(form_arguments: { builder: f, name: \"merge_strategy\" })) do |menu| %>\n <% menu.with_item(label: \"Fast forward\", data: { value: \"fast_forward\" }) %>\n <% menu.with_item(label: \"Recursive\", data: { value: \"recursive\" }) %>\n <% menu.with_item(label: \"Ours\", data: { value: \"ours\" }) %>\n <% menu.with_item(label: \"Theirs\", data: { value: \"theirs\" }) %>\n <% end %>\n<% end %>\n```\n\nThe value of the `data: { value: ... }` argument is sent to the server on submit, keyed using the name provided above\n(eg. `\"merge_strategy\"`). If no value is provided for an item, the value of that item is the item's label. Here's the\ncorresponding `MergeStrategyController` that might be written to handle the form above:\n\n```ruby\nclass MergeStrategyController < ApplicationController\n def update\n puts \"You chose #{merge_strategy_params[:merge_strategy]}\"\n end\n\n private\n\n def merge_strategy_params\n params.permit(:merge_strategy)\n end\nend\n```\n\n### `ActionMenu` items that submit forms\n\nWhereas `ActionMenu` items normally permit navigation via `<a>` tags which make HTTP `get` requests, `ActionMenu` items\nalso permit navigation via `POST` requests. To enable this behavior, include the `href:` argument as normal, but also pass\nthe `form_arguments:` argument to the appropriate item:\n\n```erb\n<%= render(Primer::Alpha::ActionMenu.new) do |menu| %>\n <% menu.with_item(\n label: \"Repository\",\n href: update_repo_grouping_path,\n form_arguments: {\n method: :post,\n name: \"group_by\",\n value: \"repository\"\n }\n ) %>\n<% end %>\n```\n\nMake sure to specify `method: :post`, as the default is `:get`. When clicked, the list item will submit a POST request to\nthe URL passed in the `href:` argument, including a parameter named `\"group_by\"` with a value of `\"repository\"`. If no value\nis given, the name, eg. `\"group_by\"`, will be used as the value.\n\nIt is possible to include multiple fields on submit. Instead of passing the `name:` and `value:` arguments, pass an array via\nthe `inputs:` argument:\n\n```erb\n<%= render(Primer::Alpha::ActionMenu.new) do |menu| %>\n <% menu.with_show_button { \"Group By\" } %>\n <% menu.with_item(\n label: \"Repository\",\n href: update_repo_grouping_path,\n form_arguments: {\n method: :post,\n inputs: [{\n name: \"group_by\",\n value: \"repository\"\n }, {\n name: \"some_other_field\",\n value: \"some value\",\n }],\n }\n ) %>\n<% end %>\n```\n\n### Form arguments\n\nThe following table summarizes the arguments allowed in the `form_arguments:` hash mentioned above.\n\n|Name |Type |Default|Description|\n|:----------------|:-------------|:------|:----------|\n|`method` |`Symbol` |`:get` |The HTTP request method to use to submit the form. One of `:get`, `:post`, `:patch`, `:put`, `:delete`, or `:head`|\n|`name` |`String` |`nil` |The name of the field that will be sent to the server on submit.|\n|`value` |`String` |`nil` |The value of the field that will be sent to the server on submit.|\n|`input_arguments`|`Hash` |`{}` |Additional key/value pairs to emit as HTML attributes on the `<input type=\"hidden\">` element.|\n|`inputs` |`Array<Hash>` |`[]` |An array of hashes representing HTML `<input type=\"hidden\">` elements. Must contain at least `name:` and `value:` keys. If additional key/value pairs are provided, they are emitted as HTML attributes on the `<input>` element. This argument supercedes the `name:`, `value:`, and `:input_arguments` arguments listed above.|\n\nThe elements of the `inputs:` array will be emitted as HTML `<input type=\"hidden\">` elements.",
1138
+ "accessibility_docs": "The action for the menu item needs to be on the element with `role=\"menuitem\"`. Semantics are removed for everything\nnested inside of it. When a menu item is selected, the menu will close immediately.\n\nAdditional information around the keyboard functionality and implementation can be found on the\n[WAI-ARIA Authoring Practices](https://www.w3.org/TR/wai-aria-practices-1.2/#menu).",
1139
+ "is_form_component": false,
1140
+ "is_published": true,
1141
+ "requires_js": true,
1142
+ "component": "ActionMenu",
1143
+ "status": "alpha",
1144
+ "a11y_reviewed": false,
1145
+ "short_name": "ActionMenu",
1146
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_menu.rb",
1147
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_menu/default/",
1148
+ "parameters": [
1149
+ {
1150
+ "name": "menu_id",
1151
+ "type": "String",
1152
+ "default": "`self.class.generate_id`",
1153
+ "description": "Id of the menu."
986
1154
  },
987
1155
  {
988
- "fully_qualified_name": "Primer::Alpha::ActionList::Heading",
989
- "description": "Heading used to describe each sub list within an action list.",
990
- "accessibility_docs": null,
991
- "is_form_component": false,
992
- "is_published": true,
993
- "requires_js": false,
994
- "component": "ActionList::Heading",
995
- "status": "alpha",
996
- "a11y_reviewed": false,
997
- "short_name": "ActionListHeading",
998
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list/heading.rb",
999
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/heading/default/",
1156
+ "name": "anchor_align",
1157
+ "type": "Symbol",
1158
+ "default": "`:start`",
1159
+ "description": "One of `:center`, `:end`, or `:start`.."
1160
+ },
1161
+ {
1162
+ "name": "anchor_side",
1163
+ "type": "Symbol",
1164
+ "default": "`:outside_bottom`",
1165
+ "description": "One of `:inside_bottom`, `:inside_center`, `:inside_left`, `:inside_right`, `:inside_top`, `:outside_bottom`, `:outside_left`, `:outside_right`, or `:outside_top`.."
1166
+ },
1167
+ {
1168
+ "name": "size",
1169
+ "type": "Symbol",
1170
+ "default": "`:auto`",
1171
+ "description": "One of `:auto`, `:large`, `:medium`, `:medium_portrait`, `:small`, or `:xlarge`.."
1172
+ },
1173
+ {
1174
+ "name": "src",
1175
+ "type": "String",
1176
+ "default": "`nil`",
1177
+ "description": "Used with an `include-fragment` element to load menu content from the given source URL."
1178
+ },
1179
+ {
1180
+ "name": "preload",
1181
+ "type": "Boolean",
1182
+ "default": "`false`",
1183
+ "description": "When true, and src is present, loads the `include-fragment` on trigger hover."
1184
+ },
1185
+ {
1186
+ "name": "dynamic_label",
1187
+ "type": "Boolean",
1188
+ "default": "`false`",
1189
+ "description": "Whether or not to display the text of the currently selected item in the show button."
1190
+ },
1191
+ {
1192
+ "name": "dynamic_label_prefix",
1193
+ "type": "String",
1194
+ "default": "`nil`",
1195
+ "description": "If provided, the prefix is prepended to the dynamic label and displayed in the show button."
1196
+ },
1197
+ {
1198
+ "name": "select_variant",
1199
+ "type": "Symbol",
1200
+ "default": "`:none`",
1201
+ "description": "One of `:multiple`, `:none`, or `:single`."
1202
+ },
1203
+ {
1204
+ "name": "form_arguments",
1205
+ "type": "Hash",
1206
+ "default": "`{}`",
1207
+ "description": "Allows an `ActionMenu` to act as a select list in multi- and single-select modes. Pass the `builder:` and `name:` options to this hash. `builder:` should be an instance of `ActionView::Helpers::FormBuilder`, which are created by the standard Rails `#form_with` and `#form_for` helpers. The `name:` option is the desired name of the field that will be included in the params sent to the server on form submission."
1208
+ },
1209
+ {
1210
+ "name": "system_arguments",
1211
+ "type": "Hash",
1212
+ "default": "N/A",
1213
+ "description": "{{link_to_system_arguments_docs}}."
1214
+ }
1215
+ ],
1216
+ "slots": [
1217
+ {
1218
+ "name": "show_button",
1219
+ "description": "Button to activate the menu.",
1000
1220
  "parameters": [
1001
1221
  {
1002
- "name": "title",
1003
- "type": "String",
1004
- "default": "N/A",
1005
- "description": "Sub list title."
1006
- },
1007
- {
1008
- "name": "heading_level",
1009
- "type": "Integer",
1010
- "default": "`3`",
1011
- "description": "Heading level. Level 2 results in an `<h2>` tag, level 3 an `<h3>` tag, etc."
1012
- },
1013
- {
1014
- "name": "subtitle",
1015
- "type": "String",
1016
- "default": "`nil`",
1017
- "description": "Optional sub list description."
1018
- },
1019
- {
1020
- "name": "scheme",
1021
- "type": "Symbol",
1022
- "default": "`:subtle`",
1023
- "description": "Display a background color if scheme is `filled`."
1024
- },
1025
- {
1026
- "name": "system_arguments",
1027
- "type": "Hash",
1028
- "default": "N/A",
1029
- "description": "{{link_to_system_arguments_docs}}"
1030
- }
1031
- ],
1032
- "slots": [
1033
-
1034
- ],
1035
- "methods": [
1036
- {
1037
- "name": "title_id",
1038
- "description": "Returns the value of attribute title_id.",
1039
- "parameters": [
1040
-
1041
- ]
1042
- },
1043
- {
1044
- "name": "subtitle_id",
1045
- "description": "Returns the value of attribute subtitle_id.",
1046
- "parameters": [
1047
-
1048
- ]
1049
- }
1050
- ],
1051
- "previews": [
1052
-
1053
- ],
1054
- "subcomponents": [
1055
-
1056
- ]
1057
- },
1058
- {
1059
- "fully_qualified_name": "Primer::Alpha::ActionList::FormWrapper",
1060
- "description": "Utility component for wrapping ActionLists or individual ActionList::Items in forms.",
1061
- "accessibility_docs": null,
1062
- "is_form_component": false,
1063
- "is_published": true,
1064
- "requires_js": false,
1065
- "component": "ActionList::FormWrapper",
1066
- "status": "alpha",
1067
- "a11y_reviewed": false,
1068
- "short_name": "ActionListFormWrapper",
1069
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list/form_wrapper.rb",
1070
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/form_wrapper/default/",
1071
- "parameters": [
1072
-
1073
- ],
1074
- "slots": [
1075
-
1076
- ],
1077
- "methods": [
1078
-
1079
- ],
1080
- "previews": [
1081
-
1082
- ],
1083
- "subcomponents": [
1084
-
1085
- ]
1086
- },
1087
- {
1088
- "fully_qualified_name": "Primer::Alpha::ActionList::Divider",
1089
- "description": "Separator with optional text rendered above groups or between individual items.",
1090
- "accessibility_docs": null,
1091
- "is_form_component": false,
1092
- "is_published": true,
1093
- "requires_js": false,
1094
- "component": "ActionList::Divider",
1095
- "status": "alpha",
1096
- "a11y_reviewed": false,
1097
- "short_name": "ActionListDivider",
1098
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list/divider.rb",
1099
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/divider/default/",
1100
- "parameters": [
1101
- {
1102
- "name": "scheme",
1103
- "type": "Symbol",
1104
- "default": "`:subtle`",
1105
- "description": "Display a background color if scheme is `filled`."
1106
- },
1107
- {
1108
- "name": "system_arguments",
1109
- "type": "Hash",
1110
- "default": "N/A",
1111
- "description": "{{link_to_system_arguments_docs}}"
1112
- }
1113
- ],
1114
- "slots": [
1115
-
1116
- ],
1117
- "methods": [
1118
-
1119
- ],
1120
- "previews": [
1121
-
1122
- ],
1123
- "subcomponents": [
1124
-
1125
- ]
1126
- }
1127
- ]
1128
- },
1129
- {
1130
- "fully_qualified_name": "Primer::Alpha::ActionMenu",
1131
- "description": "ActionMenu is used for actions, navigation, to display secondary options, or single/multi select lists. They appear when\nusers interact with buttons, actions, or other controls.\n\nThe only allowed elements for the `Item` components are: `:a`, `:button`, and `:clipboard-copy`. The default is `:button`.\n\n### Select variants\n\nWhile `ActionMenu`s default to a list of buttons that can link to other pages, copy text to the clipboard, etc, they also support\n`single` and `multiple` select variants. The single select variant allows a single item to be \"selected\" (i.e. marked \"active\")\nwhen clicked, which will cause a check mark to appear to the left of the item text. When the `multiple` select variant is chosen,\nmultiple items may be selected and check marks will appear next to each selected item.\n\nUse the `select_variant:` option to control which variant the `ActionMenu` uses. For more information, see the documentation on\nsupported arguments below.\n\n### Dynamic labels\n\nWhen using the `single` select variant, an optional label indicating the selected item can be displayed inside the menu button.\nDynamic labels can also be prefixed with custom text.\n\nPass `dynamic_label: true` to enable dynamic label behavior, and pass `dynamic_label_prefix: \"<string>\"` to set a custom prefix.\nFor more information, see the documentation on supported arguments below.\n\n### `ActionMenu`s as form inputs\n\nWhen using either the `single` or `multiple` select variants, `ActionMenu`s can be used as form inputs. They behave very\nsimilarly to how HTML `<select>` boxes behave, and play nicely with Rails' built-in form mechanisms. Pass arguments via the\n`form_arguments:` argument, including the Rails form builder object and the name of the field:\n\n```erb\n<% form_with(url: update_merge_strategy_path) do |f| %>\n <%= render(Primer::Alpha::ActionMenu.new(form_arguments: { builder: f, name: \"merge_strategy\" })) do |menu| %>\n <% menu.with_item(label: \"Fast forward\", data: { value: \"fast_forward\" }) %>\n <% menu.with_item(label: \"Recursive\", data: { value: \"recursive\" }) %>\n <% menu.with_item(label: \"Ours\", data: { value: \"ours\" }) %>\n <% menu.with_item(label: \"Theirs\", data: { value: \"theirs\" }) %>\n <% end %>\n<% end %>\n```\n\nThe value of the `data: { value: ... }` argument is sent to the server on submit, keyed using the name provided above\n(eg. `\"merge_strategy\"`). If no value is provided for an item, the value of that item is the item's label. Here's the\ncorresponding `MergeStrategyController` that might be written to handle the form above:\n\n```ruby\nclass MergeStrategyController < ApplicationController\n def update\n puts \"You chose #{merge_strategy_params[:merge_strategy]}\"\n end\n\n private\n\n def merge_strategy_params\n params.permit(:merge_strategy)\n end\nend\n```\n\n### `ActionMenu` items that submit forms\n\nWhereas `ActionMenu` items normally permit navigation via `<a>` tags which make HTTP `get` requests, `ActionMenu` items\nalso permit navigation via `POST` requests. To enable this behavior, include the `href:` argument as normal, but also pass\nthe `form_arguments:` argument to the appropriate item:\n\n```erb\n<%= render(Primer::Alpha::ActionMenu.new) do |menu| %>\n <% menu.with_item(\n label: \"Repository\",\n href: update_repo_grouping_path,\n form_arguments: {\n method: :post,\n name: \"group_by\",\n value: \"repository\"\n }\n ) %>\n<% end %>\n```\n\nMake sure to specify `method: :post`, as the default is `:get`. When clicked, the list item will submit a POST request to\nthe URL passed in the `href:` argument, including a parameter named `\"group_by\"` with a value of `\"repository\"`. If no value\nis given, the name, eg. `\"group_by\"`, will be used as the value.\n\nIt is possible to include multiple fields on submit. Instead of passing the `name:` and `value:` arguments, pass an array via\nthe `inputs:` argument:\n\n```erb\n<%= render(Primer::Alpha::ActionMenu.new) do |menu| %>\n <% menu.with_show_button { \"Group By\" } %>\n <% menu.with_item(\n label: \"Repository\",\n href: update_repo_grouping_path,\n form_arguments: {\n method: :post,\n inputs: [{\n name: \"group_by\",\n value: \"repository\"\n }, {\n name: \"some_other_field\",\n value: \"some value\",\n }],\n }\n ) %>\n<% end %>\n```\n\n### Form arguments\n\nThe following table summarizes the arguments allowed in the `form_arguments:` hash mentioned above.\n\n|Name |Type |Default|Description|\n|:----------------|:-------------|:------|:----------|\n|`method` |`Symbol` |`:get` |The HTTP request method to use to submit the form. One of `:get`, `:post`, `:patch`, `:put`, `:delete`, or `:head`|\n|`name` |`String` |`nil` |The name of the field that will be sent to the server on submit.|\n|`value` |`String` |`nil` |The value of the field that will be sent to the server on submit.|\n|`input_arguments`|`Hash` |`{}` |Additional key/value pairs to emit as HTML attributes on the `<input type=\"hidden\">` element.|\n|`inputs` |`Array<Hash>` |`[]` |An array of hashes representing HTML `<input type=\"hidden\">` elements. Must contain at least `name:` and `value:` keys. If additional key/value pairs are provided, they are emitted as HTML attributes on the `<input>` element. This argument supercedes the `name:`, `value:`, and `:input_arguments` arguments listed above.|\n\nThe elements of the `inputs:` array will be emitted as HTML `<input type=\"hidden\">` elements.",
1132
- "accessibility_docs": "The action for the menu item needs to be on the element with `role=\"menuitem\"`. Semantics are removed for everything\nnested inside of it. When a menu item is selected, the menu will close immediately.\n\nAdditional information around the keyboard functionality and implementation can be found on the\n[WAI-ARIA Authoring Practices](https://www.w3.org/TR/wai-aria-practices-1.2/#menu).",
1133
- "is_form_component": false,
1134
- "is_published": true,
1135
- "requires_js": true,
1136
- "component": "ActionMenu",
1137
- "status": "alpha",
1138
- "a11y_reviewed": false,
1139
- "short_name": "ActionMenu",
1140
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_menu.rb",
1141
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_menu/default/",
1142
- "parameters": [
1143
- {
1144
- "name": "menu_id",
1145
- "type": "String",
1146
- "default": "`self.class.generate_id`",
1147
- "description": "Id of the menu."
1148
- },
1149
- {
1150
- "name": "anchor_align",
1151
- "type": "Symbol",
1152
- "default": "`:start`",
1153
- "description": "One of `:center`, `:end`, or `:start`.."
1154
- },
1155
- {
1156
- "name": "anchor_side",
1157
- "type": "Symbol",
1158
- "default": "`:outside_bottom`",
1159
- "description": "One of `:inside_bottom`, `:inside_center`, `:inside_left`, `:inside_right`, `:inside_top`, `:outside_bottom`, `:outside_left`, `:outside_right`, or `:outside_top`.."
1160
- },
1161
- {
1162
- "name": "size",
1163
- "type": "Symbol",
1164
- "default": "`:auto`",
1165
- "description": "One of `:auto`, `:large`, `:medium`, `:medium_portrait`, `:small`, or `:xlarge`.."
1166
- },
1167
- {
1168
- "name": "src",
1169
- "type": "String",
1170
- "default": "`nil`",
1171
- "description": "Used with an `include-fragment` element to load menu content from the given source URL."
1172
- },
1173
- {
1174
- "name": "preload",
1175
- "type": "Boolean",
1176
- "default": "`false`",
1177
- "description": "When true, and src is present, loads the `include-fragment` on trigger hover."
1178
- },
1179
- {
1180
- "name": "dynamic_label",
1181
- "type": "Boolean",
1182
- "default": "`false`",
1183
- "description": "Whether or not to display the text of the currently selected item in the show button."
1184
- },
1185
- {
1186
- "name": "dynamic_label_prefix",
1187
- "type": "String",
1188
- "default": "`nil`",
1189
- "description": "If provided, the prefix is prepended to the dynamic label and displayed in the show button."
1190
- },
1191
- {
1192
- "name": "select_variant",
1193
- "type": "Symbol",
1194
- "default": "`:none`",
1195
- "description": "One of `:multiple`, `:none`, or `:single`."
1196
- },
1197
- {
1198
- "name": "form_arguments",
1199
- "type": "Hash",
1200
- "default": "`{}`",
1201
- "description": "Allows an `ActionMenu` to act as a select list in multi- and single-select modes. Pass the `builder:` and `name:` options to this hash. `builder:` should be an instance of `ActionView::Helpers::FormBuilder`, which are created by the standard Rails `#form_with` and `#form_for` helpers. The `name:` option is the desired name of the field that will be included in the params sent to the server on form submission."
1202
- },
1203
- {
1204
- "name": "system_arguments",
1205
- "type": "Hash",
1206
- "default": "N/A",
1207
- "description": "{{link_to_system_arguments_docs}}."
1208
- }
1209
- ],
1210
- "slots": [
1211
- {
1212
- "name": "show_button",
1213
- "description": "Button to activate the menu.",
1214
- "parameters": [
1215
- {
1216
- "name": "system_arguments",
1217
- "type": "Hash",
1222
+ "name": "system_arguments",
1223
+ "type": "Hash",
1218
1224
  "default": "N/A",
1219
1225
  "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::Overlay{{/link_to_component}}'s `show_button` slot."
1220
1226
  }
@@ -1374,6 +1380,32 @@
1374
1380
  ]
1375
1381
  }
1376
1382
  },
1383
+ {
1384
+ "preview_path": "primer/alpha/action_menu/with_groups",
1385
+ "name": "with_groups",
1386
+ "snapshot": "interactive",
1387
+ "skip_rules": {
1388
+ "wont_fix": [
1389
+ "region"
1390
+ ],
1391
+ "will_fix": [
1392
+ "color-contrast"
1393
+ ]
1394
+ }
1395
+ },
1396
+ {
1397
+ "preview_path": "primer/alpha/action_menu/with_items_and_groups",
1398
+ "name": "with_items_and_groups",
1399
+ "snapshot": "interactive",
1400
+ "skip_rules": {
1401
+ "wont_fix": [
1402
+ "region"
1403
+ ],
1404
+ "will_fix": [
1405
+ "color-contrast"
1406
+ ]
1407
+ }
1408
+ },
1377
1409
  {
1378
1410
  "preview_path": "primer/alpha/action_menu/wide",
1379
1411
  "name": "wide",
@@ -1676,43 +1708,85 @@
1676
1708
  ],
1677
1709
  "subcomponents": [
1678
1710
  {
1679
- "fully_qualified_name": "Primer::Alpha::ActionMenu::List",
1711
+ "fully_qualified_name": "Primer::Alpha::ActionMenu::Group",
1680
1712
  "description": "This component is part of {{#link_to_component}}Primer::Alpha::ActionMenu{{/link_to_component}} and should not be\nused as a standalone component.",
1681
1713
  "accessibility_docs": null,
1682
1714
  "is_form_component": false,
1683
1715
  "is_published": true,
1684
1716
  "requires_js": false,
1685
- "component": "ActionMenu::List",
1717
+ "component": "ActionMenu::Group",
1686
1718
  "status": "alpha",
1687
1719
  "a11y_reviewed": true,
1688
- "short_name": "ActionMenuList",
1689
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_menu/list.rb",
1690
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_menu/list/default/",
1720
+ "short_name": "ActionMenuGroup",
1721
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_menu/group.rb",
1722
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_menu/group/default/",
1691
1723
  "parameters": [
1692
1724
  {
1693
- "name": "menu_id",
1725
+ "name": "id",
1694
1726
  "type": "String",
1695
- "default": "N/A",
1696
- "description": "ID of the parent menu."
1727
+ "default": "`self.class.generate_id`",
1728
+ "description": "HTML ID value."
1697
1729
  },
1698
1730
  {
1699
- "name": "system_arguments",
1700
- "type": "Hash",
1701
- "default": "N/A",
1702
- "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionList{{/link_to_component}}"
1703
- }
1704
- ],
1705
- "slots": [
1731
+ "name": "role",
1732
+ "type": "Boolean",
1733
+ "default": "`nil`",
1734
+ "description": "ARIA role describing the function of the list. listbox and menu are a common values."
1735
+ },
1706
1736
  {
1707
- "name": "heading",
1708
- "description": "Heading text rendered above the list of items.",
1709
- "parameters": [
1710
- {
1711
- "name": "system_arguments",
1712
- "type": "Hash",
1713
- "default": "N/A",
1714
- "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionList::Heading{{/link_to_component}}."
1715
- }
1737
+ "name": "item_classes",
1738
+ "type": "String",
1739
+ "default": "`nil`",
1740
+ "description": "Additional CSS classes to attach to items."
1741
+ },
1742
+ {
1743
+ "name": "scheme",
1744
+ "type": "Symbol",
1745
+ "default": "`:full`",
1746
+ "description": "One of `:full` or `:inset`. `inset` children are offset (vertically and horizontally) from list edges. `full` (default) children are flush (vertically and horizontally) with list edges."
1747
+ },
1748
+ {
1749
+ "name": "show_dividers",
1750
+ "type": "Boolean",
1751
+ "default": "`false`",
1752
+ "description": "Display a divider above each item in the list when it does not follow a header or divider."
1753
+ },
1754
+ {
1755
+ "name": "select_variant",
1756
+ "type": "Symbol",
1757
+ "default": "`:none`",
1758
+ "description": "How items may be selected in the list. One of `:multiple`, `:multiple_checkbox`, `:none`, or `:single`."
1759
+ },
1760
+ {
1761
+ "name": "form_arguments",
1762
+ "type": "Hash",
1763
+ "default": "`{}`",
1764
+ "description": "Allows an `ActionList` to act as a select list in multi- and single-select modes. Pass the `builder:` and `name:` options to this hash. `builder:` should be an instance of `ActionView::Helpers::FormBuilder`, which are created by the standard Rails `#form_with` and `#form_for` helpers. The `name:` option is the desired name of the field that will be included in the params sent to the server on form submission. *NOTE*: Consider using an {{#link_to_component}}Primer::Alpha::ActionMenu{{/link_to_component}} instead of using this feature directly."
1765
+ },
1766
+ {
1767
+ "name": "system_arguments",
1768
+ "type": "Hash",
1769
+ "default": "N/A",
1770
+ "description": "{{link_to_system_arguments_docs}}"
1771
+ }
1772
+ ],
1773
+ "slots": [
1774
+ {
1775
+ "name": "heading",
1776
+ "description": "Heading text rendered above the list of items.",
1777
+ "parameters": [
1778
+ {
1779
+ "name": "component_klass",
1780
+ "type": "Class",
1781
+ "default": "N/A",
1782
+ "description": "The class to use instead of the default {{#link_to_component}}Primer::Alpha::ActionList::Heading{{/link_to_component}}."
1783
+ },
1784
+ {
1785
+ "name": "system_arguments",
1786
+ "type": "Hash",
1787
+ "default": "N/A",
1788
+ "description": "The arguments accepted by `component_klass`."
1789
+ }
1716
1790
  ]
1717
1791
  },
1718
1792
  {
@@ -1725,70 +1799,149 @@
1725
1799
  ],
1726
1800
  "methods": [
1727
1801
  {
1728
- "name": "with_item",
1729
- "description": "Adds a new item to the list.",
1802
+ "name": "with_heading",
1803
+ "description": "Heading text rendered above the list of items.",
1730
1804
  "parameters": [
1731
- {
1732
- "name": "data",
1733
- "type": "Hash",
1734
- "default": "`{}`",
1735
- "description": "When the menu is used as a form input (see the {{#link_to_component}}Primer::Alpha::ActionMenu{{/link_to_component}} docs), the label is submitted to the server by default. However, if the `data: { value: }` or `\"data-value\":` attribute is provided, it will be sent to the server instead."
1736
- },
1737
1805
  {
1738
1806
  "name": "system_arguments",
1739
1807
  "type": "Hash",
1740
1808
  "default": "N/A",
1741
- "description": "These arguments are forwarded to {{#link_to_component}}Primer::Alpha::ActionList::Item{{/link_to_component}}, or whatever class is passed as the `component_klass` argument."
1809
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionMenu::Heading{{/link_to_component}}."
1742
1810
  }
1743
1811
  ]
1812
+ }
1813
+ ],
1814
+ "previews": [
1815
+
1816
+ ],
1817
+ "subcomponents": [
1818
+
1819
+ ]
1820
+ },
1821
+ {
1822
+ "fully_qualified_name": "Primer::Alpha::ActionMenu::Heading",
1823
+ "description": "Heading used to describe groups within an action menu.",
1824
+ "accessibility_docs": null,
1825
+ "is_form_component": false,
1826
+ "is_published": true,
1827
+ "requires_js": false,
1828
+ "component": "ActionMenu::Heading",
1829
+ "status": "alpha",
1830
+ "a11y_reviewed": false,
1831
+ "short_name": "ActionMenuHeading",
1832
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_menu/heading.rb",
1833
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_menu/heading/default/",
1834
+ "parameters": [
1835
+
1836
+ ],
1837
+ "slots": [
1838
+
1839
+ ],
1840
+ "methods": [
1841
+
1842
+ ],
1843
+ "previews": [
1844
+
1845
+ ],
1846
+ "subcomponents": [
1847
+
1848
+ ]
1849
+ },
1850
+ {
1851
+ "fully_qualified_name": "Primer::Alpha::ActionMenu::ListWrapper",
1852
+ "description": "This component is part of {{#link_to_component}}Primer::Alpha::ActionMenu{{/link_to_component}} and should not be\nused as a standalone component.",
1853
+ "accessibility_docs": null,
1854
+ "is_form_component": false,
1855
+ "is_published": true,
1856
+ "requires_js": false,
1857
+ "component": "ActionMenu::ListWrapper",
1858
+ "status": "alpha",
1859
+ "a11y_reviewed": true,
1860
+ "short_name": "ActionMenuListWrapper",
1861
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_menu/list_wrapper.rb",
1862
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_menu/list_wrapper/default/",
1863
+ "parameters": [
1864
+ {
1865
+ "name": "menu_id",
1866
+ "type": "String",
1867
+ "default": "N/A",
1868
+ "description": "ID of the parent menu."
1744
1869
  },
1745
1870
  {
1746
- "name": "with_avatar_item",
1747
- "description": "Adds an avatar item to the list. Avatar items are a convenient way to accessibly add an item with a leading avatar image.",
1871
+ "name": "system_arguments",
1872
+ "type": "Hash",
1873
+ "default": "N/A",
1874
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionList{{/link_to_component}}"
1875
+ }
1876
+ ],
1877
+ "slots": [
1878
+ {
1879
+ "name": "heading",
1880
+ "description": "Heading text rendered above the list of items.",
1748
1881
  "parameters": [
1749
1882
  {
1750
- "name": "src",
1751
- "type": "String",
1752
- "default": "N/A",
1753
- "description": "The source url of the avatar image."
1754
- },
1755
- {
1756
- "name": "username",
1757
- "type": "String",
1883
+ "name": "component_klass",
1884
+ "type": "Class",
1758
1885
  "default": "N/A",
1759
- "description": "The username associated with the avatar."
1760
- },
1761
- {
1762
- "name": "full_name",
1763
- "type": "String",
1764
- "default": "`nil`",
1765
- "description": "Optional. The user's full name."
1766
- },
1767
- {
1768
- "name": "full_name_scheme",
1769
- "type": "Symbol",
1770
- "default": "`:block`",
1771
- "description": "Optional. How to display the user's full name. One of `:block` or `:inline`."
1772
- },
1773
- {
1774
- "name": "data",
1775
- "type": "Hash",
1776
- "default": "`{}`",
1777
- "description": "When the menu is used as a form input (see the {{#link_to_component}}Primer::Alpha::ActionMenu{{/link_to_component}} docs), the label is submitted to the server by default. However, if the `data: { value: }` or `\"data-value\":` attribute is provided, it will be sent to the server instead."
1778
- },
1779
- {
1780
- "name": "avatar_arguments",
1781
- "type": "Hash",
1782
- "default": "`{}`",
1783
- "description": "Optional. The arguments accepted by {{#link_to_component}}Primer::Beta::Avatar{{/link_to_component}}."
1886
+ "description": "The class to use instead of the default {{#link_to_component}}Primer::Alpha::ActionList::Heading{{/link_to_component}}."
1784
1887
  },
1785
1888
  {
1786
1889
  "name": "system_arguments",
1787
1890
  "type": "Hash",
1788
1891
  "default": "N/A",
1789
- "description": "These arguments are forwarded to {{#link_to_component}}Primer::Alpha::ActionList::Item{{/link_to_component}}, or whatever class is passed as the `component_klass` argument."
1892
+ "description": "The arguments accepted by `component_klass`."
1790
1893
  }
1791
1894
  ]
1895
+ },
1896
+ {
1897
+ "name": "items",
1898
+ "description": "Items. Items can be individual items, avatar items, or dividers. See the documentation for `#with_item`, `#with_divider`, and `#with_avatar_item` respectively for more information.",
1899
+ "parameters": [
1900
+
1901
+ ]
1902
+ }
1903
+ ],
1904
+ "methods": [
1905
+
1906
+ ],
1907
+ "previews": [
1908
+
1909
+ ],
1910
+ "subcomponents": [
1911
+
1912
+ ]
1913
+ },
1914
+ {
1915
+ "fully_qualified_name": "Primer::Alpha::ActionMenu::List",
1916
+ "description": "This component is part of {{#link_to_component}}Primer::Alpha::ActionMenu{{/link_to_component}} and should not be\nused as a standalone component.",
1917
+ "accessibility_docs": null,
1918
+ "is_form_component": false,
1919
+ "is_published": true,
1920
+ "requires_js": false,
1921
+ "component": "ActionMenu::List",
1922
+ "status": "alpha",
1923
+ "a11y_reviewed": false,
1924
+ "short_name": "ActionMenuList",
1925
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_menu/list.rb",
1926
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_menu/list/default/",
1927
+ "parameters": [
1928
+ {
1929
+ "name": "system_arguments",
1930
+ "type": "Hash",
1931
+ "default": "N/A",
1932
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionMenu::List{{/link_to_component}}"
1933
+ }
1934
+ ],
1935
+ "slots": [
1936
+
1937
+ ],
1938
+ "methods": [
1939
+ {
1940
+ "name": "items",
1941
+ "description": "Returns the value of attribute items.",
1942
+ "parameters": [
1943
+
1944
+ ]
1792
1945
  }
1793
1946
  ],
1794
1947
  "previews": [
@@ -3135,76 +3288,6 @@
3135
3288
  }
3136
3289
  ],
3137
3290
  "subcomponents": [
3138
- {
3139
- "fully_qualified_name": "Primer::Alpha::Dialog::Header",
3140
- "description": "A `Dialog::Header` is a compositional component, used to render the\nHeader of a dialog. See {{#link_to_component}}Primer::Alpha::Dialog{{/link_to_component}}.",
3141
- "accessibility_docs": null,
3142
- "is_form_component": false,
3143
- "is_published": true,
3144
- "requires_js": false,
3145
- "component": "Dialog::Header",
3146
- "status": "alpha",
3147
- "a11y_reviewed": true,
3148
- "short_name": "DialogHeader",
3149
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/dialog/header.rb",
3150
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/dialog/header/default/",
3151
- "parameters": [
3152
- {
3153
- "name": "id",
3154
- "type": "String",
3155
- "default": "N/A",
3156
- "description": "The HTML element's ID value."
3157
- },
3158
- {
3159
- "name": "title",
3160
- "type": "String",
3161
- "default": "N/A",
3162
- "description": "Describes the content of the dialog."
3163
- },
3164
- {
3165
- "name": "subtitle",
3166
- "type": "String",
3167
- "default": "`nil`",
3168
- "description": "Provides additional context for the dialog, also setting the `aria-describedby` attribute."
3169
- },
3170
- {
3171
- "name": "show_divider",
3172
- "type": "Boolean",
3173
- "default": "`false`",
3174
- "description": "Show a divider between the header and body."
3175
- },
3176
- {
3177
- "name": "visually_hide_title",
3178
- "type": "Boolean",
3179
- "default": "`false`",
3180
- "description": "Visually hide the `title` while maintaining a label for assistive technologies."
3181
- },
3182
- {
3183
- "name": "variant",
3184
- "type": "Symbol",
3185
- "default": "`:medium`",
3186
- "description": "One of `:large` or `:medium`."
3187
- },
3188
- {
3189
- "name": "system_arguments",
3190
- "type": "Hash",
3191
- "default": "N/A",
3192
- "description": "{{link_to_system_arguments_docs}}"
3193
- }
3194
- ],
3195
- "slots": [
3196
-
3197
- ],
3198
- "methods": [
3199
-
3200
- ],
3201
- "previews": [
3202
-
3203
- ],
3204
- "subcomponents": [
3205
-
3206
- ]
3207
- },
3208
3291
  {
3209
3292
  "fully_qualified_name": "Primer::Alpha::Dialog::Footer",
3210
3293
  "description": "A `Dialog::Footer` is a compositional component, used to render the\nFooter of a dialog. See {{#link_to_component}}Primer::Alpha::Dialog{{/link_to_component}}.",
@@ -3278,22 +3361,92 @@
3278
3361
  "subcomponents": [
3279
3362
 
3280
3363
  ]
3281
- }
3282
- ]
3283
- },
3284
- {
3285
- "fully_qualified_name": "Primer::Alpha::Dropdown",
3286
- "description": "`Dropdown` is a lightweight context menu for housing navigation and actions.\nThey're great for instances where you don't need the full power (and code) of the SelectMenu.",
3287
- "accessibility_docs": null,
3288
- "is_form_component": false,
3289
- "is_published": true,
3290
- "requires_js": true,
3291
- "component": "Dropdown",
3292
- "status": "alpha",
3293
- "a11y_reviewed": false,
3294
- "short_name": "Dropdown",
3295
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/dropdown.rb",
3296
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/dropdown/default/",
3364
+ },
3365
+ {
3366
+ "fully_qualified_name": "Primer::Alpha::Dialog::Header",
3367
+ "description": "A `Dialog::Header` is a compositional component, used to render the\nHeader of a dialog. See {{#link_to_component}}Primer::Alpha::Dialog{{/link_to_component}}.",
3368
+ "accessibility_docs": null,
3369
+ "is_form_component": false,
3370
+ "is_published": true,
3371
+ "requires_js": false,
3372
+ "component": "Dialog::Header",
3373
+ "status": "alpha",
3374
+ "a11y_reviewed": true,
3375
+ "short_name": "DialogHeader",
3376
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/dialog/header.rb",
3377
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/dialog/header/default/",
3378
+ "parameters": [
3379
+ {
3380
+ "name": "id",
3381
+ "type": "String",
3382
+ "default": "N/A",
3383
+ "description": "The HTML element's ID value."
3384
+ },
3385
+ {
3386
+ "name": "title",
3387
+ "type": "String",
3388
+ "default": "N/A",
3389
+ "description": "Describes the content of the dialog."
3390
+ },
3391
+ {
3392
+ "name": "subtitle",
3393
+ "type": "String",
3394
+ "default": "`nil`",
3395
+ "description": "Provides additional context for the dialog, also setting the `aria-describedby` attribute."
3396
+ },
3397
+ {
3398
+ "name": "show_divider",
3399
+ "type": "Boolean",
3400
+ "default": "`false`",
3401
+ "description": "Show a divider between the header and body."
3402
+ },
3403
+ {
3404
+ "name": "visually_hide_title",
3405
+ "type": "Boolean",
3406
+ "default": "`false`",
3407
+ "description": "Visually hide the `title` while maintaining a label for assistive technologies."
3408
+ },
3409
+ {
3410
+ "name": "variant",
3411
+ "type": "Symbol",
3412
+ "default": "`:medium`",
3413
+ "description": "One of `:large` or `:medium`."
3414
+ },
3415
+ {
3416
+ "name": "system_arguments",
3417
+ "type": "Hash",
3418
+ "default": "N/A",
3419
+ "description": "{{link_to_system_arguments_docs}}"
3420
+ }
3421
+ ],
3422
+ "slots": [
3423
+
3424
+ ],
3425
+ "methods": [
3426
+
3427
+ ],
3428
+ "previews": [
3429
+
3430
+ ],
3431
+ "subcomponents": [
3432
+
3433
+ ]
3434
+ }
3435
+ ]
3436
+ },
3437
+ {
3438
+ "fully_qualified_name": "Primer::Alpha::Dropdown",
3439
+ "description": "`Dropdown` is a lightweight context menu for housing navigation and actions.\nThey're great for instances where you don't need the full power (and code) of the SelectMenu.",
3440
+ "accessibility_docs": null,
3441
+ "is_form_component": false,
3442
+ "is_published": true,
3443
+ "requires_js": true,
3444
+ "component": "Dropdown",
3445
+ "status": "alpha",
3446
+ "a11y_reviewed": false,
3447
+ "short_name": "Dropdown",
3448
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/dropdown.rb",
3449
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/dropdown/default/",
3297
3450
  "parameters": [
3298
3451
  {
3299
3452
  "name": "overlay",
@@ -4560,20 +4713,31 @@
4560
4713
  ],
4561
4714
  "subcomponents": [
4562
4715
  {
4563
- "fully_qualified_name": "Primer::Alpha::Layout::Sidebar",
4564
- "description": "The layout's sidebar content.",
4716
+ "fully_qualified_name": "Primer::Alpha::Layout::Main",
4717
+ "description": "The layout's main content.",
4565
4718
  "accessibility_docs": null,
4566
4719
  "is_form_component": false,
4567
4720
  "is_published": true,
4568
4721
  "requires_js": false,
4569
- "component": "Layout::Sidebar",
4722
+ "component": "Layout::Main",
4570
4723
  "status": "alpha",
4571
4724
  "a11y_reviewed": false,
4572
- "short_name": "LayoutSidebar",
4573
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/layout/sidebar.rb",
4574
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/layout/sidebar/default/",
4725
+ "short_name": "LayoutMain",
4726
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/layout/main.rb",
4727
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/layout/main/default/",
4575
4728
  "parameters": [
4576
-
4729
+ {
4730
+ "name": "width",
4731
+ "type": "Symbol",
4732
+ "default": "`:full`",
4733
+ "description": "One of `:full`, `:lg`, `:md`, or `:xl`."
4734
+ },
4735
+ {
4736
+ "name": "system_arguments",
4737
+ "type": "Hash",
4738
+ "default": "N/A",
4739
+ "description": "{{link_to_system_arguments_docs}}"
4740
+ }
4577
4741
  ],
4578
4742
  "slots": [
4579
4743
 
@@ -4589,31 +4753,20 @@
4589
4753
  ]
4590
4754
  },
4591
4755
  {
4592
- "fully_qualified_name": "Primer::Alpha::Layout::Main",
4593
- "description": "The layout's main content.",
4756
+ "fully_qualified_name": "Primer::Alpha::Layout::Sidebar",
4757
+ "description": "The layout's sidebar content.",
4594
4758
  "accessibility_docs": null,
4595
4759
  "is_form_component": false,
4596
4760
  "is_published": true,
4597
4761
  "requires_js": false,
4598
- "component": "Layout::Main",
4762
+ "component": "Layout::Sidebar",
4599
4763
  "status": "alpha",
4600
4764
  "a11y_reviewed": false,
4601
- "short_name": "LayoutMain",
4602
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/layout/main.rb",
4603
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/layout/main/default/",
4765
+ "short_name": "LayoutSidebar",
4766
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/layout/sidebar.rb",
4767
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/layout/sidebar/default/",
4604
4768
  "parameters": [
4605
- {
4606
- "name": "width",
4607
- "type": "Symbol",
4608
- "default": "`:full`",
4609
- "description": "One of `:full`, `:lg`, `:md`, or `:xl`."
4610
- },
4611
- {
4612
- "name": "system_arguments",
4613
- "type": "Hash",
4614
- "default": "N/A",
4615
- "description": "{{link_to_system_arguments_docs}}"
4616
- }
4769
+
4617
4770
  ],
4618
4771
  "slots": [
4619
4772
 
@@ -4981,42 +5134,24 @@
4981
5134
  ],
4982
5135
  "subcomponents": [
4983
5136
  {
4984
- "fully_qualified_name": "Primer::Alpha::NavList::Item",
5137
+ "fully_qualified_name": "Primer::Alpha::NavList::Divider",
4985
5138
  "description": ":nodoc:",
4986
5139
  "accessibility_docs": null,
4987
5140
  "is_form_component": false,
4988
5141
  "is_published": true,
4989
- "requires_js": true,
4990
- "component": "NavList::Item",
5142
+ "requires_js": false,
5143
+ "component": "NavList::Divider",
4991
5144
  "status": "deprecated",
4992
5145
  "a11y_reviewed": false,
4993
- "short_name": "NavListItem",
4994
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/item.rb",
4995
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/item/default/",
5146
+ "short_name": "NavListDivider",
5147
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/divider.rb",
5148
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/divider/default/",
4996
5149
  "parameters": [
4997
5150
  {
4998
- "name": "selected_item_id",
5151
+ "name": "scheme",
4999
5152
  "type": "Symbol",
5000
- "default": "`nil`",
5001
- "description": "The ID of the currently selected list item. Used internally."
5002
- },
5003
- {
5004
- "name": "selected_by_ids",
5005
- "type": "Array<Symbol>",
5006
- "default": "`[]`",
5007
- "description": "The list of IDs that select this item. In other words, if the `selected_item_id` attribute on the parent `NavList` is set to one of these IDs, the item will appear selected."
5008
- },
5009
- {
5010
- "name": "expanded",
5011
- "type": "Boolean",
5012
- "default": "`false`",
5013
- "description": "Whether this item shows (expands) or hides (collapses) its list of sub items."
5014
- },
5015
- {
5016
- "name": "sub_item",
5017
- "type": "Boolean",
5018
- "default": "`false`",
5019
- "description": "Whether or not this item is nested under a parent item. Used internally."
5153
+ "default": "`:subtle`",
5154
+ "description": "Display a background color if scheme is `filled`."
5020
5155
  },
5021
5156
  {
5022
5157
  "name": "system_arguments",
@@ -5026,69 +5161,7 @@
5026
5161
  }
5027
5162
  ],
5028
5163
  "slots": [
5029
- {
5030
- "name": "items",
5031
- "description": null,
5032
- "parameters": [
5033
- {
5034
- "name": "system_arguments",
5035
- "type": "Hash",
5036
- "default": "N/A",
5037
- "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionList::Item{{/link_to_component}}."
5038
- }
5039
- ]
5040
- },
5041
- {
5042
- "name": "description",
5043
- "description": "Description content that complements the item's label. See `ActionList`'s `description_scheme` argument\nfor layout options.",
5044
- "parameters": [
5045
-
5046
- ]
5047
- },
5048
- {
5049
- "name": "leading_visual",
5050
- "description": "An icon, avatar, SVG, or custom content that will render to the left of the label.\n\nTo render an icon, call the `with_leading_visual_icon` method, which accepts the arguments accepted by {{#link_to_component}}Primer::Beta::Octicon{{/link_to_component}}.\n\nTo render an SVG, call the `with_leading_visual_svg` method.\n\nTo render custom content, call the `with_leading_visual_content` method and pass a block that returns a string.",
5051
- "parameters": [
5052
-
5053
- ]
5054
- },
5055
- {
5056
- "name": "trailing_visual",
5057
- "description": "An icon, label, counter, or text to render to the right of the label.\n\nTo render an icon, call the `with_leading_visual_icon` method, which accepts the arguments accepted by {{#link_to_component}}Primer::Beta::Octicon{{/link_to_component}}.\n\nTo render a label, call the `with_leading_visual_label` method, which accepts the arguments accepted by {{#link_to_component}}Primer::Beta::Label{{/link_to_component}}.\n\nTo render a counter, call the `with_leading_visual_counter` method, which accepts the arguments accepted by {{#link_to_component}}Primer::Beta::Counter{{/link_to_component}}.\n\nTo render text, call the `with_leading_visual_text` method and pass a block that returns a string. Eg:\n```ruby\nwith_leading_visual_text { \"Text here\" }\n```",
5058
- "parameters": [
5059
5164
 
5060
- ]
5061
- },
5062
- {
5063
- "name": "trailing_action",
5064
- "description": "A button rendered after the trailing icon that can be used to show a menu, activate\na dialog, etc.",
5065
- "parameters": [
5066
- {
5067
- "name": "system_arguments",
5068
- "type": "Hash",
5069
- "default": "N/A",
5070
- "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::IconButton{{/link_to_component}}."
5071
- }
5072
- ]
5073
- },
5074
- {
5075
- "name": "tooltip",
5076
- "description": "`Tooltip` that appears on mouse hover or keyboard focus over the trailing action button. Use tooltips sparingly and as\na last resort. **Important:** This tooltip defaults to `type: :description`. In a few scenarios, `type: :label` may be\nmore appropriate. Consult the {{#link_to_component}}Primer::Alpha::Tooltip{{/link_to_component}} documentation for more information.",
5077
- "parameters": [
5078
- {
5079
- "name": "type",
5080
- "type": "Symbol",
5081
- "default": "`:description`",
5082
- "description": "One of `:description` or `:label`."
5083
- },
5084
- {
5085
- "name": "system_arguments",
5086
- "type": "Hash",
5087
- "default": "N/A",
5088
- "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::Tooltip{{/link_to_component}}."
5089
- }
5090
- ]
5091
- }
5092
5165
  ],
5093
5166
  "methods": [
5094
5167
 
@@ -5101,36 +5174,24 @@
5101
5174
  ]
5102
5175
  },
5103
5176
  {
5104
- "fully_qualified_name": "Primer::Alpha::NavList::Heading",
5177
+ "fully_qualified_name": "Primer::Alpha::NavList::Group",
5105
5178
  "description": ":nodoc:",
5106
5179
  "accessibility_docs": null,
5107
5180
  "is_form_component": false,
5108
5181
  "is_published": true,
5109
- "requires_js": false,
5110
- "component": "NavList::Heading",
5182
+ "requires_js": true,
5183
+ "component": "NavList::Group",
5111
5184
  "status": "deprecated",
5112
- "a11y_reviewed": false,
5113
- "short_name": "NavListHeading",
5114
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/heading.rb",
5115
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/heading/default/",
5185
+ "a11y_reviewed": true,
5186
+ "short_name": "NavListGroup",
5187
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/group.rb",
5188
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/group/default/",
5116
5189
  "parameters": [
5117
5190
  {
5118
- "name": "title",
5119
- "type": "String",
5120
- "default": "N/A",
5121
- "description": "The text content of the heading."
5122
- },
5123
- {
5124
- "name": "id",
5125
- "type": "String",
5126
- "default": "`self.class.generate_id`",
5127
- "description": "The value of the ID HTML attribute. Auto-generated by default."
5128
- },
5129
- {
5130
- "name": "heading_level",
5131
- "type": "Integer",
5132
- "default": "`2`",
5133
- "description": "The heading level, i.e. 2 for an `<h2>`, 3 for an `<h3>`, etc."
5191
+ "name": "selected_item_id",
5192
+ "type": "Symbol",
5193
+ "default": "`nil`",
5194
+ "description": "The ID of the currently selected item. Used internally."
5134
5195
  },
5135
5196
  {
5136
5197
  "name": "system_arguments",
@@ -5140,7 +5201,66 @@
5140
5201
  }
5141
5202
  ],
5142
5203
  "slots": [
5143
-
5204
+ {
5205
+ "name": "show_more_item",
5206
+ "description": "A special \"show more\" list item that appears at the bottom of the group. Clicking\nthe item will fetch the next page of results from the URL passed in the `src` argument\nand append the resulting chunk of HTML to the group.",
5207
+ "parameters": [
5208
+ {
5209
+ "name": "src",
5210
+ "type": "String",
5211
+ "default": "N/A",
5212
+ "description": "The URL to query for additional pages of list items."
5213
+ },
5214
+ {
5215
+ "name": "pages",
5216
+ "type": "Integer",
5217
+ "default": "N/A",
5218
+ "description": "The total number of pages in the result set."
5219
+ },
5220
+ {
5221
+ "name": "component_klass",
5222
+ "type": "Class",
5223
+ "default": "N/A",
5224
+ "description": "A component class to use instead of the default `Primer::Beta::NavList::Item` class."
5225
+ },
5226
+ {
5227
+ "name": "system_arguments",
5228
+ "type": "Hash",
5229
+ "default": "N/A",
5230
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}."
5231
+ }
5232
+ ]
5233
+ },
5234
+ {
5235
+ "name": "items",
5236
+ "description": "Items.",
5237
+ "parameters": [
5238
+ {
5239
+ "name": "system_arguments",
5240
+ "type": "Hash",
5241
+ "default": "N/A",
5242
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}."
5243
+ }
5244
+ ]
5245
+ },
5246
+ {
5247
+ "name": "heading",
5248
+ "description": "Heading text rendered above the list of items.",
5249
+ "parameters": [
5250
+ {
5251
+ "name": "component_klass",
5252
+ "type": "Class",
5253
+ "default": "N/A",
5254
+ "description": "The class to use instead of the default {{#link_to_component}}Primer::Alpha::ActionList::Heading{{/link_to_component}}."
5255
+ },
5256
+ {
5257
+ "name": "system_arguments",
5258
+ "type": "Hash",
5259
+ "default": "N/A",
5260
+ "description": "The arguments accepted by `component_klass`."
5261
+ }
5262
+ ]
5263
+ }
5144
5264
  ],
5145
5265
  "methods": [
5146
5266
 
@@ -5153,24 +5273,36 @@
5153
5273
  ]
5154
5274
  },
5155
5275
  {
5156
- "fully_qualified_name": "Primer::Alpha::NavList::Divider",
5276
+ "fully_qualified_name": "Primer::Alpha::NavList::Heading",
5157
5277
  "description": ":nodoc:",
5158
5278
  "accessibility_docs": null,
5159
5279
  "is_form_component": false,
5160
5280
  "is_published": true,
5161
5281
  "requires_js": false,
5162
- "component": "NavList::Divider",
5282
+ "component": "NavList::Heading",
5163
5283
  "status": "deprecated",
5164
5284
  "a11y_reviewed": false,
5165
- "short_name": "NavListDivider",
5166
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/divider.rb",
5167
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/divider/default/",
5285
+ "short_name": "NavListHeading",
5286
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/heading.rb",
5287
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/heading/default/",
5168
5288
  "parameters": [
5169
5289
  {
5170
- "name": "scheme",
5171
- "type": "Symbol",
5172
- "default": "`:subtle`",
5173
- "description": "Display a background color if scheme is `filled`."
5290
+ "name": "title",
5291
+ "type": "String",
5292
+ "default": "N/A",
5293
+ "description": "The text content of the heading."
5294
+ },
5295
+ {
5296
+ "name": "id",
5297
+ "type": "String",
5298
+ "default": "`self.class.generate_id`",
5299
+ "description": "The value of the ID HTML attribute. Auto-generated by default."
5300
+ },
5301
+ {
5302
+ "name": "heading_level",
5303
+ "type": "Integer",
5304
+ "default": "`2`",
5305
+ "description": "The heading level, i.e. 2 for an `<h2>`, 3 for an `<h3>`, etc."
5174
5306
  },
5175
5307
  {
5176
5308
  "name": "system_arguments",
@@ -5193,24 +5325,42 @@
5193
5325
  ]
5194
5326
  },
5195
5327
  {
5196
- "fully_qualified_name": "Primer::Alpha::NavList::Group",
5328
+ "fully_qualified_name": "Primer::Alpha::NavList::Item",
5197
5329
  "description": ":nodoc:",
5198
5330
  "accessibility_docs": null,
5199
5331
  "is_form_component": false,
5200
5332
  "is_published": true,
5201
5333
  "requires_js": true,
5202
- "component": "NavList::Group",
5334
+ "component": "NavList::Item",
5203
5335
  "status": "deprecated",
5204
- "a11y_reviewed": true,
5205
- "short_name": "NavListGroup",
5206
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/group.rb",
5207
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/group/default/",
5336
+ "a11y_reviewed": false,
5337
+ "short_name": "NavListItem",
5338
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/item.rb",
5339
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/item/default/",
5208
5340
  "parameters": [
5209
5341
  {
5210
5342
  "name": "selected_item_id",
5211
5343
  "type": "Symbol",
5212
5344
  "default": "`nil`",
5213
- "description": "The ID of the currently selected item. Used internally."
5345
+ "description": "The ID of the currently selected list item. Used internally."
5346
+ },
5347
+ {
5348
+ "name": "selected_by_ids",
5349
+ "type": "Array<Symbol>",
5350
+ "default": "`[]`",
5351
+ "description": "The list of IDs that select this item. In other words, if the `selected_item_id` attribute on the parent `NavList` is set to one of these IDs, the item will appear selected."
5352
+ },
5353
+ {
5354
+ "name": "expanded",
5355
+ "type": "Boolean",
5356
+ "default": "`false`",
5357
+ "description": "Whether this item shows (expands) or hides (collapses) its list of sub items."
5358
+ },
5359
+ {
5360
+ "name": "sub_item",
5361
+ "type": "Boolean",
5362
+ "default": "`false`",
5363
+ "description": "Whether or not this item is nested under a parent item. Used internally."
5214
5364
  },
5215
5365
  {
5216
5366
  "name": "system_arguments",
@@ -5221,56 +5371,65 @@
5221
5371
  ],
5222
5372
  "slots": [
5223
5373
  {
5224
- "name": "show_more_item",
5225
- "description": "A special \"show more\" list item that appears at the bottom of the group. Clicking\nthe item will fetch the next page of results from the URL passed in the `src` argument\nand append the resulting chunk of HTML to the group.",
5374
+ "name": "items",
5375
+ "description": null,
5226
5376
  "parameters": [
5227
- {
5228
- "name": "src",
5229
- "type": "String",
5230
- "default": "N/A",
5231
- "description": "The URL to query for additional pages of list items."
5232
- },
5233
- {
5234
- "name": "pages",
5235
- "type": "Integer",
5236
- "default": "N/A",
5237
- "description": "The total number of pages in the result set."
5238
- },
5239
- {
5240
- "name": "component_klass",
5241
- "type": "Class",
5242
- "default": "N/A",
5243
- "description": "A component class to use instead of the default `Primer::Beta::NavList::Item` class."
5244
- },
5245
5377
  {
5246
5378
  "name": "system_arguments",
5247
5379
  "type": "Hash",
5248
5380
  "default": "N/A",
5249
- "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}."
5381
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionList::Item{{/link_to_component}}."
5250
5382
  }
5251
5383
  ]
5252
5384
  },
5253
5385
  {
5254
- "name": "items",
5255
- "description": "Items.",
5386
+ "name": "description",
5387
+ "description": "Description content that complements the item's label. See `ActionList`'s `description_scheme` argument\nfor layout options.",
5388
+ "parameters": [
5389
+
5390
+ ]
5391
+ },
5392
+ {
5393
+ "name": "leading_visual",
5394
+ "description": "An icon, avatar, SVG, or custom content that will render to the left of the label.\n\nTo render an icon, call the `with_leading_visual_icon` method, which accepts the arguments accepted by {{#link_to_component}}Primer::Beta::Octicon{{/link_to_component}}.\n\nTo render an SVG, call the `with_leading_visual_svg` method.\n\nTo render custom content, call the `with_leading_visual_content` method and pass a block that returns a string.",
5395
+ "parameters": [
5396
+
5397
+ ]
5398
+ },
5399
+ {
5400
+ "name": "trailing_visual",
5401
+ "description": "An icon, label, counter, or text to render to the right of the label.\n\nTo render an icon, call the `with_leading_visual_icon` method, which accepts the arguments accepted by {{#link_to_component}}Primer::Beta::Octicon{{/link_to_component}}.\n\nTo render a label, call the `with_leading_visual_label` method, which accepts the arguments accepted by {{#link_to_component}}Primer::Beta::Label{{/link_to_component}}.\n\nTo render a counter, call the `with_leading_visual_counter` method, which accepts the arguments accepted by {{#link_to_component}}Primer::Beta::Counter{{/link_to_component}}.\n\nTo render text, call the `with_leading_visual_text` method and pass a block that returns a string. Eg:\n```ruby\nwith_leading_visual_text { \"Text here\" }\n```",
5402
+ "parameters": [
5403
+
5404
+ ]
5405
+ },
5406
+ {
5407
+ "name": "trailing_action",
5408
+ "description": "A button rendered after the trailing icon that can be used to show a menu, activate\na dialog, etc.",
5256
5409
  "parameters": [
5257
5410
  {
5258
5411
  "name": "system_arguments",
5259
5412
  "type": "Hash",
5260
5413
  "default": "N/A",
5261
- "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}."
5414
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::IconButton{{/link_to_component}}."
5262
5415
  }
5263
5416
  ]
5264
5417
  },
5265
5418
  {
5266
- "name": "heading",
5267
- "description": "Heading text rendered above the list of items.",
5419
+ "name": "tooltip",
5420
+ "description": "`Tooltip` that appears on mouse hover or keyboard focus over the trailing action button. Use tooltips sparingly and as\na last resort. **Important:** This tooltip defaults to `type: :description`. In a few scenarios, `type: :label` may be\nmore appropriate. Consult the {{#link_to_component}}Primer::Alpha::Tooltip{{/link_to_component}} documentation for more information.",
5268
5421
  "parameters": [
5422
+ {
5423
+ "name": "type",
5424
+ "type": "Symbol",
5425
+ "default": "`:description`",
5426
+ "description": "One of `:description` or `:label`."
5427
+ },
5269
5428
  {
5270
5429
  "name": "system_arguments",
5271
5430
  "type": "Hash",
5272
5431
  "default": "N/A",
5273
- "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionList::Heading{{/link_to_component}}."
5432
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::Tooltip{{/link_to_component}}."
5274
5433
  }
5275
5434
  ]
5276
5435
  }
@@ -5758,54 +5917,30 @@
5758
5917
  ],
5759
5918
  "subcomponents": [
5760
5919
  {
5761
- "fully_qualified_name": "Primer::Alpha::Overlay::Header",
5762
- "description": "A `Overlay::Header` is a compositional component, used to render the\nHeader of an overlay. See {{#link_to_component}}Primer::Alpha::Overlay{{/link_to_component}}.",
5920
+ "fully_qualified_name": "Primer::Alpha::Overlay::Footer",
5921
+ "description": "A `Overlay::Footer` is a compositional component, used to render the\nFooter of an overlay. See {{#link_to_component}}Primer::Alpha::Overlay{{/link_to_component}}.",
5763
5922
  "accessibility_docs": null,
5764
5923
  "is_form_component": false,
5765
5924
  "is_published": true,
5766
5925
  "requires_js": false,
5767
- "component": "Overlay::Header",
5926
+ "component": "Overlay::Footer",
5768
5927
  "status": "alpha",
5769
5928
  "a11y_reviewed": false,
5770
- "short_name": "OverlayHeader",
5771
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/overlay/header.rb",
5772
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/overlay/header/default/",
5929
+ "short_name": "OverlayFooter",
5930
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/overlay/footer.rb",
5931
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/overlay/footer/default/",
5773
5932
  "parameters": [
5774
5933
  {
5775
- "name": "title",
5776
- "type": "String",
5777
- "default": "N/A",
5778
- "description": "Describes the content of the Overlay."
5779
- },
5780
- {
5781
- "name": "subtitle",
5782
- "type": "String",
5783
- "default": "`nil`",
5784
- "description": "Provides additional context for the Overlay, also setting the `aria-describedby` attribute."
5785
- },
5786
- {
5787
- "name": "overlay_id",
5788
- "type": "String",
5789
- "default": "`nil`",
5790
- "description": "Provides the id of the overlay element so the close button can close it"
5791
- },
5792
- {
5793
- "name": "size",
5794
- "type": "Symbol",
5795
- "default": "`:medium`",
5796
- "description": "The size of the Header. One of `:large` or `:medium`."
5797
- },
5798
- {
5799
- "name": "divider",
5934
+ "name": "show_divider",
5800
5935
  "type": "Boolean",
5801
5936
  "default": "`false`",
5802
- "description": "Show a divider between the header and body."
5937
+ "description": "Show a divider between the footer and body."
5803
5938
  },
5804
5939
  {
5805
- "name": "visually_hide_title",
5806
- "type": "Boolean",
5807
- "default": "`false`",
5808
- "description": "Visually hide the `title` while maintaining a label for assistive technologies."
5940
+ "name": "align_content",
5941
+ "type": "Symbol",
5942
+ "default": "`DEFAULT_ALIGN_CONTENT`",
5943
+ "description": "The alginment of contents. One of `:center`, `:end`, or `:start`."
5809
5944
  },
5810
5945
  {
5811
5946
  "name": "system_arguments",
@@ -5828,31 +5963,19 @@
5828
5963
  ]
5829
5964
  },
5830
5965
  {
5831
- "fully_qualified_name": "Primer::Alpha::Overlay::Footer",
5832
- "description": "A `Overlay::Footer` is a compositional component, used to render the\nFooter of an overlay. See {{#link_to_component}}Primer::Alpha::Overlay{{/link_to_component}}.",
5966
+ "fully_qualified_name": "Primer::Alpha::Overlay::Body",
5967
+ "description": "A `Overlay::Body` is a compositional component, used to render the\nBody of an overlay. See {{#link_to_component}}Primer::Alpha::Overlay{{/link_to_component}}.",
5833
5968
  "accessibility_docs": null,
5834
5969
  "is_form_component": false,
5835
5970
  "is_published": true,
5836
5971
  "requires_js": false,
5837
- "component": "Overlay::Footer",
5972
+ "component": "Overlay::Body",
5838
5973
  "status": "alpha",
5839
5974
  "a11y_reviewed": false,
5840
- "short_name": "OverlayFooter",
5841
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/overlay/footer.rb",
5842
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/overlay/footer/default/",
5975
+ "short_name": "OverlayBody",
5976
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/overlay/body.rb",
5977
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/overlay/body/default/",
5843
5978
  "parameters": [
5844
- {
5845
- "name": "show_divider",
5846
- "type": "Boolean",
5847
- "default": "`false`",
5848
- "description": "Show a divider between the footer and body."
5849
- },
5850
- {
5851
- "name": "align_content",
5852
- "type": "Symbol",
5853
- "default": "`DEFAULT_ALIGN_CONTENT`",
5854
- "description": "The alginment of contents. One of `:center`, `:end`, or `:start`."
5855
- },
5856
5979
  {
5857
5980
  "name": "system_arguments",
5858
5981
  "type": "Hash",
@@ -5874,19 +5997,55 @@
5874
5997
  ]
5875
5998
  },
5876
5999
  {
5877
- "fully_qualified_name": "Primer::Alpha::Overlay::Body",
5878
- "description": "A `Overlay::Body` is a compositional component, used to render the\nBody of an overlay. See {{#link_to_component}}Primer::Alpha::Overlay{{/link_to_component}}.",
6000
+ "fully_qualified_name": "Primer::Alpha::Overlay::Header",
6001
+ "description": "A `Overlay::Header` is a compositional component, used to render the\nHeader of an overlay. See {{#link_to_component}}Primer::Alpha::Overlay{{/link_to_component}}.",
5879
6002
  "accessibility_docs": null,
5880
6003
  "is_form_component": false,
5881
6004
  "is_published": true,
5882
6005
  "requires_js": false,
5883
- "component": "Overlay::Body",
6006
+ "component": "Overlay::Header",
5884
6007
  "status": "alpha",
5885
6008
  "a11y_reviewed": false,
5886
- "short_name": "OverlayBody",
5887
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/overlay/body.rb",
5888
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/overlay/body/default/",
6009
+ "short_name": "OverlayHeader",
6010
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/overlay/header.rb",
6011
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/overlay/header/default/",
5889
6012
  "parameters": [
6013
+ {
6014
+ "name": "title",
6015
+ "type": "String",
6016
+ "default": "N/A",
6017
+ "description": "Describes the content of the Overlay."
6018
+ },
6019
+ {
6020
+ "name": "subtitle",
6021
+ "type": "String",
6022
+ "default": "`nil`",
6023
+ "description": "Provides additional context for the Overlay, also setting the `aria-describedby` attribute."
6024
+ },
6025
+ {
6026
+ "name": "overlay_id",
6027
+ "type": "String",
6028
+ "default": "`nil`",
6029
+ "description": "Provides the id of the overlay element so the close button can close it"
6030
+ },
6031
+ {
6032
+ "name": "size",
6033
+ "type": "Symbol",
6034
+ "default": "`:medium`",
6035
+ "description": "The size of the Header. One of `:large` or `:medium`."
6036
+ },
6037
+ {
6038
+ "name": "divider",
6039
+ "type": "Boolean",
6040
+ "default": "`false`",
6041
+ "description": "Show a divider between the header and body."
6042
+ },
6043
+ {
6044
+ "name": "visually_hide_title",
6045
+ "type": "Boolean",
6046
+ "default": "`false`",
6047
+ "description": "Visually hide the `title` while maintaining a label for assistive technologies."
6048
+ },
5890
6049
  {
5891
6050
  "name": "system_arguments",
5892
6051
  "type": "Hash",
@@ -12844,6 +13003,46 @@
12844
13003
  }
12845
13004
  ],
12846
13005
  "subcomponents": [
13006
+ {
13007
+ "fully_qualified_name": "Primer::Beta::NavList::Divider",
13008
+ "description": "Separator with optional text rendered above groups or between individual items.",
13009
+ "accessibility_docs": null,
13010
+ "is_form_component": false,
13011
+ "is_published": true,
13012
+ "requires_js": false,
13013
+ "component": "NavList::Divider",
13014
+ "status": "alpha",
13015
+ "a11y_reviewed": false,
13016
+ "short_name": "NavListDivider",
13017
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/nav_list/divider.rb",
13018
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/nav_list/divider/default/",
13019
+ "parameters": [
13020
+ {
13021
+ "name": "scheme",
13022
+ "type": "Symbol",
13023
+ "default": "`:subtle`",
13024
+ "description": "Display a background color if scheme is `filled`."
13025
+ },
13026
+ {
13027
+ "name": "system_arguments",
13028
+ "type": "Hash",
13029
+ "default": "N/A",
13030
+ "description": "{{link_to_system_arguments_docs}}"
13031
+ }
13032
+ ],
13033
+ "slots": [
13034
+
13035
+ ],
13036
+ "methods": [
13037
+
13038
+ ],
13039
+ "previews": [
13040
+
13041
+ ],
13042
+ "subcomponents": [
13043
+
13044
+ ]
13045
+ },
12847
13046
  {
12848
13047
  "fully_qualified_name": "Primer::Beta::NavList::Heading",
12849
13048
  "description": "The heading placed above a `NavList`'s items.\n\nSee {{#link_to_component}}Primer::Beta::NavList{{/link_to_component}} for usage examples.",
@@ -12923,6 +13122,111 @@
12923
13122
 
12924
13123
  ]
12925
13124
  },
13125
+ {
13126
+ "fully_qualified_name": "Primer::Beta::NavList::Group",
13127
+ "description": "A logical grouping of navigation links with an optional heading.\n\nSee {{#link_to_component}}Primer::Beta::NavList{{/link_to_component}} for usage examples.",
13128
+ "accessibility_docs": null,
13129
+ "is_form_component": false,
13130
+ "is_published": true,
13131
+ "requires_js": true,
13132
+ "component": "NavList::Group",
13133
+ "status": "alpha",
13134
+ "a11y_reviewed": true,
13135
+ "short_name": "NavListGroup",
13136
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/nav_list/group.rb",
13137
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/nav_list/group/default/",
13138
+ "parameters": [
13139
+ {
13140
+ "name": "selected_item_id",
13141
+ "type": "Symbol",
13142
+ "default": "`nil`",
13143
+ "description": "The ID of the currently selected item. Used internally."
13144
+ },
13145
+ {
13146
+ "name": "system_arguments",
13147
+ "type": "Hash",
13148
+ "default": "N/A",
13149
+ "description": "{{link_to_system_arguments_docs}}"
13150
+ }
13151
+ ],
13152
+ "slots": [
13153
+ {
13154
+ "name": "show_more_item",
13155
+ "description": "A special \"show more\" list item that appears at the bottom of the group. Clicking\nthe item will fetch the next page of results from the URL passed in the `src` argument\nand append the resulting chunk of HTML to the group.",
13156
+ "parameters": [
13157
+ {
13158
+ "name": "src",
13159
+ "type": "String",
13160
+ "default": "N/A",
13161
+ "description": "The URL to query for additional pages of list items."
13162
+ },
13163
+ {
13164
+ "name": "pages",
13165
+ "type": "Integer",
13166
+ "default": "N/A",
13167
+ "description": "The total number of pages in the result set."
13168
+ },
13169
+ {
13170
+ "name": "component_klass",
13171
+ "type": "Class",
13172
+ "default": "N/A",
13173
+ "description": "A component class to use instead of the default `Primer::Beta::NavList::Item` class."
13174
+ },
13175
+ {
13176
+ "name": "system_arguments",
13177
+ "type": "Hash",
13178
+ "default": "N/A",
13179
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}."
13180
+ }
13181
+ ]
13182
+ },
13183
+ {
13184
+ "name": "items",
13185
+ "description": "Items.",
13186
+ "parameters": [
13187
+ {
13188
+ "name": "system_arguments",
13189
+ "type": "Hash",
13190
+ "default": "N/A",
13191
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}."
13192
+ }
13193
+ ]
13194
+ },
13195
+ {
13196
+ "name": "heading",
13197
+ "description": "Heading text rendered above the list of items.",
13198
+ "parameters": [
13199
+ {
13200
+ "name": "component_klass",
13201
+ "type": "Class",
13202
+ "default": "N/A",
13203
+ "description": "The class to use instead of the default {{#link_to_component}}Primer::Alpha::ActionList::Heading{{/link_to_component}}."
13204
+ },
13205
+ {
13206
+ "name": "system_arguments",
13207
+ "type": "Hash",
13208
+ "default": "N/A",
13209
+ "description": "The arguments accepted by `component_klass`."
13210
+ }
13211
+ ]
13212
+ }
13213
+ ],
13214
+ "methods": [
13215
+ {
13216
+ "name": "expand!",
13217
+ "description": "Cause this group to show its list of sub items when rendered.\n:nocov:",
13218
+ "parameters": [
13219
+
13220
+ ]
13221
+ }
13222
+ ],
13223
+ "previews": [
13224
+
13225
+ ],
13226
+ "subcomponents": [
13227
+
13228
+ ]
13229
+ },
12926
13230
  {
12927
13231
  "fully_qualified_name": "Primer::Beta::NavList::Item",
12928
13232
  "description": "Items are rendered as styled links. They can optionally include leading and/or trailing visuals,\nsuch as icons, avatars, and counters. Items are selected by ID. IDs can be specified via the\n`selected_item_ids` argument, which accepts a list of valid IDs for the item. Items can also\nthemselves contain sub items. Sub items are rendered collapsed by default.",
@@ -13075,145 +13379,6 @@
13075
13379
  ],
13076
13380
  "subcomponents": [
13077
13381
 
13078
- ]
13079
- },
13080
- {
13081
- "fully_qualified_name": "Primer::Beta::NavList::Divider",
13082
- "description": "Separator with optional text rendered above groups or between individual items.",
13083
- "accessibility_docs": null,
13084
- "is_form_component": false,
13085
- "is_published": true,
13086
- "requires_js": false,
13087
- "component": "NavList::Divider",
13088
- "status": "alpha",
13089
- "a11y_reviewed": false,
13090
- "short_name": "NavListDivider",
13091
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/nav_list/divider.rb",
13092
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/nav_list/divider/default/",
13093
- "parameters": [
13094
- {
13095
- "name": "scheme",
13096
- "type": "Symbol",
13097
- "default": "`:subtle`",
13098
- "description": "Display a background color if scheme is `filled`."
13099
- },
13100
- {
13101
- "name": "system_arguments",
13102
- "type": "Hash",
13103
- "default": "N/A",
13104
- "description": "{{link_to_system_arguments_docs}}"
13105
- }
13106
- ],
13107
- "slots": [
13108
-
13109
- ],
13110
- "methods": [
13111
-
13112
- ],
13113
- "previews": [
13114
-
13115
- ],
13116
- "subcomponents": [
13117
-
13118
- ]
13119
- },
13120
- {
13121
- "fully_qualified_name": "Primer::Beta::NavList::Group",
13122
- "description": "A logical grouping of navigation links with an optional heading.\n\nSee {{#link_to_component}}Primer::Beta::NavList{{/link_to_component}} for usage examples.",
13123
- "accessibility_docs": null,
13124
- "is_form_component": false,
13125
- "is_published": true,
13126
- "requires_js": true,
13127
- "component": "NavList::Group",
13128
- "status": "alpha",
13129
- "a11y_reviewed": true,
13130
- "short_name": "NavListGroup",
13131
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/nav_list/group.rb",
13132
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/nav_list/group/default/",
13133
- "parameters": [
13134
- {
13135
- "name": "selected_item_id",
13136
- "type": "Symbol",
13137
- "default": "`nil`",
13138
- "description": "The ID of the currently selected item. Used internally."
13139
- },
13140
- {
13141
- "name": "system_arguments",
13142
- "type": "Hash",
13143
- "default": "N/A",
13144
- "description": "{{link_to_system_arguments_docs}}"
13145
- }
13146
- ],
13147
- "slots": [
13148
- {
13149
- "name": "show_more_item",
13150
- "description": "A special \"show more\" list item that appears at the bottom of the group. Clicking\nthe item will fetch the next page of results from the URL passed in the `src` argument\nand append the resulting chunk of HTML to the group.",
13151
- "parameters": [
13152
- {
13153
- "name": "src",
13154
- "type": "String",
13155
- "default": "N/A",
13156
- "description": "The URL to query for additional pages of list items."
13157
- },
13158
- {
13159
- "name": "pages",
13160
- "type": "Integer",
13161
- "default": "N/A",
13162
- "description": "The total number of pages in the result set."
13163
- },
13164
- {
13165
- "name": "component_klass",
13166
- "type": "Class",
13167
- "default": "N/A",
13168
- "description": "A component class to use instead of the default `Primer::Beta::NavList::Item` class."
13169
- },
13170
- {
13171
- "name": "system_arguments",
13172
- "type": "Hash",
13173
- "default": "N/A",
13174
- "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}."
13175
- }
13176
- ]
13177
- },
13178
- {
13179
- "name": "items",
13180
- "description": "Items.",
13181
- "parameters": [
13182
- {
13183
- "name": "system_arguments",
13184
- "type": "Hash",
13185
- "default": "N/A",
13186
- "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}."
13187
- }
13188
- ]
13189
- },
13190
- {
13191
- "name": "heading",
13192
- "description": "Heading text rendered above the list of items.",
13193
- "parameters": [
13194
- {
13195
- "name": "system_arguments",
13196
- "type": "Hash",
13197
- "default": "N/A",
13198
- "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionList::Heading{{/link_to_component}}."
13199
- }
13200
- ]
13201
- }
13202
- ],
13203
- "methods": [
13204
- {
13205
- "name": "expand!",
13206
- "description": "Cause this group to show its list of sub items when rendered.\n:nocov:",
13207
- "parameters": [
13208
-
13209
- ]
13210
- }
13211
- ],
13212
- "previews": [
13213
-
13214
- ],
13215
- "subcomponents": [
13216
-
13217
13382
  ]
13218
13383
  }
13219
13384
  ]