@primer/css 0.0.0-1f49d76 → 0.0.0-20211010195643
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 +858 -133
- package/CONTRIBUTING.md +85 -0
- package/DEVELOP.md +4 -39
- package/LICENSE +1 -1
- package/README.md +13 -15
- package/RELEASING.md +5 -76
- package/actionlist/action-list-item-divider.scss +42 -0
- package/actionlist/action-list-item.scss +439 -0
- package/actionlist/action-list-variables.scss +8 -0
- package/actionlist/action-list.scss +33 -0
- package/actionlist/index.scss +5 -0
- package/alerts/README.md +1 -1
- package/alerts/flash.scss +32 -26
- package/alerts/index.scss +2 -2
- package/autocomplete/README.md +1 -1
- package/autocomplete/autocomplete.scss +18 -8
- package/autocomplete/index.scss +3 -3
- package/autocomplete/suggester.scss +27 -10
- package/avatars/README.md +1 -1
- package/avatars/avatar-parent-child.scss +2 -3
- package/avatars/avatar-stack.scss +12 -14
- package/avatars/avatar.scss +4 -0
- package/avatars/circle-badge.scss +4 -4
- package/avatars/index.scss +5 -5
- package/base/README.md +1 -1
- package/base/base.scss +39 -7
- package/base/index.scss +6 -5
- package/base/kbd.scss +5 -6
- package/base/normalize.scss +13 -53
- package/base/octicons.scss +6 -0
- package/blankslate/README.md +1 -1
- package/blankslate/blankslate.scss +7 -4
- package/blankslate/index.scss +2 -2
- package/box/README.md +1 -1
- package/box/box.scss +38 -38
- package/box/index.scss +2 -2
- package/branch-name/README.md +1 -1
- package/branch-name/branch-name.scss +15 -10
- package/branch-name/index.scss +2 -2
- package/breadcrumb/README.md +1 -1
- package/breadcrumb/breadcrumb.scss +12 -7
- package/breadcrumb/index.scss +2 -2
- package/buttons/README.md +1 -1
- package/buttons/button.scss +115 -121
- package/buttons/index.scss +4 -4
- package/buttons/misc.scss +52 -41
- package/color-modes/index.scss +9 -0
- package/color-modes/native.scss +10 -0
- package/color-modes/themes/dark.scss +7 -0
- package/color-modes/themes/dark_colorblind.scss +7 -0
- package/color-modes/themes/dark_dimmed.scss +7 -0
- package/color-modes/themes/dark_high_contrast.scss +7 -0
- package/color-modes/themes/light.scss +7 -0
- package/color-modes/themes/light_colorblind.scss +7 -0
- package/core/README.md +1 -1
- package/core/index.scss +17 -16
- package/deprecations.js +18 -200
- package/deprecations.json +539 -0
- package/dist/actionlist.css +2 -0
- package/dist/actionlist.css.map +1 -0
- package/dist/actionlist.js +1 -0
- package/dist/alerts.css +1 -2
- package/dist/alerts.css.map +1 -1
- package/dist/alerts.js +1 -1
- package/dist/autocomplete.css +1 -2
- package/dist/autocomplete.css.map +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/avatars.css +1 -2
- package/dist/avatars.css.map +1 -1
- package/dist/avatars.js +1 -1
- package/dist/base.css +1 -2
- package/dist/base.css.map +1 -1
- package/dist/base.js +1 -1
- package/dist/blankslate.css +1 -2
- package/dist/blankslate.css.map +1 -1
- package/dist/blankslate.js +1 -1
- package/dist/box.css +1 -2
- package/dist/box.css.map +1 -1
- package/dist/box.js +1 -1
- package/dist/branch-name.css +1 -2
- package/dist/branch-name.css.map +1 -1
- package/dist/branch-name.js +1 -1
- package/dist/breadcrumb.css +1 -2
- package/dist/breadcrumb.css.map +1 -1
- package/dist/breadcrumb.js +1 -1
- package/dist/buttons.css +1 -2
- package/dist/buttons.css.map +1 -1
- package/dist/buttons.js +1 -1
- package/dist/color-modes.css +2 -0
- package/dist/color-modes.css.map +1 -0
- package/dist/color-modes.js +1 -0
- package/dist/core.css +1 -2
- package/dist/core.css.map +1 -1
- package/dist/core.js +1 -1
- package/dist/deprecations.json +534 -571
- package/dist/dropdown.css +1 -2
- package/dist/dropdown.css.map +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/forms.css +1 -2
- package/dist/forms.css.map +1 -1
- package/dist/forms.js +1 -1
- package/dist/header.css +1 -2
- package/dist/header.css.map +1 -1
- package/dist/header.js +1 -1
- package/dist/labels.css +1 -2
- package/dist/labels.css.map +1 -1
- package/dist/labels.js +1 -1
- package/dist/layout.css +1 -2
- package/dist/layout.css.map +1 -1
- package/dist/layout.js +1 -1
- package/dist/links.css +2 -0
- package/dist/links.css.map +1 -0
- package/dist/links.js +1 -0
- package/dist/loaders.css +0 -1
- package/dist/loaders.css.map +1 -1
- package/dist/loaders.js +1 -1
- package/dist/markdown.css +1 -2
- package/dist/markdown.css.map +1 -1
- package/dist/markdown.js +1 -1
- package/dist/marketing-buttons.css +1 -2
- package/dist/marketing-buttons.css.map +1 -1
- package/dist/marketing-buttons.js +1 -1
- package/dist/marketing-support.css +1 -2
- package/dist/marketing-support.js +1 -1
- package/dist/marketing-type.css +1 -2
- package/dist/marketing-type.css.map +1 -1
- package/dist/marketing-type.js +1 -1
- package/dist/marketing-utilities.css +1 -2
- package/dist/marketing-utilities.css.map +1 -1
- package/dist/marketing-utilities.js +1 -1
- package/dist/marketing.css +1 -2
- package/dist/marketing.css.map +1 -1
- package/dist/marketing.js +1 -1
- package/dist/meta.json +314 -369
- package/dist/navigation.css +1 -2
- package/dist/navigation.css.map +1 -1
- package/dist/navigation.js +1 -1
- package/dist/pagination.css +1 -2
- package/dist/pagination.css.map +1 -1
- package/dist/pagination.js +1 -1
- package/dist/popover.css +1 -2
- package/dist/popover.css.map +1 -1
- package/dist/popover.js +1 -1
- package/dist/primer.css +4 -5
- package/dist/primer.css.map +1 -1
- package/dist/primer.js +1 -1
- package/dist/product.css +1 -2
- package/dist/product.css.map +1 -1
- package/dist/product.js +1 -1
- package/dist/progress.css +1 -2
- package/dist/progress.css.map +1 -1
- package/dist/progress.js +1 -1
- package/dist/select-menu.css +1 -2
- package/dist/select-menu.css.map +1 -1
- package/dist/select-menu.js +1 -1
- package/dist/stats/actionlist.json +1 -0
- package/dist/stats/alerts.json +1 -1
- package/dist/stats/autocomplete.json +1 -1
- package/dist/stats/avatars.json +1 -1
- package/dist/stats/base.json +1 -1
- package/dist/stats/blankslate.json +1 -1
- package/dist/stats/box.json +1 -1
- package/dist/stats/branch-name.json +1 -1
- package/dist/stats/breadcrumb.json +1 -1
- package/dist/stats/buttons.json +1 -1
- package/dist/stats/color-modes.json +1 -0
- package/dist/stats/core.json +1 -1
- package/dist/stats/dropdown.json +1 -1
- package/dist/stats/forms.json +1 -1
- package/dist/stats/header.json +1 -1
- package/dist/stats/labels.json +1 -1
- package/dist/stats/layout.json +1 -1
- package/dist/stats/links.json +1 -0
- package/dist/stats/loaders.json +1 -1
- package/dist/stats/markdown.json +1 -1
- package/dist/stats/marketing-buttons.json +1 -1
- package/dist/stats/marketing-support.json +1 -1
- package/dist/stats/marketing-type.json +1 -1
- package/dist/stats/marketing-utilities.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/popover.json +1 -1
- package/dist/stats/primer.json +1 -1
- package/dist/stats/product.json +1 -1
- package/dist/stats/progress.json +1 -1
- package/dist/stats/select-menu.json +1 -1
- package/dist/stats/subhead.json +1 -1
- package/dist/stats/support.json +1 -1
- package/dist/stats/table-object.json +1 -1
- package/dist/stats/timeline.json +1 -1
- package/dist/stats/toasts.json +1 -1
- package/dist/stats/tooltips.json +1 -1
- package/dist/stats/truncate.json +1 -1
- package/dist/stats/utilities.json +1 -1
- package/dist/subhead.css +1 -2
- package/dist/subhead.css.map +1 -1
- package/dist/subhead.js +1 -1
- package/dist/support.css +1 -1
- package/dist/support.js +1 -1
- package/dist/table-object.css +0 -1
- package/dist/table-object.css.map +1 -1
- package/dist/table-object.js +1 -1
- package/dist/timeline.css +1 -2
- package/dist/timeline.css.map +1 -1
- package/dist/timeline.js +1 -1
- package/dist/toasts.css +1 -2
- package/dist/toasts.css.map +1 -1
- package/dist/toasts.js +1 -1
- package/dist/tooltips.css +1 -2
- package/dist/tooltips.css.map +1 -1
- package/dist/tooltips.js +1 -1
- package/dist/truncate.css +1 -2
- package/dist/truncate.css.map +1 -1
- package/dist/truncate.js +1 -1
- package/dist/utilities.css +1 -2
- package/dist/utilities.css.map +1 -1
- package/dist/utilities.js +1 -1
- package/dist/variables.json +630 -2274
- package/dropdown/README.md +1 -1
- package/dropdown/dropdown.scss +32 -88
- package/dropdown/index.scss +2 -2
- package/forms/README.md +1 -1
- package/forms/form-control.scss +39 -57
- package/forms/form-group.scss +31 -48
- package/forms/form-select.scss +12 -4
- package/forms/form-validation.scss +27 -32
- package/forms/index.scss +7 -7
- package/forms/input-group.scss +7 -0
- package/forms/radio-group.scss +22 -3
- package/header/README.md +1 -1
- package/header/header.scss +16 -6
- package/header/index.scss +2 -2
- package/index.scss +4 -1
- package/labels/README.md +1 -1
- package/labels/counters.scss +10 -11
- package/labels/diffstat.scss +8 -8
- package/labels/index.scss +7 -7
- package/labels/labels.scss +30 -41
- package/labels/states.scss +17 -16
- package/layout/README.md +1 -1
- package/layout/grid-offset.scss +11 -11
- package/layout/grid.scss +23 -23
- package/layout/index.scss +7 -4
- package/layout/layout.scss +185 -0
- package/layout/mixins.scss +79 -0
- package/{README.template.md → links/README.md} +5 -5
- package/links/index.scss +3 -0
- package/links/link.scss +55 -0
- package/loaders/README.md +1 -1
- package/loaders/index.scss +2 -2
- package/loaders/loaders.scss +1 -1
- package/markdown/README.md +1 -1
- package/markdown/blob-csv.scss +2 -2
- package/markdown/code.scss +7 -5
- package/markdown/footnotes.scss +37 -0
- package/markdown/headings.scss +6 -4
- package/markdown/images.scss +3 -4
- package/markdown/index.scss +9 -8
- package/markdown/lists.scss +18 -5
- package/markdown/markdown-body.scss +14 -9
- package/markdown/tables.scss +7 -7
- package/marketing/README.md +1 -1
- package/marketing/buttons/button.scss +81 -75
- package/marketing/index.scss +4 -4
- package/marketing/support/index.scss +1 -0
- package/marketing/support/mixins.scss +66 -0
- package/marketing/support/variables.scss +109 -58
- package/marketing/type/typography.scss +100 -62
- package/marketing/utilities/animations.scss +9 -0
- package/marketing/utilities/index.scss +2 -3
- package/marketing/utilities/layout.scss +31 -10
- package/navigation/README.md +1 -1
- package/navigation/filter-list.scss +8 -9
- package/navigation/index.scss +7 -7
- package/navigation/menu.scss +22 -23
- package/navigation/sidenav.scss +19 -25
- package/navigation/subnav.scss +9 -13
- package/navigation/tabnav.scss +20 -10
- package/navigation/underline-nav.scss +19 -14
- package/package.json +75 -63
- package/pagination/README.md +1 -1
- package/pagination/index.scss +2 -2
- package/pagination/pagination.scss +8 -8
- package/popover/README.md +1 -1
- package/popover/index.scss +2 -2
- package/popover/popover.scss +14 -13
- package/postcss.config.cjs +22 -0
- package/prettier.config.cjs +1 -0
- package/product/README.md +1 -1
- package/product/index.scss +17 -17
- package/progress/README.md +1 -1
- package/progress/index.scss +2 -2
- package/progress/progress.scss +3 -4
- package/select-menu/README.md +1 -1
- package/select-menu/index.scss +2 -2
- package/select-menu/select-menu.scss +44 -46
- package/{stylelint.config.js → stylelint.config.cjs} +5 -6
- package/subhead/README.md +1 -1
- package/subhead/index.scss +2 -2
- package/subhead/subhead.scss +9 -3
- package/support/README.md +1 -1
- package/support/index.scss +7 -8
- package/support/mixins/color-modes.scss +106 -0
- package/support/mixins/misc.scss +19 -13
- package/support/variables/layout.scss +68 -9
- package/support/variables/misc.scss +2 -27
- package/support/variables/typography.scss +2 -1
- package/table-object/README.md +1 -1
- package/table-object/index.scss +1 -1
- package/timeline/README.md +1 -1
- package/timeline/index.scss +2 -2
- package/timeline/timeline-item.scss +18 -18
- package/toasts/README.md +1 -1
- package/toasts/index.scss +2 -2
- package/toasts/toasts.scss +45 -24
- package/tooltips/README.md +1 -1
- package/tooltips/index.scss +2 -2
- package/tooltips/tooltips.scss +8 -12
- package/truncate/README.md +1 -1
- package/truncate/index.scss +2 -1
- package/truncate/truncate.scss +30 -0
- package/utilities/README.md +1 -1
- package/utilities/animations.scss +14 -1
- package/utilities/borders.scss +5 -50
- package/utilities/box-shadow.scss +8 -8
- package/utilities/colors.scss +71 -107
- package/utilities/details.scss +18 -6
- package/utilities/flexbox.scss +4 -3
- package/utilities/index.scss +12 -12
- package/utilities/layout.scss +23 -14
- package/utilities/margin.scss +34 -16
- package/utilities/padding.scss +13 -8
- package/utilities/typography.scss +5 -15
- package/.browserslistrc +0 -6
- package/.eslintrc.json +0 -13
- package/.nowignore +0 -5
- package/MIGRATING.md +0 -74
- package/bin/primer-migrate +0 -86
- package/dist/marketing-support.css.map +0 -1
- package/dist/support.css.map +0 -1
- package/fonts/Inter-Bold.woff +0 -0
- package/fonts/Inter-Medium.woff +0 -0
- package/fonts/Inter-Regular.woff +0 -0
- package/marketing/utilities/margin.scss +0 -17
- package/marketing/utilities/padding.scss +0 -24
- package/postcss.config.js +0 -14
- package/prettier.config.js +0 -1
- package/release.config.js +0 -4
- package/support/mixins/buttons.scss +0 -172
- package/support/variables/color-system.scss +0 -243
- package/support/variables/colors.scss +0 -55
package/dropdown/README.md
CHANGED
|
@@ -19,7 +19,7 @@ The `@primer/css` npm package includes a standalone CSS build of this module in
|
|
|
19
19
|
|
|
20
20
|
## License
|
|
21
21
|
|
|
22
|
-
[MIT](https://github.com/primer/css/blob/
|
|
22
|
+
[MIT](https://github.com/primer/css/blob/main/LICENSE) © [GitHub](https://github.com/)
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
[scss]: https://sass-lang.com/documentation/syntax#scss
|
package/dropdown/dropdown.scss
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
width: 0;
|
|
8
8
|
height: 0;
|
|
9
9
|
vertical-align: middle;
|
|
10
|
-
content:
|
|
10
|
+
content: '';
|
|
11
11
|
border-style: $border-style;
|
|
12
12
|
// stylelint-disable-next-line primer/borders
|
|
13
13
|
border-width: $spacer-1 $spacer-1 0;
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
// Requires a positioning class (e.g., `.dropdown-menu-w`) to determine which
|
|
20
20
|
// way the menu should render from the element triggering it.
|
|
21
|
+
|
|
21
22
|
.dropdown-menu {
|
|
22
23
|
position: absolute;
|
|
23
24
|
top: 100%;
|
|
@@ -29,29 +30,31 @@
|
|
|
29
30
|
// stylelint-disable-next-line primer/spacing
|
|
30
31
|
margin-top: 2px;
|
|
31
32
|
list-style: none;
|
|
32
|
-
background-color:
|
|
33
|
+
background-color: var(--color-canvas-overlay);
|
|
33
34
|
background-clip: padding-box;
|
|
34
|
-
border: $border;
|
|
35
|
+
border: $border-width $border-style var(--color-border-default);
|
|
35
36
|
border-radius: $border-radius;
|
|
36
|
-
box-shadow:
|
|
37
|
+
box-shadow: var(--color-shadow-large);
|
|
37
38
|
|
|
38
39
|
&::before,
|
|
39
40
|
&::after {
|
|
40
41
|
position: absolute;
|
|
41
42
|
display: inline-block;
|
|
42
|
-
content:
|
|
43
|
+
content: '';
|
|
43
44
|
}
|
|
44
45
|
|
|
46
|
+
// caret border
|
|
45
47
|
&::before {
|
|
46
48
|
// stylelint-disable-next-line primer/borders
|
|
47
49
|
border: $spacer-2 $border-style transparent;
|
|
48
|
-
border-bottom-color:
|
|
50
|
+
border-bottom-color: var(--color-border-default);
|
|
49
51
|
}
|
|
50
52
|
|
|
53
|
+
// caret background (should match dropdown background)
|
|
51
54
|
&::after {
|
|
52
55
|
// stylelint-disable-next-line primer/borders
|
|
53
56
|
border: 7px $border-style transparent;
|
|
54
|
-
border-bottom-color:
|
|
57
|
+
border-bottom-color: var(--color-canvas-overlay);
|
|
55
58
|
}
|
|
56
59
|
|
|
57
60
|
// stylelint-disable-next-line selector-max-type
|
|
@@ -75,21 +78,28 @@
|
|
|
75
78
|
display: block;
|
|
76
79
|
padding: $spacer-1 $spacer-2 $spacer-1 $spacer-3;
|
|
77
80
|
overflow: hidden;
|
|
78
|
-
color:
|
|
81
|
+
color: var(--color-fg-default);
|
|
79
82
|
text-overflow: ellipsis;
|
|
80
83
|
white-space: nowrap;
|
|
81
84
|
|
|
82
|
-
&:focus,
|
|
83
85
|
&:hover {
|
|
84
|
-
color:
|
|
86
|
+
color: var(--color-fg-on-emphasis);
|
|
85
87
|
text-decoration: none;
|
|
86
|
-
background-color:
|
|
87
|
-
outline: none;
|
|
88
|
+
background-color: var(--color-accent-emphasis);
|
|
88
89
|
|
|
89
90
|
> .octicon {
|
|
90
91
|
color: inherit;
|
|
91
92
|
opacity: 1;
|
|
92
93
|
}
|
|
94
|
+
|
|
95
|
+
[class*='color-text-'] {
|
|
96
|
+
color: inherit !important;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
> .Label {
|
|
100
|
+
color: inherit !important;
|
|
101
|
+
border-color: currentColor;
|
|
102
|
+
}
|
|
93
103
|
}
|
|
94
104
|
|
|
95
105
|
&.btn-link {
|
|
@@ -109,16 +119,16 @@
|
|
|
109
119
|
display: block;
|
|
110
120
|
height: 0;
|
|
111
121
|
margin: $spacer-2 0;
|
|
112
|
-
border-top: $border;
|
|
122
|
+
border-top: $border-width $border-style var(--color-border-default);
|
|
113
123
|
}
|
|
114
124
|
|
|
115
125
|
.dropdown-header {
|
|
116
126
|
padding: $spacer-1 $spacer-3;
|
|
117
127
|
font-size: $h6-size;
|
|
118
|
-
color:
|
|
128
|
+
color: var(--color-fg-muted);
|
|
119
129
|
}
|
|
120
130
|
|
|
121
|
-
.dropdown-item[aria-checked=
|
|
131
|
+
.dropdown-item[aria-checked='false'] .octicon-check {
|
|
122
132
|
display: none;
|
|
123
133
|
}
|
|
124
134
|
|
|
@@ -140,7 +150,7 @@
|
|
|
140
150
|
right: -$spacer-3;
|
|
141
151
|
left: auto;
|
|
142
152
|
border-color: transparent;
|
|
143
|
-
border-left-color:
|
|
153
|
+
border-left-color: var(--color-border-default);
|
|
144
154
|
}
|
|
145
155
|
|
|
146
156
|
&::after {
|
|
@@ -148,7 +158,7 @@
|
|
|
148
158
|
right: -14px;
|
|
149
159
|
left: auto;
|
|
150
160
|
border-color: transparent;
|
|
151
|
-
border-left-color:
|
|
161
|
+
border-left-color: var(--color-canvas-overlay);
|
|
152
162
|
}
|
|
153
163
|
}
|
|
154
164
|
|
|
@@ -160,17 +170,17 @@
|
|
|
160
170
|
margin-left: $spacer-2;
|
|
161
171
|
|
|
162
172
|
&::before {
|
|
163
|
-
top:
|
|
173
|
+
top: 10px;
|
|
164
174
|
left: -$spacer-3;
|
|
165
175
|
border-color: transparent;
|
|
166
|
-
border-right-color:
|
|
176
|
+
border-right-color: var(--color-border-default);
|
|
167
177
|
}
|
|
168
178
|
|
|
169
179
|
&::after {
|
|
170
180
|
top: 11px;
|
|
171
181
|
left: -14px;
|
|
172
182
|
border-color: transparent;
|
|
173
|
-
border-right-color:
|
|
183
|
+
border-right-color: var(--color-canvas-overlay);
|
|
174
184
|
}
|
|
175
185
|
}
|
|
176
186
|
|
|
@@ -191,7 +201,7 @@
|
|
|
191
201
|
bottom: -$spacer-2;
|
|
192
202
|
left: 9px;
|
|
193
203
|
// stylelint-disable-next-line primer/borders
|
|
194
|
-
border-top: $spacer-2 $border-style
|
|
204
|
+
border-top: $spacer-2 $border-style var(--color-border-default);
|
|
195
205
|
// stylelint-disable-next-line primer/borders
|
|
196
206
|
border-right: $spacer-2 $border-style transparent;
|
|
197
207
|
border-bottom: 0;
|
|
@@ -203,7 +213,7 @@
|
|
|
203
213
|
bottom: -7px;
|
|
204
214
|
left: 10px;
|
|
205
215
|
// stylelint-disable-next-line primer/borders
|
|
206
|
-
border-top: 7px $border-style
|
|
216
|
+
border-top: 7px $border-style var(--color-canvas-overlay);
|
|
207
217
|
// stylelint-disable-next-line primer/borders
|
|
208
218
|
border-right: 7px $border-style transparent;
|
|
209
219
|
border-bottom: 0;
|
|
@@ -258,69 +268,3 @@
|
|
|
258
268
|
left: 10px;
|
|
259
269
|
}
|
|
260
270
|
}
|
|
261
|
-
|
|
262
|
-
// Dark dropdowns
|
|
263
|
-
.dropdown-menu-dark {
|
|
264
|
-
color: $text-white;
|
|
265
|
-
// stylelint-disable-next-line primer/colors
|
|
266
|
-
background: $gray-800;
|
|
267
|
-
border-color: $border-gray-darker;
|
|
268
|
-
box-shadow: $box-shadow-large;
|
|
269
|
-
|
|
270
|
-
&::before {
|
|
271
|
-
border-bottom-color: $border-gray-darker;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
&::after {
|
|
275
|
-
// stylelint-disable-next-line primer/borders
|
|
276
|
-
border-bottom-color: $gray-800;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
.dropdown-header {
|
|
280
|
-
// stylelint-disable-next-line primer/colors
|
|
281
|
-
color: $gray-300;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
.dropdown-divider {
|
|
285
|
-
border-top-color: $border-gray-darker;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
.dropdown-item {
|
|
289
|
-
color: inherit;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
// Directional classes
|
|
293
|
-
|
|
294
|
-
&.dropdown-menu-w {
|
|
295
|
-
&::before {
|
|
296
|
-
border-color: transparent transparent transparent $border-gray-darker;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
&::after {
|
|
300
|
-
// stylelint-disable-next-line primer/borders
|
|
301
|
-
border-color: transparent transparent transparent $gray-800;
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
&.dropdown-menu-e {
|
|
306
|
-
&::before {
|
|
307
|
-
border-color: transparent $border-gray-darker transparent transparent;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
&::after {
|
|
311
|
-
// stylelint-disable-next-line primer/borders
|
|
312
|
-
border-color: transparent $gray-800 transparent transparent;
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
&.dropdown-menu-ne {
|
|
317
|
-
&::before {
|
|
318
|
-
border-color: $border-gray-darker transparent transparent transparent;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
&::after {
|
|
322
|
-
// stylelint-disable-next-line primer/borders
|
|
323
|
-
border-color: $gray-800 transparent transparent transparent;
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
}
|
package/dropdown/index.scss
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
@import
|
|
2
|
-
@import
|
|
1
|
+
@import '../support/index.scss';
|
|
2
|
+
@import './dropdown.scss';
|
package/forms/README.md
CHANGED
|
@@ -19,7 +19,7 @@ The `@primer/css` npm package includes a standalone CSS build of this module in
|
|
|
19
19
|
|
|
20
20
|
## License
|
|
21
21
|
|
|
22
|
-
[MIT](https://github.com/primer/css/blob/
|
|
22
|
+
[MIT](https://github.com/primer/css/blob/main/LICENSE) © [GitHub](https://github.com/)
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
[scss]: https://sass-lang.com/documentation/syntax#scss
|
package/forms/form-control.scss
CHANGED
|
@@ -22,33 +22,33 @@ label {
|
|
|
22
22
|
font-size: $body-font-size;
|
|
23
23
|
// stylelint-disable-next-line primer/typography
|
|
24
24
|
line-height: 20px;
|
|
25
|
-
color:
|
|
25
|
+
color: var(--color-fg-default);
|
|
26
26
|
vertical-align: middle;
|
|
27
|
-
background-color:
|
|
27
|
+
background-color: var(--color-canvas-default);
|
|
28
28
|
background-repeat: no-repeat; // Repeat and position set for form states (success, error, etc)
|
|
29
29
|
background-position: right 8px center; // For form validation. This keeps images 8px from right and centered vertically.
|
|
30
|
-
border: $border-width $border-style
|
|
30
|
+
border: $border-width $border-style var(--color-border-default);
|
|
31
31
|
border-radius: $border-radius;
|
|
32
|
-
|
|
33
|
-
box-shadow: $box-shadow-inset;
|
|
34
|
-
|
|
35
|
-
&.focus,
|
|
36
|
-
&:focus {
|
|
37
|
-
border-color: $border-blue;
|
|
38
|
-
outline: none;
|
|
39
|
-
box-shadow: $box-shadow-focus;
|
|
40
|
-
}
|
|
32
|
+
box-shadow: var(--color-primer-shadow-inset);
|
|
41
33
|
|
|
42
34
|
&[disabled] {
|
|
43
|
-
|
|
44
|
-
color:
|
|
45
|
-
|
|
46
|
-
|
|
35
|
+
color: var(--color-primer-fg-disabled);
|
|
36
|
+
background-color: var(--color-input-disabled-bg);
|
|
37
|
+
border-color: var(--color-border-default);
|
|
38
|
+
-webkit-text-fill-color: var(--color-primer-fg-disabled); // Fix for Safari
|
|
39
|
+
opacity: 1; // Fix for Safari iOS
|
|
40
|
+
|
|
41
|
+
&::placeholder {
|
|
42
|
+
color: var(--color-primer-fg-disabled);
|
|
43
|
+
}
|
|
47
44
|
}
|
|
48
45
|
|
|
49
|
-
// Ensures inputs don't zoom on mobile but are body-font size on
|
|
50
|
-
@
|
|
51
|
-
font-size: $
|
|
46
|
+
// Ensures inputs don't zoom on mobile iPhone but are body-font size on iPad
|
|
47
|
+
@supports (-webkit-touch-callout: none) {
|
|
48
|
+
font-size: $h4-size;
|
|
49
|
+
@include breakpoint(md) {
|
|
50
|
+
font-size: $body-font-size;
|
|
51
|
+
}
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
|
|
@@ -61,41 +61,22 @@ textarea.form-control {
|
|
|
61
61
|
|
|
62
62
|
// Inputs with contrast for easy light gray backgrounds against white.
|
|
63
63
|
.input-contrast {
|
|
64
|
-
background-color:
|
|
65
|
-
|
|
66
|
-
&:focus { background-color: $bg-white; }
|
|
67
|
-
}
|
|
64
|
+
background-color: var(--color-canvas-inset);
|
|
68
65
|
|
|
69
|
-
// Inputs to be used against dark backgrounds.
|
|
70
|
-
.input-dark {
|
|
71
|
-
color: $text-white;
|
|
72
|
-
// stylelint-disable-next-line primer/colors
|
|
73
|
-
background-color: $white-fade-15;
|
|
74
|
-
border-color: transparent;
|
|
75
|
-
box-shadow: none;
|
|
76
|
-
|
|
77
|
-
&::placeholder {
|
|
78
|
-
color: inherit;
|
|
79
|
-
opacity: 0.6; // inceases contrast ratio to 4.52
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
&.focus,
|
|
83
66
|
&:focus {
|
|
84
|
-
|
|
85
|
-
border-color: $black-fade-30;
|
|
86
|
-
// stylelint-disable-next-line primer/box-shadow
|
|
87
|
-
box-shadow: 0 0 0 0.2em rgba($blue-300, 0.4);
|
|
67
|
+
background-color: var(--color-canvas-default);
|
|
88
68
|
}
|
|
89
69
|
}
|
|
90
70
|
|
|
91
71
|
// Custom styling for HTML5 validation bubbles (WebKit only)
|
|
92
72
|
::placeholder {
|
|
93
|
-
color:
|
|
73
|
+
color: var(--color-fg-subtle);
|
|
94
74
|
opacity: 1; // override opacity in normalize.css
|
|
95
75
|
}
|
|
96
76
|
|
|
97
77
|
// Mini inputs, to match .minibutton
|
|
98
78
|
.input-sm {
|
|
79
|
+
min-height: $size-4;
|
|
99
80
|
// stylelint-disable-next-line primer/spacing
|
|
100
81
|
padding-top: 3px;
|
|
101
82
|
// stylelint-disable-next-line primer/spacing
|
|
@@ -149,14 +130,13 @@ textarea.form-control {
|
|
|
149
130
|
// stylelint-disable-next-line primer/spacing
|
|
150
131
|
padding: 2px $spacer-1;
|
|
151
132
|
font-style: normal;
|
|
152
|
-
|
|
153
|
-
background: $yellow-100;
|
|
133
|
+
background: var(--color-attention-subtle);
|
|
154
134
|
border-radius: $border-radius;
|
|
155
135
|
}
|
|
156
136
|
}
|
|
157
137
|
|
|
158
|
-
input[type=checkbox],
|
|
159
|
-
input[type=radio] {
|
|
138
|
+
input[type='checkbox'],
|
|
139
|
+
input[type='radio'] {
|
|
160
140
|
float: left;
|
|
161
141
|
// stylelint-disable-next-line primer/spacing
|
|
162
142
|
margin: 5px 0 0 -20px;
|
|
@@ -168,7 +148,7 @@ textarea.form-control {
|
|
|
168
148
|
margin: 0;
|
|
169
149
|
font-size: $font-size-small;
|
|
170
150
|
font-weight: $font-weight-normal;
|
|
171
|
-
color:
|
|
151
|
+
color: var(--color-fg-muted);
|
|
172
152
|
}
|
|
173
153
|
}
|
|
174
154
|
|
|
@@ -180,7 +160,7 @@ textarea.form-control {
|
|
|
180
160
|
&:checked {
|
|
181
161
|
// child of sibling or sibling
|
|
182
162
|
~ * .form-checkbox-details,
|
|
183
|
-
~ .form-checkbox-details {
|
|
163
|
+
~ .form-checkbox-details {
|
|
184
164
|
display: block;
|
|
185
165
|
}
|
|
186
166
|
}
|
|
@@ -206,7 +186,7 @@ textarea.form-control {
|
|
|
206
186
|
display: inline-block;
|
|
207
187
|
// stylelint-disable-next-line primer/spacing
|
|
208
188
|
margin: 5px 0 0;
|
|
209
|
-
color:
|
|
189
|
+
color: var(--color-fg-muted);
|
|
210
190
|
}
|
|
211
191
|
|
|
212
192
|
img {
|
|
@@ -222,8 +202,10 @@ textarea.form-control {
|
|
|
222
202
|
margin: 28px 25px 0 -20px;
|
|
223
203
|
}
|
|
224
204
|
|
|
225
|
-
|
|
226
|
-
|
|
205
|
+
.form-select {
|
|
206
|
+
// stylelint-disable-next-line primer/spacing
|
|
207
|
+
margin-top: 5px;
|
|
208
|
+
}
|
|
227
209
|
}
|
|
228
210
|
|
|
229
211
|
// Hide the up/down buttons in <input type="number"> in the login form, the
|
|
@@ -255,11 +237,9 @@ input::-webkit-inner-spin-button {
|
|
|
255
237
|
// stylelint-disable-next-line primer/spacing
|
|
256
238
|
margin: 10px 0;
|
|
257
239
|
font-size: $h5-size;
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
background: $yellow-100;
|
|
262
|
-
border: $border-width $border-style $border-yellow;
|
|
240
|
+
color: var(--color-attention-fg);
|
|
241
|
+
background: var(--color-attention-subtle);
|
|
242
|
+
border: $border-width $border-style var(--color-attention-emphasis);
|
|
263
243
|
border-radius: $border-radius;
|
|
264
244
|
|
|
265
245
|
p {
|
|
@@ -267,5 +247,7 @@ input::-webkit-inner-spin-button {
|
|
|
267
247
|
line-height: $lh-default;
|
|
268
248
|
}
|
|
269
249
|
|
|
270
|
-
a {
|
|
250
|
+
a {
|
|
251
|
+
font-weight: $font-weight-bold;
|
|
252
|
+
}
|
|
271
253
|
}
|
package/forms/form-group.scss
CHANGED
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
max-width: 100%;
|
|
21
21
|
// stylelint-disable-next-line primer/spacing
|
|
22
22
|
margin-right: 5px;
|
|
23
|
-
background-color:
|
|
23
|
+
background-color: var(--color-canvas-inset);
|
|
24
24
|
|
|
25
25
|
&:focus {
|
|
26
|
-
background-color:
|
|
26
|
+
background-color: var(--color-canvas-default);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
&.shorter { width: 130px; }
|
|
@@ -81,9 +81,9 @@
|
|
|
81
81
|
h4 {
|
|
82
82
|
margin: $spacer-1 0 0;
|
|
83
83
|
|
|
84
|
-
&.is-error { color:
|
|
84
|
+
&.is-error { color: var(--color-danger-fg); }
|
|
85
85
|
|
|
86
|
-
&.is-success { color:
|
|
86
|
+
&.is-success { color: var(--color-success-fg); }
|
|
87
87
|
|
|
88
88
|
+ .note {
|
|
89
89
|
margin-top: 0;
|
|
@@ -101,8 +101,8 @@
|
|
|
101
101
|
.form-group-header label::after {
|
|
102
102
|
// stylelint-disable-next-line primer/spacing
|
|
103
103
|
padding-left: 5px;
|
|
104
|
-
color:
|
|
105
|
-
content:
|
|
104
|
+
color: var(--color-danger-fg);
|
|
105
|
+
content: '*';
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
&.successful {
|
|
135
135
|
.success {
|
|
136
136
|
display: inline;
|
|
137
|
-
color:
|
|
137
|
+
color: var(--color-success-fg);
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
width: 0;
|
|
170
170
|
height: 0;
|
|
171
171
|
pointer-events: none;
|
|
172
|
-
content:
|
|
172
|
+
content: ' ';
|
|
173
173
|
// stylelint-disable-next-line primer/borders
|
|
174
174
|
border: $border-style transparent;
|
|
175
175
|
}
|
|
@@ -190,76 +190,59 @@
|
|
|
190
190
|
|
|
191
191
|
&.successed {
|
|
192
192
|
.success {
|
|
193
|
-
|
|
194
|
-
color:
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
border-color: $border-green;
|
|
193
|
+
color: var(--color-fg-default);
|
|
194
|
+
background-color: var(--color-canvas-default); // Makes sure the background is opaque to cover any content underneath
|
|
195
|
+
background-image: linear-gradient(var(--color-success-subtle), var(--color-success-subtle));
|
|
196
|
+
border-color: var(--color-success-muted);
|
|
198
197
|
|
|
199
|
-
&::after {
|
|
200
|
-
|
|
201
|
-
border-bottom-color: $green-100;
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
&::before {
|
|
205
|
-
border-bottom-color: $border-green;
|
|
206
|
-
}
|
|
198
|
+
&::after { border-bottom-color: var(--color-success-subtle); }
|
|
199
|
+
&::before { border-bottom-color: var(--color-success-muted); }
|
|
207
200
|
}
|
|
208
201
|
}
|
|
209
202
|
|
|
210
203
|
&.warn {
|
|
211
204
|
.form-control {
|
|
212
|
-
|
|
213
|
-
border-color: $yellow-600;
|
|
205
|
+
border-color: var(--color-attention-emphasis);
|
|
214
206
|
}
|
|
215
207
|
|
|
216
208
|
.warning {
|
|
217
|
-
|
|
218
|
-
background-color:
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
&::after {
|
|
222
|
-
// stylelint-disable-next-line primer/borders
|
|
223
|
-
border-bottom-color: $yellow-200;
|
|
224
|
-
}
|
|
209
|
+
color: var(--color-fg-default);
|
|
210
|
+
background-color: var(--color-canvas-default); // Makes sure the background is opaque to cover any content underneath
|
|
211
|
+
background-image: linear-gradient(var(--color-attention-subtle), var(--color-attention-subtle));
|
|
212
|
+
border-color: var(--color-attention-muted);
|
|
225
213
|
|
|
226
|
-
&::
|
|
227
|
-
|
|
228
|
-
}
|
|
214
|
+
&::after { border-bottom-color: var(--color-attention-subtle); }
|
|
215
|
+
&::before { border-bottom-color: var(--color-attention-muted); }
|
|
229
216
|
}
|
|
230
217
|
}
|
|
231
218
|
|
|
232
219
|
&.errored {
|
|
233
220
|
.form-control {
|
|
234
|
-
|
|
235
|
-
border-color: $red-600;
|
|
221
|
+
border-color: var(--color-danger-emphasis);
|
|
236
222
|
}
|
|
237
223
|
|
|
238
224
|
label {
|
|
239
|
-
color:
|
|
225
|
+
color: var(--color-danger-fg);
|
|
240
226
|
}
|
|
241
227
|
|
|
242
228
|
.error {
|
|
243
|
-
|
|
244
|
-
|
|
229
|
+
color: var(--color-fg-default);
|
|
230
|
+
background-color: var(--color-canvas-default); // Makes sure the background is opaque to cover any content underneath
|
|
231
|
+
background-image: linear-gradient(var(--color-danger-subtle), var(--color-danger-subtle));
|
|
232
|
+
border-color: var(--color-danger-muted);
|
|
245
233
|
|
|
246
|
-
&::after {
|
|
247
|
-
|
|
248
|
-
border-bottom-color: $bg-red-light;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
&::before {
|
|
252
|
-
border-bottom-color: $border-red-light;
|
|
253
|
-
}
|
|
234
|
+
&::after { border-bottom-color: var(--color-danger-subtle); }
|
|
235
|
+
&::before { border-bottom-color: var(--color-danger-muted); }
|
|
254
236
|
}
|
|
255
237
|
}
|
|
256
238
|
}
|
|
257
239
|
|
|
240
|
+
// tooltip
|
|
258
241
|
.note {
|
|
259
242
|
min-height: 17px;
|
|
260
243
|
margin: $spacer-1 0 2px;
|
|
261
244
|
font-size: $font-size-small;
|
|
262
|
-
color:
|
|
245
|
+
color: var(--color-fg-muted);
|
|
263
246
|
|
|
264
247
|
.spinner {
|
|
265
248
|
// stylelint-disable-next-line primer/spacing
|
package/forms/form-select.scss
CHANGED
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
max-width: 100%;
|
|
7
7
|
height: $size-5;
|
|
8
8
|
padding-right: $spacer-4;
|
|
9
|
-
background-color:
|
|
10
|
-
|
|
9
|
+
background-color: var(--color-canvas-default);
|
|
10
|
+
// SVG with fill: #586069 (--color-icon-secondary)
|
|
11
|
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0iIzU4NjA2OSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNC40MjcgOS40MjdsMy4zOTYgMy4zOTZhLjI1MS4yNTEgMCAwMC4zNTQgMGwzLjM5Ni0zLjM5NkEuMjUuMjUgMCAwMDExLjM5NiA5SDQuNjA0YS4yNS4yNSAwIDAwLS4xNzcuNDI3ek00LjQyMyA2LjQ3TDcuODIgMy4wNzJhLjI1LjI1IDAgMDEuMzU0IDBMMTEuNTcgNi40N2EuMjUuMjUgMCAwMS0uMTc3LjQyN0g0LjZhLjI1LjI1IDAgMDEtLjE3Ny0uNDI3eiIgLz48L3N2Zz4=');
|
|
11
12
|
background-repeat: no-repeat;
|
|
12
|
-
background-position: right
|
|
13
|
-
background-size:
|
|
13
|
+
background-position: right 4px center;
|
|
14
|
+
background-size: 16px;
|
|
14
15
|
appearance: none;
|
|
15
16
|
|
|
16
17
|
// Hides the default caret in IE11
|
|
@@ -23,6 +24,13 @@
|
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
|
|
27
|
+
@include color-mode(dark) {
|
|
28
|
+
.form-select {
|
|
29
|
+
// SVG with fill: #6e7681 (--color-icon-secondary)
|
|
30
|
+
background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0iIzZlNzY4MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNC40MjcgOS40MjdsMy4zOTYgMy4zOTZhLjI1MS4yNTEgMCAwMC4zNTQgMGwzLjM5Ni0zLjM5NkEuMjUuMjUgMCAwMDExLjM5NiA5SDQuNjA0YS4yNS4yNSAwIDAwLS4xNzcuNDI3ek00LjQyMyA2LjQ3TDcuODIgMy4wNzJhLjI1LjI1IDAgMDEuMzU0IDBMMTEuNTcgNi40N2EuMjUuMjUgMCAwMS0uMTc3LjQyN0g0LjZhLjI1LjI1IDAgMDEtLjE3Ny0uNDI3eiIgLz48L3N2Zz4=');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
26
34
|
.select-sm {
|
|
27
35
|
height: $size-4;
|
|
28
36
|
// stylelint-disable-next-line primer/spacing
|