@primer/css 20.0.0-rc.b5fee637 → 20.0.0-rc.c0ed9d90

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 (187) hide show
  1. package/CHANGELOG.md +169 -2
  2. package/CONTRIBUTING.md +6 -4
  3. package/DEVELOP.md +26 -21
  4. package/README.md +2 -2
  5. package/actionlist/action-list-item-divider.scss +8 -2
  6. package/actionlist/action-list-item.scss +214 -130
  7. package/actionlist/action-list-tree.scss +118 -0
  8. package/actionlist/action-list.scss +29 -0
  9. package/actionlist/index.scss +1 -0
  10. package/alerts/flash.scss +6 -2
  11. package/autocomplete/autocomplete.scss +59 -2
  12. package/avatars/avatar-stack.scss +1 -0
  13. package/base/base.scss +64 -3
  14. package/base/index.scss +0 -1
  15. package/base/kbd.scss +0 -1
  16. package/base/normalize.scss +13 -53
  17. package/base/typography-base.scss +3 -2
  18. package/blankslate/blankslate.scss +20 -1
  19. package/blankslate/index.scss +0 -1
  20. package/box/box-overlay.scss +2 -0
  21. package/box/box.scss +0 -3
  22. package/branch-name/branch-name.scss +1 -0
  23. package/breadcrumb/breadcrumb.scss +1 -1
  24. package/buttons/button-group.scss +3 -2
  25. package/buttons/button.scss +64 -36
  26. package/buttons/misc.scss +30 -25
  27. package/color-modes/index.scss +2 -0
  28. package/color-modes/native.scss +12 -0
  29. package/color-modes/themes/dark.scss +0 -1
  30. package/color-modes/themes/dark_colorblind.scss +0 -1
  31. package/color-modes/themes/dark_dimmed.scss +0 -1
  32. package/color-modes/themes/dark_high_contrast.scss +0 -1
  33. package/color-modes/themes/dark_tritanopia.scss +6 -0
  34. package/color-modes/themes/light.scss +0 -1
  35. package/color-modes/themes/light_colorblind.scss +0 -1
  36. package/color-modes/themes/light_high_contrast.scss +0 -1
  37. package/color-modes/themes/light_tritanopia.scss +6 -0
  38. package/dist/actionlist.css +1 -1
  39. package/dist/actionlist.css.map +1 -1
  40. package/dist/alerts.css +1 -1
  41. package/dist/alerts.css.map +1 -1
  42. package/dist/autocomplete.css +1 -1
  43. package/dist/autocomplete.css.map +1 -1
  44. package/dist/avatars.css +1 -1
  45. package/dist/avatars.css.map +1 -1
  46. package/dist/base.css +1 -1
  47. package/dist/base.css.map +1 -1
  48. package/dist/blankslate.css +1 -1
  49. package/dist/blankslate.css.map +1 -1
  50. package/dist/box.css.map +1 -1
  51. package/dist/branch-name.css +1 -1
  52. package/dist/branch-name.css.map +1 -1
  53. package/dist/breadcrumb.css.map +1 -1
  54. package/dist/buttons.css +1 -1
  55. package/dist/buttons.css.map +1 -1
  56. package/dist/color-modes.css +1 -1
  57. package/dist/color-modes.css.map +1 -1
  58. package/dist/core.css +1 -1
  59. package/dist/core.css.map +1 -1
  60. package/dist/dropdown.css +1 -1
  61. package/dist/dropdown.css.map +1 -1
  62. package/dist/forms.css +1 -1
  63. package/dist/forms.css.map +1 -1
  64. package/dist/header.css.map +1 -1
  65. package/dist/labels.css +1 -1
  66. package/dist/labels.css.map +1 -1
  67. package/dist/layout.css +1 -1
  68. package/dist/layout.css.map +1 -1
  69. package/dist/links.css +1 -1
  70. package/dist/links.css.map +1 -1
  71. package/dist/loaders.css.map +1 -1
  72. package/dist/markdown.css +1 -1
  73. package/dist/markdown.css.map +1 -1
  74. package/dist/marketing-buttons.css +1 -1
  75. package/dist/marketing-buttons.css.map +1 -1
  76. package/dist/marketing-links.css +1 -1
  77. package/dist/marketing-links.css.map +1 -1
  78. package/dist/marketing-type.css.map +1 -1
  79. package/dist/marketing-utilities.css.map +1 -1
  80. package/dist/marketing.css +1 -1
  81. package/dist/marketing.css.map +1 -1
  82. package/dist/meta.json +71 -71
  83. package/dist/navigation.css +1 -1
  84. package/dist/navigation.css.map +1 -1
  85. package/dist/pagination.css +1 -1
  86. package/dist/pagination.css.map +1 -1
  87. package/dist/popover.css +1 -1
  88. package/dist/popover.css.map +1 -1
  89. package/dist/primer.css +4 -4
  90. package/dist/primer.css.map +1 -1
  91. package/dist/product.css +1 -1
  92. package/dist/product.css.map +1 -1
  93. package/dist/progress.css.map +1 -1
  94. package/dist/select-menu.css.map +1 -1
  95. package/dist/stats/actionlist.json +1 -1
  96. package/dist/stats/alerts.json +1 -1
  97. package/dist/stats/autocomplete.json +1 -1
  98. package/dist/stats/avatars.json +1 -1
  99. package/dist/stats/base.json +1 -1
  100. package/dist/stats/blankslate.json +1 -1
  101. package/dist/stats/branch-name.json +1 -1
  102. package/dist/stats/buttons.json +1 -1
  103. package/dist/stats/color-modes.json +1 -1
  104. package/dist/stats/core.json +1 -1
  105. package/dist/stats/dropdown.json +1 -1
  106. package/dist/stats/forms.json +1 -1
  107. package/dist/stats/labels.json +1 -1
  108. package/dist/stats/layout.json +1 -1
  109. package/dist/stats/links.json +1 -1
  110. package/dist/stats/markdown.json +1 -1
  111. package/dist/stats/marketing-buttons.json +1 -1
  112. package/dist/stats/marketing-links.json +1 -1
  113. package/dist/stats/marketing.json +1 -1
  114. package/dist/stats/navigation.json +1 -1
  115. package/dist/stats/pagination.json +1 -1
  116. package/dist/stats/popover.json +1 -1
  117. package/dist/stats/primer.json +1 -1
  118. package/dist/stats/product.json +1 -1
  119. package/dist/stats/subhead.json +1 -1
  120. package/dist/stats/toasts.json +1 -1
  121. package/dist/stats/tooltips.json +1 -1
  122. package/dist/stats/utilities.json +1 -1
  123. package/dist/subhead.css +1 -1
  124. package/dist/subhead.css.map +1 -1
  125. package/dist/table-object.css.map +1 -1
  126. package/dist/timeline.css.map +1 -1
  127. package/dist/toasts.css +1 -1
  128. package/dist/toasts.css.map +1 -1
  129. package/dist/tooltips.css +1 -1
  130. package/dist/tooltips.css.map +1 -1
  131. package/dist/truncate.css.map +1 -1
  132. package/dist/utilities.css +1 -1
  133. package/dist/utilities.css.map +1 -1
  134. package/dist/variables.json +34 -34
  135. package/dropdown/dropdown.scss +0 -2
  136. package/forms/form-control.scss +26 -5
  137. package/forms/form-group.scss +48 -13
  138. package/forms/form-validation.scss +15 -6
  139. package/forms/input-group.scss +18 -0
  140. package/labels/index.scss +0 -1
  141. package/labels/labels.scss +12 -1
  142. package/labels/mixins.scss +7 -2
  143. package/labels/states.scss +2 -2
  144. package/layout/grid-offset.scss +1 -0
  145. package/layout/grid.scss +1 -0
  146. package/layout/index.scss +1 -1
  147. package/layout/layout.scss +8 -11
  148. package/layout/mixins.scss +30 -4
  149. package/layout/page-layout.scss +384 -0
  150. package/links/link.scss +6 -1
  151. package/markdown/code.scss +5 -0
  152. package/markdown/footnotes.scss +38 -26
  153. package/markdown/headings.scss +17 -0
  154. package/markdown/images.scss +3 -3
  155. package/markdown/markdown-body.scss +0 -8
  156. package/marketing/buttons/button.scss +32 -26
  157. package/marketing/links/link.scss +5 -5
  158. package/marketing/type/typography.scss +21 -0
  159. package/marketing/utilities/layout.scss +1 -0
  160. package/navigation/filter-list.scss +20 -2
  161. package/navigation/menu.scss +8 -10
  162. package/navigation/sidenav.scss +3 -12
  163. package/navigation/subnav.scss +21 -2
  164. package/navigation/tabnav.scss +9 -4
  165. package/navigation/underline-nav.scss +23 -18
  166. package/package.json +32 -26
  167. package/pagination/pagination.scss +65 -7
  168. package/popover/popover.scss +2 -2
  169. package/select-menu/select-menu.scss +3 -3
  170. package/stylelint.config.cjs +2 -11
  171. package/subhead/subhead.scss +3 -0
  172. package/support/mixins/color-modes.scss +5 -0
  173. package/support/mixins/layout.scss +1 -0
  174. package/support/mixins/misc.scss +28 -5
  175. package/support/mixins/typography.scss +3 -2
  176. package/support/variables/layout.scss +3 -3
  177. package/table-object/table-object.scss +3 -0
  178. package/timeline/timeline-item.scss +2 -1
  179. package/toasts/toasts.scss +7 -4
  180. package/tooltips/tooltips.scss +0 -7
  181. package/utilities/colors.scss +16 -0
  182. package/utilities/details.scss +81 -4
  183. package/utilities/layout.scss +1 -1
  184. package/utilities/margin.scss +4 -1
  185. package/utilities/padding.scss +3 -1
  186. package/utilities/visibility-display.scss +52 -3
  187. package/table-object/README.md +0 -25
