fix(app): accordion styles

This commit is contained in:
Adam
2026-02-19 08:44:17 -06:00
parent 8ebdbe0ea2
commit 338393c016
7 changed files with 455 additions and 538 deletions

View File

@@ -2,7 +2,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: flex-start; align-items: flex-start;
gap: 8px; gap: 0px;
align-self: stretch; align-self: stretch;
[data-slot="accordion-item"] { [data-slot="accordion-item"] {
@@ -11,7 +11,11 @@
flex-direction: column; flex-direction: column;
align-items: flex-start; align-items: flex-start;
align-self: stretch; align-self: stretch;
overflow: clip; overflow: visible;
& + [data-slot="accordion-item"] {
margin-top: -1px;
}
[data-slot="accordion-header"] { [data-slot="accordion-header"] {
width: 100%; width: 100%;
@@ -31,9 +35,10 @@
cursor: default; cursor: default;
user-select: none; user-select: none;
background-color: var(--surface-base); background-color: var(--background-stronger);
border: 1px solid var(--border-weak-base); border: 1px solid var(--border-weak-base);
border-radius: var(--radius-md); border-radius: 0;
box-shadow: none;
overflow: clip; overflow: clip;
color: var(--text-strong); color: var(--text-strong);
transition: background-color 0.15s ease; transition: background-color 0.15s ease;
@@ -47,7 +52,10 @@
letter-spacing: var(--letter-spacing-normal); letter-spacing: var(--letter-spacing-normal);
&:hover { &:hover {
background-color: var(--surface-base); background-color: var(--surface-base-hover);
}
&:active {
background-color: var(--surface-base-active);
} }
&:focus-visible { &:focus-visible {
outline: none; outline: none;
@@ -58,23 +66,40 @@
} }
} }
&[data-expanded] { &:first-child {
[data-slot="accordion-trigger"] { [data-slot="accordion-header"] [data-slot="accordion-trigger"] {
border-bottom-left-radius: 0; border-top-left-radius: var(--radius-lg);
border-bottom-right-radius: 0; border-top-right-radius: var(--radius-lg);
}
} }
&:last-child:not([data-expanded]) {
[data-slot="accordion-header"] [data-slot="accordion-trigger"] {
border-bottom-left-radius: var(--radius-lg);
border-bottom-right-radius: var(--radius-lg);
}
}
&[data-expanded] {
[data-slot="accordion-content"] { [data-slot="accordion-content"] {
border: 1px solid var(--border-weak-base); border: 1px solid var(--border-weak-base);
border-top: none; border-top: 0;
border-bottom-left-radius: var(--radius-md); background-color: var(--background-stronger);
border-bottom-right-radius: var(--radius-md); }
}
&:last-child[data-expanded] {
[data-slot="accordion-content"] {
border-bottom-left-radius: var(--radius-lg);
border-bottom-right-radius: var(--radius-lg);
} }
} }
[data-slot="accordion-content"] { [data-slot="accordion-content"] {
overflow: hidden; overflow: hidden;
width: 100%; width: 100%;
border: 0;
background-color: transparent;
} }
} }
} }

View File

