@primer/css 20.8.0-rc.fe3706b6 → 20.8.0

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 (96) hide show
  1. package/CHANGELOG.md +20 -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/normalize.scss +1 -1
  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/layout.css +1 -1
  33. package/dist/layout.css.map +1 -1
  34. package/dist/meta.json +239 -239
  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/layout.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/labels/counters.scss +1 -36
  79. package/labels/labels.scss +1 -92
  80. package/labels/states.scss +1 -56
  81. package/layout/index.scss +0 -1
  82. package/layout/layout.scss +1 -182
  83. package/layout/page-layout.scss +26 -0
  84. package/navigation/menu.scss +1 -119
  85. package/navigation/tabnav.scss +1 -104
  86. package/navigation/underline-nav.scss +1 -136
  87. package/overlay/overlay.scss +1 -485
  88. package/package.json +2 -2
  89. package/popover/popover.scss +1 -226
  90. package/primitives/index.scss +9 -9
  91. package/progress/progress.scss +1 -27
  92. package/subhead/subhead.scss +1 -48
  93. package/timeline/timeline-item.scss +1 -94
  94. package/toggle-switch/toggle-switch.scss +1 -243
  95. package/truncate/truncate.scss +2 -61
  96. package/layout/mixins.scss +0 -105
@@ -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';
package/layout/index.scss CHANGED
@@ -1,6 +1,5 @@
1
1
  @import '../support/index.scss';
2
2
  @import './app-frame.scss';
3
- @import './mixins.scss';
4
3
  @import './container.scss';
5
4
  @import './grid.scss';
6
5
  @import './grid-offset.scss';
