primer_view_components 0.0.120 → 0.0.122

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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +58 -0
  3. data/app/assets/styles/primer_view_components.css +2 -2
  4. data/app/assets/styles/primer_view_components.css.map +1 -1
  5. data/app/components/primer/alpha/action_list.css.json +123 -1
  6. data/app/components/primer/alpha/auto_complete.css.json +23 -1
  7. data/app/components/primer/alpha/banner.css.json +24 -1
  8. data/app/components/primer/alpha/button_marketing.css.json +33 -1
  9. data/app/components/primer/alpha/check_box.rb +74 -0
  10. data/app/components/primer/alpha/check_box_group.rb +36 -0
  11. data/app/components/primer/alpha/dialog.css.json +82 -1
  12. data/app/components/primer/alpha/dialog.rb +1 -1
  13. data/app/components/primer/alpha/dropdown.css.json +40 -1
  14. data/app/components/primer/alpha/form_button.rb +32 -0
  15. data/app/components/primer/alpha/form_control.html.erb +26 -0
  16. data/app/components/primer/alpha/form_control.rb +105 -0
  17. data/app/components/primer/alpha/layout.css.json +80 -1
  18. data/app/components/primer/alpha/menu.css.json +28 -1
  19. data/app/components/primer/alpha/multi_input.rb +81 -0
  20. data/app/components/primer/alpha/radio_button.rb +25 -0
  21. data/app/components/primer/alpha/radio_button_group.rb +36 -0
  22. data/app/components/primer/alpha/segmented_control/item.rb +1 -0
  23. data/app/components/primer/alpha/segmented_control.css +1 -1
  24. data/app/components/primer/alpha/segmented_control.css.json +31 -1
  25. data/app/components/primer/alpha/segmented_control.css.map +1 -1
  26. data/app/components/primer/alpha/segmented_control.pcss +43 -12
  27. data/app/components/primer/alpha/segmented_control.rb +30 -0
  28. data/app/components/primer/alpha/select.rb +37 -0
  29. data/app/components/primer/alpha/submit_button.rb +32 -0
  30. data/app/components/primer/alpha/tab_nav.css.json +24 -1
  31. data/app/components/primer/alpha/tab_panels.rb +7 -0
  32. data/app/components/primer/alpha/text_area.rb +24 -0
  33. data/app/components/primer/alpha/text_field.css +2 -2
  34. data/app/components/primer/alpha/text_field.css.json +134 -1
  35. data/app/components/primer/alpha/text_field.css.map +1 -1
  36. data/app/components/primer/alpha/text_field.pcss +27 -0
  37. data/app/components/primer/alpha/text_field.rb +16 -20
  38. data/app/components/primer/alpha/toggle_switch.css +1 -1
  39. data/app/components/primer/alpha/toggle_switch.css.json +40 -1
  40. data/app/components/primer/alpha/toggle_switch.css.map +1 -1
  41. data/app/components/primer/alpha/toggle_switch.pcss +31 -61
  42. data/app/components/primer/alpha/underline_nav.css.json +28 -1
  43. data/app/components/primer/base_component.rb +3 -3
  44. data/app/components/primer/beta/avatar.css.json +17 -1
  45. data/app/components/primer/beta/avatar_stack.css.json +28 -1
  46. data/app/components/primer/beta/blankslate.css.json +22 -1
  47. data/app/components/primer/beta/border_box.css.json +54 -1
  48. data/app/components/primer/beta/breadcrumbs.css.json +11 -1
  49. data/app/components/primer/beta/button.css.json +71 -1
  50. data/app/components/primer/beta/close_button.rb +1 -1
  51. data/app/components/primer/beta/counter.css.json +10 -1
  52. data/app/components/primer/beta/flash.css.json +27 -1
  53. data/app/components/primer/beta/label.css.json +25 -1
  54. data/app/components/primer/beta/link.css.json +19 -1
  55. data/app/components/primer/beta/popover.css.json +39 -1
  56. data/app/components/primer/beta/progress_bar.css.json +10 -1
  57. data/app/components/primer/{local_time.d.ts → beta/relative_time.d.ts} +0 -0
  58. data/app/components/primer/{local_time.js → beta/relative_time.js} +0 -0
  59. data/app/components/primer/{local_time.ts → beta/relative_time.ts} +0 -0
  60. data/app/components/primer/beta/state.css.json +13 -1
  61. data/app/components/primer/beta/subhead.css.json +12 -1
  62. data/app/components/primer/beta/timeline_item.css.json +16 -1
  63. data/app/components/primer/beta/truncate.css.json +12 -1
  64. data/app/components/primer/component.rb +12 -3
  65. data/app/components/primer/primer.d.ts +1 -2
  66. data/app/components/primer/primer.js +1 -2
  67. data/app/components/primer/primer.ts +1 -2
  68. data/app/components/primer/truncate.css.json +13 -1
  69. data/app/forms/example_toggle_switch_form.rb +1 -1
  70. data/app/forms/{select_list_form.rb → select_form.rb} +1 -1
  71. data/app/lib/primer/css/layout.css.json +316 -1
  72. data/app/lib/primer/css/utilities.css.json +1659 -1
  73. data/app/lib/primer/view_helper.rb +0 -1
  74. data/lib/primer/deprecations.yml +0 -78
  75. data/lib/primer/form_components.rb +26 -6
  76. data/lib/primer/forms/acts_as_component.rb +12 -1
  77. data/lib/primer/forms/builder.rb +1 -17
  78. data/lib/primer/forms/button.rb +4 -1
  79. data/lib/primer/forms/check_box_group.html.erb +14 -9
  80. data/lib/primer/forms/check_box_group.rb +5 -0
  81. data/lib/primer/forms/dsl/check_box_group_input.rb +3 -4
  82. data/lib/primer/forms/dsl/input.rb +33 -2
  83. data/lib/primer/forms/dsl/input_methods.rb +49 -1
  84. data/lib/primer/forms/dsl/radio_button_group_input.rb +2 -3
  85. data/lib/primer/forms/dsl/{select_list_input.rb → select_input.rb} +2 -2
  86. data/lib/primer/forms/dsl/text_field_input.rb +7 -5
  87. data/lib/primer/forms/form_control.rb +0 -1
  88. data/lib/primer/forms/group.html.erb +1 -1
  89. data/lib/primer/forms/multi.html.erb +8 -6
  90. data/lib/primer/forms/multi.rb +2 -0
  91. data/lib/primer/forms/radio_button_group.html.erb +14 -9
  92. data/lib/primer/forms/radio_button_group.rb +5 -0
  93. data/lib/primer/forms/{select_list.html.erb → select.html.erb} +0 -0
  94. data/lib/primer/forms/{select_list.rb → select.rb} +2 -2
  95. data/lib/primer/forms/spacing_wrapper.html.erb +1 -1
  96. data/lib/primer/forms/text_area.rb +1 -1
  97. data/lib/primer/forms/text_field.rb +5 -1
  98. data/lib/primer/forms/toggle_switch_form.rb +10 -3
  99. data/lib/primer/forms/utils.rb +20 -0
  100. data/lib/primer/view_components/engine.rb +1 -1
  101. data/lib/primer/view_components/version.rb +1 -1
  102. data/lib/primer/yard/backend.rb +1 -15
  103. data/lib/primer/yard/component_manifest.rb +44 -27
  104. data/lib/primer/yard/component_ref.rb +40 -0
  105. data/lib/primer/yard/docs_helper.rb +16 -2
  106. data/lib/primer/yard/legacy_gatsby_backend.rb +9 -15
  107. data/lib/primer/yard/lookbook_docs_helper.rb +32 -0
  108. data/lib/primer/yard/lookbook_pages_backend.rb +194 -0
  109. data/lib/primer/yard/registry.rb +6 -21
  110. data/lib/primer/yard/renders_many_handler.rb +1 -1
  111. data/lib/primer/yard/renders_one_handler.rb +1 -1
  112. data/lib/primer/yard.rb +14 -0
  113. data/lib/tasks/docs.rake +26 -13
  114. data/lib/tasks/static.rake +22 -0
  115. data/previews/pages/forms/01_introduction.md.erb +44 -0
  116. data/previews/pages/forms/02_getting_started.md.erb +125 -0
  117. data/previews/pages/forms/03_caption_templates.md.erb +30 -0
  118. data/previews/pages/forms/04_after_content.md.erb +39 -0
  119. data/previews/pages/forms/05_groups_layouts.md.erb +22 -0
  120. data/previews/pages/forms/06_miscellaneous_inputs.md.erb +43 -0
  121. data/previews/pages/forms/07_toggle_switch_forms.md.erb +58 -0
  122. data/previews/pages/forms/08_validations.md.erb +28 -0
  123. data/previews/pages/forms/09_compound_forms.md.erb +97 -0
  124. data/previews/primer/alpha/auto_complete_preview.rb +6 -6
  125. data/previews/primer/alpha/check_box_group_preview.rb +89 -0
  126. data/previews/primer/alpha/check_box_preview.rb +62 -0
  127. data/previews/primer/alpha/form_control_preview/playground.html.erb +9 -0
  128. data/previews/primer/alpha/form_control_preview.rb +106 -0
  129. data/previews/primer/alpha/multi_input_preview/playground.html.erb +41 -0
  130. data/previews/primer/alpha/multi_input_preview.rb +80 -0
  131. data/previews/primer/alpha/radio_button_group_preview.rb +83 -0
  132. data/previews/primer/alpha/radio_button_preview.rb +62 -0
  133. data/previews/primer/alpha/segmented_control_preview/with_label_and_caption.html.erb +9 -0
  134. data/previews/primer/alpha/segmented_control_preview/with_subhead_actions.html.erb +11 -0
  135. data/previews/primer/alpha/segmented_control_preview.rb +7 -1
  136. data/previews/primer/alpha/select_preview.rb +130 -0
  137. data/previews/primer/alpha/text_area_preview.rb +87 -0
  138. data/previews/primer/alpha/text_field_preview.rb +24 -1
  139. data/previews/primer/alpha/toggle_switch_preview.rb +9 -9
  140. data/previews/primer/beta/auto_complete_preview.rb +17 -17
  141. data/previews/primer/forms/forms_preview/example_toggle_switch_form.html.erb +2 -2
  142. data/previews/primer/forms/forms_preview/{select_list_form.html.erb → select_form.html.erb} +1 -1
  143. data/previews/primer/forms/forms_preview.rb +3 -1
  144. data/previews/primer/url_helpers.rb +1 -1
  145. data/static/arguments.json +1348 -1412
  146. data/static/audited_at.json +12 -21
  147. data/static/constants.json +20 -51
  148. data/static/previews.json +1812 -0
  149. data/static/statuses.json +10 -19
  150. metadata +47 -32
  151. data/app/components/primer/dropdown/menu.rb +0 -14
  152. data/app/components/primer/dropdown.rb +0 -7
  153. data/app/components/primer/hellip_button.rb +0 -7
  154. data/app/components/primer/label_component.rb +0 -7
  155. data/app/components/primer/link_component.rb +0 -7
  156. data/app/components/primer/local_time.rb +0 -63
  157. data/app/components/primer/markdown.rb +0 -7
  158. data/app/components/primer/menu_component.rb +0 -7
  159. data/app/components/primer/octicon_component.rb +0 -7
  160. data/app/components/primer/octicon_symbols_component.rb +0 -7
  161. data/app/components/primer/popover_component.rb +0 -8
  162. data/app/components/primer/spinner_component.rb +0 -7
  163. data/app/components/primer/state_component.rb +0 -7
  164. data/app/components/primer/subhead_component.rb +0 -7
  165. data/app/components/primer/tab_container_component.rb +0 -7
  166. data/app/components/primer/time_ago_component.d.ts +0 -1
  167. data/app/components/primer/time_ago_component.js +0 -1
  168. data/app/components/primer/time_ago_component.rb +0 -51
  169. data/app/components/primer/time_ago_component.ts +0 -1
  170. data/app/components/primer/timeline_item_component.rb +0 -13
  171. data/previews/primer/local_time_component_preview.rb +0 -57
  172. data/previews/primer/time_ago_component_preview.rb +0 -27
