primer_view_components 0.0.111 → 0.0.113

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 (175) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +68 -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 +3 -1
  6. data/app/assets/styles/primer_view_components.css.map +1 -1
  7. data/app/components/primer/alpha/action_list.css +1 -1
  8. data/app/components/primer/alpha/action_list.css.json +1 -1
  9. data/app/components/primer/alpha/action_list.css.map +1 -1
  10. data/app/components/primer/alpha/action_list.pcss +0 -15
  11. data/app/components/primer/alpha/auto_complete.css +1 -0
  12. data/app/components/primer/alpha/auto_complete.css.json +1 -0
  13. data/app/components/primer/alpha/auto_complete.css.map +1 -0
  14. data/app/components/primer/alpha/auto_complete.pcss +118 -0
  15. data/app/components/primer/alpha/banner.css +1 -1
  16. data/app/components/primer/alpha/banner.css.map +1 -1
  17. data/app/components/primer/alpha/banner.pcss +0 -1
  18. data/app/components/primer/alpha/button_marketing.css +1 -0
  19. data/app/components/primer/alpha/button_marketing.css.json +1 -0
  20. data/app/components/primer/alpha/button_marketing.css.map +1 -0
  21. data/app/components/primer/alpha/button_marketing.pcss +175 -0
  22. data/app/components/primer/alpha/dialog/body.rb +3 -0
  23. data/app/components/primer/alpha/dialog/footer.rb +3 -0
  24. data/app/components/primer/alpha/dialog/header.rb +3 -0
  25. data/app/components/primer/alpha/dialog.css +1 -0
  26. data/app/components/primer/alpha/dialog.css.json +1 -0
  27. data/app/components/primer/alpha/dialog.css.map +1 -0
  28. data/app/components/primer/alpha/dialog.pcss +484 -0
  29. data/app/components/primer/alpha/dialog.rb +3 -0
  30. data/app/components/primer/{dropdown → alpha/dropdown}/menu.d.ts +0 -0
  31. data/app/components/primer/{dropdown → alpha/dropdown}/menu.html.erb +0 -0
  32. data/app/components/primer/{dropdown → alpha/dropdown}/menu.js +0 -0
  33. data/app/components/primer/alpha/dropdown/menu.rb +105 -0
  34. data/app/components/primer/{dropdown → alpha/dropdown}/menu.ts +0 -0
  35. data/app/components/primer/alpha/dropdown.css +1 -0
  36. data/app/components/primer/alpha/dropdown.css.json +1 -0
  37. data/app/components/primer/{dropdown.css.map → alpha/dropdown.css.map} +1 -1
  38. data/app/components/primer/{dropdown.d.ts → alpha/dropdown.d.ts} +0 -0
  39. data/app/components/primer/{dropdown.html.erb → alpha/dropdown.html.erb} +0 -0
  40. data/app/components/primer/{dropdown.js → alpha/dropdown.js} +0 -0
  41. data/app/components/primer/{dropdown.pcss → alpha/dropdown.pcss} +1 -1
  42. data/app/components/primer/alpha/dropdown.rb +154 -0
  43. data/app/components/primer/{dropdown.ts → alpha/dropdown.ts} +0 -0
  44. data/app/components/primer/alpha/segmented_control.css +1 -1
  45. data/app/components/primer/alpha/segmented_control.css.map +1 -1
  46. data/app/components/primer/alpha/tab_nav.css +1 -0
  47. data/app/components/primer/alpha/tab_nav.css.json +1 -0
  48. data/app/components/primer/alpha/tab_nav.css.map +1 -0
  49. data/app/components/primer/alpha/tab_nav.pcss +100 -0
  50. data/app/components/primer/alpha/text_field.css +3 -0
  51. data/app/components/primer/alpha/text_field.css.json +1 -0
  52. data/app/components/primer/alpha/text_field.css.map +1 -0
  53. data/app/components/primer/alpha/text_field.pcss +683 -0
  54. data/app/components/primer/alpha/toggle_switch.d.ts +1 -1
  55. data/app/components/primer/alpha/toggle_switch.js +7 -4
  56. data/app/components/primer/alpha/toggle_switch.ts +7 -3
  57. data/app/components/primer/alpha/underline_nav.css +1 -0
  58. data/app/components/primer/alpha/underline_nav.css.json +1 -0
  59. data/app/components/primer/alpha/underline_nav.css.map +1 -0
  60. data/app/components/primer/alpha/underline_nav.pcss +133 -0
  61. data/app/components/primer/beta/border_box.css +1 -0
  62. data/app/components/primer/beta/border_box.css.json +1 -0
  63. data/app/components/primer/beta/border_box.css.map +1 -0
  64. data/app/components/primer/beta/border_box.pcss +284 -0
  65. data/app/components/primer/beta/button_group.css +1 -0
  66. data/app/components/primer/beta/button_group.css.json +1 -0
  67. data/app/components/primer/beta/button_group.css.map +1 -0
  68. data/app/components/primer/beta/button_group.pcss +92 -0
  69. data/app/components/primer/{clipboard_copy.d.ts → beta/clipboard_copy.d.ts} +0 -0
  70. data/app/components/primer/{clipboard_copy.html.erb → beta/clipboard_copy.html.erb} +0 -0
  71. data/app/components/primer/{clipboard_copy.js → beta/clipboard_copy.js} +0 -0
  72. data/app/components/primer/beta/clipboard_copy.rb +50 -0
  73. data/app/components/primer/{clipboard_copy.ts → beta/clipboard_copy.ts} +0 -0
  74. data/app/components/primer/beta/link.css +1 -0
  75. data/app/components/primer/beta/link.css.json +1 -0
  76. data/app/components/primer/beta/link.css.map +1 -0
  77. data/app/components/primer/beta/link.pcss +60 -0
  78. data/app/components/primer/{popover_component.css → beta/popover.css} +0 -0
  79. data/app/components/primer/beta/popover.css.json +1 -0
  80. data/app/components/primer/beta/popover.css.map +1 -0
  81. data/app/components/primer/{popover_component.html.erb → beta/popover.html.erb} +0 -0
  82. data/app/components/primer/{popover_component.pcss → beta/popover.pcss} +5 -5
  83. data/app/components/primer/beta/popover.rb +127 -0
  84. data/app/components/primer/beta/relative_time.rb +160 -0
  85. data/app/components/primer/button_component.css +1 -0
  86. data/app/components/primer/button_component.css.json +1 -0
  87. data/app/components/primer/button_component.css.map +1 -0
  88. data/app/components/primer/button_component.pcss +557 -0
  89. data/app/components/primer/button_component.rb +1 -1
  90. data/app/components/primer/clipboard_copy.rb +2 -43
  91. data/app/components/primer/component.rb +6 -2
  92. data/app/components/primer/dropdown/menu.rb +5 -90
  93. data/app/components/primer/dropdown.rb +2 -145
  94. data/app/components/primer/local_time.d.ts +1 -1
  95. data/app/components/primer/local_time.js +1 -1
  96. data/app/components/primer/local_time.rb +3 -1
  97. data/app/components/primer/local_time.ts +1 -1
  98. data/app/components/primer/menu_component.css +1 -0
  99. data/app/components/primer/menu_component.css.json +1 -0
  100. data/app/components/primer/menu_component.css.map +1 -0
  101. data/app/components/primer/menu_component.pcss +119 -0
  102. data/app/components/primer/popover_component.rb +3 -120
  103. data/app/components/primer/primer.d.ts +2 -2
  104. data/app/components/primer/primer.js +2 -2
  105. data/app/components/primer/primer.pcss +20 -3
  106. data/app/components/primer/primer.ts +2 -2
  107. data/app/components/primer/time_ago_component.d.ts +1 -1
  108. data/app/components/primer/time_ago_component.js +1 -1
  109. data/app/components/primer/time_ago_component.rb +2 -1
  110. data/app/components/primer/time_ago_component.ts +1 -1
  111. data/app/forms/submit_button_form.rb +8 -2
  112. data/app/helpers/primer/form_helper.rb +12 -0
  113. data/lib/postcss_mixins/clearfix.pcss +12 -0
  114. data/lib/primer/deprecations.rb +96 -24
  115. data/lib/primer/deprecations.yml +68 -0
  116. data/lib/primer/forms/base.rb +7 -20
  117. data/lib/primer/forms/base_component.rb +15 -1
  118. data/lib/primer/forms/button.html.erb +4 -0
  119. data/lib/primer/forms/button.rb +68 -0
  120. data/lib/primer/forms/check_box.html.erb +2 -2
  121. data/lib/primer/forms/check_box.rb +1 -1
  122. data/lib/primer/forms/check_box_group.html.erb +2 -2
  123. data/lib/primer/forms/dsl/button_input.rb +29 -0
  124. data/lib/primer/forms/dsl/input_methods.rb +7 -2
  125. data/lib/primer/forms/dsl/submit_button_input.rb +1 -0
  126. data/lib/primer/forms/dsl/text_field_input.rb +0 -7
  127. data/lib/primer/forms/radio_button.html.erb +2 -2
  128. data/lib/primer/forms/radio_button.rb +1 -1
  129. data/lib/primer/forms/radio_button_group.html.erb +2 -2
  130. data/lib/primer/forms/select_list.html.erb +1 -1
  131. data/lib/primer/forms/select_list.rb +4 -1
  132. data/lib/primer/forms/submit_button.html.erb +1 -4
  133. data/lib/primer/forms/submit_button.rb +1 -37
  134. data/lib/primer/forms/text_area.html.erb +1 -1
  135. data/lib/primer/forms/text_area.rb +5 -1
  136. data/lib/primer/forms/text_field.html.erb +1 -1
  137. data/lib/primer/forms/text_field.rb +11 -0
  138. data/lib/primer/forms/utils.rb +28 -0
  139. data/lib/primer/view_components/audited.rb +14 -0
  140. data/lib/primer/view_components/engine.rb +1 -0
  141. data/lib/primer/view_components/linters/clipboard_copy_component_migration_counter.rb +2 -2
  142. data/lib/primer/view_components/linters/deprecated_components_counter.rb +15 -4
  143. data/lib/primer/view_components/linters/helpers/deprecated_components_helpers.rb +3 -18
  144. data/lib/primer/view_components/linters/severity_schema.rb +14 -0
  145. data/lib/primer/view_components/version.rb +1 -1
  146. data/lib/rubocop/cop/primer/component_name_migration.rb +2 -2
  147. data/lib/tasks/docs.rake +6 -5
  148. data/previews/primer/alpha/auto_complete_preview.rb +12 -0
  149. data/previews/primer/alpha/button_marketing_preview.rb +36 -0
  150. data/previews/primer/alpha/dropdown_preview.rb +210 -0
  151. data/previews/primer/alpha/segmented_control_preview.rb +9 -6
  152. data/previews/primer/alpha/tab_nav_preview.rb +55 -0
  153. data/previews/primer/alpha/text_field_preview.rb +77 -52
  154. data/previews/primer/beta/border_box_preview.rb +65 -13
  155. data/previews/primer/beta/clipboard_copy_preview/element.html.erb +2 -0
  156. data/previews/primer/beta/clipboard_copy_preview.rb +39 -0
  157. data/previews/primer/beta/link_preview.rb +28 -0
  158. data/previews/primer/beta/popover_preview.rb +79 -0
  159. data/previews/primer/beta/relative_time_preview.rb +271 -0
  160. data/previews/primer/forms/forms_preview.rb +1 -0
  161. data/static/arguments.json +183 -73
  162. data/static/audited_at.json +10 -6
  163. data/static/constants.json +180 -50
  164. data/static/statuses.json +12 -8
  165. metadata +86 -29
  166. data/app/components/primer/dropdown.css +0 -1
  167. data/app/components/primer/dropdown.css.json +0 -1
  168. data/app/components/primer/image.rb +0 -7
  169. data/app/components/primer/popover_component.css.json +0 -1
  170. data/app/components/primer/popover_component.css.map +0 -1
  171. data/app/components/primer/progress_bar_component.rb +0 -7
  172. data/previews/primer/clipboard_copy_preview/element.html.erb +0 -2
  173. data/previews/primer/clipboard_copy_preview.rb +0 -37
  174. data/previews/primer/dropdown_preview.rb +0 -208
  175. data/previews/primer/popover_component_preview.rb +0 -34
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: primer_view_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.111
4
+ version: 0.0.113
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub Open Source
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-18 00:00:00.000000000 Z
11
+ date: 2022-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionview
@@ -419,6 +419,10 @@ files:
419
419
  - app/components/primer/alpha/action_list/heading.rb
