primer_view_components 0.0.121 → 0.0.122

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/app/assets/styles/primer_view_components.css +2 -2
  4. data/app/assets/styles/primer_view_components.css.map +1 -1
  5. data/app/components/primer/alpha/action_list.css.json +123 -1
  6. data/app/components/primer/alpha/auto_complete.css.json +23 -1
  7. data/app/components/primer/alpha/banner.css.json +24 -1
  8. data/app/components/primer/alpha/button_marketing.css.json +33 -1
  9. data/app/components/primer/alpha/check_box.rb +74 -0
  10. data/app/components/primer/alpha/check_box_group.rb +36 -0
  11. data/app/components/primer/alpha/dialog.css.json +82 -1
  12. data/app/components/primer/alpha/dialog.rb +1 -1
  13. data/app/components/primer/alpha/dropdown.css.json +40 -1
  14. data/app/components/primer/alpha/form_button.rb +32 -0
  15. data/app/components/primer/alpha/form_control.html.erb +26 -0
  16. data/app/components/primer/alpha/form_control.rb +105 -0
  17. data/app/components/primer/alpha/layout.css.json +80 -1
  18. data/app/components/primer/alpha/menu.css.json +28 -1
  19. data/app/components/primer/alpha/multi_input.rb +81 -0
  20. data/app/components/primer/alpha/radio_button.rb +25 -0
  21. data/app/components/primer/alpha/radio_button_group.rb +36 -0
  22. data/app/components/primer/alpha/segmented_control.css +1 -1
  23. data/app/components/primer/alpha/segmented_control.css.json +31 -1
  24. data/app/components/primer/alpha/segmented_control.css.map +1 -1
  25. data/app/components/primer/alpha/segmented_control.pcss +43 -12
  26. data/app/components/primer/alpha/select.rb +37 -0
  27. data/app/components/primer/alpha/submit_button.rb +32 -0
  28. data/app/components/primer/alpha/tab_nav.css.json +24 -1
  29. data/app/components/primer/alpha/tab_panels.rb +7 -0
  30. data/app/components/primer/alpha/text_area.rb +24 -0
  31. data/app/components/primer/alpha/text_field.css +2 -2
  32. data/app/components/primer/alpha/text_field.css.json +134 -1
  33. data/app/components/primer/alpha/text_field.css.map +1 -1
  34. data/app/components/primer/alpha/text_field.pcss +27 -0
  35. data/app/components/primer/alpha/text_field.rb +15 -20
  36. data/app/components/primer/alpha/toggle_switch.css +1 -1
  37. data/app/components/primer/alpha/toggle_switch.css.json +40 -1
  38. data/app/components/primer/alpha/toggle_switch.css.map +1 -1
  39. data/app/components/primer/alpha/toggle_switch.pcss +31 -61
  40. data/app/components/primer/alpha/underline_nav.css.json +28 -1
  41. data/app/components/primer/beta/avatar.css.json +17 -1
  42. data/app/components/primer/beta/avatar_stack.css.json +28 -1
  43. data/app/components/primer/beta/blankslate.css.json +22 -1
  44. data/app/components/primer/beta/border_box.css.json +54 -1
  45. data/app/components/primer/beta/breadcrumbs.css.json +11 -1
  46. data/app/components/primer/beta/button.css.json +71 -1
  47. data/app/components/primer/beta/counter.css.json +10 -1
  48. data/app/components/primer/beta/flash.css.json +27 -1
  49. data/app/components/primer/beta/label.css.json +25 -1
  50. data/app/components/primer/beta/link.css.json +19 -1
  51. data/app/components/primer/beta/popover.css.json +39 -1
  52. data/app/components/primer/beta/progress_bar.css.json +10 -1
  53. data/app/components/primer/beta/state.css.json +13 -1
  54. data/app/components/primer/beta/subhead.css.json +12 -1
  55. data/app/components/primer/beta/timeline_item.css.json +16 -1
  56. data/app/components/primer/beta/truncate.css.json +12 -1
  57. data/app/components/primer/component.rb +10 -2
  58. data/app/components/primer/truncate.css.json +13 -1
  59. data/app/forms/{select_list_form.rb → select_form.rb} +1 -1
  60. data/app/lib/primer/css/layout.css.json +316 -1
  61. data/app/lib/primer/css/utilities.css.json +1659 -1
  62. data/lib/primer/form_components.rb +26 -6
  63. data/lib/primer/forms/builder.rb +1 -17
  64. data/lib/primer/forms/button.rb +4 -1
  65. data/lib/primer/forms/check_box_group.html.erb +14 -9
  66. data/lib/primer/forms/check_box_group.rb +5 -0
  67. data/lib/primer/forms/dsl/check_box_group_input.rb +3 -4
  68. data/lib/primer/forms/dsl/input.rb +33 -2
  69. data/lib/primer/forms/dsl/input_methods.rb +49 -1
  70. data/lib/primer/forms/dsl/radio_button_group_input.rb +2 -3
  71. data/lib/primer/forms/dsl/{select_list_input.rb → select_input.rb} +2 -2
  72. data/lib/primer/forms/dsl/text_field_input.rb +7 -5
  73. data/lib/primer/forms/form_control.rb +0 -1
  74. data/lib/primer/forms/group.html.erb +1 -1
  75. data/lib/primer/forms/multi.html.erb +8 -6
  76. data/lib/primer/forms/multi.rb +2 -0
  77. data/lib/primer/forms/radio_button_group.html.erb +14 -9
  78. data/lib/primer/forms/radio_button_group.rb +5 -0
  79. data/lib/primer/forms/{select_list.html.erb → select.html.erb} +0 -0
  80. data/lib/primer/forms/{select_list.rb → select.rb} +2 -2
  81. data/lib/primer/forms/spacing_wrapper.html.erb +1 -1
  82. data/lib/primer/forms/text_area.rb +1 -1
  83. data/lib/primer/forms/text_field.rb +5 -1
  84. data/lib/primer/forms/utils.rb +20 -0
  85. data/lib/primer/view_components/engine.rb +1 -1
  86. data/lib/primer/view_components/version.rb +1 -1
  87. data/lib/primer/yard/backend.rb +1 -15
  88. data/lib/primer/yard/component_manifest.rb +44 -25
  89. data/lib/primer/yard/component_ref.rb +40 -0
  90. data/lib/primer/yard/docs_helper.rb +16 -2
  91. data/lib/primer/yard/legacy_gatsby_backend.rb +9 -15
  92. data/lib/primer/yard/lookbook_docs_helper.rb +32 -0
  93. data/lib/primer/yard/lookbook_pages_backend.rb +194 -0
  94. data/lib/primer/yard/registry.rb +6 -21
  95. data/lib/primer/yard/renders_many_handler.rb +1 -1
  96. data/lib/primer/yard/renders_one_handler.rb +1 -1
  97. data/lib/primer/yard.rb +14 -0
  98. data/lib/tasks/docs.rake +26 -13
  99. data/previews/pages/forms/01_introduction.md.erb +44 -0
  100. data/previews/pages/forms/02_getting_started.md.erb +125 -0
  101. data/previews/pages/forms/03_caption_templates.md.erb +30 -0
  102. data/previews/pages/forms/04_after_content.md.erb +39 -0
  103. data/previews/pages/forms/05_groups_layouts.md.erb +22 -0
  104. data/previews/pages/forms/06_miscellaneous_inputs.md.erb +43 -0
  105. data/previews/pages/forms/07_toggle_switch_forms.md.erb +58 -0
  106. data/previews/pages/forms/08_validations.md.erb +28 -0
  107. data/previews/pages/forms/09_compound_forms.md.erb +97 -0
  108. data/previews/primer/alpha/check_box_group_preview.rb +89 -0
  109. data/previews/primer/alpha/check_box_preview.rb +62 -0
  110. data/previews/primer/alpha/form_control_preview/playground.html.erb +9 -0
  111. data/previews/primer/alpha/form_control_preview.rb +106 -0
  112. data/previews/primer/alpha/multi_input_preview/playground.html.erb +41 -0
  113. data/previews/primer/alpha/multi_input_preview.rb +80 -0
  114. data/previews/primer/alpha/radio_button_group_preview.rb +83 -0
  115. data/previews/primer/alpha/radio_button_preview.rb +62 -0
  116. data/previews/primer/alpha/select_preview.rb +130 -0
  117. data/previews/primer/alpha/text_area_preview.rb +87 -0
  118. data/previews/primer/alpha/text_field_preview.rb +10 -1
  119. data/previews/primer/forms/forms_preview/example_toggle_switch_form.html.erb +2 -2
  120. data/previews/primer/forms/forms_preview/{select_list_form.html.erb → select_form.html.erb} +1 -1
  121. data/previews/primer/forms/forms_preview.rb +3 -1
  122. data/static/arguments.json +1358 -1328
  123. data/static/audited_at.json +10 -0
  124. data/static/constants.json +20 -0
  125. data/static/previews.json +218 -40
  126. data/static/statuses.json +10 -0
  127. metadata +41 -7
