@primer/css 20.0.0-rc.7668517e → 20.0.0-rc.cea74927

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 (169) hide show
  1. package/CHANGELOG.md +156 -3
  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 +213 -129
  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 +50 -1
  12. package/avatars/avatar-stack.scss +1 -0
  13. package/base/base.scss +63 -3
  14. package/base/kbd.scss +0 -1
  15. package/base/normalize.scss +13 -53
  16. package/base/typography-base.scss +3 -2
  17. package/blankslate/blankslate.scss +20 -1
  18. package/box/box.scss +0 -3
  19. package/branch-name/branch-name.scss +1 -0
  20. package/buttons/button.scss +55 -27
  21. package/buttons/misc.scss +25 -19
  22. package/color-modes/index.scss +2 -0
  23. package/color-modes/native.scss +11 -0
  24. package/color-modes/themes/dark_tritanopia.scss +6 -0
  25. package/color-modes/themes/light_tritanopia.scss +6 -0
  26. package/dist/actionlist.css +1 -1
  27. package/dist/actionlist.css.map +1 -1
  28. package/dist/alerts.css +1 -1
  29. package/dist/alerts.css.map +1 -1
  30. package/dist/autocomplete.css +1 -1
  31. package/dist/autocomplete.css.map +1 -1
  32. package/dist/avatars.css +1 -1
  33. package/dist/avatars.css.map +1 -1
  34. package/dist/base.css +1 -1
  35. package/dist/base.css.map +1 -1
  36. package/dist/blankslate.css +1 -1
  37. package/dist/blankslate.css.map +1 -1
  38. package/dist/box.css.map +1 -1
  39. package/dist/branch-name.css +1 -1
  40. package/dist/branch-name.css.map +1 -1
  41. package/dist/breadcrumb.css.map +1 -1
  42. package/dist/buttons.css +1 -1
  43. package/dist/buttons.css.map +1 -1
  44. package/dist/color-modes.css +1 -1
  45. package/dist/color-modes.css.map +1 -1
  46. package/dist/core.css +1 -1
  47. package/dist/core.css.map +1 -1
  48. package/dist/dropdown.css +1 -1
  49. package/dist/dropdown.css.map +1 -1
  50. package/dist/forms.css +1 -1
  51. package/dist/forms.css.map +1 -1
  52. package/dist/header.css.map +1 -1
  53. package/dist/labels.css +1 -1
  54. package/dist/labels.css.map +1 -1
  55. package/dist/layout.css +1 -1
  56. package/dist/layout.css.map +1 -1
  57. package/dist/links.css +1 -1
  58. package/dist/links.css.map +1 -1
  59. package/dist/loaders.css.map +1 -1
  60. package/dist/markdown.css +1 -1
  61. package/dist/markdown.css.map +1 -1
  62. package/dist/marketing-buttons.css +1 -1
  63. package/dist/marketing-buttons.css.map +1 -1
  64. package/dist/marketing-links.css +1 -1
  65. package/dist/marketing-links.css.map +1 -1
  66. package/dist/marketing-type.css.map +1 -1
  67. package/dist/marketing-utilities.css.map +1 -1
  68. package/dist/marketing.css +1 -1
  69. package/dist/marketing.css.map +1 -1
  70. package/dist/meta.json +84 -84
  71. package/dist/navigation.css +1 -1
  72. package/dist/navigation.css.map +1 -1
  73. package/dist/pagination.css +1 -1
  74. package/dist/pagination.css.map +1 -1
  75. package/dist/popover.css +1 -1
  76. package/dist/popover.css.map +1 -1
  77. package/dist/primer.css +4 -4
  78. package/dist/primer.css.map +1 -1
  79. package/dist/product.css +1 -1
  80. package/dist/product.css.map +1 -1
  81. package/dist/progress.css.map +1 -1
  82. package/dist/select-menu.css.map +1 -1
  83. package/dist/stats/actionlist.json +1 -1
  84. package/dist/stats/alerts.json +1 -1
  85. package/dist/stats/autocomplete.json +1 -1
  86. package/dist/stats/avatars.json +1 -1
  87. package/dist/stats/base.json +1 -1
  88. package/dist/stats/blankslate.json +1 -1
  89. package/dist/stats/branch-name.json +1 -1
  90. package/dist/stats/buttons.json +1 -1
  91. package/dist/stats/color-modes.json +1 -1
  92. package/dist/stats/core.json +1 -1
  93. package/dist/stats/dropdown.json +1 -1
  94. package/dist/stats/forms.json +1 -1
  95. package/dist/stats/labels.json +1 -1
  96. package/dist/stats/layout.json +1 -1
  97. package/dist/stats/links.json +1 -1
  98. package/dist/stats/markdown.json +1 -1
  99. package/dist/stats/marketing-buttons.json +1 -1
  100. package/dist/stats/marketing-links.json +1 -1
  101. package/dist/stats/marketing.json +1 -1
  102. package/dist/stats/navigation.json +1 -1
  103. package/dist/stats/pagination.json +1 -1
  104. package/dist/stats/popover.json +1 -1
  105. package/dist/stats/primer.json +1 -1
  106. package/dist/stats/product.json +1 -1
  107. package/dist/stats/subhead.json +1 -1
  108. package/dist/stats/toasts.json +1 -1
  109. package/dist/stats/tooltips.json +1 -1
  110. package/dist/stats/utilities.json +1 -1
  111. package/dist/subhead.css +1 -1
  112. package/dist/subhead.css.map +1 -1
  113. package/dist/table-object.css.map +1 -1
  114. package/dist/timeline.css.map +1 -1
  115. package/dist/toasts.css +1 -1
  116. package/dist/toasts.css.map +1 -1
  117. package/dist/tooltips.css +1 -1
  118. package/dist/tooltips.css.map +1 -1
  119. package/dist/truncate.css.map +1 -1
  120. package/dist/utilities.css +1 -1
  121. package/dist/utilities.css.map +1 -1
  122. package/dist/variables.json +7 -7
  123. package/dropdown/dropdown.scss +0 -2
  124. package/forms/form-control.scss +24 -5
  125. package/forms/form-group.scss +47 -13
  126. package/forms/form-validation.scss +1 -1
  127. package/forms/input-group.scss +18 -0
  128. package/labels/labels.scss +11 -1
  129. package/labels/mixins.scss +7 -2
  130. package/labels/states.scss +2 -2
  131. package/layout/grid-offset.scss +1 -0
  132. package/layout/grid.scss +1 -0
  133. package/layout/index.scss +1 -0
  134. package/layout/layout.scss +5 -4
  135. package/layout/mixins.scss +27 -1
  136. package/layout/page-layout.scss +384 -0
  137. package/links/link.scss +6 -1
  138. package/markdown/code.scss +5 -0
  139. package/markdown/footnotes.scss +38 -26
  140. package/markdown/headings.scss +17 -0
  141. package/markdown/images.scss +1 -1
  142. package/markdown/markdown-body.scss +0 -8
  143. package/marketing/buttons/button.scss +32 -26
  144. package/marketing/links/link.scss +5 -5
  145. package/marketing/utilities/layout.scss +1 -0
  146. package/navigation/filter-list.scss +18 -0
  147. package/navigation/menu.scss +6 -8
  148. package/navigation/sidenav.scss +1 -10
  149. package/navigation/subnav.scss +18 -0
  150. package/navigation/tabnav.scss +7 -2
  151. package/navigation/underline-nav.scss +51 -45
  152. package/package.json +31 -23
  153. package/pagination/pagination.scss +62 -4
  154. package/popover/popover.scss +1 -2
  155. package/select-menu/select-menu.scss +1 -1
  156. package/subhead/subhead.scss +3 -0
  157. package/support/mixins/misc.scss +28 -5
  158. package/support/variables/layout.scss +2 -3
  159. package/table-object/table-object.scss +3 -0
  160. package/timeline/timeline-item.scss +0 -1
  161. package/toasts/toasts.scss +7 -4
  162. package/tooltips/tooltips.scss +0 -7
  163. package/utilities/colors.scss +16 -0
  164. package/utilities/details.scss +81 -4
  165. package/utilities/layout.scss +1 -1
  166. package/utilities/margin.scss +4 -1
  167. package/utilities/padding.scss +3 -1
  168. package/utilities/visibility-display.scss +52 -3
  169. package/table-object/README.md +0 -25
