@primer/view-components 0.45.1-rc.015a120e → 0.45.2

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 (71) hide show
  1. package/app/assets/styles/primer_view_components.css +6963 -1
  2. package/app/assets/styles/primer_view_components.css.map +1 -1
  3. package/app/components/primer/alpha/action_bar.css +49 -1
  4. package/app/components/primer/alpha/action_list.css +525 -1
  5. package/app/components/primer/alpha/action_list.css.json +64 -64
  6. package/app/components/primer/alpha/auto_complete.css +131 -1
  7. package/app/components/primer/alpha/auto_complete.css.json +3 -3
  8. package/app/components/primer/alpha/banner.css +146 -1
  9. package/app/components/primer/alpha/banner.css.json +2 -2
  10. package/app/components/primer/alpha/button_marketing.css +183 -1
  11. package/app/components/primer/alpha/button_marketing.css.json +6 -6
  12. package/app/components/primer/alpha/dialog.css +377 -1
  13. package/app/components/primer/alpha/dialog.css.json +2 -2
  14. package/app/components/primer/alpha/dropdown.css +296 -1
  15. package/app/components/primer/alpha/dropdown.css.json +19 -19
  16. package/app/components/primer/alpha/layout.css +374 -1
  17. package/app/components/primer/alpha/layout.css.json +10 -10
  18. package/app/components/primer/alpha/menu.css +124 -1
  19. package/app/components/primer/alpha/menu.css.json +5 -5
  20. package/app/components/primer/alpha/overlay.css +25 -1
  21. package/app/components/primer/alpha/segmented_control.css +161 -1
  22. package/app/components/primer/alpha/segmented_control.css.json +5 -5
  23. package/app/components/primer/alpha/select_panel.css +10 -1
  24. package/app/components/primer/alpha/skeleton_box.css +36 -1
  25. package/app/components/primer/alpha/stack.css +255 -1
  26. package/app/components/primer/alpha/stack.css.json +84 -84
  27. package/app/components/primer/alpha/stack_item.css +27 -1
  28. package/app/components/primer/alpha/stack_item.css.json +6 -6
  29. package/app/components/primer/alpha/tab_nav.css +112 -1
  30. package/app/components/primer/alpha/tab_nav.css.json +5 -5
  31. package/app/components/primer/alpha/text_field.css +792 -1
  32. package/app/components/primer/alpha/text_field.css.json +39 -39
  33. package/app/components/primer/alpha/toggle_switch.css +230 -1
  34. package/app/components/primer/alpha/toggle_switch.css.json +10 -10
  35. package/app/components/primer/alpha/tree_view.css +396 -1
  36. package/app/components/primer/alpha/tree_view.css.json +25 -25
  37. package/app/components/primer/alpha/underline_nav.css +150 -1
  38. package/app/components/primer/alpha/underline_nav.css.json +6 -6
  39. package/app/components/primer/beta/avatar.css +77 -1
  40. package/app/components/primer/beta/avatar_stack.css +134 -1
  41. package/app/components/primer/beta/avatar_stack.css.json +6 -7
  42. package/app/components/primer/beta/blankslate.css +168 -1
  43. package/app/components/primer/beta/border_box.css +218 -1
  44. package/app/components/primer/beta/border_box.css.json +3 -3
  45. package/app/components/primer/beta/breadcrumbs.css +29 -1
  46. package/app/components/primer/beta/breadcrumbs.css.json +2 -2
  47. package/app/components/primer/beta/button.css +359 -1
  48. package/app/components/primer/beta/button.css.json +17 -17
  49. package/app/components/primer/beta/button_group.css +20 -1
  50. package/app/components/primer/beta/button_group.css.json +3 -3
  51. package/app/components/primer/beta/counter.css +38 -1
  52. package/app/components/primer/beta/flash.css +152 -1
  53. package/app/components/primer/beta/label.css +109 -1
  54. package/app/components/primer/beta/label.css.json +3 -3
  55. package/app/components/primer/beta/link.css +79 -1
  56. package/app/components/primer/beta/link.css.json +1 -1
  57. package/app/components/primer/beta/popover.css +215 -1
  58. package/app/components/primer/beta/popover.css.json +23 -23
  59. package/app/components/primer/beta/progress_bar.css +38 -1
  60. package/app/components/primer/beta/progress_bar.css.json +1 -1
  61. package/app/components/primer/beta/state.css +60 -1
  62. package/app/components/primer/beta/state.css.json +1 -1
  63. package/app/components/primer/beta/subhead.css +64 -1
  64. package/app/components/primer/beta/subhead.css.json +1 -1
  65. package/app/components/primer/beta/timeline_item.css +106 -1
  66. package/app/components/primer/beta/timeline_item.css.json +1 -1
  67. package/app/components/primer/beta/truncate.css +30 -1
  68. package/app/components/primer/beta/truncate.css.json +6 -6
  69. package/app/components/primer/truncate.css +23 -1
  70. package/app/components/primer/truncate.css.json +4 -4
  71. package/package.json +1 -1
