@primer/view-components 0.3.0-rc.dc2abcf9 → 0.3.0

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 (66) hide show
  1. package/app/assets/javascripts/primer_view_components.js +1 -1
  2. package/app/assets/javascripts/primer_view_components.js.map +1 -1
  3. package/app/assets/styles/primer_view_components.css +4999 -1
  4. package/app/assets/styles/primer_view_components.css.map +1 -1
  5. package/app/components/primer/alpha/action_list.css +710 -1
  6. package/app/components/primer/alpha/action_list.css.json +77 -77
  7. package/app/components/primer/alpha/auto_complete.css +130 -1
  8. package/app/components/primer/alpha/auto_complete.css.json +4 -4
  9. package/app/components/primer/alpha/banner.css +131 -1
  10. package/app/components/primer/alpha/banner.css.json +2 -2
  11. package/app/components/primer/alpha/button_marketing.css +204 -1
  12. package/app/components/primer/alpha/button_marketing.css.json +9 -9
  13. package/app/components/primer/alpha/dialog.css +607 -1
  14. package/app/components/primer/alpha/dialog.css.json +10 -10
  15. package/app/components/primer/alpha/dropdown.css +265 -1
  16. package/app/components/primer/alpha/dropdown.css.json +19 -19
  17. package/app/components/primer/alpha/layout.css +398 -1
  18. package/app/components/primer/alpha/layout.css.json +16 -16
  19. package/app/components/primer/alpha/menu.css +117 -1
  20. package/app/components/primer/alpha/menu.css.json +7 -7
  21. package/app/components/primer/alpha/overlay.css +32 -1
  22. package/app/components/primer/alpha/overlay.css.json +3 -2
  23. package/app/components/primer/alpha/segmented_control.css +175 -1
  24. package/app/components/primer/alpha/segmented_control.css.json +7 -7
  25. package/app/components/primer/alpha/tab_nav.css +106 -1
  26. package/app/components/primer/alpha/tab_nav.css.json +6 -6
  27. package/app/components/primer/alpha/text_field.css +849 -1
  28. package/app/components/primer/alpha/text_field.css.json +45 -45
  29. package/app/components/primer/alpha/toggle_switch.css +228 -1
  30. package/app/components/primer/alpha/toggle_switch.css.json +10 -10
  31. package/app/components/primer/alpha/underline_nav.css +149 -1
  32. package/app/components/primer/alpha/underline_nav.css.json +8 -8
  33. package/app/components/primer/anchored_position.js +1 -3
  34. package/app/components/primer/beta/avatar.css +74 -1
  35. package/app/components/primer/beta/avatar_stack.css +138 -1
  36. package/app/components/primer/beta/avatar_stack.css.json +6 -6
  37. package/app/components/primer/beta/blankslate.css +90 -1
  38. package/app/components/primer/beta/border_box.css +279 -1
  39. package/app/components/primer/beta/border_box.css.json +4 -4
  40. package/app/components/primer/beta/breadcrumbs.css +27 -1
  41. package/app/components/primer/beta/breadcrumbs.css.json +3 -3
  42. package/app/components/primer/beta/button.css +385 -1
  43. package/app/components/primer/beta/button.css.json +16 -16
  44. package/app/components/primer/beta/button_group.css +23 -1
  45. package/app/components/primer/beta/button_group.css.json +5 -5
  46. package/app/components/primer/beta/counter.css +36 -1
  47. package/app/components/primer/beta/flash.css +150 -1
  48. package/app/components/primer/beta/label.css +105 -1
  49. package/app/components/primer/beta/label.css.json +4 -4
  50. package/app/components/primer/beta/link.css +62 -1
  51. package/app/components/primer/beta/link.css.json +3 -3
  52. package/app/components/primer/beta/popover.css +235 -1
  53. package/app/components/primer/beta/popover.css.json +29 -29
  54. package/app/components/primer/beta/progress_bar.css +26 -1
  55. package/app/components/primer/beta/progress_bar.css.json +1 -1
  56. package/app/components/primer/beta/state.css +50 -1
  57. package/app/components/primer/beta/state.css.json +1 -1
  58. package/app/components/primer/beta/subhead.css +54 -1
  59. package/app/components/primer/beta/subhead.css.json +1 -1
  60. package/app/components/primer/beta/timeline_item.css +95 -1
  61. package/app/components/primer/beta/timeline_item.css.json +1 -1
  62. package/app/components/primer/beta/truncate.css +37 -1
  63. package/app/components/primer/beta/truncate.css.json +6 -6
  64. package/app/components/primer/truncate.css +30 -1
  65. package/app/components/primer/truncate.css.json +4 -4
  66. package/package.json +1 -1
@@ -2,10 +2,10 @@
2
2
  "name": "beta/breadcrumbs",
3
3
  "selectors": [
4
4
  ".breadcrumb-item",
5
- ".breadcrumb-item:after",
5
+ ".breadcrumb-item::after",
6
6
  ".breadcrumb-item:first-child",
7
- ".breadcrumb-item-selected:after",
8
- ".breadcrumb-item[aria-current]:not([aria-current=false]):after",
7
+ ".breadcrumb-item-selected::after",
8
+ ".breadcrumb-item[aria-current]:not([aria-current='false'])::after",
9
9
  ".breadcrumb-item-selected a"
10
10
  ]
11
11
  }
