@primer/css 20.8.0-rc.eb9eea82 → 20.8.0-rc.efb05241

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 (94) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/alerts/flash.scss +1 -155
  3. package/autocomplete/autocomplete.scss +1 -118
  4. package/avatars/avatar-stack.scss +1 -149
  5. package/avatars/avatar.scss +1 -48
  6. package/base/base.scss +16 -0
  7. package/blankslate/blankslate.scss +1 -0
  8. package/blankslate/index.scss +2 -1
  9. package/box/box.scss +1 -289
  10. package/breadcrumb/breadcrumb.scss +1 -33
  11. package/dist/alerts.css +1 -1
  12. package/dist/alerts.css.map +1 -1
  13. package/dist/autocomplete.css +1 -1
  14. package/dist/autocomplete.css.map +1 -1
  15. package/dist/avatars.css +1 -1
  16. package/dist/avatars.css.map +1 -1
  17. package/dist/base.css +1 -1
  18. package/dist/base.css.map +1 -1
  19. package/dist/blankslate.css.map +1 -1
  20. package/dist/box.css +1 -1
  21. package/dist/box.css.map +1 -1
  22. package/dist/breadcrumb.css +1 -1
  23. package/dist/breadcrumb.css.map +1 -1
  24. package/dist/core.css +1 -1
  25. package/dist/core.css.map +1 -1
  26. package/dist/dropdown.css +1 -1
  27. package/dist/dropdown.css.map +1 -1
  28. package/dist/forms.css +1 -1
  29. package/dist/forms.css.map +1 -1
  30. package/dist/labels.css +1 -1
  31. package/dist/labels.css.map +1 -1
  32. package/dist/markdown.css +1 -1
  33. package/dist/markdown.css.map +1 -1
  34. package/dist/meta.json +219 -219
  35. package/dist/navigation.css +1 -1
  36. package/dist/navigation.css.map +1 -1
  37. package/dist/overlay.css +1 -1
  38. package/dist/overlay.css.map +1 -1
  39. package/dist/popover.css +1 -1
  40. package/dist/popover.css.map +1 -1
  41. package/dist/primer.css +2 -2
  42. package/dist/primer.css.map +1 -1
  43. package/dist/product.css +1 -1
  44. package/dist/product.css.map +1 -1
  45. package/dist/progress.css +1 -1
  46. package/dist/progress.css.map +1 -1
  47. package/dist/stats/alerts.json +1 -1
  48. package/dist/stats/autocomplete.json +1 -1
  49. package/dist/stats/avatars.json +1 -1
  50. package/dist/stats/base.json +1 -1
  51. package/dist/stats/box.json +1 -1
  52. package/dist/stats/breadcrumb.json +1 -1
  53. package/dist/stats/core.json +1 -1
  54. package/dist/stats/dropdown.json +1 -1
  55. package/dist/stats/forms.json +1 -1
  56. package/dist/stats/labels.json +1 -1
  57. package/dist/stats/markdown.json +1 -1
  58. package/dist/stats/navigation.json +1 -1
  59. package/dist/stats/overlay.json +1 -1
  60. package/dist/stats/popover.json +1 -1
  61. package/dist/stats/primer.json +1 -1
  62. package/dist/stats/product.json +1 -1
  63. package/dist/stats/progress.json +1 -1
  64. package/dist/stats/subhead.json +1 -1
  65. package/dist/stats/timeline.json +1 -1
  66. package/dist/stats/toggle-switch.json +1 -1
  67. package/dist/stats/truncate.json +1 -1
  68. package/dist/subhead.css +1 -1
  69. package/dist/subhead.css.map +1 -1
  70. package/dist/timeline.css +1 -1
  71. package/dist/timeline.css.map +1 -1
  72. package/dist/toggle-switch.css +1 -1
  73. package/dist/toggle-switch.css.map +1 -1
  74. package/dist/truncate.css +1 -1
  75. package/dist/truncate.css.map +1 -1
  76. package/dropdown/dropdown.scss +1 -270
  77. package/forms/FormControl.scss +1 -677
  78. package/forms/form-control.scss +0 -16
  79. package/labels/counters.scss +1 -36
  80. package/labels/labels.scss +1 -92
  81. package/labels/states.scss +1 -56
  82. package/markdown/code.scss +1 -0
  83. package/navigation/menu.scss +1 -119
  84. package/navigation/tabnav.scss +1 -104
  85. package/navigation/underline-nav.scss +1 -136
  86. package/overlay/overlay.scss +1 -485
  87. package/package.json +7 -7
  88. package/popover/popover.scss +1 -226
  89. package/primitives/index.scss +9 -9
  90. package/progress/progress.scss +1 -27
  91. package/subhead/subhead.scss +1 -48
  92. package/timeline/timeline-item.scss +1 -94
  93. package/toggle-switch/toggle-switch.scss +1 -243
  94. package/truncate/truncate.scss +2 -61