data/static/statuses.json CHANGED
@@ -7,6 +7,8 @@
7
7
  "Primer::Alpha::AutoComplete::Item": "deprecated",
8
8
  "Primer::Alpha::Banner": "alpha",
9
9
  "Primer::Alpha::ButtonMarketing": "alpha",
10
+ "Primer::Alpha::CheckBox": "alpha",
11
+ "Primer::Alpha::CheckBoxGroup": "alpha",
10
12
  "Primer::Alpha::Dialog": "alpha",
11
13
  "Primer::Alpha::Dialog::Body": "alpha",
12
14
  "Primer::Alpha::Dialog::Footer": "alpha",
@@ -14,6 +16,8 @@
14
16
  "Primer::Alpha::Dropdown": "alpha",
15
17
  "Primer::Alpha::Dropdown::Menu": "alpha",
16
18
  "Primer::Alpha::Dropdown::Menu::Item": "alpha",
19
+ "Primer::Alpha::FormButton": "alpha",
20
+ "Primer::Alpha::FormControl": "alpha",
17
21
  "Primer::Alpha::HellipButton": "alpha",
18
22
  "Primer::Alpha::HiddenTextExpander": "alpha",
19
23
  "Primer::Alpha::Image": "alpha",
@@ -22,15 +26,21 @@
22
26
  "Primer::Alpha::Layout::Main": "alpha",