@@ -1,3 +1,5 @@
1
+ // stylelint-disable selector-max-specificity
2
+
1
3
  // Filters list
2
4
  //
3
5
  // A vertical list of filters.
@@ -45,6 +47,22 @@
45
47
  &[aria-current]:not([aria-current='false']) {
46
48
  color: var(--color-fg-on-emphasis);
47
49
  background-color: var(--color-accent-emphasis);
50
+
51
+ // fallback :focus state
52
+ &:focus {
53
+ @include focusOutlineOnEmphasis;
54
+
55
+ // remove fallback :focus if :focus-visible is supported
56
+ &:not(:focus-visible) {
57
+ outline: solid 1px transparent;
58
+ box-shadow: none;
59
+ }
60
+ }
61
+
62
+ // default focus state
63
+ &:focus-visible {
64
+ @include focusOutlineOnEmphasis;
65
+ }
48
66
  }
49
67
 
50
68
  .count {
@@ -22,7 +22,9 @@
22
22
  border-top-left-radius: $border-radius;
23
23
  border-top-right-radius: $border-radius;
24
24
 
25
- &::before { border-top-left-radius: $border-radius; }
25
+ &::before {
26
+ border-top-left-radius: $border-radius;
27
+ }
26
28
  }
27
29
 
28
30
  &:last-child {
@@ -30,13 +32,9 @@
30
32
  border-bottom-right-radius: $border-radius;
31
33
  border-bottom-left-radius: $border-radius;
32
34
 
33
- &::before { border-bottom-left-radius: $border-radius; }
34
- }
35
-
36
- &:focus {
37
- z-index: 1;
38
- outline: none;
39
- box-shadow: var(--color-primer-shadow-focus);
35
+ &::before {
36
+ border-bottom-left-radius: $border-radius;
37
+ }
40
38
  }
