primer_view_components 0.0.94 → 0.0.96

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +37 -0
  3. data/app/assets/javascripts/primer_view_components.js +1 -1
  4. data/app/assets/javascripts/primer_view_components.js.map +1 -1
  5. data/app/assets/styles/primer_view_components.css +1 -1
  6. data/app/assets/styles/primer_view_components.css.map +1 -1
  7. data/app/components/primer/alpha/dialog.rb +3 -3
  8. data/app/components/primer/alpha/toggle_switch.js +3 -0
  9. data/app/components/primer/alpha/toggle_switch.ts +3 -0
  10. data/app/components/primer/alpha/tool_tip.js +17 -2
  11. data/app/components/primer/alpha/tool_tip.ts +14 -2
  12. data/app/components/primer/beta/button.pcss +27 -15
  13. data/app/components/primer/beta/button.rb +11 -16
  14. data/app/components/primer/beta/icon_button.html.erb +1 -1
  15. data/app/components/primer/beta/icon_button.rb +5 -3
  16. data/app/components/primer/button_component.rb +1 -1
  17. data/app/components/primer/experimental/action_bar.d.ts +14 -0
  18. data/app/components/primer/experimental/action_bar.js +141 -0
  19. data/app/components/primer/icon_button.rb +1 -1
  20. data/app/components/primer/octicon_component.rb +0 -4
  21. data/app/components/primer/octicon_symbols_component.rb +0 -4
  22. data/app/lib/primer/fetch_or_fallback_helper.rb +1 -1
  23. data/lib/primer/deprecations.rb +2 -2
  24. data/lib/primer/forms/builder.rb +2 -2
  25. data/lib/primer/forms/check_box.html.erb +5 -1
  26. data/lib/primer/forms/check_box.rb +11 -0
  27. data/lib/primer/forms/dsl/check_box_group_input.rb +17 -4
  28. data/lib/primer/forms/dsl/check_box_input.rb +21 -2
  29. data/lib/primer/view_components/engine.rb +2 -1
  30. data/lib/primer/view_components/version.rb +1 -1
  31. data/lib/tasks/coverage.rake +1 -1
  32. data/lib/tasks/docs.rake +19 -15
  33. data/lib/tasks/static.rake +1 -1
  34. data/lib/tasks/test.rake +54 -0
  35. data/lib/tasks/utilities.rake +1 -0
  36. data/static/arguments.json +2042 -0
  37. data/static/audited_at.json +0 -2
  38. data/static/constants.json +1 -8
  39. data/static/statuses.json +2 -4
  40. metadata +6 -6
  41. data/app/components/primer/base_button.rb +0 -7
  42. data/app/components/primer/button_group.rb +0 -7
  43. data/lib/tasks/deprecated.rake +0 -27
  44. data/static/arguments.yml +0 -1358
