@primer/css 19.8.2 → 20.0.0-rc.04a33ecf
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.
- package/CHANGELOG.md +20 -0
- package/DEVELOP.md +26 -21
- package/actionlist/action-list-item.scss +10 -7
- package/autocomplete/autocomplete.scss +7 -3
- package/base/base.scss +63 -3
- package/base/normalize.scss +12 -52
- package/box/box-overlay.scss +2 -0
- package/buttons/button.scss +54 -27
- package/buttons/misc.scss +25 -19
- package/dist/actionlist.css +1 -1
- package/dist/actionlist.css.map +1 -1
- package/dist/alerts.css +1 -1
- package/dist/alerts.css.map +1 -1
- package/dist/autocomplete.css +1 -1
- package/dist/autocomplete.css.map +1 -1
- package/dist/avatars.css.map +1 -1
- package/dist/base.css +1 -1
- package/dist/base.css.map +1 -1
- package/dist/blankslate.css.map +1 -1
- package/dist/box.css.map +1 -1
- package/dist/branch-name.css.map +1 -1
- package/dist/breadcrumb.css.map +1 -1
- package/dist/buttons.css +1 -1
- package/dist/buttons.css.map +1 -1
- package/dist/color-modes.css.map +1 -1
- package/dist/core.css +1 -1
- package/dist/core.css.map +1 -1
- package/dist/dropdown.css +1 -1
- package/dist/dropdown.css.map +1 -1
- package/dist/forms.css +1 -1
- package/dist/forms.css.map +1 -1
- package/dist/header.css.map +1 -1
- package/dist/labels.css.map +1 -1
- package/dist/layout.css.map +1 -1
- package/dist/links.css +1 -1
- package/dist/links.css.map +1 -1
- package/dist/loaders.css.map +1 -1
- package/dist/markdown.css.map +1 -1
- package/dist/marketing-buttons.css +1 -1
- package/dist/marketing-buttons.css.map +1 -1
- package/dist/marketing-links.css +1 -1
- package/dist/marketing-links.css.map +1 -1
- package/dist/marketing-type.css +1 -1
- package/dist/marketing-type.css.map +1 -1
- package/dist/marketing-utilities.css.map +1 -1
- package/dist/marketing.css +1 -1
- package/dist/marketing.css.map +1 -1
- package/dist/meta.json +77 -77
- package/dist/navigation.css +1 -1
- package/dist/navigation.css.map +1 -1
- package/dist/pagination.css +1 -1
- package/dist/pagination.css.map +1 -1
- package/dist/popover.css.map +1 -1
- package/dist/primer.css +3 -3
- package/dist/primer.css.map +1 -1
- package/dist/product.css +1 -1
- package/dist/product.css.map +1 -1
- package/dist/progress.css.map +1 -1
- package/dist/select-menu.css.map +1 -1
- package/dist/stats/actionlist.json +1 -1
- package/dist/stats/alerts.json +1 -1
- package/dist/stats/autocomplete.json +1 -1
- package/dist/stats/base.json +1 -1
- package/dist/stats/buttons.json +1 -1
- package/dist/stats/core.json +1 -1
- package/dist/stats/dropdown.json +1 -1
- package/dist/stats/forms.json +1 -1
- package/dist/stats/links.json +1 -1
- package/dist/stats/marketing-buttons.json +1 -1
- package/dist/stats/marketing-links.json +1 -1
- package/dist/stats/marketing-type.json +1 -1
- package/dist/stats/marketing.json +1 -1
- package/dist/stats/navigation.json +1 -1
- package/dist/stats/pagination.json +1 -1
- package/dist/stats/primer.json +1 -1
- package/dist/stats/product.json +1 -1
- package/dist/stats/toasts.json +1 -1
- package/dist/stats/utilities.json +1 -1
- package/dist/subhead.css.map +1 -1
- package/dist/timeline.css.map +1 -1
- package/dist/toasts.css +1 -1
- package/dist/toasts.css.map +1 -1
- package/dist/tooltips.css.map +1 -1
- package/dist/truncate.css.map +1 -1
- package/dist/utilities.css +1 -1
- package/dist/utilities.css.map +1 -1
- package/dist/variables.json +27 -27
- package/dropdown/dropdown.scss +0 -2
- package/forms/form-control.scss +23 -5
- package/forms/form-group.scss +39 -13
- package/forms/form-validation.scss +11 -6
- package/forms/input-group.scss +8 -0
- package/links/link.scss +5 -0
- package/marketing/buttons/button.scss +32 -26
- package/marketing/links/link.scss +5 -5
- package/marketing/type/typography.scss +18 -29
- package/marketing/utilities/layout.scss +1 -1
- package/navigation/filter-list.scss +18 -0
- package/navigation/menu.scss +6 -8
- package/navigation/sidenav.scss +1 -10
- package/navigation/subnav.scss +19 -0
- package/navigation/tabnav.scss +7 -2
- package/navigation/underline-nav.scss +73 -23
- package/package.json +18 -16
- package/pagination/pagination.scss +24 -3
- package/popover/popover.scss +1 -0
- package/support/mixins/color-modes.scss +2 -0
- package/support/mixins/layout.scss +1 -0
- package/support/mixins/misc.scss +47 -1
- package/support/variables/layout.scss +1 -0
- package/timeline/timeline-item.scss +2 -0
- package/toasts/toasts.scss +7 -4
- package/utilities/details.scss +81 -4
package/support/mixins/misc.scss
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
&::after {
|
|
18
18
|
// stylelint-disable-next-line primer/spacing
|
|
19
|
-
margin-left:
|
|
19
|
+
margin-left: 2px;
|
|
20
20
|
background-color: var(--color-canvas-default);
|
|
21
21
|
background-image: linear-gradient($background, $background);
|
|
22
22
|
}
|
|
@@ -25,3 +25,49 @@
|
|
|
25
25
|
background-color: $border;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
+
|
|
29
|
+
// global focus styles
|
|
30
|
+
|
|
31
|
+
// inset box-shadow for form controls
|
|
32
|
+
@mixin focusBoxShadowInset($outlineWidth: 1px, $outlineColor: var(--color-accent-fg)) {
|
|
33
|
+
border-color: var(--color-accent-fg);
|
|
34
|
+
outline: none;
|
|
35
|
+
box-shadow: inset 0 0 0 $outlineWidth $outlineColor;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// box-shadow for :target styles (no inset)
|
|
39
|
+
// !important to override PCSS utilities
|
|
40
|
+
@mixin targetBoxShadow($outlineWidth: 2px, $outlineColor: var(--color-accent-fg)) {
|
|
41
|
+
outline: none !important;
|
|
42
|
+
box-shadow: 0 0 0 $outlineWidth $outlineColor !important;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// outline
|
|
46
|
+
@mixin focusOutline($outlineOffset: -2px, $outlineColor: var(--color-accent-fg)) {
|
|
47
|
+
outline: 2px solid $outlineColor;
|
|
48
|
+
outline-offset: $outlineOffset;
|
|
49
|
+
box-shadow: none;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// outline with fg box-shadow for buttons
|
|
53
|
+
@mixin focusOutlineOnEmphasis($outlineOffset: -2px, $outlineColor: var(--color-accent-fg)) {
|
|
54
|
+
outline: 2px solid $outlineColor;
|
|
55
|
+
outline-offset: $outlineOffset;
|
|
56
|
+
box-shadow: inset 0 0 0 3px var(--color-fg-on-emphasis);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// if min-width is undefined, return only min-height
|
|
60
|
+
@mixin minTouchTarget($min-height: 32px, $min-width: '') {
|
|
61
|
+
position: absolute;
|
|
62
|
+
top: 50%;
|
|
63
|
+
left: 50%;
|
|
64
|
+
width: 100%;
|
|
65
|
+
height: 100%;
|
|
66
|
+
min-height: $min-height;
|
|
67
|
+
content: '';
|
|
68
|
+
transform: translateX(-50%) translateY(-50%);
|
|
69
|
+
|
|
70
|
+
@if $min-width != '' {
|
|
71
|
+
min-width: $min-width;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
|
|
58
58
|
.TimelineItem-avatar {
|
|
59
59
|
position: absolute;
|
|
60
|
+
// stylelint-disable-next-line function-no-unknown
|
|
60
61
|
left: -($spacer-6 + $spacer-5);
|
|
61
62
|
z-index: 1;
|
|
62
63
|
}
|
|
@@ -67,6 +68,7 @@
|
|
|
67
68
|
height: $spacer-4;
|
|
68
69
|
margin: 0;
|
|
69
70
|
margin-bottom: -$spacer-3;
|
|
71
|
+
// stylelint-disable-next-line function-no-unknown
|
|
70
72
|
margin-left: -($spacer-6 + $spacer-3);
|
|
71
73
|
background-color: var(--color-canvas-default);
|
|
72
74
|
border: 0;
|
package/toasts/toasts.scss
CHANGED
|
@@ -40,9 +40,7 @@
|
|
|
40
40
|
background-color: transparent;
|
|
41
41
|
border: 0;
|
|
42
42
|
|
|
43
|
-
&:focus,
|
|
44
43
|
&:hover {
|
|
45
|
-
outline: none;
|
|
46
44
|
opacity: 0.7;
|
|
47
45
|
}
|
|
48
46
|
|
|
@@ -119,6 +117,11 @@
|
|
|
119
117
|
}
|
|
120
118
|
|
|
121
119
|
@keyframes Toast--spinner {
|
|
122
|
-
from {
|
|
123
|
-
|
|
120
|
+
from {
|
|
121
|
+
transform: rotate(0deg);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
to {
|
|
125
|
+
transform: rotate(360deg);
|
|
126
|
+
}
|
|
124
127
|
}
|
package/utilities/details.scss
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// stylelint-disable selector-max-type
|
|
1
|
+
// stylelint-disable selector-max-type, selector-max-specificity, max-nesting-depth, selector-no-qualifying-type
|
|
2
2
|
|
|
3
3
|
.details-overlay[open] > summary::before {
|
|
4
4
|
position: fixed;
|
|
@@ -20,9 +20,86 @@
|
|
|
20
20
|
|
|
21
21
|
.details-reset {
|
|
22
22
|
// Remove marker added by the display: list-item browser default
|
|
23
|
-
> summary {
|
|
23
|
+
> summary {
|
|
24
|
+
list-style: none;
|
|
25
|
+
transition: 80ms cubic-bezier(0.33, 1, 0.68, 1);
|
|
26
|
+
transition-property: color, background-color, box-shadow, border-color;
|
|
27
|
+
// fallback :focus state
|
|
28
|
+
&:focus {
|
|
29
|
+
@include focusOutline;
|
|
30
|
+
|
|
31
|
+
// remove fallback :focus if :focus-visible is supported
|
|
32
|
+
&:not(:focus-visible) {
|
|
33
|
+
outline: solid 1px transparent;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// default focus state
|
|
38
|
+
&:focus-visible {
|
|
39
|
+
@include focusOutline;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&.btn-primary {
|
|
43
|
+
// fallback :focus state
|
|
44
|
+
&:focus {
|
|
45
|
+
@include focusOutlineOnEmphasis;
|
|
46
|
+
|
|
47
|
+
// remove fallback :focus if :focus-visible is supported
|
|
48
|
+
&:not(:focus-visible) {
|
|
49
|
+
outline: solid 1px transparent;
|
|
50
|
+
box-shadow: none;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// default focus state
|
|
55
|
+
&:focus-visible {
|
|
56
|
+
@include focusOutlineOnEmphasis;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
24
60
|
// Remove marker added by details polyfill
|
|
25
|
-
> summary::before {
|
|
61
|
+
> summary::before {
|
|
62
|
+
display: none;
|
|
63
|
+
}
|
|
26
64
|
// Remove marker added by Chrome
|
|
27
|
-
> summary::-webkit-details-marker {
|
|
65
|
+
> summary::-webkit-details-marker {
|
|
66
|
+
display: none;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.details-overlay > summary {
|
|
71
|
+
transition: 80ms cubic-bezier(0.33, 1, 0.68, 1);
|
|
72
|
+
transition-property: color, background-color, box-shadow, border-color;
|
|
73
|
+
// fallback :focus state
|
|
74
|
+
&:focus {
|
|
75
|
+
@include focusOutline;
|
|
76
|
+
|
|
77
|
+
// remove fallback :focus if :focus-visible is supported
|
|
78
|
+
&:not(:focus-visible) {
|
|
79
|
+
outline: solid 1px transparent;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// default focus state
|
|
84
|
+
&:focus-visible {
|
|
85
|
+
@include focusOutline;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
&.btn-primary {
|
|
89
|
+
// fallback :focus state
|
|
90
|
+
&:focus {
|
|
91
|
+
@include focusOutlineOnEmphasis;
|
|
92
|
+
|
|
93
|
+
// remove fallback :focus if :focus-visible is supported
|
|
94
|
+
&:not(:focus-visible) {
|
|
95
|
+
outline: solid 1px transparent;
|
|
96
|
+
box-shadow: none;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// default focus state
|
|
101
|
+
&:focus-visible {
|
|
102
|
+
@include focusOutlineOnEmphasis;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
28
105
|
}
|