
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
material-ui-appframe
Advanced tools
Material UI is an implementation of Google's Material Design for projects using the React web development library. This library provides additional high level components for building the core layout of your application. Material UI AppFrame allows you to spend less time reinventing the wheel and more time focusing on what really matters.
npm install material-ui-appframe @material-ui/core @material-ui/icons
To get started, see the sample projects in the examples directory
At this time, the main features are:
Todo:
The layout components provided by Material UI AppFrame make it straightforward to describe the layout, navigation and routing of your application while keeping the code readable. The basic structure is as follows:
const App = () => (
<AppFrame>
<TitleBar>
{/* Place the contents of your title bar (App Bar) here. */}
</TitleBar>
<Navigation>
{/* Place your navigation components here. */}
</Navigation>
<MainContent>
{/* Place the main content of your app here. If your app has multiple views and you're
using a static title bar, this is a good place to add routes to different views. */}
</MainContent>
<BottomNavigation mobileOnly>
{/* Bottom navigation for mobile devices. */}
</BottomNavigation>
</AppFrame>
)
For a more complete example please see the demo. More examples will be coming soon.
What if you want to change the page to dark, that title bar to orange and the font of the title to something else? You're in luck because you've got plenty of options.
Material UI has a powerful concept of Themes, which is also fully embraced by AppFrame components.
Many of the desired visual changes to your application may be accomplished just by changing the theme.
To use a custom theme, simply wrap the AppFrame component in a ThemeProvider.
A good practice is to split your JSX tree early on into Providers and the actual App.
index.tsx:
ReactDOM.render(
<Providers>
<App />
</Providers>,
document.getElementById("root")
)
Providers.tsx:
/**
* Place providers, such as those provided by state management libraries here.
*/
interface Props {
children: React.ReactNode
}
export const Providers = (props: Props) => (
<MuiThemeProvider
theme={createMuiTheme({
/**
* Theme options go here.
*/
palette: { type: "dark" }
})}
>
{props.children}
</MuiThemeProvider>
)
With these changes, we can see that the apprearance of the page has already changed.
For a more fine-grained customization, the AppFrame components implement customization in a similar way to Material UI components.
For your convenience, Material UI AppFrame implements the popular Styled components pattern in a way that allows you to take advantage of TypeScript's strong typing and Material UI's theme. See example in demo.
If you need even more control, you can override classNames used by AppFrame components.
FAQs
Responsive application frame for Material UI web applications
We found that material-ui-appframe demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.