MUI#
@palmyralabs/rt-forms-mui — the Material-UI-skinned implementation of the rt-forms component library. Every widget here is a thin wrapper around an MUI primitive, wired into a PalmyraForm’s field manager or a server-backed grid.
| Section | Scope |
|---|---|
| Forms | Input components — text, date, select, lookup, plus read-only View variants |
| Grid | StaticGrid, PalmyraGrid, and the plugin ecosystem (filter, pagination) |
Install#
npm install @mui/material @mui/icons-material @mui/x-date-pickers \
@emotion/react @emotion/styled dayjs \
@palmyralabs/rt-forms @palmyralabs/rt-forms-muiProvider wiring#
Wrap your app in an MUI ThemeProvider (with CssBaseline), the LocalizationProvider from @mui/x-date-pickers (required for every date/time widget), and inject your Wire store factory:
import { ThemeProvider, createTheme, CssBaseline } from '@mui/material';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
import { StoreFactoryContext } from '@palmyralabs/palmyra-wire';
import AppStoreFactory from './wire/StoreFactory';
const theme = createTheme({ palette: { mode: 'light' } });
createRoot(document.getElementById('root')!).render(
<ThemeProvider theme={theme}>
<CssBaseline />
<LocalizationProvider dateAdapter={AdapterDayjs}>
<StoreFactoryContext.Provider value={AppStoreFactory}>
<App />
</StoreFactoryContext.Provider>
</LocalizationProvider>
</ThemeProvider>
);Differences vs the Mantine package#
- No slider component.
MuiSlider.tsx.bakis a disabled backup; MUI currently ships no active slider / range-slider / rating-as-slider widget. The Mantine package has these. - No tri-state checkbox. Mantine ships
MantineTriStateCheckBox(viaext/TriStateCheckBox); the MUI package does not. - View-mode widgets. MUI has dedicated read-only variants (
MuiTextView,MuiDateView,MuiOptionsView,MuiLookupView) for detail screens; Mantine relies on thereadOnlyprop instead. - Date stack. Every date/time widget requires
@mui/x-date-pickers+LocalizationProvider. Mantine uses@mantine/dates— no extra provider. - Grid types.
PalmyraGridOptions/StaticGridOptionsare declared locally in the MUI package’sgrid/types.ts(Mantine re-uses the shapes from@palmyralabs/rt-forms). The imports you write differ.