420
420
  - app/components/primer/alpha/action_list/item.html.erb
421
421
  - app/components/primer/alpha/action_list/item.rb
422
+ - app/components/primer/alpha/auto_complete.css
423
+ - app/components/primer/alpha/auto_complete.css.json
424
+ - app/components/primer/alpha/auto_complete.css.map
425
+ - app/components/primer/alpha/auto_complete.pcss
422
426
  - app/components/primer/alpha/auto_complete.rb
423
427
  - app/components/primer/alpha/auto_complete/auto_complete.html.erb
424
428
  - app/components/primer/alpha/auto_complete/item.rb
@@ -428,13 +432,35 @@ files:
428
432
  - app/components/primer/alpha/banner.html.erb
429
433
  - app/components/primer/alpha/banner.pcss
430
434
  - app/components/primer/alpha/banner.rb
435
+ - app/components/primer/alpha/button_marketing.css
436
+ - app/components/primer/alpha/button_marketing.css.json
437
+ - app/components/primer/alpha/button_marketing.css.map
438
+ - app/components/primer/alpha/button_marketing.pcss
431
439
  - app/components/primer/alpha/button_marketing.rb
440
+ - app/components/primer/alpha/dialog.css
441
+ - app/components/primer/alpha/dialog.css.json
442
+ - app/components/primer/alpha/dialog.css.map
432
443
  - app/components/primer/alpha/dialog.html.erb