@@ -1,201 +1,111 @@
1
1
  [
2
2
  {
3
- "component": "ActionList",
4
- "status": "alpha",
5
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list.rb",
6
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/default/",
7
- "parameters": [
8
- {
9
- "name": "role",
10
- "type": "Boolean",
11
- "default": "`:list`",
12
- "description": "ARIA role describing the function of the list. listbox and menu are a common values."
13
- },
14
- {
15
- "name": "item_classes",
16
- "type": "String",
17
- "default": "`nil`",
18
- "description": "Additional CSS classes to attach to items."
19
- },
20
- {
21
- "name": "scheme",
22
- "type": "Symbol",
23
- "default": "`:full`",
24
- "description": "One of `:full` or `:inset`.. `inset` children are offset (vertically and horizontally) from list edges. `full` (default) children are flush (vertically and horizontally) with list edges."
25
- },
26
- {
27
- "name": "show_dividers",
28
- "type": "Boolean",
29
- "default": "`false`",
30
- "description": "Display a divider above each item in the list when it does not follow a header or divider."
31
- },
32
- {
33
- "name": "system_arguments",
34
- "type": "Hash",
35
- "default": "N/A",
36
- "description": "[System arguments](/system-arguments)"
37
- }
38
- ]
39
- },
40
- {
41
- "component": "ActionList::Divider",
42
- "status": "alpha",
43
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list/divider.rb",
44
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/divider/default/",
45
- "parameters": [
46
- {
47
- "name": "scheme",
48
- "type": "Symbol",
49
- "default": "`:subtle`",
50
- "description": "Display a background color if scheme is `filled`."
51
- },
52
- {
53
- "name": "system_arguments",
54
- "type": "Hash",
55
- "default": "N/A",
56
- "description": "[System arguments](/system-arguments)"
57
- }
58
- ]
59
- },
60
- {
61
- "component": "ActionList::Heading",
62
- "status": "alpha",
63
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list/heading.rb",
64
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/heading/default/",
3
+ "component": "RelativeTime",
4
+ "status": "beta",
5
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/relative_time.rb",
6
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/relative_time/default/",
65
7
  "parameters": [
66
8
  {
67
- "name": "list_id",
68
- "type": "String",
9
+ "name": "datetime",
10
+ "type": "Time",
69
11
  "default": "N/A",
70
- "description": "The unique identifier of the sub list the heading belongs to. Used internally."
12
+ "description": "The time to be formatted."
71
13
  },
72
14
  {
73
- "name": "title",
74
- "type": "String",
75
- "default": "N/A",
76
- "description": "Sub list title."
15
+ "name": "tense",
16
+ "type": "Symbol",
17
+ "default": "`:auto`",
18
+ "description": "Which tense to use. One of `:auto`, `:future`, or `:past`."
77
19
  },
78
20
  {
79
- "name": "subtitle",
80
- "type": "String",
21
+ "name": "prefix",
22
+ "type": "sring",
81
23
  "default": "`nil`",
82
- "description": "Optional sub list description."
24
+ "description": "What to prefix the relative ime display with."
83
25
  },
84
26
  {
85
- "name": "scheme",
27
+ "name": "second",
86
28
  "type": "Symbol",
87
- "default": "`:subtle`",
88
- "description": "Display a background color if scheme is `filled`."
29
+ "default": "`SECOND_DEFAULT`",
30
+ "description": "What format seconds should take. One of `nil`, `:numeric`, or `:two_digit`."
89
31
  },
90
32
  {
91
- "name": "tag",
33
+ "name": "minute",
92
34
  "type": "Symbol",
93
- "default": "`:h3`",
94
- "description": "Semantic tag for the heading."
35
+ "default": "`MINUTE_DEFAULT`",
36
+ "description": "What format minues should take. One of `nil`, `:numeric`, or `:two_digit`."
95
37
  },
96
38
  {
97
- "name": "system_arguments",
98
- "type": "Hash",
99
- "default": "N/A",
100
- "description": "[System arguments](/system-arguments)"
101
- }
102
- ]
103
- },
104
- {
105
- "component": "ActionList::Item",
106
- "status": "alpha",
107
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list/item.rb",
108
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/item/default/",
109
- "parameters": [
110
- {
111
- "name": "list",
112
- "type": "Primer::Alpha::ActionList",
113
- "default": "N/A",
114
- "description": "The list that contains this item. Used internally."
39
+ "name": "hour",
40
+ "type": "Symbol",
41
+ "default": "`HOUR_DEFAULT`",
42
+ "description": "What format hours should take. One of `nil`, `:numeric`, or `:two_digit`."
115
43
  },
116
44
  {
117
- "name": "parent",
118
- "type": "Primer::Alpha::ActionList::Item",
119
- "default": "`nil`",
120
- "description": "This item's parent item. `nil` if this item is at the root. Used internally."
45
+ "name": "weekday",
46
+ "type": "Symbol",
47
+ "default": "`WEEKDAY_DEFAULT`",
48
+ "description": "What format weekdays should take. One of `nil`, `:long`, `:narrow`, or `:short`."
121
49
  },
122
50
  {
123
- "name": "label",
124
- "type": "String",
125
- "default": "N/A",
126
- "description": "Item label."
51
+ "name": "day",
52
+ "type": "Symbol",
53
+ "default": "`DAY_DEFAULT`",
54
+ "description": "What format days should take. One of `nil`, `:numeric`, or `:two_digit`."
127
55
  },
128
56
  {
129
- "name": "label_classes",
130
- "type": "String",
131
- "default": "`nil`",
132
- "description": "CSS classes that will be added to the label."
57
+ "name": "month",
58
+ "type": "Symbol",
59
+ "default": "`MONTH_DEFAULT`",
60
+ "description": "What format months should take. One of `nil`, `:long`, `:narrow`, `:numeric`, `:short`, or `:two_digit`."
133
61
  },
134
62
  {
135
- "name": "content_arguments",
136
- "type": "Hash",
137
- "default": "`{}`",
138
- "description": "[System arguments](/system-arguments) used to construct the item's anchor or button tag."
63
+ "name": "year",
64
+ "type": "Symbol",
65
+ "default": "`YEAR_DEFAULT`",
66
+ "description": "What format years should take. One of `nil`, `:numeric`, or `:two_digit`."
139
67
  },
140
68
  {
141
- "name": "truncate_label",
142
- "type": "Boolean",
143
- "default": "`false`",
144
- "description": "Truncate label with ellipsis."
69
+ "name": "time_zone_name",
70
+ "type": "Symbol",
71
+ "default": "`TIMEZONENAME_DEFAULT`",
72
+ "description": "What format the time zone should take. One of `nil`, `:long`, `:long_generic`, `:long_offset`, `:short`, `:short_generic`, or `:short_offset`."
145
73
  },
146
74
  {
147
- "name": "href",
148
- "type": "String",
75
+ "name": "threshold",
76
+ "type": "string",
149
77
  "default": "`nil`",
150
- "description": "Link URL."
151
- },
152
- {
153
- "name": "role",
154
- "type": "String",
155
- "default": "`:listitem`",
156
- "description": "ARIA role describing the function of the item."
78
+ "description": "The threshold, in ISO-8601 'durations' format, at which relative time displays become absolute."
157
79
  },
158
80
  {
159
- "name": "size",
81
+ "name": "precision",
160
82
  "type": "Symbol",
161
- "default": "`:medium`",
162
- "description": "Controls block sizing of the item."
83
+ "default": "`PRECISION_DEFAULT`",
84
+ "description": "The precision elapsed time should display. One of `nil`, `:day`, `:hour`, `:minute`, `:month`, `:second`, or `:year`."
163
85
  },
164
86
  {
165
- "name": "scheme",
87
+ "name": "format",
166
88
  "type": "Symbol",
167
- "default": "`:default`",
168
- "description": "Controls color/style based on behavior."
169
- },
170
- {
171
- "name": "disabled",
172
- "type": "Boolean",
173
- "default": "`false`",
174
- "description": "Disabled items are not clickable and visually dim."
89
+ "default": "`nil`",
90
+ "description": "The format the display should take. One of `:auto`, `:elapsed`, or `:micro`."
175
91
  },
176
92
  {
177
- "name": "description_scheme",
93
+ "name": "format_style",
178
94
  "type": "Symbol",
179
- "default": "`:block`",
180
- "description": "Display description inline with label, or block on the next line."
181
- },
182
- {
183
- "name": "active",
184
- "type": "Boolean",
185
- "default": "`false`",
186
- "description": "Sets an active state on navigational items."
95
+ "default": "`nil`",
96
+ "description": "The format the display should take. One of `nil`, `:long`, `:narrow`, or `:short`."
187
97
  },
188
98
  {
189
- "name": "on_click",
190
- "type": "String",
99
+ "name": "lang",
100
+ "type": "string",
191
101
  "default": "`nil`",
192
- "description": "JavaScript to execute when the item is clicked."
102
+ "description": "The language to use."
193
103
  },
194
104
  {
195
- "name": "id",
196
- "type": "String",
197
- "default": "`self.class.generate_id`",
198
- "description": "Used internally."
105
+ "name": "title",
106
+ "type": "string",
107
+ "default": "`nil`",
108
+ "description": "Provide a custom title to the element."
199
109
  },
200
110
  {
201
111
  "name": "system_arguments",
@@ -206,90 +116,70 @@
206
116
  ]
207
117
  },
208
118
  {
209
- "component": "Banner",
210
- "status": "alpha",
211
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/banner.rb",
212
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/banner/default/",
119
+ "component": "IconButton",
120
+ "status": "beta",
121
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/icon_button.rb",
122
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/icon_button/default/",
213
123
  "parameters": [
214
124
  {
215
- "name": "full",
216
- "type": "Boolean",
217
- "default": "`false`",
218
- "description": "Whether the component should take up the full width of the screen."
219
- },
220
- {
221
- "name": "full_when_narrow",
222
- "type": "Boolean",
223
- "default": "`false`",
224
- "description": "Whether the component should take up the full width of the screen when rendered inside smaller viewports."
225
- },
226
- {
227
- "name": "dismissible",
228
- "type": "Boolean",
229
- "default": "`false`",
230
- "description": "Whether the component can be dismissed with an \"x\" button."
231
- },
232
- {
233
- "name": "description",
125
+ "name": "icon",
234
126
  "type": "String",
235
- "default": "`nil`",
236
- "description": "Description text rendered underneath the message."
127
+ "default": "N/A",
128
+ "description": "Name of [Octicon](https://primer.style/octicons/) to use."
237
129
  },
238
130
  {
239
- "name": "icon",
240
- "type": "Symbol",
241
- "default": "`nil`",
242
- "description": "The name of an [Octicon](https://primer.style/octicons/) icon to use. If no icon is provided, a default one will be chosen based on the scheme."
131
+ "name": "wrapper_arguments",
132
+ "type": "Hash",
133
+ "default": "`{}`",
134
+ "description": "Optional keyword arguments to be passed to the wrapper `<div>` tag."
243
135
  },
244
136
  {
245
137
  "name": "scheme",
246
138
  "type": "Symbol",
247
139
  "default": "`:default`",
248
- "description": "One of `:danger`, `:default`, `:success`, or `:warning`."
140
+ "description": "One of `:danger`, `:default`, or `:invisible`."
249
141
  },
250
142
  {
251
- "name": "reappear",
252
- "type": "Boolean",
253
- "default": "`false`",
254
- "description": "Whether or not the flash banner should reappear after being dismissed. Only for use in test and preview environments."
143
+ "name": "size",
144
+ "type": "Symbol",
145
+ "default": "`:medium`",
146
+ "description": "One of `:large`, `:medium`, or `:small`."
255
147
  },
256
148
  {
257
- "name": "system_arguments",
258
- "type": "Hash",
149
+ "name": "tag",
150
+ "type": "Symbol",
259
151
  "default": "N/A",
260
- "description": "[System arguments](/system-arguments)"
261
- }
262
- ]
263
- },
264
- {
265
- "component": "ButtonMarketing",
266
- "status": "alpha",
267
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/button_marketing.rb",
268
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/button_marketing/default/",
269
- "parameters": [
152
+ "description": "One of `:a`, `:button`, or `:summary`."
153
+ },
270
154
  {
271
- "name": "scheme",
155
+ "name": "type",
272
156
  "type": "Symbol",
273
- "default": "`:default`",
274
- "description": "One of `:default`, `:outline`, `:primary`, or `:transparent`."
157
+ "default": "N/A",
158
+ "description": "One of `:button`, `:reset`, or `:submit`."
275
159
  },
276
160
  {
277
- "name": "variant",
278
- "type": "Symbol",
279
- "default": "`:default`",
280
- "description": "One of `:default` or `:large`."
161
+ "name": "aria-label",
162
+ "type": "String",
163
+ "default": "N/A",
164
+ "description": "String that can be read by assistive technology. A label should be short and concise. See the accessibility section for more information."
281
165
  },
282
166
  {
283
- "name": "tag",
284
- "type": "Symbol",
285
- "default": "`:button`",
286
- "description": "One of `:a` or `:button`."
167
+ "name": "aria-description",
168
+ "type": "String",
169
+ "default": "N/A",
170
+ "description": "String that can be read by assistive technology. A description can be longer as it is intended to provide more context and information. See the accessibility section for more information."
287
171
  },
288
172
  {
289
- "name": "type",
173
+ "name": "show_tooltip",
174
+ "type": "Boolean",
175
+ "default": "`true`",
176
+ "description": "Whether or not to show a tooltip when this button is hovered. Tooltips should only be hidden if the aria label is redundant, i.e. if the icon has a widely understood definition."
177
+ },
178
+ {
179
+ "name": "tooltip_direction",
290
180
  "type": "Symbol",
291
- "default": "`:button`",
292
- "description": "One of `:button` or `:submit`."
181
+ "default": "`:s`",
182
+ "description": "One of `:e`, `:n`, `:ne`, `:nw`, `:s`, `:se`, `:sw`, or `:w`."
293
183
  },
294
184
  {
295
185
  "name": "system_arguments",
@@ -300,52 +190,46 @@
300
190
  ]
301
191
  },
302
192
  {
303
- "component": "Dialog",
304
- "status": "alpha",
305
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/dialog.rb",
306
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/dialog/default/",
193
+ "component": "Button",
194
+ "status": "beta",
195
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/button.rb",
196
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/button/default/",
307
197
  "parameters": [
308
198
  {
309
- "name": "id",
310
- "type": "String",
311
- "default": "`self.class.generate_id`",
312
- "description": "The id of the dialog."
313
- },
314
- {
315
- "name": "title",
316
- "type": "String",
317
- "default": "N/A",
318
- "description": "Describes the content of the dialog."
319
- },
320
- {
321
- "name": "subtitle",
322
- "type": "String",
323
- "default": "`nil`",
324
- "description": "Provides additional context for the dialog, also setting the `aria-describedby` attribute."
199
+ "name": "scheme",
200
+ "type": "Symbol",
201
+ "default": "`:default`",
202
+ "description": "One of `:danger`, `:default`, `:invisible`, `:link`, `:primary`, or `:secondary`."
325
203
  },
326
204
  {
327
205
  "name": "size",
328
206
  "type": "Symbol",
329
207
  "default": "`:medium`",
330
- "description": "The size of the dialog. One of `:auto`, `:large`, `:medium`, `:medium_portrait`, `:small`, or `:xlarge`."
208
+ "description": "One of `:large`, `:medium`, or `:small`."
331
209
  },
332
210
  {
333
- "name": "position",
211
+ "name": "block",
212
+ "type": "Boolean",
213
+ "default": "`false`",
214
+ "description": "Whether button is full-width with `display: block`."
215
+ },
216
+ {
217
+ "name": "align_content",
334
218
  "type": "Symbol",
335
219
  "default": "`:center`",
336
- "description": "The position of the dialog. One of `:center`, `:left`, or `:right`."
220
+ "description": "One of `:center` or `:start`."
337
221
  },
338
222
  {
339
- "name": "position_narrow",
223
+ "name": "tag",
340
224
  "type": "Symbol",
341
- "default": "`:inherit`",
342
- "description": "The position of the dialog when narrow. One of `:bottom`, `:fullscreen`, `:inherit`, `:left`, or `:right`."
225
+ "default": "`:button`",
226
+ "description": "One of `:a`, `:button`, or `:summary`."
343
227
  },
344
228
  {
345
- "name": "visually_hide_title",
346
- "type": "Boolean",
347
- "default": "`false`",
348
- "description": "If true will hide the heading title, while still making it available to Screen Readers."
229
+ "name": "type",
230
+ "type": "Symbol",
231
+ "default": "`:button`",
232
+ "description": "One of `:button`, `:reset`, or `:submit`."
349
233
  },
350
234
  {
351
235
  "name": "system_arguments",
@@ -356,22 +240,28 @@
356
240
  ]
357
241
  },
358
242
  {
359
- "component": "Dropdown",
243
+ "component": "SegmentedControl",
360
244
  "status": "alpha",
361
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/dropdown.rb",
362
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/dropdown/default/",
245
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/segmented_control.rb",
246
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/segmented_control/default/",
363
247
  "parameters": [
364
248
  {
365
- "name": "overlay",
366
- "type": "Symbol",
367
- "default": "`:default`",
368
- "description": "One of `:dark`, `:default`, or `:none`."
249
+ "name": "hide_labels",
250
+ "type": "Boolean",
251
+ "default": "`false`",
252
+ "description": "Whether to hide the labels and only show the icons"
369
253
  },
370
254
  {
371
- "name": "with_caret",
255
+ "name": "full_width",
372
256
  "type": "Boolean",
373
257
  "default": "`false`",
374
- "description": "Whether or not a caret should be rendered in the button."
258
+ "description": "If the component should be full width"
259
+ },
260
+ {
261
+ "name": "size",
262
+ "type": "Symbol",
263
+ "default": "`:medium`",
264
+ "description": "One of `:large`, `:medium`, or `:small`."
375
265
  },
376
266
  {
377
267
  "name": "system_arguments",
@@ -382,16 +272,28 @@
382
272
  ]
383
273
  },
384
274
  {
385
- "component": "HellipButton",
275
+ "component": "Layout",
386
276
  "status": "alpha",
387
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/hellip_button.rb",
388
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/hellip_button/default/",
277
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/layout.rb",
278
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/layout/default/",
389
279
  "parameters": [
390
280
  {
391
- "name": "inline",
392
- "type": "Boolean",
393
- "default": "`false`",
394
- "description": "Whether or not the button is inline."
281
+ "name": "stacking_breakpoint",
282
+ "type": "Symbol",
283
+ "default": "`:md`",
284
+ "description": "When the `Layout` should change from rows into columns. One of `:lg`, `:md`, or `:sm`."
285
+ },
286
+ {
287
+ "name": "first_in_source",
288
+ "type": "Symbol",
289
+ "default": "`:sidebar`",
290
+ "description": "Which element to render first in the HTML. This will change the keyboard navigation order. One of `:main` or `:sidebar`."
291
+ },
292
+ {
293
+ "name": "gutter",
294
+ "type": "Symbol",
295
+ "default": "`:default`",
296
+ "description": "The amount of space between the main section and the sidebar. One of `:condensed`, `:default`, `:none`, or `:spacious`."
395
297
  },
396
298
  {
397
299
  "name": "system_arguments",
@@ -402,22 +304,16 @@
402
304
  ]
403
305
  },
404
306
  {
405
- "component": "HiddenTextExpander",
307
+ "component": "HellipButton",
406
308
  "status": "alpha",
407
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/hidden_text_expander.rb",
408
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/hidden_text_expander/default/",
309
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/hellip_button.rb",
310
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/hellip_button/default/",
409
311
  "parameters": [
410
312
  {
411
313
  "name": "inline",
412
314
  "type": "Boolean",
413
315
  "default": "`false`",
414
- "description": "Whether or not the expander is inline."
415
- },
416
- {
417
- "name": "button_arguments",
418
- "type": "Hash",
419
- "default": "`{}`",
420
- "description": "[System arguments](/system-arguments) for the button element."
316
+ "description": "Whether or not the button is inline."
421
317
  },
422
318
  {
423
319
  "name": "system_arguments",
@@ -459,6 +355,20 @@
459
355
  }
460
356
  ]
461
357
  },
358
+ {
359
+ "component": "OcticonSymbols",
360
+ "status": "alpha",
361
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/octicon_symbols.rb",
362
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/octicon_symbols/default/",
363
+ "parameters": [
364
+ {
365
+ "name": "icons",
366
+ "type": "Array<Hash>",
367
+ "default": "`[]`",
368
+ "description": "List of icons to render, in the format { symbol: :icon_name, size: :small }"
369
+ }
370
+ ]
371
+ },
462
372
  {
463
373
  "component": "ImageCrop",
464
374
  "status": "alpha",
@@ -486,43 +396,59 @@
486
396
  ]
487
397
  },
488
398
  {
489
- "component": "Layout",
490
- "status": "alpha",
491
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/layout.rb",
492
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/layout/default/",
399
+ "component": "IconButton",
400
+ "status": "deprecated",
401
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/icon_button.rb",
402
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/icon_button/default/",
493
403
  "parameters": [
494
404
  {
495
- "name": "stacking_breakpoint",
405
+ "name": "scheme",
496
406
  "type": "Symbol",
497
- "default": "`:md`",
498
- "description": "When the `Layout` should change from rows into columns. One of `:lg`, `:md`, or `:sm`."
407
+ "default": "`:default`",
408
+ "description": "One of `:danger` or `:default`."
499
409
  },
500
410
  {
501
- "name": "first_in_source",
411
+ "name": "icon",
412
+ "type": "String",
413
+ "default": "N/A",
414
+ "description": "Name of [Octicon](https://primer.style/octicons/) to use."
415
+ },
416
+ {
417
+ "name": "tag",
502
418
  "type": "Symbol",
503
- "default": "`:sidebar`",
504
- "description": "Which element to render first in the HTML. This will change the keyboard navigation order. One of `:main` or `:sidebar`."
419
+ "default": "N/A",
420
+ "description": "One of `:a`, `:button`, or `:summary`."
505
421
  },
506
422
  {
507
- "name": "gutter",
423
+ "name": "type",
508
424
  "type": "Symbol",
509
- "default": "`:default`",
510
- "description": "The amount of space between the main section and the sidebar. One of `:condensed`, `:default`, `:none`, or `:spacious`."
425
+ "default": "N/A",
426
+ "description": "One of `:button`, `:reset`, or `:submit`."
511
427
  },
512
428
  {
513
- "name": "system_arguments",
514
- "type": "Hash",
429
+ "name": "aria-label",
430
+ "type": "String",
515
431
  "default": "N/A",
516
- "description": "[System arguments](/system-arguments)"
517
- }
518
- ]
519
- },
520
- {
521
- "component": "Menu",
522
- "status": "alpha",
523
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/menu.rb",
524
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/menu/default/",
525
- "parameters": [
432
+ "description": "String that can be read by assistive technology. A label should be short and concise. See the accessibility section for more information."
433
+ },
434
+ {
435
+ "name": "aria-description",
436
+ "type": "String",
437
+ "default": "N/A",
438
+ "description": "String that can be read by assistive technology. A description can be longer as it is intended to provide more context and information. See the accessibility section for more information."
439
+ },
440
+ {
441
+ "name": "tooltip_direction",
442
+ "type": "Symbol",
443
+ "default": "`:s`",
444
+ "description": "One of `:e`, `:n`, `:ne`, `:nw`, `:s`, `:se`, `:sw`, or `:w`."
445
+ },
446
+ {
447
+ "name": "box",
448
+ "type": "Boolean",
449
+ "default": "`false`",
450
+ "description": "Whether the button is in a [BorderBox](/components/beta/borderbox). If `true`, the button will have the `Box-btn-octicon` class."
451
+ },
526
452
  {
527
453
  "name": "system_arguments",
528
454
  "type": "Hash",
@@ -532,74 +458,138 @@
532
458
  ]
533
459
  },
534
460
  {
535
- "component": "NavList",
536
- "status": "alpha",
537
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list.rb",
538
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/default/",
461
+ "component": "AutoComplete",
462
+ "status": "beta",
463
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/auto_complete.rb",
464
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/auto_complete/default/",
539
465
  "parameters": [
540
466
  {
541
- "name": "selected_item_id",
542
- "type": "Symbol",
467
+ "name": "label_text",
468
+ "type": "String",
469
+ "default": "N/A",
470
+ "description": "The label of the input."
471
+ },
472
+ {
473
+ "name": "src",
474
+ "type": "String",
475
+ "default": "N/A",
476
+ "description": "The route to query."
477
+ },
478
+ {
479
+ "name": "input_id",
480
+ "type": "String",
481
+ "default": "N/A",
482
+ "description": "Id of the input element."
483
+ },
484
+ {
485
+ "name": "input_name",
486
+ "type": "String",
543
487
  "default": "`nil`",
544
- "description": "The ID of the currently selected item. The default is `nil`, meaning no item is selected."
488
+ "description": "Optional name of the input element, defaults to `input_id` when not set."
489
+ },
490
+ {
491
+ "name": "list_id",
492
+ "type": "String",
493
+ "default": "N/A",
494
+ "description": "Id of the list element."
495
+ },
496
+ {
497
+ "name": "visually_hide_label",
498
+ "type": "Boolean",
499
+ "default": "`false`",
500
+ "description": "Controls if the label is visible. If `true`, screen reader only text will be added."
501
+ },
502
+ {
503
+ "name": "show_clear_button",
504
+ "type": "Boolean",
505
+ "default": "`false`",
506
+ "description": "Adds optional clear button."
545
507
  },
546
508
  {
547
509
  "name": "system_arguments",
548
510
  "type": "Hash",
549
511
  "default": "N/A",
550
512
  "description": "[System arguments](/system-arguments)"
513
+ },
514
+ {
515
+ "name": "size",
516
+ "type": "Hash",
517
+ "default": "`:medium`",
518
+ "description": "Input size can be small, medium (default), or large"
519
+ },
520
+ {
521
+ "name": "full_width",
522
+ "type": "Boolean",
523
+ "default": "`false`",
524
+ "description": "Input can be full-width or fit to content"
525
+ },
526
+ {
527
+ "name": "disabled",
528
+ "type": "Boolean",
529
+ "default": "`false`",
530
+ "description": "Disabled input"
531
+ },
532
+ {
533
+ "name": "invalid",
534
+ "type": "Boolean",
535
+ "default": "`false`",
536
+ "description": "Invalid input"
537
+ },
538
+ {
539
+ "name": "placeholder",
540
+ "type": "String",
541
+ "default": "`nil`",
542
+ "description": "The placeholder text displayed within the input"
543
+ },
544
+ {
545
+ "name": "inset",
546
+ "type": "Boolean",
547
+ "default": "`false`",
548
+ "description": "subtle input background color"
549
+ },
550
+ {
551
+ "name": "monospace",
552
+ "type": "Boolean",
553
+ "default": "`false`",
554
+ "description": "monospace input font family"
551
555
  }
552
556
  ]
553
557
  },
554
558
  {
555
- "component": "NavList::Item",
556
- "status": "alpha",
557
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/item.rb",
558
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/item/default/",
559
+ "component": "AutoComplete::Item",
560
+ "status": "beta",
561
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/auto_complete/item.rb",
562
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/auto_complete/item/default/",
559
563
  "parameters": [
560
564
  {
561
- "name": "selected_item_id",
562
- "type": "Symbol",
563
- "default": "`nil`",
564
- "description": "The ID of the currently selected list item. Used internally."
565
- },
566
- {
567
- "name": "selected_by_ids",
568
- "type": "Array<Symbol>",
569
- "default": "`[]`",
570
- "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."
565
+ "name": "value",
566
+ "type": "String",
567
+ "default": "N/A",
568
+ "description": "Value of the item."
571
569
  },
572
570
  {
573
- "name": "expanded",
571
+ "name": "selected",
574
572
  "type": "Boolean",
575
573
  "default": "`false`",
576
- "description": "Whether this item shows (expands) or hides (collapses) its list of sub items."
574
+ "description": "Whether the item is selected."
577
575
  },
578
576
  {
579
- "name": "sub_item",
577
+ "name": "disabled",
580
578
  "type": "Boolean",
581
579
  "default": "`false`",
582
- "description": "Whether or not this item is nested under a parent item. Used internally."
580
+ "description": "Whether the item is disabled."
583
581
  },
584
582
  {
585
- "name": "system_arguments",
583
+ "name": "description_variant",
586
584
  "type": "Hash",
587
- "default": "N/A",
588
- "description": "[System arguments](/system-arguments)"
589
- }
590
- ]
591
- },
592
- {
593
- "component": "NavList::Section",
594
- "status": "alpha",
595
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/section.rb",
596
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/section/default/",
597
- "parameters": [
585
+ "default": "`:block`",
586
+ "description": "Changes the description style. Allowed values are :inline, :block"
587
+ },
598
588
  {
599
- "name": "selected_item_id",
600
- "type": "Symbol",
601
- "default": "`nil`",
602
- "description": "The ID of the currently selected item. Used internally."
589
+ "name": "description",
590
+ "type": "String",
591
+ "default": "N/A",
592
+ "description": "Display description text below label"
603
593
  },
604
594
  {
605
595
  "name": "system_arguments",
@@ -610,57 +600,41 @@
610
600
  ]
611
601
  },
612
602
  {
613
- "component": "OcticonSymbols",
614
- "status": "alpha",
615
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/octicon_symbols.rb",
616
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/octicon_symbols/default/",
617
- "parameters": [
618
- {
619
- "name": "icons",
620
- "type": "Array<Hash>",
621
- "default": "`[]`",
622
- "description": "List of icons to render, in the format { symbol: :icon_name, size: :small }"
623
- }
624
- ]
625
- },
626
- {
627
- "component": "SegmentedControl",
628
- "status": "alpha",
629
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/segmented_control.rb",
630
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/segmented_control/default/",
603
+ "component": "Avatar",
604
+ "status": "beta",
605
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/avatar.rb",
606
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/avatar/default/",
631
607
  "parameters": [
632
608
  {
633
- "name": "hide_labels",
634
- "type": "Boolean",
635
- "default": "`false`",
636
- "description": "Whether to hide the labels and only show the icons"
609
+ "name": "src",
610
+ "type": "String",
611
+ "default": "N/A",
612
+ "description": "The source url of the avatar image."
637
613
  },
638
614
  {
639
- "name": "full_width",
640
- "type": "Boolean",
641
- "default": "`false`",
642
- "description": "If the component should be full width"
615
+ "name": "alt",
616
+ "type": "String",
617
+ "default": "N/A",
618
+ "description": "Passed through to alt on img tag."
643
619
  },
644
620
  {
645
621
  "name": "size",
622
+ "type": "Integer",
623
+ "default": "`20`",
624
+ "description": "One of `16`, `20`, `24`, `32`, `40`, `48`, or `80`."
625
+ },
626
+ {
627
+ "name": "shape",
646
628
  "type": "Symbol",
647
- "default": "`:medium`",
648
- "description": "One of `:large`, `:medium`, or `:small`."
629
+ "default": "`:circle`",
630
+ "description": "Shape of the avatar. One of `:circle` or `:square`."
649
631
  },
650
632
  {
651
- "name": "system_arguments",
652
- "type": "Hash",
653
- "default": "N/A",
654
- "description": "[System arguments](/system-arguments)"
655
- }
656
- ]
657
- },
658
- {
659
- "component": "TabContainer",
660
- "status": "alpha",
661
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tab_container.rb",
662
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tab_container/default/",
663
- "parameters": [
633
+ "name": "href",
634
+ "type": "String",
635
+ "default": "`nil`",
636
+ "description": "The URL to link to. If used, component will be wrapped by an `<a>` tag."
637
+ },
664
638
  {
665
639
  "name": "system_arguments",
666
640
  "type": "Hash",
@@ -670,28 +644,34 @@
670
644
  ]
671
645
  },
672
646
  {
673
- "component": "TabNav",
674
- "status": "alpha",
675
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tab_nav.rb",
676
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tab_nav/default/",
647
+ "component": "AvatarStack",
648
+ "status": "beta",
649
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/avatar_stack.rb",
650
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/avatar_stack/default/",
677
651
  "parameters": [
678
652
  {
679
653
  "name": "tag",
680
654
  "type": "Symbol",
681
- "default": "`:nav`",
682
- "description": "One of `:div` or `:nav`."
655
+ "default": "`:div`",
656
+ "description": "One of `:div` or `:span`."
683
657
  },
684
658
  {
685
- "name": "label",
686
- "type": "String",
687
- "default": "N/A",
688
- "description": "Sets an `aria-label` that helps assistive technology users understand the purpose of the links, and distinguish it from similar elements."
659
+ "name": "align",
660
+ "type": "Symbol",
661
+ "default": "`:left`",
662
+ "description": "One of `:left` or `:right`."
663
+ },
664
+ {
665
+ "name": "tooltipped",
666
+ "type": "Boolean",
667
+ "default": "`false`",
668
+ "description": "Whether to add a tooltip to the stack or not."
689
669
  },
690
670
  {
691
671
  "name": "body_arguments",
692
672
  "type": "Hash",
693
673
  "default": "`{}`",
694
- "description": "[System arguments](/system-arguments) for the body wrapper."
674
+ "description": "Parameters to add to the Body. If `tooltipped` is set, has the same arguments as [Tooltip](/components/tooltip). The default tag is `:div` but can be changed using `tag:` to one of `:div` or `:span`."
695
675
  },
696
676
  {
697
677
  "name": "system_arguments",
@@ -702,34 +682,28 @@
702
682
  ]
703
683
  },
704
684
  {
705
- "component": "TabPanels",
706
- "status": "alpha",
707
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tab_panels.rb",
708
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tab_panels/default/",
685
+ "component": "BaseButton",
686
+ "status": "beta",
687
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/base_button.rb",
688
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/base_button/default/",
709
689
  "parameters": [
710
690
  {
711
- "name": "label",
712
- "type": "String",
713
- "default": "N/A",
714
- "description": "Sets an `aria-label` that helps assistive technology users understand the purpose of the tabs."
715
- },
716
- {
717
- "name": "align",
691
+ "name": "tag",
718
692
  "type": "Symbol",
719
- "default": "N/A",
720
- "description": "One of `:left` or `:right`. - Defaults to left"
693
+ "default": "`:button`",
694
+ "description": "One of `:a`, `:button`, or `:summary`."
721
695
  },
722
696
  {
723
- "name": "body_arguments",
724
- "type": "Hash",
725
- "default": "`{}`",
726
- "description": "[System arguments](/system-arguments) for the body wrapper."
697
+ "name": "type",
698
+ "type": "Symbol",
699
+ "default": "`:button`",
700
+ "description": "One of `:button`, `:reset`, or `:submit`."
727
701
  },
728
702
  {
729
- "name": "wrapper_arguments",
730
- "type": "Hash",
731
- "default": "`{}`",
732
- "description": "[System arguments](/system-arguments) for the `TabContainer` wrapper."
703
+ "name": "block",
704
+ "type": "Boolean",
705
+ "default": "`false`",
706
+ "description": "Whether button is full-width with `display: block`."
733
707
  },
734
708
  {
735
709
  "name": "system_arguments",
@@ -740,186 +714,234 @@
740
714
  ]
741
715
  },
742
716
  {
743
- "component": "TextField",
717
+ "component": "Banner",
744
718
  "status": "alpha",
745
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/text_field.rb",
746
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/text_field/default/",
719
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/banner.rb",
720
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/banner/default/",
747
721
  "parameters": [
748
722
  {
749
- "name": "name",
750
- "type": "String",
751
- "default": "N/A",
752
- "description": "Value for the HTML name attribute."
753
- },
754
- {
755
- "name": "id",
756
- "type": "String",
757
- "default": "N/A",
758
- "description": "Value for the HTML id attribute."
759
- },
760
- {
761
- "name": "class",
762
- "type": "String",
763
- "default": "N/A",
764
- "description": "A list of CSS classes to add to the input. Exists for compatibility with Rails form builders."
723
+ "name": "full",
724
+ "type": "Boolean",
725
+ "default": "`false`",
726
+ "description": "Whether the component should take up the full width of the screen."
765
727
  },
766
728
  {
767
- "name": "classes",
768
- "type": "String",
769
- "default": "N/A",
770
- "description": "A list of CSS classes to add to the input. Combined with the `:class` argument."
729
+ "name": "full_when_narrow",
730
+ "type": "Boolean",
731
+ "default": "`false`",
732
+ "description": "Whether the component should take up the full width of the screen when rendered inside smaller viewports."
771
733
  },
772
734
  {
773
- "name": "caption",
774
- "type": "String",
775
- "default": "N/A",
776
- "description": "Caption text to render below the input."
735
+ "name": "dismissible",
736
+ "type": "Boolean",
737
+ "default": "`false`",
738
+ "description": "Whether the component can be dismissed with an \"x\" button."
777
739
  },
778
740
  {
779
- "name": "label",
741
+ "name": "description",
780
742
  "type": "String",
781
- "default": "N/A",
782
- "description": "Label text displayed above the input."
783
- },
784
- {
785
- "name": "visually_hide_label",
786
- "type": "Boolean",
787
- "default": "N/A",
788
- "description": "Whether or not to visually hide the label. If `true` the label will be hidden visually but still available to screen readers."
743
+ "default": "`nil`",
744
+ "description": "Description text rendered underneath the message."
789
745
  },
790
746
  {
791
- "name": "size",
747
+ "name": "icon",
792
748
  "type": "Symbol",
793
- "default": "N/A",
794
- "description": "The size of the field. One of `:large`, `:medium`, or `:small`."
795
- },
796
- {
797
- "name": "show_clear_button",
798
- "type": "Boolean",
799
- "default": "N/A",
800
- "description": "Whether or not to include a clear button inside the input that clears the input's contents when clicked."
801
- },
802
- {
803
- "name": "clear_button_id",
804
- "type": "String",
805
- "default": "N/A",
806
- "description": "The HTML id attribute of the clear button."
749
+ "default": "`nil`",
750
+ "description": "The name of an [Octicon](https://primer.style/octicons/) icon to use. If no icon is provided, a default one will be chosen based on the scheme."
807
751
  },
808
752
  {
809
- "name": "full_width",
810
- "type": "Boolean",
811
- "default": "N/A",
812
- "description": "Controls whether or not the input takes the full width of its container."
753
+ "name": "scheme",
754
+ "type": "Symbol",
755
+ "default": "`:default`",
756
+ "description": "One of `:danger`, `:default`, `:success`, or `:warning`."
813
757
  },
814
758
  {
815
- "name": "disabled",
759
+ "name": "reappear",
816
760
  "type": "Boolean",
817
- "default": "N/A",
818
- "description": "Whether or not the input should accept keyboard and mouse input."
761
+ "default": "`false`",
762
+ "description": "Whether or not the flash banner should reappear after being dismissed. Only for use in test and preview environments."
819
763
  },
820
764
  {
821
- "name": "invalid",
822
- "type": "Boolean",
765
+ "name": "system_arguments",
766
+ "type": "Hash",
823
767
  "default": "N/A",
824
- "description": "If `true`, renders the input in a visually invalid state."
825
- },
768
+ "description": "[System arguments](/system-arguments)"
769
+ }
770
+ ]
771
+ },
772
+ {
773
+ "component": "Blankslate",
774
+ "status": "beta",
775
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/blankslate.rb",
776
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/blankslate/default/",
777
+ "parameters": [
826
778
  {
827
- "name": "placeholder",
828
- "type": "String",
829
- "default": "N/A",
830
- "description": "Placeholder text."
779
+ "name": "narrow",
780
+ "type": "Boolean",
781
+ "default": "`false`",
782
+ "description": "Adds a maximum width of `485px` to the Blankslate."
831
783
  },
832
784
  {
833
- "name": "inset",
785
+ "name": "spacious",
834
786
  "type": "Boolean",
835
- "default": "N/A",
836
- "description": "If `true`, renders the input in a visually inset state."
787
+ "default": "`false`",
788
+ "description": "Increases the padding from `32px` to `80px 40px`."
837
789
  },
838
790
  {
839
- "name": "monospace",
791
+ "name": "border",
840
792
  "type": "Boolean",
841
- "default": "N/A",
842
- "description": "If `true`, uses a monospace font for the input field."
793
+ "default": "`false`",
794
+ "description": "Adds a border around the Blankslate."
843
795
  },
844
796
  {
845
- "name": "leading_visual",
797
+ "name": "system_arguments",
846
798
  "type": "Hash",
847
799
  "default": "N/A",
848
- "description": "Renders a leading visual icon before the text field's cursor. The hash will be passed to Primer's [Octicon component](https://primer.style/view-components/components/octicon)."
849
- },
800
+ "description": "[System arguments](/system-arguments)"
801
+ }
802
+ ]
803
+ },
804
+ {
805
+ "component": "BorderBox",
806
+ "status": "beta",
807
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/border_box.rb",
808
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/border_box/default/",
809
+ "parameters": [
850
810
  {
851
- "name": "validation_message",
852
- "type": "String",
853
- "default": "N/A",
854
- "description": "A validation message to display beneath the input. Implicitly sets `invalid` to `true`."
811
+ "name": "padding",
812
+ "type": "Symbol",
813
+ "default": "`:default`",
814
+ "description": "One of `:condensed`, `:default`, or `:spacious`."
855
815
  },
856
816
  {
857
- "name": "label_arguments",
817
+ "name": "system_arguments",
858
818
  "type": "Hash",
859
819
  "default": "N/A",
860
- "description": "System arugments passed to the Rails builder's `#label` method. These arguments will appear as HTML attributes on the `<label>` tag."
861
- },
820
+ "description": "[System arguments](/system-arguments)"
821
+ }
822
+ ]
823
+ },
824
+ {
825
+ "component": "BorderBox::Header",
826
+ "status": "beta",
827
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/border_box/header.rb",
828
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/border_box/header/default/",
829
+ "parameters": [
862
830
  {
863
- "name": "auto_check_src",
864
- "type": "String",
831
+ "name": "system_arguments",
832
+ "type": "Hash",
865
833
  "default": "N/A",
866
- "description": "When provided, makes a request to the given URL whenever the contents of the text field changes. If the server responds with a non-2xx status code, the response body is used as the validation message."
867
- },
834
+ "description": "[System arguments](/system-arguments)"
835
+ }
836
+ ]
837
+ },
838
+ {
839
+ "component": "Box",
840
+ "status": "stable",
841
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/box.rb",
842
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/box/default/",
843
+ "parameters": [
868
844
  {
869
845
  "name": "system_arguments",
870
846
  "type": "Hash",
871
847
  "default": "N/A",
872
848
  "description": "[System arguments](/system-arguments)"
873
- },
849
+ }
850
+ ]
851
+ },
852
+ {
853
+ "component": "Breadcrumbs",
854
+ "status": "beta",
855
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/breadcrumbs.rb",
856
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/breadcrumbs/default/",
857
+ "parameters": [
874
858
  {
875
- "name": "block",
876
- "type": "Proc",
859
+ "name": "system_arguments",
860
+ "type": "Hash",
877
861
  "default": "N/A",
878
- "description": "Unused."
862
+ "description": "[System arguments](/system-arguments)"
879
863
  }
880
864
  ]
881
865
  },
882
866
  {
883
- "component": "ToggleSwitch",
884
- "status": "alpha",
885
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/toggle_switch.rb",
886
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/toggle_switch/default/",
867
+ "component": "Button",
868
+ "status": "deprecated",
869
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/button_component.rb",
870
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/button/default/",
887
871
  "parameters": [
888
872
  {
889
- "name": "src",
890
- "type": "String",
891
- "default": "`nil`",
892
- "description": "The URL to POST to when the toggle switch is toggled. If `nil`, the toggle switch will not make any requests."
873
+ "name": "scheme",
874
+ "type": "Symbol",
875
+ "default": "`:default`",
876
+ "description": "One of `:danger`, `:default`, `:invisible`, `:link`, `:outline`, or `:primary`."
893
877
  },
894
878
  {
895
- "name": "csrf_token",
896
- "type": "String",
879
+ "name": "variant",
880
+ "type": "Symbol",
897
881
  "default": "`nil`",
898
- "description": "A CSRF token that will be sent to the server as \"authenticity_token\" when the toggle switch is toggled. Unused if `src` is `nil`."
882
+ "description": "DEPRECATED. One of `:medium` or `:small`."
899
883
  },
900
884
  {
901
- "name": "checked",
885
+ "name": "size",
886
+ "type": "Symbol",
887
+ "default": "`:medium`",
888
+ "description": "One of `:medium` or `:small`."
889
+ },
890
+ {
891
+ "name": "tag",
892
+ "type": "Symbol",
893
+ "default": "`:button`",
894
+ "description": "One of `:a`, `:button`, or `:summary`."
895
+ },
896
+ {
897
+ "name": "type",
898
+ "type": "Symbol",
899
+ "default": "`:button`",
900
+ "description": "One of `:button`, `:reset`, or `:submit`."
901
+ },
902
+ {
903
+ "name": "group_item",
902
904
  "type": "Boolean",
903
905
  "default": "`false`",
904
- "description": "Whether the toggle switch is on or off."
906
+ "description": "Whether button is part of a ButtonGroup."
905
907
  },
906
908
  {
907
- "name": "enabled",
909
+ "name": "block",
908
910
  "type": "Boolean",
909
- "default": "`true`",
910
- "description": "Whether or not the toggle switch responds to user input."
911
+ "default": "`false`",
912
+ "description": "Whether button is full-width with `display: block`."
911
913
  },
912
914
  {
913
- "name": "size",
915
+ "name": "dropdown",
916
+ "type": "Boolean",
917
+ "default": "`false`",
918
+ "description": "Whether or not to render a dropdown caret."
919
+ },
920
+ {
921
+ "name": "system_arguments",
922
+ "type": "Hash",
923
+ "default": "N/A",
924
+ "description": "[System arguments](/system-arguments)"
925
+ }
926
+ ]
927
+ },
928
+ {
929
+ "component": "ButtonGroup",
930
+ "status": "beta",
931
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/button_group.rb",
932
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/button_group/default/",
933
+ "parameters": [
934
+ {
935
+ "name": "variant",
914
936
  "type": "Symbol",
915
- "default": "`:medium`",
916
- "description": "What size toggle switch to render. One of `:end` or `:start`."
937
+ "default": "`nil`",
938
+ "description": "DEPRECATED. One of `:medium` or `:small`."
917
939
  },
918
940
  {
919
- "name": "status_label_position",
941
+ "name": "size",
920
942
  "type": "Symbol",
921
- "default": "`:start`",
922
- "description": "Which side of the toggle switch to render the status label. One of `:medium` or `:small`."
943
+ "default": "`:medium`",
944
+ "description": "One of `:medium` or `:small`."
923
945
  },
924
946
  {
925
947
  "name": "system_arguments",
@@ -930,34 +952,34 @@
930
952
  ]
931
953
  },
932
954
  {
933
- "component": "Tooltip",
955
+ "component": "ButtonMarketing",
934
956
  "status": "alpha",
935
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tooltip.rb",
936
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tooltip/default/",
957
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/button_marketing.rb",
958
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/button_marketing/default/",
937
959
  "parameters": [
938
960
  {
939
- "name": "for_id",
940
- "type": "String",
941
- "default": "N/A",
942
- "description": "The ID of the element that the tooltip should be attached to."
961
+ "name": "scheme",
962
+ "type": "Symbol",
963
+ "default": "`:default`",
964
+ "description": "One of `:default`, `:outline`, `:primary`, or `:transparent`."
943
965
  },
944
966
  {
945
- "name": "type",
967
+ "name": "variant",
946
968
  "type": "Symbol",
947
- "default": "N/A",
948
- "description": "One of `:description` or `:label`."
969
+ "default": "`:default`",
970
+ "description": "One of `:default` or `:large`."
949
971
  },
950
972
  {
951
- "name": "direction",
973
+ "name": "tag",
952
974
  "type": "Symbol",
953
- "default": "`:s`",
954
- "description": "One of `:e`, `:n`, `:ne`, `:nw`, `:s`, `:se`, `:sw`, or `:w`."
975
+ "default": "`:button`",
976
+ "description": "One of `:a` or `:button`."
955
977
  },
956
978
  {
957
- "name": "text",
958
- "type": "String",
959
- "default": "N/A",
960
- "description": "The text content of the tooltip. This should be brief and no longer than a sentence."
979
+ "name": "type",
980
+ "type": "Symbol",
981
+ "default": "`:button`",
982
+ "description": "One of `:button` or `:submit`."
961
983
  },
962
984
  {
963
985
  "name": "system_arguments",
@@ -968,34 +990,28 @@
968
990
  ]
969
991
  },
970
992
  {
971
- "component": "UnderlineNav",
972
- "status": "alpha",
973
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/underline_nav.rb",
974
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/underline_nav/default/",
993
+ "component": "ClipboardCopy",
994
+ "status": "beta",
995
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/clipboard_copy.rb",
996
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/clipboard_copy/default/",
975
997
  "parameters": [
976
998
  {
977
- "name": "tag",
978
- "type": "Symbol",
979
- "default": "`:nav`",
980
- "description": "One of `:div` or `:nav`."
981
- },
982
- {
983
- "name": "label",
999
+ "name": "aria-label",
984
1000
  "type": "String",
985
1001
  "default": "N/A",
986
- "description": "Sets an `aria-label` that helps assistive technology users understand the purpose of the links, and distinguish it from similar elements."
1002
+ "description": "String that will be read to screenreaders when the component is focused"
987
1003
  },
988
1004
  {
989
- "name": "align",
990
- "type": "Symbol",
991
- "default": "`:left`",
992
- "description": "One of `:left` or `:right`. - Defaults to left"
1005
+ "name": "value",
1006
+ "type": "String",
1007
+ "default": "`nil`",
1008
+ "description": "Text to copy into the users clipboard when they click the component."
993
1009
  },
994
1010
  {
995
- "name": "body_arguments",
996
- "type": "Hash",
997
- "default": "`{}`",
998
- "description": "[System arguments](/system-arguments) for the body wrapper."
1011
+ "name": "for",
1012
+ "type": "String",
1013
+ "default": "N/A",
1014
+ "description": "Element id from where to get the copied value."
999
1015
  },
1000
1016
  {
1001
1017
  "name": "system_arguments",
@@ -1006,34 +1022,16 @@
1006
1022
  ]
1007
1023
  },
1008
1024
  {
1009
- "component": "UnderlinePanels",
1010
- "status": "alpha",
1011
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/underline_panels.rb",
1012
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/underline_panels/default/",
1025
+ "component": "CloseButton",
1026
+ "status": "beta",
1027
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/close_button.rb",
1028
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/close_button/default/",
1013
1029
  "parameters": [
1014
1030
  {
1015
- "name": "label",
1016
- "type": "String",
1017
- "default": "N/A",
1018
- "description": "Sets an `aria-label` that helps assistive technology users understand the purpose of the tabs."
1019
- },
1020
- {
1021
- "name": "align",
1031
+ "name": "type",
1022
1032
  "type": "Symbol",
1023
- "default": "`:left`",
1024
- "description": "One of `:left` or `:right`. - Defaults to left"
1025
- },
1026
- {
1027
- "name": "body_arguments",
1028
- "type": "Hash",
1029
- "default": "`{}`",
1030
- "description": "[System arguments](/system-arguments) for the body wrapper."
1031
- },
1032
- {
1033
- "name": "wrapper_arguments",
1034
- "type": "Hash",
1035
- "default": "`{}`",
1036
- "description": "[System arguments](/system-arguments) for the `TabContainer` wrapper."
1033
+ "default": "`:button`",
1034
+ "description": "One of `:button` or `:submit`."
1037
1035
  },
1038
1036
  {
1039
1037
  "name": "system_arguments",
@@ -1044,138 +1042,154 @@
1044
1042
  ]
1045
1043
  },
1046
1044
  {
1047
- "component": "AutoComplete",
1045
+ "component": "Counter",
1048
1046
  "status": "beta",
1049
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/auto_complete.rb",
1050
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/auto_complete/default/",
1047
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/counter.rb",
1048
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/counter/default/",
1051
1049
  "parameters": [
1052
1050
  {
1053
- "name": "label_text",
1054
- "type": "String",
1055
- "default": "N/A",
1056
- "description": "The label of the input."
1051
+ "name": "count",
1052
+ "type": "Integer, Float::INFINITY, nil",
1053
+ "default": "`0`",
1054
+ "description": "The number to be displayed (e.x. # of issues, pull requests)"
1057
1055
  },
1058
1056
  {
1059
- "name": "src",
1060
- "type": "String",
1061
- "default": "N/A",
1062
- "description": "The route to query."
1057
+ "name": "scheme",
1058
+ "type": "Symbol",
1059
+ "default": "`:default`",
1060
+ "description": "Color scheme. One of `:default`, `:primary`, or `:secondary`."
1063
1061
  },
1064
1062
  {
1065
- "name": "input_id",
1066
- "type": "String",
1067
- "default": "N/A",
1068
- "description": "Id of the input element."
1063
+ "name": "limit",
1064
+ "type": "Integer, nil",
1065
+ "default": "`5_000`",
1066
+ "description": "Maximum value to display. Pass `nil` for no limit. (e.x. if `count` == 6,000 and `limit` == 5000, counter will display \"5,000+\")"
1069
1067
  },
1070
1068
  {
1071
- "name": "input_name",
1072
- "type": "String",
1073
- "default": "`nil`",
1074
- "description": "Optional name of the input element, defaults to `input_id` when not set."
1069
+ "name": "hide_if_zero",
1070
+ "type": "Boolean",
1071
+ "default": "`false`",
1072
+ "description": "If true, a `hidden` attribute is added to the counter if `count` is zero."
1075
1073
  },
1076
1074
  {
1077
- "name": "list_id",
1075
+ "name": "text",
1078
1076
  "type": "String",
1079
- "default": "N/A",
1080
- "description": "Id of the list element."
1077
+ "default": "`\"\"`",
1078
+ "description": "Text to display instead of count."
1081
1079
  },
1082
1080
  {
1083
- "name": "visually_hide_label",
1081
+ "name": "round",
1084
1082
  "type": "Boolean",
1085
1083
  "default": "`false`",
1086
- "description": "Controls if the label is visible. If `true`, screen reader only text will be added."
1084
+ "description": "Whether to apply our standard rounding logic to value."
1087
1085
  },
1088
1086
  {
1089
- "name": "show_clear_button",
1087
+ "name": "system_arguments",
1088
+ "type": "Hash",
1089
+ "default": "N/A",
1090
+ "description": "[System arguments](/system-arguments)"
1091
+ }
1092
+ ]
1093
+ },
1094
+ {
1095
+ "component": "Details",
1096
+ "status": "beta",
1097
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/details.rb",
1098
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/details/default/",
1099
+ "parameters": [
1100
+ {
1101
+ "name": "overlay",
1102
+ "type": "Symbol",
1103
+ "default": "`:none`",
1104
+ "description": "Dictates the type of overlay to render with. One of `:dark`, `:default`, or `:none`."
1105
+ },
1106
+ {
1107
+ "name": "reset",
1090
1108
  "type": "Boolean",
1091
1109
  "default": "`false`",
1092
- "description": "Adds optional clear button."
1110
+ "description": "Defaults to false. If set to true, it will remove the default caret and remove style from the summary element"
1093
1111
  },
1094
1112
  {
1095
1113
  "name": "system_arguments",
1096
1114
  "type": "Hash",
1097
1115
  "default": "N/A",
1098
1116
  "description": "[System arguments](/system-arguments)"
1117
+ }
1118
+ ]
1119
+ },
1120
+ {
1121
+ "component": "Dialog",
1122
+ "status": "alpha",
1123
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/dialog.rb",
1124
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/dialog/default/",
1125
+ "parameters": [
1126
+ {
1127
+ "name": "id",
1128
+ "type": "String",
1129
+ "default": "`self.class.generate_id`",
1130
+ "description": "The id of the dialog."
1099
1131
  },
1100
1132
  {
1101
- "name": "size",
1102
- "type": "Hash",
1103
- "default": "`:medium`",
1104
- "description": "Input size can be small, medium (default), or large"
1133
+ "name": "title",
1134
+ "type": "String",
1135
+ "default": "N/A",
1136
+ "description": "Describes the content of the dialog."
1105
1137
  },
1106
1138
  {
1107
- "name": "full_width",
1108
- "type": "Boolean",
1109
- "default": "`false`",
1110
- "description": "Input can be full-width or fit to content"
1139
+ "name": "subtitle",
1140
+ "type": "String",
1141
+ "default": "`nil`",
1142
+ "description": "Provides additional context for the dialog, also setting the `aria-describedby` attribute."
1111
1143
  },
1112
1144
  {
1113
- "name": "disabled",
1114
- "type": "Boolean",
1115
- "default": "`false`",
1116
- "description": "Disabled input"
1145
+ "name": "size",
1146
+ "type": "Symbol",
1147
+ "default": "`:medium`",
1148
+ "description": "The size of the dialog. One of `:auto`, `:large`, `:medium`, `:medium_portrait`, `:small`, or `:xlarge`."
1117
1149
  },
1118
1150
  {
1119
- "name": "invalid",
1120
- "type": "Boolean",
1121
- "default": "`false`",
1122
- "description": "Invalid input"
1151
+ "name": "position",
1152
+ "type": "Symbol",
1153
+ "default": "`:center`",
1154
+ "description": "The position of the dialog. One of `:center`, `:left`, or `:right`."
1123
1155
  },
1124
1156
  {
1125
- "name": "placeholder",
1126
- "type": "String",
1127
- "default": "`nil`",
1128
- "description": "The placeholder text displayed within the input"
1157
+ "name": "position_narrow",
1158
+ "type": "Symbol",
1159
+ "default": "`:inherit`",
1160
+ "description": "The position of the dialog when narrow. One of `:bottom`, `:fullscreen`, `:inherit`, `:left`, or `:right`."
1129
1161
  },
1130
1162
  {
1131
- "name": "inset",
1163
+ "name": "visually_hide_title",
1132
1164
  "type": "Boolean",
1133
1165
  "default": "`false`",
1134
- "description": "subtle input background color"
1166
+ "description": "If true will hide the heading title, while still making it available to Screen Readers."
1135
1167
  },
1136
1168
  {
1137
- "name": "monospace",
1138
- "type": "Boolean",
1139
- "default": "`false`",
1140
- "description": "monospace input font family"
1169
+ "name": "system_arguments",
1170
+ "type": "Hash",
1171
+ "default": "N/A",
1172
+ "description": "[System arguments](/system-arguments)"
1141
1173
  }
1142
1174
  ]
1143
1175
  },
1144
1176
  {
1145
- "component": "AutoComplete::Item",
1146
- "status": "beta",
1147
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/auto_complete/item.rb",
1148
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/auto_complete/item/default/",
1177
+ "component": "Dropdown",
1178
+ "status": "alpha",
1179
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/dropdown.rb",
1180
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/dropdown/default/",
1149
1181
  "parameters": [
1150
1182
  {
1151
- "name": "value",
1152
- "type": "String",
1153
- "default": "N/A",
1154
- "description": "Value of the item."
1155
- },
1156
- {
1157
- "name": "selected",
1158
- "type": "Boolean",
1159
- "default": "`false`",
1160
- "description": "Whether the item is selected."
1183
+ "name": "overlay",
1184
+ "type": "Symbol",
1185
+ "default": "`:default`",
1186
+ "description": "One of `:dark`, `:default`, or `:none`."
1161
1187
  },
1162
1188
  {
1163
- "name": "disabled",
1189
+ "name": "with_caret",
1164
1190
  "type": "Boolean",
1165
1191
  "default": "`false`",
1166
- "description": "Whether the item is disabled."
1167
- },
1168
- {
1169
- "name": "description_variant",
1170
- "type": "Hash",
1171
- "default": "`:block`",
1172
- "description": "Changes the description style. Allowed values are :inline, :block"
1173
- },
1174
- {
1175
- "name": "description",
1176
- "type": "String",
1177
- "default": "N/A",
1178
- "description": "Display description text below label"
1192
+ "description": "Whether or not a caret should be rendered in the button."
1179
1193
  },
1180
1194
  {
1181
1195
  "name": "system_arguments",
@@ -1186,40 +1200,40 @@
1186
1200
  ]
1187
1201
  },
1188
1202
  {
1189
- "component": "Avatar",
1203
+ "component": "Flash",
1190
1204
  "status": "beta",
1191
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/avatar.rb",
1192
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/avatar/default/",
1205
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/flash.rb",
1206
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/flash/default/",
1193
1207
  "parameters": [
1194
1208
  {
1195
- "name": "src",
1196
- "type": "String",
1197
- "default": "N/A",
1198
- "description": "The source url of the avatar image."
1209
+ "name": "full",
1210
+ "type": "Boolean",
1211
+ "default": "`false`",
1212
+ "description": "Whether the component should take up the full width of the screen."
1199
1213
  },
1200
1214
  {
1201
- "name": "alt",
1202
- "type": "String",
1203
- "default": "N/A",
1204
- "description": "Passed through to alt on img tag."
1215
+ "name": "spacious",
1216
+ "type": "Boolean",
1217
+ "default": "`false`",
1218
+ "description": "Whether to add margin to the bottom of the component."
1205
1219
  },
1206
1220
  {
1207
- "name": "size",
1208
- "type": "Integer",
1209
- "default": "`20`",
1210
- "description": "One of `16`, `20`, `24`, `32`, `40`, `48`, or `80`."
1221
+ "name": "dismissible",
1222
+ "type": "Boolean",
1223
+ "default": "`false`",
1224
+ "description": "Whether the component can be dismissed with an X button."
1211
1225
  },
1212
1226
  {
1213
- "name": "shape",
1227
+ "name": "icon",
1214
1228
  "type": "Symbol",
1215
- "default": "`:circle`",
1216
- "description": "Shape of the avatar. One of `:circle` or `:square`."
1229
+ "default": "`nil`",
1230
+ "description": "Name of Octicon icon to use."
1217
1231
  },
1218
1232
  {
1219
- "name": "href",
1220
- "type": "String",
1221
- "default": "`nil`",
1222
- "description": "The URL to link to. If used, component will be wrapped by an `<a>` tag."
1233
+ "name": "scheme",
1234
+ "type": "Symbol",
1235
+ "default": "`:default`",
1236
+ "description": "One of `:danger`, `:default`, `:success`, or `:warning`."
1223
1237
  },
1224
1238
  {
1225
1239
  "name": "system_arguments",
@@ -1230,34 +1244,42 @@
1230
1244
  ]
1231
1245
  },
1232
1246
  {
1233
- "component": "AvatarStack",
1247
+ "component": "Heading",
1234
1248
  "status": "beta",
1235
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/avatar_stack.rb",
1236
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/avatar_stack/default/",
1249
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/heading.rb",
1250
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/heading/default/",
1237
1251
  "parameters": [
1238
1252
  {
1239
1253
  "name": "tag",
1240
- "type": "Symbol",
1241
- "default": "`:div`",
1242
- "description": "One of `:div` or `:span`."
1254
+ "type": "String",
1255
+ "default": "N/A",
1256
+ "description": "One of `:h1`, `:h2`, `:h3`, `:h4`, `:h5`, or `:h6`."
1243
1257
  },
1244
1258
  {
1245
- "name": "align",
1246
- "type": "Symbol",
1247
- "default": "`:left`",
1248
- "description": "One of `:left` or `:right`."
1249
- },
1259
+ "name": "system_arguments",
1260
+ "type": "Hash",
1261
+ "default": "N/A",
1262
+ "description": "[System arguments](/system-arguments)"
1263
+ }
1264
+ ]
1265
+ },
1266
+ {
1267
+ "component": "HiddenTextExpander",
1268
+ "status": "alpha",
1269
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/hidden_text_expander.rb",
1270
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/hidden_text_expander/default/",
1271
+ "parameters": [
1250
1272
  {
1251
- "name": "tooltipped",
1273
+ "name": "inline",
1252
1274
  "type": "Boolean",
1253
1275
  "default": "`false`",
1254
- "description": "Whether to add a tooltip to the stack or not."
1276
+ "description": "Whether or not the expander is inline."
1255
1277
  },
1256
1278
  {
1257
- "name": "body_arguments",
1279
+ "name": "button_arguments",
1258
1280
  "type": "Hash",
1259
1281
  "default": "`{}`",
1260
- "description": "Parameters to add to the Body. If `tooltipped` is set, has the same arguments as [Tooltip](/components/tooltip). The default tag is `:div` but can be changed using `tag:` to one of `:div` or `:span`."
1282
+ "description": "[System arguments](/system-arguments) for the button element."
1261
1283
  },
1262
1284
  {
1263
1285
  "name": "system_arguments",
@@ -1268,28 +1290,40 @@
1268
1290
  ]
1269
1291
  },
1270
1292
  {
1271
- "component": "BaseButton",
1293
+ "component": "Label",
1272
1294
  "status": "beta",
1273
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/base_button.rb",
1274
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/base_button/default/",
1295
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/label.rb",
1296
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/label/default/",
1275
1297
  "parameters": [
1276
1298
  {
1277
1299
  "name": "tag",
1278
1300
  "type": "Symbol",
1279
- "default": "`:button`",
1280
- "description": "One of `:a`, `:button`, or `:summary`."
1301
+ "default": "`:span`",
1302
+ "description": "One of `:a`, `:div`, `:span`, or `:summary`."
1281
1303
  },
1282
1304
  {
1283
- "name": "type",
1305
+ "name": "scheme",
1284
1306
  "type": "Symbol",
1285
- "default": "`:button`",
1286
- "description": "One of `:button`, `:reset`, or `:submit`."
1307
+ "default": "`:default`",
1308
+ "description": "One of `:accent`, `:attention`, `:danger`, `:default`, `:done`, `:info`, `:orange`, `:primary`, `:purple`, `:secondary`, `:severe`, `:sponsors`, `:success`, or `:warning`."
1287
1309
  },
1288
1310
  {
1289
- "name": "block",
1311
+ "name": "size",
1312
+ "type": "Symbol",
1313
+ "default": "`:medium`",
1314
+ "description": "One of `:large` or `:medium`."
1315
+ },
1316
+ {
1317
+ "name": "inline",
1290
1318
  "type": "Boolean",
1291
1319
  "default": "`false`",
1292
- "description": "Whether button is full-width with `display: block`."
1320
+ "description": "Whether or not to render this label inline."
1321
+ },
1322
+ {
1323
+ "name": "variant",
1324
+ "type": "Symbol",
1325
+ "default": "`:none`",
1326
+ "description": "One of `:inline`, `:large`, or `:none`."
1293
1327
  },
1294
1328
  {
1295
1329
  "name": "system_arguments",
@@ -1300,28 +1334,28 @@
1300
1334
  ]
1301
1335
  },
1302
1336
  {
1303
- "component": "Blankslate",
1304
- "status": "beta",
1305
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/blankslate.rb",
1306
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/blankslate/default/",
1337
+ "component": "Layout",
1338
+ "status": "alpha",
1339
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/layout_component.rb",
1340
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/layout/default/",
1307
1341
  "parameters": [
1308
1342
  {
1309
- "name": "narrow",
1343
+ "name": "responsive",
1310
1344
  "type": "Boolean",
1311
1345
  "default": "`false`",
1312
- "description": "Adds a maximum width of `485px` to the Blankslate."
1346
+ "description": "Whether to collapse layout to a single column at smaller widths."
1313
1347
  },
1314
1348
  {
1315
- "name": "spacious",
1316
- "type": "Boolean",
1317
- "default": "`false`",
1318
- "description": "Increases the padding from `32px` to `80px 40px`."
1349
+ "name": "side",
1350
+ "type": "Symbol",
1351
+ "default": "`:right`",
1352
+ "description": "Which side to display the sidebar on. One of `:left` or `:right`."
1319
1353
  },
1320
1354
  {
1321
- "name": "border",
1322
- "type": "Boolean",
1323
- "default": "`false`",
1324
- "description": "Adds a border around the Blankslate."
1355
+ "name": "sidebar_col",
1356
+ "type": "Integer",
1357
+ "default": "`3`",
1358
+ "description": "Sidebar column width."
1325
1359
  },
1326
1360
  {
1327
1361
  "name": "system_arguments",
@@ -1332,16 +1366,40 @@
1332
1366
  ]
1333
1367
  },
1334
1368
  {
1335
- "component": "BorderBox",
1369
+ "component": "Link",
1336
1370
  "status": "beta",
1337
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/border_box.rb",
1338
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/border_box/default/",
1371
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/link.rb",
1372
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/link/default/",
1339
1373
  "parameters": [
1340
1374
  {
1341
- "name": "padding",
1375
+ "name": "tag",
1376
+ "type": "String",
1377
+ "default": "`:a`",
1378
+ "description": "One of `:a` or `:span`."
1379
+ },
1380
+ {
1381
+ "name": "href",
1382
+ "type": "String",
1383
+ "default": "`nil`",
1384
+ "description": "URL to be used for the Link. Required if tag is `:a`. If the requirements are not met an error will be raised in non production environments. In production, an empty link element will be rendered."
1385
+ },
1386
+ {
1387
+ "name": "scheme",
1342
1388
  "type": "Symbol",
1343
1389
  "default": "`:default`",
1344
- "description": "One of `:condensed`, `:default`, or `:spacious`."
1390
+ "description": "One of `:default`, `:primary`, or `:secondary`."
1391
+ },
1392
+ {
1393
+ "name": "muted",
1394
+ "type": "Boolean",
1395
+ "default": "`false`",
1396
+ "description": "Uses light gray for Link color, and blue on hover."
1397
+ },
1398
+ {
1399
+ "name": "underline",
1400
+ "type": "Boolean",
1401
+ "default": "`true`",
1402
+ "description": "Whether or not to underline the link."
1345
1403
  },
1346
1404
  {
1347
1405
  "name": "system_arguments",
@@ -1352,11 +1410,17 @@
1352
1410
  ]
1353
1411
  },
1354
1412
  {
1355
- "component": "BorderBox::Header",
1413
+ "component": "Markdown",
1356
1414
  "status": "beta",
1357
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/border_box/header.rb",
1358
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/border_box/header/default/",
1415
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/markdown.rb",
1416
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/markdown/default/",
1359
1417
  "parameters": [
1418
+ {
1419
+ "name": "tag",
1420
+ "type": "Symbol",
1421
+ "default": "`:div`",
1422
+ "description": "One of `:article`, `:div`, or `:td`."
1423
+ },
1360
1424
  {
1361
1425
  "name": "system_arguments",
1362
1426
  "type": "Hash",
@@ -1366,10 +1430,10 @@
1366
1430
  ]
1367
1431
  },
1368
1432
  {
1369
- "component": "Breadcrumbs",
1370
- "status": "beta",
1371
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/breadcrumbs.rb",
1372
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/breadcrumbs/default/",
1433
+ "component": "Menu",
1434
+ "status": "alpha",
1435
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/menu.rb",
1436
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/menu/default/",
1373
1437
  "parameters": [
1374
1438
  {
1375
1439
  "name": "system_arguments",
@@ -1380,46 +1444,46 @@
1380
1444
  ]
1381
1445
  },
1382
1446
  {
1383
- "component": "Button",
1384
- "status": "beta",
1385
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/button.rb",
1386
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/button/default/",
1447
+ "component": "Navigation::Tab",
1448
+ "status": "alpha",
1449
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/navigation/tab_component.rb",
1450
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/navigation/tab/default/",
1387
1451
  "parameters": [
1388
1452
  {
1389
- "name": "scheme",
1390
- "type": "Symbol",
1391
- "default": "`:default`",
1392
- "description": "One of `:danger`, `:default`, `:invisible`, `:link`, `:primary`, or `:secondary`."
1453
+ "name": "list",
1454
+ "type": "Boolean",
1455
+ "default": "`false`",
1456
+ "description": "Whether the Tab is an item in a `<ul>` list."
1393
1457
  },
1394
1458
  {
1395
- "name": "size",
1396
- "type": "Symbol",
1397
- "default": "`:medium`",
1398
- "description": "One of `:large`, `:medium`, or `:small`."
1459
+ "name": "selected",
1460
+ "type": "Boolean",
1461
+ "default": "`false`",
1462
+ "description": "Whether the Tab is selected or not."
1399
1463
  },
1400
1464
  {
1401
- "name": "block",
1465
+ "name": "with_panel",
1402
1466
  "type": "Boolean",
1403
1467
  "default": "`false`",
1404
- "description": "Whether button is full-width with `display: block`."
1468
+ "description": "Whether the Tab has an associated panel."
1405
1469
  },
1406
1470
  {
1407
- "name": "align_content",
1408
- "type": "Symbol",
1409
- "default": "`:center`",
1410
- "description": "One of `:center` or `:start`."
1471
+ "name": "panel_id",
1472
+ "type": "String",
1473
+ "default": "`\"\"`",
1474
+ "description": "Only applies if `with_panel` is `true`. Unique id of panel."
1411
1475
  },
1412
1476
  {
1413
- "name": "tag",
1414
- "type": "Symbol",
1415
- "default": "`:button`",
1416
- "description": "One of `:a`, `:button`, or `:summary`."
1477
+ "name": "icon_classes",
1478
+ "type": "Boolean",
1479
+ "default": "`\"\"`",
1480
+ "description": "Classes that must always be applied to icons."
1417
1481
  },
1418
1482
  {
1419
- "name": "type",
1420
- "type": "Symbol",
1421
- "default": "`:button`",
1422
- "description": "One of `:button`, `:reset`, or `:submit`."
1483
+ "name": "wrapper_arguments",
1484
+ "type": "Hash",
1485
+ "default": "`{}`",
1486
+ "description": "[System arguments](/system-arguments) to be used in the `<li>` wrapper when the tab is an item in a list."
1423
1487
  },
1424
1488
  {
1425
1489
  "name": "system_arguments",
@@ -1430,22 +1494,34 @@
1430
1494
  ]
1431
1495
  },
1432
1496
  {
1433
- "component": "ButtonGroup",
1497
+ "component": "Octicon",
1434
1498
  "status": "beta",
1435
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/button_group.rb",
1436
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/button_group/default/",
1499
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/octicon.rb",
1500
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/octicon/default/",
1437
1501
  "parameters": [
1438
1502
  {
1439
- "name": "variant",
1440
- "type": "Symbol",
1503
+ "name": "icon_name",
1504
+ "type": "Symbol, String",
1441
1505
  "default": "`nil`",
1442
- "description": "DEPRECATED. One of `:medium` or `:small`."
1506
+ "description": "Name of [Octicon](https://primer.style/octicons/) to use."
1507
+ },
1508
+ {
1509
+ "name": "icon",
1510
+ "type": "Symbol, String",
1511
+ "default": "`nil`",
1512
+ "description": "Name of [Octicon](https://primer.style/octicons/) to use."
1443
1513
  },
1444
1514
  {
1445
1515
  "name": "size",
1446
1516
  "type": "Symbol",
1447
- "default": "`:medium`",
1448
- "description": "One of `:medium` or `:small`."
1517
+ "default": "`:small`",
1518
+ "description": "One of `:xsmall` (`12`), `:small` (`16`), or `:medium` (`24`)."
1519
+ },
1520
+ {
1521
+ "name": "use_symbol",
1522
+ "type": "Boolean",
1523
+ "default": "`false`",
1524
+ "description": "EXPERIMENTAL (May change or be removed) - Set to true when using with [OcticonSymbols](/components/alpha/octiconsymbols)."
1449
1525
  },
1450
1526
  {
1451
1527
  "name": "system_arguments",
@@ -1456,29 +1532,11 @@
1456
1532
  ]
1457
1533
  },
1458
1534
  {
1459
- "component": "ClipboardCopy",
1460
- "status": "beta",
1461
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/clipboard_copy.rb",
1462
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/clipboard_copy/default/",
1463
- "parameters": [
1464
- {
1465
- "name": "aria-label",
1466
- "type": "String",
1467
- "default": "N/A",
1468
- "description": "String that will be read to screenreaders when the component is focused"
1469
- },
1470
- {
1471
- "name": "value",
1472
- "type": "String",
1473
- "default": "`nil`",
1474
- "description": "Text to copy into the users clipboard when they click the component."
1475
- },
1476
- {
1477
- "name": "for",
1478
- "type": "String",
1479
- "default": "N/A",
1480
- "description": "Element id from where to get the copied value."
1481
- },
1535
+ "component": "Popover",
1536
+ "status": "beta",
1537
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/popover.rb",
1538
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/popover/default/",
1539
+ "parameters": [
1482
1540
  {
1483
1541
  "name": "system_arguments",
1484
1542
  "type": "Hash",
@@ -1488,16 +1546,16 @@
1488
1546
  ]
1489
1547
  },
1490
1548
  {
1491
- "component": "CloseButton",
1549
+ "component": "ProgressBar",
1492
1550
  "status": "beta",
1493
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/close_button.rb",
1494
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/close_button/default/",
1551
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/progress_bar.rb",
1552
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/progress_bar/default/",
1495
1553
  "parameters": [
1496
1554
  {
1497
- "name": "type",
1555
+ "name": "size",
1498
1556
  "type": "Symbol",
1499
- "default": "`:button`",
1500
- "description": "One of `:button` or `:submit`."
1557
+ "default": "`:default`",
1558
+ "description": "One of `:default`, `:large`, or `:small`. Increases height."
1501
1559
  },
1502
1560
  {
1503
1561
  "name": "system_arguments",
@@ -1508,46 +1566,34 @@
1508
1566
  ]
1509
1567
  },
1510
1568
  {
1511
- "component": "Counter",
1569
+ "component": "State",
1512
1570
  "status": "beta",
1513
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/counter.rb",
1514
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/counter/default/",
1571
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/state.rb",
1572
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/state/default/",
1515
1573
  "parameters": [
1516
1574
  {
1517
- "name": "count",
1518
- "type": "Integer, Float::INFINITY, nil",
1519
- "default": "`0`",
1520
- "description": "The number to be displayed (e.x. # of issues, pull requests)"
1575
+ "name": "title",
1576
+ "type": "String",
1577
+ "default": "N/A",
1578
+ "description": "`title` HTML attribute."
1521
1579
  },
1522
1580
  {
1523
1581
  "name": "scheme",
1524
1582
  "type": "Symbol",
1525
1583
  "default": "`:default`",
1526
- "description": "Color scheme. One of `:default`, `:primary`, or `:secondary`."
1527
- },
1528
- {
1529
- "name": "limit",
1530
- "type": "Integer, nil",
1531
- "default": "`5_000`",
1532
- "description": "Maximum value to display. Pass `nil` for no limit. (e.x. if `count` == 6,000 and `limit` == 5000, counter will display \"5,000+\")"
1533
- },
1534
- {
1535
- "name": "hide_if_zero",
1536
- "type": "Boolean",
1537
- "default": "`false`",
1538
- "description": "If true, a `hidden` attribute is added to the counter if `count` is zero."
1584
+ "description": "Background color. One of `:closed`, `:default`, `:green`, `:merged`, `:open`, `:purple`, or `:red`."
1539
1585
  },
1540
1586
  {
1541
- "name": "text",
1542
- "type": "String",
1543
- "default": "`\"\"`",
1544
- "description": "Text to display instead of count."
1587
+ "name": "tag",
1588
+ "type": "Symbol",
1589
+ "default": "`:span`",
1590
+ "description": "HTML tag for element. One of `:div` or `:span`."
1545
1591
  },
1546
1592
  {
1547
- "name": "round",
1548
- "type": "Boolean",
1549
- "default": "`false`",
1550
- "description": "Whether to apply our standard rounding logic to value."
1593
+ "name": "size",
1594
+ "type": "Symbol",
1595
+ "default": "`:default`",
1596
+ "description": "One of `:default` or `:small`."
1551
1597
  },
1552
1598
  {
1553
1599
  "name": "system_arguments",
@@ -1558,22 +1604,22 @@
1558
1604
  ]
1559
1605
  },
1560
1606
  {
1561
- "component": "Details",
1607
+ "component": "Spinner",
1562
1608
  "status": "beta",
1563
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/details.rb",
1564
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/details/default/",
1609
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/spinner.rb",
1610
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/spinner/default/",
1565
1611
  "parameters": [
1566
1612
  {
1567
- "name": "overlay",
1613
+ "name": "size",
1568
1614
  "type": "Symbol",
1569
- "default": "`:none`",
1570
- "description": "Dictates the type of overlay to render with. One of `:dark`, `:default`, or `:none`."
1615
+ "default": "`:medium`",
1616
+ "description": "One of `[:large, 64]`, `[:medium, 32]`, or `[:small, 16]`."
1571
1617
  },
1572
1618
  {
1573
- "name": "reset",
1574
- "type": "Boolean",
1575
- "default": "`false`",
1576
- "description": "Defaults to false. If set to true, it will remove the default caret and remove style from the summary element"
1619
+ "name": "style",
1620
+ "type": "String",
1621
+ "default": "`box-sizing: content-box; color: var(--color-icon-primary);`",
1622
+ "description": "Custom element styles."
1577
1623
  },
1578
1624
  {
1579
1625
  "name": "system_arguments",
@@ -1584,40 +1630,22 @@
1584
1630
  ]
1585
1631
  },
1586
1632
  {
1587
- "component": "Flash",
1633
+ "component": "Subhead",
1588
1634
  "status": "beta",
1589
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/flash.rb",
1590
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/flash/default/",
1635
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/subhead.rb",
1636
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/subhead/default/",
1591
1637
  "parameters": [
1592
- {
1593
- "name": "full",
1594
- "type": "Boolean",
1595
- "default": "`false`",
1596
- "description": "Whether the component should take up the full width of the screen."
1597
- },
1598
1638
  {
1599
1639
  "name": "spacious",
1600
1640
  "type": "Boolean",
1601
1641
  "default": "`false`",
1602
- "description": "Whether to add margin to the bottom of the component."
1642
+ "description": "Whether to add spacing to the Subhead."
1603
1643
  },
1604
1644
  {
1605
- "name": "dismissible",
1645
+ "name": "hide_border",
1606
1646
  "type": "Boolean",
1607
1647
  "default": "`false`",
1608
- "description": "Whether the component can be dismissed with an X button."
1609
- },
1610
- {
1611
- "name": "icon",
1612
- "type": "Symbol",
1613
- "default": "`nil`",
1614
- "description": "Name of Octicon icon to use."
1615
- },
1616
- {
1617
- "name": "scheme",
1618
- "type": "Symbol",
1619
- "default": "`:default`",
1620
- "description": "One of `:danger`, `:default`, `:success`, or `:warning`."
1648
+ "description": "Whether to hide the border under the heading."
1621
1649
  },
1622
1650
  {
1623
1651
  "name": "system_arguments",
@@ -1628,17 +1656,11 @@
1628
1656
  ]
1629
1657
  },
1630
1658
  {
1631
- "component": "Heading",
1632
- "status": "beta",
1633
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/heading.rb",
1634
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/heading/default/",
1659
+ "component": "TabContainer",
1660
+ "status": "alpha",
1661
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tab_container.rb",
1662
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tab_container/default/",
1635
1663
  "parameters": [
1636
- {
1637
- "name": "tag",
1638
- "type": "String",
1639
- "default": "N/A",
1640
- "description": "One of `:h1`, `:h2`, `:h3`, `:h4`, `:h5`, or `:h6`."
1641
- },
1642
1664
  {
1643
1665
  "name": "system_arguments",
1644
1666
  "type": "Hash",
@@ -1648,70 +1670,16 @@
1648
1670
  ]
1649
1671
  },
1650
1672
  {
1651
- "component": "IconButton",
1673
+ "component": "Text",
1652
1674
  "status": "beta",
1653
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/icon_button.rb",
1654
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/icon_button/default/",
1675
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/text.rb",
1676
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/text/default/",
1655
1677
  "parameters": [
1656
- {
1657
- "name": "icon",
1658
- "type": "String",
1659
- "default": "N/A",
1660
- "description": "Name of [Octicon](https://primer.style/octicons/) to use."
1661
- },
1662
- {
1663
- "name": "wrapper_arguments",
1664
- "type": "Hash",
1665
- "default": "`{}`",
1666
- "description": "Optional keyword arguments to be passed to the wrapper `<div>` tag."
1667
- },
1668
- {
1669
- "name": "scheme",
1670
- "type": "Symbol",
1671
- "default": "`:default`",
1672
- "description": "One of `:danger`, `:default`, or `:invisible`."
1673
- },
1674
- {
1675
- "name": "size",
1676
- "type": "Symbol",
1677
- "default": "`:medium`",
1678
- "description": "One of `:large`, `:medium`, or `:small`."
1679
- },
1680
1678
  {
1681
1679
  "name": "tag",
1682
1680
  "type": "Symbol",
1683
- "default": "N/A",
1684
- "description": "One of `:a`, `:button`, or `:summary`."
1685
- },
1686
- {
1687
- "name": "type",
1688
- "type": "Symbol",
1689
- "default": "N/A",
1690
- "description": "One of `:button`, `:reset`, or `:submit`."
1691
- },
1692
- {
1693
- "name": "aria-label",
1694
- "type": "String",
1695
- "default": "N/A",
1696
- "description": "String that can be read by assistive technology. A label should be short and concise. See the accessibility section for more information."
1697
- },
1698
- {
1699
- "name": "aria-description",
1700
- "type": "String",
1701
- "default": "N/A",
1702
- "description": "String that can be read by assistive technology. A description can be longer as it is intended to provide more context and information. See the accessibility section for more information."
1703
- },
1704
- {
1705
- "name": "show_tooltip",
1706
- "type": "Boolean",
1707
- "default": "`true`",
1708
- "description": "Whether or not to show a tooltip when this button is hovered. Tooltips should only be hidden if the aria label is redundant, i.e. if the icon has a widely understood definition."
1709
- },
1710
- {
1711
- "name": "tooltip_direction",
1712
- "type": "Symbol",
1713
- "default": "`:s`",
1714
- "description": "One of `:e`, `:n`, `:ne`, `:nw`, `:s`, `:se`, `:sw`, or `:w`."
1681
+ "default": "`:span`",
1682
+ "description": ""
1715
1683
  },
1716
1684
  {
1717
1685
  "name": "system_arguments",
@@ -1722,40 +1690,16 @@
1722
1690
  ]
1723
1691
  },
1724
1692
  {
1725
- "component": "Label",
1693
+ "component": "TimelineItem",
1726
1694
  "status": "beta",
1727
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/label.rb",
1728
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/label/default/",
1695
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/timeline_item.rb",
1696
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/timeline_item/default/",
1729
1697
  "parameters": [
1730
1698
  {
1731
- "name": "tag",
1732
- "type": "Symbol",
1733
- "default": "`:span`",
1734
- "description": "One of `:a`, `:div`, `:span`, or `:summary`."
1735
- },
1736
- {
1737
- "name": "scheme",
1738
- "type": "Symbol",
1739
- "default": "`:default`",
1740
- "description": "One of `:accent`, `:attention`, `:danger`, `:default`, `:done`, `:info`, `:orange`, `:primary`, `:purple`, `:secondary`, `:severe`, `:sponsors`, `:success`, or `:warning`."
1741
- },
1742
- {
1743
- "name": "size",
1744
- "type": "Symbol",
1745
- "default": "`:medium`",
1746
- "description": "One of `:large` or `:medium`."
1747
- },
1748
- {
1749
- "name": "inline",
1699
+ "name": "condensed",
1750
1700
  "type": "Boolean",
1751
1701
  "default": "`false`",
1752
- "description": "Whether or not to render this label inline."
1753
- },
1754
- {
1755
- "name": "variant",
1756
- "type": "Symbol",
1757
- "default": "`:none`",
1758
- "description": "One of `:inline`, `:large`, or `:none`."
1702
+ "description": "Reduce the vertical padding and remove the background from the badge item. Most commonly used in commits."
1759
1703
  },
1760
1704
  {
1761
1705
  "name": "system_arguments",
@@ -1766,40 +1710,40 @@
1766
1710
  ]
1767
1711
  },
1768
1712
  {
1769
- "component": "Link",
1770
- "status": "beta",
1771
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/link.rb",
1772
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/link/default/",
1713
+ "component": "Tooltip",
1714
+ "status": "deprecated",
1715
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/tooltip.rb",
1716
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/tooltip/default/",
1773
1717
  "parameters": [
1774
1718
  {
1775
- "name": "tag",
1719
+ "name": "label",
1776
1720
  "type": "String",
1777
- "default": "`:a`",
1778
- "description": "One of `:a` or `:span`."
1721
+ "default": "N/A",
1722
+ "description": "the text to appear in the tooltip"
1779
1723
  },
1780
1724
  {
1781
- "name": "href",
1725
+ "name": "direction",
1782
1726
  "type": "String",
1783
- "default": "`nil`",
1784
- "description": "URL to be used for the Link. Required if tag is `:a`. If the requirements are not met an error will be raised in non production environments. In production, an empty link element will be rendered."
1727
+ "default": "`:n`",
1728
+ "description": "Direction of the tooltip. One of `:e`, `:n`, `:ne`, `:nw`, `:s`, `:se`, `:sw`, or `:w`."
1785
1729
  },
1786
1730
  {
1787
- "name": "scheme",
1788
- "type": "Symbol",
1731
+ "name": "align",
1732
+ "type": "String",
1789
1733
  "default": "`:default`",
1790
- "description": "One of `:default`, `:primary`, or `:secondary`."
1734
+ "description": "Align tooltips to the left or right of an element, combined with a `direction` to specify north or south. One of `:default`, `:left_1`, `:left_2`, `:right_1`, or `:right_2`."
1791
1735
  },
1792
1736
  {
1793
- "name": "muted",
1737
+ "name": "multiline",
1794
1738
  "type": "Boolean",
1795
1739
  "default": "`false`",
1796
- "description": "Uses light gray for Link color, and blue on hover."
1740
+ "description": "Use this when you have long content"
1797
1741
  },
1798
1742
  {
1799
- "name": "underline",
1743
+ "name": "no_delay",
1800
1744
  "type": "Boolean",
1801
- "default": "`true`",
1802
- "description": "Whether or not to underline the link."
1745
+ "default": "`false`",
1746
+ "description": "By default the tooltips have a slight delay before appearing. Set true to override this"
1803
1747
  },
1804
1748
  {
1805
1749
  "name": "system_arguments",
@@ -1810,54 +1754,34 @@
1810
1754
  ]
1811
1755
  },
1812
1756
  {
1813
- "component": "Markdown",
1757
+ "component": "Truncate",
1814
1758
  "status": "beta",
1815
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/markdown.rb",
1816
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/markdown/default/",
1759
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/truncate.rb",
1760
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/truncate/default/",
1817
1761
  "parameters": [
1818
1762
  {
1819
1763
  "name": "tag",
1820
1764
  "type": "Symbol",
1821
1765
  "default": "`:div`",
1822
- "description": "One of `:article`, `:div`, or `:td`."
1823
- },
1824
- {
1825
- "name": "system_arguments",
1826
- "type": "Hash",
1827
- "default": "N/A",
1828
- "description": "[System arguments](/system-arguments)"
1829
- }
1830
- ]
1831
- },
1832
- {
1833
- "component": "Octicon",
1834
- "status": "beta",
1835
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/octicon.rb",
1836
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/octicon/default/",
1837
- "parameters": [
1838
- {
1839
- "name": "icon_name",
1840
- "type": "Symbol, String",
1841
- "default": "`nil`",
1842
- "description": "Name of [Octicon](https://primer.style/octicons/) to use."
1843
- },
1844
- {
1845
- "name": "icon",
1846
- "type": "Symbol, String",
1847
- "default": "`nil`",
1848
- "description": "Name of [Octicon](https://primer.style/octicons/) to use."
1766
+ "description": "One of `:div`, `:p`, `:span`, or `:strong`."
1849
1767
  },
1850
1768
  {
1851
- "name": "size",
1852
- "type": "Symbol",
1853
- "default": "`:small`",
1854
- "description": "One of `:xsmall` (`12`), `:small` (`16`), or `:medium` (`24`)."
1769
+ "name": "inline",
1770
+ "type": "Boolean",
1771
+ "default": "`false`",
1772
+ "description": "Whether the element is inline (or inline-block)."
1855
1773
  },
1856
1774
  {
1857
- "name": "use_symbol",
1775
+ "name": "expandable",
1858
1776
  "type": "Boolean",
1859
1777
  "default": "`false`",
1860
- "description": "EXPERIMENTAL (May change or be removed) - Set to true when using with [OcticonSymbols](/components/alpha/octiconsymbols)."
1778
+ "description": "Whether the entire string should be revealed on hover. Can only be used in conjunction with `inline`."
1779
+ },
1780
+ {
1781
+ "name": "max_width",
1782
+ "type": "Integer",
1783
+ "default": "`nil`",
1784
+ "description": "Sets the max-width of the text."
1861
1785
  },
1862
1786
  {
1863
1787
  "name": "system_arguments",
@@ -1868,10 +1792,10 @@
1868
1792
  ]
1869
1793
  },
1870
1794
  {
1871
- "component": "Popover",
1795
+ "component": "Truncate",
1872
1796
  "status": "beta",
1873
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/popover.rb",
1874
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/popover/default/",
1797
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/truncate.rb",
1798
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/truncate/default/",
1875
1799
  "parameters": [
1876
1800
  {
1877
1801
  "name": "system_arguments",
@@ -1882,16 +1806,34 @@
1882
1806
  ]
1883
1807
  },
1884
1808
  {
1885
- "component": "ProgressBar",
1886
- "status": "beta",
1887
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/progress_bar.rb",
1888
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/progress_bar/default/",
1809
+ "component": "UnderlineNav",
1810
+ "status": "alpha",
1811
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/underline_nav.rb",
1812
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/underline_nav/default/",
1889
1813
  "parameters": [
1890
1814
  {
1891
- "name": "size",
1815
+ "name": "tag",
1892
1816
  "type": "Symbol",
1893
- "default": "`:default`",
1894
- "description": "One of `:default`, `:large`, or `:small`. Increases height."
1817
+ "default": "`:nav`",
1818
+ "description": "One of `:div` or `:nav`."
1819
+ },
1820
+ {
1821
+ "name": "label",
1822
+ "type": "String",
1823
+ "default": "N/A",
1824
+ "description": "Sets an `aria-label` that helps assistive technology users understand the purpose of the links, and distinguish it from similar elements."
1825
+ },
1826
+ {
1827
+ "name": "align",
1828
+ "type": "Symbol",
1829
+ "default": "`:left`",
1830
+ "description": "One of `:left` or `:right`. - Defaults to left"
1831
+ },
1832
+ {
1833
+ "name": "body_arguments",
1834
+ "type": "Hash",
1835
+ "default": "`{}`",
1836
+ "description": "[System arguments](/system-arguments) for the body wrapper."
1895
1837
  },
1896
1838
  {
1897
1839
  "name": "system_arguments",
@@ -1902,112 +1844,142 @@
1902
1844
  ]
1903
1845
  },
1904
1846
  {
1905
- "component": "RelativeTime",
1906
- "status": "beta",
1907
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/relative_time.rb",
1908
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/relative_time/default/",
1847
+ "component": "UnderlinePanels",
1848
+ "status": "alpha",
1849
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/underline_panels.rb",
1850
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/underline_panels/default/",
1909
1851
  "parameters": [
1910
1852
  {
1911
- "name": "datetime",
1912
- "type": "Time",
1853
+ "name": "label",
1854
+ "type": "String",
1913
1855
  "default": "N/A",
1914
- "description": "The time to be formatted."
1856
+ "description": "Sets an `aria-label` that helps assistive technology users understand the purpose of the tabs."
1915
1857
  },
1916
1858
  {
1917
- "name": "tense",
1859
+ "name": "align",
1918
1860
  "type": "Symbol",
1919
- "default": "`:auto`",
1920
- "description": "Which tense to use. One of `:auto`, `:future`, or `:past`."
1861
+ "default": "`:left`",
1862
+ "description": "One of `:left` or `:right`. - Defaults to left"
1921
1863
  },
1922
1864
  {
1923
- "name": "prefix",
1924
- "type": "sring",
1925
- "default": "`nil`",
1926
- "description": "What to prefix the relative ime display with."
1865
+ "name": "body_arguments",
1866
+ "type": "Hash",
1867
+ "default": "`{}`",
1868
+ "description": "[System arguments](/system-arguments) for the body wrapper."
1927
1869
  },
1928
1870
  {
1929
- "name": "second",
1930
- "type": "Symbol",
1931
- "default": "`SECOND_DEFAULT`",
1932
- "description": "What format seconds should take. One of `nil`, `:numeric`, or `:two_digit`."
1871
+ "name": "wrapper_arguments",
1872
+ "type": "Hash",
1873
+ "default": "`{}`",
1874
+ "description": "[System arguments](/system-arguments) for the `TabContainer` wrapper."
1933
1875
  },
1934
1876
  {
1935
- "name": "minute",
1936
- "type": "Symbol",
1937
- "default": "`MINUTE_DEFAULT`",
1938
- "description": "What format minues should take. One of `nil`, `:numeric`, or `:two_digit`."
1939
- },
1877
+ "name": "system_arguments",
1878
+ "type": "Hash",
1879
+ "default": "N/A",
1880
+ "description": "[System arguments](/system-arguments)"
1881
+ }
1882
+ ]
1883
+ },
1884
+ {
1885
+ "component": "TabNav",
1886
+ "status": "alpha",
1887
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tab_nav.rb",
1888
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tab_nav/default/",
1889
+ "parameters": [
1940
1890
  {
1941
- "name": "hour",
1891
+ "name": "tag",
1942
1892
  "type": "Symbol",
1943
- "default": "`HOUR_DEFAULT`",
1944
- "description": "What format hours should take. One of `nil`, `:numeric`, or `:two_digit`."
1893
+ "default": "`:nav`",
1894
+ "description": "One of `:div` or `:nav`."
1945
1895
  },
1946
1896
  {
1947
- "name": "weekday",
1948
- "type": "Symbol",
1949
- "default": "`WEEKDAY_DEFAULT`",
1950
- "description": "What format weekdays should take. One of `nil`, `:long`, `:narrow`, or `:short`."
1897
+ "name": "label",
1898
+ "type": "String",
1899
+ "default": "N/A",
1900
+ "description": "Sets an `aria-label` that helps assistive technology users understand the purpose of the links, and distinguish it from similar elements."
1951
1901
  },
1952
1902
  {
1953
- "name": "day",
1954
- "type": "Symbol",
1955
- "default": "`DAY_DEFAULT`",
1956
- "description": "What format days should take. One of `nil`, `:numeric`, or `:two_digit`."
1903
+ "name": "body_arguments",
1904
+ "type": "Hash",
1905
+ "default": "`{}`",
1906
+ "description": "[System arguments](/system-arguments) for the body wrapper."
1957
1907
  },
1958
1908
  {
1959
- "name": "month",
1960
- "type": "Symbol",
1961
- "default": "`MONTH_DEFAULT`",
1962
- "description": "What format months should take. One of `nil`, `:long`, `:narrow`, `:numeric`, `:short`, or `:two_digit`."
1963
- },
1909
+ "name": "system_arguments",
1910
+ "type": "Hash",
1911
+ "default": "N/A",
1912
+ "description": "[System arguments](/system-arguments)"
1913
+ }
1914
+ ]
1915
+ },
1916
+ {
1917
+ "component": "TabPanels",
1918
+ "status": "alpha",
1919
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tab_panels.rb",
1920
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tab_panels/default/",
1921
+ "parameters": [
1964
1922
  {
1965
- "name": "year",
1966
- "type": "Symbol",
1967
- "default": "`YEAR_DEFAULT`",
1968
- "description": "What format years should take. One of `nil`, `:numeric`, or `:two_digit`."
1923
+ "name": "label",
1924
+ "type": "String",
1925
+ "default": "N/A",
1926
+ "description": "Sets an `aria-label` that helps assistive technology users understand the purpose of the tabs."
1969
1927
  },
1970
1928
  {
1971
- "name": "time_zone_name",
1929
+ "name": "align",
1972
1930
  "type": "Symbol",
1973
- "default": "`TIMEZONENAME_DEFAULT`",
1974
- "description": "What format the time zone should take. One of `nil`, `:long`, `:long_generic`, `:long_offset`, `:short`, `:short_generic`, or `:short_offset`."
1931
+ "default": "N/A",
1932
+ "description": "One of `:left` or `:right`. - Defaults to left"
1975
1933
  },
1976
1934
  {
1977
- "name": "threshold",
1978
- "type": "string",
1979
- "default": "`nil`",
1980
- "description": "The threshold, in ISO-8601 'durations' format, at which relative time displays become absolute."
1935
+ "name": "body_arguments",
1936
+ "type": "Hash",
1937
+ "default": "`{}`",
1938
+ "description": "[System arguments](/system-arguments) for the body wrapper."
1981
1939
  },
1982
1940
  {
1983
- "name": "precision",
1984
- "type": "Symbol",
1985
- "default": "`PRECISION_DEFAULT`",
1986
- "description": "The precision elapsed time should display. One of `nil`, `:day`, `:hour`, `:minute`, `:month`, `:second`, or `:year`."
1941
+ "name": "wrapper_arguments",
1942
+ "type": "Hash",
1943
+ "default": "`{}`",
1944
+ "description": "[System arguments](/system-arguments) for the `TabContainer` wrapper."
1987
1945
  },
1988
1946
  {
1989
- "name": "format",
1990
- "type": "Symbol",
1991
- "default": "`nil`",
1992
- "description": "The format the display should take. One of `:auto`, `:elapsed`, or `:micro`."
1947
+ "name": "system_arguments",
1948
+ "type": "Hash",
1949
+ "default": "N/A",
1950
+ "description": "[System arguments](/system-arguments)"
1951
+ }
1952
+ ]
1953
+ },
1954
+ {
1955
+ "component": "Tooltip",
1956
+ "status": "alpha",
1957
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tooltip.rb",
1958
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/tooltip/default/",
1959
+ "parameters": [
1960
+ {
1961
+ "name": "for_id",
1962
+ "type": "String",
1963
+ "default": "N/A",
1964
+ "description": "The ID of the element that the tooltip should be attached to."
1993
1965
  },
1994
1966
  {
1995
- "name": "format_style",
1967
+ "name": "type",
1996
1968
  "type": "Symbol",
1997
- "default": "`nil`",
1998
- "description": "The format the display should take. One of `nil`, `:long`, `:narrow`, or `:short`."
1969
+ "default": "N/A",
1970
+ "description": "One of `:description` or `:label`."
1999
1971
  },
2000
1972
  {
2001
- "name": "lang",
2002
- "type": "string",
2003
- "default": "`nil`",
2004
- "description": "The language to use."
1973
+ "name": "direction",
1974
+ "type": "Symbol",
1975
+ "default": "`:s`",
1976
+ "description": "One of `:e`, `:n`, `:ne`, `:nw`, `:s`, `:se`, `:sw`, or `:w`."
2005
1977
  },
2006
1978
  {
2007
- "name": "title",
2008
- "type": "string",
2009
- "default": "`nil`",
2010
- "description": "Provide a custom title to the element."
1979
+ "name": "text",
1980
+ "type": "String",
1981
+ "default": "N/A",
1982
+ "description": "The text content of the tooltip. This should be brief and no longer than a sentence."
2011
1983
  },
2012
1984
  {
2013
1985
  "name": "system_arguments",
@@ -2018,22 +1990,46 @@
2018
1990
  ]
2019
1991
  },
2020
1992
  {
2021
- "component": "Spinner",
2022
- "status": "beta",
2023
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/spinner.rb",
2024
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/spinner/default/",
1993
+ "component": "ToggleSwitch",
1994
+ "status": "alpha",
1995
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/toggle_switch.rb",
1996
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/toggle_switch/default/",
2025
1997
  "parameters": [
1998
+ {
1999
+ "name": "src",
2000
+ "type": "String",
2001
+ "default": "`nil`",
2002
+ "description": "The URL to POST to when the toggle switch is toggled. If `nil`, the toggle switch will not make any requests."
2003
+ },
2004
+ {
2005
+ "name": "csrf_token",
2006
+ "type": "String",
2007
+ "default": "`nil`",
2008
+ "description": "A CSRF token that will be sent to the server as \"authenticity_token\" when the toggle switch is toggled. Unused if `src` is `nil`."
2009
+ },
2010
+ {
2011
+ "name": "checked",
2012
+ "type": "Boolean",
2013
+ "default": "`false`",
2014
+ "description": "Whether the toggle switch is on or off."
2015
+ },
2016
+ {
2017
+ "name": "enabled",
2018
+ "type": "Boolean",
2019
+ "default": "`true`",
2020
+ "description": "Whether or not the toggle switch responds to user input."
2021
+ },
2026
2022
  {
2027
2023
  "name": "size",
2028
2024
  "type": "Symbol",
2029
2025
  "default": "`:medium`",
2030
- "description": "One of `[:large, 64]`, `[:medium, 32]`, or `[:small, 16]`."
2026
+ "description": "What size toggle switch to render. One of `:end` or `:start`."
2031
2027
  },
2032
2028
  {
2033
- "name": "style",
2034
- "type": "String",
2035
- "default": "`box-sizing: content-box; color: var(--color-icon-primary);`",
2036
- "description": "Custom element styles."
2029
+ "name": "status_label_position",
2030
+ "type": "Symbol",
2031
+ "default": "`:start`",
2032
+ "description": "Which side of the toggle switch to render the status label. One of `:medium` or `:small`."
2037
2033
  },
2038
2034
  {
2039
2035
  "name": "system_arguments",
@@ -2044,34 +2040,16 @@
2044
2040
  ]
2045
2041
  },
2046
2042
  {
2047
- "component": "State",
2048
- "status": "beta",
2049
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/state.rb",
2050
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/state/default/",
2043
+ "component": "NavList",
2044
+ "status": "alpha",
2045
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list.rb",
2046
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/default/",
2051
2047
  "parameters": [
2052
2048
  {
2053
- "name": "title",
2054
- "type": "String",
2055
- "default": "N/A",
2056
- "description": "`title` HTML attribute."
2057
- },
2058
- {
2059
- "name": "scheme",
2060
- "type": "Symbol",
2061
- "default": "`:default`",
2062
- "description": "Background color. One of `:closed`, `:default`, `:green`, `:merged`, `:open`, `:purple`, or `:red`."
2063
- },
2064
- {
2065
- "name": "tag",
2066
- "type": "Symbol",
2067
- "default": "`:span`",
2068
- "description": "HTML tag for element. One of `:div` or `:span`."
2069
- },
2070
- {
2071
- "name": "size",
2049
+ "name": "selected_item_id",
2072
2050
  "type": "Symbol",
2073
- "default": "`:default`",
2074
- "description": "One of `:default` or `:small`."
2051
+ "default": "`nil`",
2052
+ "description": "The ID of the currently selected item. The default is `nil`, meaning no item is selected."
2075
2053
  },
2076
2054
  {
2077
2055
  "name": "system_arguments",
@@ -2082,22 +2060,34 @@
2082
2060
  ]
2083
2061
  },
2084
2062
  {
2085
- "component": "Subhead",
2086
- "status": "beta",
2087
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/subhead.rb",
2088
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/subhead/default/",
2063
+ "component": "NavList::Item",
2064
+ "status": "alpha",
2065
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/item.rb",
2066
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/item/default/",
2089
2067
  "parameters": [
2090
2068
  {
2091
- "name": "spacious",
2069
+ "name": "selected_item_id",
2070
+ "type": "Symbol",
2071
+ "default": "`nil`",
2072
+ "description": "The ID of the currently selected list item. Used internally."
2073
+ },
2074
+ {
2075
+ "name": "selected_by_ids",
2076
+ "type": "Array<Symbol>",
2077
+ "default": "`[]`",
2078
+ "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."
2079
+ },
2080
+ {
2081
+ "name": "expanded",
2092
2082
  "type": "Boolean",
2093
2083
  "default": "`false`",
2094
- "description": "Whether to add spacing to the Subhead."
2084
+ "description": "Whether this item shows (expands) or hides (collapses) its list of sub items."
2095
2085
  },
2096
2086
  {
2097
- "name": "hide_border",
2087
+ "name": "sub_item",
2098
2088
  "type": "Boolean",
2099
2089
  "default": "`false`",
2100
- "description": "Whether to hide the border under the heading."
2090
+ "description": "Whether or not this item is nested under a parent item. Used internally."
2101
2091
  },
2102
2092
  {
2103
2093
  "name": "system_arguments",
@@ -2108,16 +2098,16 @@
2108
2098
  ]
2109
2099
  },
2110
2100
  {
2111
- "component": "Text",
2112
- "status": "beta",
2113
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/text.rb",
2114
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/text/default/",
2101
+ "component": "NavList::Section",
2102
+ "status": "alpha",
2103
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/nav_list/section.rb",
2104
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/nav_list/section/default/",
2115
2105
  "parameters": [
2116
2106
  {
2117
- "name": "tag",
2107
+ "name": "selected_item_id",
2118
2108
  "type": "Symbol",
2119
- "default": "`:span`",
2120
- "description": ""
2109
+ "default": "`nil`",
2110
+ "description": "The ID of the currently selected item. Used internally."
2121
2111
  },
2122
2112
  {
2123
2113
  "name": "system_arguments",
@@ -2128,16 +2118,34 @@
2128
2118
  ]
2129
2119
  },
2130
2120
  {
2131
- "component": "TimelineItem",
2132
- "status": "beta",
2133
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/timeline_item.rb",
2134
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/timeline_item/default/",
2121
+ "component": "ActionList",
2122
+ "status": "alpha",
2123
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list.rb",
2124
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/default/",
2135
2125
  "parameters": [
2136
2126
  {
2137
- "name": "condensed",
2127
+ "name": "role",
2128
+ "type": "Boolean",
2129
+ "default": "`:list`",
2130
+ "description": "ARIA role describing the function of the list. listbox and menu are a common values."
2131
+ },
2132
+ {
2133
+ "name": "item_classes",
2134
+ "type": "String",
2135
+ "default": "`nil`",
2136
+ "description": "Additional CSS classes to attach to items."
2137
+ },
2138
+ {
2139
+ "name": "scheme",
2140
+ "type": "Symbol",
2141
+ "default": "`:full`",
2142
+ "description": "One of `:full` or `:inset`.. `inset` children are offset (vertically and horizontally) from list edges. `full` (default) children are flush (vertically and horizontally) with list edges."
2143
+ },
2144
+ {
2145
+ "name": "show_dividers",
2138
2146
  "type": "Boolean",
2139
2147
  "default": "`false`",
2140
- "description": "Reduce the vertical padding and remove the background from the badge item. Most commonly used in commits."
2148
+ "description": "Display a divider above each item in the list when it does not follow a header or divider."
2141
2149
  },
2142
2150
  {
2143
2151
  "name": "system_arguments",
@@ -2148,11 +2156,17 @@
2148
2156
  ]
2149
2157
  },
2150
2158
  {
2151
- "component": "Truncate",
2152
- "status": "beta",
2153
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/truncate.rb",
2154
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/beta/truncate/default/",
2159
+ "component": "ActionList::Divider",
2160
+ "status": "alpha",
2161
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list/divider.rb",
2162
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/divider/default/",
2155
2163
  "parameters": [
2164
+ {
2165
+ "name": "scheme",
2166
+ "type": "Symbol",
2167
+ "default": "`:subtle`",
2168
+ "description": "Display a background color if scheme is `filled`."
2169
+ },
2156
2170
  {
2157
2171
  "name": "system_arguments",
2158
2172
  "type": "Hash",
@@ -2162,11 +2176,41 @@
2162
2176
  ]
2163
2177
  },
2164
2178
  {
2165
- "component": "Box",
2166
- "status": "stable",
2167
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/box.rb",
2168
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/box/default/",
2179
+ "component": "ActionList::Heading",
2180
+ "status": "alpha",
2181
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list/heading.rb",
2182
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/heading/default/",
2169
2183
  "parameters": [
2184
+ {
2185
+ "name": "list_id",
2186
+ "type": "String",
2187
+ "default": "N/A",
2188
+ "description": "The unique identifier of the sub list the heading belongs to. Used internally."
2189
+ },
2190
+ {
2191
+ "name": "title",
2192
+ "type": "String",
2193
+ "default": "N/A",
2194
+ "description": "Sub list title."
2195
+ },
2196
+ {
2197
+ "name": "subtitle",
2198
+ "type": "String",
2199
+ "default": "`nil`",
2200
+ "description": "Optional sub list description."
2201
+ },
2202
+ {
2203
+ "name": "scheme",
2204
+ "type": "Symbol",
2205
+ "default": "`:subtle`",
2206
+ "description": "Display a background color if scheme is `filled`."
2207
+ },
2208
+ {
2209
+ "name": "tag",
2210
+ "type": "Symbol",
2211
+ "default": "`:h3`",
2212
+ "description": "Semantic tag for the heading."
2213
+ },
2170
2214
  {
2171
2215
  "name": "system_arguments",
2172
2216
  "type": "Hash",
@@ -2176,58 +2220,100 @@
2176
2220
  ]
2177
2221
  },
2178
2222
  {
2179
- "component": "Button",
2180
- "status": "deprecated",
2181
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/button_component.rb",
2182
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/button/default/",
2223
+ "component": "ActionList::Item",
2224
+ "status": "alpha",
2225
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/action_list/item.rb",
2226
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/action_list/item/default/",
2183
2227
  "parameters": [
2184
2228
  {
2185
- "name": "scheme",
2186
- "type": "Symbol",
2187
- "default": "`:default`",
2188
- "description": "One of `:danger`, `:default`, `:invisible`, `:link`, `:outline`, or `:primary`."
2229
+ "name": "list",
2230
+ "type": "Primer::Alpha::ActionList",
2231
+ "default": "N/A",
2232
+ "description": "The list that contains this item. Used internally."
2189
2233
  },
2190
2234
  {
2191
- "name": "variant",
2192
- "type": "Symbol",
2235
+ "name": "parent",
2236
+ "type": "Primer::Alpha::ActionList::Item",
2193
2237
  "default": "`nil`",
2194
- "description": "DEPRECATED. One of `:medium` or `:small`."
2238
+ "description": "This item's parent item. `nil` if this item is at the root. Used internally."
2239
+ },
2240
+ {
2241
+ "name": "label",
2242
+ "type": "String",
2243
+ "default": "N/A",
2244
+ "description": "Item label."
2245
+ },
2246
+ {
2247
+ "name": "label_classes",
2248
+ "type": "String",
2249
+ "default": "`nil`",
2250
+ "description": "CSS classes that will be added to the label."
2251
+ },
2252
+ {
2253
+ "name": "content_arguments",
2254
+ "type": "Hash",
2255
+ "default": "`{}`",
2256
+ "description": "[System arguments](/system-arguments) used to construct the item's anchor or button tag."
2257
+ },
2258
+ {
2259
+ "name": "truncate_label",
2260
+ "type": "Boolean",
2261
+ "default": "`false`",
2262
+ "description": "Truncate label with ellipsis."
2263
+ },
2264
+ {
2265
+ "name": "href",
2266
+ "type": "String",
2267
+ "default": "`nil`",
2268
+ "description": "Link URL."
2269
+ },
2270
+ {
2271
+ "name": "role",
2272
+ "type": "String",
2273
+ "default": "`:listitem`",
2274
+ "description": "ARIA role describing the function of the item."
2195
2275
  },
2196
2276
  {
2197
2277
  "name": "size",
2198
2278
  "type": "Symbol",
2199
2279
  "default": "`:medium`",
2200
- "description": "One of `:medium` or `:small`."
2280
+ "description": "Controls block sizing of the item."
2201
2281
  },
2202
2282
  {
2203
- "name": "tag",
2283
+ "name": "scheme",
2204
2284
  "type": "Symbol",
2205
- "default": "`:button`",
2206
- "description": "One of `:a`, `:button`, or `:summary`."
2285
+ "default": "`:default`",
2286
+ "description": "Controls color/style based on behavior."
2207
2287
  },
2208
2288
  {
2209
- "name": "type",
2289
+ "name": "disabled",
2290
+ "type": "Boolean",
2291
+ "default": "`false`",
2292
+ "description": "Disabled items are not clickable and visually dim."
2293
+ },
2294
+ {
2295
+ "name": "description_scheme",
2210
2296
  "type": "Symbol",
2211
- "default": "`:button`",
2212
- "description": "One of `:button`, `:reset`, or `:submit`."
2297
+ "default": "`:block`",
2298
+ "description": "Display description inline with label, or block on the next line."
2213
2299
  },
2214
2300
  {
2215
- "name": "group_item",
2301
+ "name": "active",
2216
2302
  "type": "Boolean",
2217
2303
  "default": "`false`",
2218
- "description": "Whether button is part of a ButtonGroup."
2304
+ "description": "Sets an active state on navigational items."
2219
2305
  },
2220
2306
  {
2221
- "name": "block",
2222
- "type": "Boolean",
2223
- "default": "`false`",
2224
- "description": "Whether button is full-width with `display: block`."
2307
+ "name": "on_click",
2308
+ "type": "String",
2309
+ "default": "`nil`",
2310
+ "description": "JavaScript to execute when the item is clicked."
2225
2311
  },
2226
2312
  {
2227
- "name": "dropdown",
2228
- "type": "Boolean",
2229
- "default": "`false`",
2230
- "description": "Whether or not to render a dropdown caret."
2313
+ "name": "id",
2314
+ "type": "String",
2315
+ "default": "`self.class.generate_id`",
2316
+ "description": "Used internally."
2231
2317
  },
2232
2318
  {
2233
2319
  "name": "system_arguments",
@@ -2238,228 +2324,172 @@
2238
2324
  ]
2239
2325
  },
2240
2326
  {
2241
- "component": "IconButton",
2242
- "status": "deprecated",
2243
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/icon_button.rb",
2244
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/icon_button/default/",
2327
+ "component": "TextField",
2328
+ "status": "alpha",
2329
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/text_field.rb",
2330
+ "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/alpha/text_field/default/",
2245
2331
  "parameters": [
2246
2332
  {
2247
- "name": "scheme",
2333
+ "name": "size",
2248
2334
  "type": "Symbol",
2249
- "default": "`:default`",
2250
- "description": "One of `:danger` or `:default`."
2335
+ "default": "N/A",
2336
+ "description": "The size of the field. One of `:large`, `:medium`, or `:small`."
2251
2337
  },
2252
2338
  {
2253
- "name": "icon",
2254
- "type": "String",
2339
+ "name": "full_width",
2340
+ "type": "Boolean",
2255
2341
  "default": "N/A",
2256
- "description": "Name of [Octicon](https://primer.style/octicons/) to use."
2342
+ "description": "When set to `true`, the field will take up all the horizontal space allowed by its container."
2257
2343
  },
2258
2344
  {
2259
- "name": "tag",
2260
- "type": "Symbol",
2345
+ "name": "name",
2346
+ "type": "String",
2261
2347
  "default": "N/A",
2262
- "description": "One of `:a`, `:button`, or `:summary`."
2348
+ "description": "Value for the HTML name attribute."
2263
2349
  },
2264
2350
  {
2265
- "name": "type",
2266
- "type": "Symbol",
2351
+ "name": "id",
2352
+ "type": "String",
2267
2353
  "default": "N/A",
2268
- "description": "One of `:button`, `:reset`, or `:submit`."
2354
+ "description": "Value for the HTML id attribute."
2269
2355
  },
2270
2356
  {
2271
- "name": "aria-label",
2357
+ "name": "class",
2272
2358
  "type": "String",
2273
2359
  "default": "N/A",
2274
- "description": "String that can be read by assistive technology. A label should be short and concise. See the accessibility section for more information."
2360
+ "description": "CSS classes to include in the input's HTML `class` attribute. Exists for compatibility with Rails form builders."
2275
2361
  },
2276
2362
  {
2277
- "name": "aria-description",
2363
+ "name": "classes",
2364
+ "type": "Array",
2365
+ "default": "N/A",
2366
+ "description": "CSS classes to include in the input's HTML `class` attribute. Combined with the `:class` argument. The list may contain strings, hashes, or `nil` values, and is automatically cleaned up by Primer's [`class_name` helper](https://github.com/primer/view_components/blob/c9cb95c98fee3e2e27f4a10683f555e22285e7f1/app/lib/primer/class_name_helper.rb) (`nils`, falsy entries, and blank strings are ignored)."
2367
+ },
2368
+ {
2369
+ "name": "caption",
2278
2370
  "type": "String",
2279
2371
  "default": "N/A",
2280
- "description": "String that can be read by assistive technology. A description can be longer as it is intended to provide more context and information. See the accessibility section for more information."
2372
+ "description": "A string describing the field and what sorts of input it expects. Displayed below the input."
2281
2373
  },
2282
2374
  {
2283
- "name": "tooltip_direction",
2284
- "type": "Symbol",
2285
- "default": "`:s`",
2286
- "description": "One of `:e`, `:n`, `:ne`, `:nw`, `:s`, `:se`, `:sw`, or `:w`."
2375
+ "name": "label",
2376
+ "type": "String",
2377
+ "default": "N/A",
2378
+ "description": "Label text displayed above the input."
2287
2379
  },
2288
2380
  {
2289
- "name": "box",
2381
+ "name": "visually_hide_label",
2290
2382
  "type": "Boolean",
2291
- "default": "`false`",
2292
- "description": "Whether the button is in a [BorderBox](/components/beta/borderbox). If `true`, the button will have the `Box-btn-octicon` class."
2383
+ "default": "N/A",
2384
+ "description": "When set to `true`, hides the label. Although the label will be hidden visually, it will still be visible to screen readers."
2293
2385
  },
2294
2386
  {
2295
- "name": "system_arguments",
2296
- "type": "Hash",
2387
+ "name": "disabled",
2388
+ "type": "Boolean",
2297
2389
  "default": "N/A",
2298
- "description": "[System arguments](/system-arguments)"
2299
- }
2300
- ]
2301
- },
2302
- {
2303
- "component": "Layout",
2304
- "status": "alpha",
2305
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/layout_component.rb",
2306
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/layout/default/",
2307
- "parameters": [
2390
+ "description": "When set to `true`, the input will not accept keyboard or mouse input."
2391
+ },
2308
2392
  {
2309
- "name": "responsive",
2393
+ "name": "hidden",
2310
2394
  "type": "Boolean",
2311
- "default": "`false`",
2312
- "description": "Whether to collapse layout to a single column at smaller widths."
2395
+ "default": "N/A",
2396
+ "description": "When set to `true`, visually hides the field."
2313
2397
  },
2314
2398
  {
2315
- "name": "side",
2316
- "type": "Symbol",
2317
- "default": "`:right`",
2318
- "description": "Which side to display the sidebar on. One of `:left` or `:right`."
2399
+ "name": "invalid",
2400
+ "type": "Boolean",
2401
+ "default": "N/A",
2402
+ "description": "If set to `true`, the input will be rendered with a red border. 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."
2319
2403
  },
2320
2404
  {
2321
- "name": "sidebar_col",
2322
- "type": "Integer",
2323
- "default": "`3`",
2324
- "description": "Sidebar column width."
2405
+ "name": "validation_message",
2406
+ "type": "String",
2407
+ "default": "N/A",
2408
+ "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."
2325
2409
  },
2326
2410
  {
2327
- "name": "system_arguments",
2411
+ "name": "label_arguments",
2328
2412
  "type": "Hash",
2329
2413
  "default": "N/A",
2330
- "description": "[System arguments](/system-arguments)"
2331
- }
2332
- ]
2333
- },
2334
- {
2335
- "component": "Navigation::Tab",
2336
- "status": "alpha",
2337
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/navigation/tab_component.rb",
2338
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/navigation/tab/default/",
2339
- "parameters": [
2340
- {
2341
- "name": "list",
2342
- "type": "Boolean",
2343
- "default": "`false`",
2344
- "description": "Whether the Tab is an item in a `<ul>` list."
2414
+ "description": "Attributes that will be passed to Rails' `builder.label` method. These can be HTML attributes or any of the other label options Rails supports. They will appear as HTML attributes on the `<label>` tag."
2345
2415
  },
2346
2416
  {
2347
- "name": "selected",
2417
+ "name": "scope_name_to_model",
2348
2418
  "type": "Boolean",
2349
- "default": "`false`",
2350
- "description": "Whether the Tab is selected or not."
2419
+ "default": "N/A",
2420
+ "description": "Default `true`. When set to `false`, prevents the model name from prefixing the field name. For example, if the field name is `my_field`, Rails will normally emit an HTML name attribute of `model[my_field]`. Setting `scope_name_to_model` to `false` will cause Rails to emit `my_field` instead."
2351
2421
  },
2352
2422
  {
2353
- "name": "with_panel",
2423
+ "name": "scope_id_to_model",
2354
2424
  "type": "Boolean",
2355
- "default": "`false`",
2356
- "description": "Whether the Tab has an associated panel."
2357
- },
2358
- {
2359
- "name": "panel_id",
2360
- "type": "String",
2361
- "default": "`\"\"`",
2362
- "description": "Only applies if `with_panel` is `true`. Unique id of panel."
2425
+ "default": "N/A",
2426
+ "description": "Default `true`. When set to `false`, prevents the model name from prefixing the field ID. For example, if the field name is `my_field`, Rails will normally emit an HTML ID attribute of `model_my_field`. Setting `scope_id_to_model` to `false` will cause Rails to emit `my_field` instead."
2363
2427
  },
2364
2428
  {
2365
- "name": "icon_classes",
2429
+ "name": "required",
2366
2430
  "type": "Boolean",
2367
- "default": "`\"\"`",
2368
- "description": "Classes that must always be applied to icons."
2431
+ "default": "N/A",
2432
+ "description": "Default `false`. When set to `true`, causes an asterisk (*) to appear next to the field's label indicating it is a required field. Note that this option explicitly does _not_ add a `required` HTML attribute. Doing so would enable native browser validations, which are inaccessible and inconsistent with the Primer design system."
2369
2433
  },
2370
2434
  {
2371
- "name": "wrapper_arguments",
2435
+ "name": "aria",
2372
2436
  "type": "Hash",
2373
- "default": "`{}`",
2374
- "description": "[System arguments](/system-arguments) to be used in the `<li>` wrapper when the tab is an item in a list."
2437
+ "default": "N/A",
2438
+ "description": "Key/value pairs that represent Aria attributes and their values. Eg. `aria: { current: true }` becomes `aria-current=\"true\"`."
2375
2439
  },
2376
2440
  {
2377
- "name": "system_arguments",
2441
+ "name": "data",
2378
2442
  "type": "Hash",
2379
2443
  "default": "N/A",
2380
- "description": "[System arguments](/system-arguments)"
2381
- }
2382
- ]
2383
- },
2384
- {
2385
- "component": "Tooltip",
2386
- "status": "deprecated",
2387
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/tooltip.rb",
2388
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/tooltip/default/",
2389
- "parameters": [
2390
- {
2391
- "name": "label",
2392
- "type": "String",
2393
- "default": "N/A",
2394
- "description": "the text to appear in the tooltip"
2444
+ "description": "Key/value pairs that represent data attributes and their values. Eg. `data: { foo: \"bar\" }` becomes `data-foo=\"bar\"`."
2395
2445
  },
2396
2446
  {
2397
- "name": "direction",
2398
- "type": "String",
2399
- "default": "`:n`",
2400
- "description": "Direction of the tooltip. One of `:e`, `:n`, `:ne`, `:nw`, `:s`, `:se`, `:sw`, or `:w`."
2447
+ "name": "system_arguments",
2448
+ "type": "Hash",
2449
+ "default": "N/A",
2450
+ "description": "A hash of attributes passed to the underlying Rails builder methods. These options may mean something special depending on the type of input, otherwise they are emitted as HTML attributes. See the [Rails documentation](https://guides.rubyonrails.org/form_helpers.html) for more information. In addition, the usual Primer utility arguments are accepted in system arguments. For example, passing `mt: 2` will add the `mt-2` class to the input. See the Primer system arguments docs for details."
2401
2451
  },
2402
2452
  {
2403
- "name": "align",
2453
+ "name": "placeholder",
2404
2454
  "type": "String",
2405
- "default": "`:default`",
2406
- "description": "Align tooltips to the left or right of an element, combined with a `direction` to specify north or south. One of `:default`, `:left_1`, `:left_2`, `:right_1`, or `:right_2`."
2455
+ "default": "N/A",
2456
+ "description": "Placeholder text."
2407
2457
  },
2408
2458
  {
2409
- "name": "multiline",
2459
+ "name": "inset",
2410
2460
  "type": "Boolean",
2411
- "default": "`false`",
2412
- "description": "Use this when you have long content"
2461
+ "default": "N/A",
2462
+ "description": "If `true`, renders the input in a visually inset state."
2413
2463
  },
2414
2464
  {
2415
- "name": "no_delay",
2465
+ "name": "monospace",
2416
2466
  "type": "Boolean",
2417
- "default": "`false`",
2418
- "description": "By default the tooltips have a slight delay before appearing. Set true to override this"
2467
+ "default": "N/A",
2468
+ "description": "If `true`, uses a monospace font for the input field."
2419
2469
  },
2420
2470
  {
2421
- "name": "system_arguments",
2422
- "type": "Hash",
2471
+ "name": "auto_check_src",
2472
+ "type": "String",
2423
2473
  "default": "N/A",
2424
- "description": "[System arguments](/system-arguments)"
2425
- }
2426
- ]
2427
- },
2428
- {
2429
- "component": "Truncate",
2430
- "status": "beta",
2431
- "source": "https://github.com/primer/view_components/tree/main/app/components/primer/truncate.rb",
2432
- "lookbook": "https://primer.style/view-components/lookbook/inspect/primer/truncate/default/",
2433
- "parameters": [
2434
- {
2435
- "name": "tag",
2436
- "type": "Symbol",
2437
- "default": "`:div`",
2438
- "description": "One of `:div`, `:p`, `:span`, or `:strong`."
2474
+ "description": "When provided, makes a request to the given URL whenever the contents of the text field changes. If the server responds with a non-2xx status code, the response body is used as the validation message."
2439
2475
  },
2440
2476
  {
2441
- "name": "inline",
2442
- "type": "Boolean",
2443
- "default": "`false`",
2444
- "description": "Whether the element is inline (or inline-block)."
2477
+ "name": "leading_visual",
2478
+ "type": "Hash",
2479
+ "default": "N/A",
2480
+ "description": "Renders a leading visual icon before the text field's cursor. The hash will be passed to Primer's [Octicon](/components/beta/octicon) component."
2445
2481
  },
2446
2482
  {
2447
- "name": "expandable",
2483
+ "name": "show_clear_button",
2448
2484
  "type": "Boolean",
2449
- "default": "`false`",
2450
- "description": "Whether the entire string should be revealed on hover. Can only be used in conjunction with `inline`."
2451
- },
2452
- {
2453
- "name": "max_width",
2454
- "type": "Integer",
2455
- "default": "`nil`",
2456
- "description": "Sets the max-width of the text."
2485
+ "default": "N/A",
2486
+ "description": "Whether or not to include a clear button inside the input that clears the input's contents when clicked."
2457
2487
  },
2458
2488
  {
2459
- "name": "system_arguments",
2460
- "type": "Hash",
2489
+ "name": "clear_button_id",
2490
+ "type": "String",
2461
2491
  "default": "N/A",
2462
- "description": "[System arguments](/system-arguments)"
2492
+ "description": "The HTML id attribute of the clear button."
2463
2493
  }
2464
2494
  ]
2465
2495
  }