primer_view_components 0.0.86 → 0.0.89

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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/app/components/primer/alpha/text_field.rb +1 -1
  4. data/app/components/primer/alpha/tooltip.rb +1 -0
  5. data/app/components/primer/{button_group.html.erb → beta/button_group.html.erb} +0 -0
  6. data/app/components/primer/beta/button_group.rb +57 -0
  7. data/app/components/primer/blankslate_component.html.erb +25 -0
  8. data/app/components/primer/blankslate_component.rb +150 -2
  9. data/app/components/primer/box.rb +25 -0
  10. data/app/components/primer/box_component.rb +2 -20
  11. data/app/components/primer/button_group.rb +2 -50
  12. data/app/components/primer/flex_component.rb +20 -20
  13. data/app/components/primer/flex_item_component.rb +4 -4
  14. data/app/components/primer/icon_button.html.erb +8 -2
  15. data/app/components/primer/icon_button.rb +6 -0
  16. data/app/components/primer/label_component.rb +32 -10
  17. data/app/components/primer/link_component.rb +14 -0
  18. data/app/components/primer/popover_component.rb +1 -1
  19. data/app/helpers/primer/form_helper.rb +10 -0
  20. data/lib/primer/form_components.rb +2 -2
  21. data/lib/primer/forms/base.html.erb +1 -1
  22. data/lib/primer/forms/base.rb +5 -0
  23. data/lib/primer/forms/base_component.rb +4 -0
  24. data/lib/primer/forms/buffer_rewriter.rb +3 -2
  25. data/lib/primer/forms/builder.rb +48 -0
  26. data/lib/primer/forms/check_box_group.html.erb +1 -1
  27. data/lib/primer/forms/dsl/input.rb +1 -23
  28. data/lib/primer/forms/dsl/input_group.rb +0 -7
  29. data/lib/primer/forms/group.html.erb +1 -1
  30. data/lib/primer/forms/multi.html.erb +1 -1
  31. data/lib/primer/view_components/engine.rb +11 -0
  32. data/lib/primer/view_components/linters/argument_mappers/label.rb +11 -4
  33. data/lib/primer/view_components/linters/flash_migration_counter.rb +1 -1
  34. data/lib/primer/view_components/linters/helpers/deprecated_components_helpers.rb +2 -0
  35. data/lib/primer/view_components/version.rb +1 -1
  36. data/lib/rubocop/cop/primer/component_name_migration.rb +2 -0
  37. data/lib/rubocop/cop/primer/deprecated_label_variants.rb +71 -0
  38. data/lib/tasks/docs.rake +2 -2
  39. data/lib/yard/docs_helper.rb +1 -1
  40. data/static/arguments.yml +56 -48
  41. data/static/audited_at.json +2 -0
  42. data/static/classes.yml +2 -0
  43. data/static/constants.json +20 -7
  44. data/static/statuses.json +4 -2
  45. metadata +11 -6
  46. data/app/components/primer/link_component.html.erb +0 -12
data/static/arguments.yml CHANGED
@@ -9,15 +9,15 @@
9
9
  - name: variant
10
10
  type: Symbol
11
11
  default: "`:default`"
12
- description: One of `:default` and `:large`.
12
+ description: One of `:default` or `:large`.
13
13
  - name: tag
14
14
  type: Symbol
15
15
  default: "`:button`"
16
- description: One of `:a` and `:button`.
16
+ description: One of `:a` or `:button`.
17
17
  - name: type
18
18
  type: Symbol
19
19
  default: "`:button`"
20
- description: One of `:button` and `:submit`.
20
+ description: One of `:button` or `:submit`.
21
21
  - name: system_arguments
22
22
  type: Hash
23
23
  default: N/A
@@ -34,7 +34,7 @@
34
34
  type: Symbol
35
35
  default: "`:sidebar`"
36
36
  description: Which element to render first in the HTML. This will change the keyboard
37
- navigation order. One of `:main` and `:sidebar`.
37
+ navigation order. One of `:main` or `:sidebar`.
38
38
  - name: gutter
