openproject-primer_view_components 0.11.0 → 0.12.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +75 -0
  3. data/app/assets/javascripts/app/components/primer/primer.d.ts +1 -1
  4. data/app/assets/javascripts/primer_view_components.js +1 -1
  5. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  6. data/app/assets/styles/primer_view_components.css +1 -1
  7. data/app/assets/styles/primer_view_components.css.map +1 -1
  8. data/app/components/primer/alpha/action_menu/action_menu_element.js +2 -1
  9. data/app/components/primer/alpha/action_menu/action_menu_element.ts +2 -1
  10. data/app/components/primer/alpha/check_box_group.rb +2 -0
  11. data/app/components/primer/alpha/dialog/header.rb +12 -0
  12. data/app/components/primer/alpha/dialog.rb +1 -1
  13. data/app/components/primer/alpha/nav_list/divider.rb +2 -5
  14. data/app/components/primer/alpha/nav_list/group.rb +2 -98
  15. data/app/components/primer/alpha/nav_list/heading.rb +2 -27
  16. data/app/components/primer/alpha/nav_list/item.rb +2 -147
  17. data/app/components/primer/alpha/nav_list.rb +2 -205
  18. data/app/components/primer/alpha/overlay.css +1 -1
  19. data/app/components/primer/alpha/overlay.css.map +1 -1
  20. data/app/components/primer/alpha/overlay.pcss +1 -7
  21. data/app/components/primer/alpha/overlay.rb +6 -4
  22. data/app/components/primer/alpha/radio_button_group.rb +2 -0
  23. data/app/components/primer/alpha/text_field.css +1 -1
  24. data/app/components/primer/alpha/text_field.css.json +4 -1
  25. data/app/components/primer/alpha/text_field.css.map +1 -1
  26. data/app/components/primer/alpha/text_field.pcss +18 -3
  27. data/app/components/primer/alpha/tooltip.rb +3 -1
  28. data/app/components/primer/beta/button.css +1 -1
  29. data/app/components/primer/beta/button.css.json +2 -0
  30. data/app/components/primer/beta/button.css.map +1 -1
  31. data/app/components/primer/beta/button.pcss +11 -3
  32. data/app/components/primer/beta/icon_button.html.erb +1 -1
  33. data/app/components/primer/beta/icon_button.rb +8 -1
  34. data/app/components/primer/beta/link.css +1 -1
  35. data/app/components/primer/beta/link.css.json +1 -0
  36. data/app/components/primer/beta/link.css.map +1 -1
  37. data/app/components/primer/beta/link.pcss +5 -0
  38. data/app/components/primer/beta/link.rb +2 -2
  39. data/app/components/primer/beta/nav_list/divider.rb +14 -0
  40. data/app/components/primer/beta/nav_list/group.rb +107 -0
  41. data/app/components/primer/beta/nav_list/heading.rb +36 -0
  42. data/app/components/primer/beta/nav_list/item.rb +156 -0
  43. data/app/components/primer/beta/nav_list.rb +212 -0
  44. data/app/components/primer/focus_group.js +2 -1
  45. data/app/components/primer/focus_group.ts +2 -1
  46. data/app/components/primer/open_project/flex_layout.html.erb +23 -0
  47. data/app/components/primer/open_project/flex_layout.rb +52 -0
  48. data/app/components/primer/open_project/grid_layout/area.rb +38 -0
  49. data/app/components/primer/open_project/grid_layout.html.erb +11 -0
  50. data/app/components/primer/open_project/grid_layout.rb +34 -0
  51. data/app/components/primer/open_project/page_header.css +1 -1
  52. data/app/components/primer/open_project/page_header.css.map +1 -1
  53. data/app/components/primer/open_project/page_header.pcss +4 -0
  54. data/app/components/primer/primer.d.ts +1 -1
  55. data/app/components/primer/primer.js +1 -1
  56. data/app/components/primer/primer.ts +1 -1
  57. data/app/helpers/primer/form_helper.rb +10 -0
  58. data/lib/primer/deprecations.yml +20 -0
  59. data/lib/primer/forms/check_box_group.html.erb +3 -0
  60. data/lib/primer/forms/dsl/check_box_group_input.rb +1 -5
  61. data/lib/primer/forms/dsl/check_box_input.rb +5 -0
  62. data/lib/primer/forms/dsl/radio_button_input.rb +5 -0
  63. data/lib/primer/forms/form_control.html.erb +1 -4
  64. data/lib/primer/forms/radio_button_group.html.erb +3 -0
  65. data/lib/primer/forms/utils.rb +2 -0
  66. data/lib/primer/forms/validation_message.html.erb +4 -0
  67. data/lib/primer/forms/validation_message.rb +14 -0
  68. data/lib/primer/forms.rb +16 -0
  69. data/lib/primer/view_components/version.rb +2 -2
  70. data/lib/primer/yard/component_manifest.rb +4 -0
  71. data/previews/primer/alpha/check_box_group_preview.rb +13 -0
  72. data/previews/primer/alpha/dialog_preview/with_header.html.erb +5 -0
  73. data/previews/primer/alpha/dialog_preview.rb +17 -0
  74. data/previews/primer/alpha/overlay_preview.rb +1 -1
  75. data/previews/primer/alpha/radio_button_group_preview.rb +13 -0
  76. data/previews/primer/alpha/radio_button_preview.rb +1 -1
  77. data/previews/primer/alpha/text_field_preview/input_group_leading_action_menu.html.erb +21 -0
  78. data/previews/primer/alpha/text_field_preview/input_group_leading_button.html.erb +18 -0
  79. data/previews/primer/alpha/text_field_preview/input_group_trailing_button.html.erb +18 -0
  80. data/previews/primer/alpha/text_field_preview.rb +21 -0
  81. data/previews/primer/beta/button_preview.rb +1 -1
  82. data/previews/primer/{alpha → beta}/nav_list_preview/trailing_action.html.erb +1 -1
  83. data/previews/primer/{alpha → beta}/nav_list_preview.rb +5 -5
  84. data/previews/primer/open_project/flex_layout_preview.rb +73 -0
  85. data/previews/primer/open_project/grid_layout_preview.rb +37 -0
  86. data/static/arguments.json +260 -6
  87. data/static/audited_at.json +8 -0
  88. data/static/classes.json +3 -0
  89. data/static/constants.json +35 -0
  90. data/static/info_arch.json +1235 -505
  91. data/static/previews.json +192 -7
  92. data/static/statuses.json +13 -5
  93. metadata +30 -11
  94. /data/app/assets/javascripts/app/components/primer/{alpha → beta}/nav_list.d.ts +0 -0
  95. /data/app/components/primer/{alpha → beta}/nav_list/group.html.erb +0 -0
  96. /data/app/components/primer/{alpha → beta}/nav_list/item.html.erb +0 -0
  97. /data/app/components/primer/{alpha → beta}/nav_list.d.ts +0 -0
  98. /data/app/components/primer/{alpha → beta}/nav_list.html.erb +0 -0
  99. /data/app/components/primer/{alpha → beta}/nav_list.js +0 -0
  100. /data/app/components/primer/{alpha → beta}/nav_list.ts +0 -0
@@ -2686,6 +2686,18 @@
2686
2686
  "default": "N/A",
2687
2687
  "description": "A string describing the field and what sorts of input it expects. Displayed below the group."
2688
2688
  },
2689
+ {
2690
+ "name": "invalid",
2691
+ "type": "Boolean",
2692
+ "default": "N/A",
2693
+ "description": "If set to `true`, the input will be marked as invalid. Implied if `validation_message` is truthy. This option is set to `true` automatically if the model object associated with the form reports that the input is invalid via Rails validations. It is provided for cases where the form does not have an associated model. If the input is invalid as determined by Rails validations, setting `invalid` to `false` will have no effect."
2694
+ },
2695
+ {
2696
+ "name": "validation_message",
2697
+ "type": "String",
2698
+ "default": "N/A",
2699
+ "description": "A string displayed between the caption and the input indicating the input's contents are invalid. This option is, by default, set to the first Rails validation message for the input (assuming the form is associated with a model object). Use `validation_message` to override the default or to provide a validation message in case there is no associated model object."
2700
+ },
2689
2701
  {
2690
2702
  "name": "label_arguments",
2691
2703
  "type": "Hash",
@@ -2743,6 +2755,19 @@
2743
2755
  ]
2744
2756
  }
2745
2757
  },
2758
+ {
2759
+ "preview_path": "primer/alpha/check_box_group/invalid",
2760
+ "name": "invalid",
2761
+ "snapshot": "false",
2762
+ "skip_rules": {
2763
+ "wont_fix": [
2764
+ "region"
2765
+ ],
2766
+ "will_fix": [
2767
+ "color-contrast"
2768
+ ]
2769
+ }
2770
+ },
2746
2771
  {
2747
2772
  "preview_path": "primer/alpha/check_box_group/with_caption",
2748
2773
  "name": "with_caption",
@@ -2896,7 +2921,7 @@
2896
2921
  "name": "system_arguments",
2897
2922
  "type": "Hash",
2898
2923
  "default": "N/A",
2899
- "description": "{{link_to_system_arguments_docs}}"
2924
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::Dialog::Header{{/link_to_component}}."
2900
2925
  }
2901
2926
  ]
2902
2927
  },
@@ -2980,6 +3005,19 @@
2980
3005
  ]
2981
3006
  }
2982
3007
  },
