@primer/view-components 0.45.2 → 0.46.0-rc.4285adec

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 (73) hide show
  1. package/app/assets/styles/primer_view_components.css +1 -6963
  2. package/app/assets/styles/primer_view_components.css.map +1 -1
  3. package/app/components/primer/alpha/action_bar.css +1 -49
  4. package/app/components/primer/alpha/action_list.css +1 -525
  5. package/app/components/primer/alpha/action_list.css.json +64 -64
  6. package/app/components/primer/alpha/auto_complete.css +1 -131
  7. package/app/components/primer/alpha/auto_complete.css.json +3 -3
  8. package/app/components/primer/alpha/banner.css +1 -146
  9. package/app/components/primer/alpha/banner.css.json +2 -2
  10. package/app/components/primer/alpha/button_marketing.css +1 -183
  11. package/app/components/primer/alpha/button_marketing.css.json +6 -6
  12. package/app/components/primer/alpha/dialog.css +1 -377
  13. package/app/components/primer/alpha/dialog.css.json +2 -2
  14. package/app/components/primer/alpha/dropdown.css +1 -296
  15. package/app/components/primer/alpha/dropdown.css.json +19 -19
  16. package/app/components/primer/alpha/layout.css +1 -374
  17. package/app/components/primer/alpha/layout.css.json +10 -10
  18. package/app/components/primer/alpha/menu.css +1 -124
  19. package/app/components/primer/alpha/menu.css.json +5 -5
  20. package/app/components/primer/alpha/overlay.css +1 -25
  21. package/app/components/primer/alpha/segmented_control.css +1 -161
  22. package/app/components/primer/alpha/segmented_control.css.json +5 -5
  23. package/app/components/primer/alpha/select_panel.css +1 -10
  24. package/app/components/primer/alpha/skeleton_box.css +1 -36
  25. package/app/components/primer/alpha/stack.css +1 -255
  26. package/app/components/primer/alpha/stack.css.json +84 -84
  27. package/app/components/primer/alpha/stack_item.css +1 -27
  28. package/app/components/primer/alpha/stack_item.css.json +6 -6
  29. package/app/components/primer/alpha/tab_nav.css +1 -112
  30. package/app/components/primer/alpha/tab_nav.css.json +5 -5
  31. package/app/components/primer/alpha/text_field.css +1 -792
  32. package/app/components/primer/alpha/text_field.css.json +39 -39
  33. package/app/components/primer/alpha/toggle_switch.css +1 -230
  34. package/app/components/primer/alpha/toggle_switch.css.json +10 -10
  35. package/app/components/primer/alpha/tree_view.css +1 -396
  36. package/app/components/primer/alpha/tree_view.css.json +25 -25
  37. package/app/components/primer/alpha/underline_nav.css +1 -150
  38. package/app/components/primer/alpha/underline_nav.css.json +6 -6
  39. package/app/components/primer/beta/avatar.css +1 -77
  40. package/app/components/primer/beta/avatar_stack.css +1 -134
  41. package/app/components/primer/beta/avatar_stack.css.json +6 -6
  42. package/app/components/primer/beta/blankslate.css +1 -168
  43. package/app/components/primer/beta/border_box.css +1 -218
  44. package/app/components/primer/beta/border_box.css.json +3 -3
  45. package/app/components/primer/beta/breadcrumbs.css +1 -29
  46. package/app/components/primer/beta/breadcrumbs.css.json +2 -2
  47. package/app/components/primer/beta/button.css +1 -359
  48. package/app/components/primer/beta/button.css.json +17 -17
  49. package/app/components/primer/beta/button_group.css +1 -20
  50. package/app/components/primer/beta/button_group.css.json +3 -3
  51. package/app/components/primer/beta/counter.css +1 -38
  52. package/app/components/primer/beta/flash.css +1 -152
  53. package/app/components/primer/beta/label.css +1 -109
  54. package/app/components/primer/beta/label.css.json +3 -3
  55. package/app/components/primer/beta/link.css +1 -79
  56. package/app/components/primer/beta/link.css.json +1 -1
  57. package/app/components/primer/beta/popover.css +1 -215
  58. package/app/components/primer/beta/popover.css.json +23 -23
  59. package/app/components/primer/beta/progress_bar.css +1 -38
  60. package/app/components/primer/beta/progress_bar.css.json +1 -1
  61. package/app/components/primer/beta/state.css +1 -60
  62. package/app/components/primer/beta/state.css.json +1 -1
  63. package/app/components/primer/beta/subhead.css +1 -64
  64. package/app/components/primer/beta/subhead.css.json +1 -1
  65. package/app/components/primer/beta/timeline_item.css +1 -106
  66. package/app/components/primer/beta/timeline_item.css.json +1 -1
  67. package/app/components/primer/beta/truncate.css +1 -30
  68. package/app/components/primer/beta/truncate.css.json +6 -6
  69. package/app/components/primer/truncate.css +1 -23
  70. package/app/components/primer/truncate.css.json +4 -4
  71. package/package.json +1 -1
  72. package/static/arguments.json +1 -7
  73. package/static/info_arch.json +1 -7