23
27
  "Primer::Alpha::Layout::Sidebar": "alpha",
24
28
  "Primer::Alpha::Menu": "alpha",
29
+ "Primer::Alpha::MultiInput": "alpha",
25
30
  "Primer::Alpha::NavList": "alpha",
26
31
  "Primer::Alpha::NavList::Item": "alpha",
27
32
  "Primer::Alpha::NavList::Section": "alpha",
28
33
  "Primer::Alpha::OcticonSymbols": "alpha",
34
+ "Primer::Alpha::RadioButton": "alpha",
35
+ "Primer::Alpha::RadioButtonGroup": "alpha",
29
36
  "Primer::Alpha::SegmentedControl": "alpha",
30
37
  "Primer::Alpha::SegmentedControl::Item": "alpha",
38
+ "Primer::Alpha::Select": "alpha",
39
+ "Primer::Alpha::SubmitButton": "alpha",
31
40
  "Primer::Alpha::TabContainer": "alpha",
32
41
  "Primer::Alpha::TabNav": "alpha",
33
42
  "Primer::Alpha::TabPanels": "alpha",
43
+ "Primer::Alpha::TextArea": "alpha",
34
44
  "Primer::Alpha::TextField": "alpha",
35
45
  "Primer::Alpha::ToggleSwitch": "alpha",
36
46
  "Primer::Alpha::Tooltip": "alpha",
@@ -76,28 +86,9 @@
76
86
  "Primer::ButtonComponent": "deprecated",
77
87
  "Primer::ConditionalWrapper": "alpha",
78
88
  "Primer::Content": "stable",
79
- "Primer::Dropdown": "deprecated",
80
- "Primer::Dropdown::Menu": "deprecated",
81
- "Primer::Dropdown::Menu::Item": "deprecated",
82
- "Primer::HellipButton": "deprecated",
83
89
  "Primer::IconButton": "deprecated",
84
- "Primer::LabelComponent": "deprecated",
85
90
  "Primer::LayoutComponent": "alpha",
86
- "Primer::LinkComponent": "deprecated",
87
- "Primer::LocalTime": "deprecated",
88
- "Primer::Markdown": "deprecated",
89
- "Primer::MenuComponent": "deprecated",
90
91
  "Primer::Navigation::TabComponent": "alpha",
91
- "Primer::OcticonComponent": "deprecated",
92
- "Primer::OcticonSymbolsComponent": "deprecated",
93
- "Primer::PopoverComponent": "deprecated",
94
- "Primer::SpinnerComponent": "deprecated",
95
- "Primer::StateComponent": "deprecated",
96
- "Primer::SubheadComponent": "deprecated",
97
- "Primer::TabContainerComponent": "deprecated",
98
- "Primer::TimeAgoComponent": "deprecated",
99
- "Primer::TimelineItemComponent": "deprecated",
100
- "Primer::TimelineItemComponent::BadgeComponent": "deprecated",
101
92
  "Primer::Tooltip": "deprecated",