444
+ - app/components/primer/alpha/dialog.pcss
433
445
  - app/components/primer/alpha/dialog.rb
434
446
  - app/components/primer/alpha/dialog/body.rb
435
447
  - app/components/primer/alpha/dialog/footer.rb
436
448
  - app/components/primer/alpha/dialog/header.html.erb
437
449
  - app/components/primer/alpha/dialog/header.rb
450
+ - app/components/primer/alpha/dropdown.css
451
+ - app/components/primer/alpha/dropdown.css.json
452
+ - app/components/primer/alpha/dropdown.css.map
453
+ - app/components/primer/alpha/dropdown.d.ts
454
+ - app/components/primer/alpha/dropdown.html.erb
455
+ - app/components/primer/alpha/dropdown.js
456
+ - app/components/primer/alpha/dropdown.pcss
457
+ - app/components/primer/alpha/dropdown.rb
458
+ - app/components/primer/alpha/dropdown.ts
459
+ - app/components/primer/alpha/dropdown/menu.d.ts
460
+ - app/components/primer/alpha/dropdown/menu.html.erb
461
+ - app/components/primer/alpha/dropdown/menu.js
462
+ - app/components/primer/alpha/dropdown/menu.rb
463
+ - app/components/primer/alpha/dropdown/menu.ts
438
464
  - app/components/primer/alpha/hidden_text_expander.rb
439
465
  - app/components/primer/alpha/image.rb
440
466
  - app/components/primer/alpha/image_crop.d.ts
@@ -467,10 +493,18 @@ files:
467
493
  - app/components/primer/alpha/segmented_control.ts
468
494
  - app/components/primer/alpha/segmented_control/item.html.erb
469
495
  - app/components/primer/alpha/segmented_control/item.rb
496
+ - app/components/primer/alpha/tab_nav.css
497
+ - app/components/primer/alpha/tab_nav.css.json
498
+ - app/components/primer/alpha/tab_nav.css.map
470
499
  - app/components/primer/alpha/tab_nav.html.erb
500
+ - app/components/primer/alpha/tab_nav.pcss
471
501
  - app/components/primer/alpha/tab_nav.rb
472
502
  - app/components/primer/alpha/tab_panels.html.erb
473
503
  - app/components/primer/alpha/tab_panels.rb
504
+ - app/components/primer/alpha/text_field.css
505
+ - app/components/primer/alpha/text_field.css.json
506
+ - app/components/primer/alpha/text_field.css.map
507
+ - app/components/primer/alpha/text_field.pcss
474
508
  - app/components/primer/alpha/text_field.rb
475
509
  - app/components/primer/alpha/toggle_switch.css
476
510
  - app/components/primer/alpha/toggle_switch.css.json
@@ -485,7 +519,11 @@ files:
485
519
  - app/components/primer/alpha/tool_tip.js
486
520
  - app/components/primer/alpha/tool_tip.ts
487
521
  - app/components/primer/alpha/tooltip.rb
522
+ - app/components/primer/alpha/underline_nav.css
523
+ - app/components/primer/alpha/underline_nav.css.json
524
+ - app/components/primer/alpha/underline_nav.css.map
488
525
  - app/components/primer/alpha/underline_nav.html.erb
526
+ - app/components/primer/alpha/underline_nav.pcss
489
527
  - app/components/primer/alpha/underline_nav.rb
490
528
  - app/components/primer/alpha/underline_panels.html.erb
491
529
  - app/components/primer/alpha/underline_panels.rb
@@ -518,7 +556,11 @@ files:
518
556
  - app/components/primer/beta/blankslate.html.erb
519
557
  - app/components/primer/beta/blankslate.pcss
520
558
  - app/components/primer/beta/blankslate.rb
559
+ - app/components/primer/beta/border_box.css
560
+ - app/components/primer/beta/border_box.css.json
561
+ - app/components/primer/beta/border_box.css.map
521
562
  - app/components/primer/beta/border_box.html.erb
563
+ - app/components/primer/beta/border_box.pcss
522
564
  - app/components/primer/beta/border_box.rb
523
565
  - app/components/primer/beta/border_box/header.html.erb
524
566
  - app/components/primer/beta/border_box/header.rb
@@ -534,8 +576,17 @@ files:
534
576
  - app/components/primer/beta/button.html.erb
535
577
  - app/components/primer/beta/button.pcss
536
578
  - app/components/primer/beta/button.rb
579
+ - app/components/primer/beta/button_group.css
580
+ - app/components/primer/beta/button_group.css.json
581
+ - app/components/primer/beta/button_group.css.map
537
582
  - app/components/primer/beta/button_group.html.erb
583
+ - app/components/primer/beta/button_group.pcss
538
584
  - app/components/primer/beta/button_group.rb
585
+ - app/components/primer/beta/clipboard_copy.d.ts
586
+ - app/components/primer/beta/clipboard_copy.html.erb
587
+ - app/components/primer/beta/clipboard_copy.js
588
+ - app/components/primer/beta/clipboard_copy.rb
589
+ - app/components/primer/beta/clipboard_copy.ts
539
590
  - app/components/primer/beta/close_button.rb
540
591
  - app/components/primer/beta/counter.css
541
592
  - app/components/primer/beta/counter.css.json
@@ -558,13 +609,24 @@ files:
558
609
  - app/components/primer/beta/label.css.map
559
610
  - app/components/primer/beta/label.pcss
560
611
  - app/components/primer/beta/label.rb
612
+ - app/components/primer/beta/link.css
613
+ - app/components/primer/beta/link.css.json
614
+ - app/components/primer/beta/link.css.map
615
+ - app/components/primer/beta/link.pcss
561
616
  - app/components/primer/beta/link.rb
617
+ - app/components/primer/beta/popover.css
618
+ - app/components/primer/beta/popover.css.json
619
+ - app/components/primer/beta/popover.css.map
620
+ - app/components/primer/beta/popover.html.erb
621
+ - app/components/primer/beta/popover.pcss
622
+ - app/components/primer/beta/popover.rb
562
623
  - app/components/primer/beta/progress_bar.css
563
624
  - app/components/primer/beta/progress_bar.css.json
564
625
  - app/components/primer/beta/progress_bar.css.map
