primer_view_components 0.1.7 → 0.1.9

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 +38 -0
  3. data/app/assets/javascripts/primer_view_components.js +1 -1
  4. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  5. data/app/assets/styles/primer_view_components.css +2 -2
  6. data/app/assets/styles/primer_view_components.css.map +1 -1
  7. data/app/components/primer/alpha/action_list/divider.rb +1 -1
  8. data/app/components/primer/alpha/action_list/heading.html.erb +2 -2
  9. data/app/components/primer/alpha/action_list/heading.rb +9 -5
  10. data/app/components/primer/alpha/action_list/item.rb +1 -3
  11. data/app/components/primer/alpha/action_list.css +1 -1
  12. data/app/components/primer/alpha/action_list.css.json +1 -0
  13. data/app/components/primer/alpha/action_list.css.map +1 -1
  14. data/app/components/primer/alpha/action_list.html.erb +1 -0
  15. data/app/components/primer/alpha/action_list.pcss +5 -0
  16. data/app/components/primer/alpha/action_list.rb +14 -11
  17. data/app/components/primer/alpha/action_menu.rb +1 -1
  18. data/app/components/primer/alpha/dialog.rb +4 -0
  19. data/app/components/primer/alpha/modal_dialog.js +6 -0
  20. data/app/components/primer/alpha/modal_dialog.ts +6 -0
  21. data/app/components/primer/alpha/nav_list/divider.rb +14 -0
  22. data/app/components/primer/alpha/nav_list/group.html.erb +7 -0
  23. data/app/components/primer/alpha/nav_list/group.rb +24 -11
  24. data/app/components/primer/alpha/nav_list/item.rb +4 -0
  25. data/app/components/primer/alpha/nav_list.d.ts +0 -1
  26. data/app/components/primer/alpha/nav_list.html.erb +9 -4
  27. data/app/components/primer/alpha/nav_list.js +3 -4
  28. data/app/components/primer/alpha/nav_list.rb +87 -10
  29. data/app/components/primer/alpha/nav_list.ts +3 -2
  30. data/app/components/primer/alpha/overlay/header.html.erb +5 -3
  31. data/app/components/primer/alpha/overlay/header.rb +4 -1
  32. data/app/components/primer/alpha/overlay.css +1 -1
  33. data/app/components/primer/alpha/overlay.css.json +1 -1
  34. data/app/components/primer/alpha/overlay.css.map +1 -1
  35. data/app/components/primer/alpha/overlay.pcss +1 -1
  36. data/app/components/primer/alpha/overlay.rb +1 -0
  37. data/app/components/primer/alpha/segmented_control.css +1 -1
  38. data/app/components/primer/alpha/segmented_control.css.json +2 -2
  39. data/app/components/primer/alpha/segmented_control.css.map +1 -1
  40. data/app/components/primer/alpha/segmented_control.pcss +10 -8
  41. data/app/components/primer/alpha/text_field.css +1 -1
  42. data/app/components/primer/alpha/text_field.css.json +11 -11
  43. data/app/components/primer/alpha/text_field.css.map +1 -1
  44. data/app/components/primer/alpha/text_field.pcss +2 -2
  45. data/app/components/primer/alpha/toggle_switch.css +1 -1
  46. data/app/components/primer/alpha/toggle_switch.css.json +11 -11
  47. data/app/components/primer/alpha/toggle_switch.css.map +1 -1
  48. data/app/components/primer/alpha/toggle_switch.d.ts +1 -1
  49. data/app/components/primer/alpha/toggle_switch.html.erb +2 -2
  50. data/app/components/primer/alpha/toggle_switch.js +44 -42
  51. data/app/components/primer/alpha/toggle_switch.pcss +4 -4
  52. data/app/components/primer/alpha/toggle_switch.rb +7 -0
  53. data/app/components/primer/alpha/toggle_switch.ts +50 -41
  54. data/app/components/primer/beta/auto_complete.rb +1 -1
  55. data/app/components/primer/beta/button.css +1 -1
  56. data/app/components/primer/beta/button.css.json +2 -0
  57. data/app/components/primer/beta/button.css.map +1 -1
  58. data/app/components/primer/beta/button.pcss +9 -0
  59. data/app/components/primer/component.rb +3 -96
  60. data/app/components/primer/focus_group.js +10 -6
  61. data/app/components/primer/focus_group.ts +10 -5
  62. data/app/lib/primer/attributes_helper.rb +105 -0
  63. data/lib/primer/forms/dsl/input.rb +4 -8
  64. data/lib/primer/forms/dsl/text_field_input.rb +0 -4
  65. data/lib/primer/forms/dsl/toggle_switch_input.rb +4 -0
  66. data/lib/primer/forms/form_control.html.erb +3 -5
  67. data/lib/primer/forms/primer_base_component_wrapper.html.erb +3 -0
  68. data/lib/primer/forms/primer_base_component_wrapper.rb +24 -0
  69. data/lib/primer/forms/text_field.rb +6 -0
  70. data/lib/primer/forms/toggle_switch.html.erb +3 -3
  71. data/lib/primer/forms/toggle_switch.rb +6 -2
  72. data/lib/primer/forms/toggle_switch_input.js +7 -2
  73. data/lib/primer/forms/toggle_switch_input.ts +9 -2
  74. data/lib/primer/static/generate_info_arch.rb +3 -0
  75. data/lib/primer/view_components/version.rb +1 -1
  76. data/lib/primer/yard/component_manifest.rb +1 -1
  77. data/lib/primer/yard/lookbook_pages_backend.rb +7 -1
  78. data/lib/primer/yard/registry.rb +4 -0
  79. data/previews/primer/alpha/nav_list_preview/trailing_action.html.erb +10 -10
  80. data/previews/primer/alpha/nav_list_preview.rb +37 -16
  81. data/previews/primer/alpha/overlay_preview/middle_of_page_with_relative_container.html.erb +19 -0
  82. data/previews/primer/alpha/overlay_preview.rb +31 -0
  83. data/previews/primer/beta/button_preview/trailing_counter.html.erb +11 -0
  84. data/previews/primer/beta/button_preview.rb +15 -0
  85. data/previews/primer/box_preview.rb +28 -0
  86. data/static/arguments.json +29 -13
  87. data/static/audited_at.json +1 -0
  88. data/static/classes.json +3 -0
  89. data/static/constants.json +3 -0
  90. data/static/info_arch.json +448 -20
  91. data/static/previews.json +43 -0
  92. data/static/statuses.json +1 -0
  93. metadata +10 -9
  94. data/lib/tasks/docs.rake +0 -185
  95. data/lib/tasks/helpers/ast_processor.rb +0 -44
  96. data/lib/tasks/helpers/ast_traverser.rb +0 -77
  97. data/lib/tasks/primer_view_components.rake +0 -47
  98. data/lib/tasks/static.rake +0 -29
  99. data/lib/tasks/test.rake +0 -83
  100. data/lib/tasks/utilities.rake +0 -109
@@ -2,6 +2,9 @@
2
2
  {
3
3
  "fully_qualified_name": "Primer::Alpha::ActionList",
4
4
  "description": "An ActionList is a styled list of links. It acts as the base component for many\nother menu-type components, including `ActionMenu` and `SelectPanel`, as well as\nthe navigational component `NavList`.\n\nEach item in an action list can be augmented by specifying corresponding leading\nand/or trailing visuals.",
5
+ "is_form_component": false,
6
+ "is_published": true,
7
+ "requires_js": true,
5
8
  "component": "ActionList",
6
9
  "status": "alpha",
7
10
  "a11y_reviewed": false,
@@ -97,6 +100,13 @@
97
100
  }
98
101
  ]
99
102
  },
103
+ {
104
+ "name": "id",
105
+ "description": "Returns the value of attribute id.",
106
+ "parameters": [
107
+
108
+ ]
109
+ },
100
110
  {
101
111
  "name": "select_variant",
102
112
  "description": "Returns the value of attribute select_variant.",
@@ -109,6 +119,13 @@
109
119
  "description": "Returns the value of attribute role.",
110
120
  "parameters": [
111
121
 
122
+ ]
123
+ },
124
+ {
125
+ "name": "post_list_content_block",
126
+ "description": "Returns the value of attribute post_list_content_block.",
127
+ "parameters": [
128
+
112
129
  ]
113
130
  }
114
131
  ],