3008
+ {
3009
+ "preview_path": "primer/alpha/dialog/with_header",
3010
+ "name": "with_header",
3011
+ "snapshot": "false",
3012
+ "skip_rules": {
3013
+ "wont_fix": [
3014
+ "region"
3015
+ ],
3016
+ "will_fix": [
3017
+ "color-contrast"
3018
+ ]
3019
+ }
3020
+ },
2983
3021
  {
2984
3022
  "preview_path": "primer/alpha/dialog/with_footer",
2985
3023
  "name": "with_footer",
@@ -3074,6 +3112,12 @@
3074
3112
  "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/dialog/header.rb",
3075
3113
  "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/dialog/header/default/",
3076
3114
  "parameters": [
3115
+ {
3116
+ "name": "id",
3117
+ "type": "String",
3118
+ "default": "N/A",
3119
+ "description": "The HTML element's ID value."
3120
+ },
3077
3121
  {
3078
3122
  "name": "title",
3079
3123
  "type": "String",
@@ -3098,6 +3142,12 @@
3098
3142
  "default": "`false`",
3099
3143
  "description": "Visually hide the `title` while maintaining a label for assistive technologies."
3100
3144
  },
3145
+ {
3146
+ "name": "variant",
3147
+ "type": "Symbol",
3148
+ "default": "`:medium`",
3149
+ "description": "One of `:large` or `:medium`."
3150
+ },
3101
3151
  {
3102
3152
  "name": "system_arguments",
3103
3153
  "type": "Hash",
@@ -4845,13 +4895,13 @@
4845
4895
  },
4846
4896
  {
4847
4897
  "fully_qualified_name": "Primer::Alpha::NavList",
4848
- "description": "`NavList` provides a simple way to render side navigation, i.e. navigation\nthat appears to the left or right side of some main content. Each group in a\nnav list is a list of links.\n\nNav list groups can contain sub items. Rather than navigating to a URL, groups\nwith sub items expand and collapse on click. To indicate this functionality, the\ngroup will automatically render with a trailing chevron icon that changes direction\nwhen the group expands and collapses.\n\nNav list items appear visually active when selected. Each nav item must have one\nor more ID values that determine which item will appear selected. Use the\n`selected_item_id` argument to select the appropriate item.",
4898
+ "description": "",
4849
4899
  "accessibility_docs": null,
4850
4900
  "is_form_component": false,
4851
4901
  "is_published": true,
4852
4902
  "requires_js": true,
4853
4903
  "component": "NavList",
4854
- "status": "alpha",
4904
+ "status": "deprecated",
4855
4905
  "a11y_reviewed": true,
4856
4906
  "short_name": "NavList",
4857
4907
  "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list.rb",
@@ -4873,7 +4923,7 @@
4873
4923
  "slots": [
4874
4924
  {
4875
4925
  "name": "heading",
4876
- "description": "The heading for the list at large. Accepts the arguments accepted by {{#link_to_component}}Primer::Alpha::NavList::Heading{{/link_to_component}}.",
4926
+ "description": "The heading for the list at large. Accepts the arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Heading{{/link_to_component}}.",
4877
4927
  "parameters": [
4878
4928
 
4879
4929
  ]
@@ -4887,269 +4937,203 @@
4887
4937
  }
4888
4938
  ],
4889
4939
  "methods": [
4940
+
4941
+ ],
4942
+ "previews": [
4943
+
4944
+ ],
4945
+ "subcomponents": [
4890
4946
  {
4891
- "name": "with_item",
4892
- "description": "Adds an item to the list.",
4947
+ "fully_qualified_name": "Primer::Alpha::NavList::Item",
4948
+ "description": "",
4949
+ "accessibility_docs": null,
4950
+ "is_form_component": false,
4951
+ "is_published": true,
4952
+ "requires_js": true,
4953
+ "component": "NavList::Item",
4954
+ "status": "deprecated",
4955
+ "a11y_reviewed": false,
4956
+ "short_name": "NavListItem",
4957
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/item.rb",
4958
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/item/default/",
4893
4959
  "parameters": [
4894
4960
  {
4895
- "name": "component_klass",
4896
- "type": "Class",
4897
- "default": "`Primer::Alpha::NavList::Item`",
4898
- "description": "The class to use instead of the default {{#link_to_component}}Primer::Alpha::NavList::Item{{/link_to_component}}"
4961
+ "name": "selected_item_id",
4962
+ "type": "Symbol",
4963
+ "default": "`nil`",
4964
+ "description": "The ID of the currently selected list item. Used internally."
4965
+ },
4966
+ {
4967
+ "name": "selected_by_ids",
4968
+ "type": "Array<Symbol>",
4969
+ "default": "`[]`",
4970
+ "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."
4971
+ },
4972
+ {
4973
+ "name": "expanded",
4974
+ "type": "Boolean",
4975
+ "default": "`false`",
4976
+ "description": "Whether this item shows (expands) or hides (collapses) its list of sub items."
4977
+ },
4978
+ {
4979
+ "name": "sub_item",
4980
+ "type": "Boolean",
4981
+ "default": "`false`",
4982
+ "description": "Whether or not this item is nested under a parent item. Used internally."
4899
4983
  },
4900
4984
  {
4901
4985
  "name": "system_arguments",
4902
4986
  "type": "Hash",
4903
4987
  "default": "N/A",
4904
- "description": "These arguments are forwarded to {{#link_to_component}}Primer::Alpha::NavList::Item{{/link_to_component}}, or whatever class is passed as the `component_klass` argument."
4988
+ "description": "{{link_to_system_arguments_docs}}"
4905
4989
  }
4906
- ]
4907
- },
4908
- {
4909
- "name": "with_avatar_item",
4910
- "description": "Adds an avatar item to the list. Avatar items are a convenient way to accessibly add an item with a leading avatar image.",
4911
- "parameters": [
4912
- {
4913
- "name": "src",
4914
- "type": "String",
4915
- "default": "N/A",
4916
- "description": "The source url of the avatar image."
4917
- },
4990
+ ],
4991
+ "slots": [
4918
4992
  {
4919
- "name": "username",
4920
- "type": "String",
4921
- "default": "N/A",
4922
- "description": "The username associated with the avatar."
4993
+ "name": "items",
4994
+ "description": null,
4995
+ "parameters": [
4996
+ {
4997
+ "name": "system_arguments",
4998
+ "type": "Hash",
4999
+ "default": "N/A",
5000
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionList::Item{{/link_to_component}}."
5001
+ }
5002
+ ]
4923
5003
  },
4924
5004
  {
4925
- "name": "full_name",
4926
- "type": "String",
4927
- "default": "`nil`",
4928
- "description": "Optional. The user's full name."
5005
+ "name": "description",
5006
+ "description": "Description content that complements the item's label. See `ActionList`'s `description_scheme` argument\nfor layout options.",
5007
+ "parameters": [
5008
+
5009
+ ]
4929
5010
  },
4930
5011
  {
4931
- "name": "full_name_scheme",
4932
- "type": "Symbol",
4933
- "default": "`:block`",
4934
- "description": "Optional. How to display the user's full name. One of `:block` or `:inline`."
5012
+ "name": "leading_visual",
5013
+ "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.",
5014
+ "parameters": [
5015
+
5016
+ ]
4935
5017
  },
4936
5018
  {
4937
- "name": "component_klass",
4938
- "type": "Class",
4939
- "default": "`Primer::Alpha::NavList::Item`",
4940
- "description": "The class to use instead of the default {{#link_to_component}}Primer::Alpha::NavList::Item{{/link_to_component}}"
5019
+ "name": "trailing_visual",
5020
+ "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```",
5021
+ "parameters": [
5022
+
5023
+ ]
4941
5024
  },
4942
5025
  {
4943
- "name": "avatar_arguments",
4944
- "type": "Hash",
4945
- "default": "`{}`",
4946
- "description": "Optional. The arguments accepted by {{#link_to_component}}Primer::Beta::Avatar{{/link_to_component}}"
5026
+ "name": "trailing_action",
5027
+ "description": "A button rendered after the trailing icon that can be used to show a menu, activate\na dialog, etc.",
5028
+ "parameters": [
5029
+ {
5030
+ "name": "system_arguments",
5031
+ "type": "Hash",
5032
+ "default": "N/A",
5033
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::IconButton{{/link_to_component}}."
5034
+ }
5035
+ ]
4947
5036
  },
4948
5037
  {
4949
- "name": "system_arguments",
4950
- "type": "Hash",
4951
- "default": "N/A",
4952
- "description": "These arguments are forwarded to {{#link_to_component}}Primer::Alpha::NavList::Item{{/link_to_component}}, or whatever class is passed as the `component_klass` argument."
5038
+ "name": "tooltip",
5039
+ "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.",
5040
+ "parameters": [
5041
+ {
5042
+ "name": "type",
5043
+ "type": "Symbol",
5044
+ "default": "`:description`",
5045
+ "description": "One of `:description` or `:label`."
5046
+ },
5047
+ {
5048
+ "name": "system_arguments",
5049
+ "type": "Hash",
5050
+ "default": "N/A",
5051
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::Tooltip{{/link_to_component}}."
5052
+ }
5053
+ ]
4953
5054
  }
5055
+ ],
5056
+ "methods": [
5057
+
5058
+ ],
5059
+ "previews": [
5060
+
5061
+ ],
5062
+ "subcomponents": [
5063
+
4954
5064
  ]
4955
5065
  },
4956
5066
  {
4957
- "name": "with_group",
4958
- "description": "Adds a group to the list. A group is a list of links and a (required) heading.",
5067
+ "fully_qualified_name": "Primer::Alpha::NavList::Heading",
5068
+ "description": "",
5069
+ "accessibility_docs": null,
5070
+ "is_form_component": false,
5071
+ "is_published": true,
5072
+ "requires_js": false,
5073
+ "component": "NavList::Heading",
5074
+ "status": "deprecated",
5075
+ "a11y_reviewed": false,
5076
+ "short_name": "NavListHeading",
5077
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/heading.rb",
5078
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/heading/default/",
4959
5079
  "parameters": [
4960
5080
  {
4961
- "name": "system_arguments",
4962
- "type": "Hash",
5081
+ "name": "title",
5082
+ "type": "String",
4963
5083
  "default": "N/A",
4964
- "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::NavList::Group{{/link_to_component}}."
4965
- }
4966
- ]
4967
- },
4968
- {
4969
- "name": "with_divider",
4970
- "description": "Adds a divider to the list. Dividers visually separate items and groups.",
4971
- "parameters": [
5084
+ "description": "The text content of the heading."
5085
+ },
5086
+ {
5087
+ "name": "id",
5088
+ "type": "String",
5089
+ "default": "`self.class.generate_id`",
5090
+ "description": "The value of the ID HTML attribute. Auto-generated by default."
5091
+ },
5092
+ {
5093
+ "name": "heading_level",
5094
+ "type": "Integer",
5095
+ "default": "`2`",
5096
+ "description": "The heading level, i.e. 2 for an `<h2>`, 3 for an `<h3>`, etc."
5097
+ },
4972
5098
  {
4973
5099
  "name": "system_arguments",
4974
5100
  "type": "Hash",
4975
5101
  "default": "N/A",
4976
- "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::NavList::Divider{{/link_to_component}}."
5102
+ "description": "{{link_to_system_arguments_docs}}"
4977
5103
  }
5104
+ ],
5105
+ "slots": [
5106
+
5107
+ ],
5108
+ "methods": [
5109
+
5110
+ ],
5111
+ "previews": [
5112
+
5113
+ ],
5114
+ "subcomponents": [
5115
+
4978
5116
  ]
4979
5117
  },
4980
5118
  {
4981
- "name": "build_item",
4982
- "description": "Builds a new item but does not add it to the list. Use this method\ninstead of the `#with_item` slot if you need to render an item outside\nthe context of a list, eg. if rendering additional items to append to\nan existing list, perhaps via a separate HTTP request.",
5119
+ "fully_qualified_name": "Primer::Alpha::NavList::Divider",
5120
+ "description": "",
5121
+ "accessibility_docs": null,
5122
+ "is_form_component": false,
5123
+ "is_published": true,
5124
+ "requires_js": false,
5125
+ "component": "NavList::Divider",
5126
+ "status": "deprecated",
5127
+ "a11y_reviewed": false,
5128
+ "short_name": "NavListDivider",
5129
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/divider.rb",
5130
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/divider/default/",
4983
5131
  "parameters": [
4984
5132
  {
4985
- "name": "component_klass",
4986
- "type": "Class",
4987
- "default": "`Primer::Alpha::NavList::Item`",
4988
- "description": "The class to use instead of the default {{#link_to_component}}Primer::Alpha::NavList::Item{{/link_to_component}}"
4989
- },
4990
- {
4991
- "name": "system_arguments",
4992
- "type": "Hash",
4993
- "default": "N/A",
4994
- "description": "These arguments are forwarded to {{#link_to_component}}Primer::Alpha::NavList::Item{{/link_to_component}}, or whatever class is passed as the `component_klass` argument."
4995
- }
4996
- ]
4997
- },
4998
- {
4999
- "name": "build_avatar_item",
5000
- "description": "Builds a new avatar item but does not add it to the list. Avatar items\nare a convenient way to accessibly add an item with a leading avatar\nimage. Use this method instead of the `#with_avatar_item` slot if you\nneed to render an avatar item outside the context of a list, eg. if\nrendering additional items to append to an existing list, perhaps via\na separate HTTP request.",
5001
- "parameters": [
5002
- {
5003
- "name": "src",
5004
- "type": "String",
5005
- "default": "N/A",
5006
- "description": "The source url of the avatar image."
5007
- },
5008
- {
5009
- "name": "username",
5010
- "type": "String",
5011
- "default": "N/A",
5012
- "description": "The username associated with the avatar."
5013
- },
5014
- {
5015
- "name": "full_name",
5016
- "type": "String",
5017
- "default": "`nil`",
5018
- "description": "Optional. The user's full name."
5019
- },
5020
- {
5021
- "name": "full_name_scheme",
5022
- "type": "Symbol",
5023
- "default": "`:block`",
5024
- "description": "Optional. How to display the user's full name. One of `:block` or `:inline`."
5025
- },
5026
- {
5027
- "name": "component_klass",
5028
- "type": "Class",
5029
- "default": "`Primer::Alpha::NavList::Item`",
5030
- "description": "The class to use instead of the default {{#link_to_component}}Primer::Alpha::NavList::Item{{/link_to_component}}"
5031
- },
5032
- {
5033
- "name": "avatar_arguments",
5034
- "type": "Hash",
5035
- "default": "`{}`",
5036
- "description": "Optional. The arguments accepted by {{#link_to_component}}Primer::Beta::Avatar{{/link_to_component}}"
5037
- },
5038
- {
5039
- "name": "system_arguments",
5040
- "type": "Hash",
5041
- "default": "N/A",
5042
- "description": "These arguments are forwarded to {{#link_to_component}}Primer::Alpha::NavList::Item{{/link_to_component}}, or whatever class is passed as the `component_klass` argument."
5043
- }
5044
- ]
5045
- },
5046
- {
5047
- "name": "render_outer_list?",
5048
- "description": "Lists that contain top-level items (i.e. items outside of a group) should be wrapped in a <ul>",
5049
- "parameters": [
5050
-
5051
- ]
5052
- }
5053
- ],
5054
- "previews": [
5055
- {
5056
- "preview_path": "primer/alpha/nav_list/playground",
5057
- "name": "playground",
5058
- "snapshot": "false",
5059
- "skip_rules": {
5060
- "wont_fix": [
5061
- "region"
5062
- ],
5063
- "will_fix": [
5064
- "color-contrast"
5065
- ]
5066
- }
5067
- },
5068
- {
5069
- "preview_path": "primer/alpha/nav_list/default",
5070
- "name": "default",
5071
- "snapshot": "true",
5072
- "skip_rules": {
5073
- "wont_fix": [
5074
- "region"
5075
- ],
5076
- "will_fix": [
5077
- "color-contrast"
5078
- ]
5079
- }
5080
- },
5081
- {
5082
- "preview_path": "primer/alpha/nav_list/top_level_items",
5083
- "name": "top_level_items",
5084
- "snapshot": "false",
5085
- "skip_rules": {
5086
- "wont_fix": [
5087
- "region"
5088
- ],
5089
- "will_fix": [
5090
- "color-contrast"
5091
- ]
5092
- }
5093
- },
5094
- {
5095
- "preview_path": "primer/alpha/nav_list/show_more_item",
5096
- "name": "show_more_item",
5097
- "snapshot": "true",
5098
- "skip_rules": {
5099
- "wont_fix": [
5100
- "region"
5101
- ],
5102
- "will_fix": [
5103
- "color-contrast"
5104
- ]
5105
- }
5106
- },
5107
- {
5108
- "preview_path": "primer/alpha/nav_list/trailing_action",
5109
- "name": "trailing_action",
5110
- "snapshot": "true",
5111
- "skip_rules": {
5112
- "wont_fix": [
5113
- "region"
5114
- ],
5115
- "will_fix": [
5116
- "color-contrast"
5117
- ]
5118
- }
5119
- }
5120
- ],
5121
- "subcomponents": [
5122
- {
5123
- "fully_qualified_name": "Primer::Alpha::NavList::Heading",
5124
- "description": "The heading placed above a `NavList`'s items.\n\nSee {{#link_to_component}}Primer::Alpha::NavList{{/link_to_component}} for usage examples.",
5125
- "accessibility_docs": null,
5126
- "is_form_component": false,
5127
- "is_published": true,
5128
- "requires_js": false,
5129
- "component": "NavList::Heading",
5130
- "status": "alpha",
5131
- "a11y_reviewed": false,
5132
- "short_name": "NavListHeading",
5133
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/heading.rb",
5134
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/heading/default/",
5135
- "parameters": [
5136
- {
5137
- "name": "title",
5138
- "type": "String",
5139
- "default": "N/A",
5140
- "description": "The text content of the heading."
5141
- },
5142
- {
5143
- "name": "id",
5144
- "type": "String",
5145
- "default": "`self.class.generate_id`",
5146
- "description": "The value of the ID HTML attribute. Auto-generated by default."
5147
- },
5148
- {
5149
- "name": "heading_level",
5150
- "type": "Integer",
5151
- "default": "`2`",
5152
- "description": "The heading level, i.e. 2 for an `<h2>`, 3 for an `<h3>`, etc."
5133
+ "name": "scheme",
5134
+ "type": "Symbol",
5135
+ "default": "`:subtle`",
5136
+ "description": "Display a background color if scheme is `filled`."
5153
5137
  },
5154
5138
  {
5155
5139
  "name": "system_arguments",
@@ -5162,34 +5146,7 @@
5162
5146
 
5163
5147
  ],
5164
5148
  "methods": [
5165
- {
5166
- "name": "title",
5167
- "description": "Returns the value of attribute title.",
5168
- "parameters": [
5169
-
5170
- ]
5171
- },
5172
- {
5173
- "name": "id",
5174
- "description": "Returns the value of attribute id.",
5175
- "parameters": [
5176
-
5177
- ]
5178
- },
5179
- {
5180
- "name": "heading_level",
5181
- "description": "Returns the value of attribute heading_level.",
5182
- "parameters": [
5183
-
5184
- ]
5185
- },
5186
- {
5187
- "name": "system_arguments",
5188
- "description": "Returns the value of attribute system_arguments.",
5189
- "parameters": [
5190
5149
 
5191
- ]
5192
- }
5193
5150
  ],
5194
5151
  "previews": [
5195
5152
 
@@ -5199,42 +5156,24 @@
5199
5156
  ]
5200
5157
  },
5201
5158
  {
5202
- "fully_qualified_name": "Primer::Alpha::NavList::Item",
5203
- "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.",
5159
+ "fully_qualified_name": "Primer::Alpha::NavList::Group",
5160
+ "description": "",
5204
5161
  "accessibility_docs": null,
5205
5162
  "is_form_component": false,
5206
5163
  "is_published": true,
5207
5164
  "requires_js": true,
5208
- "component": "NavList::Item",
5209
- "status": "alpha",
5210
- "a11y_reviewed": false,
5211
- "short_name": "NavListItem",
5212
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/item.rb",
5213
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/item/default/",
5165
+ "component": "NavList::Group",
5166
+ "status": "deprecated",
5167
+ "a11y_reviewed": true,
5168
+ "short_name": "NavListGroup",
5169
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/group.rb",
5170
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/group/default/",
5214
5171
  "parameters": [
5215
5172
  {
5216
5173
  "name": "selected_item_id",
5217
5174
  "type": "Symbol",
5218
5175
  "default": "`nil`",
5219
- "description": "The ID of the currently selected list item. Used internally."
5220
- },
5221
- {
5222
- "name": "selected_by_ids",
5223
- "type": "Array<Symbol>",
5224
- "default": "`[]`",
5225
- "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."
5226
- },
5227
- {
5228
- "name": "expanded",
5229
- "type": "Boolean",
5230
- "default": "`false`",
5231
- "description": "Whether this item shows (expands) or hides (collapses) its list of sub items."
5232
- },
5233
- {
5234
- "name": "sub_item",
5235
- "type": "Boolean",
5236
- "default": "`false`",
5237
- "description": "Whether or not this item is nested under a parent item. Used internally."
5176
+ "description": "The ID of the currently selected item. Used internally."
5238
5177
  },
5239
5178
  {
5240
5179
  "name": "system_arguments",
@@ -5245,226 +5184,50 @@
5245
5184
  ],
5246
5185
  "slots": [
5247
5186
  {
5248
- "name": "items",
5249
- "description": null,
5187
+ "name": "show_more_item",
5188
+ "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.",
5250
5189
  "parameters": [
5190
+ {
5191
+ "name": "src",
5192
+ "type": "String",
5193
+ "default": "N/A",
5194
+ "description": "The URL to query for additional pages of list items."
5195
+ },
5196
+ {
5197
+ "name": "pages",
5198
+ "type": "Integer",
5199
+ "default": "N/A",
5200
+ "description": "The total number of pages in the result set."
5201
+ },
5202
+ {
5203
+ "name": "component_klass",
5204
+ "type": "Class",
5205
+ "default": "N/A",
5206
+ "description": "A component class to use instead of the default `Primer::Beta::NavList::Item` class."
5207
+ },
5251
5208
  {
5252
5209
  "name": "system_arguments",
5253
5210
  "type": "Hash",
5254
5211
  "default": "N/A",
5255
- "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionList::Item{{/link_to_component}}."
5212
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}."
5256
5213
  }
5257
5214
  ]
5258
5215
  },
5259
5216
  {
5260
- "name": "description",
5261
- "description": "Description content that complements the item's label. See `ActionList`'s `description_scheme` argument\nfor layout options.",
5217
+ "name": "items",
5218
+ "description": "Items.",
5262
5219
  "parameters": [
5263
-
5220
+ {
5221
+ "name": "system_arguments",
5222
+ "type": "Hash",
5223
+ "default": "N/A",
5224
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}."
5225
+ }
5264
5226
  ]
5265
5227
  },
5266
5228
  {
5267
- "name": "leading_visual",
5268
- "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.",
5269
- "parameters": [
5270
-
5271
- ]
5272
- },
5273
- {
5274
- "name": "trailing_visual",
5275
- "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```",
5276
- "parameters": [
5277
-
5278
- ]
5279
- },
5280
- {
5281
- "name": "trailing_action",
5282
- "description": "A button rendered after the trailing icon that can be used to show a menu, activate\na dialog, etc.",
5283
- "parameters": [
5284
- {
5285
- "name": "system_arguments",
5286
- "type": "Hash",
5287
- "default": "N/A",
5288
- "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::IconButton{{/link_to_component}}."
5289
- }
5290
- ]
5291
- },
5292
- {
5293
- "name": "tooltip",
5294
- "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.",
5295
- "parameters": [
5296
- {
5297
- "name": "type",
5298
- "type": "Symbol",
5299
- "default": "`:description`",
5300
- "description": "One of `:description` or `:label`."
5301
- },
5302
- {
5303
- "name": "system_arguments",
5304
- "type": "Hash",
5305
- "default": "N/A",
5306
- "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::Tooltip{{/link_to_component}}."
5307
- }
5308
- ]
5309
- }
5310
- ],
5311
- "methods": [
5312
- {
5313
- "name": "selected_by_ids",
5314
- "description": "Returns the value of attribute selected_by_ids.",
5315
- "parameters": [
5316
-
5317
- ]
5318
- },
5319
- {
5320
- "name": "sub_item",
5321
- "description": "Returns the value of attribute sub_item.",
5322
- "parameters": [
5323
-
5324
- ]
5325
- },
5326
- {
5327
- "name": "sub_item?",
5328
- "description": "Returns the value of attribute sub_item.\nWhether or not this item is nested under a parent item.",
5329
- "parameters": [
5330
-
5331
- ]
5332
- },
5333
- {
5334
- "name": "expand!",
5335
- "description": "Cause this item to show its list of sub items when rendered.",
5336
- "parameters": [
5337
-
5338
- ]
5339
- },
5340
- {
5341
- "name": "item_active?",
5342
- "description": "Normally it would be easier to simply ask each item for its active status, eg.\nitems.any?(&:active?), but unfortunately the view context is not set on each\nitem until _after_ the parent's before_render, etc methods have been called.\nThis means helper methods like current_page? will blow up with an error, since\n`helpers` is simply an alias for the view context (i.e. an instance of\nActionView::Base). Since we know the view context for the parent object must\nbe set before `before_render` is invoked, we can call helper methods here in\nthe parent and bypass the problem entirely. Maybe not the most OO approach,\nbut it works.",
5343
- "parameters": [
5344
-
5345
- ]
5346
- }
5347
- ],
5348
- "previews": [
5349
-
5350
- ],
5351
- "subcomponents": [
5352
-
5353
- ]
5354
- },
5355
- {
5356
- "fully_qualified_name": "Primer::Alpha::NavList::Divider",
5357
- "description": "Separator with optional text rendered above groups or between individual items.",
5358
- "accessibility_docs": null,
5359
- "is_form_component": false,
5360
- "is_published": true,
5361
- "requires_js": false,
5362
- "component": "NavList::Divider",
5363
- "status": "alpha",
5364
- "a11y_reviewed": false,
5365
- "short_name": "NavListDivider",
5366
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/divider.rb",
5367
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/divider/default/",
5368
- "parameters": [
5369
- {
5370
- "name": "scheme",
5371
- "type": "Symbol",
5372
- "default": "`:subtle`",
5373
- "description": "Display a background color if scheme is `filled`."
5374
- },
5375
- {
5376
- "name": "system_arguments",
5377
- "type": "Hash",
5378
- "default": "N/A",
5379
- "description": "{{link_to_system_arguments_docs}}"
5380
- }
5381
- ],
5382
- "slots": [
5383
-
5384
- ],
5385
- "methods": [
5386
-
5387
- ],
5388
- "previews": [
5389
-
5390
- ],
5391
- "subcomponents": [
5392
-
5393
- ]
5394
- },
5395
- {
5396
- "fully_qualified_name": "Primer::Alpha::NavList::Group",
5397
- "description": "A logical grouping of navigation links with an optional heading.\n\nSee {{#link_to_component}}Primer::Alpha::NavList{{/link_to_component}} for usage examples.",
5398
- "accessibility_docs": null,
5399
- "is_form_component": false,
5400
- "is_published": true,
5401
- "requires_js": true,
5402
- "component": "NavList::Group",
5403
- "status": "alpha",
5404
- "a11y_reviewed": true,
5405
- "short_name": "NavListGroup",
5406
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/group.rb",
5407
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/group/default/",
5408
- "parameters": [
5409
- {
5410
- "name": "selected_item_id",
5411
- "type": "Symbol",
5412
- "default": "`nil`",
5413
- "description": "The ID of the currently selected item. Used internally."
5414
- },
5415
- {
5416
- "name": "system_arguments",
5417
- "type": "Hash",
5418
- "default": "N/A",
5419
- "description": "{{link_to_system_arguments_docs}}"
5420
- }
5421
- ],
5422
- "slots": [
5423
- {
5424
- "name": "show_more_item",
5425
- "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.",
5426
- "parameters": [
5427
- {
5428
- "name": "src",
5429
- "type": "String",
5430
- "default": "N/A",
5431
- "description": "The URL to query for additional pages of list items."
5432
- },
5433
- {
5434
- "name": "pages",
5435
- "type": "Integer",
5436
- "default": "N/A",
5437
- "description": "The total number of pages in the result set."
5438
- },
5439
- {
5440
- "name": "component_klass",
5441
- "type": "Class",
5442
- "default": "N/A",
5443
- "description": "A component class to use instead of the default `Primer::Alpha::NavList::Item` class."
5444
- },
5445
- {
5446
- "name": "system_arguments",
5447
- "type": "Hash",
5448
- "default": "N/A",
5449
- "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::NavList::Item{{/link_to_component}}."
5450
- }
5451
- ]
5452
- },
5453
- {
5454
- "name": "items",
5455
- "description": "Items.",
5456
- "parameters": [
5457
- {
5458
- "name": "system_arguments",
5459
- "type": "Hash",
5460
- "default": "N/A",
5461
- "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::NavList::Item{{/link_to_component}}."
5462
- }
5463
- ]
5464
- },
5465
- {
5466
- "name": "heading",
5467
- "description": "Heading text rendered above the list of items.",
5229
+ "name": "heading",
5230
+ "description": "Heading text rendered above the list of items.",
5468
5231
  "parameters": [
5469
5232
  {
5470
5233
  "name": "system_arguments",
@@ -5476,13 +5239,7 @@
5476
5239
  }
5477
5240
  ],
5478
5241
  "methods": [
5479
- {
5480
- "name": "expand!",
5481
- "description": "Cause this group to show its list of sub items when rendered.\n:nocov:",
5482
- "parameters": [
5483
5242
 
5484
- ]
5485
- }
5486
5243
  ],
5487
5244
  "previews": [
5488
5245
 
@@ -6341,6 +6098,18 @@
6341
6098
  "default": "N/A",
6342
6099
  "description": "A string describing the field and what sorts of input it expects. Displayed below the group."
6343
6100
  },
6101
+ {
6102
+ "name": "invalid",
6103
+ "type": "Boolean",
6104
+ "default": "N/A",
6105
+ "description": "If set to `true`, the input will be marked as invalid. Implied if `validation_message` is truthy. This option is set to `true` automatically if the model object associated with the form reports that the input is invalid via Rails validations. It is provided for cases where the form does not have an associated model. If the input is invalid as determined by Rails validations, setting `invalid` to `false` will have no effect."
6106
+ },
6107
+ {
6108
+ "name": "validation_message",
6109
+ "type": "String",
6110
+ "default": "N/A",
6111
+ "description": "A string displayed between the caption and the input indicating the input's contents are invalid. This option is, by default, set to the first Rails validation message for the input (assuming the form is associated with a model object). Use `validation_message` to override the default or to provide a validation message in case there is no associated model object."
6112
+ },
6344
6113
  {
6345
6114
  "name": "label_arguments",
6346
6115
  "type": "Hash",
@@ -6398,6 +6167,19 @@
6398
6167
  ]
6399
6168
  }
6400
6169
  },
6170
+ {
6171
+ "preview_path": "primer/alpha/radio_button_group/invalid",
6172
+ "name": "invalid",
6173
+ "snapshot": "true",
6174
+ "skip_rules": {
6175
+ "wont_fix": [
6176
+ "region"
6177
+ ],
6178
+ "will_fix": [
6179
+ "color-contrast"
6180
+ ]
6181
+ }
6182
+ },
6401
6183
  {
6402
6184
  "preview_path": "primer/alpha/radio_button_group/with_caption",
6403
6185
  "name": "with_caption",
@@ -8117,6 +7899,45 @@
8117
7899
  "color-contrast"
8118
7900
  ]
8119
7901
  }
7902
+ },
7903
+ {
7904
+ "preview_path": "primer/alpha/text_field/input_group_leading_button",
7905
+ "name": "input_group_leading_button",
7906
+ "snapshot": "true",
7907
+ "skip_rules": {
7908
+ "wont_fix": [
7909
+ "region"
7910
+ ],
7911
+ "will_fix": [
7912
+ "color-contrast"
7913
+ ]
7914
+ }
7915
+ },
7916
+ {
7917
+ "preview_path": "primer/alpha/text_field/input_group_trailing_button",
7918
+ "name": "input_group_trailing_button",
7919
+ "snapshot": "true",
7920
+ "skip_rules": {
7921
+ "wont_fix": [
7922
+ "region"
7923
+ ],
7924
+ "will_fix": [
7925
+ "color-contrast"
7926
+ ]
7927
+ }
7928
+ },
7929
+ {
7930
+ "preview_path": "primer/alpha/text_field/input_group_leading_action_menu",
7931
+ "name": "input_group_leading_action_menu",
7932
+ "snapshot": "true",
7933
+ "skip_rules": {
7934
+ "wont_fix": [
7935
+ "region"
7936
+ ],
7937
+ "will_fix": [
7938
+ "color-contrast"
7939
+ ]
7940
+ }
8120
7941
  }
8121
7942
  ],
8122
7943
  "subcomponents": [
@@ -8395,9 +8216,15 @@
8395
8216
 
8396
8217
  ],
8397
8218
  "methods": [
8398
-
8399
- ],
8400
- "previews": [
8219
+ {
8220
+ "name": "id",
8221
+ "description": "Returns the value of attribute id.",
8222
+ "parameters": [
8223
+
8224
+ ]
8225
+ }
8226
+ ],
8227
+ "previews": [
8401
8228
  {
8402
8229
  "preview_path": "primer/alpha/tooltip/playground",
8403
8230
  "name": "playground",
@@ -12151,7 +11978,7 @@
12151
11978
  {
12152
11979
  "name": "underline",
12153
11980
  "type": "Boolean",
12154
- "default": "`true`",
11981
+ "default": "`false`",
12155
11982
  "description": "Whether or not to underline the link."
12156
11983
  },
12157
11984
  {
@@ -12326,12 +12153,662 @@
12326
12153
  ],
12327
12154
  "methods": [
12328
12155
 
12329
- ],
12330
- "previews": [
12156
+ ],
12157
+ "previews": [
12158
+
12159
+ ],
12160
+ "subcomponents": [
12161
+
12162
+ ]
12163
+ },
12164
+ {
12165
+ "fully_qualified_name": "Primer::Beta::NavList",
12166
+ "description": "`NavList` provides a simple way to render side navigation, i.e. navigation\nthat appears to the left or right side of some main content. Each group in a\nnav list is a list of links.\n\nNav list groups can contain sub items. Rather than navigating to a URL, groups\nwith sub items expand and collapse on click. To indicate this functionality, the\ngroup will automatically render with a trailing chevron icon that changes direction\nwhen the group expands and collapses.\n\nNav list items appear visually active when selected. Each nav item must have one\nor more ID values that determine which item will appear selected. Use the\n`selected_item_id` argument to select the appropriate item.",
12167
+ "accessibility_docs": null,
12168
+ "is_form_component": false,
12169
+ "is_published": true,
12170
+ "requires_js": true,
12171
+ "component": "NavList",
12172
+ "status": "beta",
12173
+ "a11y_reviewed": true,
12174
+ "short_name": "NavList",
12175
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/nav_list.rb",
12176
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/nav_list/default/",
12177
+ "parameters": [
12178
+ {
12179
+ "name": "selected_item_id",
12180
+ "type": "Symbol",
12181
+ "default": "`nil`",
12182
+ "description": "The ID of the currently selected item. The default is `nil`, meaning no item is selected."
12183
+ },
12184
+ {
12185
+ "name": "system_arguments",
12186
+ "type": "Hash",
12187
+ "default": "N/A",
12188
+ "description": "{{link_to_system_arguments_docs}}"
12189
+ }
12190
+ ],
12191
+ "slots": [
12192
+ {
12193
+ "name": "heading",
12194
+ "description": "The heading for the list at large. Accepts the arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Heading{{/link_to_component}}.",
12195
+ "parameters": [
12196
+
12197
+ ]
12198
+ },
12199
+ {
12200
+ "name": "items",
12201
+ "description": "Items. Items can be individual items, dividers, or groups. See the documentation for `#with_item`, `#with_divider`, and `#with_group` respectively for more information.",
12202
+ "parameters": [
12203
+
12204
+ ]
12205
+ }
12206
+ ],
12207
+ "methods": [
12208
+ {
12209
+ "name": "with_item",
12210
+ "description": "Adds an item to the list.",
12211
+ "parameters": [
12212
+ {
12213
+ "name": "component_klass",
12214
+ "type": "Class",
12215
+ "default": "`Primer::Beta::NavList::Item`",
12216
+ "description": "The class to use instead of the default {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}"
12217
+ },
12218
+ {
12219
+ "name": "system_arguments",
12220
+ "type": "Hash",
12221
+ "default": "N/A",
12222
+ "description": "These arguments are forwarded to {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}, or whatever class is passed as the `component_klass` argument."
12223
+ }
12224
+ ]
12225
+ },
12226
+ {
12227
+ "name": "with_avatar_item",
12228
+ "description": "Adds an avatar item to the list. Avatar items are a convenient way to accessibly add an item with a leading avatar image.",
12229
+ "parameters": [
12230
+ {
12231
+ "name": "src",
12232
+ "type": "String",
12233
+ "default": "N/A",
12234
+ "description": "The source url of the avatar image."
12235
+ },
12236
+ {
12237
+ "name": "username",
12238
+ "type": "String",
12239
+ "default": "N/A",
12240
+ "description": "The username associated with the avatar."
12241
+ },
12242
+ {
12243
+ "name": "full_name",
12244
+ "type": "String",
12245
+ "default": "`nil`",
12246
+ "description": "Optional. The user's full name."
12247
+ },
12248
+ {
12249
+ "name": "full_name_scheme",
12250
+ "type": "Symbol",
12251
+ "default": "`:block`",
12252
+ "description": "Optional. How to display the user's full name. One of `:block` or `:inline`."
12253
+ },
12254
+ {
12255
+ "name": "component_klass",
12256
+ "type": "Class",
12257
+ "default": "`Primer::Beta::NavList::Item`",
12258
+ "description": "The class to use instead of the default {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}"
12259
+ },
12260
+ {
12261
+ "name": "avatar_arguments",
12262
+ "type": "Hash",
12263
+ "default": "`{}`",
12264
+ "description": "Optional. The arguments accepted by {{#link_to_component}}Primer::Beta::Avatar{{/link_to_component}}"
12265
+ },
12266
+ {
12267
+ "name": "system_arguments",
12268
+ "type": "Hash",
12269
+ "default": "N/A",
12270
+ "description": "These arguments are forwarded to {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}, or whatever class is passed as the `component_klass` argument."
12271
+ }
12272
+ ]
12273
+ },
12274
+ {
12275
+ "name": "with_group",
12276
+ "description": "Adds a group to the list. A group is a list of links and a (required) heading.",
12277
+ "parameters": [
12278
+ {
12279
+ "name": "system_arguments",
12280
+ "type": "Hash",
12281
+ "default": "N/A",
12282
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Group{{/link_to_component}}."
12283
+ }
12284
+ ]
12285
+ },
12286
+ {
12287
+ "name": "with_divider",
12288
+ "description": "Adds a divider to the list. Dividers visually separate items and groups.",
12289
+ "parameters": [
12290
+ {
12291
+ "name": "system_arguments",
12292
+ "type": "Hash",
12293
+ "default": "N/A",
12294
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Divider{{/link_to_component}}."
12295
+ }
12296
+ ]
12297
+ },
12298
+ {
12299
+ "name": "build_item",
12300
+ "description": "Builds a new item but does not add it to the list. Use this method\ninstead of the `#with_item` slot if you need to render an item outside\nthe context of a list, eg. if rendering additional items to append to\nan existing list, perhaps via a separate HTTP request.",
12301
+ "parameters": [
12302
+ {
12303
+ "name": "component_klass",
12304
+ "type": "Class",
12305
+ "default": "`Primer::Beta::NavList::Item`",
12306
+ "description": "The class to use instead of the default {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}"
12307
+ },
12308
+ {
12309
+ "name": "system_arguments",
12310
+ "type": "Hash",
12311
+ "default": "N/A",
12312
+ "description": "These arguments are forwarded to {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}, or whatever class is passed as the `component_klass` argument."
12313
+ }
12314
+ ]
12315
+ },
12316
+ {
12317
+ "name": "build_avatar_item",
12318
+ "description": "Builds a new avatar item but does not add it to the list. Avatar items\nare a convenient way to accessibly add an item with a leading avatar\nimage. Use this method instead of the `#with_avatar_item` slot if you\nneed to render an avatar item outside the context of a list, eg. if\nrendering additional items to append to an existing list, perhaps via\na separate HTTP request.",
12319
+ "parameters": [
12320
+ {
12321
+ "name": "src",
12322
+ "type": "String",
12323
+ "default": "N/A",
12324
+ "description": "The source url of the avatar image."
12325
+ },
12326
+ {
12327
+ "name": "username",
12328
+ "type": "String",
12329
+ "default": "N/A",
12330
+ "description": "The username associated with the avatar."
12331
+ },
12332
+ {
12333
+ "name": "full_name",
12334
+ "type": "String",
12335
+ "default": "`nil`",
12336
+ "description": "Optional. The user's full name."
12337
+ },
12338
+ {
12339
+ "name": "full_name_scheme",
12340
+ "type": "Symbol",
12341
+ "default": "`:block`",
12342
+ "description": "Optional. How to display the user's full name. One of `:block` or `:inline`."
12343
+ },
12344
+ {
12345
+ "name": "component_klass",
12346
+ "type": "Class",
12347
+ "default": "`Primer::Beta::NavList::Item`",
12348
+ "description": "The class to use instead of the default {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}"
12349
+ },
12350
+ {
12351
+ "name": "avatar_arguments",
12352
+ "type": "Hash",
12353
+ "default": "`{}`",
12354
+ "description": "Optional. The arguments accepted by {{#link_to_component}}Primer::Beta::Avatar{{/link_to_component}}"
12355
+ },
12356
+ {
12357
+ "name": "system_arguments",
12358
+ "type": "Hash",
12359
+ "default": "N/A",
12360
+ "description": "These arguments are forwarded to {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}, or whatever class is passed as the `component_klass` argument."
12361
+ }
12362
+ ]
12363
+ },
12364
+ {
12365
+ "name": "render_outer_list?",
12366
+ "description": "Lists that contain top-level items (i.e. items outside of a group) should be wrapped in a <ul>",
12367
+ "parameters": [
12368
+
12369
+ ]
12370
+ }
12371
+ ],
12372
+ "previews": [
12373
+ {
12374
+ "preview_path": "primer/beta/nav_list/playground",
12375
+ "name": "playground",
12376
+ "snapshot": "false",
12377
+ "skip_rules": {
12378
+ "wont_fix": [
12379
+ "region"
12380
+ ],
12381
+ "will_fix": [
12382
+ "color-contrast"
12383
+ ]
12384
+ }
12385
+ },
12386
+ {
12387
+ "preview_path": "primer/beta/nav_list/default",
12388
+ "name": "default",
12389
+ "snapshot": "true",
12390
+ "skip_rules": {
12391
+ "wont_fix": [
12392
+ "region"
12393
+ ],
12394
+ "will_fix": [
12395
+ "color-contrast"
12396
+ ]
12397
+ }
12398
+ },
12399
+ {
12400
+ "preview_path": "primer/beta/nav_list/top_level_items",
12401
+ "name": "top_level_items",
12402
+ "snapshot": "false",
12403
+ "skip_rules": {
12404
+ "wont_fix": [
12405
+ "region"
12406
+ ],
12407
+ "will_fix": [
12408
+ "color-contrast"
12409
+ ]
12410
+ }
12411
+ },
12412
+ {
12413
+ "preview_path": "primer/beta/nav_list/show_more_item",
12414
+ "name": "show_more_item",
12415
+ "snapshot": "true",
12416
+ "skip_rules": {
12417
+ "wont_fix": [
12418
+ "region"
12419
+ ],
12420
+ "will_fix": [
12421
+ "color-contrast"
12422
+ ]
12423
+ }
12424
+ },
12425
+ {
12426
+ "preview_path": "primer/beta/nav_list/trailing_action",
12427
+ "name": "trailing_action",
12428
+ "snapshot": "true",
12429
+ "skip_rules": {
12430
+ "wont_fix": [
12431
+ "region"
12432
+ ],
12433
+ "will_fix": [
12434
+ "color-contrast"
12435
+ ]
12436
+ }
12437
+ }
12438
+ ],
12439
+ "subcomponents": [
12440
+ {
12441
+ "fully_qualified_name": "Primer::Beta::NavList::Heading",
12442
+ "description": "The heading placed above a `NavList`'s items.\n\nSee {{#link_to_component}}Primer::Beta::NavList{{/link_to_component}} for usage examples.",
12443
+ "accessibility_docs": null,
12444
+ "is_form_component": false,
12445
+ "is_published": true,
12446
+ "requires_js": false,
12447
+ "component": "NavList::Heading",
12448
+ "status": "alpha",
12449
+ "a11y_reviewed": false,
12450
+ "short_name": "NavListHeading",
12451
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/nav_list/heading.rb",
12452
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/nav_list/heading/default/",
12453
+ "parameters": [
12454
+ {
12455
+ "name": "title",
12456
+ "type": "String",
12457
+ "default": "N/A",
12458
+ "description": "The text content of the heading."
12459
+ },
12460
+ {
12461
+ "name": "id",
12462
+ "type": "String",
12463
+ "default": "`self.class.generate_id`",
12464
+ "description": "The value of the ID HTML attribute. Auto-generated by default."
12465
+ },
12466
+ {
12467
+ "name": "heading_level",
12468
+ "type": "Integer",
12469
+ "default": "`2`",
12470
+ "description": "The heading level, i.e. 2 for an `<h2>`, 3 for an `<h3>`, etc."
12471
+ },
12472
+ {
12473
+ "name": "system_arguments",
12474
+ "type": "Hash",
12475
+ "default": "N/A",
12476
+ "description": "{{link_to_system_arguments_docs}}"
12477
+ }
12478
+ ],
12479
+ "slots": [
12480
+
12481
+ ],
12482
+ "methods": [
12483
+ {
12484
+ "name": "title",
12485
+ "description": "Returns the value of attribute title.",
12486
+ "parameters": [
12487
+
12488
+ ]
12489
+ },
12490
+ {
12491
+ "name": "id",
12492
+ "description": "Returns the value of attribute id.",
12493
+ "parameters": [
12494
+
12495
+ ]
12496
+ },
12497
+ {
12498
+ "name": "heading_level",
12499
+ "description": "Returns the value of attribute heading_level.",
12500
+ "parameters": [
12501
+
12502
+ ]
12503
+ },
12504
+ {
12505
+ "name": "system_arguments",
12506
+ "description": "Returns the value of attribute system_arguments.",
12507
+ "parameters": [
12508
+
12509
+ ]
12510
+ }
12511
+ ],
12512
+ "previews": [
12513
+
12514
+ ],
12515
+ "subcomponents": [
12516
+
12517
+ ]
12518
+ },
12519
+ {
12520
+ "fully_qualified_name": "Primer::Beta::NavList::Item",
12521
+ "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.",
12522
+ "accessibility_docs": null,
12523
+ "is_form_component": false,
12524
+ "is_published": true,
12525
+ "requires_js": true,
12526
+ "component": "NavList::Item",
12527
+ "status": "alpha",
12528
+ "a11y_reviewed": false,
12529
+ "short_name": "NavListItem",
12530
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/nav_list/item.rb",
12531
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/nav_list/item/default/",
12532
+ "parameters": [
12533
+ {
12534
+ "name": "selected_item_id",
12535
+ "type": "Symbol",
12536
+ "default": "`nil`",
12537
+ "description": "The ID of the currently selected list item. Used internally."
12538
+ },
12539
+ {
12540
+ "name": "selected_by_ids",
12541
+ "type": "Array<Symbol>",
12542
+ "default": "`[]`",
12543
+ "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."
12544
+ },
12545
+ {
12546
+ "name": "expanded",
12547
+ "type": "Boolean",
12548
+ "default": "`false`",
12549
+ "description": "Whether this item shows (expands) or hides (collapses) its list of sub items."
12550
+ },
12551
+ {
12552
+ "name": "sub_item",
12553
+ "type": "Boolean",
12554
+ "default": "`false`",
12555
+ "description": "Whether or not this item is nested under a parent item. Used internally."
12556
+ },
12557
+ {
12558
+ "name": "system_arguments",
12559
+ "type": "Hash",
12560
+ "default": "N/A",
12561
+ "description": "{{link_to_system_arguments_docs}}"
12562
+ }
12563
+ ],
12564
+ "slots": [
12565
+ {
12566
+ "name": "items",
12567
+ "description": null,
12568
+ "parameters": [
12569
+ {
12570
+ "name": "system_arguments",
12571
+ "type": "Hash",
12572
+ "default": "N/A",
12573
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionList::Item{{/link_to_component}}."
12574
+ }
12575
+ ]
12576
+ },
12577
+ {
12578
+ "name": "description",
12579
+ "description": "Description content that complements the item's label. See `ActionList`'s `description_scheme` argument\nfor layout options.",
12580
+ "parameters": [
12581
+
12582
+ ]
12583
+ },
12584
+ {
12585
+ "name": "leading_visual",
12586
+ "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.",
12587
+ "parameters": [
12588
+
12589
+ ]
12590
+ },
12591
+ {
12592
+ "name": "trailing_visual",
12593
+ "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```",
12594
+ "parameters": [
12595
+
12596
+ ]
12597
+ },
12598
+ {
12599
+ "name": "trailing_action",
12600
+ "description": "A button rendered after the trailing icon that can be used to show a menu, activate\na dialog, etc.",
12601
+ "parameters": [
12602
+ {
12603
+ "name": "system_arguments",
12604
+ "type": "Hash",
12605
+ "default": "N/A",
12606
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::IconButton{{/link_to_component}}."
12607
+ }
12608
+ ]
12609
+ },
12610
+ {
12611
+ "name": "tooltip",
12612
+ "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.",
12613
+ "parameters": [
12614
+ {
12615
+ "name": "type",
12616
+ "type": "Symbol",
12617
+ "default": "`:description`",
12618
+ "description": "One of `:description` or `:label`."
12619
+ },
12620
+ {
12621
+ "name": "system_arguments",
12622
+ "type": "Hash",
12623
+ "default": "N/A",
12624
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::Tooltip{{/link_to_component}}."
12625
+ }
12626
+ ]
12627
+ }
12628
+ ],
12629
+ "methods": [
12630
+ {
12631
+ "name": "selected_by_ids",
12632
+ "description": "Returns the value of attribute selected_by_ids.",
12633
+ "parameters": [
12634
+
12635
+ ]
12636
+ },
12637
+ {
12638
+ "name": "sub_item",
12639
+ "description": "Returns the value of attribute sub_item.",
12640
+ "parameters": [
12641
+
12642
+ ]
12643
+ },
12644
+ {
12645
+ "name": "sub_item?",
12646
+ "description": "Returns the value of attribute sub_item.\nWhether or not this item is nested under a parent item.",
12647
+ "parameters": [
12648
+
12649
+ ]
12650
+ },
12651
+ {
12652
+ "name": "expand!",
12653
+ "description": "Cause this item to show its list of sub items when rendered.",
12654
+ "parameters": [
12655
+
12656
+ ]
12657
+ },
12658
+ {
12659
+ "name": "item_active?",
12660
+ "description": "Normally it would be easier to simply ask each item for its active status, eg.\nitems.any?(&:active?), but unfortunately the view context is not set on each\nitem until _after_ the parent's before_render, etc methods have been called.\nThis means helper methods like current_page? will blow up with an error, since\n`helpers` is simply an alias for the view context (i.e. an instance of\nActionView::Base). Since we know the view context for the parent object must\nbe set before `before_render` is invoked, we can call helper methods here in\nthe parent and bypass the problem entirely. Maybe not the most OO approach,\nbut it works.",
12661
+ "parameters": [
12662
+
12663
+ ]
12664
+ }
12665
+ ],
12666
+ "previews": [
12667
+
12668
+ ],
12669
+ "subcomponents": [
12670
+
12671
+ ]
12672
+ },
12673
+ {
12674
+ "fully_qualified_name": "Primer::Beta::NavList::Divider",
12675
+ "description": "Separator with optional text rendered above groups or between individual items.",
12676
+ "accessibility_docs": null,
12677
+ "is_form_component": false,
12678
+ "is_published": true,
12679
+ "requires_js": false,
12680
+ "component": "NavList::Divider",
12681
+ "status": "alpha",
12682
+ "a11y_reviewed": false,
12683
+ "short_name": "NavListDivider",
12684
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/nav_list/divider.rb",
12685
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/nav_list/divider/default/",
12686
+ "parameters": [
12687
+ {
12688
+ "name": "scheme",
12689
+ "type": "Symbol",
12690
+ "default": "`:subtle`",
12691
+ "description": "Display a background color if scheme is `filled`."
12692
+ },
12693
+ {
12694
+ "name": "system_arguments",
12695
+ "type": "Hash",
12696
+ "default": "N/A",
12697
+ "description": "{{link_to_system_arguments_docs}}"
12698
+ }
12699
+ ],
12700
+ "slots": [
12701
+
12702
+ ],
12703
+ "methods": [
12704
+
12705
+ ],
12706
+ "previews": [
12707
+
12708
+ ],
12709
+ "subcomponents": [
12710
+
12711
+ ]
12712
+ },
12713
+ {
12714
+ "fully_qualified_name": "Primer::Beta::NavList::Group",
12715
+ "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.",
12716
+ "accessibility_docs": null,
12717
+ "is_form_component": false,
12718
+ "is_published": true,
12719
+ "requires_js": true,
12720
+ "component": "NavList::Group",
12721
+ "status": "alpha",
12722
+ "a11y_reviewed": true,
12723
+ "short_name": "NavListGroup",
12724
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/nav_list/group.rb",
12725
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/nav_list/group/default/",
12726
+ "parameters": [
12727
+ {
12728
+ "name": "selected_item_id",
12729
+ "type": "Symbol",
12730
+ "default": "`nil`",
12731
+ "description": "The ID of the currently selected item. Used internally."
12732
+ },
12733
+ {
12734
+ "name": "system_arguments",
12735
+ "type": "Hash",
12736
+ "default": "N/A",
12737
+ "description": "{{link_to_system_arguments_docs}}"
12738
+ }
12739
+ ],
12740
+ "slots": [
12741
+ {
12742
+ "name": "show_more_item",
12743
+ "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.",
12744
+ "parameters": [
12745
+ {
12746
+ "name": "src",
12747
+ "type": "String",
12748
+ "default": "N/A",
12749
+ "description": "The URL to query for additional pages of list items."
12750
+ },
12751
+ {
12752
+ "name": "pages",
12753
+ "type": "Integer",
12754
+ "default": "N/A",
12755
+ "description": "The total number of pages in the result set."
12756
+ },
12757
+ {
12758
+ "name": "component_klass",
12759
+ "type": "Class",
12760
+ "default": "N/A",
12761
+ "description": "A component class to use instead of the default `Primer::Beta::NavList::Item` class."
12762
+ },
12763
+ {
12764
+ "name": "system_arguments",
12765
+ "type": "Hash",
12766
+ "default": "N/A",
12767
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}."
12768
+ }
12769
+ ]
12770
+ },
12771
+ {
12772
+ "name": "items",
12773
+ "description": "Items.",
12774
+ "parameters": [
12775
+ {
12776
+ "name": "system_arguments",
12777
+ "type": "Hash",
12778
+ "default": "N/A",
12779
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Beta::NavList::Item{{/link_to_component}}."
12780
+ }
12781
+ ]
12782
+ },
12783
+ {
12784
+ "name": "heading",
12785
+ "description": "Heading text rendered above the list of items.",
12786
+ "parameters": [
12787
+ {
12788
+ "name": "system_arguments",
12789
+ "type": "Hash",
12790
+ "default": "N/A",
12791
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionList::Heading{{/link_to_component}}."
12792
+ }
12793
+ ]
12794
+ }
12795
+ ],
12796
+ "methods": [
12797
+ {
12798
+ "name": "expand!",
12799
+ "description": "Cause this group to show its list of sub items when rendered.\n:nocov:",
12800
+ "parameters": [
12801
+
12802
+ ]
12803
+ }
12804
+ ],
12805
+ "previews": [
12331
12806
 
12332
- ],
12333
- "subcomponents": [
12807
+ ],
12808
+ "subcomponents": [
12334
12809
 
12810
+ ]
12811
+ }
12335
12812
  ]
12336
12813
  },
12337
12814
  {
@@ -14559,6 +15036,259 @@
14559
15036
 
14560
15037
  ]
14561
15038
  },
