Skip to content

Commit bec41ce

Browse files
authored
fix: Align code to the top when line wrapping is activated (#101)
1 parent ea64269 commit bec41ce

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

pages/code-view/with-line-wrapping.page.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
22
// SPDX-License-Identifier: Apache-2.0
33

4-
import { Box, SpaceBetween } from "@cloudscape-design/components";
4+
import { Box, Button, SpaceBetween } from "@cloudscape-design/components";
55

66
import { CodeView } from "../../lib/components";
77
import cppHighlight from "../../lib/components/code-view/highlight/cpp";
88
import { ScreenshotArea } from "../screenshot-area";
99

10+
const longLine = `LoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendumLoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendumLoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendumLoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendumLoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendumLoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendumLoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendumLoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendum`;
11+
const copyButton = <Button ariaLabel="Copy code" iconName="copy"></Button>;
12+
1013
export default function CodeViewPage() {
1114
return (
1215
<ScreenshotArea>
@@ -40,11 +43,11 @@ export default function CodeViewPage() {
4043
content={`void UserQuery(map<string, vector<string> > &svmap) {\n string queryName;\n cout << "Please enter a family name you want to query: ";\n cin >> queryName;\n int i = 0;\n for (map<string, vector<string> >::iterator itr = svmap.begin(), mapEnd = svmap.end(); itr != mapEnd; ++itr) {\n i++;\n if (itr->first == queryName) {\n cout << "The " << itr->first << " family has " << itr->second.size() << " children: ";\n for (vector<string>::iterator itrvec = itr->second.begin(), vecEnd = itr->second.end(); itrvec != vecEnd; ++itrvec)\n cout << *itrvec << " ";\n break;\n }\n }\n if (i >= svmap.size())\n cout << "Sorry, the " << queryName << " family is not found." << endl;\n}`}
4144
/>
4245
<Box>Long word</Box>
43-
<CodeView
44-
wrapLines={true}
45-
lineNumbers={true}
46-
content={`LoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendumLoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendumLoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendumLoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendumLoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendumLoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendumLoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendumLoremipsumdolorsitametconsecteturadipiscingelitCurabitursagittismetusidornarebibendum`}
47-
/>
46+
<CodeView wrapLines={true} lineNumbers={true} content={longLine} />
47+
<Box>Wrapping, line numbers, actions, short line</Box>
48+
<CodeView lineNumbers={true} wrapLines={true} content={`# Hello World`} actions={copyButton} />
49+
<Box>Wrapping, line numbers, actions, long line</Box>
50+
<CodeView lineNumbers={true} wrapLines={true} content={longLine} actions={copyButton} />
4851
</SpaceBetween>
4952
</ScreenshotArea>
5053
);

src/code-view/styles.scss

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,13 @@ $color-background-code-view-dark: #282c34;
3939
}
4040
}
4141

42-
.code-table-with-actions.code-table-with-line-wrapping {
43-
padding-inline-end: cs.$space-static-xxl;
44-
}
45-
4642
.screenreader-only {
4743
position: absolute;
4844
inset-block-start: -9999px;
4945
inset-inline-start: -9999px;
5046
}
5147

5248
.line-number {
53-
vertical-align: text-top;
5449
white-space: nowrap;
5550
position: sticky;
5651
inset-inline-start: 0;
@@ -84,6 +79,16 @@ $color-background-code-view-dark: #282c34;
8479
}
8580
}
8681

82+
.code-table-with-line-wrapping {
83+
.line-number,
84+
.code-line {
85+
vertical-align: text-top;
86+
}
87+
&.code-table-with-actions {
88+
padding-inline-end: cs.$space-static-xxl;
89+
}
90+
}
91+
8792
.actions {
8893
position: absolute;
8994
inset-block-start: cs.$space-scaled-xs;

0 commit comments

Comments
 (0)