565
626
  - app/components/primer/beta/progress_bar.html.erb
566
627
  - app/components/primer/beta/progress_bar.pcss
567
628
  - app/components/primer/beta/progress_bar.rb
629
+ - app/components/primer/beta/relative_time.rb
568
630
  - app/components/primer/beta/text.rb
569
631
  - app/components/primer/beta/truncate.css
570
632
  - app/components/primer/beta/truncate.css.json
@@ -576,36 +638,23 @@ files:
576
638
  - app/components/primer/blankslate_component.rb
577
639
  - app/components/primer/box.rb
578
640
  - app/components/primer/box_component.rb
641
+ - app/components/primer/button_component.css
642
+ - app/components/primer/button_component.css.json
643
+ - app/components/primer/button_component.css.map
579
644
  - app/components/primer/button_component.html.erb
645
+ - app/components/primer/button_component.pcss
580
646
  - app/components/primer/button_component.rb
581
- - app/components/primer/clipboard_copy.d.ts
582
- - app/components/primer/clipboard_copy.html.erb
583
- - app/components/primer/clipboard_copy.js
584
647
  - app/components/primer/clipboard_copy.rb
585
- - app/components/primer/clipboard_copy.ts
586
648
  - app/components/primer/component.rb
587
649
  - app/components/primer/conditional_wrapper.rb
588
650
  - app/components/primer/content.rb
589
- - app/components/primer/dropdown.css
590
- - app/components/primer/dropdown.css.json
591
- - app/components/primer/dropdown.css.map
592
- - app/components/primer/dropdown.d.ts
593
- - app/components/primer/dropdown.html.erb
594
- - app/components/primer/dropdown.js
595
- - app/components/primer/dropdown.pcss
596
651
  - app/components/primer/dropdown.rb
597
- - app/components/primer/dropdown.ts
598
- - app/components/primer/dropdown/menu.d.ts
599
- - app/components/primer/dropdown/menu.html.erb
600
- - app/components/primer/dropdown/menu.js
601
652
  - app/components/primer/dropdown/menu.rb
602
- - app/components/primer/dropdown/menu.ts
603
653
  - app/components/primer/dropdown_menu_component.html.erb
604
654
  - app/components/primer/dropdown_menu_component.rb
605
655
  - app/components/primer/hellip_button.rb
606
656
  - app/components/primer/icon_button.html.erb
607
657
  - app/components/primer/icon_button.rb
608
- - app/components/primer/image.rb
609
658
  - app/components/primer/label_component.rb
610
659
  - app/components/primer/layout_component.html.erb
611
660
  - app/components/primer/layout_component.rb
@@ -615,7 +664,11 @@ files:
615
664
  - app/components/primer/local_time.rb
616
665
  - app/components/primer/local_time.ts
617
666
  - app/components/primer/markdown.rb
667
+ - app/components/primer/menu_component.css
668
+ - app/components/primer/menu_component.css.json
669
+ - app/components/primer/menu_component.css.map
618
670
  - app/components/primer/menu_component.html.erb
671
+ - app/components/primer/menu_component.pcss
619
672
  - app/components/primer/menu_component.rb
620
673
  - app/components/primer/navigation/tab_component.html.erb
621
674
  - app/components/primer/navigation/tab_component.rb
@@ -623,17 +676,11 @@ files:
623
676
  - app/components/primer/octicon_component.rb
624
677
  - app/components/primer/octicon_symbols_component.html.erb
625
678
  - app/components/primer/octicon_symbols_component.rb
626
- - app/components/primer/popover_component.css
627
- - app/components/primer/popover_component.css.json
628
- - app/components/primer/popover_component.css.map
629
- - app/components/primer/popover_component.html.erb
630
- - app/components/primer/popover_component.pcss
631
679
  - app/components/primer/popover_component.rb
632
680
  - app/components/primer/primer.d.ts
633
681
  - app/components/primer/primer.js
634
682
  - app/components/primer/primer.pcss
635
683
  - app/components/primer/primer.ts
636
- - app/components/primer/progress_bar_component.rb
637
684
  - app/components/primer/spinner_component.html.erb
638
685
  - app/components/primer/spinner_component.rb
639
686
  - app/components/primer/state_component.css
@@ -713,6 +760,7 @@ files:
713
760
  - app/lib/primer/underline_nav_helper.rb
714
761
  - app/lib/primer/view_helper.rb
715
762
  - lib/postcss_mixins/activeIndicatorLine.pcss
763
+ - lib/postcss_mixins/clearfix.pcss
716
764
  - lib/postcss_mixins/focusBoxShadowInset.pcss
717
765
  - lib/postcss_mixins/focusOutline.pcss
718
766
  - lib/postcss_mixins/focusOutlineOnEmphasis.pcss
@@ -723,6 +771,7 @@ files:
723
771
  - lib/primer/classify/utilities.yml
724
772
  - lib/primer/classify/validation.rb
725
773
  - lib/primer/deprecations.rb
774
+ - lib/primer/deprecations.yml
726
775
  - lib/primer/example_image.rb
727
776
  - lib/primer/form_components.rb
728
777
  - lib/primer/forms/acts_as_component.rb
@@ -731,12 +780,15 @@ files:
731
780
  - lib/primer/forms/base_component.rb
732
781
  - lib/primer/forms/buffer_rewriter.rb
733
782
  - lib/primer/forms/builder.rb
783
+ - lib/primer/forms/button.html.erb
784
+ - lib/primer/forms/button.rb
734
785
  - lib/primer/forms/caption.html.erb
735
786
  - lib/primer/forms/caption.rb
736
787
  - lib/primer/forms/check_box.html.erb
737
788
  - lib/primer/forms/check_box.rb
738
789
  - lib/primer/forms/check_box_group.html.erb
739
790
  - lib/primer/forms/check_box_group.rb
791
+ - lib/primer/forms/dsl/button_input.rb
740
792
  - lib/primer/forms/dsl/check_box_group_input.rb
741
793
  - lib/primer/forms/dsl/check_box_input.rb
742
794
  - lib/primer/forms/dsl/form_object.rb
@@ -780,7 +832,9 @@ files:
780
832
  - lib/primer/forms/text_area.rb
781
833
  - lib/primer/forms/text_field.html.erb
782
834
  - lib/primer/forms/text_field.rb
835
+ - lib/primer/forms/utils.rb
783
836
  - lib/primer/view_components.rb
837
+ - lib/primer/view_components/audited.rb
784
838
  - lib/primer/view_components/constants.rb
785
839
  - lib/primer/view_components/engine.rb
786
840
  - lib/primer/view_components/linters.rb
@@ -808,6 +862,7 @@ files:
808
862
  - lib/primer/view_components/linters/helpers/rubocop_helpers.rb