102
93
  "Primer::Truncate": "beta"
103
94
  }
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.120
4
+ version: 0.0.122
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: 2023-01-27 00:00:00.000000000 Z
11
+ date: 2023-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionview
@@ -423,6 +423,8 @@ files:
423
423
  - app/components/primer/alpha/button_marketing.css.map
424
424
  - app/components/primer/alpha/button_marketing.pcss
425
425
  - app/components/primer/alpha/button_marketing.rb
426
+ - app/components/primer/alpha/check_box.rb
427
+ - app/components/primer/alpha/check_box_group.rb
426
428
  - app/components/primer/alpha/dialog.css
427
429
  - app/components/primer/alpha/dialog.css.json
428
430
  - app/components/primer/alpha/dialog.css.map
@@ -447,6 +449,9 @@ files:
447
449
  - app/components/primer/alpha/dropdown/menu.js
448
450
  - app/components/primer/alpha/dropdown/menu.rb
449
451
  - app/components/primer/alpha/dropdown/menu.ts
452
+ - app/components/primer/alpha/form_button.rb
453
+ - app/components/primer/alpha/form_control.html.erb
454
+ - app/components/primer/alpha/form_control.rb
450
455
  - app/components/primer/alpha/hellip_button.rb
451
456
  - app/components/primer/alpha/hidden_text_expander.rb
452
457
  - app/components/primer/alpha/image.rb
@@ -470,6 +475,7 @@ files:
470
475
  - app/components/primer/alpha/modal_dialog.d.ts
471
476
  - app/components/primer/alpha/modal_dialog.js
472
477
  - app/components/primer/alpha/modal_dialog.ts
478
+ - app/components/primer/alpha/multi_input.rb
473
479
  - app/components/primer/alpha/nav_list.d.ts
474
480
  - app/components/primer/alpha/nav_list.html.erb
475
481
  - app/components/primer/alpha/nav_list.js
@@ -481,6 +487,8 @@ files:
481
487
  - app/components/primer/alpha/nav_list/section.rb
482
488
  - app/components/primer/alpha/octicon_symbols.html.erb
483
489
  - app/components/primer/alpha/octicon_symbols.rb
490
+ - app/components/primer/alpha/radio_button.rb
491
+ - app/components/primer/alpha/radio_button_group.rb
484
492
  - app/components/primer/alpha/segmented_control.css
485
493
  - app/components/primer/alpha/segmented_control.css.json
486
494
  - app/components/primer/alpha/segmented_control.css.map
@@ -492,6 +500,8 @@ files:
492
500
  - app/components/primer/alpha/segmented_control.ts
493
501
  - app/components/primer/alpha/segmented_control/item.html.erb
494
502
  - app/components/primer/alpha/segmented_control/item.rb
503
+ - app/components/primer/alpha/select.rb
504
+ - app/components/primer/alpha/submit_button.rb
495
505
  - app/components/primer/alpha/tab_container.d.ts
496
506
  - app/components/primer/alpha/tab_container.js
497
507
  - app/components/primer/alpha/tab_container.rb
@@ -504,6 +514,7 @@ files:
504
514
  - app/components/primer/alpha/tab_nav.rb
505
515
  - app/components/primer/alpha/tab_panels.html.erb
506
516
  - app/components/primer/alpha/tab_panels.rb
517
+ - app/components/primer/alpha/text_area.rb
507
518
  - app/components/primer/alpha/text_field.css
508
519
  - app/components/primer/alpha/text_field.css.json
509
520
  - app/components/primer/alpha/text_field.css.map
@@ -628,7 +639,10 @@ files:
628
639
  - app/components/primer/beta/progress_bar.html.erb
629
640
  - app/components/primer/beta/progress_bar.pcss
630
641
  - app/components/primer/beta/progress_bar.rb
642
+ - app/components/primer/beta/relative_time.d.ts
643
+ - app/components/primer/beta/relative_time.js
631
644
  - app/components/primer/beta/relative_time.rb
645
+ - app/components/primer/beta/relative_time.ts
632
646
  - app/components/primer/beta/spinner.html.erb
633
647
  - app/components/primer/beta/spinner.rb
634
648
  - app/components/primer/beta/state.css
@@ -663,39 +677,16 @@ files:
663
677
  - app/components/primer/component.rb
664
678
  - app/components/primer/conditional_wrapper.rb
665
679
  - app/components/primer/content.rb
666
- - app/components/primer/dropdown.rb
667
- - app/components/primer/dropdown/menu.rb
668
- - app/components/primer/hellip_button.rb
669
680
  - app/components/primer/icon_button.html.erb
670
681
  - app/components/primer/icon_button.rb
671
- - app/components/primer/label_component.rb
672
682
  - app/components/primer/layout_component.html.erb
673
683
  - app/components/primer/layout_component.rb
674
- - app/components/primer/link_component.rb
675
- - app/components/primer/local_time.d.ts
676
- - app/components/primer/local_time.js
677
- - app/components/primer/local_time.rb
678
- - app/components/primer/local_time.ts
679
- - app/components/primer/markdown.rb
680
- - app/components/primer/menu_component.rb
681
684
  - app/components/primer/navigation/tab_component.html.erb
