@primer/css 19.0.0-rc.e1873198 → 19.1.0-rc.06290cbb

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 (133) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/DEVELOP.md +15 -0
  3. package/actionlist/action-list-item.scss +51 -19
  4. package/actionlist/action-list.scss +5 -0
  5. package/autocomplete/autocomplete.scss +1 -1
  6. package/base/base.scss +1 -0
  7. package/base/index.scss +0 -1
  8. package/base/normalize.scss +1 -1
  9. package/blankslate/index.scss +0 -1
  10. package/box/box-overlay.scss +40 -0
  11. package/box/index.scss +1 -0
  12. package/breadcrumb/breadcrumb.scss +1 -1
  13. package/buttons/button-group.scss +3 -2
  14. package/buttons/button.scss +9 -9
  15. package/buttons/misc.scss +10 -7
  16. package/color-modes/index.scss +1 -0
  17. package/color-modes/native.scss +1 -0
  18. package/color-modes/themes/dark.scss +2 -3
  19. package/color-modes/themes/dark_colorblind.scss +2 -3
  20. package/color-modes/themes/dark_dimmed.scss +2 -3
  21. package/color-modes/themes/dark_high_contrast.scss +2 -3
  22. package/color-modes/themes/light.scss +2 -3
  23. package/color-modes/themes/light_colorblind.scss +2 -3
  24. package/color-modes/themes/light_high_contrast.scss +6 -0
  25. package/dist/actionlist.css +1 -1
  26. package/dist/actionlist.css.map +1 -1
  27. package/dist/alerts.css.map +1 -1
  28. package/dist/autocomplete.css.map +1 -1
  29. package/dist/avatars.css.map +1 -1
  30. package/dist/base.css +1 -1
  31. package/dist/base.css.map +1 -1
  32. package/dist/blankslate.css.map +1 -1
  33. package/dist/box.css +1 -1
  34. package/dist/box.css.map +1 -1
  35. package/dist/branch-name.css.map +1 -1
  36. package/dist/breadcrumb.css.map +1 -1
  37. package/dist/buttons.css +1 -1
  38. package/dist/buttons.css.map +1 -1
  39. package/dist/color-modes.css +1 -1
  40. package/dist/color-modes.css.map +1 -1
  41. package/dist/core.css +1 -1
  42. package/dist/core.css.map +1 -1
  43. package/dist/dropdown.css.map +1 -1
  44. package/dist/forms.css.map +1 -1
  45. package/dist/header.css.map +1 -1
  46. package/dist/labels.css +1 -1
  47. package/dist/labels.css.map +1 -1
  48. package/dist/layout.css +1 -1
  49. package/dist/layout.css.map +1 -1
  50. package/dist/links.css.map +1 -1
  51. package/dist/loaders.css.map +1 -1
  52. package/dist/markdown.css.map +1 -1
  53. package/dist/marketing-buttons.css +1 -1
  54. package/dist/marketing-buttons.css.map +1 -1
  55. package/dist/marketing-links.css +2 -0
  56. package/dist/marketing-links.css.map +1 -0
  57. package/dist/marketing-links.js +1 -0
  58. package/dist/marketing-type.css.map +1 -1
  59. package/dist/marketing-utilities.css +1 -1
  60. package/dist/marketing-utilities.css.map +1 -1
  61. package/dist/marketing.css +1 -1
  62. package/dist/marketing.css.map +1 -1
  63. package/dist/meta.json +102 -104
  64. package/dist/navigation.css.map +1 -1
  65. package/dist/pagination.css.map +1 -1
  66. package/dist/popover.css +1 -1
  67. package/dist/popover.css.map +1 -1
  68. package/dist/primer.css +4 -4
  69. package/dist/primer.css.map +1 -1
  70. package/dist/product.css +1 -1
  71. package/dist/product.css.map +1 -1
  72. package/dist/progress.css.map +1 -1
  73. package/dist/select-menu.css.map +1 -1
  74. package/dist/stats/actionlist.json +1 -1
  75. package/dist/stats/base.json +1 -1
  76. package/dist/stats/box.json +1 -1
  77. package/dist/stats/buttons.json +1 -1
  78. package/dist/stats/color-modes.json +1 -1
  79. package/dist/stats/core.json +1 -1
  80. package/dist/stats/labels.json +1 -1
  81. package/dist/stats/layout.json +1 -1
  82. package/dist/stats/marketing-buttons.json +1 -1
  83. package/dist/stats/marketing-links.json +1 -0
  84. package/dist/stats/marketing-utilities.json +1 -1
  85. package/dist/stats/marketing.json +1 -1
  86. package/dist/stats/popover.json +1 -1
  87. package/dist/stats/primer.json +1 -1
  88. package/dist/stats/product.json +1 -1
  89. package/dist/subhead.css.map +1 -1
  90. package/dist/timeline.css.map +1 -1
  91. package/dist/toasts.css.map +1 -1
  92. package/dist/tooltips.css.map +1 -1
  93. package/dist/truncate.css.map +1 -1
  94. package/dist/utilities.css.map +1 -1
  95. package/dist/variables.json +62 -62
  96. package/forms/form-control.scss +2 -0
  97. package/index.scss +4 -4
  98. package/labels/counters.scss +1 -1
  99. package/labels/index.scss +0 -1
  100. package/labels/labels.scss +1 -0
  101. package/layout/index.scss +0 -1
  102. package/layout/layout.scss +3 -7
  103. package/layout/mixins.scss +3 -3
  104. package/markdown/images.scss +2 -2
  105. package/marketing/buttons/button.scss +22 -8
  106. package/marketing/buttons/index.scss +2 -2
  107. package/marketing/index.scss +1 -0
  108. package/marketing/links/index.scss +3 -0
  109. package/marketing/links/link.scss +50 -0
  110. package/marketing/support/index.scss +2 -2
  111. package/marketing/support/variables.scss +4 -5
  112. package/marketing/type/index.scss +2 -2
  113. package/marketing/type/typography.scss +26 -23
  114. package/marketing/utilities/animations.scss +42 -0
  115. package/marketing/utilities/index.scss +5 -5
  116. package/marketing/utilities/layout.scss +1 -1
  117. package/navigation/filter-list.scss +2 -2
  118. package/navigation/menu.scss +2 -2
  119. package/navigation/sidenav.scss +2 -2
  120. package/navigation/subnav.scss +2 -2
  121. package/navigation/tabnav.scss +2 -2
  122. package/navigation/underline-nav.scss +2 -2
  123. package/package.json +14 -15
  124. package/pagination/pagination.scss +3 -3
  125. package/popover/popover.scss +42 -4
  126. package/select-menu/select-menu.scss +2 -2
  127. package/stylelint.config.cjs +2 -11
  128. package/support/mixins/color-modes.scss +3 -0
  129. package/support/mixins/layout.scss +5 -5
  130. package/support/mixins/misc.scss +1 -1
  131. package/support/mixins/typography.scss +3 -2
  132. package/support/variables/layout.scss +5 -5
  133. package/support/variables/typography.scss +1 -1