@@ -1,396 +1 @@
1
- /* stylelint-disable selector-max-type -- Copied from primer/react */
2
-
3
- .TreeViewRootUlStyles {
4
- padding: 0;
5
- margin: 0;
6
- list-style: none;
7
-
8
- /*
9
- * WARNING: This is a performance optimization.
10
- *
11
- * We define styles for the tree items at the root level of the tree
12
- * to avoid recomputing the styles for each item when the tree updates.
13
- * We're sacrificing maintainability for performance because TreeView
14
- * needs to be performant enough to handle large trees (thousands of items).
15
- *
16
- * This is intended to be a temporary solution until we can improve the
17
- * performance of our styling patterns.
18
- *
19
- * Do NOT copy this pattern without understanding the tradeoffs.
20
- */
21
- }
22
-
23
- .TreeViewRootUlStyles .TreeViewItem {
24
- outline: none;
25
- }
26
-
27
- :is(.TreeViewRootUlStyles .TreeViewItem):focus-visible > div {
28
- box-shadow: var(--boxShadow-thick) var(--fgColor-accent);
29
- }
30
-
31
- @media (forced-colors: active) {
32
-
33
- :is(.TreeViewRootUlStyles .TreeViewItem):focus-visible > div {
34
- outline: 2px solid HighlightText;
35
- /* stylelint-disable-next-line declaration-property-value-no-unknown -- Copied from primer/react */
36
- outline-offset: -2;
37
- }
38
- }
39
-
40
- [data-has-leading-action]:is(.TreeViewRootUlStyles .TreeViewItem) {
41
- --has-leading-action: 1;
42
- }
43
-
44
- .TreeViewRootUlStyles .TreeViewItemContainer {
45
- --level: 1;
46
- --toggle-width: 1rem;
47
- --min-item-height: 2rem;
48
-
49
- position: relative;
50
- display: grid;
51
- width: 100%;
52
- font-size: var(--text-body-size-medium);
53
- color: var(--fgColor-default);
54
- border-radius: var(--borderRadius-medium);
55
- grid-template-columns: var(--spacer-width) var(--leading-action-width) var(--toggle-width) 1fr;
56
- grid-template-areas: 'spacer leadingAction toggle content';
57
-
58
- --leading-action-width: calc(var(--has-leading-action, 0) * 1.5rem);
59
- --spacer-width: calc(calc(var(--level) - 1) * (var(--toggle-width) / 2));
60
- }
61
-
62
- :is(.TreeViewRootUlStyles .TreeViewItemContainer):hover {
63
- background-color: var(--control-transparent-bgColor-hover);
64
- }
65
-
66
- @media (forced-colors: active) {
67
-
68
- :is(.TreeViewRootUlStyles .TreeViewItemContainer):hover {
69
- outline: 2px solid transparent;
70
- outline-offset: -2px;
71
- }
72
- }
73
-
74
- @media (pointer: coarse) {
75
-
76
- .TreeViewRootUlStyles .TreeViewItemContainer {
77
- --toggle-width: 1.5rem;
78
- --min-item-height: 2.75rem;
79
- }
80
- }
81
-
82
- :is(.TreeViewRootUlStyles .TreeViewItemContainer):has(.TreeViewFailureMessage):hover {
83
- cursor: default;
84
- background-color: transparent;
85
- }
86
-
87
- @media (forced-colors: active) {
88
-
89
- :is(.TreeViewRootUlStyles .TreeViewItemContainer):has(.TreeViewFailureMessage):hover {
90
- outline: none;
91
- }
92
- }
93
-
94
- :is(.TreeViewRootUlStyles .TreeViewItemContainer):has([role='treeitem']:focus-visible) {
95
- box-shadow: var(--boxShadow-thick) var(--fgColor-accent);
96
- }
97
-
98
- .TreeViewRootUlStyles:where([data-omit-spacer='true']) .TreeViewItemContainer {
99
- grid-template-columns: 0 0 0 1fr;
100
- }
101
-
102
- /* stylelint-disable-next-line selector-max-specificity */
103
-
104
- .TreeViewRootUlStyles .TreeViewItem > .TreeViewItemContainer:has(.TreeViewItemContent[aria-current='true']) {
105
- background-color: var(--control-transparent-bgColor-selected);
106
-
107
- /* Current item indicator */
108
- /* stylelint-disable-next-line selector-max-specificity -- Copied from primer/react */
109
- }
110
-
111
- :is(.TreeViewRootUlStyles .TreeViewItem > .TreeViewItemContainer:has(.TreeViewItemContent[aria-current='true']))::after {
112
- position: absolute;
113
- top: calc(50% - var(--base-size-12));
114
- left: calc(-1 * var(--base-size-8));
115
- width: 0.25rem;
116
- height: 1.5rem;
117
- content: '';
118
-
119
- /*
120
- * Use fgColor accent for consistency across all themes. Using the "correct" variable,
121
- * --bgColor-accent-emphasis, causes vrt failures for dark high contrast mode
122
- */
123
- /* stylelint-disable-next-line primer/colors */
124
- background-color: var(--fgColor-accent);
125
- border-radius: var(--borderRadius-medium);
126
- }
127
-
128
- @media (forced-colors: active) {
129
-
130
- :is(.TreeViewRootUlStyles .TreeViewItem > .TreeViewItemContainer:has(.TreeViewItemContent[aria-current='true']))::after {
131
- background-color: HighlightText;
132
- }
133
- }
134
-
135
- .TreeViewRootUlStyles .TreeViewItemToggle {
136
- display: flex;
137
- height: 100%;
138
-
139
- /* The toggle should appear vertically centered for single-line items, but remain at the top for items that wrap
140
- across more lines. */
141
- /* stylelint-disable-next-line primer/spacing */
142
- padding-top: calc(var(--min-item-height) / 2 - var(--base-size-12) / 2);
143
- color: var(--fgColor-muted);
144
- grid-area: toggle;
145
- justify-content: center;
146
- align-items: flex-start;
147
- cursor: pointer;
148
- }
149
-
150
- .TreeViewRootUlStyles .TreeViewItemToggleHover:hover {
151
- background-color: var(--control-transparent-bgColor-hover);
152
- }
153
-
154
- .TreeViewRootUlStyles .TreeViewItemToggleEnd {
155
- border-top-left-radius: var(--borderRadius-medium);
156
- border-bottom-left-radius: var(--borderRadius-medium);
157
- }
158
-
159
- /* stylelint-disable-next-line selector-no-qualifying-type */
160
-
161
- .TreeViewRootUlStyles a.TreeViewItemContent:hover,.TreeViewRootUlStyles button.TreeViewItemContent:hover {
162
- -webkit-text-decoration: underline;
163
- text-decoration: underline;
164
- text-decoration-color: var(--control-fgColor-rest);
165
- }
166
-
167
- .TreeViewRootUlStyles :has(.TreeViewItemContent[aria-disabled="true"]) {
168
- cursor: not-allowed;
169
- }
170
-
171
- .TreeViewRootUlStyles .TreeViewItemContent {
172
- display: flex;
173
- height: 100%;
174
- padding: 0 var(--base-size-8);
175
- outline: none;
176
- text-align: left;
177
- -webkit-user-select: none;
178
- user-select: none;
179
- background-color: transparent;
180
- border: none;
181
- touch-action: manipulation;
182
- -webkit-tap-highlight-color: transparent;
183
- cursor: pointer;
184
-
185
- /* The dynamic top and bottom padding to maintain the minimum item height for single line items */
186
- /* stylelint-disable-next-line primer/spacing */
187
- padding-top: calc((var(--min-item-height) - var(--custom-line-height, 1.3rem)) / 2);
188
- /* stylelint-disable-next-line primer/spacing */
189
- padding-bottom: calc((var(--min-item-height) - var(--custom-line-height, 1.3rem)) / 2);
190
- line-height: var(--custom-line-height, var(--text-body-lineHeight-medium, 1.4285));
191
- grid-area: content;
192
- gap: var(--stack-gap-condensed);
193
- }
194
-
195
- :is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemCheckbox {
196
- position: relative;
197
- color: var(--control-fgColor-rest);
198
- text-align: left;
199
- -webkit-user-select: none;
200
- user-select: none;
201
- background-color: transparent;
202
- border: none;
203
- border-radius: var(--borderRadius-medium);
204
- transition: background 33.333ms linear;
205
- touch-action: manipulation;
206
- -webkit-tap-highlight-color: transparent;
207
- }
208
-
209
- [aria-checked='true']:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox {
210
- background: var(--control-checked-bgColor-rest);
211
- border-color: var(--control-checked-borderColor-rest);
212
- transition: background-color, border-color 80ms cubic-bezier(0.32, 0, 0.67, 0) 0ms; /* unchecked -> checked */
213
-
214
- /* stylelint-disable-next-line max-nesting-depth, selector-max-specificity -- Copied from primer/react */
215
- }
216
-
217
- :is([aria-checked='true']:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox)::before {
218
- visibility: visible;
219
- transition: visibility 0s linear 0s;
220
- animation: checkmarkIn 80ms cubic-bezier(0.65, 0, 0.35, 1) forwards 80ms;
221
- }
222
-
223
- [aria-checked='mixed']:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox {
224
- background: var(--control-checked-bgColor-rest);
225
- border-color: var(--control-checked-borderColor-rest);
226
- transition: background-color, border-color 80ms cubic-bezier(0.32, 0, 0.67, 0) 0ms; /* unchecked -> checked */
227
-
228
- /* stylelint-disable-next-line max-nesting-depth, selector-max-specificity -- Copied from primer/react */
229
- }
230
-
231
- :is([aria-checked='mixed']:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox)::before {
232
- visibility: visible;
233
- mask-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMiIgdmlld0JveD0iMCAwIDEwIDIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAxQzAgMC40NDc3MTUgMC40NDc3MTUgMCAxIDBIOUM5LjU1MjI5IDAgMTAgMC40NDc3MTUgMTAgMUMxMCAxLjU1MjI4IDkuNTUyMjkgMiA5IDJIMUMwLjQ0NzcxNSAyIDAgMS41NTIyOCAwIDFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K');
234
- animation: checkmarkIn 80ms cubic-bezier(0.65, 0, 0.35, 1) forwards 80ms;
235
- clip-path: none;
236
- }
237
-
238
- [aria-disabled='true']:is(.TreeViewRootUlStyles .TreeViewItemContent) {
239
- pointer-events: none;
240
- }
241
-
242
- [aria-disabled='true']:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemContentText {
243
- color: var(--control-fgColor-disabled);
244
- }
245
-
246
- [aria-disabled='true']:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemVisual {
247
- fill: var(--control-fgColor-disabled);
248
-
249
- /* stylelint-disable-next-line max-nesting-depth, selector-max-compound-selectors, selector-max-specificity */
250
- }
251
-
252
- :is([aria-disabled='true']:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemVisual) svg {
253
- fill: var(--control-fgColor-disabled);
254
- }
255
-
256
- /* stylelint-disable-next-line max-nesting-depth */
257
-
258
- @media (hover: hover) {
259
- /* stylelint-disable-next-line max-nesting-depth, selector-max-specificity */
260
- :is([aria-disabled='true']:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox):hover {
261
- cursor: not-allowed;
262
- }
263
- }
264
-
265
- @media (hover: hover) {
266
- /* stylelint-disable-next-line max-nesting-depth */
267
- [aria-disabled='true']:is(.TreeViewRootUlStyles .TreeViewItemContent):hover {
268
- cursor: not-allowed;
269
- background-color: transparent;
270
- }
271
- }
272
-
273
- .TreeViewRootUlStyles .TreeViewItemContentText {
274
- color: var(--control-fgColor-rest);
275
- flex: 1 1 auto;
276
- width: 0;
277
- }
278
-
279
- .TreeViewRootUlStyles:where([data-truncate-text='true']) .TreeViewItemContentText {
280
- overflow: hidden;
281
- text-overflow: ellipsis;
282
- white-space: nowrap;
283
- }
284
-
285
- .TreeViewRootUlStyles:where([data-truncate-text='false']) .TreeViewItemContentText {
286
- /* stylelint-disable-next-line declaration-property-value-keyword-no-deprecated -- Copied from primer/react */
287
- word-break: break-word;
288
- }
289
-
290
- .TreeViewRootUlStyles .TreeViewItemVisual {
291
- display: flex;
292
-
293
- /* The visual icons should appear vertically centered for single-line items, but remain at the top for items that wrap
294
- across more lines. */
295
- height: var(--custom-line-height, 1.3rem);
296
- color: var(--fgColor-muted);
297
- align-items: center;
298
- }
299
-
300
- .TreeViewRootUlStyles .TreeViewItemLeadingAction {
301
- display: flex;
302
- color: var(--fgColor-muted);
303
- grid-area: leadingAction;
304
- }
305
-
306
- :is(.TreeViewRootUlStyles .TreeViewItemLeadingAction) > button {
307
- flex-shrink: 1;
308
- }
309
-
310
- .TreeViewRootUlStyles .TreeViewItemLevelLine {
311
- width: 100%;
312
- height: 100%;
313
-
314
- /*
315
- * On devices without hover, the nesting indicator lines
316
- * appear at all times.
317
- */
318
- border-color: var(--borderColor-muted);
319
- border-right: var(--borderWidth-thin) solid;
320
- }
321
-
322
- /*
323
- * On devices with :hover support, the nesting indicator lines
324
- * fade in when the user mouses over the entire component,
325
- * or when there's focus inside the component. This makes
326
- * sure the component remains simple when not in use.
327
- */
328
-
329
- @media (hover: hover) {
330
- .TreeViewRootUlStyles .TreeViewItemLevelLine {
331
- border-color: transparent;
332
- }
333
-
334
- .TreeViewRootUlStyles:hover .TreeViewItemLevelLine,.TreeViewRootUlStyles:focus-within .TreeViewItemLevelLine {
335
- border-color: var(--borderColor-muted);
336
- }
337
- }
338
-
339
- .TreeViewRootUlStyles .TreeViewVisuallyHidden {
340
- position: absolute;
341
- width: 1px;
342
- height: 1px;
343
- padding: 0;
344
- /* stylelint-disable-next-line primer/spacing */
345
- margin: -1px;
346
- overflow: hidden;
347
- clip: rect(0, 0, 0, 0);
348
- white-space: nowrap;
349
- border-width: 0;
350
- }
351
-
352
- .TreeViewSkeletonItemContainerStyle {
353
- display: flex;
354
- align-items: center;
355
- column-gap: 0.5rem;
356
- height: 2rem;
357
- }
358
-
359
- @media (pointer: coarse) {
360
-
361
- .TreeViewSkeletonItemContainerStyle {
362
- height: 2.75rem;
363
- }
364
- }
365
-
366
- .TreeViewSkeletonItemContainerStyle:nth-of-type(5n + 1) {
367
- --tree-item-loading-width: 67%;
368
- }
369
-
370
- .TreeViewSkeletonItemContainerStyle:nth-of-type(5n + 2) {
371
- --tree-item-loading-width: 47%;
372
- }
373
-
374
- .TreeViewSkeletonItemContainerStyle:nth-of-type(5n + 3) {
375
- --tree-item-loading-width: 73%;
376
- }
377
-
378
- .TreeViewSkeletonItemContainerStyle:nth-of-type(5n + 4) {
379
- --tree-item-loading-width: 64%;
380
- }
381
-
382
- .TreeViewSkeletonItemContainerStyle:nth-of-type(5n + 5) {
383
- --tree-item-loading-width: 50%;
384
- }
385
-
386
- .TreeItemSkeletonTextStyles {
387
- width: var(--tree-item-loading-width, 67%);
388
- }
389
-
390
- .TreeViewFailureMessage {
391
- display: grid;
392
- grid-template-columns: auto 1fr;
393
- gap: 0.5rem;
394
- width: 100%;
395
- align-items: center;
396
- }
1
+ .TreeViewRootUlStyles{list-style:none;margin:0;padding:0}.TreeViewRootUlStyles .TreeViewItem{outline:none}:is(.TreeViewRootUlStyles .TreeViewItem):focus-visible>div{box-shadow:var(--boxShadow-thick) var(--fgColor-accent)}@media (forced-colors:active){:is(.TreeViewRootUlStyles .TreeViewItem):focus-visible>div{outline:2px solid HighlightText;outline-offset:-2}}[data-has-leading-action]:is(.TreeViewRootUlStyles .TreeViewItem){--has-leading-action:1}.TreeViewRootUlStyles .TreeViewItemContainer{--level:1;--toggle-width:1rem;--min-item-height:2rem;border-radius:var(--borderRadius-medium);color:var(--fgColor-default);display:grid;font-size:var(--text-body-size-medium);grid-template-areas:"spacer leadingAction toggle content";grid-template-columns:var(--spacer-width) var(--leading-action-width) var(--toggle-width) 1fr;position:relative;width:100%;--leading-action-width:calc(var(--has-leading-action, 0)*1.5rem);--spacer-width:calc((var(--level) - 1)*(var(--toggle-width)/2))}:is(.TreeViewRootUlStyles .TreeViewItemContainer):hover{background-color:var(--control-transparent-bgColor-hover)}@media (forced-colors:active){:is(.TreeViewRootUlStyles .TreeViewItemContainer):hover{outline:2px solid #0000;outline-offset:-2px}}@media (pointer:coarse){.TreeViewRootUlStyles .TreeViewItemContainer{--toggle-width:1.5rem;--min-item-height:2.75rem}}:is(.TreeViewRootUlStyles .TreeViewItemContainer):has(.TreeViewFailureMessage):hover{background-color:initial;cursor:default}@media (forced-colors:active){:is(.TreeViewRootUlStyles .TreeViewItemContainer):has(.TreeViewFailureMessage):hover{outline:none}}:is(.TreeViewRootUlStyles .TreeViewItemContainer):has([role=treeitem]:focus-visible){box-shadow:var(--boxShadow-thick) var(--fgColor-accent)}.TreeViewRootUlStyles:where([data-omit-spacer=true]) .TreeViewItemContainer{grid-template-columns:0 0 0 1fr}.TreeViewRootUlStyles .TreeViewItem>.TreeViewItemContainer:has(.TreeViewItemContent[aria-current=true]){background-color:var(--control-transparent-bgColor-selected)}:is(.TreeViewRootUlStyles .TreeViewItem>.TreeViewItemContainer:has(.TreeViewItemContent[aria-current=true])):after{background-color:var(--fgColor-accent);border-radius:var(--borderRadius-medium);content:"";height:1.5rem;left:calc(var(--base-size-8)*-1);position:absolute;top:calc(50% - var(--base-size-12));width:.25rem}@media (forced-colors:active){:is(.TreeViewRootUlStyles .TreeViewItem>.TreeViewItemContainer:has(.TreeViewItemContent[aria-current=true])):after{background-color:HighlightText}}.TreeViewRootUlStyles .TreeViewItemToggle{align-items:flex-start;color:var(--fgColor-muted);cursor:pointer;display:flex;grid-area:toggle;height:100%;justify-content:center;padding-top:calc(var(--min-item-height)/2 - var(--base-size-12)/2)}.TreeViewRootUlStyles .TreeViewItemToggleHover:hover{background-color:var(--control-transparent-bgColor-hover)}.TreeViewRootUlStyles .TreeViewItemToggleEnd{border-bottom-left-radius:var(--borderRadius-medium);border-top-left-radius:var(--borderRadius-medium)}.TreeViewRootUlStyles a.TreeViewItemContent:hover,.TreeViewRootUlStyles button.TreeViewItemContent:hover{-webkit-text-decoration:underline;text-decoration:underline;text-decoration-color:var(--control-fgColor-rest)}.TreeViewRootUlStyles :has(.TreeViewItemContent[aria-disabled=true]){cursor:not-allowed}.TreeViewRootUlStyles .TreeViewItemContent{cursor:pointer;display:flex;gap:var(--stack-gap-condensed);grid-area:content;height:100%;line-height:var(--custom-line-height,var(--text-body-lineHeight-medium,1.4285));outline:none;padding:0 var(--base-size-8);padding-bottom:calc((var(--min-item-height) - var(--custom-line-height, 1.3rem))/2);padding-top:calc((var(--min-item-height) - var(--custom-line-height, 1.3rem))/2)}.TreeViewRootUlStyles .TreeViewItemContent,:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemCheckbox{background-color:initial;border:none;text-align:left;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemCheckbox{border-radius:var(--borderRadius-medium);color:var(--control-fgColor-rest);position:relative;transition:background 33.333ms linear}[aria-checked=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox{background:var(--control-checked-bgColor-rest);border-color:var(--control-checked-borderColor-rest);transition:background-color,border-color 80ms cubic-bezier(.32,0,.67,0) 0s}:is([aria-checked=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox):before{animation:checkmarkIn 80ms cubic-bezier(.65,0,.35,1) 80ms forwards;transition:visibility 0s linear 0s;visibility:visible}[aria-checked=mixed]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox{background:var(--control-checked-bgColor-rest);border-color:var(--control-checked-borderColor-rest);transition:background-color,border-color 80ms cubic-bezier(.32,0,.67,0) 0s}:is([aria-checked=mixed]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox):before{animation:checkmarkIn 80ms cubic-bezier(.65,0,.35,1) 80ms forwards;clip-path:none;mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIyIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMTAgMiI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMCAxYTEgMSAwIDAgMSAxLTFoOGExIDEgMCAxIDEgMCAySDFhMSAxIDAgMCAxLTEtMSIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");visibility:visible}[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent){pointer-events:none}[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemContentText{color:var(--control-fgColor-disabled)}:is([aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemVisual) svg,[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemVisual{fill:var(--control-fgColor-disabled)}@media (hover:hover){:is([aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox):hover{cursor:not-allowed}[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent):hover{background-color:initial;cursor:not-allowed}}.TreeViewRootUlStyles .TreeViewItemContentText{color:var(--control-fgColor-rest);flex:1 1 auto;width:0}.TreeViewRootUlStyles:where([data-truncate-text=true]) .TreeViewItemContentText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.TreeViewRootUlStyles:where([data-truncate-text=false]) .TreeViewItemContentText{word-break:break-word}.TreeViewRootUlStyles .TreeViewItemVisual{align-items:center;color:var(--fgColor-muted);display:flex;height:var(--custom-line-height,1.3rem)}.TreeViewRootUlStyles .TreeViewItemLeadingAction{color:var(--fgColor-muted);display:flex;grid-area:leadingAction}:is(.TreeViewRootUlStyles .TreeViewItemLeadingAction)>button{flex-shrink:1}.TreeViewRootUlStyles .TreeViewItemLevelLine{border-color:var(--borderColor-muted);border-right:var(--borderWidth-thin) solid;height:100%;width:100%}@media (hover:hover){.TreeViewRootUlStyles .TreeViewItemLevelLine{border-color:#0000}.TreeViewRootUlStyles:focus-within .TreeViewItemLevelLine,.TreeViewRootUlStyles:hover .TreeViewItemLevelLine{border-color:var(--borderColor-muted)}}.TreeViewRootUlStyles .TreeViewVisuallyHidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.TreeViewSkeletonItemContainerStyle{align-items:center;column-gap:.5rem;display:flex;height:2rem}@media (pointer:coarse){.TreeViewSkeletonItemContainerStyle{height:2.75rem}}.TreeViewSkeletonItemContainerStyle:nth-of-type(5n+1){--tree-item-loading-width:67%}.TreeViewSkeletonItemContainerStyle:nth-of-type(5n+2){--tree-item-loading-width:47%}.TreeViewSkeletonItemContainerStyle:nth-of-type(5n+3){--tree-item-loading-width:73%}.TreeViewSkeletonItemContainerStyle:nth-of-type(5n+4){--tree-item-loading-width:64%}.TreeViewSkeletonItemContainerStyle:nth-of-type(5n+5){--tree-item-loading-width:50%}.TreeItemSkeletonTextStyles{width:var(--tree-item-loading-width,67%)}.TreeViewFailureMessage{align-items:center;display:grid;gap:.5rem;grid-template-columns:auto 1fr;width:100%}
@@ -3,49 +3,49 @@
3
3
  "selectors": [
4
4
  ".TreeViewRootUlStyles",
5
5
  ".TreeViewRootUlStyles .TreeViewItem",
6
- ":is(.TreeViewRootUlStyles .TreeViewItem):focus-visible > div",
6
+ ":is(.TreeViewRootUlStyles .TreeViewItem):focus-visible>div",
7
7
  "[data-has-leading-action]:is(.TreeViewRootUlStyles .TreeViewItem)",
8
8
  ".TreeViewRootUlStyles .TreeViewItemContainer",
9
9
  ":is(.TreeViewRootUlStyles .TreeViewItemContainer):hover",
10
10
  ":is(.TreeViewRootUlStyles .TreeViewItemContainer):has(.TreeViewFailureMessage):hover",
11
- ":is(.TreeViewRootUlStyles .TreeViewItemContainer):has([role='treeitem']:focus-visible)",
12
- ".TreeViewRootUlStyles:where([data-omit-spacer='true']) .TreeViewItemContainer",
13
- ".TreeViewRootUlStyles .TreeViewItem > .TreeViewItemContainer:has(.TreeViewItemContent[aria-current='true'])",
14
- ":is(.TreeViewRootUlStyles .TreeViewItem > .TreeViewItemContainer:has(.TreeViewItemContent[aria-current='true']))::after",
11
+ ":is(.TreeViewRootUlStyles .TreeViewItemContainer):has([role=treeitem]:focus-visible)",
12
+ ".TreeViewRootUlStyles:where([data-omit-spacer=true]) .TreeViewItemContainer",
13
+ ".TreeViewRootUlStyles .TreeViewItem>.TreeViewItemContainer:has(.TreeViewItemContent[aria-current=true])",
14
+ ":is(.TreeViewRootUlStyles .TreeViewItem>.TreeViewItemContainer:has(.TreeViewItemContent[aria-current=true])):after",
15
15
  ".TreeViewRootUlStyles .TreeViewItemToggle",
16
16
  ".TreeViewRootUlStyles .TreeViewItemToggleHover:hover",
17
17
  ".TreeViewRootUlStyles .TreeViewItemToggleEnd",
18
18
  ".TreeViewRootUlStyles a.TreeViewItemContent:hover",
19
19
  ".TreeViewRootUlStyles button.TreeViewItemContent:hover",
20
- ".TreeViewRootUlStyles :has(.TreeViewItemContent[aria-disabled=\"true\"])",
20
+ ".TreeViewRootUlStyles :has(.TreeViewItemContent[aria-disabled=true])",
21
21
  ".TreeViewRootUlStyles .TreeViewItemContent",
22
22
  ":is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemCheckbox",
23
- "[aria-checked='true']:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox",
24
- ":is([aria-checked='true']:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox)::before",
25
- "[aria-checked='mixed']:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox",
26
- ":is([aria-checked='mixed']:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox)::before",
27
- "[aria-disabled='true']:is(.TreeViewRootUlStyles .TreeViewItemContent)",
28
- "[aria-disabled='true']:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemContentText",
29
- "[aria-disabled='true']:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemVisual",
30
- ":is([aria-disabled='true']:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemVisual) svg",
31
- ":is([aria-disabled='true']:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox):hover",
32
- "[aria-disabled='true']:is(.TreeViewRootUlStyles .TreeViewItemContent):hover",
23
+ "[aria-checked=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox",
24
+ ":is([aria-checked=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox):before",
25
+ "[aria-checked=mixed]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox",
26
+ ":is([aria-checked=mixed]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox):before",
27
+ "[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent)",
28
+ "[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemContentText",
29
+ ":is([aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemVisual) svg",
30
+ "[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .TreeViewItemVisual",
31
+ ":is([aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent) .FormControl-checkbox):hover",
32
+ "[aria-disabled=true]:is(.TreeViewRootUlStyles .TreeViewItemContent):hover",
33
33
  ".TreeViewRootUlStyles .TreeViewItemContentText",
34
- ".TreeViewRootUlStyles:where([data-truncate-text='true']) .TreeViewItemContentText",
35
- ".TreeViewRootUlStyles:where([data-truncate-text='false']) .TreeViewItemContentText",
34
+ ".TreeViewRootUlStyles:where([data-truncate-text=true]) .TreeViewItemContentText",
35
+ ".TreeViewRootUlStyles:where([data-truncate-text=false]) .TreeViewItemContentText",
36
36
  ".TreeViewRootUlStyles .TreeViewItemVisual",
37
37
  ".TreeViewRootUlStyles .TreeViewItemLeadingAction",
38
- ":is(.TreeViewRootUlStyles .TreeViewItemLeadingAction) > button",
38
+ ":is(.TreeViewRootUlStyles .TreeViewItemLeadingAction)>button",
39
39
  ".TreeViewRootUlStyles .TreeViewItemLevelLine",
40
- ".TreeViewRootUlStyles:hover .TreeViewItemLevelLine",
41
40
  ".TreeViewRootUlStyles:focus-within .TreeViewItemLevelLine",
41
+ ".TreeViewRootUlStyles:hover .TreeViewItemLevelLine",
42
42
  ".TreeViewRootUlStyles .TreeViewVisuallyHidden",
43
43
  ".TreeViewSkeletonItemContainerStyle",
44
- ".TreeViewSkeletonItemContainerStyle:nth-of-type(5n + 1)",
45
- ".TreeViewSkeletonItemContainerStyle:nth-of-type(5n + 2)",
46
- ".TreeViewSkeletonItemContainerStyle:nth-of-type(5n + 3)",
47
- ".TreeViewSkeletonItemContainerStyle:nth-of-type(5n + 4)",
48
- ".TreeViewSkeletonItemContainerStyle:nth-of-type(5n + 5)",
44
+ ".TreeViewSkeletonItemContainerStyle:nth-of-type(5n+1)",
45
+ ".TreeViewSkeletonItemContainerStyle:nth-of-type(5n+2)",
46
+ ".TreeViewSkeletonItemContainerStyle:nth-of-type(5n+3)",
47
+ ".TreeViewSkeletonItemContainerStyle:nth-of-type(5n+4)",
48
+ ".TreeViewSkeletonItemContainerStyle:nth-of-type(5n+5)",
49
49
  ".TreeItemSkeletonTextStyles",
50
50
  ".TreeViewFailureMessage"
51
51
  ]
@@ -1,150 +1 @@
1
- /* UnderlineNav */
2
-
3
- .UnderlineNav {
4
- display: flex;
5
- min-height: var(--base-size-48);
6
- overflow-x: auto;
7
- overflow-y: hidden;
8
- /* stylelint-disable-next-line primer/box-shadow */
9
- box-shadow: inset 0 -1px 0 var(--borderColor-muted);
10
- -webkit-overflow-scrolling: auto;
11
- justify-content: space-between;
12
- }
13
-
14
- .UnderlineNav .Counter {
15
- /* stylelint-disable-next-line primer/spacing */
16
- margin-left: var(--control-medium-gap);
17
- color: var(--fgColor-default);
18
- background-color: var(--bgColor-neutral-muted, var(--color-neutral-muted));
19
- }
20
-
21
- .UnderlineNav .Counter--primary {
22
- color: var(--fgColor-onEmphasis);
23
- background-color: var(--bgColor-neutral-emphasis);
24
- }
25
-
26
- .UnderlineNav-body {
27
- display: flex;
28
- align-items: center;
29
- gap: var(--control-medium-gap);
30
- list-style: none;
31
- }
32
-
33
- .UnderlineNav-item {
34
- position: relative;
35
- display: flex;
36
- /* stylelint-disable-next-line primer/spacing */
37
- padding: 0 var(--control-medium-paddingInline-condensed);
38
- font-size: var(--text-body-size-medium);
39
- /* stylelint-disable-next-line primer/typography */
40
- line-height: 30px;
41
- color: var(--fgColor-default);
42
- text-align: center;
43
- white-space: nowrap;
44
- cursor: pointer;
45
- background-color: transparent;
46
- border: 0;
47
- border-radius: var(--borderRadius-medium);
48
- align-items: center;
49
- }
50
-
51
- .UnderlineNav-item:hover,.UnderlineNav-item:focus,.UnderlineNav-item:focus-visible {
52
- color: var(--fgColor-default);
53
- -webkit-text-decoration: none;
54
- text-decoration: none;
55
- border-bottom-color: var(--borderColor-neutral-muted);
56
- outline-offset: -2px;
57
- transition: border-bottom-color 0.12s ease-out;
58
- }
59
-
60
- /* renders a visibly hidden "copy" of the label in bold, reserving box space for when label becomes bold on selected */
61
-
62
- .UnderlineNav-item [data-content]::before {
63
- display: block;
64
- height: 0;
65
- font-weight: var(--base-text-weight-semibold);
66
- visibility: hidden;
67
- content: attr(data-content);
68
- }
69
-
70
- /* increase touch target area */
71
-
72
- :is(.UnderlineNav-item::before) {
73
- position: absolute;
74
- top: 50%;
75
- left: 50%;
76
- width: 100%;
77
- height: 100%;
78
- min-height: 48px;
79
- content: "";
80
- transform: translateX(-50%) translateY(-50%);
81
- }
82
-
83
- /* hover state was "sticking" on mobile after click */
84
-
85
- @media (pointer: fine) {
86
- .UnderlineNav-item:hover {
87
- color: var(--fgColor-default);
88
- -webkit-text-decoration: none;
89
- text-decoration: none;
90
- background: var(--control-transparent-bgColor-hover);
91
- transition: background 0.12s ease-out;
92
- }
93
- }
94
-
95
- .UnderlineNav-item.selected,.UnderlineNav-item[role='tab'][aria-selected='true'],.UnderlineNav-item[aria-current]:not([aria-current='false']) {
96
- font-weight: var(--base-text-weight-semibold);
97
- color: var(--fgColor-default);
98
- border-bottom-color: var(--underlineNav-borderColor-active);
99
-
100
- /* current/selected underline */
101
- }
102
-
103
- :is(.UnderlineNav-item.selected,.UnderlineNav-item[role='tab'][aria-selected='true'],.UnderlineNav-item[aria-current]:not([aria-current='false']))::after {
104
- position: absolute;
105
- right: 50%;
106
- bottom: calc(50% - var(--base-size-24)); /* 48px total height / 2 (24px) + 1px */
107
- z-index: 1; /* raise above full-width flash banner */
108
- width: 100%;
109
- height: 2px;
110
- content: '';
111
- /* stylelint-disable-next-line primer/colors */
112
- background: var(--underlineNav-borderColor-active);
113
- border-radius: var(--borderRadius-medium);
114
- transform: translate(50%, -50%);
115
- }
116
-
117
- .UnderlineNav--right {
118
- justify-content: flex-end;
119
- }
120
-
121
- .UnderlineNav--right .UnderlineNav-actions {
122
- flex: 1 1 auto;
123
- }
124
-
125
- .UnderlineNav-actions {
126
- align-self: center;
127
- }
128
-
129
- .UnderlineNav--full {
130
- display: block;
131
-
132
- /* required for underline to align with additional wrapper element */
133
- }
134
-
135
- .UnderlineNav--full .UnderlineNav-body {
136
- min-height: var(--base-size-48);
137
- }
138
-
139
- .UnderlineNav-octicon {
140
- display: inline !important;
141
- /* stylelint-disable-next-line primer/spacing */
142
- margin-right: var(--control-medium-gap);
143
- color: var(--fgColor-muted);
144
- fill: var(--fgColor-muted);
145
- }
146
-
147
- .UnderlineNav-container {
148
- display: flex;
149
- justify-content: space-between;
150
- }
1
+ .UnderlineNav{box-shadow:inset 0 -1px 0 var(--borderColor-muted);display:flex;min-height:var(--base-size-48);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:auto;justify-content:space-between}.UnderlineNav .Counter{background-color:var(--bgColor-neutral-muted,var(--color-neutral-muted));color:var(--fgColor-default);margin-left:var(--control-medium-gap)}.UnderlineNav .Counter--primary{background-color:var(--bgColor-neutral-emphasis);color:var(--fgColor-onEmphasis)}.UnderlineNav-body{align-items:center;display:flex;gap:var(--control-medium-gap);list-style:none}.UnderlineNav-item{align-items:center;background-color:initial;border:0;border-radius:var(--borderRadius-medium);color:var(--fgColor-default);cursor:pointer;display:flex;font-size:var(--text-body-size-medium);line-height:30px;padding:0 var(--control-medium-paddingInline-condensed);position:relative;text-align:center;white-space:nowrap}.UnderlineNav-item:focus,.UnderlineNav-item:focus-visible,.UnderlineNav-item:hover{border-bottom-color:var(--borderColor-neutral-muted);color:var(--fgColor-default);outline-offset:-2px;-webkit-text-decoration:none;text-decoration:none;transition:border-bottom-color .12s ease-out}.UnderlineNav-item [data-content]:before{content:attr(data-content);display:block;font-weight:var(--base-text-weight-semibold);height:0;visibility:hidden}:is(.UnderlineNav-item:before){content:"";height:100%;left:50%;min-height:48px;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:100%}@media (pointer:fine){.UnderlineNav-item:hover{background:var(--control-transparent-bgColor-hover);color:var(--fgColor-default);-webkit-text-decoration:none;text-decoration:none;transition:background .12s ease-out}}.UnderlineNav-item.selected,.UnderlineNav-item[aria-current]:not([aria-current=false]),.UnderlineNav-item[role=tab][aria-selected=true]{border-bottom-color:var(--underlineNav-borderColor-active);color:var(--fgColor-default);font-weight:var(--base-text-weight-semibold)}:is(.UnderlineNav-item.selected,.UnderlineNav-item[role=tab][aria-selected=true],.UnderlineNav-item[aria-current]:not([aria-current=false])):after{background:var(--underlineNav-borderColor-active);border-radius:var(--borderRadius-medium);bottom:calc(50% - var(--base-size-24));content:"";height:2px;position:absolute;right:50%;transform:translate(50%,-50%);width:100%;z-index:1}.UnderlineNav--right{justify-content:flex-end}.UnderlineNav--right .UnderlineNav-actions{flex:1 1 auto}.UnderlineNav-actions{align-self:center}.UnderlineNav--full{display:block}.UnderlineNav--full .UnderlineNav-body{min-height:var(--base-size-48)}.UnderlineNav-octicon{color:var(--fgColor-muted);display:inline!important;margin-right:var(--control-medium-gap);fill:var(--fgColor-muted)}.UnderlineNav-container{display:flex;justify-content:space-between}
@@ -6,15 +6,15 @@
6
6
  ".UnderlineNav .Counter--primary",
7
7
  ".UnderlineNav-body",
8
8
  ".UnderlineNav-item",
9
- ".UnderlineNav-item:hover",
10
9
  ".UnderlineNav-item:focus",
11
10
  ".UnderlineNav-item:focus-visible",
12
- ".UnderlineNav-item [data-content]::before",
13
- ":is(.UnderlineNav-item::before)",
11
+ ".UnderlineNav-item:hover",
12
+ ".UnderlineNav-item [data-content]:before",
13
+ ":is(.UnderlineNav-item:before)",
14
14
  ".UnderlineNav-item.selected",
15
- ".UnderlineNav-item[role='tab'][aria-selected='true']",
16
- ".UnderlineNav-item[aria-current]:not([aria-current='false'])",
17
- ":is(.UnderlineNav-item.selected,.UnderlineNav-item[role='tab'][aria-selected='true'],.UnderlineNav-item[aria-current]:not([aria-current='false']))::after",
15
+ ".UnderlineNav-item[aria-current]:not([aria-current=false])",
16
+ ".UnderlineNav-item[role=tab][aria-selected=true]",
17
+ ":is(.UnderlineNav-item.selected,.UnderlineNav-item[role=tab][aria-selected=true],.UnderlineNav-item[aria-current]:not([aria-current=false])):after",
18
18
  ".UnderlineNav--right",
19
19
  ".UnderlineNav--right .UnderlineNav-actions",
20
20
  ".UnderlineNav-actions",