@primer/css 20.6.1-rc.ff703ef2 → 20.7.0-rc.5025a8f3

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 (59) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/actionlist.css.map +1 -1
  3. package/dist/alerts.css.map +1 -1
  4. package/dist/autocomplete.css.map +1 -1
  5. package/dist/avatars.css.map +1 -1
  6. package/dist/base.css.map +1 -1
  7. package/dist/blankslate.css.map +1 -1
  8. package/dist/box.css.map +1 -1
  9. package/dist/branch-name.css.map +1 -1
  10. package/dist/breadcrumb.css.map +1 -1
  11. package/dist/buttons.css.map +1 -1
  12. package/dist/color-modes.css.map +1 -1
  13. package/dist/core.css +1 -1
  14. package/dist/core.css.map +1 -1
  15. package/dist/dropdown.css +1 -1
  16. package/dist/dropdown.css.map +1 -1
  17. package/dist/forms.css +1 -1
  18. package/dist/forms.css.map +1 -1
  19. package/dist/header.css.map +1 -1
  20. package/dist/labels.css.map +1 -1
  21. package/dist/layout.css.map +1 -1
  22. package/dist/links.css.map +1 -1
  23. package/dist/loaders.css.map +1 -1
  24. package/dist/markdown.css.map +1 -1
  25. package/dist/marketing-buttons.css.map +1 -1
  26. package/dist/marketing-links.css.map +1 -1
  27. package/dist/marketing-type.css.map +1 -1
  28. package/dist/marketing-utilities.css.map +1 -1
  29. package/dist/meta.json +44 -44
  30. package/dist/navigation.css.map +1 -1
  31. package/dist/overlay.css.map +1 -1
  32. package/dist/pagination.css.map +1 -1
  33. package/dist/popover.css.map +1 -1
  34. package/dist/primer.css +2 -2
  35. package/dist/primer.css.map +1 -1
  36. package/dist/product.css +1 -1
  37. package/dist/product.css.map +1 -1
  38. package/dist/progress.css.map +1 -1
  39. package/dist/select-menu.css.map +1 -1
  40. package/dist/stats/core.json +1 -1
  41. package/dist/stats/dropdown.json +1 -1
  42. package/dist/stats/forms.json +1 -1
  43. package/dist/stats/primer.json +1 -1
  44. package/dist/stats/product.json +1 -1
  45. package/dist/stats/utilities.json +1 -1
  46. package/dist/subhead.css.map +1 -1
  47. package/dist/timeline.css.map +1 -1
  48. package/dist/toasts.css.map +1 -1
  49. package/dist/toggle-switch.css.map +1 -1
  50. package/dist/tooltips.css.map +1 -1
  51. package/dist/truncate.css.map +1 -1
  52. package/dist/utilities.css +1 -1
  53. package/dist/utilities.css.map +1 -1
  54. package/dist/variables.json +57 -57
  55. package/dropdown/dropdown.scss +1 -1
  56. package/forms/FormControl.scss +34 -43
  57. package/package.json +1 -1
  58. package/support/variables/layout.scss +75 -53
  59. package/utilities/margin.scss +9 -9