39
39
  type: Symbol
40
40
  default: "`:default`"
@@ -50,7 +50,7 @@
50
50
  - name: tag
51
51
  type: Symbol
52
52
  default: "`:nav`"
53
- description: One of `:div` and `:nav`.
53
+ description: One of `:div` or `:nav`.
54
54
  - name: label
55
55
  type: String
56
56
  default: N/A
@@ -75,7 +75,7 @@
75
75
  - name: align
76
76
  type: Symbol
77
77
  default: N/A
78
- description: One of `:left` and `:right`. - Defaults to left
78
+ description: One of `:left` or `:right`. - Defaults to left
79
79
  - name: body_arguments
80
80
  type: Hash
81
81
  default: "`{}`"
@@ -192,7 +192,7 @@
192
192
  - name: type
193
193
  type: Symbol
194
194
  default: N/A
195
- description: One of `:description` and `:label`.
195
+ description: One of `:description` or `:label`.
196
196
  - name: direction
197
197
  type: Symbol
198
198
  default: "`:s`"
@@ -212,7 +212,7 @@
212
212
  - name: tag
213
213
  type: Symbol
214
214
  default: "`:nav`"
215
- description: One of `:div` and `:nav`.
215
+ description: One of `:div` or `:nav`.
216
216
  - name: label
217
217
  type: String
218
218
  default: N/A
@@ -221,7 +221,7 @@
221
221
  - name: align
222
222
  type: Symbol
223
223
  default: "`:left`"
224
- description: One of `:left` and `:right`. - Defaults to left
224
+ description: One of `:left` or `:right`. - Defaults to left
225
225
  - name: body_arguments
226
226
  type: Hash
227
227
  default: "`{}`"
@@ -241,7 +241,7 @@
241
241
  - name: align
242
242
  type: Symbol
243
243
  default: "`:left`"
244
- description: One of `:left` and `:right`. - Defaults to left
244
+ description: One of `:left` or `:right`. - Defaults to left
245
245
  - name: body_arguments
246
246
  type: Hash
247
247
  default: "`{}`"
@@ -364,7 +364,7 @@
364
364
  - name: shape
365
365
  type: Symbol
366
366
  default: "`:circle`"
367
- description: Shape of the avatar. One of `:circle` and `:square`.
367
+ description: Shape of the avatar. One of `:circle` or `:square`.
368
368
  - name: href
369
369
  type: String
370
370
  default: "`nil`"
@@ -380,11 +380,11 @@
380
380
  - name: tag
381
381
  type: Symbol
382
382
  default: "`:div`"
383
- description: One of `:div` and `:span`.
383
+ description: One of `:div` or `:span`.
384
384
  - name: align
385
385
  type: Symbol
386
386
  default: "`:left`"
387
- description: One of `:left` and `:right`.
387
+ description: One of `:left` or `:right`.
388
388
  - name: tooltipped
389
389
  type: Boolean
390
390
  default: "`false`"
@@ -394,7 +394,7 @@
394
394
  default: "`{}`"
395
395
  description: Parameters to add to the Body. If `tooltipped` is set, has the same
396
396
  arguments as [Tooltip](/components/tooltip). The default tag is `:div` but can
397
- be changed using `tag:` to one of `:div` and `:span`.
397
+ be changed using `tag:` to one of `:div` or `:span`.
398
398
  - name: system_arguments
399
399
  type: Hash
400
400
  default: N/A
@@ -462,6 +462,21 @@
462
462
  type: Hash
463
463
  default: N/A
464
464
  description: "[System arguments](/system-arguments)"
465
+ - component: ButtonGroup
466
+ source: https://github.com/primer/view_components/tree/main/app/components/primer/beta/button_group.rb
467
+ parameters:
468
+ - name: variant
469
+ type: Symbol
470
+ default: "`nil`"
471
+ description: DEPRECATED. One of `:medium` or `:small`.
472
+ - name: size
473
+ type: Symbol
474
+ default: "`:medium`"
475
+ description: One of `:medium` or `:small`.
476
+ - name: system_arguments
477
+ type: Hash
478
+ default: N/A
479
+ description: "[System arguments](/system-arguments)"
465
480
  - component: Flash