@@ -235,15 +235,20 @@ dl.form-group > dd, // TODO: Deprecate
235
235
  }
236
236
 
237
237
  &.focused {
238
+ border-color: var(--color-accent-fg);
238
239
  border-radius: $border-radius;
239
- box-shadow: var(--color-primer-shadow-inset), var(--color-primer-shadow-focus);
240
+ outline: none;
241
+ // stylelint-disable-next-line primer/box-shadow
242
+ box-shadow: 0 0 0 2px var(--color-accent-fg);
240
243
 
241
244
  .form-control {
245
+ border-color: transparent;
246
+ border-bottom-color: var(--color-accent-fg);
242
247
  box-shadow: none;
243
248
  }
244
249
 
245
250
  .drag-and-drop {
246
- border-color: var(--color-accent-emphasis);
251
+ border-color: transparent;
247
252
  }
248
253
  }
249
254
  }
@@ -272,7 +277,9 @@ dl.form-group > dd, // TODO: Deprecate
272
277
  border: $border-width $border-style var(--color-border-default);
273
278
  }
274
279
 
275
- .comment-form-error { margin-bottom: $spacer-2; }
280
+ .comment-form-error {
281
+ margin-bottom: $spacer-2;
282
+ }
276
283
 
277
284
  .write-content,