@@ -1 +1,385 @@
1
- :root{--duration-fast:80ms;--easing-easeInOut:cubic-bezier(0.65,0,0.35,1)}.Button{align-items:center;background-color:initial;border:var(--borderWidth-thin,max(1px,.0625rem)) solid;border-color:#0000;border-radius:var(--borderRadius-medium,6px);color:var(--button-default-fgColor-rest,var(--color-btn-text));cursor:pointer;display:inline-flex;flex-direction:row;font-size:var(--text-body-size-medium,.875rem);font-weight:var(--base-text-weight-medium,500);gap:var(--base-size-4,.25rem);height:var(--control-medium-size,2rem);justify-content:space-between;min-width:max-content;padding:0 var(--control-medium-paddingInline-normal,.75rem);position:relative;text-align:center;transition:var(--duration-fast) var(--easing-easeInOut);transition-property:color,fill,background-color,border-color;-webkit-user-select:none;user-select:none}@media (pointer:coarse){.Button:before{content:"";height:100%;left:50%;min-height:48px;min-width:48px;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:100%}}.Button:hover{transition-duration:var(--duration-fast)}.Button:active{transition:none}.Button:disabled,.Button[aria-disabled=true]{box-shadow:none;cursor:not-allowed}.Button-withTooltip{display:inline-block;position:relative}a.Button:hover,summary.Button:hover{text-decoration:none}.Button-content{align-items:center;display:grid;flex:1 0 auto;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;place-content:center}.Button-content>:not(:last-child){margin-right:var(--control-medium-gap,.5rem)}.Button-content--alignStart{justify-content:start}.Button-visual{display:flex;pointer-events:none}.Button-visual .Counter{background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg));color:inherit}.Button-label{grid-area:text;line-height:var(--text-body-lineHeight-medium,1.42857);white-space:nowrap}.Button-leadingVisual{grid-area:leadingVisual}.Button-trailingVisual{grid-area:trailingVisual}.Button-trailingAction{margin-right:calc(var(--base-size-4,.25rem)*-1)}.Button--small{font-size:var(--text-body-size-small,.75rem);gap:var(--control-small-gap,.25rem);height:var(--control-small-size,1.75rem);padding:0 var(--control-small-paddingInline-condensed,.5rem)}.Button--small .Button-label{line-height:var(--text-body-lineHeight-small,1.66667)}.Button--small .Button-content>:not(:last-child){margin-right:var(--control-small-gap,.25rem)}.Button--large{gap:var(--control-large-gap,.5rem);height:var(--control-large-size,2.5rem);padding:0 var(--control-large-paddingInline-spacious,1rem)}.Button--large .Button-label{line-height:var(--text-body-lineHeight-large,1.5)}.Button--large .Button-content>:not(:last-child){margin-right:var(--control-large-gap,.5rem)}.Button--fullWidth{width:100%}.Button--primary{fill:var(--button-primary-iconColor-rest,var(--color-btn-primary-icon));background-color:var(--button-primary-bgColor-rest,var(--color-btn-primary-bg));border-color:var(--button-primary-borderColor-rest,var(--color-btn-primary-border));box-shadow:var(--shadow-resting-small,var(--color-shadow-small)),var(--shadow-highlight,var(--color-primer-shadow-highlight));color:var(--button-primary-fgColor-rest,var(--color-btn-primary-text))}.Button--primary:hover:not(:disabled){background-color:var(--button-primary-bgColor-hover,var(--color-btn-primary-hover-bg));border-color:var(--button-primary-borderColor-hover,var(--color-btn-primary-hover-border))}.Button--primary:focus{box-shadow:inset 0 0 0 3px var(--fgColor-onEmphasis,var(--color-fg-on-emphasis));outline:2px solid var(--focus-outlineColor,var(--color-accent-fg));outline-offset:-2px}.Button--primary:focus:not(:focus-visible){box-shadow:none;outline:1px solid #0000}.Button--primary:focus-visible{box-shadow:inset 0 0 0 3px var(--fgColor-onEmphasis,var(--color-fg-on-emphasis));outline:2px solid var(--focus-outlineColor,var(--color-accent-fg));outline-offset:-2px}.Button--primary:active:not(:disabled),.Button--primary[aria-pressed=true]{background-color:var(--button-primary-bgColor-active,var(--color-btn-primary-selected-bg));box-shadow:var(--button-primary-shadow-selected,var(--color-btn-primary-selected-shadow))}.Button--primary:disabled,.Button--primary[aria-disabled=true]{fill:var(--button-primary-fgColor-disabled,var(--color-btn-primary-disabled-text));background-color:var(--button-primary-bgColor-disabled,var(--color-btn-primary-disabled-bg));border-color:var(--button-primary-borderColor-disabled,var(--color-btn-primary-disabled-border));color:var(--button-primary-fgColor-disabled,var(--color-btn-primary-disabled-text))}.Button--primary .Counter{background-color:var(--buttonCounter-primary-bgColor-rest,var(--color-btn-primary-counter-bg));color:inherit}.Button--secondary{fill:var(--fgColor-muted,var(--color-fg-muted));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg));border-color:var(--button-default-borderColor-rest,var(--color-btn-border));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow)),var(--button-default-shadow-inset,var(--color-btn-inset-shadow));color:var(--button-default-fgColor-rest,var(--color-btn-text))}.Button--secondary:hover:not(:disabled){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg));border-color:var(--button-default-borderColor-hover,var(--color-btn-hover-border))}.Button--secondary:active:not(:disabled){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg));border-color:var(--button-default-borderColor-active,var(--color-btn-active-border))}.Button--secondary[aria-pressed=true]{background-color:var(--button-default-bgColor-selected,var(--color-btn-selected-bg));box-shadow:var(--shadow-inset,var(--color-primer-shadow-inset))}.Button--secondary:disabled,.Button--secondary[aria-disabled=true]{fill:var(--fgColor-disabled,var(--color-primer-fg-disabled));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg));border-color:var(--button-default-borderColor-rest,var(--color-btn-border));color:var(--fgColor-disabled,var(--color-primer-fg-disabled))}.Button--invisible{color:var(--button-invisible-fgColor-rest,var(--color-btn-outline-text))}.Button--invisible:hover:not(:disabled){background-color:var(--button-invisible-bgColor-hover,var(--color-action-list-item-default-hover-bg))}.Button--invisible:active:not(:disabled),.Button--invisible[aria-pressed=true]{background-color:var(--button-invisible-bgColor-active,var(--color-action-list-item-default-active-bg))}.Button--invisible:disabled,.Button--invisible[aria-disabled=true]{fill:var(--button-invisible-fgColor-disabled,var(--color-primer-fg-disabled));background-color:var(--button-invisible-bgColor-disabled,var(--color-action-list-item-default-selected-bg));border-color:#0000;color:var(--button-invisible-fgColor-disabled,var(--color-primer-fg-disabled))}.Button--invisible.Button--invisible-noVisuals .Button-label{color:var(--fgColor-link-rest,var(--color-accent-fg))}.Button--invisible .Button-visual{color:var(--fgColor-muted,var(--color-fg-muted))}.Button--invisible .Button-visual .Counter{color:var(--fgColor-default,var(--color-fg-default))}.Button--link{fill:var(--fgColor-link-rest,var(--color-accent-fg));border:none;color:var(--fgColor-link-rest,var(--color-accent-fg));display:inline-block;font-size:inherit;height:unset;padding:0}.Button--link:hover:not(:disabled){text-decoration:underline}.Button--link:focus,.Button--link:focus-visible{outline-offset:2px}.Button--link:disabled,.Button--link[aria-disabled=true]{fill:var(--fgColor-disabled,var(--color-primer-fg-disabled));background-color:initial;border-color:#0000;color:var(--fgColor-disabled,var(--color-primer-fg-disabled))}.Button--danger{fill:var(--button-danger-iconColor-rest,var(--color-btn-danger-icon));background-color:var(--button-danger-bgColor-rest,var(--color-btn-bg));border-color:var(--button-danger-borderColor-rest,var(--color-btn-border));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow)),var(--button-default-shadow-inset,var(--color-btn-inset-shadow));color:var(--button-danger-fgColor-rest,var(--color-btn-danger-text))}.Button--danger:hover:not(:disabled){fill:var(--button-danger-fgColor-hover,var(--color-btn-danger-hover-text));background-color:var(--button-danger-bgColor-hover,var(--color-btn-danger-hover-bg));border-color:var(--button-danger-borderColor-hover,var(--color-btn-danger-hover-border));box-shadow:var(--shadow-resting-small,var(--color-shadow-small)),var(--shadow-highlight,var(--color-primer-shadow-highlight));color:var(--button-danger-fgColor-hover,var(--color-btn-danger-hover-text))}.Button--danger:hover:not(:disabled) .Counter{background-color:var(--buttonCounter-danger-bgColor-hover,var(--color-btn-danger-hover-counter-bg));color:var(--buttonCounter-danger-fgColor-hover,var(--btn-danger-hoverCounterFg))}.Button--danger:active:not(:disabled),.Button--danger[aria-pressed=true]{fill:var(--button-danger-fgColor-active,var(--color-btn-danger-selected-text));background-color:var(--button-danger-bgColor-active,var(--color-btn-danger-selected-bg));border-color:var(--button-danger-borderColor-active,var(--color-btn-danger-selected-border));box-shadow:var(--button-danger-shadow-selected,var(--color-btn-danger-selected-shadow));color:var(--button-danger-fgColor-active,var(--color-btn-danger-selected-text))}.Button--danger:disabled,.Button--danger[aria-disabled=true]{fill:var(--button-danger-fgColor-disabled,var(--color-btn-danger-disabled-text));background-color:var(--button-danger-bgColor-disabled,var(--color-btn-danger-disabled-bg));border-color:var(--button-default-borderColor-rest,var(--color-btn-border));color:var(--button-danger-fgColor-disabled,var(--color-btn-danger-disabled-text))}.Button--danger:disabled .Counter,.Button--danger[aria-disabled=true] .Counter{background-color:var(--buttonCounter-danger-bgColor-disabled,var(--color-btn-danger-disabled-counter-bg));color:var(--buttonCounter-danger-fgColor-disabled,var(--btn-danger-disabledCounterFg))}.Button--danger .Counter{background-color:var(--buttonCounter-danger-bgColor-rest,var(--color-btn-danger-counter-bg));color:var(--buttonCounter-danger-fgColor-rest,var(--btn-danger-counterFg))}.Button--iconOnly{display:inline-grid;padding:unset;place-content:center;width:var(--control-medium-size,2rem)}.Button--iconOnly.Button--small{width:var(--control-small-size,1.75rem)}.Button--iconOnly.Button--large{width:var(--control-large-size,2.5rem)}
1
+ /* CSS for Button */
2
+
3
+ /* temporary, pre primitives release */
4
+
5
+ :root {
6
+ --duration-fast: 80ms;
7
+ --easing-easeInOut: cubic-bezier(0.65, 0, 0.35, 1);
8
+ }
9
+
10
+ /* base button */
11
+
12
+ .Button {
13
+ position: relative;
14
+ font-size: var(--text-body-size-medium,0.875rem);
15
+ font-weight: var(--base-text-weight-medium,500);
16
+ cursor: pointer;
17
+ -webkit-user-select: none;
18
+ user-select: none;
19
+ background-color: transparent;
20
+ border: var(--borderWidth-thin,max(1px, 0.0625rem)) solid;
21
+ border-color: transparent;
22
+ border-radius: var(--borderRadius-medium,6px);
23
+ color: var(--button-default-fgColor-rest,var(--color-btn-text));
24
+ transition: var(--duration-fast) var(--easing-easeInOut);
25
+ transition-property: color, fill, background-color, border-color;
26
+ text-align: center;
27
+ height: var(--control-medium-size,2rem);
28
+ padding: 0 var(--control-medium-paddingInline-normal,0.75rem);
29
+ display: inline-flex;
30
+ flex-direction: row;
31
+ justify-content: space-between;
32
+ align-items: center;
33
+ gap: var(--base-size-4,0.25rem);
34
+ min-width: max-content;
35
+
36
+ /* mobile friendly sizing */
37
+ }
38
+
39
+ @media (pointer: coarse) {
40
+ .Button::before {
41
+ position: absolute;
42
+ top: 50%;
43
+ left: 50%;
44
+ width: 100%;
45
+ height: 100%;
46
+ min-height: 48px;
47
+ content: "";
48
+ transform: translateX(-50%) translateY(-50%);
49
+ min-width: 48px;
50
+ }
51
+ }
52
+
53
+ /* base states */
54
+
55
+ .Button:hover {
56
+ transition-duration: var(--duration-fast);
57
+ }
58
+
59
+ .Button:active {
60
+ transition: none;
61
+ }
62
+
63
+ .Button:disabled,
64
+ .Button[aria-disabled='true'] {
65
+ cursor: not-allowed;
66
+ box-shadow: none;
67
+ }
68
+
69
+ .Button-withTooltip {
70
+ position: relative;
71
+ display: inline-block;
72
+ }
73
+
74
+ a.Button:hover, summary.Button:hover {
75
+ text-decoration: none;
76
+ }
77
+
78
+ /* wrap grid content to allow trailingAction to lock-right */
79
+
80
+ .Button-content {
81
+ flex: 1 0 auto;
82
+ display: grid;
83
+ grid-template-areas: 'leadingVisual text trailingVisual';
84
+ grid-template-columns: min-content minmax(0, auto) min-content;
85
+ align-items: center;
86
+ place-content: center;
87
+
88
+ /* padding-bottom: 1px; optical alignment for firefox */
89
+ }
90
+
91
+ .Button-content > :not(:last-child) {
92
+ margin-right: var(--control-medium-gap,0.5rem);
93
+ }
94
+
95
+ /* center child elements for fullWidth */
96
+
97
+ .Button-content--alignStart {
98
+ justify-content: start;
99
+ }
100
+
101
+ /* button child elements */
102
+
103
+ /* align svg */
104
+
105
+ .Button-visual {
106
+ display: flex;
107
+ pointer-events: none; /* allow click handler to work, avoiding visuals */
108
+ }
109
+
110
+ .Button-visual .Counter {
111
+ color: inherit;
112
+ background-color: var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg));
113
+ }
114
+
115
+ .Button-label {
116
+ grid-area: text;
117
+ white-space: nowrap;
118
+ line-height: var(--text-body-lineHeight-medium,calc(20/14));
119
+ }
120
+
121
+ .Button-leadingVisual {
122
+ grid-area: leadingVisual;
123
+ }
124
+
125
+ .Button-trailingVisual {
126
+ grid-area: trailingVisual;
127
+ }
128
+
129
+ .Button-trailingAction {
130
+ margin-right: calc(var(--base-size-4,0.25rem) * -1);
131
+ }
132
+
133
+ /* sizes */
134
+
135
+ .Button--small {
136
+ font-size: var(--text-body-size-small,0.75rem);
137
+ height: var(--control-small-size,1.75rem);
138
+ padding: 0 var(--control-small-paddingInline-condensed,0.5rem);
139
+ gap: var(--control-small-gap,0.25rem);
140
+ }
141
+
142
+ .Button--small .Button-label {
143
+ line-height: var(--text-body-lineHeight-small,calc(20/12));
144
+ }
145
+
146
+ .Button--small .Button-content > :not(:last-child) {
147
+ margin-right: var(--control-small-gap,0.25rem);
148
+ }
149
+
150
+ .Button--large {
151
+ height: var(--control-large-size,2.5rem);
152
+ padding: 0 var(--control-large-paddingInline-spacious,1rem);
153
+ gap: var(--control-large-gap,0.5rem);
154
+ }
155
+
156
+ .Button--large .Button-label {
157
+ line-height: var(--text-body-lineHeight-large,calc(24/16));
158
+ }
159
+
160
+ .Button--large .Button-content > :not(:last-child) {
161
+ margin-right: var(--control-large-gap,0.5rem);
162
+ }
163
+
164
+ .Button--fullWidth {
165
+ width: 100%;
166
+ }
167
+
168
+ /* variants */
169
+
170
+ /* primary */
171
+
172
+ .Button--primary {
173
+ color: var(--button-primary-fgColor-rest,var(--color-btn-primary-text));
174
+ fill: var(--button-primary-iconColor-rest,var(--color-btn-primary-icon));
175
+ background-color: var(--button-primary-bgColor-rest,var(--color-btn-primary-bg));
176
+ border-color: var(--button-primary-borderColor-rest,var(--color-btn-primary-border));
177
+ box-shadow: var(--shadow-resting-small,var(--color-shadow-small)), var(--shadow-highlight,var(--color-primer-shadow-highlight));
178
+ }
179
+
180
+ .Button--primary:hover:not(:disabled) {
181
+ background-color: var(--button-primary-bgColor-hover,var(--color-btn-primary-hover-bg));
182
+ border-color: var(--button-primary-borderColor-hover,var(--color-btn-primary-hover-border));
183
+ }
184
+
185
+ /* fallback :focus state */
186
+
187
+ .Button--primary:focus {
188
+ outline: 2px solid var(--focus-outlineColor,var(--color-accent-fg));
189
+ outline-offset: -2px;
190
+ box-shadow: inset 0 0 0 3px var(--fgColor-onEmphasis,var(--color-fg-on-emphasis));
191
+
192
+ /* remove fallback :focus if :focus-visible is supported */
193
+ }
194
+
195
+ .Button--primary:focus:not(:focus-visible) {
196
+ outline: solid 1px transparent;
197
+ box-shadow: none;
198
+ }
199
+
200
+ /* default focus state */
201
+
202
+ .Button--primary:focus-visible {
203
+ outline: 2px solid var(--focus-outlineColor,var(--color-accent-fg));
204
+ outline-offset: -2px;
205
+ box-shadow: inset 0 0 0 3px var(--fgColor-onEmphasis,var(--color-fg-on-emphasis));
206
+ }
207
+
208
+ .Button--primary:active:not(:disabled),
209
+ .Button--primary[aria-pressed='true'] {
210
+ background-color: var(--button-primary-bgColor-active,var(--color-btn-primary-selected-bg));
211
+ box-shadow: var(--button-primary-shadow-selected,var(--color-btn-primary-selected-shadow));
212
+ }
213
+
214
+ .Button--primary:disabled,
215
+ .Button--primary[aria-disabled='true'] {
216
+ color: var(--button-primary-fgColor-disabled,var(--color-btn-primary-disabled-text));
217
+ background-color: var(--button-primary-bgColor-disabled,var(--color-btn-primary-disabled-bg));
218
+ border-color: var(--button-primary-borderColor-disabled,var(--color-btn-primary-disabled-border));
219
+ fill: var(--button-primary-fgColor-disabled,var(--color-btn-primary-disabled-text));
220
+ }
221
+
222
+ .Button--primary .Counter {
223
+ color: inherit;
224
+ background-color: var(--buttonCounter-primary-bgColor-rest,var(--color-btn-primary-counter-bg));
225
+ }
226
+
227
+ /* default (secondary) */
228
+
229
+ .Button--secondary {
230
+ color: var(--button-default-fgColor-rest,var(--color-btn-text));
231
+ fill: var(--fgColor-muted,var(--color-fg-muted)); /* help this */
232
+ background-color: var(--button-default-bgColor-rest,var(--color-btn-bg));
233
+ border-color: var(--button-default-borderColor-rest,var(--color-btn-border));
234
+ box-shadow: var(--button-default-shadow-resting,var(--color-btn-shadow)), var(--button-default-shadow-inset,var(--color-btn-inset-shadow));
235
+ }
236
+
237
+ .Button--secondary:hover:not(:disabled) {
238
+ background-color: var(--button-default-bgColor-hover,var(--color-btn-hover-bg));
239
+ border-color: var(--button-default-borderColor-hover,var(--color-btn-hover-border));
240
+ }
241
+
242
+ .Button--secondary:active:not(:disabled) {
243
+ background-color: var(--button-default-bgColor-active,var(--color-btn-active-bg));
244
+ border-color: var(--button-default-borderColor-active,var(--color-btn-active-border));
245
+ }
246
+
247
+ .Button--secondary[aria-pressed='true'] {
248
+ background-color: var(--button-default-bgColor-selected,var(--color-btn-selected-bg));
249
+ box-shadow: var(--shadow-inset,var(--color-primer-shadow-inset));
250
+ }
251
+
252
+ .Button--secondary:disabled,
253
+ .Button--secondary[aria-disabled='true'] {
254
+ color: var(--fgColor-disabled,var(--color-primer-fg-disabled));
255
+ background-color: var(--button-default-bgColor-rest,var(--color-btn-bg));
256
+ border-color: var(--button-default-borderColor-rest,var(--color-btn-border));
257
+ fill: var(--fgColor-disabled,var(--color-primer-fg-disabled));
258
+ }
259
+
260
+ .Button--invisible {
261
+ color: var(--button-invisible-fgColor-rest,var(--color-btn-outline-text));
262
+ }
263
+
264
+ .Button--invisible:hover:not(:disabled) {
265
+ background-color: var(--button-invisible-bgColor-hover,var(--color-action-list-item-default-hover-bg));
266
+ }
267
+
268
+ .Button--invisible[aria-pressed='true'],
269
+ .Button--invisible:active:not(:disabled) {
270
+ background-color: var(--button-invisible-bgColor-active,var(--color-action-list-item-default-active-bg));
271
+ }
272
+
273
+ .Button--invisible:disabled,
274
+ .Button--invisible[aria-disabled='true'] {
275
+ color: var(--button-invisible-fgColor-disabled,var(--color-primer-fg-disabled));
276
+ background-color: var(--button-invisible-bgColor-disabled,var(--color-action-list-item-default-selected-bg));
277
+ border-color: transparent;
278
+ fill: var(--button-invisible-fgColor-disabled,var(--color-primer-fg-disabled));
279
+ }
280
+
281
+ /* if button has no visuals, use link blue for text */
282
+
283
+ .Button--invisible.Button--invisible-noVisuals .Button-label {
284
+ color: var(--fgColor-link-rest,var(--color-accent-fg));
285
+ }
286
+
287
+ .Button--invisible .Button-visual {
288
+ color: var(--fgColor-muted,var(--color-fg-muted));
289
+ }
290
+
291
+ .Button--invisible .Button-visual .Counter {
292
+ color: var(--fgColor-default,var(--color-fg-default));
293
+ }
294
+
295
+ .Button--link {
296
+ color: var(--fgColor-link-rest,var(--color-accent-fg));
297
+ fill: var(--fgColor-link-rest,var(--color-accent-fg));
298
+ display: inline-block;
299
+ font-size: inherit;
300
+ border: none;
301
+ height: unset;
302
+ padding: 0;
303
+ }
304
+
305
+ .Button--link:hover:not(:disabled) {
306
+ text-decoration: underline;
307
+ }
308
+
309
+ .Button--link:focus-visible,
310
+ .Button--link:focus {
311
+ outline-offset: 2px;
312
+ }
313
+
314
+ .Button--link:disabled,
315
+ .Button--link[aria-disabled='true'] {
316
+ color: var(--fgColor-disabled,var(--color-primer-fg-disabled));
317
+ background-color: transparent;
318
+ border-color: transparent;
319
+ fill: var(--fgColor-disabled,var(--color-primer-fg-disabled));
320
+ }
321
+
322
+ /* danger */
323
+
324
+ .Button--danger {
325
+ color: var(--button-danger-fgColor-rest,var(--color-btn-danger-text));
326
+ fill: var(--button-danger-iconColor-rest,var(--color-btn-danger-icon));
327
+ background-color: var(--button-danger-bgColor-rest,var(--color-btn-bg));
328
+ border-color: var(--button-danger-borderColor-rest,var(--color-btn-border));
329
+ box-shadow: var(--button-default-shadow-resting,var(--color-btn-shadow)), var(--button-default-shadow-inset,var(--color-btn-inset-shadow));
330
+ }
331
+
332
+ .Button--danger:hover:not(:disabled) {
333
+ color: var(--button-danger-fgColor-hover,var(--color-btn-danger-hover-text));
334
+ fill: var(--button-danger-fgColor-hover,var(--color-btn-danger-hover-text));
335
+ background-color: var(--button-danger-bgColor-hover,var(--color-btn-danger-hover-bg));
336
+ border-color: var(--button-danger-borderColor-hover,var(--color-btn-danger-hover-border));
337
+ box-shadow: var(--shadow-resting-small,var(--color-shadow-small)), var(--shadow-highlight,var(--color-primer-shadow-highlight));
338
+ }
339
+
340
+ .Button--danger:hover:not(:disabled) .Counter {
341
+ color: var(--buttonCounter-danger-fgColor-hover,var(--btn-danger-hoverCounterFg));
342
+ background-color: var(--buttonCounter-danger-bgColor-hover,var(--color-btn-danger-hover-counter-bg));
343
+ }
344
+
345
+ .Button--danger:active:not(:disabled),
346
+ .Button--danger[aria-pressed='true'] {
347
+ color: var(--button-danger-fgColor-active,var(--color-btn-danger-selected-text));
348
+ fill: var(--button-danger-fgColor-active,var(--color-btn-danger-selected-text));
349
+ background-color: var(--button-danger-bgColor-active,var(--color-btn-danger-selected-bg));
350
+ border-color: var(--button-danger-borderColor-active,var(--color-btn-danger-selected-border));
351
+ box-shadow: var(--button-danger-shadow-selected,var(--color-btn-danger-selected-shadow));
352
+ }
353
+
354
+ .Button--danger:disabled,
355
+ .Button--danger[aria-disabled='true'] {
356
+ color: var(--button-danger-fgColor-disabled,var(--color-btn-danger-disabled-text));
357
+ fill: var(--button-danger-fgColor-disabled,var(--color-btn-danger-disabled-text));
358
+ background-color: var(--button-danger-bgColor-disabled,var(--color-btn-danger-disabled-bg));
359
+ border-color: var(--button-default-borderColor-rest,var(--color-btn-border));
360
+ }
361
+
362
+ .Button--danger:disabled .Counter, .Button--danger[aria-disabled='true'] .Counter {
363
+ color: var(--buttonCounter-danger-fgColor-disabled,var(--btn-danger-disabledCounterFg));
364
+ background-color: var(--buttonCounter-danger-bgColor-disabled,var(--color-btn-danger-disabled-counter-bg));
365
+ }
366
+
367
+ .Button--danger .Counter {
368
+ color: var(--buttonCounter-danger-fgColor-rest,var(--btn-danger-counterFg));
369
+ background-color: var(--buttonCounter-danger-bgColor-rest,var(--color-btn-danger-counter-bg));
370
+ }
371
+
372
+ .Button--iconOnly {
373
+ display: inline-grid;
374
+ place-content: center;
375
+ padding: unset;
376
+ width: var(--control-medium-size,2rem);
377
+ }
378
+
379
+ .Button--iconOnly.Button--small {
380
+ width: var(--control-small-size,1.75rem);
381
+ }
382
+
383
+ .Button--iconOnly.Button--large {
384
+ width: var(--control-large-size,2.5rem);
385
+ }
@@ -3,16 +3,16 @@
3
3
  "selectors": [
4
4
  ":root",
5
5
  ".Button",
6
- ".Button:before",
6
+ ".Button::before",
7
7
  ".Button:hover",
8
8
  ".Button:active",
9
9
  ".Button:disabled",
10
- ".Button[aria-disabled=true]",
10
+ ".Button[aria-disabled='true']",
11
11
  ".Button-withTooltip",
12
12
  "a.Button:hover",
13
13
  "summary.Button:hover",
14
14
  ".Button-content",
15
- ".Button-content>:not(:last-child)",
15
+ ".Button-content > :not(:last-child)",
16
16
  ".Button-content--alignStart",
17
17
  ".Button-visual",
18
18
  ".Button-visual .Counter",
@@ -22,10 +22,10 @@
22
22
  ".Button-trailingAction",
23
23
  ".Button--small",
24
24
  ".Button--small .Button-label",
25
- ".Button--small .Button-content>:not(:last-child)",
25
+ ".Button--small .Button-content > :not(:last-child)",
26
26
  ".Button--large",
27
27
  ".Button--large .Button-label",
28
- ".Button--large .Button-content>:not(:last-child)",
28
+ ".Button--large .Button-content > :not(:last-child)",
29
29
  ".Button--fullWidth",
30
30
  ".Button--primary",
31
31
  ".Button--primary:hover:not(:disabled)",
@@ -33,40 +33,40 @@
33
33
  ".Button--primary:focus:not(:focus-visible)",
34
34
  ".Button--primary:focus-visible",
35
35
  ".Button--primary:active:not(:disabled)",
36
- ".Button--primary[aria-pressed=true]",
36
+ ".Button--primary[aria-pressed='true']",
37
37
  ".Button--primary:disabled",
38
- ".Button--primary[aria-disabled=true]",
38
+ ".Button--primary[aria-disabled='true']",
39
39
  ".Button--primary .Counter",
40
40
  ".Button--secondary",
41
41
  ".Button--secondary:hover:not(:disabled)",
42
42
  ".Button--secondary:active:not(:disabled)",
43
- ".Button--secondary[aria-pressed=true]",
43
+ ".Button--secondary[aria-pressed='true']",
44
44
  ".Button--secondary:disabled",
45
- ".Button--secondary[aria-disabled=true]",
45
+ ".Button--secondary[aria-disabled='true']",
46
46
  ".Button--invisible",
47
47
  ".Button--invisible:hover:not(:disabled)",
48
+ ".Button--invisible[aria-pressed='true']",
48
49
  ".Button--invisible:active:not(:disabled)",
49
- ".Button--invisible[aria-pressed=true]",
50
50
  ".Button--invisible:disabled",
51
- ".Button--invisible[aria-disabled=true]",
51
+ ".Button--invisible[aria-disabled='true']",
52
52
  ".Button--invisible.Button--invisible-noVisuals .Button-label",
53
53
  ".Button--invisible .Button-visual",
54
54
  ".Button--invisible .Button-visual .Counter",
55
55
  ".Button--link",
56
56
  ".Button--link:hover:not(:disabled)",
57
- ".Button--link:focus",
58
57
  ".Button--link:focus-visible",
58
+ ".Button--link:focus",
59
59
  ".Button--link:disabled",
60
- ".Button--link[aria-disabled=true]",
60
+ ".Button--link[aria-disabled='true']",
61
61
  ".Button--danger",
62
62
  ".Button--danger:hover:not(:disabled)",
63
63
  ".Button--danger:hover:not(:disabled) .Counter",
64
64
  ".Button--danger:active:not(:disabled)",
65
- ".Button--danger[aria-pressed=true]",
65
+ ".Button--danger[aria-pressed='true']",
66
66
  ".Button--danger:disabled",
67
- ".Button--danger[aria-disabled=true]",
67
+ ".Button--danger[aria-disabled='true']",
68
68
  ".Button--danger:disabled .Counter",
69
- ".Button--danger[aria-disabled=true] .Counter",
69
+ ".Button--danger[aria-disabled='true'] .Counter",
70
70
  ".Button--danger .Counter",
71
71
  ".Button--iconOnly",
72
72
  ".Button--iconOnly.Button--small",
@@ -1 +1,23 @@
1
- .ButtonGroup{display:inline-flex}.ButtonGroup .Button{border-radius:0;margin-inline-end:-1px;position:relative}.ButtonGroup .Button:active,.ButtonGroup .Button:focus,.ButtonGroup .Button:hover{z-index:1}.ButtonGroup>.Button-withTooltip:first-child .Button,.ButtonGroup>:first-child{border-bottom-left-radius:var(--borderRadius-medium,6px);border-top-left-radius:var(--borderRadius-medium,6px)}.ButtonGroup>.Button-withTooltip:last-child .Button,.ButtonGroup>:last-child{border-bottom-right-radius:var(--borderRadius-medium,6px);border-top-right-radius:var(--borderRadius-medium,6px)}
1
+ .ButtonGroup {
2
+ display: inline-flex;
3
+ }
4
+ .ButtonGroup .Button {
5
+ margin-inline-end: -1px;
6
+ position: relative;
7
+ border-radius: 0;
8
+ }
9
+ .ButtonGroup .Button:focus,
10
+ .ButtonGroup .Button:active,
11
+ .ButtonGroup .Button:hover {
12
+ z-index: 1;
13
+ }
14
+ .ButtonGroup > :first-child,
15
+ .ButtonGroup > .Button-withTooltip:first-child .Button {
16
+ border-top-left-radius: var(--borderRadius-medium,6px);
17
+ border-bottom-left-radius: var(--borderRadius-medium,6px);
18
+ }
19
+ .ButtonGroup > :last-child,
20
+ .ButtonGroup > .Button-withTooltip:last-child .Button {
21
+ border-top-right-radius: var(--borderRadius-medium,6px);
22
+ border-bottom-right-radius: var(--borderRadius-medium,6px);
23
+ }
@@ -3,12 +3,12 @@
3
3
  "selectors": [
4
4
  ".ButtonGroup",
5
5
  ".ButtonGroup .Button",
6
- ".ButtonGroup .Button:active",
7
6
  ".ButtonGroup .Button:focus",
7
+ ".ButtonGroup .Button:active",
8
8
  ".ButtonGroup .Button:hover",
9
- ".ButtonGroup>.Button-withTooltip:first-child .Button",
10
- ".ButtonGroup>:first-child",
11
- ".ButtonGroup>.Button-withTooltip:last-child .Button",
12
- ".ButtonGroup>:last-child"
9
+ ".ButtonGroup > :first-child",
10
+ ".ButtonGroup > .Button-withTooltip:first-child .Button",
11
+ ".ButtonGroup > :last-child",
12
+ ".ButtonGroup > .Button-withTooltip:last-child .Button"
13
13
  ]
14
14
  }