@@ -1,182 +1 @@
1
- // Layout component
2
-
3
- .Layout {
4
- display: grid;
5
-
6
- --Layout-sidebar-width: #{map-get($sidebar-width, 'sm')};
7
- --Layout-gutter: 16px;
8
-
9
- @media (max-width: calc(#{$width-sm} - 0.02px)) {
10
- @include flow-as-row;
11
- }
12
-
13
- &.Layout--flowRow-until-md {
14
- @media (max-width: calc(#{$width-md} - 0.02px)) {
15
- @include flow-as-row;
16
- }
17
- }
18
-
19
- &.Layout--flowRow-until-lg {
20
- @media (max-width: calc(#{$width-lg} - 0.02px)) {
21
- @include flow-as-row;
22
- }
23
- }
24
-
25
- // Flow as column
26
-
27
- grid-auto-flow: column;
28
- grid-template-columns: auto 0 minmax(0, calc(100% - var(--Layout-sidebar-width) - var(--Layout-gutter))); // sidebar column, separator, main column
29
- grid-gap: var(--Layout-gutter);
30
-
31
- .Layout-sidebar {
32
- grid-column: 1;
33
- }
34
-
35
- .Layout-divider {
36
- display: none;
37
- }
38
-
39
- .Layout-main {
40
- grid-column: 2 / span 2;
41
- }
42
-
43
- // Gutter spacing
44
-
45
- @include breakpoint(lg) {
46
- --Layout-gutter: 24px;
47
- }
48
-
49
- &.Layout--gutter-none {
50
- // stylelint-disable-next-line length-zero-no-unit
51
- --Layout-gutter: 0px;
52
- }
53
-
54
- &.Layout--gutter-condensed {
55
- --Layout-gutter: 16px;
56
- }
57
-
58
- &.Layout--gutter-spacious {
59
- @include breakpoint(lg) {
60
- --Layout-gutter: 32px;
61
- }
62
-
63
- @include breakpoint(xl) {
64
- --Layout-gutter: 40px;
65
- }
66
- }
67
-
68
- // Sidebar width
69
-
70
- @each $breakpoint in map-keys($sidebar-width) {
71
- @include breakpoint($breakpoint) {
72
- --Layout-sidebar-width: #{map-get($sidebar-width, $breakpoint)};
73
- }
74
- }
75
-
76
- &.Layout--sidebar-narrow {
77
- @each $breakpoint in map-keys($sidebar-narrow-width) {
78
- @include breakpoint($breakpoint) {
79
- --Layout-sidebar-width: #{map-get($sidebar-narrow-width, $breakpoint)};
80
- }
81
- }
82
- }
83
-
84
- &.Layout--sidebar-wide {
85
- @each $breakpoint in map-keys($sidebar-wide-width) {
86
- @include breakpoint($breakpoint) {
87
- --Layout-sidebar-width: #{map-get($sidebar-wide-width, $breakpoint)};
88
- }
89
- }
90
- }
91
-
92
- // Sidebar position
93
-
94
- &.Layout--sidebarPosition-start {
95
- .Layout-sidebar {
96
- grid-column: 1;
97
- }
98
-
99
- .Layout-main {
100
- grid-column: 2 / span 2;
101
- }
102
- }
103
-
104
- &.Layout--sidebarPosition-end {
105
- grid-template-columns: minmax(0, calc(100% - var(--Layout-sidebar-width) - var(--Layout-gutter))) 0 auto;
106
-
107
- .Layout-main {
108
- grid-column: 1;
109
- }
110
-
111
- .Layout-sidebar {
112
- grid-column: 2 / span 2;
113
- }
114
- }
115
-
116
- // Sidebar divider
117
-
118
- &.Layout--divided {
119
- .Layout-divider {
120
- display: block;
121
- grid-column: 2;
122
- width: 1px;
123
- // stylelint-disable-next-line primer/spacing
124
- margin-right: -1px;
125
- background: var(--color-border-default);
126
- }
127
-
128
- .Layout-main {
129
- grid-column: 3 / span 1;
130
- }
131
-
132
- &.Layout--sidebarPosition-end {
133
- .Layout-sidebar {
134
- grid-column: 3 / span 1;
135
- }
136
-
137
- .Layout-main {
138
- grid-column: 1;
139
- }
140
- }
141
- }
142
- }
143
-
144
- .Layout-divider {
145
- display: none;
146
- width: 1px;
147
- }
148
-
149
- .Layout-sidebar {
150
- width: var(--Layout-sidebar-width);
151
- }
152
-
153
- .Layout-main {
154
- min-width: 0;
155
-
156
- // Centered main column
157
- // FIXME: right-aligned sidebar
158
- .Layout-main-centered-md,
159
- .Layout-main-centered-lg,
160
- .Layout-main-centered-xl {
161
- margin-right: auto;
162
- margin-left: auto;
163
-
164
- > .container-md,
165
- > .container-lg,
166
- > .container-xl {
167
- margin-left: 0;
168
- }
169
- }
170
-
171
- .Layout-main-centered-md {
172
- max-width: calc(#{$container-md} + var(--Layout-sidebar-width) + var(--Layout-gutter));
173
- }
174
-
175
- .Layout-main-centered-lg {
176
- max-width: calc(#{$container-lg} + var(--Layout-sidebar-width) + var(--Layout-gutter));
177
- }
178
-
179
- .Layout-main-centered-xl {
180
- max-width: calc(#{$container-xl} + var(--Layout-sidebar-width) + var(--Layout-gutter));
181
- }
182
- }
1
+ @import '@primer/view-components/app/components/primer/alpha/layout';
@@ -22,6 +22,32 @@ $Layout-responsive-variant-max-breakpoint: 'md' !default;
22
22
  // stylelint-enable length-zero-no-unit
23
23
  }
24
24
 
25
+ // Layout beta mixins
26
+
27
+ // responsive region dividers
28
+
29
+ @mixin Layout-line-divider {
30
+ position: absolute;
31
+ left: calc(var(--Layout-outer-spacing-x) * -1);
32
+ display: block;
33
+ width: calc(100% + (var(--Layout-outer-spacing-x) * 2));
34
+ height: 1px;
35
+ content: '';
36
+ background-color: $Layout-divider-color;
37
+ }
38
+
39
+ @mixin Layout-filled-divider {
40
+ position: absolute;
41
+ bottom: calc(#{$spacer-2} * -1); // -8px
42
+ left: calc(var(--Layout-outer-spacing-x) * -1);
43
+ display: block;
44
+ width: calc(100% + (var(--Layout-outer-spacing-x) * 2));
45
+ height: #{$spacer-2}; // 8px
46
+ content: '';
47
+ background-color: var(--color-canvas-inset);
48
+ box-shadow: inset 0 1px $Layout-divider-color, inset 0 -1px $Layout-divider-color;
49
+ }
50
+
25
51
  .PageLayout {
26
52
  display: block;
27
53
  // stylelint-disable-next-line primer/spacing
@@ -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/alpha/menu';
@@ -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';