278
285
  .preview-content {
@@ -295,7 +302,7 @@ dl.form-group > dd, // TODO: Deprecate
295
302
  }
296
303
  }
297
304
 
298
- // Used in our boxed-group-less form styles. Give the sumbit button enough space
305
+ // Used in our boxed-group-less form styles. Give the submit button enough space
299
306
  // to breathe without the need for the extra hr.
300
307
  .form-action-spacious {
301
308
  // stylelint-disable-next-line primer/spacing
@@ -317,8 +324,10 @@ div.composer {
317
324
  min-height: 200px;
318
325
  }
319
326
 
320
- // stylelint-disable-next-line primer/spacing
321
- .composer .tabnav { margin: 0 0 10px; }
327
+ .composer .tabnav {
328
+ // stylelint-disable-next-line primer/spacing
329
+ margin: 0 0 10px;
330
+ }
322
331
 
323
332
  // Misc CSS
324
333
  //
@@ -18,6 +18,20 @@
18
18
  &.inline {
19
19
  display: inline-table;
20
20
  }
21
+
22
+ // within input group, if button exists change focus styles to match input (no offset)
23
+ &:focus-within {
24
+ // stylelint-disable-next-line selector-max-type
25
+ button {
26
+ outline-offset: 0;
27
+ }
28
+ }
29
+
30
+ // Autocomplete with embedded icon
31
+ .form-control.autocomplete-embedded-icon-wrap {
32
+ display: inline-flex;
33
+ padding: $spacer-1 * 1.25 $spacer-2;
34
+ }
21
35
  }
22
36
 
23
37
  .input-group .form-control,
@@ -30,6 +44,10 @@
30
44
  vertical-align: middle; // Match the inputs
31
45
  }
32
46
 
47
+ .input-group-button--autocomplete-embedded-icon {
48
+ vertical-align: bottom;
49
+ }
50
+
33
51
  .input-group .form-control:first-child,