@@ -1,36 +1 @@
1
- // Counters are rounded-corner badges for numbers
2
- .Counter {
3
- display: inline-block;
4
- min-width: $size-2; // makes sure it's a circle with just one digit
5
- // stylelint-disable-next-line primer/spacing
6
- padding: 0 6px;
7
- font-size: $font-size-small;
8
- font-weight: $font-weight-semibold;
9
- // stylelint-disable-next-line primer/typography
10
- line-height: $size-2 - 2px; // remove borders
11
- color: var(--color-fg-default);
12
- text-align: center;
13
- background-color: var(--color-neutral-muted);
14
- border: $border-width $border-style var(--color-counter-border);
15
- // stylelint-disable-next-line primer/borders
16
- border-radius: 2em;
17
-
18
- &:empty {
19
- display: none;
20
- }
21
-
22
- .octicon {
23
- vertical-align: text-top;
24
- opacity: 0.8;
25
- }
26
- }
27
-
28
- .Counter--primary {
29
- color: var(--color-fg-on-emphasis);
30
- background-color: var(--color-neutral-emphasis);
31
- }
32
-
33
- .Counter--secondary {
34
- color: var(--color-fg-muted);
35
- background-color: var(--color-neutral-subtle);
36
- }
1
+ @import '@primer/view-components/app/components/primer/beta/counter';
@@ -1,92 +1 @@
1
- // Labels
2
-
3
- // Provide a wrapper to ensure labels stick together
4
- .labels {
5
- position: relative;
6
- }
7
-
8
- // Default label
9
-
10
- .label, // TODO: Deprecate
11
- .Label {
12
- @include labels-base;
13
-
14
- border-color: var(--color-border-default);
15
-
16
- &:hover {
17
- text-decoration: none;
18
- }
19
- }
20
-
21
- // Large
22
-
23
- .Label--large {
24
- @include labels-large;
25
- }
26
-
27
- // Inline
28
-
29
- .Label--inline {
30
- @include labels--inline;
31
- }
32
-
33
- // Contrast
34
-
35
- .Label--primary {
36
- color: var(--color-fg-default);
37
- border-color: var(--color-neutral-emphasis);
38
- }
39
-
40
- .Label--secondary {
41
- color: var(--color-fg-muted);
42
- border-color: var(--color-border-default);
43
- }
44
-
45
- // Colors
46
-
47
- .Label--info, // TODO: deprecate
48
- .Label--accent {
49
- color: var(--color-accent-fg);
50
- border-color: var(--color-accent-emphasis);
51
- }
52
-
53
- .Label--success {
54
- color: var(--color-success-fg);
55
- border-color: var(--color-success-emphasis);
56
- }
57
-
58
- .Label--warning, // TODO: deprecate
59
- .Label--attention {
60
- color: var(--color-attention-fg);
61
- border-color: var(--color-attention-emphasis);
62
- }
63
-
64
- .Label--severe {
65
- color: var(--color-severe-fg);
66
- border-color: var(--color-severe-emphasis);
67
- }
68
-
69
- .Label--danger {
70
- color: var(--color-danger-fg);
71
- border-color: var(--color-danger-emphasis);
72
- }
73
-
74
- .Label--open {
75
- color: var(--color-open-fg);
76
- border-color: var(--color-open-emphasis);
77
- }
78
-
79
- .Label--closed {
80
- color: var(--color-closed-fg);
81
- border-color: var(--color-closed-emphasis);
82
- }
83
-
84
- .Label--done {
85
- color: var(--color-done-fg);
86
- border-color: var(--color-done-emphasis);
87
- }
88
-
89
- .Label--sponsors {
90
- color: var(--color-sponsors-fg);
91
- border-color: var(--color-sponsors-emphasis);
92
- }
1
+ @import '@primer/view-components/app/components/primer/beta/label';
@@ -1,56 +1 @@
1
- // A rounded corner box containing a label "open" or "closed"
2
-
3
- // Default 32px
4
- // Small 24px
5
-
6
- .state, // TODO: Deprecate
7
- .State {
8
- display: inline-block;
9
- // stylelint-disable-next-line primer/spacing
10
- padding: 5px 12px;
11
- font-size: $body-font-size;
12
- font-weight: $font-weight-semibold;
13
- // stylelint-disable-next-line primer/typography
14
- line-height: 20px;
15
- text-align: center;
16
- white-space: nowrap;
17
- // stylelint-disable-next-line primer/borders
18
- border-radius: 2em;
19
- }
20
-
21
- .state, // TODO: Deprecate
22
- .State,
23
- .State--draft {
24
- color: var(--color-fg-on-emphasis);
25
- background-color: var(--color-neutral-emphasis);
26
- border: $border-width $border-style transparent;
27
- }
28
-
29
- .State--open {
30
- color: var(--color-fg-on-emphasis);
31
- background-color: var(--color-open-emphasis);
32
- }
33
-
34
- .State--merged {
35
- color: var(--color-fg-on-emphasis);
36
- background-color: var(--color-done-emphasis);
37
- }
38
-
39
- .State--closed {
40
- color: var(--color-fg-on-emphasis);
41
- background-color: var(--color-closed-emphasis);
42
- }
43
-
44
- // Small
45
-
46
- .State--small {
47
- // stylelint-disable-next-line primer/spacing
48
- padding: 0 10px;
49
- font-size: $font-size-small;
50
- // stylelint-disable-next-line primer/typography
51
- line-height: $size-3;
52
-
53
- .octicon {
54
- width: 1em; // Ensures different icons don't change State indicator width
55
- }
56
- }
1
+ @import '@primer/view-components/app/components/primer/state_component';
@@ -8,6 +8,7 @@
8
8
  margin: 0;