@@ -1 +1,77 @@
1
- .avatar{background-color:var(--avatar-bgColor);border-radius:var(--borderRadius-medium);box-shadow:0 0 0 1px var(--avatar-borderColor);display:inline-block;flex-shrink:0;line-height:1;overflow:hidden;vertical-align:middle}.avatar-link{float:left;line-height:1}.avatar-group-item{display:inline-block;margin-bottom:var(--base-size-4)}.avatar-1,.avatar-2,.avatar-small{border-radius:var(--borderRadius-small)}.avatar-1{height:var(--base-size-16);width:var(--base-size-16)}.avatar-2{height:var(--base-size-20);width:var(--base-size-20)}.avatar-3{height:var(--base-size-24);width:var(--base-size-24)}.avatar-4{height:var(--base-size-28);width:var(--base-size-28)}.avatar-5{height:var(--base-size-32);width:var(--base-size-32)}.avatar-6{height:var(--base-size-40);width:var(--base-size-40)}.avatar-7{height:var(--base-size-48);width:var(--base-size-48)}.avatar-8{height:var(--base-size-64);width:var(--base-size-64)}
1
+ /* avatar */
2
+
3
+ .avatar {
4
+ display: inline-block;
5
+ overflow: hidden; /* Ensure page layout in Firefox should images fail to load */
6
+ /* stylelint-disable-next-line primer/typography */
7
+ line-height: 1;
8
+ vertical-align: middle;
9
+ background-color: var(--avatar-bgColor); /* adds opaque bg to transparent avatars */
10
+ border-radius: var(--borderRadius-medium);
11
+ flex-shrink: 0;
12
+ /* stylelint-disable-next-line primer/box-shadow */
13
+ box-shadow: 0 0 0 1px var(--avatar-borderColor);
14
+ }
15
+
16
+ .avatar-link {
17
+ float: left;
18
+ /* stylelint-disable-next-line primer/typography */
19
+ line-height: 1;
20
+ }
21
+
22
+ /* User for example on /stars and /user for grids of avatars */
23
+
24
+ .avatar-group-item {
25
+ display: inline-block;
26
+ margin-bottom: var(--base-size-4);
27
+ }
28
+
29
+ /* Border radius */
30
+
31
+ .avatar-1,
32
+ .avatar-2,
33
+ .avatar-small {
34
+ border-radius: var(--borderRadius-small);
35
+ }
36
+
37
+ /* Sizes */
38
+
39
+ .avatar-1 {
40
+ width: var(--base-size-16);
41
+ height: var(--base-size-16);
42
+ }
43
+
44
+ .avatar-2 {
45
+ width: var(--base-size-20);
46
+ height: var(--base-size-20);
47
+ }
48
+
49
+ .avatar-3 {
50
+ width: var(--base-size-24);
51
+ height: var(--base-size-24);
52
+ }
53
+
54
+ .avatar-4 {
55
+ width: var(--base-size-28);
56
+ height: var(--base-size-28);
57
+ }
58
+
59
+ .avatar-5 {
60
+ width: var(--base-size-32);
61
+ height: var(--base-size-32);
62
+ }
63
+
64
+ .avatar-6 {
65
+ width: var(--base-size-40);
66
+ height: var(--base-size-40);
67
+ }
68
+
69
+ .avatar-7 {
70
+ width: var(--base-size-48);
71
+ height: var(--base-size-48);
72
+ }
73
+
74
+ .avatar-8 {
75
+ width: var(--base-size-64);
76
+ height: var(--base-size-64);
77
+ }
@@ -1 +1,134 @@
1
- .AvatarStack{height:20px;min-width:26px;position:relative}.AvatarStack .AvatarStack-body{position:absolute}.AvatarStack.AvatarStack--two{min-width:36px}.AvatarStack.AvatarStack--three-plus{min-width:46px}.AvatarStack-body{background:var(--bgColor-default);border-radius:100px;display:flex}.AvatarStack-body .avatar{background-color:var(--bgColor-default);border-radius:var(--borderRadius-small);border-right:var(--borderWidth-thin) solid var(--bgColor-default);box-sizing:initial;display:flex;height:20px;margin-right:-11px;position:relative;transition:margin .1s ease-in-out;width:20px;z-index:2}:is(.AvatarStack-body .avatar):first-child{z-index:3}:is(.AvatarStack-body .avatar):last-child{border-right:0;z-index:1}:is(.AvatarStack-body .avatar) img{border-radius:var(--borderRadius-small)}:is(.AvatarStack-body .avatar):nth-child(n+4){display:none;opacity:0}.AvatarStack-body:hover .avatar{margin-right:var(--base-size-4)}.AvatarStack-body:hover .avatar:nth-child(n+4){display:flex;opacity:1}.AvatarStack-body:hover .avatar-more{display:none!important}.avatar.avatar-more{background:var(--bgColor-muted);margin-right:0;z-index:1}.avatar.avatar-more:after,.avatar.avatar-more:before{border-radius:2px;content:"";display:block;height:20px;outline:var(--borderWidth-thin) solid var(--bgColor-default);position:absolute}.avatar.avatar-more:before{background:var(--avatarStack-fade-bgColor-muted);width:17px}.avatar.avatar-more:after{background:var(--avatarStack-fade-bgColor-default);width:14px}.AvatarStack--right .AvatarStack-body{flex-direction:row-reverse;right:0}:is(.AvatarStack--right .AvatarStack-body):hover .avatar{margin-left:var(--base-size-4);margin-right:0}:is(.AvatarStack--right .AvatarStack-body) .avatar:not(:last-child){border-left:0}.AvatarStack--right .avatar.avatar-more{background:var(--avatarStack-fade-bgColor-default)}:is(.AvatarStack--right .avatar.avatar-more):before{width:5px}:is(.AvatarStack--right .avatar.avatar-more):after{background:var(--bgColor-muted);width:2px}.AvatarStack--right .avatar{border-left:var(--borderWidth-thin) solid var(--bgColor-default);border-right:0;margin-left:-11px;margin-right:0}
1
+ /* AvatarStack */
2
+
3
+ /* Stacked avatars can be used to show who is participating in thread when
4
+ ** there is limited space available. */
5
+
6
+ .AvatarStack {
7
+ position: relative;
8
+ min-width: 26px;
9
+ height: 20px;
10
+ }
11
+
12
+ .AvatarStack .AvatarStack-body {
13
+ position: absolute;
14
+ }
15
+
16
+ .AvatarStack.AvatarStack--two {
17
+ min-width: 36px;
18
+ }
19
+
20
+ .AvatarStack.AvatarStack--three-plus {
21
+ min-width: 46px;
22
+ }
23
+
24
+ .AvatarStack-body {
25
+ display: flex;
26
+ background: var(--bgColor-default);
27
+ /* stylelint-disable-next-line primer/borders */
28
+ border-radius: 100px;
29
+ }
30
+
31
+ .AvatarStack-body .avatar {
32
+ position: relative;
33
+ z-index: 2;
34
+ display: flex;
35
+ width: 20px;
36
+ height: 20px;
37
+ box-sizing: content-box;
38
+ /* stylelint-disable-next-line primer/spacing */
39
+ margin-right: -11px;
40
+ background-color: var(--bgColor-default);
41
+ border-radius: var(--borderRadius-small);
42
+ transition: margin 0.1s ease-in-out;
43
+ }
44
+
45
+ :is(.AvatarStack-body .avatar):first-child {
46
+ z-index: 3;
47
+ }
48
+
49
+ :is(.AvatarStack-body .avatar):last-child {
50
+ z-index: 1;
51
+ }
52
+
53
+ /* stylelint-disable-next-line selector-max-type */
54
+
55
+ :is(.AvatarStack-body .avatar) img {
56
+ border-radius: var(--borderRadius-small);
57
+ }
58
+
59
+ /* Account for 4+ avatars */
60
+
61
+ :is(.AvatarStack-body .avatar):nth-child(n + 4) {
62
+ display: none;
63
+ opacity: 0;
64
+ }
65
+
66
+ .AvatarStack-body:hover .avatar {
67
+ margin-right: var(--base-size-4);
68
+ }
69
+
70
+ .AvatarStack-body:hover .avatar:nth-child(n + 4) {
71
+ display: flex;
72
+ opacity: 1;
73
+ }
74
+
75
+ .AvatarStack-body:hover .avatar-more {
76
+ display: none !important;
77
+ }
78
+
79
+ .avatar.avatar-more {
80
+ z-index: 1;
81
+ margin-right: 0;
82
+ background: var(--bgColor-muted);
83
+ }
84
+
85
+ .avatar.avatar-more::before,.avatar.avatar-more::after {
86
+ position: absolute;
87
+ display: block;
88
+ height: 20px;
89
+ content: '';
90
+ /* stylelint-disable-next-line primer/borders */
91
+ border-radius: 2px;
92
+ outline: var(--borderWidth-thin) solid var(--bgColor-default);
93
+ }
94
+
95
+ .avatar.avatar-more::before {
96
+ width: 17px;
97
+ background: var(--avatarStack-fade-bgColor-muted);
98
+ }
99
+
100
+ .avatar.avatar-more::after {
101
+ width: 14px;
102
+ background: var(--avatarStack-fade-bgColor-default);
103
+ }
104
+
105
+ /* Right aligned variation */
106
+
107
+ .AvatarStack--right .AvatarStack-body {
108
+ right: 0;
109
+ flex-direction: row-reverse;
110
+ }
111
+
112
+ :is(.AvatarStack--right .AvatarStack-body):hover .avatar {
113
+ margin-right: 0;
114
+ margin-left: var(--base-size-4);
115
+ }
116
+
117
+ .AvatarStack--right .avatar.avatar-more {
118
+ background: var(--avatarStack-fade-bgColor-default);
119
+ }
120
+
121
+ :is(.AvatarStack--right .avatar.avatar-more)::before {
122
+ width: 5px;
123
+ }
124
+
125
+ :is(.AvatarStack--right .avatar.avatar-more)::after {
126
+ width: 2px;
127
+ background: var(--bgColor-muted);
128
+ }
129
+
130
+ .AvatarStack--right .avatar {
131
+ margin-right: 0;
132
+ /* stylelint-disable-next-line primer/spacing */
133
+ margin-left: -11px;
134
+ }
@@ -10,19 +10,18 @@
10
10
  ":is(.AvatarStack-body .avatar):first-child",