466
481
  source: https://github.com/primer/view_components/tree/main/app/components/primer/beta/flash.rb
467
482
  parameters:
@@ -508,7 +523,7 @@
508
523
  default: N/A
509
524
  description: "[System arguments](/system-arguments)"
510
525
  - component: Box
511
- source: https://github.com/primer/view_components/tree/main/app/components/primer/box_component.rb
526
+ source: https://github.com/primer/view_components/tree/main/app/components/primer/box.rb
512
527
  parameters:
513
528
  - name: system_arguments
514
529
  type: Hash
@@ -525,11 +540,11 @@
525
540
  - name: variant
526
541
  type: Symbol
527
542
  default: "`nil`"
528
- description: DEPRECATED. One of `:medium` and `:small`.
543
+ description: DEPRECATED. One of `:medium` or `:small`.
529
544
  - name: size
530
545
  type: Symbol
531
546
  default: "`:medium`"
532
- description: One of `:medium` and `:small`.
547
+ description: One of `:medium` or `:small`.
533
548
  - name: tag
534
549
  type: Symbol
535
550
  default: "`:button`"
@@ -554,21 +569,6 @@
554
569
  type: Hash
555
570
  default: N/A
556
571
  description: "[System arguments](/system-arguments)"
557
- - component: ButtonGroup
558
- source: https://github.com/primer/view_components/tree/main/app/components/primer/button_group.rb
559
- parameters:
560
- - name: variant
561
- type: Symbol
562
- default: "`nil`"
563
- description: DEPRECATED. One of `:medium` and `:small`.
564
- - name: size
565
- type: Symbol
566
- default: "`:medium`"
567
- description: One of `:medium` and `:small`.
568
- - name: system_arguments
569
- type: Hash
570
- default: N/A
571
- description: "[System arguments](/system-arguments)"
572
572
  - component: ClipboardCopy
573
573
  source: https://github.com/primer/view_components/tree/main/app/components/primer/clipboard_copy.rb
574
574
  parameters:
@@ -594,7 +594,7 @@
594
594
  - name: type
595
595
  type: Symbol
596
596
  default: "`:button`"
597
- description: One of `:button` and `:submit`.
597
+ description: One of `:button` or `:submit`.
598
598
  - name: system_arguments
599
599
  type: Hash
600
600
  default: N/A
@@ -770,7 +770,7 @@
770
770
  - name: scheme
771
771
  type: Symbol
772
772
  default: "`:default`"
773
- description: One of `:danger` and `:default`.
773
+ description: One of `:danger` or `:default`.
774
774
  - name: icon
775
775
  type: String
776
776
  default: N/A
@@ -854,10 +854,18 @@
854
854
  description: One of `:accent`, `:attention`, `:danger`, `:default`, `:done`, `:info`,
855
855
  `:orange`, `:primary`, `:purple`, `:secondary`, `:severe`, `:sponsors`, `:success`,
856
856
  or `:warning`.
857
+ - name: size
858
+ type: Symbol
859
+ default: "`:medium`"
860
+ description: One of `:large` or `:medium`.
861
+ - name: inline
862
+ type: Boolean
863
+ default: "`false`"
864
+ description: Whether or not to render this label inline.
857
865
  - name: variant
858
866
  type: Symbol
859
- default: "`nil`"
860
- description: One of `nil`, `:inline`, or `:large`.
867
+ default: "`:none`"
868
+ description: One of `:inline`, `:large`, or `:none`.
861
869
  - name: system_arguments
862
870
  type: Hash
863
871
  default: N/A
@@ -872,7 +880,7 @@
872
880
  - name: side
873
881
  type: Symbol
874
882
  default: "`:right`"
875
- description: Which side to display the sidebar on. One of `:left` and `:right`.
883
+ description: Which side to display the sidebar on. One of `:left` or `:right`.
876
884
  - name: sidebar_col
877
885
  type: Integer