@@ -0,0 +1,2042 @@
1
+ [
2
+ {
3
+ "component": "ButtonMarketing",
4
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/button_marketing.rb",
5
+ "parameters": [
6
+ {
7
+ "name": "scheme",
8
+ "type": "Symbol",
9
+ "default": "`:default`",
10
+ "description": "One of `:default`, `:outline`, `:primary`, or `:transparent`."
11
+ },
12
+ {
13
+ "name": "variant",
14
+ "type": "Symbol",
15
+ "default": "`:default`",
16
+ "description": "One of `:default` or `:large`."
17
+ },
18
+ {
19
+ "name": "tag",
20
+ "type": "Symbol",
21
+ "default": "`:button`",
22
+ "description": "One of `:a` or `:button`."
23
+ },
24
+ {
25
+ "name": "type",
26
+ "type": "Symbol",
27
+ "default": "`:button`",
28
+ "description": "One of `:button` or `:submit`."
29
+ },
30
+ {
31
+ "name": "system_arguments",
32
+ "type": "Hash",
33
+ "default": "N/A",
34
+ "description": "[System arguments](/system-arguments)"
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ "component": "Dialog",
40
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/dialog.rb",
41
+ "parameters": [
42
+ {
43
+ "name": "id",
44
+ "type": "String",
45
+ "default": "`\"dialog-#{(36**3 + rand(36**4)).to_s(36)}\"`",
46
+ "description": "The id of the dialog."
47
+ },
48
+ {
49
+ "name": "title",
50
+ "type": "String",
51
+ "default": "N/A",
52
+ "description": "Describes the content of the dialog."
53
+ },
54
+ {
55
+ "name": "subtitle",
56
+ "type": "String",
57
+ "default": "`nil`",
58
+ "description": "Provides additional context for the dialog, also setting the `aria-describedby` attribute."
59
+ },
60
+ {
61
+ "name": "size",
62
+ "type": "Symbol",
63
+ "default": "`:medium`",
64
+ "description": "The size of the dialog. One of `:large`, `:medium`, `:medium_portrait`, `:small`, or `:xlarge`."
65
+ },
66
+ {
67
+ "name": "position",
68
+ "type": "Symbol",
69
+ "default": "`:center`",
70
+ "description": "The position of the dialog. One of `:center`, `:left`, or `:right`."
71
+ },
72
+ {
73
+ "name": "position_narrow",
74
+ "type": "Symbol",
75
+ "default": "`:inherit`",
76
+ "description": "The position of the dialog when narrow. One of `:bottom`, `:fullscreen`, `:inherit`, `:left`, or `:right`."
77
+ },
78
+ {
79
+ "name": "visually_hide_title",
80
+ "type": "Boolean",
81
+ "default": "`false`",
82
+ "description": "If true will hide the heading title, while still making it available to Screen Readers."
83
+ },
84
+ {
85
+ "name": "system_arguments",
86
+ "type": "Hash",
87
+ "default": "N/A",
88
+ "description": "[System arguments](/system-arguments)"
89
+ }
90
+ ]
91
+ },
92
+ {
93
+ "component": "HiddenTextExpander",
94
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/hidden_text_expander.rb",
95
+ "parameters": [
96
+ {
97
+ "name": "inline",
98
+ "type": "Boolean",
99
+ "default": "`false`",
100
+ "description": "Whether or not the expander is inline."
101
+ },
102
+ {
103
+ "name": "button_arguments",
104
+ "type": "Hash",
105
+ "default": "`{}`",
106
+ "description": "[System arguments](/system-arguments) for the button element."
107
+ },
108
+ {
109
+ "name": "system_arguments",
110
+ "type": "Hash",
111
+ "default": "N/A",
112
+ "description": "[System arguments](/system-arguments)"
113
+ }
114
+ ]
115
+ },
116
+ {
117
+ "component": "Layout",
118
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/layout.rb",
119
+ "parameters": [
120
+ {
121
+ "name": "stacking_breakpoint",
122
+ "type": "Symbol",
123
+ "default": "`:md`",
124
+ "description": "When the `Layout` should change from rows into columns. One of `:lg`, `:md`, or `:sm`."
125
+ },
126
+ {
127
+ "name": "first_in_source",
128
+ "type": "Symbol",
129
+ "default": "`:sidebar`",
130
+ "description": "Which element to render first in the HTML. This will change the keyboard navigation order. One of `:main` or `:sidebar`."
131
+ },
132
+ {
133
+ "name": "gutter",
134
+ "type": "Symbol",
135
+ "default": "`:default`",
136
+ "description": "The amount of space between the main section and the sidebar. One of `:condensed`, `:default`, `:none`, or `:spacious`."
137
+ },
138
+ {
139
+ "name": "system_arguments",
140
+ "type": "Hash",
141
+ "default": "N/A",
142
+ "description": "[System arguments](/system-arguments)"
143
+ }
144
+ ]
145
+ },
146
+ {
147
+ "component": "TabNav",
148
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tab_nav.rb",
149
+ "parameters": [
150
+ {
151
+ "name": "tag",
152
+ "type": "Symbol",
153
+ "default": "`:nav`",
154
+ "description": "One of `:div` or `:nav`."
155
+ },
156
+ {
157
+ "name": "label",
158
+ "type": "String",
159
+ "default": "N/A",
160
+ "description": "Sets an `aria-label` that helps assistive technology users understand the purpose of the links, and distinguish it from similar elements."
161
+ },
162
+ {
163
+ "name": "body_arguments",
164
+ "type": "Hash",
165
+ "default": "`{}`",
166
+ "description": "[System arguments](/system-arguments) for the body wrapper."
167
+ },
168
+ {
169
+ "name": "system_arguments",
170
+ "type": "Hash",
171
+ "default": "N/A",
172
+ "description": "[System arguments](/system-arguments)"
173
+ }
174
+ ]
175
+ },
176
+ {
177
+ "component": "TabPanels",
178
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tab_panels.rb",
179
+ "parameters": [
180
+ {
181
+ "name": "label",
182
+ "type": "String",
183
+ "default": "N/A",
184
+ "description": "Sets an `aria-label` that helps assistive technology users understand the purpose of the tabs."
185
+ },
186
+ {
187
+ "name": "align",
188
+ "type": "Symbol",
189
+ "default": "N/A",
190
+ "description": "One of `:left` or `:right`. - Defaults to left"
191
+ },
192
+ {
193
+ "name": "body_arguments",
194
+ "type": "Hash",
195
+ "default": "`{}`",
196
+ "description": "[System arguments](/system-arguments) for the body wrapper."
197
+ },
198
+ {
199
+ "name": "wrapper_arguments",
200
+ "type": "Hash",
201
+ "default": "`{}`",
202
+ "description": "[System arguments](/system-arguments) for the `TabContainer` wrapper."
203
+ },
204
+ {
205
+ "name": "system_arguments",
206
+ "type": "Hash",
207
+ "default": "N/A",
208
+ "description": "[System arguments](/system-arguments)"
209
+ }
210
+ ]
211
+ },
212
+ {
213
+ "component": "TextField",
214
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/text_field.rb",
215
+ "parameters": [
216
+ {
217
+ "name": "name",
218
+ "type": "String",
219
+ "default": "N/A",
220
+ "description": "Value for the HTML name attribute."
221
+ },
222
+ {
223
+ "name": "id",
224
+ "type": "String",
225
+ "default": "N/A",
226
+ "description": "Value for the HTML id attribute."
227
+ },
228
+ {
229
+ "name": "class",
230
+ "type": "String",
231
+ "default": "N/A",
232
+ "description": "A list of CSS classes to add to the input. Exists for compatibility with Rails form builders."
233
+ },
234
+ {
235
+ "name": "classes",
236
+ "type": "String",
237
+ "default": "N/A",
238
+ "description": "A list of CSS classes to add to the input. Combined with the `:class` argument."
239
+ },
240
+ {
241
+ "name": "caption",
242
+ "type": "String",
243
+ "default": "N/A",
244
+ "description": "Caption text to render below the input."
245
+ },
246
+ {
247
+ "name": "label",
248
+ "type": "String",
249
+ "default": "N/A",
250
+ "description": "Label text displayed above the input."
251
+ },
252
+ {
253
+ "name": "visually_hide_label",
254
+ "type": "Boolean",
255
+ "default": "N/A",
256
+ "description": "Whether or not to visually hide the label. If `true` the label will be hidden visually but still available to screen readers."
257
+ },
258
+ {
259
+ "name": "size",
260
+ "type": "Symbol",
261
+ "default": "N/A",
262
+ "description": "The size of the field. One of `:large`, `:medium`, or `:small`."
263
+ },
264
+ {
265
+ "name": "show_clear_button",
266
+ "type": "Boolean",
267
+ "default": "N/A",
268
+ "description": "Whether or not to include a clear button inside the input that clears the input's contents when clicked."
269
+ },
270
+ {
271
+ "name": "clear_button_id",
272
+ "type": "String",
273
+ "default": "N/A",
274
+ "description": "The HTML id attribute of the clear button."
275
+ },
276
+ {
277
+ "name": "full_width",
278
+ "type": "Boolean",
279
+ "default": "N/A",
280
+ "description": "Controls whether or not the input takes the full width of its container."
281
+ },
282
+ {
283
+ "name": "disabled",
284
+ "type": "Boolean",
285
+ "default": "N/A",
286
+ "description": "Whether or not the input should accept keyboard and mouse input."
287
+ },
288
+ {
289
+ "name": "invalid",
290
+ "type": "Boolean",
291
+ "default": "N/A",
292
+ "description": "If `true`, renders the input in a visually invalid state."
293
+ },
294
+ {
295
+ "name": "placeholder",
296
+ "type": "String",
297
+ "default": "N/A",
298
+ "description": "Placeholder text."
299
+ },
300
+ {
301
+ "name": "inset",
302
+ "type": "Boolean",
303
+ "default": "N/A",
304
+ "description": "If `true`, renders the input in a visually inset state."
305
+ },
306
+ {
307
+ "name": "monospace",
308
+ "type": "Boolean",
309
+ "default": "N/A",
310
+ "description": "If `true`, uses a monospace font for the input field."
311
+ },
312
+ {
313
+ "name": "leading_visual",
314
+ "type": "Hash",
315
+ "default": "N/A",
316
+ "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)."
317
+ },
318
+ {
319
+ "name": "validation_message",
320
+ "type": "String",
321
+ "default": "N/A",
322
+ "description": "A validation message to display beneath the input. Implicitly sets `invalid` to `true`."
323
+ },
324
+ {
325
+ "name": "label_arguments",
326
+ "type": "Hash",
327
+ "default": "N/A",
328
+ "description": "System arugments passed to the Rails builder's `#label` method. These arguments will appear as HTML attributes on the `<label>` tag."
329
+ },
330
+ {
331
+ "name": "system_arguments",
332
+ "type": "Hash",
333
+ "default": "N/A",
334
+ "description": "[System arguments](/system-arguments)"
335
+ },
336
+ {
337
+ "name": "block",
338
+ "type": "Proc",
339
+ "default": "N/A",
340
+ "description": "Unused."
341
+ }
342
+ ]
343
+ },
344
+ {
345
+ "component": "ToggleSwitch",
346
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/toggle_switch.rb",
347
+ "parameters": [
348
+ {
349
+ "name": "src",
350
+ "type": "String",
351
+ "default": "`nil`",
352
+ "description": "The URL to POST to when the toggle switch is toggled. If `nil`, the toggle switch will not make any requests."
353
+ },
354
+ {
355
+ "name": "csrf_token",
356
+ "type": "String",
357
+ "default": "`nil`",
358
+ "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`."
359
+ },
360
+ {
361
+ "name": "checked",
362
+ "type": "Boolean",
363
+ "default": "`false`",
364
+ "description": "Whether the toggle switch is on or off."
365
+ },
366
+ {
367
+ "name": "enabled",
368
+ "type": "Boolean",
369
+ "default": "`true`",
370
+ "description": "Whether or not the toggle switch responds to user input."
371
+ },
372
+ {
373
+ "name": "size",
374
+ "type": "Symbol",
375
+ "default": "`:medium`",
376
+ "description": "What size toggle switch to render. One of `:end` or `:start`."
377
+ },
378
+ {
379
+ "name": "status_label_position",
380
+ "type": "Symbol",
381
+ "default": "`:start`",
382
+ "description": "Which side of the toggle switch to render the status label. One of `:medium` or `:small`."
383
+ },
384
+ {
385
+ "name": "system_arguments",
386
+ "type": "Hash",
387
+ "default": "N/A",
388
+ "description": "[System arguments](/system-arguments)"
389
+ }
390
+ ]
391
+ },
392
+ {
393
+ "component": "Tooltip",
394
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/tooltip.rb",
395
+ "parameters": [
396
+ {
397
+ "name": "for_id",
398
+ "type": "String",
399
+ "default": "N/A",
400
+ "description": "The ID of the element that the tooltip should be attached to."
401
+ },
402
+ {
403
+ "name": "type",
404
+ "type": "Symbol",
405
+ "default": "N/A",
406
+ "description": "One of `:description` or `:label`."
407
+ },
408
+ {
409
+ "name": "direction",
410
+ "type": "Symbol",
411
+ "default": "`:s`",
412
+ "description": "One of `:e`, `:n`, `:ne`, `:nw`, `:s`, `:se`, `:sw`, or `:w`."
413
+ },
414
+ {
415
+ "name": "text",
416
+ "type": "String",
417
+ "default": "N/A",
418
+ "description": "The text content of the tooltip. This should be brief and no longer than a sentence."
419
+ },
420
+ {
421
+ "name": "system_arguments",
422
+ "type": "Hash",
423
+ "default": "N/A",
424
+ "description": "[System arguments](/system-arguments)"
425
+ }
426
+ ]
427
+ },
428
+ {
429
+ "component": "UnderlineNav",
430
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/underline_nav.rb",
431
+ "parameters": [
432
+ {
433
+ "name": "tag",
434
+ "type": "Symbol",
435
+ "default": "`:nav`",
436
+ "description": "One of `:div` or `:nav`."
437
+ },
438
+ {
439
+ "name": "label",
440
+ "type": "String",
441
+ "default": "N/A",
442
+ "description": "Sets an `aria-label` that helps assistive technology users understand the purpose of the links, and distinguish it from similar elements."
443
+ },
444
+ {
445
+ "name": "align",
446
+ "type": "Symbol",
447
+ "default": "`:left`",
448
+ "description": "One of `:left` or `:right`. - Defaults to left"
449
+ },
450
+ {
451
+ "name": "body_arguments",
452
+ "type": "Hash",
453
+ "default": "`{}`",
454
+ "description": "[System arguments](/system-arguments) for the body wrapper."
455
+ },
456
+ {
457
+ "name": "system_arguments",
458
+ "type": "Hash",
459
+ "default": "N/A",
460
+ "description": "[System arguments](/system-arguments)"
461
+ }
462
+ ]
463
+ },
464
+ {
465
+ "component": "UnderlinePanels",
466
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/alpha/underline_panels.rb",
467
+ "parameters": [
468
+ {
469
+ "name": "label",
470
+ "type": "String",
471
+ "default": "N/A",
472
+ "description": "Sets an `aria-label` that helps assistive technology users understand the purpose of the tabs."
473
+ },
474
+ {
475
+ "name": "align",
476
+ "type": "Symbol",
477
+ "default": "`:left`",
478
+ "description": "One of `:left` or `:right`. - Defaults to left"
479
+ },
480
+ {
481
+ "name": "body_arguments",
482
+ "type": "Hash",
483
+ "default": "`{}`",
484
+ "description": "[System arguments](/system-arguments) for the body wrapper."
485
+ },
486
+ {
487
+ "name": "wrapper_arguments",
488
+ "type": "Hash",
489
+ "default": "`{}`",
490
+ "description": "[System arguments](/system-arguments) for the `TabContainer` wrapper."
491
+ },
492
+ {
493
+ "name": "system_arguments",
494
+ "type": "Hash",
495
+ "default": "N/A",
496
+ "description": "[System arguments](/system-arguments)"
497
+ }
498
+ ]
499
+ },
500
+ {
501
+ "component": "AutoComplete",
502
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/auto_complete.rb",
503
+ "parameters": [
504
+ {
505
+ "name": "label_text",
506
+ "type": "String",
507
+ "default": "N/A",
508
+ "description": "The label of the input."
509
+ },
510
+ {
511
+ "name": "src",
512
+ "type": "String",
513
+ "default": "N/A",
514
+ "description": "The route to query."
515
+ },
516
+ {
517
+ "name": "input_id",
518
+ "type": "String",
519
+ "default": "N/A",
520
+ "description": "Id of the input element."
521
+ },
522
+ {
523
+ "name": "input_name",
524
+ "type": "String",
525
+ "default": "`nil`",
526
+ "description": "Optional name of the input element, defaults to `input_id` when not set."
527
+ },
528
+ {
529
+ "name": "list_id",
530
+ "type": "String",
531
+ "default": "N/A",
532
+ "description": "Id of the list element."
533
+ },
534
+ {
535
+ "name": "visually_hide_label",
536
+ "type": "Boolean",
537
+ "default": "`false`",
538
+ "description": "Controls if the label is visible. If `true`, screen reader only text will be added."
539
+ },
540
+ {
541
+ "name": "show_clear_button",
542
+ "type": "Boolean",
543
+ "default": "`false`",
544
+ "description": "Adds optional clear button."
545
+ },
546
+ {
547
+ "name": "system_arguments",
548
+ "type": "Hash",
549
+ "default": "N/A",
550
+ "description": "[System arguments](/system-arguments)"
551
+ },
552
+ {
553
+ "name": "size",
554
+ "type": "Hash",
555
+ "default": "`:medium`",
556
+ "description": "Input size can be small, medium (default), or large"
557
+ },
558
+ {
559
+ "name": "full_width",
560
+ "type": "Boolean",
561
+ "default": "`false`",
562
+ "description": "Input can be full-width or fit to content"
563
+ },
564
+ {
565
+ "name": "disabled",
566
+ "type": "Boolean",
567
+ "default": "`false`",
568
+ "description": "Disabled input"
569
+ },
570
+ {
571
+ "name": "invalid",
572
+ "type": "Boolean",
573
+ "default": "`false`",
574
+ "description": "Invalid input"
575
+ },
576
+ {
577
+ "name": "placeholder",
578
+ "type": "String",
579
+ "default": "`nil`",
580
+ "description": "The placeholder text displayed within the input"
581
+ },
582
+ {
583
+ "name": "inset",
584
+ "type": "Boolean",
585
+ "default": "`false`",
586
+ "description": "subtle input background color"
587
+ },
588
+ {
589
+ "name": "monospace",
590
+ "type": "Boolean",
591
+ "default": "`false`",
592
+ "description": "monospace input font family"
593
+ }
594
+ ]
595
+ },
596
+ {
597
+ "component": "AutoCompleteItem",
598
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/auto_complete/item.rb",
599
+ "parameters": [
600
+ {
601
+ "name": "value",
602
+ "type": "String",
603
+ "default": "N/A",
604
+ "description": "Value of the item."
605
+ },
606
+ {
607
+ "name": "selected",
608
+ "type": "Boolean",
609
+ "default": "`false`",
610
+ "description": "Whether the item is selected."
611
+ },
612
+ {
613
+ "name": "disabled",
614
+ "type": "Boolean",
615
+ "default": "`false`",
616
+ "description": "Whether the item is disabled."
617
+ },
618
+ {
619
+ "name": "description_variant",
620
+ "type": "Hash",
621
+ "default": "`:block`",
622
+ "description": "Changes the description style. Allowed values are :inline, :block"
623
+ },
624
+ {
625
+ "name": "description",
626
+ "type": "String",
627
+ "default": "N/A",
628
+ "description": "Display description text below label"
629
+ },
630
+ {
631
+ "name": "system_arguments",
632
+ "type": "Hash",
633
+ "default": "N/A",
634
+ "description": "[System arguments](/system-arguments)"
635
+ }
636
+ ]
637
+ },
638
+ {
639
+ "component": "Avatar",
640
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/avatar.rb",
641
+ "parameters": [
642
+ {
643
+ "name": "src",
644
+ "type": "String",
645
+ "default": "N/A",
646
+ "description": "The source url of the avatar image."
647
+ },
648
+ {
649
+ "name": "alt",
650
+ "type": "String",
651
+ "default": "N/A",
652
+ "description": "Passed through to alt on img tag."
653
+ },
654
+ {
655
+ "name": "size",
656
+ "type": "Integer",
657
+ "default": "`20`",
658
+ "description": "One of `16`, `20`, `24`, `32`, `40`, `48`, or `80`."
659
+ },
660
+ {
661
+ "name": "shape",
662
+ "type": "Symbol",
663
+ "default": "`:circle`",
664
+ "description": "Shape of the avatar. One of `:circle` or `:square`."
665
+ },
666
+ {
667
+ "name": "href",
668
+ "type": "String",
669
+ "default": "`nil`",
670
+ "description": "The URL to link to. If used, component will be wrapped by an `<a>` tag."
671
+ },
672
+ {
673
+ "name": "system_arguments",
674
+ "type": "Hash",
675
+ "default": "N/A",
676
+ "description": "[System arguments](/system-arguments)"
677
+ }
678
+ ]
679
+ },
680
+ {
681
+ "component": "AvatarStack",
682
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/avatar_stack.rb",
683
+ "parameters": [
684
+ {
685
+ "name": "tag",
686
+ "type": "Symbol",
687
+ "default": "`:div`",
688
+ "description": "One of `:div` or `:span`."
689
+ },
690
+ {
691
+ "name": "align",
692
+ "type": "Symbol",
693
+ "default": "`:left`",
694
+ "description": "One of `:left` or `:right`."
695
+ },
696
+ {
697
+ "name": "tooltipped",
698
+ "type": "Boolean",
699
+ "default": "`false`",
700
+ "description": "Whether to add a tooltip to the stack or not."
701
+ },
702
+ {
703
+ "name": "body_arguments",
704
+ "type": "Hash",
705
+ "default": "`{}`",
706
+ "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`."
707
+ },
708
+ {
709
+ "name": "system_arguments",
710
+ "type": "Hash",
711
+ "default": "N/A",
712
+ "description": "[System arguments](/system-arguments)"
713
+ }
714
+ ]
715
+ },
716
+ {
717
+ "component": "BaseButton",
718
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/base_button.rb",
719
+ "parameters": [
720
+ {
721
+ "name": "tag",
722
+ "type": "Symbol",
723
+ "default": "`:button`",
724
+ "description": "One of `:a`, `:button`, or `:summary`."
725
+ },
726
+ {
727
+ "name": "type",
728
+ "type": "Symbol",
729
+ "default": "`:button`",
730
+ "description": "One of `:button`, `:reset`, or `:submit`."
731
+ },
732
+ {
733
+ "name": "block",
734
+ "type": "Boolean",
735
+ "default": "`false`",
736
+ "description": "Whether button is full-width with `display: block`."
737
+ },
738
+ {
739
+ "name": "system_arguments",
740
+ "type": "Hash",
741
+ "default": "N/A",
742
+ "description": "[System arguments](/system-arguments)"
743
+ }
744
+ ]
745
+ },
746
+ {
747
+ "component": "Blankslate",
748
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/blankslate.rb",
749
+ "parameters": [
750
+ {
751
+ "name": "narrow",
752
+ "type": "Boolean",
753
+ "default": "`false`",
754
+ "description": "Adds a maximum width of `485px` to the Blankslate."
755
+ },
756
+ {
757
+ "name": "spacious",
758
+ "type": "Boolean",
759
+ "default": "`false`",
760
+ "description": "Increases the padding from `32px` to `80px 40px`."
761
+ },
762
+ {
763
+ "name": "border",
764
+ "type": "Boolean",
765
+ "default": "`false`",
766
+ "description": "Adds a border around the Blankslate."
767
+ },
768
+ {
769
+ "name": "system_arguments",
770
+ "type": "Hash",
771
+ "default": "N/A",
772
+ "description": "[System arguments](/system-arguments)"
773
+ }
774
+ ]
775
+ },
776
+ {
777
+ "component": "BorderBox",
778
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/border_box.rb",
779
+ "parameters": [
780
+ {
781
+ "name": "padding",
782
+ "type": "Symbol",
783
+ "default": "`:default`",
784
+ "description": "One of `:condensed`, `:default`, or `:spacious`."
785
+ },
786
+ {
787
+ "name": "system_arguments",
788
+ "type": "Hash",
789
+ "default": "N/A",
790
+ "description": "[System arguments](/system-arguments)"
791
+ }
792
+ ]
793
+ },
794
+ {
795
+ "component": "BorderBoxHeader",
796
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/border_box/header.rb",
797
+ "parameters": [
798
+ {
799
+ "name": "system_arguments",
800
+ "type": "Hash",
801
+ "default": "N/A",
802
+ "description": "[System arguments](/system-arguments)"
803
+ }
804
+ ]
805
+ },
806
+ {
807
+ "component": "Breadcrumbs",
808
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/breadcrumbs.rb",
809
+ "parameters": [
810
+ {
811
+ "name": "system_arguments",
812
+ "type": "Hash",
813
+ "default": "N/A",
814
+ "description": "[System arguments](/system-arguments)"
815
+ }
816
+ ]
817
+ },
818
+ {
819
+ "component": "Button",
820
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/button.rb",
821
+ "parameters": [
822
+ {
823
+ "name": "scheme",
824
+ "type": "Symbol",
825
+ "default": "`:default`",
826
+ "description": "One of `:danger`, `:default`, `:invisible`, `:link`, `:primary`, or `:secondary`."
827
+ },
828
+ {
829
+ "name": "size",
830
+ "type": "Symbol",
831
+ "default": "`:medium`",
832
+ "description": "One of `:large`, `:medium`, or `:small`."
833
+ },
834
+ {
835
+ "name": "block",
836
+ "type": "Boolean",
837
+ "default": "`false`",
838
+ "description": "Whether button is full-width with `display: block`."
839
+ },
840
+ {
841
+ "name": "align_content",
842
+ "type": "Symbol",
843
+ "default": "`:center`",
844
+ "description": "One of `:center` or `:start`."
845
+ },
846
+ {
847
+ "name": "tag",
848
+ "type": "Symbol",
849
+ "default": "`:button`",
850
+ "description": "One of `:a`, `:button`, or `:summary`."
851
+ },
852
+ {
853
+ "name": "type",
854
+ "type": "Symbol",
855
+ "default": "`:button`",
856
+ "description": "One of `:button`, `:reset`, or `:submit`."
857
+ },
858
+ {
859
+ "name": "system_arguments",
860
+ "type": "Hash",
861
+ "default": "N/A",
862
+ "description": "[System arguments](/system-arguments)"
863
+ }
864
+ ]
865
+ },
866
+ {
867
+ "component": "ButtonGroup",
868
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/button_group.rb",
869
+ "parameters": [
870
+ {
871
+ "name": "variant",
872
+ "type": "Symbol",
873
+ "default": "`nil`",
874
+ "description": "DEPRECATED. One of `:medium` or `:small`."
875
+ },
876
+ {
877
+ "name": "size",
878
+ "type": "Symbol",
879
+ "default": "`:medium`",
880
+ "description": "One of `:medium` or `:small`."
881
+ },
882
+ {
883
+ "name": "system_arguments",
884
+ "type": "Hash",
885
+ "default": "N/A",
886
+ "description": "[System arguments](/system-arguments)"
887
+ }
888
+ ]
889
+ },
890
+ {
891
+ "component": "CloseButton",
892
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/close_button.rb",
893
+ "parameters": [
894
+ {
895
+ "name": "type",
896
+ "type": "Symbol",
897
+ "default": "`:button`",
898
+ "description": "One of `:button` or `:submit`."
899
+ },
900
+ {
901
+ "name": "system_arguments",
902
+ "type": "Hash",
903
+ "default": "N/A",
904
+ "description": "[System arguments](/system-arguments)"
905
+ }
906
+ ]
907
+ },
908
+ {
909
+ "component": "Counter",
910
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/counter.rb",
911
+ "parameters": [
912
+ {
913
+ "name": "count",
914
+ "type": "Integer, Float::INFINITY, nil",
915
+ "default": "`0`",
916
+ "description": "The number to be displayed (e.x. # of issues, pull requests)"
917
+ },
918
+ {
919
+ "name": "scheme",
920
+ "type": "Symbol",
921
+ "default": "`:default`",
922
+ "description": "Color scheme. One of `:default`, `:primary`, or `:secondary`."
923
+ },
924
+ {
925
+ "name": "limit",
926
+ "type": "Integer, nil",
927
+ "default": "`5_000`",
928
+ "description": "Maximum value to display. Pass `nil` for no limit. (e.x. if `count` == 6,000 and `limit` == 5000, counter will display \"5,000+\")"
929
+ },
930
+ {
931
+ "name": "hide_if_zero",
932
+ "type": "Boolean",
933
+ "default": "`false`",
934
+ "description": "If true, a `hidden` attribute is added to the counter if `count` is zero."
935
+ },
936
+ {
937
+ "name": "text",
938
+ "type": "String",
939
+ "default": "`\"\"`",
940
+ "description": "Text to display instead of count."
941
+ },
942
+ {
943
+ "name": "round",
944
+ "type": "Boolean",
945
+ "default": "`false`",
946
+ "description": "Whether to apply our standard rounding logic to value."
947
+ },
948
+ {
949
+ "name": "system_arguments",
950
+ "type": "Hash",
951
+ "default": "N/A",
952
+ "description": "[System arguments](/system-arguments)"
953
+ }
954
+ ]
955
+ },
956
+ {
957
+ "component": "Details",
958
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/details.rb",
959
+ "parameters": [
960
+ {
961
+ "name": "overlay",
962
+ "type": "Symbol",
963
+ "default": "`:none`",
964
+ "description": "Dictates the type of overlay to render with. One of `:dark`, `:default`, or `:none`."
965
+ },
966
+ {
967
+ "name": "reset",
968
+ "type": "Boolean",
969
+ "default": "`false`",
970
+ "description": "Defaults to false. If set to true, it will remove the default caret and remove style from the summary element"
971
+ },
972
+ {
973
+ "name": "system_arguments",
974
+ "type": "Hash",
975
+ "default": "N/A",
976
+ "description": "[System arguments](/system-arguments)"
977
+ }
978
+ ]
979
+ },
980
+ {
981
+ "component": "Flash",
982
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/flash.rb",
983
+ "parameters": [
984
+ {
985
+ "name": "full",
986
+ "type": "Boolean",
987
+ "default": "`false`",
988
+ "description": "Whether the component should take up the full width of the screen."
989
+ },
990
+ {
991
+ "name": "spacious",
992
+ "type": "Boolean",
993
+ "default": "`false`",
994
+ "description": "Whether to add margin to the bottom of the component."
995
+ },
996
+ {
997
+ "name": "dismissible",
998
+ "type": "Boolean",
999
+ "default": "`false`",
1000
+ "description": "Whether the component can be dismissed with an X button."
1001
+ },
1002
+ {
1003
+ "name": "icon",
1004
+ "type": "Symbol",
1005
+ "default": "`nil`",
1006
+ "description": "Name of Octicon icon to use."
1007
+ },
1008
+ {
1009
+ "name": "scheme",
1010
+ "type": "Symbol",
1011
+ "default": "`:default`",
1012
+ "description": "One of `:danger`, `:default`, `:success`, or `:warning`."
1013
+ },
1014
+ {
1015
+ "name": "system_arguments",
1016
+ "type": "Hash",
1017
+ "default": "N/A",
1018
+ "description": "[System arguments](/system-arguments)"
1019
+ }
1020
+ ]
1021
+ },
1022
+ {
1023
+ "component": "Heading",
1024
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/heading.rb",
1025
+ "parameters": [
1026
+ {
1027
+ "name": "tag",
1028
+ "type": "String",
1029
+ "default": "N/A",
1030
+ "description": "One of `:h1`, `:h2`, `:h3`, `:h4`, `:h5`, or `:h6`."
1031
+ },
1032
+ {
1033
+ "name": "system_arguments",
1034
+ "type": "Hash",
1035
+ "default": "N/A",
1036
+ "description": "[System arguments](/system-arguments)"
1037
+ }
1038
+ ]
1039
+ },
1040
+ {
1041
+ "component": "IconButton",
1042
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/icon_button.rb",
1043
+ "parameters": [
1044
+ {
1045
+ "name": "icon",
1046
+ "type": "String",
1047
+ "default": "N/A",
1048
+ "description": "Name of [Octicon](https://primer.style/octicons/) to use."
1049
+ },
1050
+ {
1051
+ "name": "wrapper_arguments",
1052
+ "type": "Hash",
1053
+ "default": "`{}`",
1054
+ "description": "Optional keyword arguments to be passed to the wrapper `<div>` tag."
1055
+ },
1056
+ {
1057
+ "name": "scheme",
1058
+ "type": "Symbol",
1059
+ "default": "`:default`",
1060
+ "description": "One of `:danger`, `:default`, or `:invisible`."
1061
+ },
1062
+ {
1063
+ "name": "size",
1064
+ "type": "Symbol",
1065
+ "default": "`:medium`",
1066
+ "description": "One of `:large`, `:medium`, or `:small`."
1067
+ },
1068
+ {
1069
+ "name": "tag",
1070
+ "type": "Symbol",
1071
+ "default": "N/A",
1072
+ "description": "One of `:a`, `:button`, or `:summary`."
1073
+ },
1074
+ {
1075
+ "name": "type",
1076
+ "type": "Symbol",
1077
+ "default": "N/A",
1078
+ "description": "One of `:button`, `:reset`, or `:submit`."
1079
+ },
1080
+ {
1081
+ "name": "aria-label",
1082
+ "type": "String",
1083
+ "default": "N/A",
1084
+ "description": "String that can be read by assistive technology. A label should be short and concise. See the accessibility section for more information."
1085
+ },
1086
+ {
1087
+ "name": "aria-description",
1088
+ "type": "String",
1089
+ "default": "N/A",
1090
+ "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."
1091
+ },
1092
+ {
1093
+ "name": "tooltip_direction",
1094
+ "type": "Symbol",
1095
+ "default": "`:s`",
1096
+ "description": "One of `:e`, `:n`, `:ne`, `:nw`, `:s`, `:se`, `:sw`, or `:w`."
1097
+ },
1098
+ {
1099
+ "name": "system_arguments",
1100
+ "type": "Hash",
1101
+ "default": "N/A",
1102
+ "description": "[System arguments](/system-arguments)"
1103
+ }
1104
+ ]
1105
+ },
1106
+ {
1107
+ "component": "Text",
1108
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/text.rb",
1109
+ "parameters": [
1110
+ {
1111
+ "name": "tag",
1112
+ "type": "Symbol",
1113
+ "default": "`:span`",
1114
+ "description": ""
1115
+ },
1116
+ {
1117
+ "name": "system_arguments",
1118
+ "type": "Hash",
1119
+ "default": "N/A",
1120
+ "description": "[System arguments](/system-arguments)"
1121
+ }
1122
+ ]
1123
+ },
1124
+ {
1125
+ "component": "Truncate",
1126
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/beta/truncate.rb",
1127
+ "parameters": [
1128
+ {
1129
+ "name": "system_arguments",
1130
+ "type": "Hash",
1131
+ "default": "N/A",
1132
+ "description": "[System arguments](/system-arguments)"
1133
+ }
1134
+ ]
1135
+ },
1136
+ {
1137
+ "component": "Box",
1138
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/box.rb",
1139
+ "parameters": [
1140
+ {
1141
+ "name": "system_arguments",
1142
+ "type": "Hash",
1143
+ "default": "N/A",
1144
+ "description": "[System arguments](/system-arguments)"
1145
+ }
1146
+ ]
1147
+ },
1148
+ {
1149
+ "component": "Button",
1150
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/button_component.rb",
1151
+ "parameters": [
1152
+ {
1153
+ "name": "scheme",
1154
+ "type": "Symbol",
1155
+ "default": "`:default`",
1156
+ "description": "One of `:danger`, `:default`, `:invisible`, `:link`, `:outline`, or `:primary`."
1157
+ },
1158
+ {
1159
+ "name": "variant",
1160
+ "type": "Symbol",
1161
+ "default": "`nil`",
1162
+ "description": "DEPRECATED. One of `:medium` or `:small`."
1163
+ },
1164
+ {
1165
+ "name": "size",
1166
+ "type": "Symbol",
1167
+ "default": "`:medium`",
1168
+ "description": "One of `:medium` or `:small`."
1169
+ },
1170
+ {
1171
+ "name": "tag",
1172
+ "type": "Symbol",
1173
+ "default": "`:button`",
1174
+ "description": "One of `:a`, `:button`, or `:summary`."
1175
+ },
1176
+ {
1177
+ "name": "type",
1178
+ "type": "Symbol",
1179
+ "default": "`:button`",
1180
+ "description": "One of `:button`, `:reset`, or `:submit`."
1181
+ },
1182
+ {
1183
+ "name": "group_item",
1184
+ "type": "Boolean",
1185
+ "default": "`false`",
1186
+ "description": "Whether button is part of a ButtonGroup."
1187
+ },
1188
+ {
1189
+ "name": "block",
1190
+ "type": "Boolean",
1191
+ "default": "`false`",
1192
+ "description": "Whether button is full-width with `display: block`."
1193
+ },
1194
+ {
1195
+ "name": "dropdown",
1196
+ "type": "Boolean",
1197
+ "default": "`false`",
1198
+ "description": "Whether or not to render a dropdown caret."
1199
+ },
1200
+ {
1201
+ "name": "system_arguments",
1202
+ "type": "Hash",
1203
+ "default": "N/A",
1204
+ "description": "[System arguments](/system-arguments)"
1205
+ }
1206
+ ]
1207
+ },
1208
+ {
1209
+ "component": "ClipboardCopy",
1210
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/clipboard_copy.rb",
1211
+ "parameters": [
1212
+ {
1213
+ "name": "aria-label",
1214
+ "type": "String",
1215
+ "default": "N/A",
1216
+ "description": "String that will be read to screenreaders when the component is focused"
1217
+ },
1218
+ {
1219
+ "name": "value",
1220
+ "type": "String",
1221
+ "default": "`nil`",
1222
+ "description": "Text to copy into the users clipboard when they click the component."
1223
+ },
1224
+ {
1225
+ "name": "for",
1226
+ "type": "String",
1227
+ "default": "N/A",
1228
+ "description": "Element id from where to get the copied value."
1229
+ },
1230
+ {
1231
+ "name": "system_arguments",
1232
+ "type": "Hash",
1233
+ "default": "N/A",
1234
+ "description": "[System arguments](/system-arguments)"
1235
+ }
1236
+ ]
1237
+ },
1238
+ {
1239
+ "component": "Dropdown",
1240
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/dropdown.rb",
1241
+ "parameters": [
1242
+ {
1243
+ "name": "overlay",
1244
+ "type": "Symbol",
1245
+ "default": "`:default`",
1246
+ "description": "One of `:dark`, `:default`, or `:none`."
1247
+ },
1248
+ {
1249
+ "name": "with_caret",
1250
+ "type": "Boolean",
1251
+ "default": "`false`",
1252
+ "description": "Whether or not a caret should be rendered in the button."
1253
+ },
1254
+ {
1255
+ "name": "system_arguments",
1256
+ "type": "Hash",
1257
+ "default": "N/A",
1258
+ "description": "[System arguments](/system-arguments)"
1259
+ }
1260
+ ]
1261
+ },
1262
+ {
1263
+ "component": "DropdownMenu",
1264
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/dropdown_menu_component.rb",
1265
+ "parameters": [
1266
+ {
1267
+ "name": "direction",
1268
+ "type": "Symbol",
1269
+ "default": "`:se`",
1270
+ "description": "One of `:e`, `:ne`, `:s`, `:se`, `:sw`, or `:w`."
1271
+ },
1272
+ {
1273
+ "name": "scheme",
1274
+ "type": "Symbol",
1275
+ "default": "`:default`",
1276
+ "description": "Pass `:dark` for dark mode theming"
1277
+ },
1278
+ {
1279
+ "name": "header",
1280
+ "type": "String",
1281
+ "default": "`nil`",
1282
+ "description": "Optional string to display as the header"
1283
+ },
1284
+ {
1285
+ "name": "system_arguments",
1286
+ "type": "Hash",
1287
+ "default": "N/A",
1288
+ "description": "[System arguments](/system-arguments)"
1289
+ }
1290
+ ]
1291
+ },
1292
+ {
1293
+ "component": "Flex",
1294
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/flex_component.rb",
1295
+ "parameters": [
1296
+ {
1297
+ "name": "justify_content",
1298
+ "type": "Symbol",
1299
+ "default": "`JUSTIFY_CONTENT_DEFAULT`",
1300
+ "description": "Use this param to distribute space between and around flex items along the main axis of the container. One of `nil`, `:center`, `:flex_end`, `:flex_start`, `:space_around`, or `:space_between`."
1301
+ },
1302
+ {
1303
+ "name": "inline",
1304
+ "type": "Boolean",
1305
+ "default": "`false`",
1306
+ "description": "Defaults to false."
1307
+ },
1308
+ {
1309
+ "name": "flex_wrap",
1310
+ "type": "Boolean",
1311
+ "default": "`FLEX_WRAP_DEFAULT`",
1312
+ "description": "Defaults to nil."
1313
+ },
1314
+ {
1315
+ "name": "align_items",
1316
+ "type": "Symbol",
1317
+ "default": "`ALIGN_ITEMS_DEFAULT`",
1318
+ "description": "Use this param to align items on the cross axis. One of `nil`, `:baseline`, `:center`, `:end`, `:start`, or `:stretch`."
1319
+ },
1320
+ {
1321
+ "name": "direction",
1322
+ "type": "Symbol",
1323
+ "default": "`nil`",
1324
+ "description": "Use this param to define the orientation of the main axis (row or column). By default, flex items will display in a row. One of `nil`, `:column`, `:column_reverse`, `:row`, or `:row_reverse`."
1325
+ },
1326
+ {
1327
+ "name": "system_arguments",
1328
+ "type": "Hash",
1329
+ "default": "N/A",
1330
+ "description": "[System arguments](/system-arguments)"
1331
+ }
1332
+ ]
1333
+ },
1334
+ {
1335
+ "component": "FlexItem",
1336
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/flex_item_component.rb",
1337
+ "parameters": [
1338
+ {
1339
+ "name": "flex_auto",
1340
+ "type": "Boolean",
1341
+ "default": "`false`",
1342
+ "description": "Fills available space and auto-sizes based on the content. Defaults to false"
1343
+ },
1344
+ {
1345
+ "name": "system_arguments",
1346
+ "type": "Hash",
1347
+ "default": "N/A",
1348
+ "description": "[System arguments](/system-arguments)"
1349
+ }
1350
+ ]
1351
+ },
1352
+ {
1353
+ "component": "HellipButton",
1354
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/hellip_button.rb",
1355
+ "parameters": [
1356
+ {
1357
+ "name": "inline",
1358
+ "type": "Boolean",
1359
+ "default": "`false`",
1360
+ "description": "Whether or not the button is inline."
1361
+ },
1362
+ {
1363
+ "name": "system_arguments",
1364
+ "type": "Hash",
1365
+ "default": "N/A",
1366
+ "description": "[System arguments](/system-arguments)"
1367
+ }
1368
+ ]
1369
+ },
1370
+ {
1371
+ "component": "IconButton",
1372
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/icon_button.rb",
1373
+ "parameters": [
1374
+ {
1375
+ "name": "scheme",
1376
+ "type": "Symbol",
1377
+ "default": "`:default`",
1378
+ "description": "One of `:danger` or `:default`."
1379
+ },
1380
+ {
1381
+ "name": "icon",
1382
+ "type": "String",
1383
+ "default": "N/A",
1384
+ "description": "Name of [Octicon](https://primer.style/octicons/) to use."
1385
+ },
1386
+ {
1387
+ "name": "tag",
1388
+ "type": "Symbol",
1389
+ "default": "N/A",
1390
+ "description": "One of `:a`, `:button`, or `:summary`."
1391
+ },
1392
+ {
1393
+ "name": "type",
1394
+ "type": "Symbol",
1395
+ "default": "N/A",
1396
+ "description": "One of `:button`, `:reset`, or `:submit`."
1397
+ },
1398
+ {
1399
+ "name": "aria-label",
1400
+ "type": "String",
1401
+ "default": "N/A",
1402
+ "description": "String that can be read by assistive technology. A label should be short and concise. See the accessibility section for more information."
1403
+ },
1404
+ {
1405
+ "name": "aria-description",
1406
+ "type": "String",
1407
+ "default": "N/A",
1408
+ "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."
1409
+ },
1410
+ {
1411
+ "name": "tooltip_direction",
1412
+ "type": "Symbol",
1413
+ "default": "`:s`",
1414
+ "description": "One of `:e`, `:n`, `:ne`, `:nw`, `:s`, `:se`, `:sw`, or `:w`."
1415
+ },
1416
+ {
1417
+ "name": "box",
1418
+ "type": "Boolean",
1419
+ "default": "`false`",
1420
+ "description": "Whether the button is in a [BorderBox](/components/beta/borderbox). If `true`, the button will have the `Box-btn-octicon` class."
1421
+ },
1422
+ {
1423
+ "name": "system_arguments",
1424
+ "type": "Hash",
1425
+ "default": "N/A",
1426
+ "description": "[System arguments](/system-arguments)"
1427
+ }
1428
+ ]
1429
+ },
1430
+ {
1431
+ "component": "Image",
1432
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/image.rb",
1433
+ "parameters": [
1434
+ {
1435
+ "name": "src",
1436
+ "type": "String",
1437
+ "default": "N/A",
1438
+ "description": "The source url of the image."
1439
+ },
1440
+ {
1441
+ "name": "alt",
1442
+ "type": "String",
1443
+ "default": "N/A",
1444
+ "description": "Specifies an alternate text for the image."
1445
+ },
1446
+ {
1447
+ "name": "lazy",
1448
+ "type": "Boolean",
1449
+ "default": "`false`",
1450
+ "description": "Whether or not to lazily load the image."
1451
+ },
1452
+ {
1453
+ "name": "system_arguments",
1454
+ "type": "Hash",
1455
+ "default": "N/A",
1456
+ "description": "[System arguments](/system-arguments)"
1457
+ }
1458
+ ]
1459
+ },
1460
+ {
1461
+ "component": "ImageCrop",
1462
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/image_crop.rb",
1463
+ "parameters": [
1464
+ {
1465
+ "name": "src",
1466
+ "type": "String",
1467
+ "default": "N/A",
1468
+ "description": "The path of the image to crop."
1469
+ },
1470
+ {
1471
+ "name": "rounded",
1472
+ "type": "Boolean",
1473
+ "default": "`true`",
1474
+ "description": "If the crop mask should be a circle. Defaults to true."
1475
+ },
1476
+ {
1477
+ "name": "system_arguments",
1478
+ "type": "Hash",
1479
+ "default": "N/A",
1480
+ "description": "[System arguments](/system-arguments)"
1481
+ }
1482
+ ]
1483
+ },
1484
+ {
1485
+ "component": "Label",
1486
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/label_component.rb",
1487
+ "parameters": [
1488
+ {
1489
+ "name": "tag",
1490
+ "type": "Symbol",
1491
+ "default": "`:span`",
1492
+ "description": "One of `:a`, `:div`, `:span`, or `:summary`."
1493
+ },
1494
+ {
1495
+ "name": "scheme",
1496
+ "type": "Symbol",
1497
+ "default": "`:default`",
1498
+ "description": "One of `:accent`, `:attention`, `:danger`, `:default`, `:done`, `:info`, `:orange`, `:primary`, `:purple`, `:secondary`, `:severe`, `:sponsors`, `:success`, or `:warning`."
1499
+ },
1500
+ {
1501
+ "name": "size",
1502
+ "type": "Symbol",
1503
+ "default": "`:medium`",
1504
+ "description": "One of `:large` or `:medium`."
1505
+ },
1506
+ {
1507
+ "name": "inline",
1508
+ "type": "Boolean",
1509
+ "default": "`false`",
1510
+ "description": "Whether or not to render this label inline."
1511
+ },
1512
+ {
1513
+ "name": "variant",
1514
+ "type": "Symbol",
1515
+ "default": "`:none`",
1516
+ "description": "One of `:inline`, `:large`, or `:none`."
1517
+ },
1518
+ {
1519
+ "name": "system_arguments",
1520
+ "type": "Hash",
1521
+ "default": "N/A",
1522
+ "description": "[System arguments](/system-arguments)"
1523
+ }
1524
+ ]
1525
+ },
1526
+ {
1527
+ "component": "Layout",
1528
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/layout_component.rb",
1529
+ "parameters": [
1530
+ {
1531
+ "name": "responsive",
1532
+ "type": "Boolean",
1533
+ "default": "`false`",
1534
+ "description": "Whether to collapse layout to a single column at smaller widths."
1535
+ },
1536
+ {
1537
+ "name": "side",
1538
+ "type": "Symbol",
1539
+ "default": "`:right`",
1540
+ "description": "Which side to display the sidebar on. One of `:left` or `:right`."
1541
+ },
1542
+ {
1543
+ "name": "sidebar_col",
1544
+ "type": "Integer",
1545
+ "default": "`3`",
1546
+ "description": "Sidebar column width."
1547
+ },
1548
+ {
1549
+ "name": "system_arguments",
1550
+ "type": "Hash",
1551
+ "default": "N/A",
1552
+ "description": "[System arguments](/system-arguments)"
1553
+ }
1554
+ ]
1555
+ },
1556
+ {
1557
+ "component": "Link",
1558
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/link_component.rb",
1559
+ "parameters": [
1560
+ {
1561
+ "name": "tag",
1562
+ "type": "String",
1563
+ "default": "`:a`",
1564
+ "description": "One of `:a` or `:span`."
1565
+ },
1566
+ {
1567
+ "name": "href",
1568
+ "type": "String",
1569
+ "default": "`nil`",
1570
+ "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."
1571
+ },
1572
+ {
1573
+ "name": "scheme",
1574
+ "type": "Symbol",
1575
+ "default": "`:default`",
1576
+ "description": "One of `:default`, `:primary`, or `:secondary`."
1577
+ },
1578
+ {
1579
+ "name": "muted",
1580
+ "type": "Boolean",
1581
+ "default": "`false`",
1582
+ "description": "Uses light gray for Link color, and blue on hover."
1583
+ },
1584
+ {
1585
+ "name": "underline",
1586
+ "type": "Boolean",
1587
+ "default": "`true`",
1588
+ "description": "Whether or not to underline the link."
1589
+ },
1590
+ {
1591
+ "name": "system_arguments",
1592
+ "type": "Hash",
1593
+ "default": "N/A",
1594
+ "description": "[System arguments](/system-arguments)"
1595
+ }
1596
+ ]
1597
+ },
1598
+ {
1599
+ "component": "LocalTime",
1600
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/local_time.rb",
1601
+ "parameters": [
1602
+ {
1603
+ "name": "datetime",
1604
+ "type": "DateTime",
1605
+ "default": "N/A",
1606
+ "description": "The date to parse"
1607
+ },
1608
+ {
1609
+ "name": "initial_text",
1610
+ "type": "String",
1611
+ "default": "`nil`",
1612
+ "description": "Text to render before component is initialized"
1613
+ },
1614
+ {
1615
+ "name": "weekday",
1616
+ "type": "Symbol",
1617
+ "default": "`:short`",
1618
+ "description": "One of `:long` or `:short`."
1619
+ },
1620
+ {
1621
+ "name": "year",
1622
+ "type": "Symbol",
1623
+ "default": "`:numeric`",
1624
+ "description": "One of `:2-digit` or `:numeric`."
1625
+ },
1626
+ {
1627
+ "name": "month",
1628
+ "type": "Symbol",
1629
+ "default": "`:short`",
1630
+ "description": "One of `:long` or `:short`."
1631
+ },
1632
+ {
1633
+ "name": "day",
1634
+ "type": "Symbol",
1635
+ "default": "`:numeric`",
1636
+ "description": "One of `:2-digit` or `:numeric`."
1637
+ },
1638
+ {
1639
+ "name": "hour",
1640
+ "type": "Symbol",
1641
+ "default": "`:numeric`",
1642
+ "description": "One of `:2-digit` or `:numeric`."
1643
+ },
1644
+ {
1645
+ "name": "minute",
1646
+ "type": "Symbol",
1647
+ "default": "`:numeric`",
1648
+ "description": "One of `:2-digit` or `:numeric`."
1649
+ },
1650
+ {
1651
+ "name": "second",
1652
+ "type": "Symbol",
1653
+ "default": "`:numeric`",
1654
+ "description": "One of `:2-digit` or `:numeric`."
1655
+ },
1656
+ {
1657
+ "name": "time_zone_name",
1658
+ "type": "Symbol",
1659
+ "default": "`:short`",
1660
+ "description": "One of `:long` or `:short`."
1661
+ },
1662
+ {
1663
+ "name": "system_arguments",
1664
+ "type": "Hash",
1665
+ "default": "N/A",
1666
+ "description": "[System arguments](/system-arguments)"
1667
+ }
1668
+ ]
1669
+ },
1670
+ {
1671
+ "component": "Markdown",
1672
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/markdown.rb",
1673
+ "parameters": [
1674
+ {
1675
+ "name": "tag",
1676
+ "type": "Symbol",
1677
+ "default": "`:div`",
1678
+ "description": "One of `:article`, `:div`, or `:td`."
1679
+ },
1680
+ {
1681
+ "name": "system_arguments",
1682
+ "type": "Hash",
1683
+ "default": "N/A",
1684
+ "description": "[System arguments](/system-arguments)"
1685
+ }
1686
+ ]
1687
+ },
1688
+ {
1689
+ "component": "Menu",
1690
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/menu_component.rb",
1691
+ "parameters": [
1692
+ {
1693
+ "name": "system_arguments",
1694
+ "type": "Hash",
1695
+ "default": "N/A",
1696
+ "description": "[System arguments](/system-arguments)"
1697
+ }
1698
+ ]
1699
+ },
1700
+ {
1701
+ "component": "NavigationTab",
1702
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/navigation/tab_component.rb",
1703
+ "parameters": [
1704
+ {
1705
+ "name": "list",
1706
+ "type": "Boolean",
1707
+ "default": "`false`",
1708
+ "description": "Whether the Tab is an item in a `<ul>` list."
1709
+ },
1710
+ {
1711
+ "name": "selected",
1712
+ "type": "Boolean",
1713
+ "default": "`false`",
1714
+ "description": "Whether the Tab is selected or not."
1715
+ },
1716
+ {
1717
+ "name": "with_panel",
1718
+ "type": "Boolean",
1719
+ "default": "`false`",
1720
+ "description": "Whether the Tab has an associated panel."
1721
+ },
1722
+ {
1723
+ "name": "panel_id",
1724
+ "type": "String",
1725
+ "default": "`\"\"`",
1726
+ "description": "Only applies if `with_panel` is `true`. Unique id of panel."
1727
+ },
1728
+ {
1729
+ "name": "icon_classes",
1730
+ "type": "Boolean",
1731
+ "default": "`\"\"`",
1732
+ "description": "Classes that must always be applied to icons."
1733
+ },
1734
+ {
1735
+ "name": "wrapper_arguments",
1736
+ "type": "Hash",
1737
+ "default": "`{}`",
1738
+ "description": "[System arguments](/system-arguments) to be used in the `<li>` wrapper when the tab is an item in a list."
1739
+ },
1740
+ {
1741
+ "name": "system_arguments",
1742
+ "type": "Hash",
1743
+ "default": "N/A",
1744
+ "description": "[System arguments](/system-arguments)"
1745
+ }
1746
+ ]
1747
+ },
1748
+ {
1749
+ "component": "Octicon",
1750
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/octicon_component.rb",
1751
+ "parameters": [
1752
+ {
1753
+ "name": "icon_name",
1754
+ "type": "Symbol, String",
1755
+ "default": "`nil`",
1756
+ "description": "Name of [Octicon](https://primer.style/octicons/) to use."
1757
+ },
1758
+ {
1759
+ "name": "icon",
1760
+ "type": "Symbol, String",
1761
+ "default": "`nil`",
1762
+ "description": "Name of [Octicon](https://primer.style/octicons/) to use."
1763
+ },
1764
+ {
1765
+ "name": "size",
1766
+ "type": "Symbol",
1767
+ "default": "`:small`",
1768
+ "description": "One of `:xsmall` (`12`), `:small` (`16`), or `:medium` (`24`)."
1769
+ },
1770
+ {
1771
+ "name": "use_symbol",
1772
+ "type": "Boolean",
1773
+ "default": "`false`",
1774
+ "description": "EXPERIMENTAL (May change or be removed) - Set to true when using with [OcticonSymbols](/components/octiconsymbols)."
1775
+ },
1776
+ {
1777
+ "name": "system_arguments",
1778
+ "type": "Hash",
1779
+ "default": "N/A",
1780
+ "description": "[System arguments](/system-arguments)"
1781
+ }
1782
+ ]
1783
+ },
1784
+ {
1785
+ "component": "OcticonSymbols",
1786
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/octicon_symbols_component.rb",
1787
+ "parameters": [
1788
+ {
1789
+ "name": "icons",
1790
+ "type": "Array<Hash>",
1791
+ "default": "`[]`",
1792
+ "description": "List of icons to render, in the format { symbol: :icon_name, size: :small }"
1793
+ }
1794
+ ]
1795
+ },
1796
+ {
1797
+ "component": "Popover",
1798
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/popover_component.rb",
1799
+ "parameters": [
1800
+ {
1801
+ "name": "system_arguments",
1802
+ "type": "Hash",
1803
+ "default": "N/A",
1804
+ "description": "[System arguments](/system-arguments)"
1805
+ }
1806
+ ]
1807
+ },
1808
+ {
1809
+ "component": "ProgressBar",
1810
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/progress_bar_component.rb",
1811
+ "parameters": [
1812
+ {
1813
+ "name": "size",
1814
+ "type": "Symbol",
1815
+ "default": "`:default`",
1816
+ "description": "One of `:default`, `:large`, or `:small`. Increases height."
1817
+ },
1818
+ {
1819
+ "name": "system_arguments",
1820
+ "type": "Hash",
1821
+ "default": "N/A",
1822
+ "description": "[System arguments](/system-arguments)"
1823
+ }
1824
+ ]
1825
+ },
1826
+ {
1827
+ "component": "Spinner",
1828
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/spinner_component.rb",
1829
+ "parameters": [
1830
+ {
1831
+ "name": "size",
1832
+ "type": "Symbol",
1833
+ "default": "`:medium`",
1834
+ "description": "One of `[:large, 64]`, `[:medium, 32]`, or `[:small, 16]`."
1835
+ },
1836
+ {
1837
+ "name": "style",
1838
+ "type": "String",
1839
+ "default": "`box-sizing: content-box; color: var(--color-icon-primary);`",
1840
+ "description": "Custom element styles."
1841
+ },
1842
+ {
1843
+ "name": "system_arguments",
1844
+ "type": "Hash",
1845
+ "default": "N/A",
1846
+ "description": "[System arguments](/system-arguments)"
1847
+ }
1848
+ ]
1849
+ },
1850
+ {
1851
+ "component": "State",
1852
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/state_component.rb",
1853
+ "parameters": [
1854
+ {
1855
+ "name": "title",
1856
+ "type": "String",
1857
+ "default": "N/A",
1858
+ "description": "`title` HTML attribute."
1859
+ },
1860
+ {
1861
+ "name": "scheme",
1862
+ "type": "Symbol",
1863
+ "default": "`:default`",
1864
+ "description": "Background color. One of `:closed`, `:default`, `:green`, `:merged`, `:open`, `:purple`, or `:red`."
1865
+ },
1866
+ {
1867
+ "name": "tag",
1868
+ "type": "Symbol",
1869
+ "default": "`:span`",
1870
+ "description": "HTML tag for element. One of `:div` or `:span`."
1871
+ },
1872
+ {
1873
+ "name": "size",
1874
+ "type": "Symbol",
1875
+ "default": "`:default`",
1876
+ "description": "One of `:default` or `:small`."
1877
+ },
1878
+ {
1879
+ "name": "system_arguments",
1880
+ "type": "Hash",
1881
+ "default": "N/A",
1882
+ "description": "[System arguments](/system-arguments)"
1883
+ }
1884
+ ]
1885
+ },
1886
+ {
1887
+ "component": "Subhead",
1888
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/subhead_component.rb",
1889
+ "parameters": [
1890
+ {
1891
+ "name": "spacious",
1892
+ "type": "Boolean",
1893
+ "default": "`false`",
1894
+ "description": "Whether to add spacing to the Subhead."
1895
+ },
1896
+ {
1897
+ "name": "hide_border",
1898
+ "type": "Boolean",
1899
+ "default": "`false`",
1900
+ "description": "Whether to hide the border under the heading."
1901
+ },
1902
+ {
1903
+ "name": "system_arguments",
1904
+ "type": "Hash",
1905
+ "default": "N/A",
1906
+ "description": "[System arguments](/system-arguments)"
1907
+ }
1908
+ ]
1909
+ },
1910
+ {
1911
+ "component": "TabContainer",
1912
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/tab_container_component.rb",
1913
+ "parameters": [
1914
+ {
1915
+ "name": "system_arguments",
1916
+ "type": "Hash",
1917
+ "default": "N/A",
1918
+ "description": "[System arguments](/system-arguments)"
1919
+ }
1920
+ ]
1921
+ },
1922
+ {
1923
+ "component": "TimeAgo",
1924
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/time_ago_component.rb",
1925
+ "parameters": [
1926
+ {
1927
+ "name": "time",
1928
+ "type": "Time",
1929
+ "default": "N/A",
1930
+ "description": "The time to be formatted"
1931
+ },
1932
+ {
1933
+ "name": "micro",
1934
+ "type": "Boolean",
1935
+ "default": "`false`",
1936
+ "description": "If true then the text will be formatted in \"micro\" mode, using as few characters as possible"
1937
+ },
1938
+ {
1939
+ "name": "system_arguments",
1940
+ "type": "Hash",
1941
+ "default": "N/A",
1942
+ "description": "[System arguments](/system-arguments)"
1943
+ }
1944
+ ]
1945
+ },
1946
+ {
1947
+ "component": "TimelineItem",
1948
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/timeline_item_component.rb",
1949
+ "parameters": [
1950
+ {
1951
+ "name": "condensed",
1952
+ "type": "Boolean",
1953
+ "default": "`false`",
1954
+ "description": "Reduce the vertical padding and remove the background from the badge item. Most commonly used in commits."
1955
+ },
1956
+ {
1957
+ "name": "system_arguments",
1958
+ "type": "Hash",
1959
+ "default": "N/A",
1960
+ "description": "[System arguments](/system-arguments)"
1961
+ }
1962
+ ]
1963
+ },
1964
+ {
1965
+ "component": "Tooltip",
1966
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/tooltip.rb",
1967
+ "parameters": [
1968
+ {
1969
+ "name": "label",
1970
+ "type": "String",
1971
+ "default": "N/A",
1972
+ "description": "the text to appear in the tooltip"
1973
+ },
1974
+ {
1975
+ "name": "direction",
1976
+ "type": "String",
1977
+ "default": "`:n`",
1978
+ "description": "Direction of the tooltip. One of `:e`, `:n`, `:ne`, `:nw`, `:s`, `:se`, `:sw`, or `:w`."
1979
+ },
1980
+ {
1981
+ "name": "align",
1982
+ "type": "String",
1983
+ "default": "`:default`",
1984
+ "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`."
1985
+ },
1986
+ {
1987
+ "name": "multiline",
1988
+ "type": "Boolean",
1989
+ "default": "`false`",
1990
+ "description": "Use this when you have long content"
1991
+ },
1992
+ {
1993
+ "name": "no_delay",
1994
+ "type": "Boolean",
1995
+ "default": "`false`",
1996
+ "description": "By default the tooltips have a slight delay before appearing. Set true to override this"
1997
+ },
1998
+ {
1999
+ "name": "system_arguments",
2000
+ "type": "Hash",
2001
+ "default": "N/A",
2002
+ "description": "[System arguments](/system-arguments)"
2003
+ }
2004
+ ]
2005
+ },
2006
+ {
2007
+ "component": "Truncate",
2008
+ "source": "https://github.com/primer/view_components/tree/main/app/components/primer/truncate.rb",
2009
+ "parameters": [
2010
+ {
2011
+ "name": "tag",
2012
+ "type": "Symbol",
2013
+ "default": "`:div`",
2014
+ "description": "One of `:div`, `:p`, `:span`, or `:strong`."
2015
+ },
2016
+ {
2017
+ "name": "inline",
2018
+ "type": "Boolean",
2019
+ "default": "`false`",
2020
+ "description": "Whether the element is inline (or inline-block)."
2021
+ },
2022
+ {
2023
+ "name": "expandable",
2024
+ "type": "Boolean",
2025
+ "default": "`false`",
2026
+ "description": "Whether the entire string should be revealed on hover. Can only be used in conjunction with `inline`."
2027
+ },
2028
+ {
2029
+ "name": "max_width",
2030
+ "type": "Integer",
2031
+ "default": "`nil`",
2032
+ "description": "Sets the max-width of the text."
2033
+ },
2034
+ {
2035
+ "name": "system_arguments",
2036
+ "type": "Hash",
2037
+ "default": "N/A",
2038
+ "description": "[System arguments](/system-arguments)"
2039
+ }
2040
+ ]
2041
+ }
2042
+ ]