How to wrap or truncate long strings in a Material-UI ExpansionPanelSummary
up vote
0
down vote
favorite
I want to create an ExpansionPanel
where the summary might be a quite long string of unbroken characters (i.e. no hyphens, no spaces).
When I tried it out, the ExpansionPanelSummary
component displays poorly on a narrow width display - it overwrites the button and overflows off-screen.
Here is my example, forked from the ExpansionPanel Material-UI demo, shrink the width of the output frame and you can see the email addresses don't wrap and look ugly: https://codesandbox.io/s/wqm5k3vmyw
I've tried using nowrap
on the Typography
to get it to clip (my preferred solution):
<ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>
<Typography nowrap className={classes.heading}>
areallyreallylongaddress@email.example.com
</Typography>
</ExpansionPanelSummary>
I've also tried adding a style overflowWrap: "break-word"
to force it to wrap anywhere, not just on hyphens or whitespace.
The best I've been able to do is to get the text to not overflow outside the expansion panel itself by adding style={{ textOverflow: "ellipsis", overflow: "hidden" }}
to the ExpansionPanel
(see the second example from the linked example).
Ideally, I'd like it to function by truncating from the right of the context, showing an ellipsis and not overwriting the expand icon.
How can I do that with ExpansionPanel
?
Failing that, how can I just force it to word-wrap?
I'm using material-UI v3.4.0 and the problem is visible on Chrome and Firefox.
css material-ui
add a comment |
up vote
0
down vote
favorite
I want to create an ExpansionPanel
where the summary might be a quite long string of unbroken characters (i.e. no hyphens, no spaces).
When I tried it out, the ExpansionPanelSummary
component displays poorly on a narrow width display - it overwrites the button and overflows off-screen.
Here is my example, forked from the ExpansionPanel Material-UI demo, shrink the width of the output frame and you can see the email addresses don't wrap and look ugly: https://codesandbox.io/s/wqm5k3vmyw
I've tried using nowrap
on the Typography
to get it to clip (my preferred solution):
<ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>
<Typography nowrap className={classes.heading}>
areallyreallylongaddress@email.example.com
</Typography>
</ExpansionPanelSummary>
I've also tried adding a style overflowWrap: "break-word"
to force it to wrap anywhere, not just on hyphens or whitespace.
The best I've been able to do is to get the text to not overflow outside the expansion panel itself by adding style={{ textOverflow: "ellipsis", overflow: "hidden" }}
to the ExpansionPanel
(see the second example from the linked example).
Ideally, I'd like it to function by truncating from the right of the context, showing an ellipsis and not overwriting the expand icon.
How can I do that with ExpansionPanel
?
Failing that, how can I just force it to word-wrap?
I'm using material-UI v3.4.0 and the problem is visible on Chrome and Firefox.
css material-ui
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I want to create an ExpansionPanel
where the summary might be a quite long string of unbroken characters (i.e. no hyphens, no spaces).
When I tried it out, the ExpansionPanelSummary
component displays poorly on a narrow width display - it overwrites the button and overflows off-screen.
Here is my example, forked from the ExpansionPanel Material-UI demo, shrink the width of the output frame and you can see the email addresses don't wrap and look ugly: https://codesandbox.io/s/wqm5k3vmyw
I've tried using nowrap
on the Typography
to get it to clip (my preferred solution):
<ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>
<Typography nowrap className={classes.heading}>
areallyreallylongaddress@email.example.com
</Typography>
</ExpansionPanelSummary>
I've also tried adding a style overflowWrap: "break-word"
to force it to wrap anywhere, not just on hyphens or whitespace.
The best I've been able to do is to get the text to not overflow outside the expansion panel itself by adding style={{ textOverflow: "ellipsis", overflow: "hidden" }}
to the ExpansionPanel
(see the second example from the linked example).
Ideally, I'd like it to function by truncating from the right of the context, showing an ellipsis and not overwriting the expand icon.
How can I do that with ExpansionPanel
?
Failing that, how can I just force it to word-wrap?
I'm using material-UI v3.4.0 and the problem is visible on Chrome and Firefox.
css material-ui
I want to create an ExpansionPanel
where the summary might be a quite long string of unbroken characters (i.e. no hyphens, no spaces).
When I tried it out, the ExpansionPanelSummary
component displays poorly on a narrow width display - it overwrites the button and overflows off-screen.
Here is my example, forked from the ExpansionPanel Material-UI demo, shrink the width of the output frame and you can see the email addresses don't wrap and look ugly: https://codesandbox.io/s/wqm5k3vmyw
I've tried using nowrap
on the Typography
to get it to clip (my preferred solution):
<ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>
<Typography nowrap className={classes.heading}>
areallyreallylongaddress@email.example.com
</Typography>
</ExpansionPanelSummary>
I've also tried adding a style overflowWrap: "break-word"
to force it to wrap anywhere, not just on hyphens or whitespace.
The best I've been able to do is to get the text to not overflow outside the expansion panel itself by adding style={{ textOverflow: "ellipsis", overflow: "hidden" }}
to the ExpansionPanel
(see the second example from the linked example).
Ideally, I'd like it to function by truncating from the right of the context, showing an ellipsis and not overwriting the expand icon.
How can I do that with ExpansionPanel
?
Failing that, how can I just force it to word-wrap?
I'm using material-UI v3.4.0 and the problem is visible on Chrome and Firefox.
css material-ui
css material-ui
edited Nov 9 at 10:38
Elham Esmaeeli
776
776
asked Nov 9 at 7:44
Shorn
6,55733575
6,55733575
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53221621%2fhow-to-wrap-or-truncate-long-strings-in-a-material-ui-expansionpanelsummary%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown