@@ -45,12 +45,25 @@ const FieldRow = styled.div`
4545 border: 1px solid var(--group-border);
4646 border-radius: 8px;
4747 overflow: hidden;
48+ display: grid;
49+ grid-template-columns: auto 1fr;
50+ gap: 0 6px;
4851
4952 &[data-highlighted] {
5053 background-color: var(--search-highlight);
5154 }
5255` ;
5356
57+ const FieldIcon = styled . div `
58+ grid-column: 1;
59+ grid-row: 1 / -1;
60+ ` ;
61+
62+ const FieldContent = styled . div `
63+ grid-column: 2;
64+ min-width: 0;
65+ ` ;
66+
5467const FieldSignature = styled . div `
5568 font-weight: 600;
5669 font-size: 16px;
@@ -70,6 +83,7 @@ const FieldOffset = styled.button`
7083 color: var(--text-dim);
7184 font-variant-numeric: tabular-nums;
7285 cursor: pointer;
86+ margin-left: auto;
7387
7488 &:hover {
7589 color: var(--highlight);
@@ -185,19 +199,25 @@ export const SchemaClassView: React.FC<{
185199function SchemaFieldView ( { field, highlighted } : { field : api . SchemaField ; highlighted : boolean } ) {
186200 const { root } = useContext ( DeclarationsContext ) ;
187201 const navigate = useNavigate ( ) ;
188- const offsetHex = `0x${ field . offset . toString ( 16 ) . toUpperCase ( ) } ` ;
202+ const hexDigits = field . offset . toString ( 16 ) . toUpperCase ( ) ;
203+ const paddedHex = hexDigits . length % 2 !== 0 ? `0${ hexDigits } ` : hexDigits ;
204+ const offsetHex = `0x${ paddedHex } ` ;
189205 return (
190206 < FieldRow data-highlighted = { highlighted || undefined } >
191- < FieldSignature >
207+ < FieldIcon >
192208 < KindIcon kind = "field" size = "small" />
193- < FieldOffset
194- onClick = { ( ) => navigate ( `${ root } ?search=${ encodeURIComponent ( `offset:${ offsetHex } ` ) } ` ) }
195- >
196- { offsetHex }
197- </ FieldOffset >
198- { field . name } : < SchemaTypeView type = { field . type } />
199- </ FieldSignature >
200- < MetadataTags metadata = { field . metadata } />
209+ </ FieldIcon >
210+ < FieldContent >
211+ < FieldSignature >
212+ { field . name } : < SchemaTypeView type = { field . type } />
213+ < FieldOffset
214+ onClick = { ( ) => navigate ( `${ root } ?search=${ encodeURIComponent ( `offset:${ offsetHex } ` ) } ` ) }
215+ >
216+ { field . offset } ({ offsetHex } )
217+ </ FieldOffset >
218+ </ FieldSignature >
219+ < MetadataTags metadata = { field . metadata } />
220+ </ FieldContent >
201221 </ FieldRow >
202222 ) ;
203223}
0 commit comments