primer_view_components 0.0.111 → 0.0.113

Sign up to get free protection for your applications and to get access to all the features.
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