682
685
  - app/components/primer/navigation/tab_component.rb
683
- - app/components/primer/octicon_component.rb
684
- - app/components/primer/octicon_symbols_component.rb
685
- - app/components/primer/popover_component.rb
686
686
  - app/components/primer/primer.d.ts
687
687
  - app/components/primer/primer.js
688
688
  - app/components/primer/primer.pcss
689
689
  - app/components/primer/primer.ts
690
- - app/components/primer/spinner_component.rb
691
- - app/components/primer/state_component.rb
692
- - app/components/primer/subhead_component.rb
693
- - app/components/primer/tab_container_component.rb
694
- - app/components/primer/time_ago_component.d.ts
695
- - app/components/primer/time_ago_component.js
696
- - app/components/primer/time_ago_component.rb
697
- - app/components/primer/time_ago_component.ts
698
- - app/components/primer/timeline_item_component.rb
699
690
  - app/components/primer/tooltip.rb
700
691
  - app/components/primer/truncate.css
701
692
  - app/components/primer/truncate.css.json
@@ -730,7 +721,7 @@ files:
730
721
  - app/forms/name_with_question_mark_form/enabled_caption.html.erb
731
722
  - app/forms/radio_button_group_form.rb
732
723
  - app/forms/radio_button_with_nested_form.rb
733
- - app/forms/select_list_form.rb
724
+ - app/forms/select_form.rb
734
725
  - app/forms/single_text_field_form.rb
735
726
  - app/forms/submit_button_form.rb
736
727
  - app/forms/text_field_and_checkbox_form.rb
@@ -791,7 +782,7 @@ files:
791
782
  - lib/primer/forms/dsl/multi_input.rb
792
783
  - lib/primer/forms/dsl/radio_button_group_input.rb
793
784
  - lib/primer/forms/dsl/radio_button_input.rb
794
- - lib/primer/forms/dsl/select_list_input.rb
785
+ - lib/primer/forms/dsl/select_input.rb
795
786
  - lib/primer/forms/dsl/submit_button_input.rb
796
787
  - lib/primer/forms/dsl/text_area_input.rb
797
788
  - lib/primer/forms/dsl/text_field_input.rb
@@ -818,8 +809,8 @@ files:
818
809
  - lib/primer/forms/radio_button.rb
819
810
  - lib/primer/forms/radio_button_group.html.erb
820
811
  - lib/primer/forms/radio_button_group.rb
821
- - lib/primer/forms/select_list.html.erb
822
- - lib/primer/forms/select_list.rb
812
+ - lib/primer/forms/select.html.erb
813
+ - lib/primer/forms/select.rb
823
814
  - lib/primer/forms/separator.html.erb
824
815
  - lib/primer/forms/separator.rb
825
816
  - lib/primer/forms/spacing_wrapper.html.erb
@@ -873,10 +864,14 @@ files:
873
864
  - lib/primer/view_components/linters/two_column_layout_migration_counter.rb
874
865
  - lib/primer/view_components/statuses.rb
875
866
  - lib/primer/view_components/version.rb
867
+ - lib/primer/yard.rb
876
868
  - lib/primer/yard/backend.rb
877
869
  - lib/primer/yard/component_manifest.rb
870
+ - lib/primer/yard/component_ref.rb
878
871
  - lib/primer/yard/docs_helper.rb
879
872
  - lib/primer/yard/legacy_gatsby_backend.rb
873
+ - lib/primer/yard/lookbook_docs_helper.rb
874
+ - lib/primer/yard/lookbook_pages_backend.rb
880
875
  - lib/primer/yard/registry.rb
881
876
  - lib/primer/yard/renders_many_handler.rb
882
877
  - lib/primer/yard/renders_one_handler.rb
@@ -902,6 +897,15 @@ files:
902
897
  - lib/tasks/static.rake
903
898
  - lib/tasks/test.rake
904
899
  - lib/tasks/utilities.rake
900
+ - previews/pages/forms/01_introduction.md.erb
901
+ - previews/pages/forms/02_getting_started.md.erb
902
+ - previews/pages/forms/03_caption_templates.md.erb
903
+ - previews/pages/forms/04_after_content.md.erb
904
+ - previews/pages/forms/05_groups_layouts.md.erb
905
+ - previews/pages/forms/06_miscellaneous_inputs.md.erb
906
+ - previews/pages/forms/07_toggle_switch_forms.md.erb
907
+ - previews/pages/forms/08_validations.md.erb
908
+ - previews/pages/forms/09_compound_forms.md.erb
905
909
  - previews/primer/alpha/action_list_preview.rb
906
910
  - previews/primer/alpha/action_list_preview/heading.html.erb
907
911
  - previews/primer/alpha/auto_complete_preview.rb
@@ -909,6 +913,8 @@ files:
909
913
  - previews/primer/alpha/banner_preview/with_action_button.html.erb
910
914
  - previews/primer/alpha/banner_preview/with_action_content.html.erb
911
915
  - previews/primer/alpha/button_marketing_preview.rb
916
+ - previews/primer/alpha/check_box_group_preview.rb
917
+ - previews/primer/alpha/check_box_preview.rb
912
918
  - previews/primer/alpha/dialog_preview.rb
913
919
  - previews/primer/alpha/dialog_preview/body_has_scrollbar_overflow.html.erb
914
920
  - previews/primer/alpha/dialog_preview/custom_header.html.erb