@@ -1288,7 +1288,6 @@
} }
[data-component="apply-patch-file-diff"] { [data-component="apply-patch-file-diff"] {
border-top: 1px solid var(--border-weaker-base);
max-height: 420px; max-height: 420px;
overflow-y: auto; overflow-y: auto;
scrollbar-width: none; scrollbar-width: none;

View File

@@ -1,7 +1,7 @@
[data-component="session-review"] { [data-component="session-review"] {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 8px; gap: 0px;
height: 100%; height: 100%;
overflow-y: auto; overflow-y: auto;
scrollbar-width: none; scrollbar-width: none;
@@ -19,7 +19,8 @@
top: 0; top: 0;
z-index: 20; z-index: 20;
background-color: var(--background-stronger); background-color: var(--background-stronger);
height: 32px; height: 40px;
padding-bottom: 8px;
flex-shrink: 0; flex-shrink: 0;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
@@ -57,63 +58,7 @@
} }
[data-component="sticky-accordion-header"] { [data-component="sticky-accordion-header"] {
top: 40px; --sticky-accordion-top: 40px;
}
[data-component="sticky-accordion-header"][data-expanded]::before,
[data-slot="accordion-item"][data-expanded] [data-component="sticky-accordion-header"]::before {
top: -40px;
}
[data-slot="session-review-diffs-group"] {
background-color: var(--background-stronger);
border-radius: var(--radius-lg);
border: 1px solid var(--border-weak-base);
overflow: clip;
[data-component="accordion"] {
gap: 0;
}
[data-component="accordion"] [data-slot="accordion-item"] {
overflow: visible;
}
[data-component="accordion"]
[data-slot="accordion-item"]
[data-slot="accordion-header"]
[data-slot="accordion-trigger"] {
border: 0;
border-radius: 0;
box-shadow: none;
background-color: transparent;
&:hover {
background-color: var(--surface-base-hover);
}
&:active {
background-color: var(--surface-base-active);
}
}
[data-component="accordion"]
[data-slot="accordion-item"]
+ [data-slot="accordion-item"]
[data-slot="accordion-header"]
[data-slot="accordion-trigger"] {
border-top: 1px solid var(--border-weak-base);
}
[data-component="accordion"] [data-slot="accordion-item"][data-expanded] [data-slot="accordion-content"] {
border: 0;
border-top: 1px solid var(--border-weak-base);
border-radius: 0;
}
[data-component="sticky-accordion-header"][data-expanded]::before,
[data-slot="accordion-item"][data-expanded] [data-component="sticky-accordion-header"]::before {
top: 0;
} }
[data-slot="session-review-accordion-item"][data-selected] [data-slot="session-review-accordion-item"][data-selected]
@@ -121,7 +66,6 @@
[data-slot="accordion-trigger"] { [data-slot="accordion-trigger"] {
background-color: var(--surface-base-active); background-color: var(--surface-base-active);
} }
}
[data-slot="accordion-item"] { [data-slot="accordion-item"] {
[data-slot="accordion-content"] { [data-slot="accordion-content"] {

View File

@@ -320,7 +320,6 @@ export const SessionReview = (props: SessionReviewProps) => {
</div> </div>
<div data-slot="session-review-container" class={props.classes?.container}> <div data-slot="session-review-container" class={props.classes?.container}>
<Show when={hasDiffs()} fallback={props.empty}> <Show when={hasDiffs()} fallback={props.empty}>
<div data-slot="session-review-diffs-group">
<Accordion multiple value={open()} onChange={handleChange}> <Accordion multiple value={open()} onChange={handleChange}>
<For each={props.diffs}> <For each={props.diffs}>
{(diff) => { {(diff) => {
@@ -708,7 +707,6 @@ export const SessionReview = (props: SessionReviewProps) => {
}} }}
</For> </For>
</Accordion> </Accordion>
</div>
</Show> </Show>
</div> </div>
</div> </div>

View File

@@ -129,49 +129,6 @@
flex-direction: column; flex-direction: column;
} }
[data-slot="session-turn-diffs-group"] {
background-color: var(--background-stronger);
border-radius: var(--radius-lg);
border: 1px solid var(--border-weak-base);
overflow: clip;
[data-component="accordion"] {
gap: 0;
}
[data-component="accordion"]
[data-slot="accordion-item"]
[data-slot="accordion-header"]
[data-slot="accordion-trigger"] {
border: 0;
border-radius: 0;
box-shadow: none;
background-color: transparent;
&:hover {
background-color: var(--surface-base-hover);
}
&:active {
background-color: var(--surface-base-active);
}
}
[data-component="accordion"]
[data-slot="accordion-item"]
+ [data-slot="accordion-item"]
[data-slot="accordion-header"]
[data-slot="accordion-trigger"] {
border-top: 1px solid var(--border-weak-base);
}
[data-component="accordion"] [data-slot="accordion-item"][data-expanded] [data-slot="accordion-content"] {
border: 0;
border-top: 1px solid var(--border-weak-base);
border-radius: 0;
}
}
[data-slot="session-turn-diff-trigger"] { [data-slot="session-turn-diff-trigger"] {
display: flex; display: flex;
align-items: center; align-items: center;

View File

@@ -315,7 +315,6 @@ export function SessionTurn(
<Collapsible.Content> <Collapsible.Content>
<Show when={open()}> <Show when={open()}>
<div data-component="session-turn-diffs-content"> <div data-component="session-turn-diffs-content">
<div data-slot="session-turn-diffs-group">
<Accordion <Accordion
multiple multiple
value={expanded()} value={expanded()}
@@ -387,7 +386,6 @@ export function SessionTurn(
</For> </For>
</Accordion> </Accordion>
</div> </div>
</div>
</Show> </Show>
</Collapsible.Content> </Collapsible.Content>
</Collapsible> </Collapsible>

View File

@@ -1,18 +1,14 @@
[data-component="sticky-accordion-header"] { [data-component="sticky-accordion-header"] {
--sticky-accordion-top: 0px;
position: sticky; position: sticky;
top: 0px; top: var(--sticky-accordion-top);
}
[data-slot="accordion-item"]:first-child [data-component="sticky-accordion-header"] {
background-color: var(--background-base);
} }
[data-component="sticky-accordion-header"][data-expanded], [data-component="sticky-accordion-header"][data-expanded],
[data-slot="accordion-item"][data-expanded] [data-component="sticky-accordion-header"] { [data-slot="accordion-item"][data-expanded] [data-component="sticky-accordion-header"] {
z-index: 10; z-index: 10;
} }
[data-component="sticky-accordion-header"][data-expanded]::before,
[data-slot="accordion-item"][data-expanded] [data-component="sticky-accordion-header"]::before {
content: "";
z-index: -10;
position: absolute;
inset: 0;
background-color: var(--background-stronger);
}