Repository navigation
Releases: Banzamel/mineralui-react
Release list
v2.6.0 - Area selection, chat files, grouped navbar actions
Minor release. Nothing to change in your code. Coming from 2.5.2? Read the 2.5.3 notes first: MStack spacing became the gap between children and the styles moved into a cascade layer.
- MWeekGrid:
selectablelets people drag over the grid (mouse, pen or finger) instead of clicking every hour. Live preview,onSelectRange/onSelectingRange, whole day / hour from the headers, Shift + arrows and Enter from the keyboard. - MChat (Pro): messages take
attachments(download chips). MChatInput takes any file type viaattachAccept, limits withmaxFiles/maxSize, works as a controlled field, inserts text withref.insertText()and shows your ownactions. - MNavbar: with
collapseActionsthe action groups and the burger stay together at the end of the bar on desktop. - Focus outlines on about 30 components use the theme focus colour, visible in both themes.
- MScheduler (Pro): the keyboard move frame shows the time in narrow week columns.
v2.5.4 - Navbar blur is back
Patch release. Nothing to change in your code.
- Fixed: in 2.5.3 the transparent MNavbar (the default variant) lost its blur, so page content scrolling under a sticky bar showed through it.
v2.5.3 - Phone layouts, menus and chat fixes
Patch release. Two changes may need a look in your code:
spacingon MStack is now the gap between children. Before, it added a margin on every side. If you relied on that margin, usepadding(inside) ormy/mx(outside).- Framework styles sit in the
mineralcascade layer, so your CSS always overrides components. Global element rules such asa { color }orbutton { }now win over components too, and:roottheme tokens in your stylesheet now take effect.
Also in this release:
- MHeading: new
alignprop andtone="inherit"; heading sizes come from the--mineral-font-size-h1…h6tokens and h1–h3 shrink on phones. A colouredMText as="span"inside a heading keeps the heading font and line height. - MText:
tone="inherit"takes the parent colour. - MNavbar: the mobile menu is opaque (token
--mineral-navbar-menu-bg) and the drawer is positioned against the window. - MGitHubIcon works with
color="inherit". - MChat (Pro): line breaks are kept, image-only messages have no empty bubble, groups show their title initials or the new
avatar, MChatHeader takesactions, newshowSender.
v2.5.2 - Focus ring you can see
Patch release. Nothing to change in your code.
- The keyboard focus ring on buttons, checkboxes, toggles, fields, calendar events and other controls is now a two-tone ring in the theme's text colour. Before, it was a faint ring in the component colour that almost disappeared on the dark theme.
- New CSS tokens --mineral-focus-ring-color and --mineral-focus-ring-offset let you restyle it. --mineral-focus-ring-opacity is no longer used.
v2.5.1 - hiddenAbove works everywhere
Patch release. Nothing to change in your code.
- hiddenAbove now hides MButton, MText, MStack, MImage and the other 20 components that accept it above the chosen breakpoint. Before, only MGrid columns honoured it and the rest passed it to the DOM, where React warned about an unknown attribute.
v2.5.0 - Keyboard and screen reader support, 200+ fixes
Minor release. Nothing to change in your code — no export, prop or CSS class was removed. Update and the fixes are in.
- Keyboard support everywhere it was missing: sliders, ratings, colour picker, number fields, date and time pickers, dropdown menus, command palette, tabs, tree view, week grid, calendar boards, timeline, canvas grid, carousels and the sidebar. Built on the WAI-ARIA patterns screen readers expect.
- Focus is visible again on checkboxes, radios, toggles and fields, and it goes back where it came from when a popover, menu or confirmation closes.
- The color prop now works on MSlider, MAvatar and MCardWidget.
- Dates no longer shift by a day east of UTC (date range picker value, timeline day keys), and adding a month to 31 January gives the end of February.
- Form fields: OTP, expiry date, decimal commas, IBANs with letters, name fields with digits, Enter in date fields, read-only clear button and caret position after formatting all behave as expected.
- Props that did nothing now work: MChart labelFormatter, minItemWidth, MHeader bordered, MInputGroup variant, the hidden attribute.
- Themes: MThemeProvider follows the mode prop, a local theme no longer overrides the user's choice, dark sections inside light pages look right, and getMThemeInitScript() removes the theme flash on server-rendered pages.
- Every built-in label and validation message can be translated through MI18nProvider.
- @banzamel/mineralui-pro now ships under its commercial licence instead of MIT (see mineralui.io/terms-of-service). The free @banzamel/mineralui stays MIT.
v2.4.3 - Form, overlay and accessibility fixes
Patch release. Nothing to change in your code — update and the fixes are in.
- MForm with validationMode="onChange" validates what was just typed; the error no longer lags one keystroke behind, and onChange fires once per change.
- A dismissible MBanner calls onDismiss once and no longer announces itself as the page header.
- MModal, MDrawer, MSheet and the gallery image preview move focus into the dialog, keep Tab inside it and give focus back when they close. With two open, Escape closes only the top one.
- MSelect and MAutocomplete tell screen readers which option is highlighted. MTooltip is announced with its trigger, closes on Escape and stays on screen.
- Built-in labels (Close, Clear input, Next slide...) can be translated through MI18nProvider under mineralui.common.*.
- Animations respect the reduced-motion setting across the framework.
v2.4.2 - Dark theme contrast fixes
Patch release. Nothing to change in your code — update and the fixes are in.
- MCalendarBoard event text and the DensityBar tooltip stay readable in both themes.
- MStepper indicators keep their contrast on dark surfaces instead of blending into the page background.
- MInputFile crop hints and MAvatarStack tooltips use the proper text colour again.
- Scene illustrations keep their inset surfaces, markers and warning badges visible in the dark theme.
- A new shared spacing token, --mineral-spacing-3xl, is available for your own layouts.
v2.4.1 - Dark theme and accessibility fixes
Patch release. Nothing to change in your code — update and the fixes are in.
- MWeekGrid looks right in the dark theme: empty cells no longer light up white, they take a soft tint of the text colour on any surface.
- MWeekGrid's legend shows only the shades your data can produce, so an on/off grid (max 1) reads "unavailable / available" instead of four swatches with repeated labels. The legend and its labels can now be translated through MI18nProvider.
- Clickable MWeekGrid cells are real keyboard buttons with a spoken name — day, hour and value — and a visible focus outline.
- MChat message bubbles, the typing indicator, the input field and hover states have a background again in both themes.
v2.4.0 - A real scheduler, in the box
Minor release. MineralUI gets a calendar group — a full scheduler for Pro and a compact mini calendar for everyone. Nothing existing breaks: MCalendarBoard and MTimelineBoard moved into the new group and are still exported from data exactly as before.
New: MScheduler (Pro)
- One set of events, every view you need. Week, day, day split by resource, a horizontal timeline, month and agenda all read the same data, so switching views never means reshaping it. Use the all-in-one MScheduler or compose it yourself from the toolbar, filter bar, body and view parts, and drive it through the useMScheduler hook.
- Built for people, rooms and equipment. Group resources into sets and pick one from the view menu: the day view gives each resource its own column, the timeline gives each one a row with a sticky name column and hour header — both scroll sideways when there are more than fit.
- Availability that means something. Mark lunch breaks, closures or maintenance as unavailable slots. By default they are a visual hint; flag them as blocking and the scheduler refuses anything dropped on them. Block events always refuse — and a block tied to resources only stops events of those resources.
- Drag, drop and resize everywhere it makes sense — time grid, timeline and month (moving across days keeps the time of day). Every move is validated live against your own rule, and a refusal tells the user why, right on the drop target. Everything also works from the keyboard, and touch uses a long-press so scrolling stays scrolling.
- Select a range to create an event, open event details with organiser and participants, see "+N more" in busy month cells and drill into the day and back.
- Grow with the page. Set height to auto and the views stop scrolling inside a box: they take the height they need and their headers stick to the top of the page.
New: MMiniCalendar (Basic)
- A small month picker with proper keyboard navigation, following the WAI-ARIA date grid pattern. Free in the Basic package.
Smaller additions
- MDropdownItem takes a description, a role and a checked state, so menus can show checkbox and radio items with a second line of text.
- MSelect lets you set the placeholder of its search field.
Import the new components from @banzamel/mineralui-pro/calendar (or @banzamel/mineralui/calendar for MMiniCalendar).