11
11
  ":is(.AvatarStack-body .avatar):last-child",
12
12
  ":is(.AvatarStack-body .avatar) img",
13
- ":is(.AvatarStack-body .avatar):nth-child(n+4)",
13
+ ":is(.AvatarStack-body .avatar):nth-child(n + 4)",
14
14
  ".AvatarStack-body:hover .avatar",
15
- ".AvatarStack-body:hover .avatar:nth-child(n+4)",
15
+ ".AvatarStack-body:hover .avatar:nth-child(n + 4)",
16
16
  ".AvatarStack-body:hover .avatar-more",
17
17
  ".avatar.avatar-more",
18
- ".avatar.avatar-more:after",
19
- ".avatar.avatar-more:before",
18
+ ".avatar.avatar-more::before",
19
+ ".avatar.avatar-more::after",
20
20
  ".AvatarStack--right .AvatarStack-body",
21
21
  ":is(.AvatarStack--right .AvatarStack-body):hover .avatar",
22
- ":is(.AvatarStack--right .AvatarStack-body) .avatar:not(:last-child)",
23
22
  ".AvatarStack--right .avatar.avatar-more",
24
- ":is(.AvatarStack--right .avatar.avatar-more):before",
25
- ":is(.AvatarStack--right .avatar.avatar-more):after",
23
+ ":is(.AvatarStack--right .avatar.avatar-more)::before",
24
+ ":is(.AvatarStack--right .avatar.avatar-more)::after",
26
25
  ".AvatarStack--right .avatar"