@@ -1 +1,36 @@
1
- .Counter{background-color:var(--bgColor-neutral-muted,var(--color-neutral-muted));border:var(--borderWidth-thin,max(1px,.0625rem)) solid var(--counter-borderColor,var(--color-counter-border));border-radius:2em;color:var(--fgColor-default,var(--color-fg-default));display:inline-block;font-size:var(--text-body-size-small,.75rem);font-weight:var(--base-text-weight-medium,500);line-height:calc(var(--base-size-20,1.25rem) - var(--borderWidth-thin,max(1px, .0625rem))*2);min-width:var(--base-size-20,1.25rem);padding:0 6px;text-align:center}.Counter:empty{display:none}.Counter .octicon{opacity:.8;vertical-align:text-top}.Counter--primary{background-color:var(--bgColor-neutral-emphasis,var(--color-fg-subtle));color:var(--fgColor-onEmphasis,var(--color-fg-on-emphasis))}.Counter--secondary{background-color:var(--bgColor-neutral-muted,var(--color-neutral-muted));color:var(--fgColor-muted,var(--color-fg-muted))}
1
+ /* Counter */
2
+
3
+ .Counter {
4
+ display: inline-block;
5
+ min-width: var(--base-size-20,1.25rem); /* makes sure it's a circle with just one digit */
6
+ padding: 0 6px;
7
+ font-size: var(--text-body-size-small,0.75rem);
8
+ font-weight: var(--base-text-weight-medium,500);
9
+ line-height: calc(var(--base-size-20,1.25rem) - var(--borderWidth-thin,max(1px, 0.0625rem)) * 2); /* 20px - 2px for the borders */
10
+ color: var(--fgColor-default,var(--color-fg-default));
11
+ text-align: center;
12
+ background-color: var(--bgColor-neutral-muted,var(--color-neutral-muted));
13
+ border: var(--borderWidth-thin,max(1px, 0.0625rem)) solid var(--counter-borderColor,var(--color-counter-border));
14
+ border-radius: 2em;
15
+ }
16
+
17
+ .Counter:empty {
18
+ display: none;
19
+ }
20
+
21
+ /* Is this selector used? could not find any use of it */
22
+
23
+ .Counter .octicon {
24
+ vertical-align: text-top;
25
+ opacity: 0.8;
26
+ }
27
+
28
+ .Counter--primary {
29
+ color: var(--fgColor-onEmphasis,var(--color-fg-on-emphasis));
30
+ background-color: var(--bgColor-neutral-emphasis,var(--color-fg-subtle));
31
+ }
32
+
33
+ .Counter--secondary {
34
+ color: var(--fgColor-muted,var(--color-fg-muted));
35
+ background-color: var(--bgColor-neutral-muted,var(--color-neutral-muted));
36
+ }