Conversation
Adds a new BBBInput component unifying the recurring "text field + submit button" pattern found ad hoc in chat, guest messages and breakouts (issue #34): an auto-growing textarea with a labeled action button, submit-on-Enter, controlled/uncontrolled value handling matching BBBSearch, an opt-in "sent" feedback affordance, and beforeButton/afterButton slots for extra actions (e.g. an emoji picker) next to the submit button. Registers the component across the package's export surface (components index, webpack entries, package.json exports/typesVersions, root README) following the existing per-component conventions.
…ment renders aria-labelledby was always pointed at a generated "-label" id, but only the stacked layout (and default layout with a label) actually render an element with that id. On circle layout, or default layout without a label, the id never exists in the DOM, so axe flags it as referencing a missing element. Now it falls back to aria-label in those cases instead.
…it button The existing layouts don't fit a compact icon-only button next to a single line of text: circle/stacked are fixed-size boxes (3rem/4.5rem) that make the row taller than the text line dictates, and default layout's border-radius reads as nearly round at small sizes. squared is icon-only, sized by its own equal padding (not a fixed box), with a smaller border radius so it reads as squared rather than round — matching the real chat input's send button shape, which BBBInput now uses by default for icon-only submissions.
fix(BBButton): only default aria-labelledby when a matching label element renders
Adds showFeedback/feedbackContent/feedbackDuration props so a button can briefly swap its label/icon for a confirmation (e.g. "Copied") after being clicked, mirroring the sent-feedback affordance already used by BBBInput. Documents the new props in the README and Storybook.
feat(BBBInput): add labeled text field with inline action button
Documents every public prop across all component types.ts/type.ts files so IDE autocomplete surfaces what each prop does, reusing the wording already written for Storybook's argTypes where available. Also adds a one-line description above every named story export explaining what it demonstrates. Adds eslint-plugin-jsdoc with jsdoc/multiline-blocks and jsdoc/lines-before-block, scoped to types.ts/type.ts, to keep prop JSDoc single-line with a blank line above going forward.
Only Default and Header were covered before, leaving selected, text2, text3, and button undocumented in Storybook. Adds one story per missing variant plus an AllVariants story that renders them all side by side for quick visual comparison.
Captures which files to create/update when adding a new component or a new prop to an existing one, and the commit type/scope conventions this repo relies on for automatic changelog and version generation.
The browserslist config already excludes dead browsers (which covers IE11), and this library's own peer deps — react@^18 and @mui/material@^6||^7 — dropped IE11 support already. Targeting ES5 was just adding class/generator-emulation overhead for a browser baseline nothing here actually supports anymore.
Without an explicit "include", tsc scans the whole project directory for inputs. Since "dist" wasn't excluded, any previously-built .d.ts files sitting there got picked up as inputs too, colliding with the compiler's own declaration output path (TS5055) whenever the project was type-checked directly (e.g. by the editor) instead of built via webpack/ts-loader, which follows the entry graph and never hit this.
feat(BBButton): add transient click feedback
docs: add JSDoc to component props and story descriptions, update claude.md and other small build fixes
fix(palette): align fallback colors with bigbluebutton-html5's palette
Renames src/stylesheets/pallete.ts to the correctly-spelled palette.ts and updates all 17 internal imports accordingly. No public API or behavior change.
README.md and CLAUDE.md still referenced the old @mconf npm scope after the package was renamed to @bigbluebutton/bbb-ui-components-react in package.json.
docs: update @mconf to @bigbluebutton and fix typo in file name
Selector applied its own border on top of MUI OutlinedInput's built-in notchedOutline fieldset border, causing two overlapping borders to render in space-constrained containers, most noticeably on focus. Borders are now driven solely through the notchedOutline, colored via palette tokens for default, hover and focus states.
fix(BBBSelect): remove duplicated outline
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Merge from develop to main before releasing v0.6.0.