@@ -918,6 +924,8 @@ files:
918
924
  - previews/primer/alpha/dialog_preview/with_form.html.erb
919
925
  - previews/primer/alpha/dialog_preview/with_text_input.html.erb
920
926
  - previews/primer/alpha/dropdown_preview.rb
927
+ - previews/primer/alpha/form_control_preview.rb
928
+ - previews/primer/alpha/form_control_preview/playground.html.erb
921
929
  - previews/primer/alpha/hellip_button_preview.rb
922
930
  - previews/primer/alpha/hidden_text_expander_preview.rb
923
931
  - previews/primer/alpha/image_crop_preview.rb
@@ -925,10 +933,18 @@ files:
925
933
  - previews/primer/alpha/menu_preview.rb
926
934
  - previews/primer/alpha/menu_preview/default.html.erb
927
935
  - previews/primer/alpha/menu_preview/playground.html.erb
936
+ - previews/primer/alpha/multi_input_preview.rb
937
+ - previews/primer/alpha/multi_input_preview/playground.html.erb
928
938
  - previews/primer/alpha/nav_list_preview.rb
939
+ - previews/primer/alpha/radio_button_group_preview.rb
940
+ - previews/primer/alpha/radio_button_preview.rb
929
941
  - previews/primer/alpha/segmented_control_preview.rb
942
+ - previews/primer/alpha/segmented_control_preview/with_label_and_caption.html.erb
943
+ - previews/primer/alpha/segmented_control_preview/with_subhead_actions.html.erb
944
+ - previews/primer/alpha/select_preview.rb
930
945
  - previews/primer/alpha/tab_nav_preview.rb
931
946
  - previews/primer/alpha/tab_panels_preview.rb
947
+ - previews/primer/alpha/text_area_preview.rb
932
948
  - previews/primer/alpha/text_field_preview.rb
933
949
  - previews/primer/alpha/toggle_switch_preview.rb
934
950
  - previews/primer/alpha/tooltip_preview.rb
@@ -996,18 +1012,17 @@ files:
996
1012
  - previews/primer/forms/forms_preview/name_with_question_mark_form.html.erb
997
1013
  - previews/primer/forms/forms_preview/radio_button_group_form.html.erb
998
1014
  - previews/primer/forms/forms_preview/radio_button_with_nested_form.html.erb
999
- - previews/primer/forms/forms_preview/select_list_form.html.erb
1015
+ - previews/primer/forms/forms_preview/select_form.html.erb
1000
1016
  - previews/primer/forms/forms_preview/single_text_field_form.html.erb
1001
1017
  - previews/primer/forms/forms_preview/submit_button_form.html.erb
1002
1018
  - previews/primer/forms/forms_preview/text_field_and_checkbox_form.html.erb
1003
1019
  - previews/primer/layout_component_preview.rb
1004
- - previews/primer/local_time_component_preview.rb
1005
- - previews/primer/time_ago_component_preview.rb
1006
1020
  - previews/primer/url_helpers.rb
1007
1021
  - static/arguments.json
1008
1022
  - static/assets/view-components.svg
1009
1023
  - static/audited_at.json
1010
1024
  - static/constants.json
1025
+ - static/previews.json
1011
1026
  - static/statuses.json
1012
1027
  homepage: https://github.com/primer/view_components