@@ -223,6 +240,9 @@
223
240
  {
224
241
  "fully_qualified_name": "Primer::Alpha::ActionList::Item",
225
242
  "description": "An individual `ActionList` item. Items can optionally include leading and/or trailing visuals,\nsuch as icons, avatars, and counters.",
243
+ "is_form_component": false,
244
+ "is_published": true,
245
+ "requires_js": false,
226
246
  "component": "ActionList::Item",
227
247
  "status": "alpha",
228
248
  "a11y_reviewed": false,
@@ -460,6 +480,9 @@
460
480
  {
461
481
  "fully_qualified_name": "Primer::Alpha::ActionList::Heading",
462
482
  "description": "Heading used to describe each sub list within an action list.",
483
+ "is_form_component": false,
484
+ "is_published": true,
485
+ "requires_js": false,
463
486
  "component": "ActionList::Heading",
464
487
  "status": "alpha",
465
488
  "a11y_reviewed": false,
@@ -467,12 +490,6 @@
467
490
  "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list/heading.rb",
468
491
  "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/heading/default/",
469
492
  "parameters": [
470
- {
471
- "name": "id",
472
- "type": "String",
473
- "default": "`self.class.generate_id`",
474
- "description": "The group's identifier (ID attribute in HTML)."
475
- },
476
493
  {
477
494
  "name": "title",
478
495
  "type": "String",
@@ -497,12 +514,6 @@
497
514
  "default": "`:subtle`",
498
515
  "description": "Display a background color if scheme is `filled`."
499
516
  },
500
- {
501
- "name": "tag",
502
- "type": "Integer",
503
- "default": "N/A",
504
- "description": "Semantic tag for the heading."
505
- },
506
517
  {
507
518
  "name": "system_arguments",
508
519
  "type": "Hash",
@@ -515,8 +526,15 @@
515
526
  ],
516
527
  "methods": [
517
528
  {
518
- "name": "id",
519
- "description": "Returns the value of attribute id.",
529
+ "name": "title_id",
530
+ "description": "Returns the value of attribute title_id.",
531
+ "parameters": [
532
+
533
+ ]
534
+ },
535
+ {
536
+ "name": "subtitle_id",
537
+ "description": "Returns the value of attribute subtitle_id.",
520
538
  "parameters": [
521
539
 
522
540
  ]
@@ -532,6 +550,9 @@
532
550
  {
533
551
  "fully_qualified_name": "Primer::Alpha::ActionList::FormWrapper",
534
552
  "description": "Utility component for wrapping ActionLists or individual ActionList::Items in forms.",
553
+ "is_form_component": false,
554
+ "is_published": true,
555
+ "requires_js": false,
535
556
  "component": "ActionList::FormWrapper",
536
557
  "status": "alpha",
537
558
  "a11y_reviewed": false,
@@ -556,7 +577,10 @@
556
577
  },
557
578
  {
558
579
  "fully_qualified_name": "Primer::Alpha::ActionList::Divider",
559
- "description": "Group heading rendered above the group contents.",
580
+ "description": "Separator with optional text rendered above groups or between individual items.",
581
+ "is_form_component": false,
582
+ "is_published": true,
583
+ "requires_js": false,
560
584
  "component": "ActionList::Divider",
561
585
  "status": "alpha",
562
586
  "a11y_reviewed": false,
@@ -595,6 +619,9 @@
595
619
  {
596
620
  "fully_qualified_name": "Primer::Alpha::ActionMenu",
597
621
  "description": "ActionMenu is used for actions, navigation, to display secondary options, or single/multi select lists. They appear when users 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`.",
622
+ "is_form_component": false,
623
+ "is_published": true,
624
+ "requires_js": true,
598
625
  "component": "ActionMenu",
599
626
  "status": "alpha",
600
627
  "a11y_reviewed": false,
@@ -880,6 +907,9 @@
880
907
  {
881
908
  "fully_qualified_name": "Primer::Alpha::ActionMenu::List",
882
909
  "description": "This component is part of {{#link_to_component}}Primer::Alpha::ActionMenu{{/link_to_component}} and should not be\nused as a standalone component.",
910
+ "is_form_component": false,
911
+ "is_published": true,
912
+ "requires_js": false,
883
913
  "component": "ActionMenu::List",
884
914
  "status": "alpha",
885
915
  "a11y_reviewed": false,
@@ -958,6 +988,9 @@
958
988
  {
959
989
  "fully_qualified_name": "Primer::Alpha::AutoComplete",
960
990
  "description": "Use `AutoComplete` to provide a user with a list of selectable suggestions that appear when they type into the\ninput field. This list is populated by server search results.",
991
+ "is_form_component": false,
992
+ "is_published": true,
993
+ "requires_js": false,
961
994
  "component": "AutoComplete",
962
995
  "status": "deprecated",
963
996
  "a11y_reviewed": false,
@@ -1087,6 +1120,9 @@
1087
1120
  {
1088
1121
  "fully_qualified_name": "Primer::Alpha::AutoComplete::Item",
1089
1122
  "description": "Use `AutoCompleteItem` to list results of an auto-completed search.",
1123
+ "is_form_component": false,
1124
+ "is_published": true,
1125
+ "requires_js": false,
1090
1126
  "component": "AutoComplete::Item",
1091
1127
  "status": "deprecated",
1092
1128
  "a11y_reviewed": false,
@@ -1137,6 +1173,9 @@
1137
1173
  {
1138
1174
  "fully_qualified_name": "Primer::Alpha::Banner",
1139
1175
  "description": "Use `Banner` to highlight important information.",
1176
+ "is_form_component": false,
1177
+ "is_published": true,
1178
+ "requires_js": true,
1140
1179
  "component": "Banner",
1141
1180
  "status": "alpha",
1142
1181
  "a11y_reviewed": false,
@@ -1249,6 +1288,9 @@
1249
1288
  {
1250
1289
  "fully_qualified_name": "Primer::Alpha::ButtonMarketing",
1251
1290
  "description": "Use `ButtonMarketing` for actions (e.g. in forms). Use links for destinations, or moving from one page to another.",
1291
+ "is_form_component": false,
1292
+ "is_published": true,
1293
+ "requires_js": false,
1252
1294
  "component": "ButtonMarketing",
1253
1295
  "status": "alpha",
1254
1296
  "a11y_reviewed": false,
@@ -1322,6 +1364,9 @@
1322
1364
  {
1323
1365
  "fully_qualified_name": "Primer::Alpha::CheckBox",
1324
1366
  "description": "Check boxes are true/false inputs rendered as `<input type=\"checkbox\">` in HTML.\n\n## Schemes\n\nCheck boxes can submit values to the server using one of two schemes, either `:array`\nor `:boolean` (the default). Check boxes with a scheme of `:boolean` function like normal\nHTML check boxes. If they are checked, a value of \"1\" is sent to the server; if they are\nunchecked, a value of \"0\" is sent to the server. The checked and unchecked values can be\ncustomized via the `:value` and `:unchecked_value` arguments respectively.\n\nWhereas `:boolean` check boxes must have unique names, `:array` check boxes all have the\nsame name. On form submission, Rails will aggregate the values of the check boxes with the\nsame name and provide them to the controller as an array. If `:scheme:` is `:array`, the\n`:value` argument must also be provided. The `:unchecked_value` argument is ignored. If a\ncheck box is checked on submit, its corresponding value will appear in the array. If it is\nnot checked, its value will not appear in the array.\n\n## Caption templates\n\nCaption templates for `:array`-type check boxes work a little differently than they do for\nother input types. Because the name must be the same for all check boxes that make up an\narray, caption template file names are comprised of both the name _and_ the value of each\ncheck box. For example, a check box with the name `foo` and value `bar` must have a caption\ntemplate named `foo_bar_caption.html.erb`.\n\n## Nested Forms\n\nCheck boxes can have \"nested\" forms that are rendered below the caption. A common use-case\nis a form that is hidden until the check box is checked. Nested forms are indented slightly\nto align with the label and caption.\n\nDefine a nested form via the `#nested_form` method, which is expected to return an instance\nof a Primer form (see the usage section below).\n\nAny fields defined in the nested form are submitted along with the parent form's fields.\n\n**NOTE**: Check boxes do not automatically show or hide nested forms. If such behavior is\ndesired, it must be done by hand.",
1367
+ "is_form_component": true,
1368
+ "is_published": false,
1369
+ "requires_js": false,
1325
1370
  "component": "CheckBox",
1326
1371
  "status": "alpha",
1327
1372
  "a11y_reviewed": false,
@@ -1492,6 +1537,9 @@
1492
1537
  {
1493
1538
  "fully_qualified_name": "Primer::Alpha::CheckBoxGroup",
1494
1539
  "description": "Check box groups consist of one or more related check boxes.",
1540
+ "is_form_component": true,
1541
+ "is_published": false,
1542
+ "requires_js": false,
1495
1543
  "component": "CheckBoxGroup",
1496
1544
  "status": "alpha",
1497
1545
  "a11y_reviewed": false,
@@ -1577,6 +1625,9 @@
1577
1625
  {
1578
1626
  "fully_qualified_name": "Primer::Alpha::Dialog",
1579
1627
  "description": "A `Dialog` is used to remove the user from the main application flow,\nto confirm actions, ask for disambiguation or to present small forms.",
1628
+ "is_form_component": false,
1629
+ "is_published": true,
1630
+ "requires_js": false,
1580
1631
  "component": "Dialog",
1581
1632
  "status": "alpha",
1582
1633
  "a11y_reviewed": true,
@@ -1702,7 +1753,13 @@
1702
1753
  }
1703
1754
  ],
1704
1755
  "methods": [
1756
+ {
1757
+ "name": "id",
1758
+ "description": "The dialog's ID value.",
1759
+ "parameters": [
1705
1760
 
1761
+ ]
1762
+ }
1706
1763
  ],
1707
1764
  "previews": [
1708
1765
  {
@@ -1755,6 +1812,9 @@
1755
1812
  {
1756
1813
  "fully_qualified_name": "Primer::Alpha::Dialog::Header",
1757
1814
  "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}}.",
1815
+ "is_form_component": false,
1816
+ "is_published": true,
1817
+ "requires_js": false,
1758
1818
  "component": "Dialog::Header",
1759
1819
  "status": "alpha",
1760
1820
  "a11y_reviewed": true,
@@ -1809,6 +1869,9 @@
1809
1869
  {
1810
1870
  "fully_qualified_name": "Primer::Alpha::Dialog::Footer",
1811
1871
  "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}}.",
1872
+ "is_form_component": false,
1873
+ "is_published": true,
1874
+ "requires_js": false,
1812
1875
  "component": "Dialog::Footer",
1813
1876
  "status": "alpha",
1814
1877
  "a11y_reviewed": true,
@@ -1845,6 +1908,9 @@
1845
1908
  {
1846
1909
  "fully_qualified_name": "Primer::Alpha::Dialog::Body",
1847
1910
  "description": "A `Dialog::Body` is a compositional component, used to render the\nBody of a dialog. See {{#link_to_component}}Primer::Alpha::Dialog{{/link_to_component}}.",
1911
+ "is_form_component": false,
1912
+ "is_published": true,
1913
+ "requires_js": false,
1848
1914
  "component": "Dialog::Body",
1849
1915
  "status": "alpha",
1850
1916
  "a11y_reviewed": true,
@@ -1877,6 +1943,9 @@
1877
1943
  {
1878
1944
  "fully_qualified_name": "Primer::Alpha::Dropdown",
1879
1945
  "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.",
1946
+ "is_form_component": false,
1947
+ "is_published": true,
1948
+ "requires_js": true,
1880
1949
  "component": "Dropdown",
1881
1950
  "status": "alpha",
1882
1951
  "a11y_reviewed": false,
@@ -1982,6 +2051,9 @@
1982
2051
  {
1983
2052
  "fully_qualified_name": "Primer::Alpha::Dropdown::Menu::Item",
1984
2053
  "description": "Items to be rendered in the `Dropdown` menu.",
2054
+ "is_form_component": false,
2055
+ "is_published": true,
2056
+ "requires_js": false,
1985
2057
  "component": "Dropdown::Menu::Item",
1986
2058
  "status": "alpha",
1987
2059
  "a11y_reviewed": false,
@@ -2007,6 +2079,9 @@
2007
2079
  {
2008
2080
  "fully_qualified_name": "Primer::Alpha::Dropdown::Menu",
2009
2081
  "description": "This component is part of `Dropdown` and should not be\nused as a standalone component.",
2082
+ "is_form_component": false,
2083
+ "is_published": true,
2084
+ "requires_js": false,
2010
2085
  "component": "Dropdown::Menu",
2011
2086
  "status": "alpha",
2012
2087
  "a11y_reviewed": false,
@@ -2080,6 +2155,9 @@
2080
2155
  {
2081
2156
  "fully_qualified_name": "Primer::Alpha::FormButton",
2082
2157
  "description": "A button input rendered using the HTML `<button type=\"button\">` tag.\n\nThis component wraps the Primer button component and supports the same slots and arguments.",
2158
+ "is_form_component": true,
2159
+ "is_published": false,
2160
+ "requires_js": false,
2083
2161
  "component": "FormButton",
2084
2162
  "status": "alpha",
2085
2163
  "a11y_reviewed": false,
@@ -2152,6 +2230,9 @@
2152
2230
  {
2153
2231
  "fully_qualified_name": "Primer::Alpha::FormControl",
2154
2232
  "description": "Wraps an input (or arbitrary content) with a label above and a caption and validation message beneath.\nNOTE: This `FormControl` component is designed for wrapping inputs that aren't supported by the Primer\nforms framework.",
2233
+ "is_form_component": false,
2234
+ "is_published": true,
2235
+ "requires_js": false,
2155
2236
  "component": "FormControl",
2156
2237
  "status": "alpha",
2157
2238
  "a11y_reviewed": false,
@@ -2245,6 +2326,9 @@
2245
2326
  {
2246
2327
  "fully_qualified_name": "Primer::Alpha::HellipButton",
2247
2328
  "description": "Use `HellipButton` to render a button with a hellip. Often used for hidden text expanders.",
2329
+ "is_form_component": false,
2330
+ "is_published": true,
2331
+ "requires_js": false,
2248
2332
  "component": "HellipButton",
2249
2333
  "status": "alpha",
2250
2334
  "a11y_reviewed": false,
@@ -2290,6 +2374,9 @@
2290
2374
  {
2291
2375
  "fully_qualified_name": "Primer::Alpha::HiddenTextExpander",
2292
2376
  "description": "Use `HiddenTextExpander` to indicate and toggle hidden text.",
2377
+ "is_form_component": false,
2378
+ "is_published": true,
2379
+ "requires_js": false,
2293
2380
  "component": "HiddenTextExpander",
2294
2381
  "status": "alpha",
2295
2382
  "a11y_reviewed": false,
@@ -2341,6 +2428,9 @@
2341
2428
  {
2342
2429
  "fully_qualified_name": "Primer::Alpha::Image",
2343
2430
  "description": "Use `Image` to render images.",
2431
+ "is_form_component": false,
2432
+ "is_published": true,
2433
+ "requires_js": false,
2344
2434
  "component": "Image",
2345
2435
  "status": "alpha",
2346
2436
  "a11y_reviewed": false,
@@ -2389,6 +2479,9 @@
2389
2479
  {
2390
2480
  "fully_qualified_name": "Primer::Alpha::ImageCrop",
2391
2481
  "description": "A client-side mechanism to crop images.",
2482
+ "is_form_component": false,
2483
+ "is_published": true,
2484
+ "requires_js": true,
2392
2485
  "component": "ImageCrop",
2393
2486
  "status": "alpha",
2394
2487
  "a11y_reviewed": false,
@@ -2456,6 +2549,9 @@
2456
2549
  {
2457
2550
  "fully_qualified_name": "Primer::Alpha::Layout",
2458
2551
  "description": "`Layout` provides foundational patterns for responsive pages.\n`Layout` can be used for simple two-column pages, or it can be nested to provide flexible 3-column experiences.\n On smaller screens, `Layout` uses vertically stacked rows to display content.\n\n`Layout` flows as both column, when there's enough horizontal space to render both `Main` and `Sidebar`side-by-side (on a desktop of tablet device, per instance);\nor it flows as a row, when `Main` and `Sidebar` are stacked vertically (e.g. on a mobile device).\n`Layout` should always work in any screen size.",
2552
+ "is_form_component": false,
2553
+ "is_published": true,
2554
+ "requires_js": false,
2459
2555
  "component": "Layout",
2460
2556
  "status": "alpha",
2461
2557
  "a11y_reviewed": false,
@@ -2587,6 +2683,9 @@
2587
2683
  {
2588
2684
  "fully_qualified_name": "Primer::Alpha::Layout::Sidebar",
2589
2685
  "description": "The layout's sidebar content.",
2686
+ "is_form_component": false,
2687
+ "is_published": true,
2688
+ "requires_js": false,
2590
2689
  "component": "Layout::Sidebar",
2591
2690
  "status": "alpha",
2592
2691
  "a11y_reviewed": false,
@@ -2612,6 +2711,9 @@
2612
2711
  {
2613
2712
  "fully_qualified_name": "Primer::Alpha::Layout::Main",
2614
2713
  "description": "The layout's main content.",
2714
+ "is_form_component": false,
2715
+ "is_published": true,
2716
+ "requires_js": false,
2615
2717
  "component": "Layout::Main",
2616
2718
  "status": "alpha",
2617
2719
  "a11y_reviewed": false,
@@ -2650,6 +2752,9 @@
2650
2752
  {
2651
2753
  "fully_qualified_name": "Primer::Alpha::Menu",
2652
2754
  "description": "Use `Menu` to create vertical lists of navigational links.",
2755
+ "is_form_component": false,
2756
+ "is_published": true,
2757
+ "requires_js": false,
2653
2758
  "component": "Menu",
2654
2759
  "status": "alpha",
2655
2760
  "a11y_reviewed": false,
@@ -2730,6 +2835,9 @@
2730
2835
  {
2731
2836
  "fully_qualified_name": "Primer::Alpha::MultiInput",
2732
2837
  "description": "Multi inputs are comprised of multiple constituent fields, only one of which is visible\nat a given time. They are designed for situations where constituent inputs are shown or\nhidden based on the value of another field. For example, consider an address form. If\nthe user chooses the USA as the country, the region input should show a list of states\nand US territories; if the user instead chooses Canada, the region input should show a\nlist of Canadian provinces, etc.\n\nUnlike everywhere else in Primer forms, constituent inputs are not directly passed a\n`name` attribute. Instead, developers pass a `name` attribute to the multi input itself.\nThe multi input then automatically assigns each constituent input the same name. This is\ndone so that the multi input looks like a single field from the server's point of view.\nUsing the address form example from earlier, this means only one value - either a US state\nor a Canadian provice - will be submitted to the server under the `region` key.\n\nActually, that's not quite true. Constituent inputs _are_ given a `name`, but it's added to\nthe input as the `data-name` attribute as a way to identify constituent inputs, and will not\nbe sent to the server.",
2838
+ "is_form_component": true,
2839
+ "is_published": false,
2840
+ "requires_js": true,
2733
2841
  "component": "MultiInput",
2734
2842
  "status": "alpha",
2735
2843
  "a11y_reviewed": false,
@@ -2886,6 +2994,9 @@
2886
2994
  {
2887
2995
  "fully_qualified_name": "Primer::Alpha::NavList",
2888
2996
  "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.",
2997
+ "is_form_component": false,
2998
+ "is_published": true,
2999
+ "requires_js": true,
2889
3000
  "component": "NavList",
2890
3001
  "status": "alpha",
2891
3002
  "a11y_reviewed": false,
@@ -2908,20 +3019,57 @@
2908
3019
  ],
2909
3020
  "slots": [
2910
3021
  {
2911
- "name": "groups",
2912
- "description": "Groups. Each group is a list of links and an optional heading.",
3022
+ "name": "heading",
3023
+ "description": null,
3024
+ "parameters": [
3025
+
3026
+ ]
3027
+ },
3028
+ {
3029
+ "name": "items",
3030
+ "description": "Items.",
2913
3031
  "parameters": [
2914
3032
  {
2915
3033
  "name": "system_arguments",
2916
3034
  "type": "Hash",
2917
3035
  "default": "N/A",
2918
- "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::NavList::Group{{/link_to_component}}."
3036
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::NavList::Item{{/link_to_component}}."
2919
3037
  }
2920
3038
  ]
2921
3039
  }
2922
3040
  ],
2923
3041
  "methods": [
3042
+ {
3043
+ "name": "with_group",
3044
+ "description": "Groups. Each group is a list of links and a (required) heading.",
3045
+ "parameters": [
3046
+ {
3047
+ "name": "system_arguments",
3048
+ "type": "Hash",
3049
+ "default": "N/A",
3050
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::NavList::Group{{/link_to_component}}."
3051
+ }
3052
+ ]
3053
+ },
3054
+ {
3055
+ "name": "with_divider",
3056
+ "description": "Adds a divider to the list of items.",
3057
+ "parameters": [
3058
+ {
3059
+ "name": "system_arguments",
3060
+ "type": "Hash",
3061
+ "default": "N/A",
3062
+ "description": "The arguments accepted by {{#link_to_component}}Primer::Alpha::ActionList::Divider{{/link_to_component}}."
3063
+ }
3064
+ ]
3065
+ },
3066
+ {
3067
+ "name": "render_outer_list?",
3068
+ "description": "Lists that contain top-level items (i.e. items outside of a group) should be wrapped in a <ul>",
3069
+ "parameters": [
2924
3070
 
3071
+ ]
3072
+ }
2925
3073
  ],
2926
3074
  "previews": [
2927
3075
  {
@@ -2934,6 +3082,11 @@
2934
3082
  "preview_path": "/lookbook/preview/primer/alpha/nav_list/default",
2935
3083
  "name": "default"
2936
3084
  },
3085
+ {
3086
+ "inspect_path": "/lookbook/inspect/primer/alpha/nav_list/top_level_items",
3087
+ "preview_path": "/lookbook/preview/primer/alpha/nav_list/top_level_items",
3088
+ "name": "top_level_items"
3089
+ },
2937
3090
  {
2938
3091
  "inspect_path": "/lookbook/inspect/primer/alpha/nav_list/show_more_item",
2939
3092
  "preview_path": "/lookbook/preview/primer/alpha/nav_list/show_more_item",
@@ -2949,6 +3102,9 @@
2949
3102
  {
2950
3103
  "fully_qualified_name": "Primer::Alpha::NavList::Item",
2951
3104
  "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.",
3105
+ "is_form_component": false,
3106
+ "is_published": true,
3107
+ "requires_js": true,
2952
3108
  "component": "NavList::Item",
2953
3109
  "status": "alpha",
2954
3110
  "a11y_reviewed": false,
@@ -3096,9 +3252,51 @@
3096
3252
 
3097
3253
  ]
3098
3254
  },
3255
+ {
3256
+ "fully_qualified_name": "Primer::Alpha::NavList::Divider",
3257
+ "description": "Separator with optional text rendered above groups or between individual items.",
3258
+ "is_form_component": false,
3259
+ "is_published": true,
3260
+ "requires_js": false,
3261
+ "component": "NavList::Divider",
3262
+ "status": "alpha",
3263
+ "a11y_reviewed": false,
3264
+ "short_name": "NavListDivider",
3265
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/divider.rb",
3266
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/divider/default/",
3267
+ "parameters": [
3268
+ {
3269
+ "name": "scheme",
3270
+ "type": "Symbol",
3271
+ "default": "`:subtle`",
3272
+ "description": "Display a background color if scheme is `filled`."
3273
+ },
3274
+ {
3275
+ "name": "system_arguments",
3276
+ "type": "Hash",
3277
+ "default": "N/A",
3278
+ "description": "{{link_to_system_arguments_docs}}"
3279
+ }
3280
+ ],
3281
+ "slots": [
3282
+
3283
+ ],
3284
+ "methods": [
3285
+
3286
+ ],
3287
+ "previews": [
3288
+
3289
+ ],
3290
+ "subcomponents": [
3291
+
3292
+ ]
3293
+ },
3099
3294
  {
3100
3295
  "fully_qualified_name": "Primer::Alpha::NavList::Group",
3101
3296
  "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.",
3297
+ "is_form_component": false,
3298
+ "is_published": true,
3299
+ "requires_js": true,
3102
3300
  "component": "NavList::Group",
3103
3301
  "status": "alpha",
3104
3302
  "a11y_reviewed": false,
@@ -3196,6 +3394,9 @@
3196
3394
  {
3197
3395
  "fully_qualified_name": "Primer::Alpha::Navigation::Tab",
3198
3396
  "description": "This component is part of navigation components such as `Primer::Alpha::TabNav`\nand `Primer::Alpha::UnderlineNav` and should not be used by itself.",
3397
+ "is_form_component": false,
3398
+ "is_published": true,
3399
+ "requires_js": false,
3199
3400
  "component": "Navigation::Tab",
3200
3401
  "status": "alpha",
3201
3402
  "a11y_reviewed": false,
@@ -3315,6 +3516,9 @@
3315
3516
  {
3316
3517
  "fully_qualified_name": "Primer::Alpha::OcticonSymbols",
3317
3518
  "description": "OcticonSymbols renders a symbol dictionary using a list of {{link_to_octicons}}.",
3519
+ "is_form_component": false,
3520
+ "is_published": true,
3521
+ "requires_js": false,
3318
3522
  "component": "OcticonSymbols",
3319
3523
  "status": "alpha",
3320
3524
  "a11y_reviewed": false,
@@ -3345,6 +3549,9 @@
3345
3549
  {
3346
3550
  "fully_qualified_name": "Primer::Alpha::Overlay",
3347
3551
  "description": "Overlay components codify design patterns related to floating surfaces such\nas dialogs and menus. They are private components intended to be used by\nspecialized components, and mostly contain presentational logic and\nbehavior.",
3552
+ "is_form_component": false,
3553
+ "is_published": true,
3554
+ "requires_js": true,
3348
3555
  "component": "Overlay",
3349
3556
  "status": "alpha",
3350
3557
  "a11y_reviewed": false,
@@ -3552,12 +3759,20 @@
3552
3759
  "inspect_path": "/lookbook/inspect/primer/alpha/overlay/middle_of_page",
3553
3760
  "preview_path": "/lookbook/preview/primer/alpha/overlay/middle_of_page",
3554
3761
  "name": "middle_of_page"
3762
+ },
3763
+ {
3764
+ "inspect_path": "/lookbook/inspect/primer/alpha/overlay/middle_of_page_with_relative_container",
3765
+ "preview_path": "/lookbook/preview/primer/alpha/overlay/middle_of_page_with_relative_container",
3766
+ "name": "middle_of_page_with_relative_container"
3555
3767
  }
3556
3768
  ],
3557
3769
  "subcomponents": [
3558
3770
  {
3559
3771
  "fully_qualified_name": "Primer::Alpha::Overlay::Header",
3560
3772
  "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}}.",
3773
+ "is_form_component": false,
3774
+ "is_published": true,
3775
+ "requires_js": false,
3561
3776
  "component": "Overlay::Header",
3562
3777
  "status": "alpha",
3563
3778
  "a11y_reviewed": false,
@@ -3575,7 +3790,13 @@
3575
3790
  "name": "subtitle",
3576
3791
  "type": "String",
3577
3792
  "default": "`nil`",
3578
- "description": "Provides dditional context for the Overlay, also setting the `aria-describedby` attribute."
3793
+ "description": "Provides additional context for the Overlay, also setting the `aria-describedby` attribute."
3794
+ },
3795
+ {
3796
+ "name": "overlay_id",
3797
+ "type": "String",
3798
+ "default": "`nil`",
3799
+ "description": "Provides the id of the overlay element so the close button can close it"
3579
3800
  },
3580
3801
  {
3581
3802
  "name": "size",
@@ -3618,6 +3839,9 @@
3618
3839
  {
3619
3840
  "fully_qualified_name": "Primer::Alpha::Overlay::Footer",
3620
3841
  "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}}.",
3842
+ "is_form_component": false,
3843
+ "is_published": true,
3844
+ "requires_js": false,
3621
3845
  "component": "Overlay::Footer",
3622
3846
  "status": "alpha",
3623
3847
  "a11y_reviewed": false,
@@ -3660,6 +3884,9 @@
3660
3884
  {
3661
3885
  "fully_qualified_name": "Primer::Alpha::Overlay::Body",
3662
3886
  "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}}.",
3887
+ "is_form_component": false,
3888
+ "is_published": true,
3889
+ "requires_js": false,
3663
3890
  "component": "Overlay::Body",
3664
3891
  "status": "alpha",
3665
3892
  "a11y_reviewed": false,
@@ -3692,6 +3919,9 @@
3692
3919
  {
3693
3920
  "fully_qualified_name": "Primer::Alpha::RadioButton",
3694
3921
  "description": "Radio buttons represent one of a set of options and are rendered as `<input type=\"radio\">` in HTML.\n**NOTE**: You probably want to use the {{#link_to_component}}Primer::Alpha::RadioButtonGroup{{/link_to_component}}\ncomponent instead, as it allows rendering a group of options.",
3922
+ "is_form_component": true,
3923
+ "is_published": false,
3924
+ "requires_js": false,
3695
3925
  "component": "RadioButton",
3696
3926
  "status": "alpha",
3697
3927
  "a11y_reviewed": false,
@@ -3838,6 +4068,9 @@
3838
4068
  {
3839
4069
  "fully_qualified_name": "Primer::Alpha::RadioButtonGroup",
3840
4070
  "description": "A group of mutually exclusive radio buttons.",
4071
+ "is_form_component": true,
4072
+ "is_published": false,
4073
+ "requires_js": false,
3841
4074
  "component": "RadioButtonGroup",
3842
4075
  "status": "alpha",
3843
4076
  "a11y_reviewed": false,
@@ -3923,6 +4156,9 @@
3923
4156
  {
3924
4157
  "fully_qualified_name": "Primer::Alpha::SegmentedControl",
3925
4158
  "description": "Use a segmented control to let users select an option from a short list and immediately apply the selection",
4159
+ "is_form_component": false,
4160
+ "is_published": true,
4161
+ "requires_js": false,
3926
4162
  "component": "SegmentedControl",
3927
4163
  "status": "alpha",
3928
4164
  "a11y_reviewed": true,
@@ -4013,6 +4249,9 @@
4013
4249
  {
4014
4250
  "fully_qualified_name": "Primer::Alpha::SegmentedControl::Item",
4015
4251
  "description": "SegmentedControl::Item is a private component that is only used by SegmentedControl\nIt wraps the Button and IconButton components to provide the correct styles",
4252
+ "is_form_component": false,
4253
+ "is_published": true,
4254
+ "requires_js": false,
4016
4255
  "component": "SegmentedControl::Item",
4017
4256
  "status": "alpha",
4018
4257
  "a11y_reviewed": true,
@@ -4063,6 +4302,9 @@
4063
4302
  {
4064
4303
  "fully_qualified_name": "Primer::Alpha::Select",
4065
4304
  "description": "Select lists are single-line text inputs rendered as `<select>` tags in HTML.",
4305
+ "is_form_component": true,
4306
+ "is_published": false,
4307
+ "requires_js": false,
4066
4308
  "component": "Select",
4067
4309
  "status": "alpha",
4068
4310
  "a11y_reviewed": false,
@@ -4250,6 +4492,9 @@
4250
4492
  {
4251
4493
  "fully_qualified_name": "Primer::Alpha::SubmitButton",
4252
4494
  "description": "A submit button input rendered using the HTML `<button type=\"submit\">` tag.\n\nThis component wraps the Primer button component and supports the same slots and arguments.",
4495
+ "is_form_component": true,
4496
+ "is_published": false,
4497
+ "requires_js": false,
4253
4498
  "component": "SubmitButton",
4254
4499
  "status": "alpha",
4255
4500
  "a11y_reviewed": false,
@@ -4322,6 +4567,9 @@
4322
4567
  {
4323
4568
  "fully_qualified_name": "Primer::Alpha::TabContainer",
4324
4569
  "description": "Use `TabContainer` to create tabbed content with keyboard support. This component does not add any styles.\nIt only provides the tab functionality. If you want styled Tabs you can look at {{#link_to_component}}Primer::Alpha::TabNav{{/link_to_component}}.\n\nThis component requires javascript.",
4570
+ "is_form_component": false,
4571
+ "is_published": true,
4572
+ "requires_js": true,
4325
4573
  "component": "TabContainer",
4326
4574
  "status": "alpha",
4327
4575
  "a11y_reviewed": false,
@@ -4352,6 +4600,9 @@
4352
4600
  {
4353
4601
  "fully_qualified_name": "Primer::Alpha::TabNav",
4354
4602
  "description": "Use `TabNav` to style navigation with a tab-based selected state, typically used for navigation placed at the top of the page.\nFor panel navigation, use {{#link_to_component}}Primer::Alpha::TabPanels{{/link_to_component}} instead.",
4603
+ "is_form_component": false,
4604
+ "is_published": true,
4605
+ "requires_js": false,
4355
4606
  "component": "TabNav",
4356
4607
  "status": "alpha",
4357
4608
  "a11y_reviewed": false,
@@ -4448,6 +4699,9 @@
4448
4699
  {
4449
4700
  "fully_qualified_name": "Primer::Alpha::TabPanels",
4450
4701
  "description": "Use `TabPanels` for tabs with panel navigation.",
4702
+ "is_form_component": false,
4703
+ "is_published": true,
4704
+ "requires_js": true,
4451
4705
  "component": "TabPanels",
4452
4706
  "status": "alpha",
4453
4707
  "a11y_reviewed": false,
@@ -4551,6 +4805,9 @@
4551
4805
  {
4552
4806
  "fully_qualified_name": "Primer::Alpha::TextArea",
4553
4807
  "description": "Text areas are multi-line text inputs rendered using the `<textarea>` tag in HTML.",
4808
+ "is_form_component": true,
4809
+ "is_published": false,
4810
+ "requires_js": false,
4554
4811
  "component": "TextArea",
4555
4812
  "status": "alpha",
4556
4813
  "a11y_reviewed": false,
@@ -4703,6 +4960,9 @@
4703
4960
  {
4704
4961
  "fully_qualified_name": "Primer::Alpha::TextField",
4705
4962
  "description": "Text fields are single-line text inputs rendered as `<input type=\"text\">` in HTML.",
4963
+ "is_form_component": true,
4964
+ "is_published": true,
4965
+ "requires_js": false,
4706
4966
  "component": "TextField",
4707
4967
  "status": "alpha",
4708
4968
  "a11y_reviewed": false,
@@ -4918,6 +5178,9 @@
4918
5178
  {
4919
5179
  "fully_qualified_name": "Primer::Alpha::ToggleSwitch",
4920
5180
  "description": "The ToggleSwitch component is a button that toggles between two boolean states. It is meant to be used for\nsettings that should cause an immediate update. If configured with a \"src\" attribute, the component will\nmake a POST request containing data of the form \"value: 0 | 1\".",
5181
+ "is_form_component": false,
5182
+ "is_published": true,
5183
+ "requires_js": true,
4921
5184
  "component": "ToggleSwitch",
4922
5185
  "status": "alpha",
4923
5186
  "a11y_reviewed": false,
@@ -5038,6 +5301,9 @@
5038
5301
  {
5039
5302
  "fully_qualified_name": "Primer::Alpha::Tooltip",
5040
5303
  "description": "`Tooltip` only appears on mouse hover or keyboard focus and contain a label or description text. Use tooltips sparingly and as a last resort.\nUse tooltips as a last resort. Please consider [Tooltips alternatives](https://primer.style/design/accessibility/tooltip-alternatives).\n\nWhen using a tooltip, follow the provided guidelines to avoid accessibility issues:\n- Tooltips should contain only **non-essential text**. Tooltips can easily be missed and are not accessible on touch devices so never use tooltips to convey critical information.\n- `Tooltip` should be rendered through the API of {{#link_to_component}}Primer::ButtonComponent{{/link_to_component}}, {{#link_to_component}}Primer::Beta::Link{{/link_to_component}}, or {{#link_to_component}}Primer::IconButton{{/link_to_component}}. Avoid using `Tooltip` a standalone component unless absolutely necessary (and **only** on interactive elements).",
5304
+ "is_form_component": false,
5305
+ "is_published": true,
5306
+ "requires_js": true,
5041
5307
  "component": "Tooltip",
5042
5308
  "status": "alpha",
5043
5309
  "a11y_reviewed": false,
@@ -5126,6 +5392,9 @@
5126
5392
  {
5127
5393
  "fully_qualified_name": "Primer::Alpha::UnderlineNav",
5128
5394
  "description": "Use `UnderlineNav` to style navigation links with a minimal\nunderlined selected state, typically placed at the top\nof the page.\n\nFor panel navigation, use {{#link_to_component}}Primer::Alpha::UnderlinePanels{{/link_to_component}} instead.",
5395
+ "is_form_component": false,
5396
+ "is_published": true,
5397
+ "requires_js": false,
5129
5398
  "component": "UnderlineNav",
5130
5399
  "status": "alpha",
5131
5400
  "a11y_reviewed": false,
@@ -5229,6 +5498,9 @@
5229
5498
  {
5230
5499
  "fully_qualified_name": "Primer::Alpha::UnderlinePanels",
5231
5500
  "description": "Use `UnderlinePanels` to style tabs with an associated panel and an underlined selected state.",
5501
+ "is_form_component": false,
5502
+ "is_published": true,
5503
+ "requires_js": true,
5232
5504
  "component": "UnderlinePanels",
5233
5505
  "status": "alpha",
5234
5506
  "a11y_reviewed": false,
@@ -5333,6 +5605,9 @@
5333
5605
  {
5334
5606
  "fully_qualified_name": "Primer::Beta::AutoComplete",
5335
5607
  "description": "Use `AutoComplete` to provide a user with a list of selectable suggestions that appear when they type into the\ninput field. This list is populated by server search results.",
5608
+ "is_form_component": false,
5609
+ "is_published": true,
5610
+ "requires_js": true,
5336
5611
  "component": "AutoComplete",
5337
5612
  "status": "beta",
5338
5613
  "a11y_reviewed": false,
@@ -5564,6 +5839,9 @@
5564
5839
  {
5565
5840
  "fully_qualified_name": "Primer::Beta::AutoComplete::Item",
5566
5841
  "description": "Use `AutoCompleteItem` to list results of an auto-completed search.",
5842
+ "is_form_component": false,
5843
+ "is_published": true,
5844
+ "requires_js": false,
5567
5845
  "component": "AutoComplete::Item",
5568
5846
  "status": "beta",
5569
5847
  "a11y_reviewed": false,
@@ -5675,6 +5953,9 @@
5675
5953
  {
5676
5954
  "fully_qualified_name": "Primer::Beta::Avatar",
5677
5955
  "description": "`Avatar` can be used to represent users and organizations on GitHub.\n\n- Use the default circle avatar for users, and the square shape\nfor organizations or any other non-human avatars.\n- By default, `Avatar` will render a static `<img>`. To have `Avatar` function as a link, set the `href` which will wrap the `<img>` in a `<a>`.\n- Set `size` to update the height and width of the `Avatar` in pixels.\n- To stack multiple avatars together, use {{#link_to_component}}Primer::Beta::AvatarStack{{/link_to_component}}.",
5956
+ "is_form_component": false,
5957
+ "is_published": true,
5958
+ "requires_js": false,
5678
5959
  "component": "Avatar",
5679
5960
  "status": "beta",
5680
5961
  "a11y_reviewed": false,
@@ -5759,6 +6040,9 @@
5759
6040
  {
5760
6041
  "fully_qualified_name": "Primer::Beta::AvatarStack",
5761
6042
  "description": "Use `AvatarStack` to stack multiple avatars together.",
6043
+ "is_form_component": false,
6044
+ "is_published": true,
6045
+ "requires_js": false,
5762
6046
  "component": "AvatarStack",
5763
6047
  "status": "beta",
5764
6048
  "a11y_reviewed": false,
@@ -5843,6 +6127,9 @@
5843
6127
  {
5844
6128
  "fully_qualified_name": "Primer::Beta::BaseButton",
5845
6129
  "description": "Use `BaseButton` to render an unstyled `<button>` tag that can be customized.",
6130
+ "is_form_component": false,
6131
+ "is_published": true,
6132
+ "requires_js": false,
5846
6133
  "component": "BaseButton",
5847
6134
  "status": "beta",
5848
6135
  "a11y_reviewed": false,
@@ -5900,6 +6187,9 @@
5900
6187
  {
5901
6188
  "fully_qualified_name": "Primer::Beta::Blankslate",
5902
6189
  "description": "Use `Blankslate` when there is a lack of content within a page or section. Use as placeholder to tell users why something isn't there.",
6190
+ "is_form_component": false,
6191
+ "is_published": true,
6192
+ "requires_js": false,
5903
6193
  "component": "Blankslate",
5904
6194
  "status": "beta",
5905
6195
  "a11y_reviewed": false,
@@ -6074,6 +6364,9 @@
6074
6364
  {
6075
6365
  "fully_qualified_name": "Primer::Beta::BorderBox",
6076
6366
  "description": "`BorderBox` is a Box component with a border.",
6367
+ "is_form_component": false,
6368
+ "is_published": true,
6369
+ "requires_js": false,
6077
6370
  "component": "BorderBox",
6078
6371
  "status": "beta",
6079
6372
  "a11y_reviewed": false,
@@ -6184,6 +6477,9 @@
6184
6477
  {
6185
6478
  "fully_qualified_name": "Primer::Beta::BorderBox::Header",
6186
6479
  "description": "`BorderBox::Header` is used inside `BorderBox` to render its header slot.",
6480
+ "is_form_component": false,
6481
+ "is_published": true,
6482
+ "requires_js": false,
6187
6483
  "component": "BorderBox::Header",
6188
6484
  "status": "beta",
6189
6485
  "a11y_reviewed": false,
@@ -6233,6 +6529,9 @@
6233
6529
  {
6234
6530
  "fully_qualified_name": "Primer::Beta::Breadcrumbs",
6235
6531
  "description": "Use `Breadcrumbs` to display page hierarchy.\n\n#### Known issues\n\n##### Responsiveness\n\n`Breadcrumbs` is not optimized for responsive designs.",
6532
+ "is_form_component": false,
6533
+ "is_published": true,
6534
+ "requires_js": false,
6236
6535
  "component": "Breadcrumbs",
6237
6536
  "status": "beta",
6238
6537
  "a11y_reviewed": false,
@@ -6286,6 +6585,9 @@
6286
6585
  {
6287
6586
  "fully_qualified_name": "Primer::Beta::Breadcrumbs::Item",
6288
6587
  "description": "This component is part of `Primer::Beta::Breadcrumbs` and should not be\nused as a standalone component.",
6588
+ "is_form_component": false,
6589
+ "is_published": true,
6590
+ "requires_js": false,
6289
6591
  "component": "Breadcrumbs::Item",
6290
6592
  "status": "alpha",
6291
6593
  "a11y_reviewed": false,
@@ -6350,6 +6652,9 @@
6350
6652
  {
6351
6653
  "fully_qualified_name": "Primer::Beta::Button",
6352
6654
  "description": "Use `Button` for actions (e.g. in forms). Use links for destinations, or moving from one page to another.",
6655
+ "is_form_component": false,
6656
+ "is_published": true,
6657
+ "requires_js": false,
6353
6658
  "component": "Button",
6354
6659
  "status": "beta",
6355
6660
  "a11y_reviewed": false,
@@ -6525,6 +6830,11 @@
6525
6830
  "preview_path": "/lookbook/preview/primer/beta/button/trailing_action",
6526
6831
  "name": "trailing_action"
6527
6832
  },
6833
+ {
6834
+ "inspect_path": "/lookbook/inspect/primer/beta/button/trailing_counter",
6835
+ "preview_path": "/lookbook/preview/primer/beta/button/trailing_counter",
6836
+ "name": "trailing_counter"
6837
+ },
6528
6838
  {
6529
6839
  "inspect_path": "/lookbook/inspect/primer/beta/button/with_tooltip",
6530
6840
  "preview_path": "/lookbook/preview/primer/beta/button/with_tooltip",
@@ -6538,6 +6848,9 @@
6538
6848
  {
6539
6849
  "fully_qualified_name": "Primer::Beta::ButtonGroup",
6540
6850
  "description": "Use `ButtonGroup` to render a series of buttons.",
6851
+ "is_form_component": false,
6852
+ "is_published": true,
6853
+ "requires_js": false,
6541
6854
  "component": "ButtonGroup",
6542
6855
  "status": "beta",
6543
6856
  "a11y_reviewed": false,
@@ -6600,6 +6913,9 @@
6600
6913
  {
6601
6914
  "fully_qualified_name": "Primer::Beta::ClipboardCopy",
6602
6915
  "description": "Use `ClipboardCopy` to copy element text content or input values to the clipboard.",
6916
+ "is_form_component": false,
6917
+ "is_published": true,
6918
+ "requires_js": true,
6603
6919
  "component": "ClipboardCopy",
6604
6920
  "status": "beta",
6605
6921
  "a11y_reviewed": false,
@@ -6667,6 +6983,9 @@
6667
6983
  {
6668
6984
  "fully_qualified_name": "Primer::Beta::CloseButton",
6669
6985
  "description": "Use `CloseButton` to render an `×` without default button styles.\n\n[0]: https://primer.style/view-components/system-arguments#html-attributes",
6986
+ "is_form_component": false,
6987
+ "is_published": true,
6988
+ "requires_js": false,
6670
6989
  "component": "CloseButton",
6671
6990
  "status": "beta",
6672
6991
  "a11y_reviewed": false,
@@ -6712,6 +7031,9 @@
6712
7031
  {
6713
7032
  "fully_qualified_name": "Primer::Beta::Counter",
6714
7033
  "description": "Use `Counter` to add a count to navigational elements and buttons.",
7034
+ "is_form_component": false,
7035
+ "is_published": true,
7036
+ "requires_js": false,
6715
7037
  "component": "Counter",
6716
7038
  "status": "beta",
6717
7039
  "a11y_reviewed": false,
@@ -6802,6 +7124,9 @@
6802
7124
  {
6803
7125
  "fully_qualified_name": "Primer::Beta::Details",
6804
7126
  "description": "Use `DetailsComponent` to reveal content after clicking a button.",
7127
+ "is_form_component": false,
7128
+ "is_published": true,
7129
+ "requires_js": false,
6805
7130
  "component": "Details",
6806
7131
  "status": "beta",
6807
7132
  "a11y_reviewed": false,
@@ -6898,6 +7223,9 @@
6898
7223
  {
6899
7224
  "fully_qualified_name": "Primer::Beta::Flash",
6900
7225
  "description": "Use `Flash` to inform users of successful or pending actions.",
7226
+ "is_form_component": false,
7227
+ "is_published": true,
7228
+ "requires_js": false,
6901
7229
  "component": "Flash",
6902
7230
  "status": "beta",
6903
7231
  "a11y_reviewed": false,
@@ -6988,6 +7316,9 @@
6988
7316
  {
6989
7317
  "fully_qualified_name": "Primer::Beta::Heading",
6990
7318
  "description": "`Heading` should be used to communicate page organization and hierarchy.\n\n- Set tag to one of `:h1`, `:h2`, `:h3`, `:h4`, `:h5`, `:h6` based on what is appropriate for the page context.\n- Use `Heading` as the title of a section or sub section.\n- Do not use `Heading` for styling alone. For simply styling text, consider using {{#link_to_component}}Primer::Beta::Text{{/link_to_component}} with relevant {{link_to_typography_docs}}\n such as `font_size` and `font_weight`.\n- Do not jump heading levels. For instance, do not follow a `<h1>` with an `<h3>`. Heading levels should increase by one in ascending order.",
7319
+ "is_form_component": false,
7320
+ "is_published": true,
7321
+ "requires_js": false,
6991
7322
  "component": "Heading",
6992
7323
  "status": "beta",
6993
7324
  "a11y_reviewed": false,
@@ -7033,6 +7364,9 @@
7033
7364
  {
7034
7365
  "fully_qualified_name": "Primer::Beta::IconButton",
7035
7366
  "description": "Use `IconButton` to render Icon-only buttons without the default button styles.\n\n`IconButton` will always render with a tooltip unless the tag is `:summary`.\n`IconButton` will always render with a tooltip unless the tag is `:summary`.",
7367
+ "is_form_component": false,
7368
+ "is_published": true,
7369
+ "requires_js": false,
7036
7370
  "component": "IconButton",
7037
7371
  "status": "beta",
7038
7372
  "a11y_reviewed": false,
@@ -7142,6 +7476,9 @@
7142
7476
  {
7143
7477
  "fully_qualified_name": "Primer::Beta::Label",
7144
7478
  "description": "Use `Label` to add contextual metadata to a design.",
7479
+ "is_form_component": false,
7480
+ "is_published": true,
7481
+ "requires_js": false,
7145
7482
  "component": "Label",
7146
7483
  "status": "beta",
7147
7484
  "a11y_reviewed": false,
@@ -7226,6 +7563,9 @@
7226
7563
  {
7227
7564
  "fully_qualified_name": "Primer::Beta::Link",
7228
7565
  "description": "Use `Link` for navigating from one page to another. `Link` styles anchor tags with default blue styling and hover text-decoration.",
7566
+ "is_form_component": false,
7567
+ "is_published": true,
7568
+ "requires_js": true,
7229
7569
  "component": "Link",
7230
7570
  "status": "beta",
7231
7571
  "a11y_reviewed": false,
@@ -7322,6 +7662,9 @@
7322
7662
  {
7323
7663
  "fully_qualified_name": "Primer::Beta::Markdown",
7324
7664
  "description": "Use `Markdown` to wrap markdown content.",
7665
+ "is_form_component": false,
7666
+ "is_published": true,
7667
+ "requires_js": false,
7325
7668
  "component": "Markdown",
7326
7669
  "status": "beta",
7327
7670
  "a11y_reviewed": false,
@@ -7367,6 +7710,9 @@
7367
7710
  {
7368
7711
  "fully_qualified_name": "Primer::Beta::Octicon",
7369
7712
  "description": "`Octicon` renders an {{link_to_octicons}} with {{link_to_system_arguments_docs}}.\n`Octicon` can also be rendered with the `primer_octicon` helper, which accepts the same arguments.",
7713
+ "is_form_component": false,
7714
+ "is_published": true,
7715
+ "requires_js": false,
7370
7716
  "component": "Octicon",
7371
7717
  "status": "beta",
7372
7718
  "a11y_reviewed": false,
@@ -7430,6 +7776,9 @@
7430
7776
  {
7431
7777
  "fully_qualified_name": "Primer::Beta::Popover",
7432
7778
  "description": "Use `Popover` to bring attention to specific user interface elements, typically to suggest an action or to guide users through a new experience.\n\nBy default, the popover renders with absolute positioning, meaning it should usually be wrapped in an element with a relative position in order to be positioned properly. To render the popover with relative positioning, use the relative property.",
7779
+ "is_form_component": false,
7780
+ "is_published": true,
7781
+ "requires_js": false,
7433
7782
  "component": "Popover",
7434
7783
  "status": "beta",
7435
7784
  "a11y_reviewed": false,
@@ -7520,6 +7869,9 @@
7520
7869
  {
7521
7870
  "fully_qualified_name": "Primer::Beta::ProgressBar",
7522
7871
  "description": "Use `ProgressBar` to visualize task completion.",
7872
+ "is_form_component": false,
7873
+ "is_published": true,
7874
+ "requires_js": false,
7523
7875
  "component": "ProgressBar",
7524
7876
  "status": "beta",
7525
7877
  "a11y_reviewed": false,
@@ -7593,6 +7945,9 @@
7593
7945
  {
7594
7946
  "fully_qualified_name": "Primer::Beta::RelativeTime",
7595
7947
  "description": "Formats a timestamp as a localized string or as relative text that auto-updates in the user's browser.",
7948
+ "is_form_component": false,
7949
+ "is_published": true,
7950
+ "requires_js": false,
7596
7951
  "component": "RelativeTime",
7597
7952
  "status": "beta",
7598
7953
  "a11y_reviewed": false,
@@ -7749,6 +8104,9 @@
7749
8104
  {
7750
8105
  "fully_qualified_name": "Primer::Beta::Spinner",
7751
8106
  "description": "Use `Spinner` to let users know that content is being loaded.",
8107
+ "is_form_component": false,
8108
+ "is_published": true,
8109
+ "requires_js": false,
7752
8110
  "component": "Spinner",
7753
8111
  "status": "beta",
7754
8112
  "a11y_reviewed": false,
@@ -7800,6 +8158,9 @@
7800
8158
  {
7801
8159
  "fully_qualified_name": "Primer::Beta::State",
7802
8160
  "description": "Use `State` for rendering the status of an item.",
8161
+ "is_form_component": false,
8162
+ "is_published": true,
8163
+ "requires_js": false,
7803
8164
  "component": "State",
7804
8165
  "status": "beta",
7805
8166
  "a11y_reviewed": false,
@@ -7873,6 +8234,9 @@
7873
8234
  {
7874
8235
  "fully_qualified_name": "Primer::Beta::Subhead",
7875
8236
  "description": "Use `Subhead` as the start of a section. The `:heading` slot will render an `<h2>` font-sized text.\n\n- Optionally set the `:description` slot to render a short description and the `:actions` slot for a related action.\n- Use a succinct, one-line description for the `:description` slot. For longer descriptions, omit the description slot and render a paragraph below the `Subhead`.\n- Use the actions slot to render a related action to the right of the heading. Use {{#link_to_component}}Primer::ButtonComponent{{/link_to_component}} or {{#link_to_component}}Primer::Beta::Link{{/link_to_component}}.",
8237
+ "is_form_component": false,
8238
+ "is_published": true,
8239
+ "requires_js": false,
7876
8240
  "component": "Subhead",
7877
8241
  "status": "beta",
7878
8242
  "a11y_reviewed": false,
@@ -7986,6 +8350,9 @@
7986
8350
  {
7987
8351
  "fully_qualified_name": "Primer::Beta::Text",
7988
8352
  "description": "`Text` is a wrapper component that will apply typography styles to the text inside.",
8353
+ "is_form_component": false,
8354
+ "is_published": true,
8355
+ "requires_js": false,
7989
8356
  "component": "Text",
7990
8357
  "status": "beta",
7991
8358
  "a11y_reviewed": false,
@@ -8031,6 +8398,9 @@
8031
8398
  {
8032
8399
  "fully_qualified_name": "Primer::Beta::TimelineItem",
8033
8400
  "description": "Use `TimelineItem` to display items on a vertical timeline, connected by badge elements.",
8401
+ "is_form_component": false,
8402
+ "is_published": true,
8403
+ "requires_js": false,
8034
8404
  "component": "TimelineItem",
8035
8405
  "status": "beta",
8036
8406
  "a11y_reviewed": false,
@@ -8114,6 +8484,9 @@
8114
8484
  {
8115
8485
  "fully_qualified_name": "Primer::Beta::TimelineItem::Badge",
8116
8486
  "description": "This component is part of `Primer::Beta::TimelineItem` and should not be\nused as a standalone component.",
8487
+ "is_form_component": false,
8488
+ "is_published": true,
8489
+ "requires_js": false,
8117
8490
  "component": "TimelineItem::Badge",
8118
8491
  "status": "beta",
8119
8492
  "a11y_reviewed": false,
@@ -8141,6 +8514,9 @@
8141
8514
  {
8142
8515
  "fully_qualified_name": "Primer::Beta::Truncate",
8143
8516
  "description": "Use `Truncate` to shorten overflowing text with an ellipsis.",
8517
+ "is_form_component": false,
8518
+ "is_published": true,
8519
+ "requires_js": false,
8144
8520
  "component": "Truncate",
8145
8521
  "status": "beta",
8146
8522
  "a11y_reviewed": false,
@@ -8221,6 +8597,9 @@
8221
8597
  {
8222
8598
  "fully_qualified_name": "Primer::Beta::Truncate::TruncateText",
8223
8599
  "description": "This component is part of `Primer::Beta::Truncate` and should not be\nused as a standalone component.",
8600
+ "is_form_component": false,
8601
+ "is_published": true,
8602
+ "requires_js": false,
8224
8603
  "component": "Truncate::TruncateText",
8225
8604
  "status": "alpha",
8226
8605
  "a11y_reviewed": false,
@@ -8248,6 +8627,9 @@
8248
8627
  {
8249
8628
  "fully_qualified_name": "Primer::BlankslateComponent",
8250
8629
  "description": "Use `Blankslate` when there is a lack of content within a page or section. Use as placeholder to tell users why something isn't there.",
8630
+ "is_form_component": false,
8631
+ "is_published": true,
8632
+ "requires_js": false,
8251
8633
  "component": "Blankslate",
8252
8634
  "status": "deprecated",
8253
8635
  "a11y_reviewed": false,
@@ -8379,6 +8761,9 @@
8379
8761
  {
8380
8762
  "fully_qualified_name": "Primer::Box",
8381
8763
  "description": "`Box` is a basic wrapper component for most layout related needs.",
8764
+ "is_form_component": false,
8765
+ "is_published": true,
8766
+ "requires_js": false,
8382
8767
  "component": "Box",
8383
8768
  "status": "stable",
8384
8769
  "a11y_reviewed": false,
@@ -8400,7 +8785,26 @@
8400
8785
 
8401
8786
  ],
8402
8787
  "previews": [
8403
-
8788
+ {
8789
+ "inspect_path": "/lookbook/inspect/primer/box/playground",
8790
+ "preview_path": "/lookbook/preview/primer/box/playground",
8791
+ "name": "playground"
8792
+ },
8793
+ {
8794
+ "inspect_path": "/lookbook/inspect/primer/box/default",
8795
+ "preview_path": "/lookbook/preview/primer/box/default",
8796
+ "name": "default"
8797
+ },
8798
+ {
8799
+ "inspect_path": "/lookbook/inspect/primer/box/border",
8800
+ "preview_path": "/lookbook/preview/primer/box/border",
8801
+ "name": "border"
8802
+ },
8803
+ {
8804
+ "inspect_path": "/lookbook/inspect/primer/box/border_bottom",
8805
+ "preview_path": "/lookbook/preview/primer/box/border_bottom",
8806
+ "name": "border_bottom"
8807
+ }
8404
8808
  ],
8405
8809
  "subcomponents": [
8406
8810
 
@@ -8409,6 +8813,9 @@
8409
8813
  {
8410
8814
  "fully_qualified_name": "Primer::ButtonComponent",
8411
8815
  "description": "Use `Button` for actions (e.g. in forms). Use links for destinations, or moving from one page to another.",
8816
+ "is_form_component": false,
8817
+ "is_published": true,
8818
+ "requires_js": true,
8412
8819
  "component": "Button",
8413
8820
  "status": "deprecated",
8414
8821
  "a11y_reviewed": false,
@@ -8541,6 +8948,9 @@
8541
8948
  {
8542
8949
  "fully_qualified_name": "Primer::ConditionalWrapper",
8543
8950
  "description": "Conditionally renders a `Primer::BaseComponent` around the given content. If the given condition\nis true, a `Primer::BaseComponent` will render around the content. If the condition is false, only\nthe content is rendered.",
8951
+ "is_form_component": false,
8952
+ "is_published": true,
8953
+ "requires_js": false,
8544
8954
  "component": "ConditionalWrapper",
8545
8955
  "status": "alpha",
8546
8956
  "a11y_reviewed": false,
@@ -8566,6 +8976,9 @@
8566
8976
  {
8567
8977
  "fully_qualified_name": "Primer::Content",
8568
8978
  "description": "Use `Content` as a helper to render content passed to a slot without adding any tags.",
8979
+ "is_form_component": false,
8980
+ "is_published": true,
8981
+ "requires_js": false,
8569
8982
  "component": "Content",
8570
8983
  "status": "stable",
8571
8984
  "a11y_reviewed": false,
@@ -8591,6 +9004,9 @@
8591
9004
  {
8592
9005
  "fully_qualified_name": "Primer::IconButton",
8593
9006
  "description": "Use `IconButton` to render Icon-only buttons without the default button styles.\n\n`IconButton` will always render with a tooltip unless the tag is `:summary`.",
9007
+ "is_form_component": false,
9008
+ "is_published": true,
9009
+ "requires_js": true,
8594
9010
  "component": "IconButton",
8595
9011
  "status": "deprecated",
8596
9012
  "a11y_reviewed": false,
@@ -8669,6 +9085,9 @@
8669
9085
  {
8670
9086
  "fully_qualified_name": "Primer::LayoutComponent",
8671
9087
  "description": "Use `Layout` to build a main/sidebar layout.",
9088
+ "is_form_component": false,
9089
+ "is_published": true,
9090
+ "requires_js": false,
8672
9091
  "component": "Layout",
8673
9092
  "status": "deprecated",
8674
9093
  "a11y_reviewed": false,
@@ -8740,6 +9159,9 @@
8740
9159
  {
8741
9160
  "fully_qualified_name": "Primer::Navigation::TabComponent",
8742
9161
  "description": "nodoc",
9162
+ "is_form_component": false,
9163
+ "is_published": true,
9164
+ "requires_js": false,
8743
9165
  "component": "Navigation::Tab",
8744
9166
  "status": "deprecated",
8745
9167
  "a11y_reviewed": false,
@@ -8853,6 +9275,9 @@
8853
9275
  {
8854
9276
  "fully_qualified_name": "Primer::Tooltip",
8855
9277
  "description": "`Tooltip` is a wrapper component that will apply a tooltip to the provided content.",
9278
+ "is_form_component": false,
9279
+ "is_published": true,
9280
+ "requires_js": false,
8856
9281
  "component": "Tooltip",
8857
9282
  "status": "deprecated",
8858
9283
  "a11y_reviewed": false,
@@ -8913,6 +9338,9 @@
8913
9338
  {
8914
9339
  "fully_qualified_name": "Primer::Truncate",
8915
9340
  "description": "Use `Truncate` to shorten overflowing text with an ellipsis.",
9341
+ "is_form_component": false,
9342
+ "is_published": true,
9343
+ "requires_js": false,
8916
9344
  "component": "Truncate",
8917
9345
  "status": "deprecated",
8918
9346
  "a11y_reviewed": false,