27
26
  ]
28
27
  }
@@ -1 +1,168 @@
1
- .blankslate-container{container-type:inline-size;width:100%}.blankslate{--blankslate-outer-padding-block:var(--base-size-32);--blankslate-outer-padding-inline:var(--base-size-32);padding:var(--blankslate-outer-padding-block) var(--blankslate-outer-padding-inline);position:relative;text-align:center}.blankslate p{color:var(--fgColor-muted);font-size:var(--text-body-size-large)}.blankslate code{background:var(--bgColor-default);border:var(--borderWidth-thin) solid var(--borderColor-muted);border-radius:var(--borderRadius-medium);font-size:var(--text-body-size-medium);padding:var(--base-size-2) var(--base-size-4) var(--base-size-4)}.blankslate img{height:56px;width:56px}.blankslate-icon{color:var(--fgColor-muted);margin-bottom:var(--stack-gap-condensed);margin-left:var(--control-small-gap);margin-right:var(--control-small-gap)}.blankslate-image{margin-bottom:var(--stack-gap-normal)}.blankslate-heading{font-size:var(--text-title-size-medium);font-weight:var(--text-title-weight-medium);margin-bottom:var(--base-size-4)}.blankslate-action{margin-top:var(--stack-gap-normal)}.blankslate-action:first-of-type{margin-top:var(--stack-gap-spacious)}.blankslate-action:last-of-type{margin-bottom:var(--stack-gap-condensed)}.blankslate-capped{border-radius:0 0 var(--borderRadius-medium) var(--borderRadius-medium)}.blankslate-spacious{--blankslate-outer-padding-block:var(--base-size-80);--blankslate-outer-padding-inline:var(--base-size-40)}.blankslate-narrow{margin:0 auto;max-width:485px}.blankslate-large img{height:80px;width:80px}.blankslate-large h3{font-size:24px;margin:var(--stack-gap-normal) 0}.blankslate-large p{font-size:var(--text-body-size-large)}.blankslate-clean-background{border:0}@container (max-width: 34rem){.blankslate{--blankslate-outer-padding-block:var(--base-size-20);--blankslate-outer-padding-inline:var(--base-size-20)}.blankslate-spacious{--blankslate-outer-padding-block:var(--base-size-44);--blankslate-outer-padding-inline:var(--base-size-28)}.blankslate-icon{margin-bottom:var(--stack-gap-condensed)}.blankslate-heading{font-size:var(--text-title-size-small)}.blankslate p{font-size:var(--text-body-size-medium)}.blankslate-action{margin-top:var(--stack-gap-condensed)}.blankslate-action:first-of-type{margin-top:var(--stack-gap-normal)}.blankslate-action:last-of-type{margin-bottom:calc(var(--stack-gap-condensed)/2)}}
1
+ /* blankslate */
2
+
3
+ .blankslate-container {
4
+ container-type: inline-size;
5
+ width: 100%;
6
+ }
7
+
8
+ .blankslate {
9
+ --blankslate-outer-padding-block: var(--base-size-32);
10
+ --blankslate-outer-padding-inline: var(--base-size-32);
11
+
12
+ position: relative;
13
+ /* stylelint-disable-next-line primer/spacing */
14
+ padding: var(--blankslate-outer-padding-block) var(--blankslate-outer-padding-inline);
15
+ text-align: center;
16
+
17
+ /* stylelint-disable-next-line selector-max-type */
18
+ }
19
+
20
+ .blankslate p {
21
+ font-size: var(--text-body-size-large);
22
+ color: var(--fgColor-muted);
23
+ }
24
+
25
+ /* stylelint-disable-next-line selector-max-type */
26
+
27
+ .blankslate code {
28
+ padding: var(--base-size-2) var(--base-size-4) var(--base-size-4);
29
+ font-size: var(--text-body-size-medium);
30
+ background: var(--bgColor-default);
31
+ border: var(--borderWidth-thin) solid var(--borderColor-muted);
32
+ border-radius: var(--borderRadius-medium);
33
+ }
34
+
35
+ /* stylelint-disable-next-line selector-max-type */
36
+
37
+ .blankslate img {
38
+ width: 56px;
39
+ height: 56px;
40
+ }
41
+
42
+ .blankslate-icon {
43
+ /* stylelint-disable-next-line primer/spacing */
44
+ margin-right: var(--control-small-gap);
45
+ /* stylelint-disable-next-line primer/spacing */
46
+ margin-bottom: var(--stack-gap-condensed);
47
+ /* stylelint-disable-next-line primer/spacing */
48
+ margin-left: var(--control-small-gap);
49
+ color: var(--fgColor-muted);
50
+ }
51
+
52
+ .blankslate-image {
53
+ /* stylelint-disable-next-line primer/spacing */
54
+ margin-bottom: var(--stack-gap-normal);
55
+ }
56
+
57
+ .blankslate-heading {
58
+ margin-bottom: var(--base-size-4);
59
+ font-size: var(--text-title-size-medium);
60
+ font-weight: var(--text-title-weight-medium);
61
+ }
62
+
63
+ .blankslate-action {
64
+ /* stylelint-disable-next-line primer/spacing */
65
+ margin-top: var(--stack-gap-normal);
66
+ }
67
+
68
+ .blankslate-action:first-of-type {
69
+ /* stylelint-disable-next-line primer/spacing */
70
+ margin-top: var(--stack-gap-spacious);
71
+ }
72
+
73
+ .blankslate-action:last-of-type {
74
+ /* stylelint-disable-next-line primer/spacing */
75
+ margin-bottom: var(--stack-gap-condensed);
76
+ }
77
+
78
+ .blankslate-capped {
79
+ border-radius: 0 0 var(--borderRadius-medium) var(--borderRadius-medium);
80
+ }
81
+
82
+ .blankslate-spacious {
83
+ --blankslate-outer-padding-block: var(--base-size-80);
84
+ --blankslate-outer-padding-inline: var(--base-size-40);
85
+ }
86
+
87
+ .blankslate-narrow {
88
+ max-width: 485px;
89
+ margin: 0 auto;
90
+ }
91
+
92
+ /* was .large-format
93
+ ** QUESTION: should we deprecate this? */
94
+
95
+ /* stylelint-disable-next-line selector-max-type */
96
+
97
+ .blankslate-large img {
98
+ width: 80px;
99
+ height: 80px;
100
+ }
101
+
102
+ /* stylelint-disable-next-line selector-max-type */
103
+
104
+ .blankslate-large h3 {
105
+ /* stylelint-disable-next-line primer/spacing */
106
+ margin: var(--stack-gap-normal) 0;
107
+
108
+ /* font-size: $h3-size; // This doesn't actually make the text larger. Should this be $h2-size? */
109
+ /* stylelint-disable-next-line primer/typography */
110
+ font-size: 24px;
111
+ }
112
+
113
+ /* stylelint-disable-next-line selector-max-type */
114
+
115
+ .blankslate-large p {
116
+ font-size: var(--text-body-size-large);
117
+ }
118
+
119
+ /* was .clean-background
120
+ ** TO DO: deprecate this and use utility instead */
121
+
122
+ .blankslate-clean-background {
123
+ border: 0;
124
+ }
125
+
126
+ /* At the time these styles were written,
127
+ `34rem` was our "small" breakpoint width */
128
+
129
+ @container (max-width: 34rem) {
130
+ .blankslate {
131
+ --blankslate-outer-padding-block: var(--base-size-20);
132
+ --blankslate-outer-padding-inline: var(--base-size-20);
133
+ }
134
+
135
+ .blankslate-spacious {
136
+ --blankslate-outer-padding-block: var(--base-size-44);
137
+ --blankslate-outer-padding-inline: var(--base-size-28);
138
+ }
139
+
140
+ .blankslate-icon {
141
+ /* stylelint-disable-next-line primer/spacing */
142
+ margin-bottom: var(--stack-gap-condensed);
143
+ }
144
+
145
+ .blankslate-heading {
146
+ font-size: var(--text-title-size-small);
147
+ }
148
+
149
+ /* stylelint-disable-next-line selector-max-type */
150
+ .blankslate p {
151
+ font-size: var(--text-body-size-medium);
152
+ }
153
+
154
+ .blankslate-action {
155
+ /* stylelint-disable-next-line primer/spacing */
156
+ margin-top: var(--stack-gap-condensed);
157
+ }
158
+
159
+ .blankslate-action:first-of-type {
160
+ /* stylelint-disable-next-line primer/spacing */
161
+ margin-top: var(--stack-gap-normal);
162
+ }
163
+
164
+ .blankslate-action:last-of-type {
165
+ /* stylelint-disable-next-line primer/spacing */
166
+ margin-bottom: calc(var(--stack-gap-condensed) / 2);
167
+ }
168
+ }
@@ -1 +1,218 @@
1
- .Box{background-color:var(--bgColor-default);border-color:var(--borderColor-default);border-radius:var(--borderRadius-medium);border-style:solid;border-width:var(--borderWidth-thin)}.Box--condensed{line-height:1.25}.Box--condensed .Box-body,.Box--condensed .Box-footer,.Box--condensed .Box-header{padding:var(--stack-padding-condensed) var(--stack-padding-normal)}.btn-octicon:is(.Box--condensed .Box-btn-octicon){line-height:1.25;margin:calc(var(--controlStack-medium-gap-condensed)*-1) calc(var(--controlStack-small-gap-spacious)*-1);padding:var(--control-medium-paddingInline-condensed) var(--control-medium-paddingInline-spacious)}.Box--condensed .Box-row{padding:var(--stack-padding-condensed) var(--stack-padding-normal)}.Box--spacious .Box-header{line-height:1.25;padding:var(--stack-padding-spacious)}.Box--spacious .Box-title{font-size:var(--text-title-size-medium)}.Box--spacious .Box-body,.Box--spacious .Box-footer{padding:var(--stack-padding-spacious)}.btn-octicon:is(.Box--spacious .Box-btn-octicon){margin:calc(var(--stack-gap-spacious)*-1);padding:var(--stack-padding-spacious)}.Box--spacious .Box-row{padding:var(--stack-padding-spacious)}.Box-header{background-color:var(--bgColor-muted);border-color:var(--borderColor-default);border-style:solid;border-top-left-radius:var(--borderRadius-medium);border-top-right-radius:var(--borderRadius-medium);border-width:var(--borderWidth-thin);margin:calc(var(--borderWidth-thin)*-1) calc(var(--borderWidth-thin)*-1) 0;padding:var(--stack-padding-normal)}.Box-title{font-size:var(--text-body-size-medium);font-weight:var(--base-text-weight-semibold)}.Box-body{border-bottom:var(--borderWidth-thin) solid var(--borderColor-default);padding:var(--stack-padding-normal)}.Box-body:last-of-type{border-bottom-left-radius:var(--borderRadius-medium);border-bottom-right-radius:var(--borderRadius-medium);margin-bottom:calc(var(--borderWidth-thin)*-1)}.Box-row{border-top:var(--borderWidth-thin) solid var(--borderColor-muted);list-style-type:none;margin-top:calc(var(--borderWidth-thin)*-1);padding:var(--stack-padding-normal)}.Box-row:first-of-type{border-top-left-radius:var(--borderRadius-medium);border-top-right-radius:var(--borderRadius-medium)}.Box-row:last-of-type{border-bottom-left-radius:var(--borderRadius-medium);border-bottom-right-radius:var(--borderRadius-medium)}.Box-row.Box-row--unread,.Box-row.unread{box-shadow:inset 2px 0 0 var(--borderColor-accent-emphasis)}.Box-row.navigation-focus .Box-row--drag-button{color:var(--fgColor-accent);cursor:grab;opacity:1}.Box-row.navigation-focus.is-dragging .Box-row--drag-button{cursor:grabbing}.Box-row.navigation-focus.sortable-chosen,.Box-row.navigation-focus.sortable-ghost{background-color:var(--bgColor-muted)}.Box-row.navigation-focus.sortable-ghost .Box-row--drag-hide{opacity:0}.Box-row--focus-gray.navigation-focus{background-color:var(--bgColor-muted)}.Box-row--focus-blue.navigation-focus{background-color:var(--bgColor-accent-muted)}.Box-row--hover-gray:hover{background-color:var(--bgColor-muted)}.Box-row--hover-blue:hover{background-color:var(--bgColor-accent-muted)}@media (min-width:768px){.Box-row-link{color:var(--fgColor-default)}.Box-row-link,.Box-row-link:hover{-webkit-text-decoration:none;text-decoration:none}.Box-row-link:hover{color:var(--fgColor-accent)}}.Box-row--drag-button{opacity:0}.Box-footer{border-radius:0 0 var(--borderRadius-medium) var(--borderRadius-medium);border-top:var(--borderWidth-thin) solid var(--borderColor-default);margin-top:calc(var(--borderWidth-thin)*-1);padding:var(--stack-padding-normal)}.Box--scrollable{max-height:324px;overflow:scroll}.Box--blue,.Box--blue .Box-header{border-color:var(--borderColor-accent-muted)}.Box--blue .Box-header{background-color:var(--bgColor-accent-muted)}.Box--blue .Box-body,.Box--blue .Box-footer,.Box--blue .Box-row{border-color:var(--borderColor-accent-muted)}.Box--danger,:is(.Box--danger .Box-body):last-of-type,:is(.Box--danger .Box-row):first-of-type{border-color:var(--borderColor-danger-emphasis)}.Box-header--blue{background-color:var(--bgColor-accent-muted);border-color:var(--borderColor-accent-muted)}.Box-row--yellow{background-color:var(--bgColor-attention-muted)}.Box-row--blue{background-color:var(--bgColor-accent-muted)}.Box-row--gray{background-color:var(--bgColor-muted)}.Box-btn-octicon.btn-octicon{line-height:var(--text-title-lineHeight-large);margin:calc(var(--controlStack-small-gap-spacious)*-1);padding:var(--control-medium-paddingInline-spacious)}
1
+ /* stylelint-disable primer/spacing */
2
+ /* stylelint-disable primer/typography */
3
+ /* BorderBox */
4
+ /* TODO: Rename to BorderBox to match PVC */
5
+ .Box {
6
+ background-color: var(--bgColor-default);
7
+ border-color: var(--borderColor-default);
8
+ border-style: solid;
9
+ border-width: var(--borderWidth-thin);
10
+ border-radius: var(--borderRadius-medium);
11
+ }
12
+ /* Box padding density options */
13
+ .Box--condensed {
14
+ line-height: 1.25;
15
+ }
16
+ .Box--condensed .Box-header {
17
+ padding: var(--stack-padding-condensed) var(--stack-padding-normal);
18
+ }
19
+ .Box--condensed .Box-body {
20
+ padding: var(--stack-padding-condensed) var(--stack-padding-normal);
21
+ }
22
+ .Box--condensed .Box-footer {
23
+ padding: var(--stack-padding-condensed) var(--stack-padding-normal);
24
+ }
25
+ .btn-octicon:is(.Box--condensed .Box-btn-octicon) {
26
+ padding: var(--control-medium-paddingInline-condensed) var(--control-medium-paddingInline-spacious);
27
+ margin: calc(var(--controlStack-medium-gap-condensed) * -1) calc(var(--controlStack-small-gap-spacious) * -1);
28
+ line-height: 1.25;
29
+ }
30
+ .Box--condensed .Box-row {
31
+ padding: var(--stack-padding-condensed) var(--stack-padding-normal);
32
+ }
33
+ .Box--spacious .Box-header {
34
+ padding: var(--stack-padding-spacious);
35
+ line-height: 1.25;
36
+ }
37
+ .Box--spacious .Box-title {
38
+ font-size: var(--text-title-size-medium);
39
+ }
40
+ .Box--spacious .Box-body {
41
+ padding: var(--stack-padding-spacious);
42
+ }
43
+ .Box--spacious .Box-footer {
44
+ padding: var(--stack-padding-spacious);
45
+ }
46
+ .btn-octicon:is(.Box--spacious .Box-btn-octicon) {
47
+ padding: var(--stack-padding-spacious);
48
+ margin: calc(var(--stack-gap-spacious) * -1);
49
+ }
50
+ .Box--spacious .Box-row {
51
+ padding: var(--stack-padding-spacious);
52
+ }
53
+ .Box-header {
54
+ padding: var(--stack-padding-normal);
55
+ margin: calc(var(--borderWidth-thin) * -1) calc(var(--borderWidth-thin) * -1) 0;
56
+ background-color: var(--bgColor-muted);
57
+ border-color: var(--borderColor-default);
58
+ border-style: solid;
59
+ border-width: var(--borderWidth-thin);
60
+ border-top-left-radius: var(--borderRadius-medium);
61
+ border-top-right-radius: var(--borderRadius-medium);
62
+ }
63
+ .Box-title {
64
+ font-size: var(--text-body-size-medium);
65
+ font-weight: var(--base-text-weight-semibold);
66
+ }
67
+ .Box-body {
68
+ padding: var(--stack-padding-normal);
69
+ border-bottom: var(--borderWidth-thin) solid var(--borderColor-default);
70
+
71
+ /* Ensures bottom-border doesn't poke out when .Box-body used without box-footer */
72
+ }
73
+ .Box-body:last-of-type {
74
+ margin-bottom: calc(var(--borderWidth-thin) * -1);
75
+ border-bottom-right-radius: var(--borderRadius-medium);
76
+ border-bottom-left-radius: var(--borderRadius-medium);
77
+ }
78
+ /* Box rows */
79
+ .Box-row {
80
+ padding: var(--stack-padding-normal);
81
+ margin-top: calc(var(--borderWidth-thin) * -1);
82
+ list-style-type: none; /* To account for applying Box component to a list */
83
+ border-top-color: var(--borderColor-muted);
84
+ border-top-style: solid;
85
+ border-top-width: var(--borderWidth-thin);
86
+ }
87
+ .Box-row:first-of-type {
88
+ border-top-left-radius: var(--borderRadius-medium);
89
+ border-top-right-radius: var(--borderRadius-medium);
90
+ }
91
+ .Box-row:last-of-type {
92
+ border-bottom-right-radius: var(--borderRadius-medium);
93
+ border-bottom-left-radius: var(--borderRadius-medium);
94
+ }
95
+ /* Adds a blue vertical line to the left of the row
96
+ ** For indicating a row item is unread */
97
+ .Box-row.Box-row--unread,.Box-row.unread {
98
+ /* stylelint-disable-next-line primer/box-shadow */
99
+ box-shadow: inset 2px 0 0 var(--borderColor-accent-emphasis);
100
+ }
101
+ /* Focus styles for when drag icon */
102
+ .Box-row.navigation-focus .Box-row--drag-button {
103
+ color: var(--fgColor-accent);
104
+ cursor: grab;
105
+ opacity: 100;
106
+ }
107
+ /* Grabbing while row is dragged */
108
+ .Box-row.navigation-focus.is-dragging .Box-row--drag-button {
109
+ cursor: grabbing;
110
+ }
111
+ /* Row dragging styles */
112
+ .Box-row.navigation-focus.sortable-chosen {
113
+ background-color: var(--bgColor-muted);
114
+ }
115
+ /* Makes dragging row background gray */
116
+ .Box-row.navigation-focus.sortable-ghost {
117
+ background-color: var(--bgColor-muted);
118
+
119
+ /* Hides contents of row while dragging so row looks solid gray */
120
+ }
121
+ .Box-row.navigation-focus.sortable-ghost .Box-row--drag-hide {
122
+ opacity: 0;
123
+ }
124
+ .Box-row--focus-gray.navigation-focus {
125
+ background-color: var(--bgColor-muted);
126
+ }
127
+ .Box-row--focus-blue.navigation-focus {
128
+ background-color: var(--bgColor-accent-muted);
129
+ }
130
+ .Box-row--hover-gray:hover {
131
+ background-color: var(--bgColor-muted);
132
+ }
133
+ .Box-row--hover-blue:hover {
134
+ background-color: var(--bgColor-accent-muted);
135
+ }
136
+ /* Optional link style
137
+ ** Makes links on mobile blue since they don't have hover state,
138
+ ** and links are dark-gray with blue hover on desktop. */
139
+ @media (min-width: 768px) {
140
+ .Box-row-link {
141
+ color: var(--fgColor-default);
142
+ -webkit-text-decoration: none;
143
+ text-decoration: none;
144
+ }
145
+
146
+ .Box-row-link:hover {
147
+ color: var(--fgColor-accent);
148
+ -webkit-text-decoration: none;
149
+ text-decoration: none;
150
+ }
151
+ }
152
+ /* Optional drag icon styles for reordering items
153
+ ** Focus styles included in .Box-row above */
154
+ .Box-row--drag-button {
155
+ opacity: 0;
156
+ }
157
+ .Box-footer {
158
+ padding: var(--stack-padding-normal);
159
+ margin-top: calc(var(--borderWidth-thin) * -1); /* prevents double border when used with .Box-body */
160
+ border-top-color: var(--borderColor-default);
161
+ border-top-style: solid;
162
+ border-top-width: var(--borderWidth-thin);
163
+ border-radius: 0 0 var(--borderRadius-medium) var(--borderRadius-medium);
164
+ }
165
+ /* Option for a box with scrolling content */
166
+ .Box--scrollable {
167
+ max-height: 324px;
168
+ overflow: scroll;
169
+ }
170
+ /* Box themes */
171
+ .Box--blue {
172
+ border-color: var(--borderColor-accent-muted);
173
+ }
174
+ .Box--blue .Box-header {
175
+ background-color: var(--bgColor-accent-muted);
176
+ border-color: var(--borderColor-accent-muted);
177
+ }
178
+ .Box--blue .Box-body {
179
+ border-color: var(--borderColor-accent-muted);
180
+ }
181
+ .Box--blue .Box-row {
182
+ border-color: var(--borderColor-accent-muted);
183
+ }
184
+ .Box--blue .Box-footer {
185
+ border-color: var(--borderColor-accent-muted);
186
+ }
187
+ /* Applies and red border to the outside of the box,
188
+ ** but not to the border separating rows. */
189
+ .Box--danger {
190
+ border-color: var(--borderColor-danger-emphasis);
191
+ }
192
+ :is(.Box--danger .Box-row):first-of-type {
193
+ border-color: var(--borderColor-danger-emphasis);
194
+ }
195
+ :is(.Box--danger .Box-body):last-of-type {
196
+ border-color: var(--borderColor-danger-emphasis);
197
+ }
198
+ .Box-header--blue {
199
+ background-color: var(--bgColor-accent-muted);
200
+ border-color: var(--borderColor-accent-muted);
201
+ }
202
+ /* Box row highlight themes */
203
+ .Box-row--yellow {
204
+ background-color: var(--bgColor-attention-muted);
205
+ }
206
+ .Box-row--blue {
207
+ background-color: var(--bgColor-accent-muted);
208
+ }
209
+ .Box-row--gray {
210
+ background-color: var(--bgColor-muted);
211
+ }
212
+ /* Box with btn-octicon */
213
+ /* Increase specificity when btn-octicon is used because comes after .Box in the cascade */
214
+ .Box-btn-octicon.btn-octicon {
215
+ padding: var(--control-medium-paddingInline-spacious);
216
+ margin: calc(var(--controlStack-small-gap-spacious) * -1);
217
+ line-height: var(--text-title-lineHeight-large); /* override btn-octicon line-height */
218
+ }
@@ -3,9 +3,9 @@
3
3
  "selectors": [
4
4
  ".Box",
5
5
  ".Box--condensed",
6
+ ".Box--condensed .Box-header",
6
7
  ".Box--condensed .Box-body",
7
8
  ".Box--condensed .Box-footer",
8
- ".Box--condensed .Box-header",
9
9
  ".btn-octicon:is(.Box--condensed .Box-btn-octicon)",
10
10
  ".Box--condensed .Box-row",
11
11
  ".Box--spacious .Box-header",
@@ -40,11 +40,11 @@
40
40
  ".Box--blue",
41
41
  ".Box--blue .Box-header",
42
42
  ".Box--blue .Box-body",
43
- ".Box--blue .Box-footer",
44
43
  ".Box--blue .Box-row",
44
+ ".Box--blue .Box-footer",
45
45
  ".Box--danger",
46
- ":is(.Box--danger .Box-body):last-of-type",
47
46
  ":is(.Box--danger .Box-row):first-of-type",
47
+ ":is(.Box--danger .Box-body):last-of-type",
48
48
  ".Box-header--blue",
49
49
  ".Box-row--yellow",
50
50
  ".Box-row--blue",
@@ -1 +1,29 @@
1
- .breadcrumb-item{display:inline-block;list-style:none;max-width:100%}.breadcrumb-item:after{border-right:.1em solid var(--borderColor-neutral-emphasis);content:"";display:inline-block;height:.8em;margin:0 .15em 0 .5em;transform:rotate(15deg) translateY(.0625em)}:is(.breadcrumb-item-selected,.breadcrumb-item[aria-current]:not([aria-current=false])):after{content:none}.breadcrumb-item-selected a{color:var(--fgColor-default);cursor:default!important;-webkit-text-decoration:none!important;text-decoration:none!important}
1
+ .breadcrumb-item {
2
+ display: inline-block;
3
+ list-style: none;
4
+ max-width: 100%;
5
+ }
6
+
7
+ .breadcrumb-item::after {
8
+ display: inline-block;
9
+ height: 0.8em;
10
+ /* stylelint-disable-next-line primer/spacing */
11
+ margin: 0 0.15em 0 0.5em;
12
+ content: '';
13
+ /* stylelint-disable-next-line primer/borders */
14
+ border-right: 0.1em solid var(--borderColor-neutral-emphasis);
15
+ transform: rotate(15deg) translateY(0.0625em);
16
+ }
17
+
18
+ :is(.breadcrumb-item-selected,.breadcrumb-item[aria-current]:not([aria-current='false']))::after {
19
+ content: none;
20
+ }
21
+
22
+ /* stylelint-disable-next-line selector-max-type */
23
+
24
+ .breadcrumb-item-selected a {
25
+ color: var(--fgColor-default);
26
+ -webkit-text-decoration: none !important;
27
+ text-decoration: none !important;
28
+ cursor: default !important;
29
+ }