9
9
  // stylelint-disable-next-line primer/typography
10
10
  font-size: 85%;
11
+ white-space: break-spaces; // keeps rendering spaces, but breaks them onto multiple lines
11
12
  background-color: var(--color-neutral-muted);
12
13
  border-radius: $border-radius;
13
14
 
@@ -1,119 +1 @@
1
- // Side menu
2
- //
3
- // A menu on the side of a page, defaults to left side. e.g. github.com/about
4
-
5
- .menu {
6
- margin-bottom: $spacer-3;
7
- list-style: none;
8
- background-color: var(--color-canvas-default);
9
- border: $border-width $border-style var(--color-border-default);
10
- border-radius: $border-radius;
11
- }
12
-
13
- .menu-item {
14
- position: relative;
15
- display: block;
16
- padding: $spacer-2 $spacer-3;
17
- color: var(--color-fg-default);
18
- border-bottom: $border-width $border-style var(--color-border-muted);
19
-
20
- &:first-child {
21
- border-top: 0;
22
- border-top-left-radius: $border-radius;
23
- border-top-right-radius: $border-radius;
24
-
25
- &::before {
26
- border-top-left-radius: $border-radius;
27
- }
28
- }
29
-
30
- &:last-child {
31
- border-bottom: 0;
32
- border-bottom-right-radius: $border-radius;
33
- border-bottom-left-radius: $border-radius;
34
-
35
- &::before {
36
- border-bottom-left-radius: $border-radius;
37
- }
38
- }
39
-
40
- &:hover {
41
- text-decoration: none;
42
- background-color: var(--color-neutral-subtle);
43
- }
44
-
45
- &:active {
46
- background-color: var(--color-canvas-subtle);
47
- }
48
-
49
- &.selected,
50
- &[aria-selected='true'],
51
- &[aria-current]:not([aria-current='false']) {
52
- cursor: default;
53
- background-color: var(--color-menu-bg-active);
54
-
55
- &::before {
56
- position: absolute;
57
- top: 0;
58
- bottom: 0;
59
- left: 0;
60
- width: 2px;
61
- content: '';
62
- background-color: var(--color-primer-border-active);
63
- }
64
- }
65
-
66
- .octicon {
67
- width: 16px;
68
- margin-right: $spacer-2;
69
- color: var(--color-fg-muted);
70
- text-align: center;
71
- }
72
-
73
- .Counter {
74
- float: right;
75
- margin-left: $spacer-1;
76
- }
77
-
78
- .menu-warning {
79
- float: right;
80
- color: var(--color-attention-fg);
81
- }
82
-
83
- .avatar {
84
- float: left;
85
- margin-right: $spacer-1;
86
- }
87
-
88
- &.alert {
89
- .Counter {
90
- color: var(--color-danger-fg);
91
- }
92
- }
93
- }
94
-
95
- .menu-heading {
96
- display: block;
97
- padding: $spacer-2 $spacer-3;
98
- margin-top: 0;
99
- margin-bottom: 0;
100
- font-size: inherit;
101
- font-weight: $font-weight-bold;
102
- color: var(--color-fg-default);
103
- border-bottom: $border-width $border-style var(--color-border-muted);
104
-
105
- &:hover {
106
- text-decoration: none;
107
- }
108
-
109
- &:first-child {
110
- border-top-left-radius: $border-radius;
111
- border-top-right-radius: $border-radius;
112
- }
113
-
114
- &:last-child {
115
- border-bottom: 0;
116
- border-bottom-right-radius: $border-radius;
117
- border-bottom-left-radius: $border-radius;
118
- }
119
- }
1
+ @import '@primer/view-components/app/components/primer/menu_component';
@@ -1,104 +1 @@
1
- // Outer wrapper
2
- // stylelint-disable selector-max-type
3
- .tabnav {
4
- margin-top: 0;
5
- margin-bottom: $spacer-3;
6
- border-bottom: $border-width $border-style var(--color-border-default);
7
- }
8
-
9
- .tabnav-tabs {
10
- display: flex;
11
- // stylelint-disable-next-line primer/spacing
12
- margin-bottom: -1px;
13
- overflow: auto;
14
- }
15
-
16
- .tabnav-tab {
17
- display: inline-block;
18
- flex-shrink: 0;
19
- padding: $spacer-2 $spacer-3;
20
- font-size: $h5-size;
21
- // stylelint-disable-next-line primer/typography
22
- line-height: 23px;
23
- color: var(--color-fg-muted);
24
- text-decoration: none;
25
- background-color: transparent;
26
- border: $border-width $border-style transparent;
27
- border-bottom: 0;
28
- transition: color 0.2s cubic-bezier(0.3, 0, 0.5, 1);
29
-
30
- &.selected,
31
- &[aria-selected='true'],
32
- &[aria-current]:not([aria-current='false']) {
33
- color: var(--color-fg-default);
34
- background-color: var(--color-canvas-default); // cover bottom border
35
- border-color: var(--color-border-default);
36
- border-radius: $border-radius $border-radius 0 0;
37
-
38
- .octicon {
39
- color: inherit;
40
- }
41
- }
42
-
43
- &:hover {
44
- color: var(--color-fg-default);
45
- text-decoration: none;
46
- transition-duration: 0.1s;
47
- }
48
-
49
- &:focus,
50
- &:focus-visible {
51
- border-radius: $border-radius $border-radius 0 0 !important;
52
- outline-offset: -6px;
53
- }
54
-
55
- &:active {
56
- color: var(--color-fg-muted);
57
- }
58
-
59
- .octicon {
60
- margin-right: $spacer-1;
61
- color: var(--color-fg-muted);
62
- }
63
-
64
- .Counter {
65
- margin-left: $spacer-1;
66
- color: inherit;
67
- }
68
- }
69
-
70
- // Tabnav extras
71
- //
72
- // Tabnav extras are non-tab elements that sit in the tabnav. Usually they're
73
- // inline text or links.
74
-
75
- .tabnav-extra {
76
- display: inline-block;
77
- // stylelint-disable-next-line primer/spacing
78
- padding-top: 10px;
79
- // stylelint-disable-next-line primer/spacing
80
- margin-left: 10px;
81
- font-size: $font-size-small;
82
- color: var(--color-fg-muted);
83
-
84
- > .octicon {
85
- // stylelint-disable-next-line primer/spacing
86
- margin-right: 2px;
87
- }
88
- }
89
-
90
- // When tabnav-extra are anchors
91
- // stylelint-disable-next-line selector-no-qualifying-type
92
- a.tabnav-extra:hover {
93
- color: var(--color-accent-fg);
94
- text-decoration: none;
95
- }
96
-
97
- // Tabnav buttons
98
- //
99
- // For when there are multiple buttons, space them out appropriately. Requires
100
- // the buttons to be floated or inline-block.
101
-
102
- .tabnav-btn {
103
- margin-left: $spacer-2;
104
- }
1
+ @import '@primer/view-components/app/components/primer/alpha/tab_nav';
@@ -1,136 +1 @@
1
- $nav-height: $spacer-3 * 3 !default; // 48px
2
-
3
- .UnderlineNav {
4
- display: flex;
5
- min-height: $nav-height;
6
- overflow-x: auto;
7
- overflow-y: hidden;
8
- // stylelint-disable-next-line primer/box-shadow
9
- box-shadow: inset 0 -1px 0 var(--color-border-muted);
10
- -webkit-overflow-scrolling: auto;
11
- justify-content: space-between;
12
-
13
- .Counter {
14
- margin-left: $spacer-2;
15
- color: var(--color-fg-default);
16
- background-color: var(--color-neutral-muted);
17
-
18
- &--primary {
19
- color: var(--color-fg-on-emphasis);
20
- background-color: var(--color-neutral-emphasis);
21
- }
22
- }
23
- }
24
-
25
- .UnderlineNav-body {
26
- display: flex;
27
- align-items: center;
28
- gap: $spacer-2;
29
- list-style: none;
30
- }
31
-
32
- .UnderlineNav-item {
33
- position: relative;
34
- display: flex;
35
- padding: 0 $spacer-2;
36
- font-size: $body-font-size;
37
- // stylelint-disable-next-line primer/typography
38
- line-height: 30px;
39
- color: var(--color-fg-default);
40
- text-align: center;
41
- white-space: nowrap;
42
- cursor: pointer;
43
- background-color: transparent;
44
- border: 0;
45
- border-radius: $border-radius;
46
- align-items: center;
47
-
48
- &:hover,
49
- &:focus,
50
- &:focus-visible {
51
- color: var(--color-fg-default);
52
- text-decoration: none;
53
- border-bottom-color: var(--color-neutral-muted);
54
- outline-offset: -2px;
55
- transition: border-bottom-color 0.12s ease-out;
56
- }
57
-
58
- // renders a visibly hidden "copy" of the label in bold, reserving box space for when label becomes bold on selected
59
- [data-content]::before {
60
- display: block;
61
- height: 0;
62
- font-weight: $font-weight-bold;
63
- visibility: hidden;
64
- content: attr(data-content);
65
- }
66
-
67
- // increase touch target area
68
- &::before {
69
- @include minTouchTarget($min-height: $nav-height);
70
- }
71
-
72
- // hover state was "sticking" on mobile after click
73
- @media (pointer: fine) {
74
- &:hover {
75
- color: var(--color-fg-default);
76
- text-decoration: none;
77
- background: var(--color-action-list-item-default-hover-bg);
78
- transition: background 0.12s ease-out;
79
- }
80
- }
81
-
82
- &.selected,
83
- &[role='tab'][aria-selected='true'],
84
- &[aria-current]:not([aria-current='false']) {
85
- font-weight: $font-weight-bold;
86
- color: var(--color-fg-default);
87
- border-bottom-color: var(--color-primer-border-active);
88
-
89
- // current/selected underline
90
- &::after {
91
- position: absolute;
92
- right: 50%;
93
- // 48px total height / 2 (24px) + 1px
94
- bottom: calc(50% - 25px);
95
- width: 100%;
96
- height: 2px;
97
- content: '';
98
- background: var(--color-primer-border-active);
99
- border-radius: $border-radius;
100
- transform: translate(50%, -50%);
101
- }
102
- }
103
- }
104
-
105
- .UnderlineNav--right {
106
- justify-content: flex-end;
107
-
108
- .UnderlineNav-actions {
109
- flex: 1 1 auto;
110
- }
111
- }
112
-
113
- .UnderlineNav-actions {
114
- align-self: center;
115
- }
116
-
117
- .UnderlineNav--full {
118
- display: block;
119
-
120
- // required for underline to align with additional wrapper element
121
- .UnderlineNav-body {
122
- min-height: $nav-height;
123
- }
124
- }
125
-
126
- .UnderlineNav-octicon {
127
- display: inline !important;
128
- margin-right: $spacer-2;
129
- color: var(--color-fg-muted);
130
- fill: var(--color-fg-muted);
131
- }
132
-
133
- .UnderlineNav-container {
134
- display: flex;
135
- justify-content: space-between;
136
- }
1
+ @import '@primer/view-components/app/components/primer/alpha/underline_nav';