1013
1028
  licenses:
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class Dropdown
5
- # :nodoc:
6
- class Menu < Primer::Alpha::Dropdown::Menu
7
- status :deprecated
8
-
9
- class Item < Primer::Alpha::Dropdown::Menu::Item
10
- status :deprecated
11
- end
12
- end
13
- end
14
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class Dropdown < Primer::Alpha::Dropdown
5
- status :deprecated
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class HellipButton < Primer::Alpha::HellipButton
5
- status :deprecated
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class LabelComponent < Primer::Beta::Label
5
- status :deprecated
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class LinkComponent < Primer::Beta::Link
5
- status :deprecated
6
- end
7
- end
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- # Use `LocalTime` to format a date and time in the user's preferred locale format. This component requires JavaScript.
5
- class LocalTime < Primer::Component
6
- status :deprecated
7
-
8
- DEFAULT_DIGIT_TYPE = :numeric
9
- DIGIT_TYPE_OPTIONS = [DEFAULT_DIGIT_TYPE, :"2-digit"].freeze
10
-
11
- DEFAULT_TEXT_TYPE = :short
12
- TEXT_TYPE_OPTIONS = [DEFAULT_TEXT_TYPE, :long].freeze
13
-
14
- # @example Default
15
- # <%= render(Primer::LocalTime.new(datetime: DateTime.parse("2014-06-01T13:05:07Z"))) %>
16
- #
17
- # @example All the options
18
- # <%= render(Primer::LocalTime.new(datetime: DateTime.parse("2014-06-01T13:05:07Z"), weekday: :long, year: :"2-digit", month: :long, day: :"2-digit", hour: :"2-digit", minute: :"2-digit", second: :"2-digit", time_zone_name: :long)) %>
19
- #
20
- # @example With initial content
21
- # <%= render(Primer::LocalTime.new(datetime: DateTime.parse("2014-06-01T13:05:07Z"))) do %>
22
- # <!-- This content will be replaced once the component connects -->
23
- # 2014/06/01 13:05
24
- # <% end %>
25
- #
26
- # @param datetime [DateTime] The date to parse
27
- # @param initial_text [String] Text to render before component is initialized
28
- # @param weekday [Symbol] <%= one_of(Primer::LocalTime::TEXT_TYPE_OPTIONS) %>
29
- # @param year [Symbol] <%= one_of(Primer::LocalTime::DIGIT_TYPE_OPTIONS) %>
30
- # @param month [Symbol] <%= one_of(Primer::LocalTime::TEXT_TYPE_OPTIONS) %>
31
- # @param day [Symbol] <%= one_of(Primer::LocalTime::DIGIT_TYPE_OPTIONS) %>
32
- # @param hour [Symbol] <%= one_of(Primer::LocalTime::DIGIT_TYPE_OPTIONS) %>
33
- # @param minute [Symbol] <%= one_of(Primer::LocalTime::DIGIT_TYPE_OPTIONS) %>
34
- # @param second [Symbol] <%= one_of(Primer::LocalTime::DIGIT_TYPE_OPTIONS) %>
35
- # @param time_zone_name [Symbol] <%= one_of(Primer::LocalTime::TEXT_TYPE_OPTIONS) %>
36
- # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
37
- def initialize(datetime:, initial_text: nil, weekday: DEFAULT_TEXT_TYPE, year: DEFAULT_DIGIT_TYPE, month: DEFAULT_TEXT_TYPE, day: DEFAULT_DIGIT_TYPE, hour: DEFAULT_DIGIT_TYPE, minute: DEFAULT_DIGIT_TYPE, second: DEFAULT_DIGIT_TYPE, time_zone_name: DEFAULT_TEXT_TYPE, **system_arguments)
38
- @system_arguments = deny_tag_argument(**system_arguments)
39
-
40
- @datetime = datetime
41
-
42
- @system_arguments[:tag] = "relative-time"
43
- @system_arguments[:threshold] = "PT0S"
44
- @system_arguments[:prefix] = ""
45
- @system_arguments[:datetime] = datetime
46
-
47
- @initial_text = initial_text
48
-
49
- @system_arguments[:weekday] = fetch_or_fallback(TEXT_TYPE_OPTIONS, weekday, DEFAULT_TEXT_TYPE)
50
- @system_arguments[:year] = fetch_or_fallback(DIGIT_TYPE_OPTIONS, year, DEFAULT_DIGIT_TYPE)
51
- @system_arguments[:month] = fetch_or_fallback(TEXT_TYPE_OPTIONS, month, DEFAULT_TEXT_TYPE)
52
- @system_arguments[:day] = fetch_or_fallback(DIGIT_TYPE_OPTIONS, day, DEFAULT_DIGIT_TYPE)
53
- @system_arguments[:hour] = fetch_or_fallback(DIGIT_TYPE_OPTIONS, hour, DEFAULT_DIGIT_TYPE)
54
- @system_arguments[:minute] = fetch_or_fallback(DIGIT_TYPE_OPTIONS, minute, DEFAULT_DIGIT_TYPE)
55
- @system_arguments[:second] = fetch_or_fallback(DIGIT_TYPE_OPTIONS, second, DEFAULT_DIGIT_TYPE)
56
- @system_arguments[:"time-zone-name"] = fetch_or_fallback(TEXT_TYPE_OPTIONS, time_zone_name, DEFAULT_TEXT_TYPE)
57
- end
58
-
59
- def call
60
- render(Primer::BaseComponent.new(**@system_arguments).with_content(@initial_text || @datetime.strftime("%B %-d, %Y %H:%M %Z")))
61
- end
62
- end
63
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class Markdown < Primer::Beta::Markdown
5
- status :deprecated
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class MenuComponent < Primer::Alpha::Menu
5
- status :deprecated
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class OcticonComponent < Primer::Beta::Octicon
5
- status :deprecated
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class OcticonSymbolsComponent < Primer::Alpha::OcticonSymbols
5
- status :deprecated
6
- end
7
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- # :nodoc:
5
- class PopoverComponent < Primer::Beta::Popover
6
- status :deprecated
7
- end
8
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class SpinnerComponent < Primer::Beta::Spinner
5
- status :deprecated
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class StateComponent < Primer::Beta::State
5
- status :deprecated
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class SubheadComponent < Primer::Beta::Subhead
5
- status :deprecated
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- class TabContainerComponent < Primer::Alpha::TabContainer
5
- status :deprecated
6
- end
7
- end
@@ -1 +0,0 @@
1
- import '@github/relative-time-element';
@@ -1 +0,0 @@
1
- import '@github/relative-time-element';
@@ -1,51 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- # Use `TimeAgo` to display a time relative to how long ago it was. This component requires JavaScript.
5
- class TimeAgoComponent < Primer::Component
6
- status :deprecated
7
-
8
- # @example Default
9
- # <%= render(Primer::TimeAgoComponent.new(time: Time.at(628232400))) %>
10
- #
11
- # @param time [Time] The time to be formatted
12
- # @param micro [Boolean] If true then the text will be formatted in "micro" mode, using as few characters as possible
13
- # @param system_arguments [Hash] <%= link_to_system_arguments_docs %>
14
- def initialize(time:, micro: false, **system_arguments)
15
- @system_arguments = deny_tag_argument(**system_arguments)
16
- @system_arguments[:datetime] = time.utc.iso8601
17
- @system_arguments[:classes] = class_names("no-wrap", @system_arguments[:classes])
18
- @system_arguments[:tag] = "relative-time"
19
- @system_arguments[:tense] = "past"
20
- @system_arguments[:format] = "micro" if micro
21
- @time = time
22
- @micro = micro
23
- end
24
-
25
- def call
26
- render(Primer::BaseComponent.new(**@system_arguments)) { time_in_words }
27
- end
28
-
29
- private
30
-
31
- def time_in_words
32
- return @time.in_time_zone.strftime("%b %-d, %Y") unless @micro
33
-
34
- seconds_ago = Time.current - @time
35
-
36
- if seconds_ago < 1.minute
37
- # :nocov:
38
- "1m"
39
- # :nocov:
40
- elsif seconds_ago >= 1.minute && seconds_ago < 1.hour
41
- "#{(seconds_ago / 60).floor}m"
42
- elsif seconds_ago >= 1.hour && seconds_ago < 1.day
43
- "#{(seconds_ago / 60 / 60).floor}h"
44
- elsif seconds_ago >= 1.day && seconds_ago < 1.year
45
- "#{(seconds_ago / 60 / 60 / 24).floor}d"
46
- elsif seconds_ago >= 1.year
47
- "#{(seconds_ago / 60 / 60 / 24 / 365).floor}y"
48
- end
49
- end
50
- end
51
- end
@@ -1 +0,0 @@
1
- import '@github/relative-time-element'
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Primer
4
- # nodoc
5
- class TimelineItemComponent < Primer::Beta::TimelineItem
6
- status :deprecated
7
-
8
- # nodoc
9
- class BadgeComponent < Primer::Component
10
- status :deprecated
11
- end
12
- end
13
- end
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # rubocop:disable Primer/ComponentNameMigration
4
-
5
- module Primer
6
- # @label LocalTime
7
- class LocalTimeComponentPreview < ViewComponent::Preview
8
- # @param datetime datetime-local
9
- # @param weekday [Symbol] select [long, short]
10
- # @param month [Symbol] select [long, short]
11
- # @param year [Symbol] select [numeric, "2-digit"]
12
- # @param day [Symbol] select [numeric, "2-digit"]
13
- # @param hour [Symbol] select [numeric, "2-digit"]
14
- # @param minute [Symbol] select [numeric, "2-digit"]
15
- # @param second [Symbol] select [numeric, "2-digit"]
16
- # @param time_zone_name [Symbol] select [long, short]
17
- def playground(datetime: "2014-04-01T16:30:00-08:00", weekday: :short, month: :short, year: :numeric, day: :numeric, hour: :numeric, minute: :numeric, second: :numeric, time_zone_name: :short)
18
- render(Primer::LocalTime.new(datetime: DateTime.parse(datetime), weekday: weekday, month: month, year: year, day: day, hour: hour, minute: minute, second: second, time_zone_name: time_zone_name))
19
- end
20
-
21
- # @param datetime datetime-local
22
- # @param weekday [Symbol] select [long, short]
23
- # @param month [Symbol] select [long, short]
24
- # @param year [Symbol] select [numeric, "2-digit"]
25
- # @param day [Symbol] select [numeric, "2-digit"]
26
- # @param hour [Symbol] select [numeric, "2-digit"]
27
- # @param minute [Symbol] select [numeric, "2-digit"]
28
- # @param second [Symbol] select [numeric, "2-digit"]
29
- # @param time_zone_name [Symbol] select [long, short]
30
- def default(datetime: "2014-04-01T16:30:00-08:00", weekday: :short, month: :short, year: :numeric, day: :numeric, hour: :numeric, minute: :numeric, second: :numeric, time_zone_name: :short)
31
- render(Primer::LocalTime.new(datetime: DateTime.parse(datetime), weekday: weekday, month: month, year: year, day: day, hour: hour, minute: minute, second: second, time_zone_name: time_zone_name))
32
- end
33
-
34
- # @hidden
35
- def with_all_the_options
36
- render(Primer::LocalTime.new(
37
- datetime: DateTime.parse("2016-06-01T13:05:07Z"),
38
- weekday: :long,
39
- year: :"2-digit",
40
- month: :long,
41
- day: :"2-digit",
42
- hour: :"2-digit",
43
- minute: :"2-digit",
44
- second: :"2-digit",
45
- time_zone_name: :long
46
- ))
47
- end
48
-
49
- # @label With replaceable content
50
- #
51
- # @param initial_text [String] textarea
52
- def with_contents(initial_text: "This will be replaced")
53
- render Primer::LocalTime.new(datetime: DateTime.parse("2014-04-01T16:30:00-08:00"), initial_text: initial_text)
54
- end
55
- end
56
- end
57
- # rubocop:enable Primer/ComponentNameMigration
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # rubocop:disable Primer/ComponentNameMigration
4
-
5
- module Primer
6
- # @label TimeAgoComponent
7
- class TimeAgoComponentPreview < ViewComponent::Preview
8
- # @label Playground
9
- #
10
- # @param time datetime-local
11
- # @param micro [Boolean] toggle
12
- def playground(time: Time.zone.now.to_s, micro: false)
13
- render(Primer::TimeAgoComponent.new(time: DateTime.parse(time), micro: micro))
14
- end
15
-
16
- # @param time datetime-local
17
- # @param micro [Boolean] toggle
18
- def default(time: Time.zone.now.to_s, micro: false)
19
- render(Primer::TimeAgoComponent.new(time: DateTime.parse(time), micro: micro))
20
- end
21
-
22
- def micro
23
- render(Primer::TimeAgoComponent.new(time: Time.zone.now, micro: true))
24
- end
25
- end
26
- end
27
- # rubocop:enable Primer/ComponentNameMigration