15039
+ {
15040
+ "fully_qualified_name": "Primer::OpenProject::FlexLayout",
15041
+ "description": "A layouting component used to arrange multiple components next / below each other",
15042
+ "accessibility_docs": null,
15043
+ "is_form_component": false,
15044
+ "is_published": true,
15045
+ "requires_js": false,
15046
+ "component": "OpenProject::FlexLayout",
15047
+ "status": "open_project",
15048
+ "a11y_reviewed": false,
15049
+ "short_name": "OpenProjectFlexLayout",
15050
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/flex_layout.rb",
15051
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/flex_layout/default/",
15052
+ "parameters": [
15053
+ {
15054
+ "name": "system_arguments",
15055
+ "type": "Hash",
15056
+ "default": "N/A",
15057
+ "description": "{{link_to_system_arguments_docs}}"
15058
+ }
15059
+ ],
15060
+ "slots": [
15061
+ {
15062
+ "name": "rows",
15063
+ "description": null,
15064
+ "parameters": [
15065
+
15066
+ ]
15067
+ },
15068
+ {
15069
+ "name": "columns",
15070
+ "description": null,
15071
+ "parameters": [
15072
+
15073
+ ]
15074
+ },
15075
+ {
15076
+ "name": "boxes",
15077
+ "description": "boxes are used when direction is set to row or column based on responsive breakpoints",
15078
+ "parameters": [
15079
+
15080
+ ]
15081
+ }
15082
+ ],
15083
+ "methods": [
15084
+
15085
+ ],
15086
+ "previews": [
15087
+ {
15088
+ "preview_path": "primer/open_project/flex_layout/playground",
15089
+ "name": "playground",
15090
+ "snapshot": "false",
15091
+ "skip_rules": {
15092
+ "wont_fix": [
15093
+ "region"
15094
+ ],
15095
+ "will_fix": [
15096
+ "color-contrast"
15097
+ ]
15098
+ }
15099
+ },
15100
+ {
15101
+ "preview_path": "primer/open_project/flex_layout/default",
15102
+ "name": "default",
15103
+ "snapshot": "false",
15104
+ "skip_rules": {
15105
+ "wont_fix": [
15106
+ "region"
15107
+ ],
15108
+ "will_fix": [
15109
+ "color-contrast"
15110
+ ]
15111
+ }
15112
+ },
15113
+ {
15114
+ "preview_path": "primer/open_project/flex_layout/row_layout",
15115
+ "name": "row_layout",
15116
+ "snapshot": "false",
15117
+ "skip_rules": {
15118
+ "wont_fix": [
15119
+ "region"
15120
+ ],
15121
+ "will_fix": [
15122
+ "color-contrast"
15123
+ ]
15124
+ }
15125
+ },
15126
+ {
15127
+ "preview_path": "primer/open_project/flex_layout/column_layout",
15128
+ "name": "column_layout",
15129
+ "snapshot": "false",
15130
+ "skip_rules": {
15131
+ "wont_fix": [
15132
+ "region"
15133
+ ],
15134
+ "will_fix": [
15135
+ "color-contrast"
15136
+ ]
15137
+ }
15138
+ },
15139
+ {
15140
+ "preview_path": "primer/open_project/flex_layout/nested_layout",
15141
+ "name": "nested_layout",
15142
+ "snapshot": "false",
15143
+ "skip_rules": {
15144
+ "wont_fix": [
15145
+ "region"
15146
+ ],
15147
+ "will_fix": [
15148
+ "color-contrast"
15149
+ ]
15150
+ }
15151
+ }
15152
+ ],
15153
+ "subcomponents": [
15154
+
15155
+ ]
15156
+ },
15157
+ {
15158
+ "fully_qualified_name": "Primer::OpenProject::GridLayout",
15159
+ "description": "A layouting component used to arrange multiple components in a CSS Grid\nNote that this component only provides helpers (as the class names and grid-area styles).\nHowever, it does not define the actual Grid which should be done in a separate CSS-file.",
15160
+ "accessibility_docs": null,
15161
+ "is_form_component": false,
15162
+ "is_published": true,
15163
+ "requires_js": false,
15164
+ "component": "OpenProject::GridLayout",
15165
+ "status": "open_project",
15166
+ "a11y_reviewed": false,
15167
+ "short_name": "OpenProjectGridLayout",
15168
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/grid_layout.rb",
15169
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/grid_layout/default/",
15170
+ "parameters": [
15171
+ {
15172
+ "name": "css_class",
15173
+ "type": "String",
15174
+ "default": "N/A",
15175
+ "description": "The basic css class applied on the grid-container"
15176
+ },
15177
+ {
15178
+ "name": "system_arguments",
15179
+ "type": "Hash",
15180
+ "default": "N/A",
15181
+ "description": "{{link_to_system_arguments_docs}}"
15182
+ }
15183
+ ],
15184
+ "slots": [
15185
+ {
15186
+ "name": "areas",
15187
+ "description": null,
15188
+ "parameters": [
15189
+
15190
+ ]
15191
+ }
15192
+ ],
15193
+ "methods": [
15194
+ {
15195
+ "name": "css_class",
15196
+ "description": "Returns the value of attribute css_class.",
15197
+ "parameters": [
15198
+
15199
+ ]
15200
+ }
15201
+ ],
15202
+ "previews": [
15203
+ {
15204
+ "preview_path": "primer/open_project/grid_layout/playground",
15205
+ "name": "playground",
15206
+ "snapshot": "false",
15207
+ "skip_rules": {
15208
+ "wont_fix": [
15209
+ "region"
15210
+ ],
15211
+ "will_fix": [
15212
+ "color-contrast"
15213
+ ]
15214
+ }
15215
+ },
15216
+ {
15217
+ "preview_path": "primer/open_project/grid_layout/default",
15218
+ "name": "default",
15219
+ "snapshot": "false",
15220
+ "skip_rules": {
15221
+ "wont_fix": [
15222
+ "region"
15223
+ ],
15224
+ "will_fix": [
15225
+ "color-contrast"
15226
+ ]
15227
+ }
15228
+ }
15229
+ ],
15230
+ "subcomponents": [
15231
+
15232
+ ]
15233
+ },
15234
+ {
15235
+ "fully_qualified_name": "Primer::OpenProject::GridLayout::Area",
15236
+ "description": "GridLayout::Area is an internal component that wraps the items in a div with the given new class and responding \"grid-area\"",
15237
+ "accessibility_docs": null,
15238
+ "is_form_component": false,
15239
+ "is_published": true,
15240
+ "requires_js": false,
15241
+ "component": "OpenProject::GridLayout::Area",
15242
+ "status": "open_project",
15243
+ "a11y_reviewed": false,
15244
+ "short_name": "OpenProjectGridLayoutArea",
15245
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/open_project/grid_layout/area.rb",
15246
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/open_project/grid_layout/area/default/",
15247
+ "parameters": [
15248
+ {
15249
+ "name": "css_class",
15250
+ "type": "String",
15251
+ "default": "N/A",
15252
+ "description": "The basic css class applied on the grid-container"
15253
+ },
15254
+ {
15255
+ "name": "area_name",
15256
+ "type": "Symbol",
15257
+ "default": "N/A",
15258
+ "description": "The specific area name, used for creating the element class and the \"grid-area\" style"
15259
+ },
15260
+ {
15261
+ "name": "component",
15262
+ "type": "ViewComponent::Base",
15263
+ "default": "`Primer::BaseComponent`",
15264
+ "description": "The instance of the component to be rendered."
15265
+ },
15266
+ {
15267
+ "name": "tag",
15268
+ "type": "Symbol",
15269
+ "default": "`:div`",
15270
+ "description": "One of `:div` or `:span`."
15271
+ },
15272
+ {
15273
+ "name": "system_arguments",
15274
+ "type": "Hash",
15275
+ "default": "N/A",
15276
+ "description": "{{link_to_system_arguments_docs}}"
15277
+ }
15278
+ ],
15279
+ "slots": [
15280
+
15281
+ ],
15282
+ "methods": [
15283
+
15284
+ ],
15285
+ "previews": [
15286
+
15287
+ ],
15288
+ "subcomponents": [
15289
+
15290
+ ]
15291
+ },
14562
15292
  {
14563
15293
  "fully_qualified_name": "Primer::OpenProject::PageHeader",
14564
15294
  "description": "A ViewComponent PageHeader inspired by the primer react variant",