@mixtint/primer-view-components 0.89.2 → 0.90.1
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.
- package/app/assets/javascripts/primer_view_components.js +1 -1
- package/app/assets/javascripts/primer_view_components.js.map +1 -1
- package/app/assets/styles/primer_view_components.css +206 -646
- package/app/assets/styles/primer_view_components.css.map +1 -1
- package/app/components/primer/alpha/action_bar.css +9 -3
- package/app/components/primer/alpha/action_list.css +92 -2
- package/app/components/primer/alpha/auto_complete.css +4 -22
- package/app/components/primer/alpha/auto_complete.css.json +1 -3
- package/app/components/primer/alpha/banner.css +0 -1
- package/app/components/primer/alpha/button_marketing.css +4 -4
- package/app/components/primer/alpha/dialog.css +63 -0
- package/app/components/primer/alpha/dropdown.css +0 -6
- package/app/components/primer/alpha/layout.css +3 -1
- package/app/components/primer/alpha/menu.css +0 -6
- package/app/components/primer/alpha/overlay.css +5 -0
- package/app/components/primer/alpha/segmented_control.css +0 -4
- package/app/components/primer/alpha/tab_nav.css +0 -8
- package/app/components/primer/alpha/text_field.css +97 -5
- package/app/components/primer/alpha/text_field.css.json +2 -2
- package/app/components/primer/alpha/toggle_switch.css +8 -7
- package/app/components/primer/alpha/tree_view.css +1 -0
- package/app/components/primer/alpha/underline_nav.css +0 -3
- package/app/components/primer/beta/avatar.css +0 -1
- package/app/components/primer/beta/avatar_stack.css +33 -0
- package/app/components/primer/beta/blankslate.css +2 -61
- package/app/components/primer/beta/border_box.css +35 -0
- package/app/components/primer/beta/breadcrumbs.css +7 -4
- package/app/components/primer/beta/breadcrumbs.css.json +2 -1
- package/app/components/primer/beta/button.css +51 -1
- package/app/components/primer/beta/flash.css +0 -16
- package/app/components/primer/beta/label.css +0 -2
- package/app/components/primer/beta/link.css +0 -2
- package/app/components/primer/beta/popover.css +138 -85
- package/app/components/primer/beta/popover.css.json +22 -16
- package/app/components/primer/beta/state.css +0 -1
- package/app/components/primer/beta/subhead.css +0 -8
- package/app/components/primer/beta/timeline_item.css +0 -5
- package/app/components/primer/beta/truncate.css +0 -1
- package/app/components/primer/open_project/avatar_stack.css +10 -0
- package/app/components/primer/open_project/border_box/collapsible_header.css +3 -1
- package/app/components/primer/open_project/border_grid.css +11 -9
- package/app/components/primer/open_project/collapsible.d.ts +1 -1
- package/app/components/primer/open_project/collapsible.js +8 -4
- package/app/components/primer/open_project/filterable_tree_view.css +2 -7
- package/app/components/primer/open_project/page_header.css +2 -5
- package/app/components/primer/open_project/pagination.css +4 -1
- package/app/components/primer/open_project/side_panel/section.css +3 -3
- package/package.json +31 -11
- package/static/classes.json +21 -0
- package/static/classnames.cjs +516 -0
- package/static/classnames.d.ts +2 -0
- package/static/classnames.js +518 -0
- package/static/info_arch.json +26 -0
- package/static/previews.json +2404 -2378
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
border-radius: var(--borderRadius-medium);
|
|
18
18
|
|
|
19
19
|
/* adding !important to override utility classes used in dotcom */
|
|
20
|
+
/* stylelint-disable-next-line primer/box-shadow -- intentional legacy shadow var with fallback, kept for dotcom compatibility */
|
|
20
21
|
box-shadow: var(--shadow-floating-legacy, var(--color-shadow-large)) !important;
|
|
21
22
|
|
|
22
23
|
/* Carets */
|
|
@@ -47,133 +48,185 @@
|
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
/* No caret */
|
|
50
|
-
|
|
51
51
|
.Popover-message--no-caret::before,.Popover-message--no-caret::after {
|
|
52
52
|
display: none;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
/*
|
|
55
|
+
/* The caret variants below are authored as expanded per-class selectors
|
|
56
|
+
** (rather than nesting `&::before`/`&::after` under a selector list) so each
|
|
57
|
+
** rule's subject buckets by its own class during style recalc. The merged
|
|
58
|
+
** `:is(.Popover-message--…, …)::before` form cannot be fast-rejected by Blink
|
|
59
|
+
** and shows up as pure slow-path selector matching. */
|
|
56
60
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
/* Bottom-oriented carets */
|
|
62
|
+
.Popover-message--bottom::before,
|
|
63
|
+
.Popover-message--bottom::after,
|
|
64
|
+
.Popover-message--bottom-right::before,
|
|
65
|
+
.Popover-message--bottom-right::after,
|
|
66
|
+
.Popover-message--bottom-left::before,
|
|
67
|
+
.Popover-message--bottom-left::after {
|
|
68
|
+
top: auto;
|
|
69
|
+
border-bottom-color: transparent;
|
|
70
|
+
}
|
|
61
71
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
72
|
+
.Popover-message--bottom::before,
|
|
73
|
+
.Popover-message--bottom-right::before,
|
|
74
|
+
.Popover-message--bottom-left::before {
|
|
75
|
+
bottom: -16px;
|
|
76
|
+
border-top-color: var(--borderColor-default);
|
|
77
|
+
}
|
|
66
78
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
79
|
+
.Popover-message--bottom::after,
|
|
80
|
+
.Popover-message--bottom-right::after,
|
|
81
|
+
.Popover-message--bottom-left::after {
|
|
82
|
+
bottom: -14px;
|
|
83
|
+
/* stylelint-disable-next-line primer/colors */
|
|
84
|
+
border-top-color: var(--overlay-bgColor);
|
|
85
|
+
}
|
|
72
86
|
|
|
73
87
|
/* Top and Bottom: Right-oriented carets */
|
|
74
|
-
|
|
75
88
|
.Popover-message--top-right,
|
|
76
89
|
.Popover-message--bottom-right {
|
|
77
90
|
right: -9px;
|
|
78
91
|
margin-right: 0;
|
|
79
92
|
}
|
|
80
93
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
94
|
+
.Popover-message--top-right::before,
|
|
95
|
+
.Popover-message--top-right::after,
|
|
96
|
+
.Popover-message--bottom-right::before,
|
|
97
|
+
.Popover-message--bottom-right::after {
|
|
98
|
+
left: auto;
|
|
99
|
+
margin-left: 0;
|
|
100
|
+
}
|
|
85
101
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
102
|
+
.Popover-message--top-right::before,
|
|
103
|
+
.Popover-message--bottom-right::before {
|
|
104
|
+
right: var(--base-size-20);
|
|
105
|
+
}
|
|
89
106
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
107
|
+
.Popover-message--top-right::after,
|
|
108
|
+
.Popover-message--bottom-right::after {
|
|
109
|
+
right: var(--base-size-20);
|
|
110
|
+
margin-right: 1px;
|
|
111
|
+
}
|
|
94
112
|
|
|
95
113
|
/* Top and Bottom: Left-oriented carets */
|
|
96
|
-
|
|
97
114
|
.Popover-message--top-left,
|
|
98
115
|
.Popover-message--bottom-left {
|
|
99
116
|
left: -9px;
|
|
100
117
|
margin-left: 0;
|
|
101
118
|
}
|
|
102
119
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
120
|
+
.Popover-message--top-left::before,
|
|
121
|
+
.Popover-message--top-left::after,
|
|
122
|
+
.Popover-message--bottom-left::before,
|
|
123
|
+
.Popover-message--bottom-left::after {
|
|
124
|
+
left: var(--base-size-24);
|
|
125
|
+
margin-left: 0;
|
|
126
|
+
}
|
|
107
127
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
128
|
+
.Popover-message--top-left::after,
|
|
129
|
+
.Popover-message--bottom-left::after {
|
|
130
|
+
left: var(--base-size-24);
|
|
131
|
+
margin-left: 1px;
|
|
132
|
+
}
|
|
112
133
|
|
|
113
134
|
/* Right- and Left-oriented carets */
|
|
135
|
+
.Popover-message--right::before,
|
|
136
|
+
.Popover-message--right::after,
|
|
137
|
+
.Popover-message--right-top::before,
|
|
138
|
+
.Popover-message--right-top::after,
|
|
139
|
+
.Popover-message--right-bottom::before,
|
|
140
|
+
.Popover-message--right-bottom::after,
|
|
141
|
+
.Popover-message--left::before,
|
|
142
|
+
.Popover-message--left::after,
|
|
143
|
+
.Popover-message--left-top::before,
|
|
144
|
+
.Popover-message--left-top::after,
|
|
145
|
+
.Popover-message--left-bottom::before,
|
|
146
|
+
.Popover-message--left-bottom::after {
|
|
147
|
+
top: 50%;
|
|
148
|
+
left: auto;
|
|
149
|
+
margin-left: 0;
|
|
150
|
+
border-bottom-color: transparent;
|
|
151
|
+
}
|
|
114
152
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
margin-top: -9px;
|
|
124
|
-
}
|
|
153
|
+
.Popover-message--right::before,
|
|
154
|
+
.Popover-message--right-top::before,
|
|
155
|
+
.Popover-message--right-bottom::before,
|
|
156
|
+
.Popover-message--left::before,
|
|
157
|
+
.Popover-message--left-top::before,
|
|
158
|
+
.Popover-message--left-bottom::before {
|
|
159
|
+
margin-top: -9px;
|
|
160
|
+
}
|
|
125
161
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
162
|
+
.Popover-message--right::after,
|
|
163
|
+
.Popover-message--right-top::after,
|
|
164
|
+
.Popover-message--right-bottom::after,
|
|
165
|
+
.Popover-message--left::after,
|
|
166
|
+
.Popover-message--left-top::after,
|
|
167
|
+
.Popover-message--left-bottom::after {
|
|
168
|
+
margin-top: -8px;
|
|
169
|
+
}
|
|
129
170
|
|
|
130
171
|
/* Right-oriented carets */
|
|
172
|
+
.Popover-message--right::before,
|
|
173
|
+
.Popover-message--right-top::before,
|
|
174
|
+
.Popover-message--right-bottom::before {
|
|
175
|
+
right: -16px;
|
|
176
|
+
border-left-color: var(--borderColor-default);
|
|
177
|
+
}
|
|
131
178
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
:
|
|
138
|
-
|
|
139
|
-
/* stylelint-disable-next-line primer/colors */
|
|
140
|
-
border-left-color: var(--overlay-bgColor);
|
|
141
|
-
}
|
|
179
|
+
.Popover-message--right::after,
|
|
180
|
+
.Popover-message--right-top::after,
|
|
181
|
+
.Popover-message--right-bottom::after {
|
|
182
|
+
right: -14px;
|
|
183
|
+
/* stylelint-disable-next-line primer/colors */
|
|
184
|
+
border-left-color: var(--overlay-bgColor);
|
|
185
|
+
}
|
|
142
186
|
|
|
143
187
|
/* Left-oriented carets */
|
|
188
|
+
.Popover-message--left::before,
|
|
189
|
+
.Popover-message--left-top::before,
|
|
190
|
+
.Popover-message--left-bottom::before {
|
|
191
|
+
left: -16px;
|
|
192
|
+
border-right-color: var(--borderColor-default);
|
|
193
|
+
}
|
|
144
194
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
/* stylelint-disable-next-line primer/colors */
|
|
154
|
-
border-right-color: var(--overlay-bgColor);
|
|
155
|
-
}
|
|
195
|
+
.Popover-message--left::after,
|
|
196
|
+
.Popover-message--left-top::after,
|
|
197
|
+
.Popover-message--left-bottom::after {
|
|
198
|
+
left: -14px;
|
|
199
|
+
margin-bottom: 1px;
|
|
200
|
+
/* stylelint-disable-next-line primer/colors */
|
|
201
|
+
border-right-color: var(--overlay-bgColor);
|
|
202
|
+
}
|
|
156
203
|
|
|
157
204
|
/* Right and Left: Top-oriented carets */
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
205
|
+
.Popover-message--right-top::before,
|
|
206
|
+
.Popover-message--right-top::after,
|
|
207
|
+
.Popover-message--left-top::before,
|
|
208
|
+
.Popover-message--left-top::after {
|
|
209
|
+
top: var(--base-size-24);
|
|
210
|
+
}
|
|
162
211
|
|
|
163
212
|
/* Right and Left: Bottom-oriented carets */
|
|
213
|
+
.Popover-message--right-bottom::before,
|
|
214
|
+
.Popover-message--right-bottom::after,
|
|
215
|
+
.Popover-message--left-bottom::before,
|
|
216
|
+
.Popover-message--left-bottom::after {
|
|
217
|
+
top: auto;
|
|
218
|
+
}
|
|
164
219
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
:is(.Popover-message--right-bottom,.Popover-message--left-bottom)::before {
|
|
170
|
-
bottom: var(--base-size-16);
|
|
171
|
-
}
|
|
220
|
+
.Popover-message--right-bottom::before,
|
|
221
|
+
.Popover-message--left-bottom::before {
|
|
222
|
+
bottom: var(--base-size-16);
|
|
223
|
+
}
|
|
172
224
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
225
|
+
.Popover-message--right-bottom::after,
|
|
226
|
+
.Popover-message--left-bottom::after {
|
|
227
|
+
bottom: var(--base-size-16);
|
|
228
|
+
margin-bottom: 1px;
|
|
229
|
+
}
|
|
177
230
|
|
|
178
231
|
@media (min-width: 544px) {
|
|
179
232
|
.Popover-message--large {
|
|
@@ -7,26 +7,32 @@
|
|
|
7
7
|
".Popover-message::after",
|
|
8
8
|
".Popover-message--no-caret::before",
|
|
9
9
|
".Popover-message--no-caret::after",
|
|
10
|
-
"
|
|
11
|
-
"
|
|
10
|
+
".Popover-message--bottom::before",
|
|
11
|
+
".Popover-message--bottom::after",
|
|
12
|
+
".Popover-message--bottom-right::before",
|
|
13
|
+
".Popover-message--bottom-right::after",
|
|
14
|
+
".Popover-message--bottom-left::before",
|
|
15
|
+
".Popover-message--bottom-left::after",
|
|
12
16
|
".Popover-message--top-right",
|
|
13
17
|
".Popover-message--bottom-right",
|
|
14
|
-
"
|
|
15
|
-
"
|
|
18
|
+
".Popover-message--top-right::before",
|
|
19
|
+
".Popover-message--top-right::after",
|
|
16
20
|
".Popover-message--top-left",
|
|
17
21
|
".Popover-message--bottom-left",
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
22
|
+
".Popover-message--top-left::before",
|
|
23
|
+
".Popover-message--top-left::after",
|
|
24
|
+
".Popover-message--right::before",
|
|
25
|
+
".Popover-message--right::after",
|
|
26
|
+
".Popover-message--right-top::before",
|
|
27
|
+
".Popover-message--right-top::after",
|
|
28
|
+
".Popover-message--right-bottom::before",
|
|
29
|
+
".Popover-message--right-bottom::after",
|
|
30
|
+
".Popover-message--left::before",
|
|
31
|
+
".Popover-message--left::after",
|
|
32
|
+
".Popover-message--left-top::before",
|
|
33
|
+
".Popover-message--left-top::after",
|
|
34
|
+
".Popover-message--left-bottom::before",
|
|
35
|
+
".Popover-message--left-bottom::after",
|
|
30
36
|
".Popover-message--large",
|
|
31
37
|
".Popover-message > .btn-octicon"
|
|
32
38
|
]
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
.state, /* TODO: Deprecate */
|
|
6
6
|
.State {
|
|
7
7
|
display: inline-block;
|
|
8
|
-
/* stylelint-disable-next-line primer/spacing */
|
|
9
8
|
padding: var(--base-size-4) var(--control-medium-paddingInline-normal);
|
|
10
9
|
font-size: var(--text-body-size-medium);
|
|
11
10
|
font-weight: var(--base-text-weight-medium);
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
.Subhead {
|
|
4
4
|
display: flex;
|
|
5
|
-
/* stylelint-disable-next-line primer/spacing */
|
|
6
5
|
padding-bottom: var(--stack-padding-condensed);
|
|
7
|
-
/* stylelint-disable-next-line primer/spacing */
|
|
8
6
|
margin-bottom: var(--stack-gap-normal);
|
|
9
7
|
border-bottom: var(--borderWidth-thin) solid var(--borderColor-muted);
|
|
10
8
|
flex-flow: row wrap;
|
|
@@ -12,13 +10,11 @@
|
|
|
12
10
|
}
|
|
13
11
|
|
|
14
12
|
/* Modifier class to give a lot of breathing room between sections of content. */
|
|
15
|
-
|
|
16
13
|
.Subhead--spacious {
|
|
17
14
|
margin-top: var(--base-size-40);
|
|
18
15
|
}
|
|
19
16
|
|
|
20
17
|
/* <h2> sized heading with normal font weight */
|
|
21
|
-
|
|
22
18
|
.Subhead-heading {
|
|
23
19
|
font-weight: var(--base-text-weight-normal);
|
|
24
20
|
flex: 1 1 auto;
|
|
@@ -35,14 +31,12 @@
|
|
|
35
31
|
}
|
|
36
32
|
|
|
37
33
|
/* Make the text bold and red for dangerous content */
|
|
38
|
-
|
|
39
34
|
.Subhead-heading--danger {
|
|
40
35
|
font-weight: var(--base-text-weight-semibold);
|
|
41
36
|
color: var(--fgColor-danger);
|
|
42
37
|
}
|
|
43
38
|
|
|
44
39
|
/* One-liner of supporting text */
|
|
45
|
-
|
|
46
40
|
.Subhead-description {
|
|
47
41
|
font-size: var(--text-body-size-medium);
|
|
48
42
|
color: var(--fgColor-muted);
|
|
@@ -51,14 +45,12 @@
|
|
|
51
45
|
}
|
|
52
46
|
|
|
53
47
|
/* Add 1 or 2 buttons to the right of the heading */
|
|
54
|
-
|
|
55
48
|
.Subhead-actions {
|
|
56
49
|
margin: var(--base-size-4) 0 var(--base-size-4) var(--base-size-4);
|
|
57
50
|
align-self: center;
|
|
58
51
|
justify-content: flex-end;
|
|
59
52
|
order: 1;
|
|
60
53
|
}
|
|
61
|
-
|
|
62
54
|
.Subhead-actions + .Subhead-description {
|
|
63
55
|
margin-top: var(--base-size-4);
|
|
64
56
|
}
|
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
.TimelineItem {
|
|
4
4
|
position: relative;
|
|
5
5
|
display: flex;
|
|
6
|
-
/* stylelint-disable-next-line primer/spacing */
|
|
7
6
|
padding: var(--stack-padding-normal) 0;
|
|
8
|
-
/* stylelint-disable-next-line primer/spacing */
|
|
9
7
|
margin-left: var(--stack-gap-normal);
|
|
10
8
|
|
|
11
9
|
/* The Timeline */
|
|
@@ -35,7 +33,6 @@
|
|
|
35
33
|
display: flex;
|
|
36
34
|
width: var(--control-medium-size);
|
|
37
35
|
height: var(--control-medium-size);
|
|
38
|
-
/* stylelint-disable-next-line primer/spacing */
|
|
39
36
|
margin-right: var(--controlStack-medium-gap-condensed);
|
|
40
37
|
/* stylelint-disable-next-line primer/spacing */
|
|
41
38
|
margin-left: calc(var(--control-medium-size) / -2 + 1px);
|
|
@@ -76,7 +73,6 @@
|
|
|
76
73
|
z-index: 1;
|
|
77
74
|
height: var(--stack-gap-spacious);
|
|
78
75
|
margin: 0;
|
|
79
|
-
/* stylelint-disable-next-line primer/spacing */
|
|
80
76
|
margin-bottom: calc(var(--stack-gap-normal) * -1);
|
|
81
77
|
/* stylelint-disable-next-line primer/spacing */
|
|
82
78
|
margin-left: -56px;
|
|
@@ -93,7 +89,6 @@
|
|
|
93
89
|
}
|
|
94
90
|
|
|
95
91
|
.TimelineItem--condensed:last-child {
|
|
96
|
-
/* stylelint-disable-next-line primer/spacing */
|
|
97
92
|
padding-bottom: var(--stack-gap-normal);
|
|
98
93
|
}
|
|
99
94
|
|
|
@@ -1,28 +1,38 @@
|
|
|
1
1
|
/* stylelint-disable selector-max-type, selector-max-specificity */
|
|
2
2
|
/* Type selectors are required for the avatar-fallback custom element wrapper.
|
|
3
3
|
Specificity overrides are needed to properly style nested avatar stacking. */
|
|
4
|
+
|
|
4
5
|
/* OpenProject AvatarStack - styles for avatar-fallback wrapper elements */
|
|
6
|
+
|
|
5
7
|
/* Make avatar-fallback invisible to layout - inner img acts as direct child */
|
|
8
|
+
|
|
6
9
|
.AvatarStack-body avatar-fallback {
|
|
7
10
|
display: contents;
|
|
8
11
|
}
|
|
12
|
+
|
|
9
13
|
/*
|
|
10
14
|
* Z-index stacking for avatars inside avatar-fallback wrappers.
|
|
11
15
|
* The base CSS uses .avatar:first-child/:last-child but those selectors
|
|
12
16
|
* don't match when .avatar is inside avatar-fallback (not a direct child).
|
|
13
17
|
*/
|
|
18
|
+
|
|
14
19
|
.AvatarStack-body avatar-fallback:first-child .avatar {
|
|
15
20
|
z-index: 3;
|
|
16
21
|
}
|
|
22
|
+
|
|
17
23
|
.AvatarStack-body avatar-fallback:nth-child(2) .avatar {
|
|
18
24
|
z-index: 2;
|
|
19
25
|
}
|
|
26
|
+
|
|
20
27
|
/* Hide 4th+ wrapped avatars */
|
|
28
|
+
|
|
21
29
|
.AvatarStack-body avatar-fallback:nth-child(n + 4) {
|
|
22
30
|
display: none;
|
|
23
31
|
opacity: 0;
|
|
24
32
|
}
|
|
33
|
+
|
|
25
34
|
/* Show all on hover/focus */
|
|
35
|
+
|
|
26
36
|
:is(.AvatarStack-body:hover:not([data-disable-expand]),.AvatarStack-body:focus-within:not([data-disable-expand])) avatar-fallback:nth-child(n + 4) {
|
|
27
37
|
display: contents;
|
|
28
38
|
opacity: 1;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/* CSS for BorderBox::CollapsibleHeader */
|
|
2
2
|
|
|
3
|
+
/* stylelint-disable selector-nested-pattern -- component nests descendant class selectors (and `.X > &`) inside container queries, not &-prefixed selectors */
|
|
4
|
+
|
|
3
5
|
.CollapsibleHeader {
|
|
4
6
|
display: block;
|
|
5
7
|
container-name: collapsible-header-container;
|
|
@@ -58,7 +60,7 @@
|
|
|
58
60
|
|
|
59
61
|
.CollapsibleHeader--multi-line .CollapsibleHeader-description {
|
|
60
62
|
overflow: visible;
|
|
61
|
-
text-overflow:
|
|
63
|
+
text-overflow: clip;
|
|
62
64
|
white-space: normal;
|
|
63
65
|
width: 100%;
|
|
64
66
|
}
|
|
@@ -3,26 +3,28 @@
|
|
|
3
3
|
.BorderGrid {
|
|
4
4
|
display: table;
|
|
5
5
|
width: 100%;
|
|
6
|
-
margin-top: -
|
|
7
|
-
margin-bottom: -
|
|
6
|
+
margin-top: calc(-1 * var(--base-size-16));
|
|
7
|
+
margin-bottom: calc(-1 * var(--base-size-16));
|
|
8
8
|
table-layout: fixed;
|
|
9
|
+
/* stylelint-disable-next-line primer/borders -- table border-collapse keyword, not a border size */
|
|
9
10
|
border-collapse: collapse;
|
|
11
|
+
/* stylelint-disable-next-line primer/borders -- table border-style keyword, not a border size */
|
|
10
12
|
border-style: hidden
|
|
11
13
|
}
|
|
12
14
|
|
|
13
15
|
.BorderGrid .BorderGrid-cell {
|
|
14
|
-
padding-top:
|
|
15
|
-
padding-bottom:
|
|
16
|
+
padding-top: var(--base-size-16);
|
|
17
|
+
padding-bottom: var(--base-size-16)
|
|
16
18
|
}
|
|
17
19
|
|
|
18
20
|
.BorderGrid--spacious {
|
|
19
|
-
margin-top: -
|
|
20
|
-
margin-bottom: -
|
|
21
|
+
margin-top: calc(-1 * var(--base-size-24));
|
|
22
|
+
margin-bottom: calc(-1 * var(--base-size-24))
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
.BorderGrid--spacious .BorderGrid-cell {
|
|
24
|
-
padding-top:
|
|
25
|
-
padding-bottom:
|
|
26
|
+
padding-top: var(--base-size-24);
|
|
27
|
+
padding-bottom: var(--base-size-24)
|
|
26
28
|
}
|
|
27
29
|
|
|
28
30
|
.BorderGrid-row {
|
|
@@ -31,5 +33,5 @@
|
|
|
31
33
|
|
|
32
34
|
.BorderGrid-cell {
|
|
33
35
|
display: table-cell;
|
|
34
|
-
border:
|
|
36
|
+
border: var(--borderWidth-thin) solid var(--borderColor-muted)
|
|
35
37
|
}
|
|
@@ -5,7 +5,7 @@ export declare abstract class CollapsibleElement extends HTMLElement {
|
|
|
5
5
|
collapsibleElements: HTMLElement[];
|
|
6
6
|
collapsed: boolean;
|
|
7
7
|
toggleViaKeyboard(event: KeyboardEvent): void;
|
|
8
|
-
toggle(): void;
|
|
8
|
+
toggle(event?: Event): void;
|
|
9
9
|
attributeChangedCallback(name: string): void;
|
|
10
10
|
hideAll(): void;
|
|
11
11
|
expandAll(): void;
|
|
@@ -5,7 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { attr, target, targets } from '@github/catalyst';
|
|
8
|
-
// eslint-disable-next-line custom-elements/expose-class-on-global
|
|
9
8
|
export class CollapsibleElement extends HTMLElement {
|
|
10
9
|
constructor() {
|
|
11
10
|
super(...arguments);
|
|
@@ -13,11 +12,16 @@ export class CollapsibleElement extends HTMLElement {
|
|
|
13
12
|
}
|
|
14
13
|
toggleViaKeyboard(event) {
|
|
15
14
|
if (event.code === 'Enter' || event.code === 'Space') {
|
|
16
|
-
|
|
17
|
-
this.toggle();
|
|
15
|
+
this.toggle(event);
|
|
18
16
|
}
|
|
19
17
|
}
|
|
20
|
-
toggle() {
|
|
18
|
+
toggle(event) {
|
|
19
|
+
if (event &&
|
|
20
|
+
event.target instanceof Element &&
|
|
21
|
+
!event.target.closest('[data-collapsible-toggle]') &&
|
|
22
|
+
event.target.closest('a, button'))
|
|
23
|
+
return;
|
|
24
|
+
event?.preventDefault();
|
|
21
25
|
this.collapsed = !this.collapsed;
|
|
22
26
|
}
|
|
23
27
|
attributeChangedCallback(name) {
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
/* stylelint-disable-next-line selector-max-type */
|
|
13
|
-
|
|
14
13
|
filterable-tree-view {
|
|
15
14
|
display: flex;
|
|
16
15
|
flex-direction: column;
|
|
@@ -30,30 +29,26 @@ filterable-tree-view {
|
|
|
30
29
|
}
|
|
31
30
|
|
|
32
31
|
/* Highlight style for CSS Custom Highlight API */
|
|
33
|
-
|
|
34
32
|
::highlight(primer-filterable-tree-view-search-results) {
|
|
33
|
+
/* stylelint-disable-next-line primer/no-display-colors, primer/colors -- intentional yellow search-match highlight; no Primer semantic token exists for this */
|
|
35
34
|
background-color: var(--display-yellow-scale-2);
|
|
36
35
|
}
|
|
37
36
|
|
|
38
37
|
/* Fallback: <mark> elements used when CSS Custom Highlight API is unavailable */
|
|
39
|
-
|
|
40
38
|
/* stylelint-disable-next-line selector-max-type */
|
|
41
|
-
|
|
42
39
|
filterable-tree-view mark {
|
|
40
|
+
/* stylelint-disable-next-line primer/no-display-colors, primer/colors -- intentional yellow search-match highlight; no Primer semantic token exists for this */
|
|
43
41
|
background-color: var(--display-yellow-scale-2);
|
|
44
42
|
color: inherit;
|
|
45
43
|
}
|
|
46
44
|
|
|
47
45
|
/* Loading skeleton */
|
|
48
|
-
|
|
49
46
|
.FilterableTreeViewLoadingSkeleton {
|
|
50
47
|
display: none;
|
|
51
48
|
}
|
|
52
49
|
|
|
53
50
|
/* stylelint-disable selector-no-qualifying-type */
|
|
54
|
-
|
|
55
51
|
/* stylelint-disable selector-max-type */
|
|
56
|
-
|
|
57
52
|
filterable-tree-view[data-loading] .FilterableTreeViewLoadingSkeleton {
|
|
58
53
|
display: block;
|
|
59
54
|
}
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
/* One-liner of supporting text */
|
|
44
|
-
|
|
45
44
|
.PageHeader-description {
|
|
46
45
|
font-size: var(--text-body-size-medium);
|
|
47
46
|
color: var(--fgColor-muted);
|
|
48
47
|
flex: 1 auto;
|
|
49
48
|
}
|
|
50
49
|
|
|
50
|
+
/* stylelint-disable-next-line selector-max-type -- description holds rich text; links can only be targeted by the `a` type selector */
|
|
51
51
|
.PageHeader-description--underlined-links a {
|
|
52
52
|
/* Ensure the accessibility is met, given that the description is written in light grey */
|
|
53
53
|
-webkit-text-decoration: underline;
|
|
@@ -74,7 +74,6 @@
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
/* OpenProject legacy form markup inside header actions: match Primer / dark theme */
|
|
77
|
-
|
|
78
77
|
.PageHeader-actions .form--label {
|
|
79
78
|
color: var(--fgColor-muted);
|
|
80
79
|
min-width: 0;
|
|
@@ -120,7 +119,6 @@
|
|
|
120
119
|
}
|
|
121
120
|
|
|
122
121
|
/* Hide the context bar on desktop when no breadcrumb is visible */
|
|
123
|
-
|
|
124
122
|
@media screen and (min-width: 543.98px) {
|
|
125
123
|
.PageHeader--noBreadcrumb .PageHeader-contextBar {
|
|
126
124
|
display: none;
|
|
@@ -128,11 +126,10 @@
|
|
|
128
126
|
}
|
|
129
127
|
|
|
130
128
|
/* Match the title bar and actions height with the toggle menu button for proper vertical alignment */
|
|
131
|
-
|
|
132
129
|
.PageHeader--noBreadcrumb .PageHeader-titleBar {
|
|
130
|
+
/* stylelint-disable-next-line primer/typography -- control size var intentionally matches the toggle-menu button height for vertical alignment */
|
|
133
131
|
line-height: var(--control-small-size);
|
|
134
132
|
}
|
|
135
|
-
|
|
136
133
|
.PageHeader--noBreadcrumb .PageHeader-actions {
|
|
137
134
|
height: var(--control-small-size);
|
|
138
135
|
}
|