Skip to content

Merge develop into main - #64

Merged
Arthurk12 merged 20 commits into
mainfrom
develop
Jul 28, 2026
Merged

Merge develop into main#64
Arthurk12 merged 20 commits into
mainfrom
develop

Conversation

@Arthurk12

Copy link
Copy Markdown
Member

What does this PR do?

Merge from develop to main before releasing v0.6.0.

Arthurk12 and others added 20 commits July 20, 2026 18:53
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.
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
@Arthurk12
Arthurk12 merged commit 6bd75a6 into main Jul 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants