@primer/css 0.0.0-1f16d51 → 0.0.0-202110123633
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 +825 -134
- package/CONTRIBUTING.md +85 -0
- package/DEVELOP.md +4 -39
- package/LICENSE +1 -1
- package/README.md +13 -15
- package/RELEASING.md +5 -78
- 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 +4 -5
- package/base/index.scss +6 -5
- package/base/kbd.scss +5 -6
- package/base/normalize.scss +1 -1
- 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 +123 -104
- package/buttons/index.scss +4 -4
- package/buttons/misc.scss +50 -29
- 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 +16 -16
- package/deprecations.js +18 -200
- package/deprecations.json +539 -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 +305 -371
- 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/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 -86
- package/dropdown/index.scss +2 -2
- package/forms/README.md +1 -1
- package/forms/form-control.scss +41 -51
- 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/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 +9 -10
- 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 +4 -6
- 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 +20 -19
- package/navigation/sidenav.scss +21 -18
- package/navigation/subnav.scss +9 -13
- package/navigation/tabnav.scss +17 -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 +1 -2
- 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 +9 -12
- package/support/variables/layout.scss +70 -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 +38 -20
- 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 -109
- package/utilities/details.scss +3 -3
- 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,30 @@
|
|
|
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
85
|
&:focus,
|
|
83
86
|
&:hover {
|
|
84
|
-
color:
|
|
87
|
+
color: var(--color-fg-on-emphasis);
|
|
85
88
|
text-decoration: none;
|
|
86
|
-
background-color:
|
|
89
|
+
background-color: var(--color-accent-emphasis);
|
|
87
90
|
outline: none;
|
|
88
91
|
|
|
89
92
|
> .octicon {
|
|
90
93
|
color: inherit;
|
|
91
94
|
opacity: 1;
|
|
92
95
|
}
|
|
96
|
+
|
|
97
|
+
[class*='color-text-'] {
|
|
98
|
+
color: inherit !important;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
> .Label {
|
|
102
|
+
color: inherit !important;
|
|
103
|
+
border-color: currentColor;
|
|
104
|
+
}
|
|
93
105
|
}
|
|
94
106
|
|
|
95
107
|
&.btn-link {
|
|
@@ -109,16 +121,16 @@
|
|
|
109
121
|
display: block;
|
|
110
122
|
height: 0;
|
|
111
123
|
margin: $spacer-2 0;
|
|
112
|
-
border-top: $border;
|
|
124
|
+
border-top: $border-width $border-style var(--color-border-default);
|
|
113
125
|
}
|
|
114
126
|
|
|
115
127
|
.dropdown-header {
|
|
116
128
|
padding: $spacer-1 $spacer-3;
|
|
117
129
|
font-size: $h6-size;
|
|
118
|
-
color:
|
|
130
|
+
color: var(--color-fg-muted);
|
|
119
131
|
}
|
|
120
132
|
|
|
121
|
-
.dropdown-item[aria-checked=
|
|
133
|
+
.dropdown-item[aria-checked='false'] .octicon-check {
|
|
122
134
|
display: none;
|
|
123
135
|
}
|
|
124
136
|
|
|
@@ -140,7 +152,7 @@
|
|
|
140
152
|
right: -$spacer-3;
|
|
141
153
|
left: auto;
|
|
142
154
|
border-color: transparent;
|
|
143
|
-
border-left-color:
|
|
155
|
+
border-left-color: var(--color-border-default);
|
|
144
156
|
}
|
|
145
157
|
|
|
146
158
|
&::after {
|
|
@@ -148,7 +160,7 @@
|
|
|
148
160
|
right: -14px;
|
|
149
161
|
left: auto;
|
|
150
162
|
border-color: transparent;
|
|
151
|
-
border-left-color:
|
|
163
|
+
border-left-color: var(--color-canvas-overlay);
|
|
152
164
|
}
|
|
153
165
|
}
|
|
154
166
|
|
|
@@ -160,17 +172,17 @@
|
|
|
160
172
|
margin-left: $spacer-2;
|
|
161
173
|
|
|
162
174
|
&::before {
|
|
163
|
-
top:
|
|
175
|
+
top: 10px;
|
|
164
176
|
left: -$spacer-3;
|
|
165
177
|
border-color: transparent;
|
|
166
|
-
border-right-color:
|
|
178
|
+
border-right-color: var(--color-border-default);
|
|
167
179
|
}
|
|
168
180
|
|
|
169
181
|
&::after {
|
|
170
182
|
top: 11px;
|
|
171
183
|
left: -14px;
|
|
172
184
|
border-color: transparent;
|
|
173
|
-
border-right-color:
|
|
185
|
+
border-right-color: var(--color-canvas-overlay);
|
|
174
186
|
}
|
|
175
187
|
}
|
|
176
188
|
|
|
@@ -191,7 +203,7 @@
|
|
|
191
203
|
bottom: -$spacer-2;
|
|
192
204
|
left: 9px;
|
|
193
205
|
// stylelint-disable-next-line primer/borders
|
|
194
|
-
border-top: $spacer-2 $border-style
|
|
206
|
+
border-top: $spacer-2 $border-style var(--color-border-default);
|
|
195
207
|
// stylelint-disable-next-line primer/borders
|
|
196
208
|
border-right: $spacer-2 $border-style transparent;
|
|
197
209
|
border-bottom: 0;
|
|
@@ -203,7 +215,7 @@
|
|
|
203
215
|
bottom: -7px;
|
|
204
216
|
left: 10px;
|
|
205
217
|
// stylelint-disable-next-line primer/borders
|
|
206
|
-
border-top: 7px $border-style
|
|
218
|
+
border-top: 7px $border-style var(--color-canvas-overlay);
|
|
207
219
|
// stylelint-disable-next-line primer/borders
|
|
208
220
|
border-right: 7px $border-style transparent;
|
|
209
221
|
border-bottom: 0;
|
|
@@ -258,69 +270,3 @@
|
|
|
258
270
|
left: 10px;
|
|
259
271
|
}
|
|
260
272
|
}
|
|
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,41 @@ 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
32
|
outline: none;
|
|
33
|
-
box-shadow:
|
|
33
|
+
box-shadow: var(--color-primer-shadow-inset);
|
|
34
34
|
|
|
35
35
|
&.focus,
|
|
36
36
|
&:focus {
|
|
37
|
-
border-color:
|
|
37
|
+
border-color: var(--color-accent-emphasis);
|
|
38
38
|
outline: none;
|
|
39
|
-
box-shadow:
|
|
39
|
+
box-shadow: var(--color-primer-shadow-focus);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
&[disabled] {
|
|
43
|
-
|
|
44
|
-
color:
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
color: var(--color-primer-fg-disabled);
|
|
44
|
+
background-color: var(--color-input-disabled-bg);
|
|
45
|
+
border-color: var(--color-border-default);
|
|
46
|
+
-webkit-text-fill-color: var(--color-primer-fg-disabled); // Fix for Safari
|
|
47
|
+
opacity: 1; // Fix for Safari iOS
|
|
48
|
+
|
|
49
|
+
&::placeholder {
|
|
50
|
+
color: var(--color-primer-fg-disabled);
|
|
51
|
+
}
|
|
47
52
|
}
|
|
48
53
|
|
|
49
|
-
// Ensures inputs don't zoom on mobile but are body-font size on
|
|
50
|
-
@
|
|
51
|
-
font-size: $
|
|
54
|
+
// Ensures inputs don't zoom on mobile iPhone but are body-font size on iPad
|
|
55
|
+
@supports (-webkit-touch-callout: none) {
|
|
56
|
+
font-size: $h4-size;
|
|
57
|
+
@include breakpoint(md) {
|
|
58
|
+
font-size: $body-font-size;
|
|
59
|
+
}
|
|
52
60
|
}
|
|
53
61
|
}
|
|
54
62
|
|
|
@@ -61,41 +69,22 @@ textarea.form-control {
|
|
|
61
69
|
|
|
62
70
|
// Inputs with contrast for easy light gray backgrounds against white.
|
|
63
71
|
.input-contrast {
|
|
64
|
-
background-color:
|
|
65
|
-
|
|
66
|
-
&:focus { background-color: $bg-white; }
|
|
67
|
-
}
|
|
68
|
-
|
|
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
|
-
}
|
|
72
|
+
background-color: var(--color-canvas-inset);
|
|
81
73
|
|
|
82
|
-
&.focus,
|
|
83
74
|
&: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);
|
|
75
|
+
background-color: var(--color-canvas-default);
|
|
88
76
|
}
|
|
89
77
|
}
|
|
90
78
|
|
|
91
79
|
// Custom styling for HTML5 validation bubbles (WebKit only)
|
|
92
80
|
::placeholder {
|
|
93
|
-
color:
|
|
81
|
+
color: var(--color-fg-subtle);
|
|
94
82
|
opacity: 1; // override opacity in normalize.css
|
|
95
83
|
}
|
|
96
84
|
|
|
97
85
|
// Mini inputs, to match .minibutton
|
|
98
86
|
.input-sm {
|
|
87
|
+
min-height: $size-4;
|
|
99
88
|
// stylelint-disable-next-line primer/spacing
|
|
100
89
|
padding-top: 3px;
|
|
101
90
|
// stylelint-disable-next-line primer/spacing
|
|
@@ -149,14 +138,13 @@ textarea.form-control {
|
|
|
149
138
|
// stylelint-disable-next-line primer/spacing
|
|
150
139
|
padding: 2px $spacer-1;
|
|
151
140
|
font-style: normal;
|
|
152
|
-
|
|
153
|
-
background: $yellow-100;
|
|
141
|
+
background: var(--color-attention-subtle);
|
|
154
142
|
border-radius: $border-radius;
|
|
155
143
|
}
|
|
156
144
|
}
|
|
157
145
|
|
|
158
|
-
input[type=checkbox],
|
|
159
|
-
input[type=radio] {
|
|
146
|
+
input[type='checkbox'],
|
|
147
|
+
input[type='radio'] {
|
|
160
148
|
float: left;
|
|
161
149
|
// stylelint-disable-next-line primer/spacing
|
|
162
150
|
margin: 5px 0 0 -20px;
|
|
@@ -168,7 +156,7 @@ textarea.form-control {
|
|
|
168
156
|
margin: 0;
|
|
169
157
|
font-size: $font-size-small;
|
|
170
158
|
font-weight: $font-weight-normal;
|
|
171
|
-
color:
|
|
159
|
+
color: var(--color-fg-muted);
|
|
172
160
|
}
|
|
173
161
|
}
|
|
174
162
|
|
|
@@ -180,7 +168,7 @@ textarea.form-control {
|
|
|
180
168
|
&:checked {
|
|
181
169
|
// child of sibling or sibling
|
|
182
170
|
~ * .form-checkbox-details,
|
|
183
|
-
~ .form-checkbox-details {
|
|
171
|
+
~ .form-checkbox-details {
|
|
184
172
|
display: block;
|
|
185
173
|
}
|
|
186
174
|
}
|
|
@@ -206,7 +194,7 @@ textarea.form-control {
|
|
|
206
194
|
display: inline-block;
|
|
207
195
|
// stylelint-disable-next-line primer/spacing
|
|
208
196
|
margin: 5px 0 0;
|
|
209
|
-
color:
|
|
197
|
+
color: var(--color-fg-muted);
|
|
210
198
|
}
|
|
211
199
|
|
|
212
200
|
img {
|
|
@@ -222,8 +210,10 @@ textarea.form-control {
|
|
|
222
210
|
margin: 28px 25px 0 -20px;
|
|
223
211
|
}
|
|
224
212
|
|
|
225
|
-
|
|
226
|
-
|
|
213
|
+
.form-select {
|
|
214
|
+
// stylelint-disable-next-line primer/spacing
|
|
215
|
+
margin-top: 5px;
|
|
216
|
+
}
|
|
227
217
|
}
|
|
228
218
|
|
|
229
219
|
// Hide the up/down buttons in <input type="number"> in the login form, the
|
|
@@ -255,11 +245,9 @@ input::-webkit-inner-spin-button {
|
|
|
255
245
|
// stylelint-disable-next-line primer/spacing
|
|
256
246
|
margin: 10px 0;
|
|
257
247
|
font-size: $h5-size;
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
background: $yellow-100;
|
|
262
|
-
border: $border-width $border-style $border-yellow;
|
|
248
|
+
color: var(--color-attention-fg);
|
|
249
|
+
background: var(--color-attention-subtle);
|
|
250
|
+
border: $border-width $border-style var(--color-attention-emphasis);
|
|
263
251
|
border-radius: $border-radius;
|
|
264
252
|
|
|
265
253
|
p {
|
|
@@ -267,5 +255,7 @@ input::-webkit-inner-spin-button {
|
|
|
267
255
|
line-height: $lh-default;
|
|
268
256
|
}
|
|
269
257
|
|
|
270
|
-
a {
|
|
258
|
+
a {
|
|
259
|
+
font-weight: $font-weight-bold;
|
|
260
|
+
}
|
|
271
261
|
}
|
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
|