878
886
  default: "`3`"
@@ -887,7 +895,7 @@
887
895
  - name: tag
888
896
  type: String
889
897
  default: "`:a`"
890
- description: One of `:a` and `:span`.
898
+ description: One of `:a` or `:span`.
891
899
  - name: href
892
900
  type: String
893
901
  default: "`nil`"
@@ -924,35 +932,35 @@
924
932
  - name: weekday
925
933
  type: Symbol
926
934
  default: "`:short`"
927
- description: One of `:long` and `:short`.
935
+ description: One of `:long` or `:short`.
928
936
  - name: year
929
937
  type: Symbol
930
938
  default: "`:numeric`"
931
- description: One of `:2-digit` and `:numeric`.
939
+ description: One of `:2-digit` or `:numeric`.
932
940
  - name: month
933
941
  type: Symbol
934
942
  default: "`:short`"
935
- description: One of `:long` and `:short`.
943
+ description: One of `:long` or `:short`.
936
944
  - name: day
937
945
  type: Symbol
938
946
  default: "`:numeric`"
939
- description: One of `:2-digit` and `:numeric`.
947
+ description: One of `:2-digit` or `:numeric`.
940
948
  - name: hour
941
949
  type: Symbol
942
950
  default: "`:numeric`"
943
- description: One of `:2-digit` and `:numeric`.
951
+ description: One of `:2-digit` or `:numeric`.
944
952
  - name: minute
945
953
  type: Symbol
946
954
  default: "`:numeric`"
947
- description: One of `:2-digit` and `:numeric`.
955
+ description: One of `:2-digit` or `:numeric`.
948
956
  - name: second
949
957
  type: Symbol
950
958
  default: "`:numeric`"
951
- description: One of `:2-digit` and `:numeric`.
959
+ description: One of `:2-digit` or `:numeric`.
952
960
  - name: time_zone_name
953
961
  type: Symbol
954
962
  default: "`:short`"
955
- description: One of `:long` and `:short`.
963
+ description: One of `:long` or `:short`.
956
964
  - name: system_arguments
957
965
  type: Hash
958
966
  default: N/A
@@ -1087,11 +1095,11 @@
1087
1095
  - name: tag
1088
1096
  type: Symbol
1089
1097
  default: "`:span`"
1090
- description: HTML tag for element. One of `:div` and `:span`.
1098
+ description: HTML tag for element. One of `:div` or `:span`.
1091
1099
  - name: size
1092
1100
  type: Symbol
1093
1101
  default: "`:default`"
1094
- description: One of `:default` and `:small`.
1102
+ description: One of `:default` or `:small`.
1095
1103
  - name: system_arguments
1096
1104
  type: Hash
1097
1105
  default: N/A
@@ -22,12 +22,14 @@
22
22
  "Primer::Beta::BorderBox::Header": "",
23
23
  "Primer::Beta::Breadcrumbs": "",
24
24
  "Primer::Beta::Breadcrumbs::Item": "",
25
+ "Primer::Beta::ButtonGroup": "",
25
26
  "Primer::Beta::Flash": "",
26
27
  "Primer::Beta::Text": "",
27
28
  "Primer::Beta::Truncate": "",
28
29
  "Primer::Beta::Truncate::TruncateText": "",
29
30
  "Primer::BlankslateComponent": "",
30
31
  "Primer::BorderBoxComponent": "",
32
+ "Primer::Box": "",
31
33
  "Primer::BoxComponent": "",
32
34
  "Primer::ButtonComponent": "",
33
35
  "Primer::ButtonGroup": "",
data/static/classes.yml CHANGED
@@ -43,6 +43,7 @@
43
43
  - ".Label--attention"
44
44
  - ".Label--danger"
45
45
  - ".Label--done"
46
+ - ".Label--inline"
46
47
  - ".Label--large"
47
48
  - ".Label--primary"
48
49
  - ".Label--secondary"
@@ -211,6 +212,7 @@
211
212
  - ".p-3"
212
213
  - ".p-4"
213
214
  - ".p-5"
