@primer/view-components 0.45.1-rc.015a120e → 0.45.2

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 (71) hide show
  1. package/app/assets/styles/primer_view_components.css +6963 -1
  2. package/app/assets/styles/primer_view_components.css.map +1 -1
  3. package/app/components/primer/alpha/action_bar.css +49 -1
  4. package/app/components/primer/alpha/action_list.css +525 -1
  5. package/app/components/primer/alpha/action_list.css.json +64 -64
  6. package/app/components/primer/alpha/auto_complete.css +131 -1
  7. package/app/components/primer/alpha/auto_complete.css.json +3 -3
  8. package/app/components/primer/alpha/banner.css +146 -1
  9. package/app/components/primer/alpha/banner.css.json +2 -2
  10. package/app/components/primer/alpha/button_marketing.css +183 -1
  11. package/app/components/primer/alpha/button_marketing.css.json +6 -6
  12. package/app/components/primer/alpha/dialog.css +377 -1
  13. package/app/components/primer/alpha/dialog.css.json +2 -2
  14. package/app/components/primer/alpha/dropdown.css +296 -1
  15. package/app/components/primer/alpha/dropdown.css.json +19 -19
  16. package/app/components/primer/alpha/layout.css +374 -1
  17. package/app/components/primer/alpha/layout.css.json +10 -10
  18. package/app/components/primer/alpha/menu.css +124 -1
  19. package/app/components/primer/alpha/menu.css.json +5 -5
  20. package/app/components/primer/alpha/overlay.css +25 -1
  21. package/app/components/primer/alpha/segmented_control.css +161 -1
  22. package/app/components/primer/alpha/segmented_control.css.json +5 -5
  23. package/app/components/primer/alpha/select_panel.css +10 -1
  24. package/app/components/primer/alpha/skeleton_box.css +36 -1
  25. package/app/components/primer/alpha/stack.css +255 -1
  26. package/app/components/primer/alpha/stack.css.json +84 -84
  27. package/app/components/primer/alpha/stack_item.css +27 -1
  28. package/app/components/primer/alpha/stack_item.css.json +6 -6
  29. package/app/components/primer/alpha/tab_nav.css +112 -1
  30. package/app/components/primer/alpha/tab_nav.css.json +5 -5
  31. package/app/components/primer/alpha/text_field.css +792 -1
  32. package/app/components/primer/alpha/text_field.css.json +39 -39
  33. package/app/components/primer/alpha/toggle_switch.css +230 -1
  34. package/app/components/primer/alpha/toggle_switch.css.json +10 -10
  35. package/app/components/primer/alpha/tree_view.css +396 -1
  36. package/app/components/primer/alpha/tree_view.css.json +25 -25
  37. package/app/components/primer/alpha/underline_nav.css +150 -1
  38. package/app/components/primer/alpha/underline_nav.css.json +6 -6
  39. package/app/components/primer/beta/avatar.css +77 -1
  40. package/app/components/primer/beta/avatar_stack.css +134 -1
  41. package/app/components/primer/beta/avatar_stack.css.json +6 -7
  42. package/app/components/primer/beta/blankslate.css +168 -1
  43. package/app/components/primer/beta/border_box.css +218 -1
  44. package/app/components/primer/beta/border_box.css.json +3 -3
  45. package/app/components/primer/beta/breadcrumbs.css +29 -1
  46. package/app/components/primer/beta/breadcrumbs.css.json +2 -2
  47. package/app/components/primer/beta/button.css +359 -1
  48. package/app/components/primer/beta/button.css.json +17 -17
  49. package/app/components/primer/beta/button_group.css +20 -1
  50. package/app/components/primer/beta/button_group.css.json +3 -3
  51. package/app/components/primer/beta/counter.css +38 -1
  52. package/app/components/primer/beta/flash.css +152 -1
  53. package/app/components/primer/beta/label.css +109 -1
  54. package/app/components/primer/beta/label.css.json +3 -3
  55. package/app/components/primer/beta/link.css +79 -1
  56. package/app/components/primer/beta/link.css.json +1 -1
  57. package/app/components/primer/beta/popover.css +215 -1
  58. package/app/components/primer/beta/popover.css.json +23 -23
  59. package/app/components/primer/beta/progress_bar.css +38 -1
  60. package/app/components/primer/beta/progress_bar.css.json +1 -1
  61. package/app/components/primer/beta/state.css +60 -1
  62. package/app/components/primer/beta/state.css.json +1 -1
  63. package/app/components/primer/beta/subhead.css +64 -1
  64. package/app/components/primer/beta/subhead.css.json +1 -1
  65. package/app/components/primer/beta/timeline_item.css +106 -1
  66. package/app/components/primer/beta/timeline_item.css.json +1 -1
  67. package/app/components/primer/beta/truncate.css +30 -1
  68. package/app/components/primer/beta/truncate.css.json +6 -6
  69. package/app/components/primer/truncate.css +23 -1
  70. package/app/components/primer/truncate.css.json +4 -4
  71. package/package.json +1 -1
@@ -1 +1,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%}
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
+ }
@@ -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
- ":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",
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",
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:focus-within .TreeViewItemLevelLine",
41
40
  ".TreeViewRootUlStyles:hover .TreeViewItemLevelLine",
41
+ ".TreeViewRootUlStyles:focus-within .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 +1,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}
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
+ }
@@ -6,15 +6,15 @@
6
6
  ".UnderlineNav .Counter--primary",
7
7
  ".UnderlineNav-body",
8
8
  ".UnderlineNav-item",
9
+ ".UnderlineNav-item:hover",
9
10
  ".UnderlineNav-item:focus",
10
11
  ".UnderlineNav-item:focus-visible",
11
- ".UnderlineNav-item:hover",
12
- ".UnderlineNav-item [data-content]:before",
13
- ":is(.UnderlineNav-item:before)",
12
+ ".UnderlineNav-item [data-content]::before",
13
+ ":is(.UnderlineNav-item::before)",
14
14
  ".UnderlineNav-item.selected",
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",
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",
18
18
  ".UnderlineNav--right",
19
19
  ".UnderlineNav--right .UnderlineNav-actions",
20
20
  ".UnderlineNav-actions",