|
232 | 232 | margin: 0; |
233 | 233 | padding: 0; |
234 | 234 | letter-spacing: -0.02em; |
| 235 | + line-height: 1; |
| 236 | +} |
| 237 | + |
| 238 | +.api-namespace-toggle-indicator { |
| 239 | + display: none; |
| 240 | + align-items: flex-end; |
| 241 | + gap: var(--space-sm); |
| 242 | + flex-shrink: 0; |
| 243 | +} |
| 244 | + |
| 245 | +/* Only show indicator when there's overflow */ |
| 246 | +.api-index__entry:has(.api-namespace-content.has-overflow) .api-namespace-toggle-indicator { |
| 247 | + display: flex; |
| 248 | +} |
| 249 | + |
| 250 | +.api-namespace-toggle-text { |
| 251 | + font-size: var(--text-sm); |
| 252 | + font-weight: 600; |
| 253 | + color: var(--color-phel-primary); |
| 254 | + opacity: 0.8; |
| 255 | + transition: opacity var(--duration-fast) var(--ease-out); |
| 256 | +} |
| 257 | + |
| 258 | +.api-namespace-toggle:hover .api-namespace-toggle-text { |
| 259 | + opacity: 1; |
| 260 | + color: var(--color-phel-primary); |
| 261 | +} |
| 262 | + |
| 263 | +/* When hovering over collapsed area, highlight the toggle text */ |
| 264 | +.api-namespace-toggle[aria-expanded="false"] + .api-namespace-content.has-overflow:hover ~ .api-namespace-toggle .api-namespace-toggle-text, |
| 265 | +.api-index__entry:has(.api-namespace-content.has-overflow:hover) .api-namespace-toggle-text { |
| 266 | + opacity: 1; |
| 267 | + color: var(--color-phel-primary); |
| 268 | +} |
| 269 | + |
| 270 | +/* Update text content based on state */ |
| 271 | +.api-namespace-toggle[aria-expanded="true"] .api-namespace-toggle-text::before { |
| 272 | + content: "Show less"; |
| 273 | +} |
| 274 | + |
| 275 | +.api-namespace-toggle[aria-expanded="false"] .api-namespace-toggle-text::before { |
| 276 | + content: "Show all"; |
235 | 277 | } |
236 | 278 |
|
237 | 279 | .api-namespace-icon { |
238 | 280 | flex-shrink: 0; |
239 | 281 | color: var(--color-phel-primary); |
240 | 282 | transition: transform var(--duration-normal) var(--ease-out); |
241 | | - display: none; |
| 283 | + opacity: 0.8; |
| 284 | + width: 24px; |
| 285 | + height: 24px; |
242 | 286 | } |
243 | 287 |
|
244 | | -/* Only show icon when there's overflow */ |
245 | | -.api-index__entry:has(.api-namespace-content.has-overflow) .api-namespace-icon { |
246 | | - display: block; |
| 288 | +.api-namespace-toggle:hover .api-namespace-icon { |
| 289 | + opacity: 1; |
| 290 | + color: var(--color-phel-primary-hover); |
| 291 | +} |
| 292 | + |
| 293 | +/* When hovering over collapsed area, highlight the icon */ |
| 294 | +.api-index__entry:has(.api-namespace-content.has-overflow:hover) .api-namespace-icon { |
| 295 | + opacity: 1; |
| 296 | + color: var(--color-phel-primary-hover); |
247 | 297 | } |
248 | 298 |
|
249 | | -.api-namespace-toggle[aria-expanded="false"] .api-namespace-icon { |
250 | | - transform: rotate(-90deg); |
| 299 | +/* Collapsed (closed) = chevron down (V), Expanded (open) = chevron up (^) */ |
| 300 | +.api-namespace-toggle[aria-expanded="true"] .api-namespace-icon { |
| 301 | + transform: rotate(180deg); |
251 | 302 | } |
252 | 303 |
|
253 | 304 | .api-namespace-content { |
|
284 | 335 | /* Make entire collapsed area clickable */ |
285 | 336 | .api-namespace-toggle[aria-expanded="false"] + .api-namespace-content.has-overflow { |
286 | 337 | cursor: pointer; |
| 338 | + background: linear-gradient(to bottom, |
| 339 | + rgba(0, 0, 0, 0.01) 0%, |
| 340 | + rgba(0, 0, 0, 0.03) 50%, |
| 341 | + rgba(0, 0, 0, 0.04) 100%); |
| 342 | + border-radius: var(--radius-lg); |
| 343 | + width: calc(100% + var(--space-md) * 2); |
287 | 344 | } |
288 | 345 |
|
289 | 346 | /* Disable pill interactions when collapsed and has overflow */ |
|
328 | 385 | box-shadow: var(--shadow-lg); |
329 | 386 | opacity: 0; |
330 | 387 | pointer-events: none; |
331 | | - transition: opacity var(--duration-fast) var(--ease-out); |
| 388 | + transition: opacity var(--duration-normal) var(--ease-in); |
332 | 389 | z-index: 10; |
333 | 390 | } |
334 | 391 |
|
|
356 | 413 |
|
357 | 414 | .api-index__entry > ul a { |
358 | 415 | display: inline-block; |
359 | | - padding: var(--space-xs) var(--space-lg); |
| 416 | + padding: var(--space-xs) var(--space-md); |
360 | 417 | background: var(--color-light-bg-secondary); |
361 | 418 | color: var(--color-light-text-secondary); |
362 | 419 | font-size: var(--text-sm); |
|
0 commit comments