215
+ - ".position-absolute"
214
216
  - ".position-relative"
215
217
  - ".pr-2"
216
218
  - ".pt-5"
@@ -298,6 +298,8 @@
298
298
  },
299
299
  "Primer::Beta::Breadcrumbs::Item": {
300
300
  },
301
+ "Primer::Beta::ButtonGroup": {
302
+ },
301
303
  "Primer::Beta::Flash": {
302
304
  "DEFAULT_SCHEME": "default",
303
305
  "SCHEME_MAPPINGS": {
@@ -319,6 +321,8 @@
319
321
  },
320
322
  "Primer::BorderBoxComponent": {
321
323
  },
324
+ "Primer::Box": {
325
+ },
322
326
  "Primer::BoxComponent": {
323
327
  },
324
328
  "Primer::ButtonComponent": {
@@ -544,13 +548,20 @@
544
548
  },
545
549
  "Primer::LabelComponent": {
546
550
  "DEFAULT_SCHEME": "default",
551
+ "DEFAULT_SIZE": "medium",
547
552
  "DEFAULT_TAG": "span",
553
+ "DEFAULT_VARIANT": "none",
548
554
  "DEPRECATED_SCHEME_OPTIONS": [
549
555
  "info",
550
556
  "warning",
551
557
  "orange",
552
558
  "purple"
553
559
  ],
560
+ "DEPRECATED_VARIANT_OPTIONS": [
561
+ "large",
562
+ "inline"
563
+ ],
564
+ "INLINE_CLASS": "Label--inline",
554
565
  "SCHEME_MAPPINGS": {
555
566
  "default": "",
556
567
  "primary": "Label--primary",
@@ -579,20 +590,22 @@
579
590
  "done",
580
591
  "sponsors"
581
592
  ],
593
+ "SIZE_MAPPINGS": {
594
+ "medium": null,
595
+ "large": "Label--large"
596
+ },
597
+ "SIZE_OPTIONS": [
598
+ "medium",
599
+ "large"
600
+ ],
582
601
  "TAG_OPTIONS": [
583
602
  "span",
584
603
  "summary",
585
604
  "a",
586
605
  "div"
587
606
  ],
588
- "VARIANT_MAPPINGS": {
589
- "large": "Label--large",
590
- "inline": "Label--inline"
591
- },
592
607
  "VARIANT_OPTIONS": [
593
- "large",
594
- "inline",
595
- null
608
+ "none"
596
609
  ]
597
610
  },
598
611
  "Primer::LayoutComponent": {
data/static/statuses.json CHANGED
@@ -22,15 +22,17 @@
22
22
  "Primer::Beta::BorderBox::Header": "alpha",
23
23
  "Primer::Beta::Breadcrumbs": "beta",
24
24
  "Primer::Beta::Breadcrumbs::Item": "alpha",
25
+ "Primer::Beta::ButtonGroup": "beta",
25
26
  "Primer::Beta::Flash": "beta",
26
27
  "Primer::Beta::Text": "beta",
27
28
  "Primer::Beta::Truncate": "beta",
28
29
  "Primer::Beta::Truncate::TruncateText": "alpha",
29
30
  "Primer::BlankslateComponent": "deprecated",
30
31
  "Primer::BorderBoxComponent": "deprecated",
31
- "Primer::BoxComponent": "stable",
32
+ "Primer::Box": "stable",
33
+ "Primer::BoxComponent": "deprecated",
32
34
  "Primer::ButtonComponent": "beta",
33
- "Primer::ButtonGroup": "beta",
35
+ "Primer::ButtonGroup": "deprecated",
34
36
  "Primer::ClipboardCopy": "beta",
35
37
  "Primer::CloseButton": "beta",
36
38
  "Primer::ConditionalWrapper": "alpha",
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.86
4
+ version: 0.0.89
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-08-02 00:00:00.000000000 Z
11
+ date: 2022-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionview
@@ -58,7 +58,7 @@ dependencies:
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 2.0.0
61
+ version: 2.57.0
62
62
  - - "<"
63
63
  - !ruby/object:Gem::Version
64
64
  version: '3.0'
@@ -68,7 +68,7 @@ dependencies:
68
68
  requirements:
69
69
  - - ">="
70
70
  - !ruby/object:Gem::Version
71
- version: 2.0.0
71
+ version: 2.57.0
72
72
  - - "<"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '3.0'
@@ -445,17 +445,20 @@ files:
445
445
  - app/components/primer/beta/border_box/header.rb
446
446
  - app/components/primer/beta/breadcrumbs.html.erb
447
447
  - app/components/primer/beta/breadcrumbs.rb
448
+ - app/components/primer/beta/button_group.html.erb
449
+ - app/components/primer/beta/button_group.rb
448
450
  - app/components/primer/beta/flash.html.erb
449
451
  - app/components/primer/beta/flash.rb
450
452
  - app/components/primer/beta/text.rb
451
453
  - app/components/primer/beta/truncate.html.erb
452
454
  - app/components/primer/beta/truncate.rb
455
+ - app/components/primer/blankslate_component.html.erb
453
456
  - app/components/primer/blankslate_component.rb
454
457
  - app/components/primer/border_box_component.rb
458
+ - app/components/primer/box.rb
455
459
  - app/components/primer/box_component.rb
456
460
  - app/components/primer/button_component.html.erb
457
461
  - app/components/primer/button_component.rb
458
- - app/components/primer/button_group.html.erb
459
462
  - app/components/primer/button_group.rb
460
463
  - app/components/primer/clipboard_copy.html.erb
461
464
  - app/components/primer/clipboard_copy.rb
@@ -497,7 +500,6 @@ files:
497
500
  - app/components/primer/label_component.rb
498
501
  - app/components/primer/layout_component.html.erb
499
502
  - app/components/primer/layout_component.rb
500
- - app/components/primer/link_component.html.erb
501
503
  - app/components/primer/link_component.rb
502
504
  - app/components/primer/local_time.d.ts
503
505
  - app/components/primer/local_time.js
@@ -536,6 +538,7 @@ files:
536
538
  - app/components/primer/timeline_item_component.rb
537
539
  - app/components/primer/tooltip.rb
538
540
  - app/components/primer/truncate.rb
541
+ - app/helpers/primer/form_helper.rb
539
542
  - app/lib/primer/audited/dsl.rb
540
543
  - app/lib/primer/class_name_helper.rb
541
544
  - app/lib/primer/fetch_or_fallback_helper.rb
@@ -557,6 +560,7 @@ files:
557
560
  - lib/primer/forms/base.rb
558
561
  - lib/primer/forms/base_component.rb
559
562
  - lib/primer/forms/buffer_rewriter.rb
563
+ - lib/primer/forms/builder.rb
560
564
  - lib/primer/forms/caption.html.erb
561
565
  - lib/primer/forms/caption.rb
562
566
  - lib/primer/forms/check_box.html.erb
@@ -647,6 +651,7 @@ files:
647
651
  - lib/rubocop/cop/primer/deprecated_button_arguments.rb
648
652
  - lib/rubocop/cop/primer/deprecated_components.rb
649
653
  - lib/rubocop/cop/primer/deprecated_label_schemes.rb
654
+ - lib/rubocop/cop/primer/deprecated_label_variants.rb
650
655
  - lib/rubocop/cop/primer/deprecated_layout_component.rb
651
656
  - lib/rubocop/cop/primer/no_tag_memoize.rb
652
657
  - lib/rubocop/cop/primer/primer_octicon.rb
@@ -1,12 +0,0 @@
1
- <% if tooltip.present? %>
2
- <%= render Primer::BaseComponent.new(tag: :span, position: :relative) do %>
3
- <%= render Primer::BaseComponent.new(**@system_arguments) do %>
4
- <% content %>
5
- <% end %>
6
- <%= tooltip %>
7
- <% end %>
8
- <% else %>
9
- <%= render Primer::BaseComponent.new(**@system_arguments) do %>
10
- <% content %>
11
- <% end %>
12
- <% end %>