34
52
  .input-group-button:first-child .btn {
35
53
  border-top-right-radius: 0;
package/labels/index.scss CHANGED
@@ -1,6 +1,5 @@
1
1
  @import '../support/index.scss';
2
2
  @import './mixins.scss';
3
-
4
3
  @import './issue-labels.scss';
5
4
  @import './labels.scss';
6
5
  @import './states.scss';
@@ -7,9 +7,10 @@
7
7
 
8
8
  // Default label
9
9
 
10
- .label, // TODO: Deprecte
10
+ .label, // TODO: Deprecate
11
11
  .Label {
12
12
  @include labels-base;
13
+
13
14
  border-color: var(--color-border-default);
14
15
 
15
16
  &:hover {
@@ -70,6 +71,16 @@
70
71
  border-color: var(--color-danger-emphasis);
71
72
  }
72
73
 
74
+ .Label--open {
75
+ color: var(--color-open-fg);
76
+ border-color: var(--color-open-emphasis);
77
+ }
78
+
79
+ .Label--closed {
80
+ color: var(--color-closed-fg);
81
+ border-color: var(--color-closed-emphasis);
82
+ }
83
+
73
84
  .Label--done {
74
85
  color: var(--color-done-fg);
75
86
  border-color: var(--color-done-emphasis);
@@ -6,16 +6,20 @@
6
6
 
7
7
  @mixin labels-base {
8
8
  display: inline-block;
9
+ // stylelint-disable-next-line primer/spacing
9
10
  padding: 0 7px;
10
11
  font-size: $font-size-small;
11
12
  font-weight: $font-weight-semibold;
12
13
  line-height: 18px;
14
+ white-space: nowrap;
13
15
  border: $border-width $border-style transparent;
14
16
  border-radius: 2em;
15
17
  }
16
18
 
17
19
  @mixin labels-large {
20
+ // stylelint-disable-next-line primer/spacing
18
21
  padding-right: 10px;
22
+ // stylelint-disable-next-line primer/spacing
19
23
  padding-left: 10px;
20
24
  line-height: 22px;
21
25
  }
@@ -27,6 +31,7 @@
27
31
 
28
32
  @mixin labels--inline {
29
33
  display: inline;
30
- padding: 0.1667em 0.5em;
31
- font-size: 0.9em;
34
+ // stylelint-disable-next-line primer/spacing
35
+ padding: 0.12em $em-spacer-5;
36
+ font-size: 85%;
32
37
  }
@@ -28,7 +28,7 @@
28
28
 
29
29
  .State--open {
30
30
  color: var(--color-fg-on-emphasis);
31
- background-color: var(--color-success-emphasis);
31
+ background-color: var(--color-open-emphasis);
32
32
  }
33
33
 
34
34
  .State--merged {
@@ -38,7 +38,7 @@
38
38
 
39
39
  .State--closed {
40
40
  color: var(--color-fg-on-emphasis);
41
- background-color: var(--color-danger-emphasis);
41
+ background-color: var(--color-closed-emphasis);
42
42
  }
43
43
 
44
44
  // Small
@@ -2,6 +2,7 @@
2
2
 
3
3
  // Offset Columns
4
4
 
5
+ // stylelint-disable primer/spacing
5
6
  @each $breakpoint, $variant in $responsive-variants {
6
7
  @include breakpoint($breakpoint) {
7
8
  .offset#{$variant}-1 { margin-left: (1 * 0.0833333333 * 100%) !important; }
package/layout/grid.scss CHANGED
@@ -33,6 +33,7 @@
33
33
 
34
34
  // Gutters
35
35
  // Apply padding and a negative margin to the outside of the container
36
+ // stylelint-disable primer/spacing
36
37
  @mixin gutters ($gutter-width: $spacer-3) {
37
38
  margin-right: -$gutter-width;
38
39
  margin-left: -$gutter-width;
package/layout/index.scss CHANGED
@@ -1,7 +1,7 @@
1
1
  @import '../support/index.scss';
2
2
  @import './mixins.scss';
3
-
4
3
  @import './container.scss';
5
4
  @import './grid.scss';
6
5
  @import './grid-offset.scss';
7
6
  @import './layout.scss';
7
+ @import './page-layout.scss';
@@ -2,21 +2,22 @@
2
2
 
3
3
  .Layout {
4
4
  display: grid;
5
+
5
6
  --Layout-sidebar-width: #{map-get($sidebar-width, 'sm')};
6
7
  --Layout-gutter: 16px;
7
8
 
8
- @media (max-width: calc(#{$width-sm} - 1px)) {
9
+ @media (max-width: calc(#{$width-sm} - 0.02px)) {
9
10
  @include flow-as-row;
10
11
  }
11
12
 
12
13
  &.Layout--flowRow-until-md {
13
- @media (max-width: calc(#{$width-md} - 1px)) {
14
+ @media (max-width: calc(#{$width-md} - 0.02px)) {
14
15
  @include flow-as-row;
15
16
  }
16
17
  }
17
18
 
18
19
  &.Layout--flowRow-until-lg {
19
- @media (max-width: calc(#{$width-lg} - 1px)) {
20
+ @media (max-width: calc(#{$width-lg} - 0.02px)) {
20
21
  @include flow-as-row;
21
22
  }
22
23
  }
@@ -24,8 +25,7 @@
24
25
  // Flow as column
25
26
 
26
27
  grid-auto-flow: column;
27
- grid-template-columns: auto 0 1fr; // sidebar column, separator, main column
28
- // stylelint-disable-next-line primer/no-undefined-vars
28
+ grid-template-columns: auto 0 minmax(0, calc(100% - var(--Layout-sidebar-width) - var(--Layout-gutter))); // sidebar column, separator, main column
29
29
  grid-gap: var(--Layout-gutter);
30
30
 
31
31
  .Layout-sidebar {
@@ -47,7 +47,8 @@
47
47
  }
48
48
 
49
49
  &.Layout--gutter-none {
50
- --Layout-gutter: 0;
50
+ // stylelint-disable-next-line length-zero-no-unit
51
+ --Layout-gutter: 0px;
51
52
  }
52
53
 
53
54
  &.Layout--gutter-condensed {
@@ -101,7 +102,7 @@
101
102
  }
102
103
 
103
104
  &.Layout--sidebarPosition-end {
104
- grid-template-columns: 1fr 0 auto;
105
+ grid-template-columns: minmax(0, calc(100% - var(--Layout-sidebar-width) - var(--Layout-gutter))) 0 auto;
105
106
 
106
107
  .Layout-main {
107
108
  grid-column: 1;
@@ -146,7 +147,6 @@
146
147
  }
147
148
 
148
149
  .Layout-sidebar {
149
- // stylelint-disable-next-line primer/no-undefined-vars
150
150
  width: var(--Layout-sidebar-width);
151
151
  }
152
152
 
@@ -169,17 +169,14 @@
169
169
  }
170
170
 
171
171
  .Layout-main-centered-md {
172
- // stylelint-disable-next-line primer/no-undefined-vars
173
172
  max-width: calc(#{$container-md} + var(--Layout-sidebar-width) + var(--Layout-gutter));
174
173
  }
175
174
 
176
175
  .Layout-main-centered-lg {
177
- // stylelint-disable-next-line primer/no-undefined-vars
178
176
  max-width: calc(#{$container-lg} + var(--Layout-sidebar-width) + var(--Layout-gutter));
179
177
  }
180
178
 
181
179
  .Layout-main-centered-xl {
182
- // stylelint-disable-next-line primer/no-undefined-vars
183
180
  max-width: calc(#{$container-xl} + var(--Layout-sidebar-width) + var(--Layout-gutter));
184
181
  }
185
182
  }
@@ -1,4 +1,4 @@
1
- // Layout mixins
1
+ // Layout alpha mixins
2
2
 
3
3
  @mixin flow-as-row {
4
4
  grid-auto-flow: row;
@@ -7,9 +7,9 @@
7
7
  .Layout-sidebar,
8
8
  .Layout-divider,
9
9
  .Layout-main {
10
- width: 100% !important;
11
- grid-column: 1 !important;
12
- }
10
+ width: 100% !important;
11
+ grid-column: 1 !important;
12
+ }
13
13
 
14
14
  &.Layout--sidebarPosition-flowRow-start {
15
15
  .Layout-sidebar {
@@ -77,3 +77,29 @@
77
77
  }
78
78
  }
79
79
  }
80
+
81
+ // Layout beta mixins
82
+
83
+ // responsive region dividers
84
+
85
+ @mixin Layout-line-divider {
86
+ position: absolute;
87
+ left: calc(var(--Layout-outer-spacing-x) * -1);
88
+ display: block;
89
+ width: calc(100% + (var(--Layout-outer-spacing-x) * 2));
90
+ height: 1px;
91
+ content: '';
92
+ background-color: $Layout-divider-color;
93
+ }
94
+
95
+ @mixin Layout-filled-divider {
96
+ position: absolute;
97
+ bottom: calc(#{$spacer-2} * -1); // -8px
98
+ left: calc(var(--Layout-outer-spacing-x) * -1);
99
+ display: block;
100
+ width: calc(100% + (var(--Layout-outer-spacing-x) * 2));
101
+ height: #{$spacer-2}; // 8px
102
+ content: '';
103
+ background-color: var(--color-canvas-inset);
104
+ box-shadow: inset 0 1px $Layout-divider-color, inset 0 -1px $Layout-divider-color;
105
+ }