Skip to content

Commit 47b9ef1

Browse files
committed
Add chevron indicators to API element headers
1 parent 8769388 commit 47b9ef1

2 files changed

Lines changed: 60 additions & 22 deletions

File tree

src/lib/components/api/ClassDoc.svelte

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -116,18 +116,23 @@
116116
<span class="class-desc">{cls.description}</span>
117117
{/if}
118118
</div>
119-
{#if cls.source && isExpanded}
120-
<span
121-
role="button"
122-
tabindex="0"
123-
class="icon-btn view-toggle-btn"
124-
onclick={toggleView}
125-
onkeydown={(e) => e.key === 'Enter' && toggleView(e)}
126-
use:tooltip={viewMode === 'docs' ? 'View source' : 'View docs'}
127-
>
128-
<Icon name={viewMode === 'docs' ? 'braces' : 'book'} size={14} />
119+
<div class="header-actions">
120+
{#if cls.source && isExpanded}
121+
<span
122+
role="button"
123+
tabindex="0"
124+
class="icon-btn view-toggle-btn"
125+
onclick={toggleView}
126+
onkeydown={(e) => e.key === 'Enter' && toggleView(e)}
127+
use:tooltip={viewMode === 'docs' ? 'View source' : 'View docs'}
128+
>
129+
<Icon name={viewMode === 'docs' ? 'braces' : 'book'} size={14} />
130+
</span>
131+
{/if}
132+
<span class="icon-btn chevron-btn">
133+
<Icon name={isExpanded ? 'chevron-up' : 'chevron-down'} size={14} />
129134
</span>
130-
{/if}
135+
</div>
131136
</button>
132137

133138
{#if isExpanded}
@@ -228,11 +233,25 @@
228233
line-height: 1.5;
229234
}
230235
236+
/* Header actions container */
237+
.header-actions {
238+
display: flex;
239+
align-items: center;
240+
gap: var(--space-xs);
241+
flex-shrink: 0;
242+
}
243+
231244
/* View toggle button - inherits .icon-btn styles */
232245
.view-toggle-btn {
233246
flex-shrink: 0;
234247
}
235248
249+
/* Chevron button */
250+
.chevron-btn {
251+
flex-shrink: 0;
252+
pointer-events: none;
253+
}
254+
236255
/* Source view - no padding, CodeMirror fills the space */
237256
.source-body {
238257
padding: 0;

src/lib/components/api/FunctionDoc.svelte

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -116,18 +116,23 @@
116116
<span class="badge accent">{methodType}</span>
117117
{/if}
118118
</div>
119-
{#if func.source && isExpanded}
120-
<span
121-
role="button"
122-
tabindex="0"
123-
class="icon-btn view-toggle-btn"
124-
onclick={toggleView}
125-
onkeydown={(e) => e.key === 'Enter' && toggleView(e)}
126-
use:tooltip={viewMode === 'docs' ? 'View source' : 'View docs'}
127-
>
128-
<Icon name={viewMode === 'docs' ? 'braces' : 'book'} size={14} />
119+
<div class="header-actions">
120+
{#if func.source && isExpanded}
121+
<span
122+
role="button"
123+
tabindex="0"
124+
class="icon-btn view-toggle-btn"
125+
onclick={toggleView}
126+
onkeydown={(e) => e.key === 'Enter' && toggleView(e)}
127+
use:tooltip={viewMode === 'docs' ? 'View source' : 'View docs'}
128+
>
129+
<Icon name={viewMode === 'docs' ? 'braces' : 'book'} size={14} />
130+
</span>
131+
{/if}
132+
<span class="icon-btn chevron-btn">
133+
<Icon name={isExpanded ? 'chevron-up' : 'chevron-down'} size={14} />
129134
</span>
130-
{/if}
135+
</div>
131136
</button>
132137

133138
{#if isExpanded}
@@ -214,11 +219,25 @@
214219
text-overflow: ellipsis;
215220
}
216221
222+
/* Header actions container */
223+
.header-actions {
224+
display: flex;
225+
align-items: center;
226+
gap: var(--space-xs);
227+
flex-shrink: 0;
228+
}
229+
217230
/* View toggle button - inherits .icon-btn styles */
218231
.view-toggle-btn {
219232
flex-shrink: 0;
220233
}
221234
235+
/* Chevron button */
236+
.chevron-btn {
237+
flex-shrink: 0;
238+
pointer-events: none;
239+
}
240+
222241
.method-body {
223242
padding: var(--space-md);
224243
}

0 commit comments

Comments
 (0)