BBButton: let a long label wrap instead of overflowing
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- react, typescript
- Área
- frontend
Línea de trabajo
Start in src/components/Button/styles.ts, where commonButtonStyles sets white-space: nowrap, and compare it with the stacked layout's ButtonText clamp. Check how the component passes className through, since the issue relies on that. Before coding, get a maintainer decision on wrap-by-default versus an opt-in wrapLabel prop. Done means a long label wraps inside a narrow fullWidth container, short labels look unchanged, and a Storybook story or test covers both cases.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is your feature request related to a problem? Please describe.
BBButton never wraps its label: commonButtonStyles sets white-space: nowrap. When the button can't grow, for example a fullWidth button in a narrow popover or a dialog footer on a phone, a long translation overflows the button instead of breaking onto a second line.
The BigBlueButton 4.0 client already overrides this in three places:
- Confirmation modal footer:
white-space: normal(bigbluebutton/bigbluebutton#25942) - Take/request presenter button in the media-sharing popover:
white-space: normal(bigbluebutton/bigbluebutton#25942) - Poll "add option" button:
white-space: pre-wrap, through a wrapper's& > buttonrule
Since 0.9.0 forwards className, each override is a one-liner. But every consumer only finds out it needs one after a label overflows in some language.
Describe the solution you'd like
Either of these:
- Wrap by default.
BBButtonisinline-flexand sizes itself to its label, so a label only wraps when its container is narrower than the label. A button with room renders exactly as today. Thestackedlayout already wraps:ButtonTextclamps to two lines. - An opt-in prop,
wrapLabel?: boolean, for the default layout.
The truncation request (#106) is the other answer to the same overflow. Both could share one prop, for example labelOverflow?: 'nowrap' | 'wrap' | 'ellipsis'.
Describe alternatives you've considered
styled(BBButton) with white-space: normal at each call site, which is what the client does today.
Affected component(s)
BBButton
Proposed API / Usage Example
// Wrapping by default: no change at call sites.
<BBButton label={intl.formatMessage(messages.takePresenter)} fullWidth size="sm" onClick={take} />
// Or opt-in:
<BBButton label={longLabel} fullWidth wrapLabel onClick={take} />
Additional context
A wrapped label makes the button taller, for example 37px to 56px at sm, so buttons in a row can end up with different heights. The client accepts that, because the alternative is an overflowing label.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2
- Forks
- 5
- Merge medio
- 1 d 16 h
- PR fusionados (30 d)
- 12
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de bigbluebutton/bbb-ui-components-react
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
bigbluebutton/bbb-ui-components-react#108 ·
Los mantenedores suelen responder en 2 días
-
BBButton: subtle variant with neutral color has an opaque white background, so it renders white on white in dark modeQuizá libre de nuevo @nisatsama la tomó hace 10 días y no hay ningún pull request abierto. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
bigbluebutton/bbb-ui-components-react#100 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
bigbluebutton/bbb-ui-components-react#107 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 3/5 Medio día Aptitud para principiantes 55/100
bigbluebutton/bbb-ui-components-react#106 ·
Los mantenedores suelen responder en 2 días
-
Add support for dark themeAbiertoenhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
bigbluebutton/bbb-ui-components-react#87 ·
Los mantenedores suelen responder en 2 días
Todos los issues de bigbluebutton/bbb-ui-components-react
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
callstackincubator/simlock#639 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
aws/agentcore-cli#2606 ·
Los mantenedores suelen responder en 1 día
-
ai-driven-qa bug Cosmetic
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
ai-driven-qa bug claude Minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
linagora/twake-mail-admin#301 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día