809
863
  - lib/primer/view_components/linters/label_component_migration_counter.rb
810
864
  - lib/primer/view_components/linters/migrate_deprecated_flash_arguments.rb
865
+ - lib/primer/view_components/linters/severity_schema.rb
811
866
  - lib/primer/view_components/linters/subhead_component_migration_counter.rb
812
867
  - lib/primer/view_components/linters/super_in_component_templates.rb
813
868
  - lib/primer/view_components/linters/tag_tree_helpers.rb
@@ -851,11 +906,13 @@ files:
851
906
  - previews/primer/alpha/dialog_preview/test.html.erb
852
907
  - previews/primer/alpha/dialog_preview/with_footer.html.erb
853
908
  - previews/primer/alpha/dialog_preview/with_form.html.erb
909
+ - previews/primer/alpha/dropdown_preview.rb
854
910
  - previews/primer/alpha/hidden_text_expander_preview.rb
855
911
  - previews/primer/alpha/image_crop_preview.rb
856
912
  - previews/primer/alpha/layout_preview.rb
857
913
  - previews/primer/alpha/nav_list_preview.rb
858
914
  - previews/primer/alpha/segmented_control_preview.rb
915
+ - previews/primer/alpha/tab_nav_preview.rb
859
916
  - previews/primer/alpha/tab_panels_preview.rb
860
917
  - previews/primer/alpha/text_field_preview.rb
861
918
  - previews/primer/alpha/toggle_switch_preview.rb
@@ -886,6 +943,8 @@ files:
886
943
  - previews/primer/beta/button_preview/trailing_action.html.erb
887
944
  - previews/primer/beta/button_preview/trailing_visual.html.erb
888
945
  - previews/primer/beta/button_preview/with_tooltip.html.erb
946
+ - previews/primer/beta/clipboard_copy_preview.rb
947
+ - previews/primer/beta/clipboard_copy_preview/element.html.erb
889
948
  - previews/primer/beta/close_button_preview.rb
890
949
  - previews/primer/beta/counter_preview.rb
891
950
  - previews/primer/beta/details_preview.rb
@@ -894,12 +953,11 @@ files:
894
953
  - previews/primer/beta/icon_button_preview.rb
895
954
  - previews/primer/beta/label_preview.rb
896
955
  - previews/primer/beta/link_preview.rb
956
+ - previews/primer/beta/popover_preview.rb
897
957
  - previews/primer/beta/progress_bar_preview.rb
958
+ - previews/primer/beta/relative_time_preview.rb
898
959
  - previews/primer/beta/text_preview.rb
899
960
  - previews/primer/beta/truncate_preview.rb
900
- - previews/primer/clipboard_copy_preview.rb
901
- - previews/primer/clipboard_copy_preview/element.html.erb
902
- - previews/primer/dropdown_preview.rb
903
961
  - previews/primer/forms/forms_preview.rb
904
962
  - previews/primer/forms/forms_preview/after_content_form.html.erb
905
963
  - previews/primer/forms/forms_preview/array_check_box_group_form.html.erb
@@ -926,7 +984,6 @@ files:
926
984
  - previews/primer/menu_component_preview/default.html.erb
927
985
  - previews/primer/menu_component_preview/playground.html.erb
928
986
  - previews/primer/octicon_component_preview.rb
929
- - previews/primer/popover_component_preview.rb
930
987
  - previews/primer/spinner_component_preview.rb
931
988
  - previews/primer/state_component_preview.rb
932
989
  - previews/primer/subhead_component_preview.rb
@@ -1 +0,0 @@
1
- .dropdown{position:relative}.dropdown-caret{border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;border-style:solid;border-width:var(--primer-borderWidth-thicker,4px) var(--primer-borderWidth-thicker,4px) 0;content:"";display:inline-block;height:0;vertical-align:middle;width:0}.dropdown-menu{background-clip:padding-box;background-color:var(--color-canvas-overlay);border:var(--primer-borderWidth-thin,1px) solid var(--color-border-default);border-radius:var(--primer-borderRadius-medium,6px);box-shadow:var(--color-shadow-large);left:0;list-style:none;margin-top:2px;padding-bottom:var(--primer-control-small-paddingBlock,4px);padding-top:var(--primer-control-small-paddingBlock,4px);position:absolute;top:100%;width:160px;z-index:100}.dropdown-menu:after,.dropdown-menu:before{content:"";display:inline-block;position:absolute}.dropdown-menu:before{border:8px solid #0000;border-bottom:8px solid var(--color-border-default)}.dropdown-menu:after{border:7px solid #0000;border-bottom:7px solid var(--color-canvas-overlay)}.dropdown-menu>ul{list-style:none}.dropdown-menu-no-overflow{width:auto}.dropdown-menu-no-overflow .dropdown-item{overflow:visible;padding:var(--primer-control-small-paddingBlock,4px) var(--primer-control-medium-paddingInline-spacious,16px);text-overflow:inherit}.dropdown-item{color:var(--color-fg-default);display:block;overflow:hidden;padding:var(--primer-control-small-paddingBlock,4px) var(--primer-control-medium-paddingInline-condensed,8px) var(--primer-control-small-paddingBlock,4px) var(--primer-control-medium-paddingInline-spacious,16px);text-overflow:ellipsis;white-space:nowrap}.dropdown-item:hover{background-color:var(--color-accent-emphasis);color:var(--color-fg-on-emphasis);text-decoration:none}.dropdown-item:hover>.octicon{color:inherit;opacity:1}.dropdown-item:hover [class*=color-text-],.dropdown-item:hover>.Label{color:inherit!important}.dropdown-item:hover>.Label{border-color:currentcolor}.dropdown-item.btn-link,.dropdown-signout{text-align:left;width:100%}.dropdown-signout{background:none;border:0}.dropdown-divider{border-top:var(--primer-borderWidth-thin,1px) solid var(--color-border-default);display:block;height:0;margin:var(--primer-stack-gap-condensed,8px) 0}.dropdown-header{color:var(--color-fg-muted);font-size:var(--primer-text-body-size-small,12px);padding:var(--primer-control-small-paddingBlock,4px) var(--primer-control-medium-paddingInline-spacious,16px)}.dropdown-item[aria-checked=false] .octicon-check{display:none}.dropdown-menu-w{left:auto;margin-right:8px;margin-top:0;right:100%;top:0;width:auto}.dropdown-menu-w:before{border-color:#0000;border-left-color:var(--color-border-default);left:auto;right:-16px;top:10px}.dropdown-menu-w:after{border-color:#0000;border-left-color:var(--color-canvas-overlay);left:auto;right:-14px;top:11px}.dropdown-menu-e{left:100%;margin-left:8px;margin-top:0;top:0;width:auto}.dropdown-menu-e:before{border-color:#0000;border-right-color:var(--color-border-default);left:-16px;top:10px}.dropdown-menu-e:after{border-color:#0000;border-right-color:var(--color-canvas-overlay);left:-14px;top:11px}.dropdown-menu-ne{bottom:100%;left:0;margin-bottom:3px;top:auto}.dropdown-menu-ne:after,.dropdown-menu-ne:before{right:auto;top:auto}.dropdown-menu-ne:before{border-bottom:0;border-left:8px solid #0000;border-right:8px solid #0000;border-top:8px solid var(--color-border-default);bottom:-8px;left:9px}.dropdown-menu-ne:after{border-bottom:0;border-left:7px solid #0000;border-right:7px solid #0000;border-top:7px solid var(--color-canvas-overlay);bottom:-7px;left:10px}.dropdown-menu-s{left:auto;right:50%;transform:translateX(50%)}.dropdown-menu-s:before{right:50%;top:-16px;transform:translateX(50%)}.dropdown-menu-s:after{right:50%;top:-14px;transform:translateX(50%)}.dropdown-menu-sw{left:auto;right:0}.dropdown-menu-sw:before{left:auto;right:9px;top:-16px}.dropdown-menu-sw:after{left:auto;right:10px;top:-14px}.dropdown-menu-se:before{left:9px;top:-16px}.dropdown-menu-se:after{left:10px;top:-14px}
@@ -1 +0,0 @@
1
- {"name":"dropdown","selectors":[".dropdown",".dropdown-caret",".dropdown-menu",".dropdown-menu:after",".dropdown-menu:before",".dropdown-menu>ul",".dropdown-menu-no-overflow",".dropdown-menu-no-overflow .dropdown-item",".dropdown-item",".dropdown-item:hover",".dropdown-item:hover>.octicon",".dropdown-item:hover [class*=color-text-]",".dropdown-item:hover>.Label",".dropdown-item.btn-link",".dropdown-signout",".dropdown-divider",".dropdown-header",".dropdown-item[aria-checked=false] .octicon-check",".dropdown-menu-w",".dropdown-menu-w:before",".dropdown-menu-w:after",".dropdown-menu-e",".dropdown-menu-e:before",".dropdown-menu-e:after",".dropdown-menu-ne",".dropdown-menu-ne:after",".dropdown-menu-ne:before",".dropdown-menu-s",".dropdown-menu-s:before",".dropdown-menu-s:after",".dropdown-menu-sw",".dropdown-menu-sw:before",".dropdown-menu-sw:after",".dropdown-menu-se:before",".dropdown-menu-se:after"]}
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class Image < Primer::Alpha::Image
5
- status :deprecated
6
- end
7
- end
@@ -1 +0,0 @@
1
- {"name":"popover_component","selectors":[".Popover",".Popover-message",".Popover-message:after",".Popover-message:before",".Popover-message--no-caret:after",".Popover-message--no-caret:before",".Popover-message--bottom-left:after",".Popover-message--bottom-left:before",".Popover-message--bottom-right:after",".Popover-message--bottom-right:before",".Popover-message--bottom:after",".Popover-message--bottom:before",".Popover-message--bottom-right",".Popover-message--top-right",".Popover-message--top-right:after",".Popover-message--top-right:before",".Popover-message--bottom-left",".Popover-message--top-left",".Popover-message--top-left:after",".Popover-message--top-left:before",".Popover-message--left-bottom:after",".Popover-message--left-bottom:before",".Popover-message--left-top:after",".Popover-message--left-top:before",".Popover-message--left:after",".Popover-message--left:before",".Popover-message--right-bottom:after",".Popover-message--right-bottom:before",".Popover-message--right-top:after",".Popover-message--right-top:before",".Popover-message--right:after",".Popover-message--right:before",".Popover-message--large",".Popover-message>.btn-octicon"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["popover_component.pcss"],"names":[],"mappings":"AAEA,SACE,iBAAkB,CAClB,WACF,CAEA,iBAKE,4CAA6C,CAC7C,2EAA6E,CAC7E,mDAAqD,CAHrD,gBAAiB,CADjB,iBAAkB,CAFlB,iBAAkB,CAClB,WA6BF,CArBE,+CAKE,UAAW,CADX,oBAAqB,CADrB,QAAS,CADT,iBAIF,CAEA,wBAIE,sBAAgD,CAAhD,mDAAgD,CAFhD,gBAAiB,CADjB,SAIF,CAEA,uBAIE,sBAAgD,CAAhD,mDAAgD,CAFhD,gBAAiB,CADjB,SAIF,CAKA,mEAEE,YACF,CAOA,mNAGE,yBAAgC,CADhC,QAEF,CAEA,2GAEE,4CAA6C,CAD7C,YAEF,CAEA,wGAEE,4CAA6C,CAD7C,YAEF,CAIF,2DAGE,cAAe,CADf,UAgBF,CAbE,gJAEE,SAAU,CACV,aACF,CAEA,yEACE,UACF,CAEA,uEACE,UACF,CAIF,yDAEE,SAAU,CACV,aAWF,CATE,4IAEE,SAAU,CACV,aACF,CAEA,qEACE,SACF,CAUA,oZAKE,yBAAgC,CAFhC,SAAU,CACV,aAAc,CAFd,OAIF,CAEA,6MACE,eACF,CAEA,uMACE,eACF,CAOA,wGAEE,6CAA8C,CAD9C,WAEF,CAEA,qGAEE,6CAA8C,CAD9C,WAEF,CAOA,qGAEE,8CAA+C,CAD/C,UAEF,CAEA,kGAEE,8CAA+C,CAD/C,UAEF,CAMA,wIAEE,QACF,CAMA,oJAEE,QACF,CAEA,2EACE,WACF,CAEA,yEACE,WACF,CAGF,yBACE,wBACE,eACF,CACF,CAKA,4BACE,SAIE,kBAAoB,CACpB,gBAAkB,CAJlB,cAAe,CAEf,iBAAmB,CADnB,kBAIF,CAEA,iBAGE,WAAY,CACZ,SAAU,CAEV,4CAA8C,CAJ9C,UAAW,CADX,QAAS,CAIT,oBAEF,CAGA,8BACE,wEACF,CAGA,+CAEE,YACF,CACF","file":"popover_component.css","sourcesContent":["/* Popover */\n\n.Popover {\n position: absolute;\n z-index: 100;\n}\n\n.Popover-message {\n position: relative;\n width: 232px;\n margin-right: auto;\n margin-left: auto;\n background-color: var(--color-canvas-overlay);\n border: var(--primer-borderWidth-thin, 1px) solid var(--color-border-default);\n border-radius: var(--primer-borderRadius-medium, 6px);\n\n /* Carets */\n &::before,\n &::after {\n position: absolute;\n left: 50%;\n display: inline-block;\n content: '';\n }\n\n &::before {\n top: -16px;\n margin-left: -9px;\n border: 8px solid transparent;\n border-bottom-color: var(--color-border-default);\n }\n\n &::after {\n top: -14px;\n margin-left: -8px;\n border: 7px solid transparent;\n border-bottom-color: var(--color-canvas-overlay);\n }\n}\n\n/* No caret */\n.Popover-message--no-caret {\n &::before,\n &::after {\n display: none;\n }\n}\n\n/* Bottom-oriented carets */\n.Popover-message--bottom,\n.Popover-message--bottom-right,\n.Popover-message--bottom-left {\n &::before,\n &::after {\n top: auto;\n border-bottom-color: transparent;\n }\n\n &::before {\n bottom: -16px;\n border-top-color: var(--color-border-default);\n }\n\n &::after {\n bottom: -14px;\n border-top-color: var(--color-canvas-overlay);\n }\n}\n\n/* Top & Bottom: Right-oriented carets */\n.Popover-message--top-right,\n.Popover-message--bottom-right {\n right: -9px;\n margin-right: 0;\n\n &::before,\n &::after {\n left: auto;\n margin-left: 0;\n }\n\n &::before {\n right: 20px;\n }\n\n &::after {\n right: 21px;\n }\n}\n\n/* Top & Bottom: Left-oriented carets */\n.Popover-message--top-left,\n.Popover-message--bottom-left {\n left: -9px;\n margin-left: 0;\n\n &::before,\n &::after {\n left: 24px;\n margin-left: 0;\n }\n\n &::after {\n left: 25px;\n }\n}\n\n/* Right- & Left-oriented carets */\n.Popover-message--right,\n.Popover-message--right-top,\n.Popover-message--right-bottom,\n.Popover-message--left,\n.Popover-message--left-top,\n.Popover-message--left-bottom {\n &::before,\n &::after {\n top: 50%;\n left: auto;\n margin-left: 0;\n border-bottom-color: transparent;\n }\n\n &::before {\n margin-top: -9px;\n }\n\n &::after {\n margin-top: -8px;\n }\n}\n\n/* Right-oriented carets */\n.Popover-message--right,\n.Popover-message--right-top,\n.Popover-message--right-bottom {\n &::before {\n right: -16px;\n border-left-color: var(--color-border-default);\n }\n\n &::after {\n right: -14px;\n border-left-color: var(--color-canvas-overlay);\n }\n}\n\n/* Left-oriented carets */\n.Popover-message--left,\n.Popover-message--left-top,\n.Popover-message--left-bottom {\n &::before {\n left: -16px;\n border-right-color: var(--color-border-default);\n }\n\n &::after {\n left: -14px;\n border-right-color: var(--color-canvas-overlay);\n }\n}\n\n/* Right & Left: Top-oriented carets */\n.Popover-message--right-top,\n.Popover-message--left-top {\n &::before,\n &::after {\n top: 24px;\n }\n}\n\n/* Right & Left: Bottom-oriented carets */\n.Popover-message--right-bottom,\n.Popover-message--left-bottom {\n &::before,\n &::after {\n top: auto;\n }\n\n &::before {\n bottom: 16px;\n }\n\n &::after {\n bottom: 17px;\n }\n}\n\n@media (min-width: 544px) {\n .Popover-message--large {\n min-width: 320px;\n }\n}\n\n/* Responsive Popover\n** For < md it will show full-width anchored to the bottom */\n\n@media (max-width: 767.98px) {\n .Popover {\n position: fixed;\n top: auto !important;\n right: 0 !important;\n bottom: 0 !important;\n left: 0 !important;\n }\n\n .Popover-message {\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n width: auto !important;\n margin: var(--primer-stack-gap-condensed, 8px);\n }\n\n /* Increase tap area for touch input */\n .Popover-message > .btn-octicon {\n padding: var(--primer-control-medium-paddingInline-normal, 12px) !important;\n }\n\n /* Remove caret */\n .Popover-message::after,\n .Popover-message::before {\n display: none;\n }\n}\n"]}
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class ProgressBarComponent < Primer::Beta::ProgressBar
5
- status :deprecated
6
- end
7
- end
@@ -1,2 +0,0 @@
1
- <%= render(Primer::ClipboardCopy.new(for: "blob-path", "aria-label": aria_label)) %>
2
- <div id="blob-path">src/index.js</div>
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- # @label ClipboardCopy
5
- class ClipboardCopyPreview < ViewComponent::Preview
6
- # @label Playground
7
- #
8
- # @param aria_label [String]
9
- # @param value [String]
10
- def playground(value: "Text to copy", aria_label: "Copy text to the system clipboard")
11
- render(Primer::ClipboardCopy.new(value: value, "aria-label": aria_label))
12
- end
13
-
14
- # @label Default Options
15
- #
16
- # @param aria_label [String]
17
- # @param value [String]
18
- def default(value: "Text to copy", aria_label: "Copy text to the system clipboard")
19
- render(Primer::ClipboardCopy.new(value: value, "aria-label": aria_label))
20
- end
21
-
22
- # @label With text instead of icons
23
- #
24
- # @param aria_label [String]
25
- # @param value [String]
26
- def text(value: "Text to copy", aria_label: "Copy text to the system clipboard")
27
- render(Primer::ClipboardCopy.new(value: value, "aria-label": aria_label)) { "Click to copy!" }
28
- end
29
-
30
- # @label Copying from an element
31
- #
32
- # @param aria_label [String]
33
- def element(aria_label: "Copy text to the system clipboard")
34
- render_with_template(locals: { aria_label: aria_label })
35
- end
36
- end
37
- end
@@ -1,208 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- # @label Dropdown
5
- class DropdownPreview < ViewComponent::Preview
6
- # @label Playground
7
- #
8
- # @param with_caret [Boolean] toggle
9
- # @param overlay [Symbol] select [none, default, dark]
10
- def playground(overlay: :default, with_caret: false)
11
- render(Primer::Dropdown.new(overlay: overlay, with_caret: with_caret)) do |c|
12
- c.with_button { "Dropdown" }
13
-
14
- c.with_menu(header: "Header") do |m|
15
- m.with_item { "Item 1" }
16
- m.with_item { "Item 2" }
17
- m.with_item(divider: true)
18
- m.with_item { "Item 3" }
19
- m.with_item { "Item 4" }
20
- end
21
- end
22
- end
23
-
24
- # @label Default
25
- #
26
- def default
27
- render(Primer::Dropdown.new) do |c|
28
- c.with_button { "Dropdown" }
29
- c.with_menu do |m|
30
- m.with_item { "Item 1" }
31
- m.with_item { "Item 2" }
32
- m.with_item { "Item 3" }
33
- end
34
- end
35
- end
36
-
37
- # @label Menu
38
- #
39
- # @param as [Symbol] select [list, default]
40
- # @param direction [Symbol] select [se, sw, w, e, ne, s]
41
- # @param scheme [Symbol] select [default, dark]
42
- def menu(as: :default, direction: :se, scheme: :default)
43
- render(Primer::Dropdown::Menu.new(as: as, direction: direction, scheme: scheme, header: "Header")) do |m|
44
- m.with_item { "Item 1" }
45
- m.with_item { "Item 2" }
46
- m.with_item(divider: true)
47
- m.with_item { "Item 3" }
48
- m.with_item { "Item 4" }
49
- end
50
- end
51
-
52
- # @!group Direction
53
- #
54
- # @label Direction e
55
- def direction_e
56
- render(Primer::Dropdown.new(display: :inline_block)) do |c|
57
- c.with_button { "Dropdown" }
58
- c.with_menu(direction: :e) do |m|
59
- m.with_item { "Item 1" }
60
- m.with_item { "Item 2" }
61
- m.with_item { "Item 3" }
62
- end
63
- end
64
- end
65
-
66
- # @label Direction ne
67
- def direction_ne
68
- render(Primer::Dropdown.new(display: :inline_block)) do |c|
69
- c.with_button { "Dropdown" }
70
- c.with_menu(direction: :ne) do |m|
71
- m.with_item { "Item 1" }
72
- m.with_item { "Item 2" }
73
- m.with_item { "Item 3" }
74
- end
75
- end
76
- end
77
-
78
- # @label Direction s
79
- def direction_s
80
- render(Primer::Dropdown.new(display: :inline_block)) do |c|
81
- c.with_button { "Dropdown" }
82
- c.with_menu(direction: :s) do |m|
83
- m.with_item { "Item 1" }
84
- m.with_item { "Item 2" }
85
- m.with_item { "Item 3" }
86
- end
87
- end
88
- end
89
-
90
- # @label Direction se
91
- def direction_se
92
- render(Primer::Dropdown.new(display: :inline_block)) do |c|
93
- c.with_button { "Dropdown" }
94
- c.with_menu(direction: :se) do |m|
95
- m.with_item { "Item 1" }
96
- m.with_item { "Item 2" }
97
- m.with_item { "Item 3" }
98
- end
99
- end
100
- end
101
-
102
- # @label Direction sw
103
- def direction_sw
104
- render(Primer::Dropdown.new(display: :inline_block)) do |c|
105
- c.with_button { "Dropdown" }
106
- c.with_menu(direction: :sw) do |m|
107
- m.with_item { "Item 1" }
108
- m.with_item { "Item 2" }
109
- m.with_item { "Item 3" }
110
- end
111
- end
112
- end
113
-
114
- # @label Direction w
115
- def direction_w
116
- render(Primer::Dropdown.new(display: :inline_block)) do |c|
117
- c.with_button { "Dropdown" }
118
- c.with_menu(direction: :w) do |m|
119
- m.with_item { "Item 1" }
120
- m.with_item { "Item 2" }
121
- m.with_item { "Item 3" }
122
- end
123
- end
124
- end
125
- #
126
- # @!endgroup
127
-
128
- # @!group Options
129
- #
130
- # @label With caret
131
- def options_with_caret
132
- render(Primer::Dropdown.new(with_caret: true)) do |c|
133
- c.with_button { "Dropdown" }
134
- c.with_menu do |m|
135
- m.with_item { "Item 1" }
136
- m.with_item { "Item 2" }
137
- m.with_item { "Item 3" }
138
- end
139
- end
140
- end
141
-
142
- # @label With header
143
- def options_with_header
144
- render(Primer::Dropdown.new) do |c|
145
- c.with_button { "Dropdown" }
146
- c.with_menu(header: "Header") do |m|
147
- m.with_item { "Item 1" }
148
- m.with_item { "Item 2" }
149
- m.with_item { "Item 3" }
150
- end
151
- end
152
- end
153
-
154
- # @label With dividers
155
- def options_with_dividers
156
- render(Primer::Dropdown.new) do |c|
157
- c.with_button { "Dropdown" }
158
- c.with_menu do |m|
159
- m.with_item { "Item 1" }
160
- m.with_item { "Item 2" }
161
- m.with_item(divider: true)
162
- m.with_item { "Item 3" }
163
- m.with_item { "Item 4" }
164
- m.with_item(divider: true)
165
- m.with_item { "Item 5" }
166
- end
167
- end
168
- end
169
-
170
- # @label As list
171
- def options_as_list
172
- render(Primer::Dropdown.new) do |c|
173
- c.with_button { "Dropdown" }
174
- c.with_menu(as: :list) do |m|
175
- m.with_item { "Item 1" }
176
- m.with_item { "Item 2" }
177
- m.with_item { "Item 3" }
178
- end
179
- end
180
- end
181
-
182
- # @label Overlay none
183
- def options_overlay_none
184
- render(Primer::Dropdown.new(overlay: :none)) do |c|
185
- c.with_button { "Dropdown" }
186
- c.with_menu do |m|
187
- m.with_item { "Item 1" }
188
- m.with_item { "Item 2" }
189
- m.with_item { "Item 3" }
190
- end
191
- end
192
- end
193
-
194
- # @label Overlay dark
195
- def options_overlay_dark
196
- render(Primer::Dropdown.new(overlay: :dark)) do |c|
197
- c.with_button { "Dropdown" }
198
- c.with_menu do |m|
199
- m.with_item { "Item 1" }
200
- m.with_item { "Item 2" }
201
- m.with_item { "Item 3" }
202
- end
203
- end
204
- end
205
- #
206
- # @!endgroup
207
- end
208
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- # @label PopoverComponent
5
- class PopoverComponentPreview < ViewComponent::Preview
6
- # @label Playground
7
- #
8
- # @param caret [Symbol] select [top, right, bottom, left, top_right, top_left, bottom_right, bottom_left, left_bottom, left_top, right_bottom, right_top]
9
- def playground(caret: :top)
10
- render Primer::PopoverComponent.new do |component|
11
- component.with_heading do
12
- "Activity feed"
13
- end
14
- component.with_body(caret: caret) do
15
- "This is the Popover body."
16
- end
17
- end
18
- end
19
-
20
- # @label Default
21
- #
22
- # @param caret [Symbol] select [top, right, bottom, left, top_right, top_left, bottom_right, bottom_left, left_bottom, left_top, right_bottom, right_top]
23
- def default(caret: :top)
24
- render Primer::PopoverComponent.new do |component|
25
- component.with_heading do
26
- "Activity feed"
27
- end
28
- component.with_body(caret: caret) do
29
- "This is the Popover body."
30
- end
31
- end
32
- end
33
- end
34
- end