Material-UI has TypeScript support. If you wrap a Material-UI component in a brand component, you lose the component's TypeScript typing! With the BrandButton, the type is a generic React FunctionComponent type: . When using the component directly and applying styles via theme overrides and props, the component type from Material-UI remains. The StylesProvider component lets us change how styles are applied to child components. The options will be available in all child elements of the StylesProvider. We can use the injectFirst boolean prop to add styles that override existing Material UI styles. This way, styles we referenced from external CSS files will override Material UI's. The CSS Box Alignment module specifies CSS features that relate to the alignment of boxes in the various CSS box layout models: block layout, table layout, flex layout, and grid layout. The module aims to create a consistent method of alignment across all of CSS. This document details the general concepts found in the specification.