@@ -50,7 +50,7 @@
50
50
  @mixin Field {
51
51
  color: var(--color-fg-default);
52
52
  background-color: var(--color-canvas-default);
53
- border: solid var(--primer-borderWidth-thin, 1px) var(--color-border-default);
53
+ border: var(--primer-borderWidth-thin, 1px) solid var(--color-border-default);
54
54
 
55
55
  &[disabled] {
56
56
  color: var(--color-primer-fg-disabled);
@@ -77,7 +77,7 @@
77
77
  }
78
78
 
79
79
  // default focus state
80
- &:focus-visible {
80
+ &:not([type='checkbox']):not([type='radio']):focus-visible {
81
81
  @include focusBoxShadowInset;
82
82
  }
83
83
  }
@@ -520,8 +520,7 @@
520
520
 
521
521
  // these selectors are temporary to override base.scss
522
522
  // once Field styles are widely adopted, we can adjust this and the global base styles
523
- input[type='checkbox'].FormControl-checkbox,
524
- input[type='radio'].FormControl-radio {
523
+ input[type='checkbox'].FormControl-checkbox {
525
524
  @include Field;
526
525
 
527
526
  position: relative;
@@ -531,7 +530,7 @@ input[type='radio'].FormControl-radio {
531
530
  margin: 0;
532
531
  margin-top: 0.125rem; // 2px to center align with label (20px line-height)
533
532
  cursor: pointer;
534
- border: solid var(--primer-borderWidth-thin, 1px) var(--color-border-default);
533
+ border-color: var(--color-neutral-emphasis);
535
534
  border-radius: var(--primer-borderRadius-small, 3px);
536
535
  transition: background-color, border-color 80ms cubic-bezier(0.33, 1, 0.68, 1); // checked -> unchecked - add 120ms delay to fully see animation-out
537
536
  appearance: none;
@@ -604,9 +603,8 @@ input[type='radio'].FormControl-radio {
604
603
  // stylelint-enable primer/colors
605
604
  }
606
605
 
607
- &:focus,
608
606
  &:focus-visible {
609
- outline-offset: 2px;
607
+ @include focusOutline(2px);
610
608
  }
611
609
 
612
610
  &:indeterminate {
@@ -618,31 +616,44 @@ input[type='radio'].FormControl-radio {
618
616
  }
619
617
 
620
618
  input[type='radio'].FormControl-radio {
621
- border-radius: var(--primer-borderRadius-full, 100vh);
619
+ @include Field;
622
620
 
623
- &::before {
624
- clip-path: circle(0%);
625
- mask-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxMCAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgOS4zNzVDNy40MTYyMiA5LjM3NSA5LjM3NSA3LjQxNjIyIDkuMzc1IDVDOS4zNzUgMi41ODM3NiA3LjQxNjIyIDAuNjI1IDUgMC42MjVDMi41ODM3NiAwLjYyNSAwLjYyNSAyLjU4Mzc2IDAuNjI1IDVDMC42MjUgNy40MTYyMiAyLjU4Mzc2IDkuMzc1IDUgOS4zNzVaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K'); // checked circle image
626
- mask-size: 65%;
621
+ position: relative;
622
+ width: var(--base-size-16, 16px);
623
+ height: var(--base-size-16, 16px);
624
+ margin: 0;
625
+ margin-top: 0.125rem; // 2px to center align with label (20px line-height)
626
+ cursor: pointer;
627
+ border-color: var(--color-neutral-emphasis);
628
+ border-radius: var(--primer-borderRadius-full, 100vh);
629
+ transition: background-color, border-color 80ms cubic-bezier(0.33, 1, 0.68, 1); // checked -> unchecked - add 120ms delay to fully see animation-out
630
+ appearance: none;
627
631
 
628
- @media screen and (prefers-reduced-motion: no-preference) {
629
- animation: radioOut 80ms cubic-bezier(0.65, 0, 0.35, 1) forwards; // slightly snappier animation out
630
- }
632
+ &::after {
633
+ @include minTouchTarget(var(--primer-control-medium-size, 32px), var(--primer-control-medium-size, 32px));
631
634
  }
632
635
 
633
636
  &:checked {
634
- &::before {
635
- @media screen and (prefers-reduced-motion: no-preference) {
636
- animation: radioIn 80ms cubic-bezier(0.65, 0, 0.35, 1) forwards 80ms;
637
- }
637
+ border-color: var(--color-accent-fg);
638
+ border-width: var(--base-size-4, 4px);
639
+
640
+ &:disabled {
641
+ cursor: not-allowed;
642
+ border-color: var(--color-primer-fg-disabled);
638
643
  }
639
644
  }
640
645
 
641
- &:indeterminate {
642
- &::before {
643
- visibility: hidden;
644
- }
646
+ &:focus-visible {
647
+ @include focusOutline(2px);
648
+ }
649
+
650
+ // Windows High Contrast mode
651
+ // stylelint-disable primer/colors
652
+ @media (forced-colors: active) {
653
+ background-color: CanvasText;
654
+ border-color: CanvasText;
645
655
  }
656
+ // stylelint-enable primer/colors
646
657
  }
647
658
 
648
659
  @keyframes checkmarkIn {
@@ -664,23 +675,3 @@ input[type='radio'].FormControl-radio {
664
675
  clip-path: inset(var(--base-size-16, 16px) 0 0 0);
665
676
  }
666
677
  }
667
-
668
- @keyframes radioIn {
669
- from {
670
- clip-path: circle(0%);
671
- }
672
-
673
- to {
674
- clip-path: circle(100%);
675
- }
676
- }
677
-
678
- @keyframes radioOut {
679
- from {
680
- clip-path: circle(100%);
681
- }
682
-
683
- to {
684
- clip-path: circle(0%);
685
- }
686
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/css",
3
- "version": "20.6.1-rc.ff703ef2",
3
+ "version": "20.7.0-rc.5025a8f3",
4
4
  "description": "The CSS implementation of GitHub's Primer Design System",
5
5
  "homepage": "https://primer.style/css",
6
6
  "author": "GitHub, Inc.",
@@ -9,16 +9,14 @@ $display-values: (
9
9
  inline-flex,
10
10
  none,
11
11
  table,
12
- table-cell
13
- ) !default;
12
+ table-cell) !default;
14
13
 
15
14
  // maps edges to respective corners for border-radius
16
15
  $edges: (
17
16
  top: (top-left, top-right),
18
17
  right: (top-right, bottom-right),
19
18
  bottom: (bottom-right, bottom-left),
20
- left: (bottom-left, top-left)
21
- ) !default;
19
+ left: (bottom-left, top-left)) !default;
22
20
 
23
21
  // These are our margin and padding utility spacers. The default step size we
24
22
  // use is 8px. This gives us a key of:
@@ -32,13 +30,13 @@ $edges: (
32
30
  $spacer: 8px !default;
33
31
 
34
32
  // Our spacing scale
35
- $spacer-0: 0 !default; // 0
36
- $spacer-1: $spacer * 0.5 !default; // 4px
37
- $spacer-2: $spacer !default; // 8px
38
- $spacer-3: $spacer * 2 !default; // 16px
39
- $spacer-4: $spacer * 3 !default; // 24px
40
- $spacer-5: $spacer * 4 !default; // 32px
41
- $spacer-6: $spacer * 5 !default; // 40px
33
+ $spacer-0: 0 !default; // 0
34
+ $spacer-1: $spacer * 0.5 !default; // 4px
35
+ $spacer-2: $spacer !default; // 8px
36
+ $spacer-3: $spacer * 2 !default; // 16px
37
+ $spacer-4: $spacer * 3 !default; // 24px
38
+ $spacer-5: $spacer * 4 !default; // 32px
39
+ $spacer-6: $spacer * 5 !default; // 40px
42
40
 
43
41
  // The list of spacer values
44
42
  $spacers: (
@@ -66,9 +64,9 @@ $spacer-map: (
66
64
  // Increases the core spacing scale first by 8px for $spacer-7, then by 16px
67
65
  // increments from $spacer-8 to $spacer-12, i.e. after 40px, we have 48, 64,
68
66
  // 80, 96, etc.
69
- $spacer-7: $spacer * 6 !default; // 48px
70
- $spacer-8: $spacer * 8 !default; // 64px
71
- $spacer-9: $spacer * 10 !default; // 80px
67
+ $spacer-7: $spacer * 6 !default; // 48px
68
+ $spacer-8: $spacer * 8 !default; // 64px
69
+ $spacer-9: $spacer * 10 !default; // 80px
72
70
  $spacer-10: $spacer * 12 !default; // 96px
73
71
  $spacer-11: $spacer * 14 !default; // 112px
74
72
  $spacer-12: $spacer * 16 !default; // 128px
@@ -83,43 +81,42 @@ $spacers-large: (
83
81
  ) !default;
84
82
 
85
83
  $spacer-map-extended: map-merge(
86
- (
87
- 0: 0,
88
- 1: $spacer-1,
89
- 2: $spacer-2,
90
- 3: $spacer-3,
91
- 4: $spacer-4,
92
- 5: $spacer-5,
93
- 6: $spacer-6,
94
- ),
95
- $spacers-large,
84
+ (0: 0,
85
+ 1: $spacer-1,
86
+ 2: $spacer-2,
87
+ 3: $spacer-3,
88
+ 4: $spacer-4,
89
+ 5: $spacer-5,
90
+ 6: $spacer-6,
91
+ ),
92
+ $spacers-large,
96
93
  ) !default;
97
94
 
98
95
  // Em spacer variables
99
96
  $em-spacer-1: 0.0625em !default; // 1/16
100
- $em-spacer-2: 0.125em !default; // 1/8
101
- $em-spacer-3: 0.25em !default; // 1/4
102
- $em-spacer-4: 0.375em !default; // 3/8
103
- $em-spacer-5: 0.5em !default; // 1/2
104
- $em-spacer-6: 0.75em !default; // 3/4
97
+ $em-spacer-2: 0.125em !default; // 1/8
98
+ $em-spacer-3: 0.25em !default; // 1/4
99
+ $em-spacer-4: 0.375em !default; // 3/8
100
+ $em-spacer-5: 0.5em !default; // 1/2
101
+ $em-spacer-6: 0.75em !default; // 3/4
105
102
 
106
103
  // Size scale
107
104
  // Used for buttons, inputs, labels, avatars etc.
108
105
  $size: 16px !default;
109
106
 
110
107
  $size-0: 0 !default;
111
- $size-1: $size !default; // 16px
112
- $size-2: $size-1 + 4px !default; // 20px
113
- $size-3: $size-2 + 4px !default; // 24px
114
- $size-4: $size-3 + 4px !default; // 28px
115
- $size-5: $size-4 + 4px !default; // 32px
116
- $size-6: $size-5 + 8px !default; // 40px
117
- $size-7: $size-6 + 8px !default; // 48px
118
- $size-8: $size-7 + 16px !default; // 64px
108
+ $size-1: $size !default; // 16px
109
+ $size-2: $size-1 + 4px !default; // 20px
110
+ $size-3: $size-2 + 4px !default; // 24px
111
+ $size-4: $size-3 + 4px !default; // 28px
112
+ $size-5: $size-4 + 4px !default; // 32px
113
+ $size-6: $size-5 + 8px !default; // 40px
114
+ $size-7: $size-6 + 8px !default; // 48px
115
+ $size-8: $size-7 + 16px !default; // 64px
119
116
 
120
117
  // Fixed-width container variables
121
118
  $container-width: 980px !default;
122
- $grid-gutter: 10px !default;
119
+ $grid-gutter: 10px !default;
123
120
 
124
121
  // Breakpoint widths
125
122
  $width-xs: 0 !default;
@@ -143,8 +140,7 @@ $breakpoints: (
143
140
  sm: $width-sm,
144
141
  md: $width-md,
145
142
  lg: $width-lg,
146
- xl: $width-xl
147
- ) !default;
143
+ xl: $width-xl) !default;
148
144
 
149
145
  // Viewport ranges
150
146
  // Soon to be provided by Primer Primitives directly
@@ -170,39 +166,65 @@ $responsive-positions: (
170
166
  relative,
171
167
  absolute,
172
168
  fixed,
173
- sticky
174
- ) !default;
169
+ sticky) !default;
175
170
 
176
171
  $sidebar-width: (
177
172
  sm: 220px,
178
173
  md: 256px,
179
- lg: 296px
180
- ) !default;
174
+ lg: 296px) !default;
181
175
 
182
176
  $sidebar-narrow-width: (
183
177
  md: 240px,
184
- lg: 256px
185
- ) !default;
178
+ lg: 256px) !default;
186
179
 
187
180
  $sidebar-wide-width: (
188
181
  lg: 320px,
189
- xl: 336px
190
- ) !default;
182
+ xl: 336px) !default;
191
183
 
192
184
  $gutter: (
193
185
  md: $spacer-3,
194
186
  lg: $spacer-4,
195
- xl: $spacer-5
196
- ) !default;
187
+ xl: $spacer-5) !default;
197
188
 
198
189
  $gutter-condensed: (
199
190
  md: $spacer-3,
200
191
  lg: $spacer-3,
201
- xl: $spacer-4
202
- ) !default;
192
+ xl: $spacer-4) !default;
203
193
 
204
194
  $gutter-spacious: (
205
195
  md: $spacer-4,
206
196
  lg: $spacer-5,
207
- xl: $spacer-6
197
+ xl: $spacer-6) !default;
198
+
199
+ // rem unit support
200
+
201
+ $spacer-map-rem: (
202
+ 0: 0,
203
+ 1: var(--base-size-4, 4px),
204
+ 2: var(--base-size-8, 8px),
205
+ 3: var(--base-size-16, 16px),
206
+ 4: var(--base-size-24, 24px),
207
+ 5: var(--base-size-32, 32px),
208
+ 6: var(--base-size-40, 40px),
209
+ ) !default;
210
+
211
+ $spacers-large-rem: (
212
+ 7: var(--base-size-48, 48px),
213
+ 8: var(--base-size-64, 64px),
214
+ 9: var(--base-size-80, 80px),
215
+ 10: var(--base-size-96, 96px),
216
+ 11: var(--base-size-112, 112px),
217
+ 12: var(--base-size-128, 128px),
218
+ ) !default;
219
+
220
+ $spacer-map-rem-extended: map-merge(
221
+ (0: 0,
222
+ 1: var(--base-size-4, 4px),
223
+ 2: var(--base-size-8, 8px),
224
+ 3: var(--base-size-16, 16px),
225
+ 4: var(--base-size-24, 24px),
226
+ 5: var(--base-size-32, 32px),
227
+ 6: var(--base-size-40, 40px),
228
+ ),
229
+ $spacers-large-rem,
208
230
  ) !default;
@@ -8,8 +8,8 @@
8
8
  @each $breakpoint, $variant in $responsive-variants {
9
9
  @include breakpoint($breakpoint) {
10
10
  // Loop through the spacer values
11
- @each $scale, $size in $spacer-map-extended {
12
- @if ($scale < length($spacer-map)) {
11
+ @each $scale, $size in $spacer-map-rem-extended {
12
+ @if ($scale < length($spacer-map-rem)) {
13
13
  /* Set a $size margin to all sides at $breakpoint */
14
14
  .m#{$variant}-#{$scale} { margin: $size !important; }
15
15
  }
@@ -19,7 +19,7 @@
19
19
  /* Set a $size margin on the bottom at $breakpoint */
20
20
  .mb#{$variant}-#{$scale} { margin-bottom: $size !important; }
21
21
 
22
- @if ($scale < length($spacer-map)) {
22
+ @if ($scale < length($spacer-map-rem)) {
23
23
  /* Set a $size margin on the right at $breakpoint */
24
24
  .mr#{$variant}-#{$scale} { margin-right: $size !important; }
25
25
  /* Set a $size margin on the left at $breakpoint */
@@ -28,19 +28,19 @@
28
28
 
29
29
  @if ($size != 0) {
30
30
  /* Set a negative $size margin on top at $breakpoint */
31
- .mt#{$variant}-n#{$scale} { margin-top: -$size !important; }
31
+ .mt#{$variant}-n#{$scale} { margin-top: calc(-1 * $size) !important; }
32
32
  /* Set a negative $size margin on the bottom at $breakpoint */
33
- .mb#{$variant}-n#{$scale} { margin-bottom: -$size !important; }
33
+ .mb#{$variant}-n#{$scale} { margin-bottom: calc(-1 * $size) !important; }
34
34
 
35
- @if ($scale < length($spacer-map)) {
35
+ @if ($scale < length($spacer-map-rem)) {
36
36
  /* Set a negative $size margin on the right at $breakpoint */
37
- .mr#{$variant}-n#{$scale} { margin-right : -$size !important; }
37
+ .mr#{$variant}-n#{$scale} { margin-right : calc(-1 * $size) !important; }
38
38
  /* Set a negative $size margin on the left at $breakpoint */
39
- .ml#{$variant}-n#{$scale} { margin-left : -$size !important; }
39
+ .ml#{$variant}-n#{$scale} { margin-left : calc(-1 * $size) !important; }
40
40
  }
41
41
  }
42
42
 
43
- @if ($scale < length($spacer-map)) {
43
+ @if ($scale < length($spacer-map-rem)) {
44
44
  /* Set a $size margin on the left & right at $breakpoint */
45
45
  .mx#{$variant}-#{$scale} {
46
46
  margin-right: $size !important;