@@ -42,7 +42,7 @@
42
42
 
43
43
  .current,
44
44
  .current:hover,
45
- [aria-current]:not([aria-current=false]) {
45
+ [aria-current]:not([aria-current='false']) {
46
46
  color: var(--color-fg-on-emphasis);
47
47
  background-color: var(--color-accent-emphasis);
48
48
  border-color: transparent;
@@ -50,10 +50,10 @@
50
50
 
51
51
  .gap,
52
52
  .disabled,
53
- [aria-disabled=true],
53
+ [aria-disabled='true'],
54
54
  .gap:hover,
55
55
  .disabled:hover,
56
- [aria-disabled=true]:hover {
56
+ [aria-disabled='true']:hover {
57
57
  color: var(--color-primer-fg-disabled);
58
58
  cursor: default;
59
59
  border-color: transparent;
@@ -8,6 +8,9 @@
8
8
  width: 232px;
9
9
  margin-right: auto;
10
10
  margin-left: auto;
11
+ background-color: var(--color-canvas-overlay);
12
+ border: $border-width $border-style var(--color-border-default);
13
+ border-radius: $border-radius;
11
14
 
12
15
  // Carets
13
16
  &::before,
@@ -34,10 +37,13 @@
34
37
  border: 7px $border-style transparent;
35
38
  border-bottom-color: var(--color-canvas-overlay);
36
39
  }
40
+ }
37
41
 
38
- // TODO: Refactor so that .Popover is not dependant on .Box
39
- &.Box {
40
- background-color: var(--color-canvas-overlay);
42
+ // No caret
43
+ .Popover-message--no-caret {
44
+ &::before,
45
+ &::after {
46
+ display: none;
41
47
  }
42
48
  }
43
49
 
@@ -182,8 +188,40 @@
182
188
  }
183
189
 
184
190
  .Popover-message--large {
185
-
186
191
  @include breakpoint(sm) {
187
192
  min-width: 320px;
188
193
  }
189
194
  }
195
+
196
+ // Responsive Popover
197
+ // For < md it will show full-width anchored to the bottom
198
+
199
+ @media (max-width: ($width-md - 1px)) {
200
+ .Popover {
201
+ position: fixed;
202
+ top: auto !important;
203
+ right: 0 !important;
204
+ bottom: 0 !important;
205
+ left: 0 !important;
206
+ }
207
+
208
+ .Popover-message {
209
+ top: auto;
210
+ right: auto;
211
+ bottom: auto;
212
+ left: auto;
213
+ width: auto !important;
214
+ margin: $spacer-2;
215
+ }
216
+
217
+ // Increase tap area for touch input
218
+ .Popover-message > .btn-octicon {
219
+ padding: $spacer-2 + $spacer-1 !important;
220
+ }
221
+
222
+ // Remove caret
223
+ .Popover-message::after,
224
+ .Popover-message::before {
225
+ display: none;
226
+ }
227
+ }
@@ -386,7 +386,7 @@ $SelectMenu-max-height: 480px !default;
386
386
  //
387
387
  // Visible when a user clicks/taps on a list item
388
388
 
389
- .SelectMenu-item[aria-checked=true] {
389
+ .SelectMenu-item[aria-checked='true'] {
390
390
  font-weight: $font-weight-semibold;
391
391
  color: var(--color-fg-default);
392
392
 
@@ -402,7 +402,7 @@ $SelectMenu-max-height: 480px !default;
402
402
  // Prevent list items to be selected
403
403
 
404
404
  .SelectMenu-item:disabled,
405
- .SelectMenu-item[aria-disabled=true] {
405
+ .SelectMenu-item[aria-disabled='true'] {
406
406
  color: var(--color-primer-fg-disabled);
407
407
  pointer-events: none;
408
408
  }
@@ -1,16 +1,7 @@
1
1
  module.exports = {
2
2
  extends: ['@primer/stylelint-config'],
3
- plugins: ['stylelint-scss'],
4
- customSyntax: require('postcss-scss'),
5
- ignoreFiles: ['src/fonts/**/*'],
3
+ ignoreFiles: ['**/*.js', '**/*.cjs'],
6
4
  rules: {
7
- 'scss/dollar-variable-default': [true, {ignore: 'local'}],
8
- 'primer/no-override': false,
9
- 'primer/colors': true,
10
- 'primer/borders': true,
11
- 'primer/spacing': true,
12
- 'primer/typography': true,
13
- 'primer/box-shadow': true,
14
- 'primer/no-undefined-vars': [true, {files: 'node_modules/@primer/primitives/dist/scss/colors*/*.scss'}]
5
+ 'primer/no-override': false
15
6
  }
16
7
  }
@@ -8,6 +8,7 @@
8
8
  /*! */ // This is a fix for a cssstats bug see https://github.com/cssstats/cssstats/issues/331
9
9
  }
10
10
  }
11
+
11
12
  @else {
12
13
  [data-color-mode="light"][data-light-theme="#{$theme-name}"],
13
14
  [data-color-mode="dark"][data-dark-theme="#{$theme-name}"] {
@@ -36,6 +37,7 @@
36
37
  @content;
37
38
  }
38
39
  }
40
+
39
41
  @else {
40
42
  [data-color-mode="light"][data-light-theme*="#{$mode}"],
41
43
  [data-color-mode="dark"][data-dark-theme*="#{$mode}"] {
@@ -84,6 +86,7 @@
84
86
  @if $type == dark {
85
87
  $dark-colors: append($dark-colors, (--color-#{$name}, #{$color}));
86
88
  }
89
+
87
90
  @else {
88
91
  $light-colors: append($light-colors, (--color-#{$name}, #{$color}));
89
92
  }
@@ -1,7 +1,7 @@
1
1
  // Responsive media queries
2
2
 
3
3
  @mixin breakpoint($breakpoint) {
4
- @if $breakpoint == "" {
4
+ @if $breakpoint == '' {
5
5
  @content;
6
6
  }
7
7
 
@@ -19,8 +19,8 @@
19
19
 
20
20
  // If the key doesn't exist in the map
21
21
  @else {
22
- @warn "Unfortunately, no value could be retrieved from `#{$breakpoint}`. "
23
- + "Please make sure it is defined in `$breakpoints` map.";
22
+ @warn 'Unfortunately, no value could be retrieved from `#{$breakpoint}`. '
23
+ + 'Please make sure it is defined in `$breakpoints` map.';
24
24
  }
25
25
  }
26
26
  }
@@ -47,12 +47,12 @@
47
47
  @mixin clearfix {
48
48
  &::before {
49
49
  display: table;
50
- content: "";
50
+ content: '';
51
51
  }
52
52
 
53
53
  &::after {
54
54
  display: table;
55
55
  clear: both;
56
- content: "";
56
+ content: '';
57
57
  }
58
58
  }
@@ -10,7 +10,7 @@
10
10
  width: 8px;
11
11
  height: 16px;
12
12
  pointer-events: none;
13
- content: " ";
13
+ content: ' ';
14
14
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
15
15
  }
16
16
 
@@ -47,7 +47,6 @@
47
47
 
48
48
  // 32px on desktop
49
49
  @include breakpoint(md) { font-size: $h1-size; }
50
-
51
50
  }
52
51
 
53
52
  @mixin f2-responsive {
@@ -62,7 +61,6 @@
62
61
 
63
62
  // 20px on desktop
64
63
  @include breakpoint(md) { font-size: $h3-size; }
65
-
66
64
  }
67
65
 
68
66
  // These use the mixins from above for responsive heading sizes.
@@ -70,15 +68,18 @@
70
68
  // couple the responsive font-size with the font-weight.
71
69
  @mixin h1-responsive {
72
70
  @include f1-responsive;
71
+
73
72
  font-weight: $font-weight-bold;
74
73
  }
75
74
 
76
75
  @mixin h2-responsive {
77
76
  @include f2-responsive;
77
+
78
78
  font-weight: $font-weight-bold;
79
79
  }
80
80
 
81
81
  @mixin h3-responsive {
82
82
  @include f3-responsive;
83
+
83
84
  font-weight: $font-weight-bold;
84
85
  }
@@ -150,11 +150,11 @@ $breakpoints: (
150
150
  // breakpoints and create both responsive and non-responsive classes in one
151
151
  // loop:
152
152
  $responsive-variants: (
153
- "": "",
154
- sm: "-sm",
155
- md: "-md",
156
- lg: "-lg",
157
- xl: "-xl",
153
+ '': '',
154
+ sm: '-sm',
155
+ md: '-md',
156
+ lg: '-lg',
157
+ xl: '-xl',
158
158
  ) !default;
159
159
 
160
160
  // responive utility position values
@@ -32,7 +32,7 @@ $lh-condensed: 1.25 !default;
32
32
  $lh-default: 1.5 !default;
33
33
 
34
34
  // Font stacks
35
- $body-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji" !default;
35
+ $body-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji' !default;
36
36
 
37
37
  // Monospace font stack
38
38
  // Note: SFMono-Regular needs to come before SF Mono to fix an older version of the font in Chrome