41
39
 
42
40
  &:hover {
@@ -43,16 +43,9 @@
43
43
 
44
44
  // States
45
45
 
46
- .SideNav-item:focus {
47
- z-index: 1;
48
- outline: none;
49
- box-shadow: var(--color-primer-shadow-focus);
50
- }
51
-
52
46
  .SideNav-item:hover {
53
47
  text-decoration: none;
54
48
  background-color: var(--color-neutral-subtle);
55
- outline: none;
56
49
  }
57
50
 
58
51
  .SideNav-item:active {
@@ -94,11 +87,9 @@
94
87
  border: 0;
95
88
  }
96
89
 
97
- .SideNav-subItem:hover,
98
- .SideNav-subItem:focus {
90
+ .SideNav-subItem:hover {
99
91
  color: var(--color-fg-default);
100
92
  text-decoration: none;
101
- outline: none;
102
93
  }
103
94
 
104
95
  .SideNav-subItem[aria-current]:not([aria-current='false']),
@@ -1,3 +1,5 @@
1
+ // stylelint-disable selector-max-specificity
2
+
1
3
  // Needs refactoring
2
4
  // Sub nav
3
5
  .subnav {
@@ -46,6 +48,22 @@
46
48
  color: var(--color-fg-on-emphasis);
47
49
  background-color: var(--color-accent-emphasis);
48
50
  border-color: var(--color-accent-emphasis);
51
+
52
+ // fallback :focus state
53
+ &:focus {
54
+ @include focusOutlineOnEmphasis;
55
+
56
+ // remove fallback :focus if :focus-visible is supported
57
+ &:not(:focus-visible) {
58
+ outline: solid 1px transparent;
59
+ box-shadow: none;
60
+ }
61
+ }
62
+
63
+ // default focus state
64
+ &:focus-visible {
65
+ @include focusOutlineOnEmphasis;
66
+ }
49
67
  }
50
68
 
51
69
  &:first-child {
@@ -40,13 +40,18 @@
40
40
  }
41
41
  }
42
42
 
43
- &:hover,
44
- &:focus {
43
+ &:hover {
45
44
  color: var(--color-fg-default);
46
45
  text-decoration: none;
47
46
  transition-duration: 0.1s;
48
47
  }
49
48
 
49
+ &:focus,
50
+ &:focus-visible {
51
+ border-radius: $border-radius $border-radius 0 0 !important;
52
+ outline-offset: -6px;
53
+ }
54
+
50
55
  &:active {
51
56
  color: var(--color-fg-muted);
52
57
  }
@@ -1,3 +1,4 @@
1
+ // stylelint-disable selector-max-specificity
1
2
  $nav-height: $spacer-3 * 3 !default; // 48px
2
3
 
3
4
  .UnderlineNav {
@@ -34,56 +35,61 @@ $nav-height: $spacer-3 * 3 !default; // 48px
34
35
  border-radius: $border-radius;
35
36
  align-items: center;
36
37
 
37
- // renders a visibly hidden "copy" of the label in bold, reserving box space for when label becomes bold on selected
38
- [data-content]::before {
39
- display: block;
40
- height: 0;
41
- font-weight: $font-weight-bold;
42
- visibility: hidden;
43
- content: attr(data-content);
44
- }
45
-
46
- // increase touch target area
47
- &::before {
48
- @include minTouchTarget($min-height: $nav-height);
49
- }
50
-
51
- // hover state was "sticking" on mobile after click
52
- @media (pointer: fine) {
53
- &:hover {
54
- color: var(--color-fg-default);
55
- text-decoration: none;
56
- background: var(--color-action-list-item-default-hover-bg);
57
- transition: background 0.12s ease-out;
38
+ &:hover,
39
+ &:focus,
40
+ &:focus-visible {
41
+ color: var(--color-fg-default);
42
+ text-decoration: none;
43
+ border-bottom-color: var(--color-neutral-muted);
44
+ outline-offset: -8px;
45
+ transition: border-bottom-color 0.12s ease-out;
46
+
47
+ // renders a visibly hidden "copy" of the label in bold, reserving box space for when label becomes bold on selected
48
+ [data-content]::before {
49
+ display: block;
50
+ height: 0;
51
+ font-weight: $font-weight-bold;
52
+ visibility: hidden;
53
+ content: attr(data-content);
58
54
  }
59
- }
60
55
 
61
- &.selected,
62
- &[role='tab'][aria-selected='true'],
63
- &[aria-current]:not([aria-current='false']) {
64
- font-weight: $font-weight-bold;
65
- color: var(--color-fg-default);
56
+ // increase touch target area
57
+ &::before {
58
+ @include minTouchTarget($min-height: $nav-height);
59
+ }
66
60
 
67
- // current/selected underline
68
- &::after {
69
- position: absolute;
70
- right: 50%;
71
- // 48px total height / 2 (24px) + 1px
72
- bottom: calc(50% - 25px);
73
- width: 100%;
74
- height: 2px;
75
- content: '';
76
- background: var(--color-primer-border-active);
77
- border-radius: $border-radius;
78
- transform: translate(50%, -50%);
61
+ // hover state was "sticking" on mobile after click
62
+ @media (pointer: fine) {
63
+ &:hover {
64
+ color: var(--color-fg-default);
65
+ text-decoration: none;
66
+ background: var(--color-action-list-item-default-hover-bg);
67
+ transition: background 0.12s ease-out;
68
+ }
79
69
  }
80
- }
81
70
 
82
- // remove when global focus state is merged
83
- &.focus,
84
- &:focus {
85
- @include focusOutline;
86
- outline-offset: -2px;
71
+ &.selected,
72
+ &[role='tab'][aria-selected='true'],
73
+ &[aria-current]:not([aria-current='false']) {
74
+ font-weight: $font-weight-bold;
75
+ color: var(--color-fg-default);
76
+ border-bottom-color: var(--color-primer-border-active);
77
+ outline-offset: -8px;
78
+
79
+ // current/selected underline
80
+ &::after {
81
+ position: absolute;
82
+ right: 50%;
83
+ // 48px total height / 2 (24px) + 1px
84
+ bottom: calc(50% - 25px);
85
+ width: 100%;
86
+ height: 2px;
87
+ content: '';
88
+ background: var(--color-primer-border-active);
89
+ border-radius: $border-radius;
90
+ transform: translate(50%, -50%);
91
+ }
92
+ }
87
93
  }
88
94
 
89
95
  .Counter {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/css",
3
- "version": "20.0.0-rc.7668517e",
3
+ "version": "20.0.0-rc.cea74927",
4
4
  "description": "The CSS implementation of GitHub's Primer Design System",
5
5
  "homepage": "https://primer.style/css",
6
6
  "author": "GitHub, Inc.",
@@ -23,48 +23,56 @@
23
23
  "design-system"
24
24
  ],
25
25
  "scripts": {
26
+ "build:docs": "script/build-docs",
27
+ "build:docs:preview": "script/build-docs preview",
26
28
  "dist": "script/dist.js",
27
- "stylelint": "stylelint --quiet 'src/**/*.scss'",
29
+ "dist:watch": "chokidar \"src/**/*.scss\" -c \"script/dist.js\"",
30
+ "stylelint": "stylelint --quiet --rd 'src/**/*.scss'",
31
+ "stylelint:fix": "yarn stylelint -- --fix",
32
+ "stylelint:remove-disables": "script/stylelint-remove-disables.js 'src/**/*.scss'",
33
+ "stylelint:add-disables": "script/stylelint-add-disables.js 'src/**/*.scss'",
28
34
  "eslint": "eslint deprecations.js __tests__ script",
29
35
  "prepublishOnly": "script/prepublish",
30
36
  "start": "yarn dev",
31
37
  "dev": "cd docs && yarn && yarn develop",
38
+ "postinstall": "cd docs && yarn",
32
39
  "pretest": "yarn dist && script/pretest",
33
40
  "test": "NODE_OPTIONS=--experimental-vm-modules yarn jest",
34
41
  "release": "changeset publish",
35
42
  "storybook": "cd docs && yarn && yarn storybook"
36
43
  },
37
44
  "dependencies": {
38
- "@primer/primitives": "^7.2.0"
45
+ "@primer/primitives": "^7.7.0"
39
46
  },
40
47
  "devDependencies": {
41
- "@changesets/changelog-github": "0.4.2",
42
- "@changesets/cli": "2.18.1",
48
+ "@changesets/changelog-github": "0.4.4",
49
+ "@changesets/cli": "2.20.0",
43
50
  "@github/prettier-config": "0.0.4",
44
- "@koddsson/postcss-sass": "5.0.0",
45
- "@primer/stylelint-config": "12.2.0",
46
- "autoprefixer": "10.4.0",
51
+ "@koddsson/postcss-sass": "5.0.1",
52
+ "@primer/stylelint-config": "^12.3.3",
53
+ "autoprefixer": "10.4.4",
54
+ "chokidar-cli": "3.0.0",
47
55
  "cssstats": "4.0.2",
48
- "eslint": "8.4.0",
49
- "eslint-plugin-github": "4.3.5",
50
- "eslint-plugin-jest": "25.3.0",
56
+ "eslint": "8.13.0",
57
+ "eslint-plugin-github": "4.3.6",
58
+ "eslint-plugin-jest": "26.0.0",
51
59
  "eslint-plugin-prettier": "4.0.0",
52
- "filesize": "8.0.6",
60
+ "filesize": "8.0.7",
53
61
  "front-matter": "4.0.2",
54
- "fs-extra": "10.0.0",
55
- "globby": "12.0.2",
56
- "jest": "27.4.3",
62
+ "fs-extra": "10.0.1",
63
+ "globby": "13.1.1",
64
+ "jest": "27.5.1",
57
65
  "js-yaml": "4.1.0",
58
- "postcss": "8.4.4",
59
- "postcss-calc": "8.0.0",
66
+ "postcss": "8.4.12",
67
+ "postcss-calc": "8.2.4",
60
68
  "postcss-import": "14.0.2",
61
- "postcss-load-config": "3.1.0",
62
- "postcss-scss": "4.0.2",
69
+ "postcss-load-config": "3.1.4",
70
+ "postcss-scss": "4.0.3",
63
71
  "postcss-simple-vars": "6.0.3",
64
- "prettier": "2.5.1",
65
- "semver": "7.3.5",
66
- "stylelint": "14.1.0",
67
- "table": "6.7.5"
72
+ "prettier": "2.6.2",
73
+ "semver": "7.3.7",
74
+ "stylelint": "14.6.1",
75
+ "table": "6.8.0"
68
76
  },
69
77
  "jest": {
70
78
  "testEnvironment": "node",
@@ -4,7 +4,6 @@
4
4
  a,
5
5
  span,
6
6
  em {
7
- display: inline-block;
8
7
  min-width: 32px;
9
8
  // stylelint-disable-next-line primer/spacing
10
9
  padding: 5px 10px;
@@ -25,7 +24,6 @@
25
24
  &:focus {
26
25
  text-decoration: none;
27
26
  border-color: var(--color-border-default);
28
- outline: 0;
29
27
  transition-duration: 0.1s;
30
28
  }
31
29
 
@@ -75,13 +73,73 @@
75
73
  // chevron-left
76
74
  .previous_page::before {
77
75
  margin-right: $spacer-1;
78
- clip-path: polygon(9.8px 12.8px, 8.7px 12.8px, 4.5px 8.5px, 4.5px 7.5px, 8.7px 3.2px, 9.8px 4.3px, 6.1px 8px, 9.8px 11.7px, 9.8px 12.8px);
76
+ clip-path:
77
+ polygon(
78
+ 9.8px 12.8px,
79
+ 8.7px 12.8px,
80
+ 4.5px 8.5px,
81
+ 4.5px 7.5px,
82
+ 8.7px 3.2px,
83
+ 9.8px 4.3px,
84
+ 6.1px 8px,
85
+ 9.8px 11.7px,
86
+ 9.8px 12.8px
87
+ );
79
88
  }
80
89
 
81
90
  // chevron-right
82
91
  .next_page::after {
83
92
  margin-left: $spacer-1;
84
- clip-path: polygon(6.2px 3.2px, 7.3px 3.2px, 11.5px 7.5px, 11.5px 8.5px, 7.3px 12.8px, 6.2px 11.7px, 9.9px 8px, 6.2px 4.3px, 6.2px 3.2px);
93
+ clip-path:
94
+ polygon(
95
+ 6.2px 3.2px,
96
+ 7.3px 3.2px,
97
+ 11.5px 7.5px,
98
+ 11.5px 8.5px,
99
+ 7.3px 12.8px,
100
+ 6.2px 11.7px,
101
+ 9.9px 8px,
102
+ 6.2px 4.3px,
103
+ 6.2px 3.2px
104
+ );
105
+ }
106
+ }
107
+
108
+ // Responsive
109
+
110
+ // Hide everything by default
111
+ > * {
112
+ display: none;
113
+ }
114
+
115
+ // 0 -> sm
116
+ // Only show [Previous] [Next]
117
+
118
+ > :first-child,
119
+ > :last-child,
120
+ > .previous_page,
121
+ > .next_page {
122
+ display: inline-block;
123
+ }
124
+
125
+ // sm -> md
126
+ // Also show [first] [last] [current number] and [...]
127
+
128
+ @include breakpoint(sm) {
129
+ > :nth-child(2),
130
+ > :nth-last-child(2),
131
+ > .current,
132
+ > .gap {
133
+ display: inline-block;
134
+ }
135
+ }
136
+
137
+ // md -> or more
138
+ // Show everything
139
+
140
+ @include breakpoint(md) {
141
+ > * {
142
+ display: inline-block;
85
143
  }
86
144
  }
87
145
  }
@@ -122,7 +122,6 @@
122
122
  }
123
123
 
124
124
  &::before {
125
- // stylelint-disable-next-line primer/spacing
126
125
  margin-top: -($spacer-2 + 1);
127
126
  }
128
127
 
@@ -196,7 +195,7 @@
196
195
  // Responsive Popover
197
196
  // For < md it will show full-width anchored to the bottom
198
197
 
199
- @media (max-width: ($width-md - 1px)) {
198
+ @media (max-width: ($width-md - 0.02px)) {
200
199
  .Popover {
201
200
  position: fixed;
202
201
  top: auto !important;
@@ -31,7 +31,7 @@ $SelectMenu-max-height: 480px !default;
31
31
 
32
32
  // Backdrop
33
33
  //
34
- // Adds a dark, semi transparent "cover" underneat the modal. Only visible for xs.
34
+ // Adds a dark, semi transparent "cover" underneath the modal. Only visible for xs.
35
35
 
36
36
  .SelectMenu::before {
37
37
  position: absolute;
@@ -18,6 +18,7 @@
18
18
  font-size: $h2-size;
19
19
  font-weight: $font-weight-normal;
20
20
  flex: 1 1 auto;
21
+ order: 0;
21
22
  }
22
23
 
23
24
  // Make the text bold and red for dangerous content
@@ -31,6 +32,7 @@
31
32
  font-size: $body-font-size;
32
33
  color: var(--color-fg-muted);
33
34
  flex: 1 100%;
35
+ order: 2;
34
36
  }
35
37
 
36
38
  // Add 1 or 2 buttons to the right of the heading
@@ -38,6 +40,7 @@
38
40
  margin: $spacer-1 0 $spacer-1 $spacer-1;
39
41
  align-self: center;
40
42
  justify-content: flex-end;
43
+ order: 1;
41
44
 
42
45
  + .Subhead-description {
43
46
  margin-top: $spacer-1;
@@ -15,7 +15,8 @@
15
15
  }
16
16
 
17
17
  &::after {
18
- margin-left: 1px;
18
+ // stylelint-disable-next-line primer/spacing
19
+ margin-left: 2px;
19
20
  background-color: var(--color-canvas-default);
20
21
  background-image: linear-gradient($background, $background);
21
22
  }
@@ -27,10 +28,32 @@
27
28
 
28
29
  // global focus styles
29
30
 
30
- @mixin focusOutline {
31
- z-index: 1;
32
- outline: 2px solid var(--color-accent-fg);
33
- outline-offset: 2px;
31
+ // inset box-shadow for form controls
32
+ @mixin focusBoxShadowInset($outlineWidth: 1px, $outlineColor: var(--color-accent-fg)) {
33
+ border-color: var(--color-accent-fg);
34
+ outline: none;
35
+ box-shadow: inset 0 0 0 $outlineWidth $outlineColor;
36
+ }
37
+
38
+ // box-shadow for :target styles (no inset)
39
+ // !important to override PCSS utilities
40
+ @mixin targetBoxShadow($outlineWidth: 2px, $outlineColor: var(--color-accent-fg)) {
41
+ outline: none !important;
42
+ box-shadow: 0 0 0 $outlineWidth $outlineColor !important;
43
+ }
44
+
45
+ // outline
46
+ @mixin focusOutline($outlineOffset: -2px, $outlineColor: var(--color-accent-fg)) {
47
+ outline: 2px solid $outlineColor;
48
+ outline-offset: $outlineOffset;
49
+ box-shadow: none;
50
+ }
51
+
52
+ // outline with fg box-shadow for buttons
53
+ @mixin focusOutlineOnEmphasis($outlineOffset: -2px, $outlineColor: var(--color-accent-fg)) {
54
+ outline: 2px solid $outlineColor;
55
+ outline-offset: $outlineOffset;
56
+ box-shadow: inset 0 0 0 3px var(--color-fg-on-emphasis);
34
57
  }
35
58
 
36
59
  // if min-width is undefined, return only min-height
@@ -157,7 +157,7 @@ $responsive-variants: (
157
157
  xl: '-xl',
158
158
  ) !default;
159
159
 
160
- // responive utility position values
160
+ // responsive utility position values
161
161
  $responsive-positions: (
162
162
  static,
163
163
  relative,
@@ -178,9 +178,8 @@ $sidebar-narrow-width: (
178
178
  ) !default;
179
179
 
180
180
  $sidebar-wide-width: (
181
- md: 296px,
182
181
  lg: 320px,
183
- xl: 344px
182
+ xl: 336px
184
183
  ) !default;
185
184
 
186
185
  $gutter: (
@@ -1,3 +1,6 @@
1
+ // Deprecated
2
+ // TODO: Replace TableObject with flexbox or a new Table component
3
+
1
4
  // TableObject is a module for creating dynamically resizable elements that
2
5
  // always sit on the same horizontal line (e.g., they never wrap). Using
3
6
  // tables means it's cross browser friendly.
@@ -67,7 +67,6 @@
67
67
  height: $spacer-4;
68
68
  margin: 0;
69
69
  margin-bottom: -$spacer-3;
70
- // stylelint-disable-next-line primer/spacing
71
70
  margin-left: -($spacer-6 + $spacer-3);
72
71
  background-color: var(--color-canvas-default);
73
72
  border: 0;
@@ -40,9 +40,7 @@
40
40
  background-color: transparent;
41
41
  border: 0;
42
42
 
43
- &:focus,
44
43
  &:hover {
45
- outline: none;
46
44
  opacity: 0.7;
47
45
  }
48
46
 
@@ -119,6 +117,11 @@
119
117
  }
120
118
 
121
119
  @keyframes Toast--spinner {
122
- from { transform: rotate(0deg); }
123
- to { transform: rotate(360deg); }
120
+ from {
121
+ transform: rotate(0deg);
122
+ }
123
+
124
+ to {
125
+ transform: rotate(360deg);
126
+ }
124
127
  }
@@ -264,13 +264,6 @@
264
264
  }
265
265
  }
266
266
 
267
- @media screen and (min-width: 0\0) {
268
- // IE11
269
- .tooltipped-multiline::after {
270
- width: $tooltip-max-width;
271
- }
272
- }
273
-
274
267
  // Sticky tooltips
275
268
  //
276
269
  // Always show the tooltip.
@@ -11,6 +11,8 @@
11
11
  .color-fg-attention { color: var(--color-attention-fg) !important; }
12
12
  .color-fg-severe { color: var(--color-severe-fg) !important; }
13
13
  .color-fg-danger { color: var(--color-danger-fg) !important; }
14
+ .color-fg-open { color: var(--color-open-fg) !important; }
15
+ .color-fg-closed { color: var(--color-closed-fg) !important; }
14
16
  .color-fg-done { color: var(--color-done-fg) !important; }
15
17
  .color-fg-sponsors { color: var(--color-sponsors-fg) !important; }
16
18
 
@@ -39,12 +41,20 @@
39
41
  .color-bg-danger { background-color: var(--color-danger-subtle) !important; }
40
42
  .color-bg-danger-emphasis { background-color: var(--color-danger-emphasis) !important; }
41
43
 
44
+ .color-bg-open { background-color: var(--color-open-subtle) !important; }
45
+ .color-bg-open-emphasis { background-color: var(--color-open-emphasis) !important; }
46
+
47
+ .color-bg-closed { background-color: var(--color-closed-subtle) !important; }
48
+ .color-bg-closed-emphasis { background-color: var(--color-closed-emphasis) !important; }
49
+
42
50
  .color-bg-done { background-color: var(--color-done-subtle) !important; }
43
51
  .color-bg-done-emphasis { background-color: var(--color-done-emphasis) !important; }
44
52
 
45
53
  .color-bg-sponsors { background-color: var(--color-sponsors-subtle) !important; }
46
54
  .color-bg-sponsors-emphasis { background-color: var(--color-sponsors-emphasis) !important; }
47
55
 
56
+ .color-bg-transparent { background-color: transparent !important; }
57
+
48
58
  // Border
49
59
 
50
60
  .color-border-default { border-color: var(--color-border-default) !important; }
@@ -66,6 +76,12 @@
66
76
  .color-border-danger { border-color: var(--color-danger-muted) !important; }
67
77
  .color-border-danger-emphasis { border-color: var(--color-danger-emphasis) !important; }
68
78
 
79
+ .color-border-open { border-color: var(--color-open-muted) !important; }
80
+ .color-border-open-emphasis { border-color: var(--color-open-emphasis) !important; }
81
+
82
+ .color-border-closed { border-color: var(--color-closed-muted) !important; }
83
+ .color-border-closed-emphasis { border-color: var(--color-closed-emphasis) !important; }
84
+
69
85
  .color-border-done { border-color: var(--color-done-muted) !important; }
70
86
  .color-border-done-emphasis { border-color: var(--color-done-emphasis) !important; }
71
87