
Explore how Mui delivers a comprehensive React-specific component library with theming, grid layouts, and responsive design, enabling you to build stunning, complex apps with customizable components.
I fixed a bug in Material UI’s MUI X data grid export, making print export respect only selected rows and adding a get rows to export option.
Mastering MUI component customization walks you through every MUI component, building a foundation for learning and a reference guide, with independent videos and quizzes.
Learn basic JavaScript and basic React concepts (components, props, and state) in the browser using code sandbox, with no prior Mui experience required.
Explore the MUI ecosystem, including base UI, Material UI, Joy UI, and MUI X, and see how component library and its layout, styling, theming, and responsive design systems enable apps.
Navigate the Material UI documentation to explore component demos, API props, and CSS classes for effective customization. Use the default theme and how-to guides to tailor styles with confidence.
Access the course code via two options: download the code zip and run locally with npm install and npm run dev, or use the Code Sandbox per section.
Learn the basics of Material UI by importing, rendering, and customizing components with props, including button variants, onClick, component prop, and the sx prop, in code sandbox.
Explore the Material UI theme as a centralized styling hub, learning how to define colors, typography, breakpoints, spacing, shadows, and components through the palette and theme objects.
Discover how the sx prop styles material UI components by integrating with the theme, using typography variants, color palette shorthands, and spacing functions for consistent design.
Master the sx prop in Material UI: apply width, height, and percent values. Leverage theme tokens like border radius and shadows, and enable responsive and hover styles with ampersand selectors.
Master the basics of styling in Material UI by exploring static, dynamic, and theme-based approaches, and override MUI classes with ampersand selectors on components like button and menu.
Learn to build reusable Material UI styles with the styled API, access the theme for palette values, and create dynamic, wrapper, and external style approaches to reuse across an app.
Create a custom theme in Material UI to apply global styles via typography, define reusable classes, wrap your app with a ThemeProvider, and use component overrides for buttons.
Set up a custom Material UI theme and explore how the palette and custom colors integrate with components via the SE prop, responsive breakpoints, and styled utilities.
Mastering MUI's five-step styling system teaches you a repeatable process to customize any component, using the element inspector, class targeting, root versus subcomponent styling, component props, and the ampersand rule.
Learn the five-step styling system to customize any Mui component, applying selectors to radio group labels and radios, using the ampersand rule and nested subcomponent selectors.
Master the five-step styling system to customize Material UI components, as demonstrated by overriding chip and menu styles in the autocomplete using chip props and paper props.
Use the component classes object to reference Mui classes like option and group label when styling autocomplete. Transition to computed property names with template literals for easier styling.
Discover how the component x ray reveals the underlying HTML elements, CSS classes, and internal subcomponents of Material UI components, with direct links to source code and API details.
Explore the Material UI autocomplete component, including combo box and free solo modes. Customize option labels, grouping, sorting, disabled options, and controlled usage with value and onChange.
Explore how to customize the MUI autocomplete component end-to-end—from sizing with the S prop and nested element styling to theming the dropdown paper, options, icons, chips, and grouped labels.
Learn to use the Material UI button component and its variants: text, contained, and outlined, with elevation, ripple, on click actions, size, color, and icons.
Master button customization in MUI by styling with sx, applying custom bgcolor, font, size, and borders. Switch to outlined variants and fine-tune hover and disabled states with precise selectors.
Learn to design with the Material UI ButtonGroup by linking related buttons, applying variants, sizes, and theme colors, and explore orientation, elevation, ripple, disabled states, and nested groups.
Master button group customization in MUI using the sx prop to target child buttons, set background and border colors, and tailor hover and variants such as outlined and text.
Explore the checkbox component in mui, learn when to use checkboxes vs switches or radio buttons, and implement both controlled and uncontrolled checkboxes with state, labeling, and accessibility considerations.
Learn to customize Material UI checkboxes using the sx prop, adjust size and colors for checked and disabled states, and apply global styles via the form group.
Explore the floating action button, or fab, that keeps a main action accessible—like composing a new email—floating in the corner, with one per screen and variants, sizes, and theme-based colors.
Learn to customize the floating action button in MUI using the sx prop to set background color and font styles, with hover and disabled styling.
Explore how MUI form components—form control, form group, form label, form control label, and form helper text—work with checkboxes, label placement, and a fieldset-based structure to create accessible, customizable forms.
Mastering MUI form components teaches how to customize form control elements, labels, and helper text with selectors and the SE prop for precise color and typography.
Learn how to implement and customize the Material UI radio button component, including radio groups, form control, and accessibility considerations, with state management and icons.
Learn to customize MUI radio buttons by adjusting size with the sx prop, styling colors for idle and checked states, and applying label and disabled styles across a radio group.
Learn the Material UI rating component, including controlled and uncontrolled usage, hover and click interactions, custom icons, and accessibility considerations for product reviews and feedback.
Learn to customize the Material UI rating component by adjusting size, color for filled and empty stars, and star spacing using the six prop and specific selectors.
Explore how to implement and customize Material UI's select component: manage state, render values, add placeholders, enable multi-select, and integrate with labels, helper text, and accessibility.
Master the Material UI select component by customizing labels, colors, borders, icons, and dropdown behavior across hover, focus, and error states.
Configure and use the MUI slider component to support controlled and uncontrolled states, steps, min and max, and range selection. Enhance orientation, color, labels, accessibility, and value display.
Master the Material UI slider by customizing colors, rails, marks, and thumbs, including active and disabled states. Apply per-thumb and per-state styles with selectors and data-index for precise control.
Learn to implement the MUI switch as a controlled component, toggle state with useState, apply disabled and size, use color prop from theme, and add labeling with FormControlLabel and aria-label.
Learn to customize the MUI switch using the sx prop, targeting the MUI switch base and track, adjust off and on colors, and resize the thumb and track.
Master Material UI text fields for controlled inputs with labels, placeholders, variants, and validation. Add icons, adornments, multi-line support, types, and responsive sizing.
Learn to customize the text field in MUI by styling borders, hover and focus states, background, label, placeholder, helper text, and error or disabled states across standard and filled variants.
Master the toggle button in Material UI by building a toggle button group, managing single or multiple selections with React state, and customizing size, color, orientation, and accessibility labels.
Explore customizing the toggle button and group in MUI using the sx prop, with selectors to control borders, backgrounds, hover, selected states, and icon sizes for full visual control.
Master the Material UI avatar component to render images, text, or icons as user avatars with circular defaults and variants, while using avatar group, spacing, and max for overlap.
Master avatar customization by changing background color with the SE prop, resizing to 60, and styling text and icons for individual or group avatars, including the overlapping effect.
Explore how to implement and customize the Material UI badge component, including content, color, dot variant, overlap, anchor origin, show zero, max, and accessibility with aria-label.
Learn to customize the badge component in Material UI by removing secondary color, applying a SCS style prop, and adjusting background, borders, font, size, margins, and icon styling for control.
Learn to implement and customize chip components in Material UI, including active filters, icons, avatars, and interactive delete actions. Build chips with color, variant, size, and on-click or on-delete handlers.
Learn to customize the MUI chip component using the sx prop to apply colors, fonts, sizes, borders, avatar and delete icon styling, including hover effects.
Learn the Material UI divider component to separate content, customize with inset and middle variants, place text inside the divider with text align, and build vertical dividers with flex.
Learn to customize the divider component in MUI by adjusting top and bottom heights, using selectors, and styling text, spacing, and borders for flexible layouts.
Learn to customize the MUI table component by styling the head and body, applying colors, fonts, borders, alternating row colors, padding, and pagination controls.
Master the Material UI tooltip to add helpful labels and precision on buttons and elements. Learn about placement, arrows, follow cursor, interactions, transitions, and accessibility basics for custom components.
Learn to customize the tooltip in mui by passing styles via the tooltip's props, setting max width and height, and rendering custom components inside.
Explore the typography component in Material UI, learn to use variants like H1–H6, body, and caption, control alignment, spacing, no-wrap truncation, and reuse theme styles for consistent text.
Explore typography customization in Material UI by overriding variants with the s prop, building a custom theme, and creating reusable variants like blue text.
Learn to implement the Material UI alert component with severity levels, variants, color overrides, dismissible behavior, actions, icons, and optional alert title for dynamic, in-app notifications.
Learn to customize the MUI alert by adjusting width, height, typography, and colors with the SE prop and theme. Use selectors to style the title, icons, and close button.
Learn how the backdrop component creates a dark overlay to isolate elements, enabling popups or loading indicators with an open prop, optional click-to-dismiss, and 2-second transition.
Learn how to customize the MUI backdrop by adjusting the transition duration and using rgb(a) colors with opacity to create a see-through overlay that reveals the underlying app.
Explore the dialog component in mui to create modal popups that confirm actions such as deleting items. Wire up open state, customize with keep mounted, transitions, and viewport sizing.
Learn to customize the dialogue component in Material UI by styling with sx, adjusting background, size, typography, action alignment, borders, and even building a custom layout with grid.
Explore circular and linear progress indicators to provide loading feedback, control color and size, switch between determinate and indeterminate modes, and implement the buffer variant for secondary progress.
Explore customizing Material UI progress components by tuning circular and linear progress with size, thickness, and width controls, colors, and animation duration using box wrappers and precise selectors.
Learn to use the Material UI skeleton component as a loading placeholder to improve perceived responsiveness while data loads, with rectangular, circular variants and customizable dimensions.
Customize the Material UI skeleton by changing its color with the sx prop, using rgb values with opacity (like light blue) to preserve the wave animation.
Learn to implement and customize the Material UI snackbar component, including auto hide duration, positioning with anchor origin, transitions, and optional actions like undo, to provide lightweight feedback.
Learn to customize the snack bar in Material UI using the styling prop to set background color from the theme, adjust font styles, and fix its size.
Learn to implement a Material UI accordion (expansion panel) as a FAQ, building single or multiple accordions from a questions array with controlled or uncontrolled state and expand icons.
Learn to customize the Material UI accordion with styling props: set background, font, and colors for expanded and disabled states, adjust heights, limit width, and style the expansion icon.
Explore MUI's App Bar and its toolbar for header layout, with the color prop and an offset to push content below. Learn position options—fixed, absolute, relative, static, sticky, and bottom.
Learn how to customize the app bar in MUI by changing colors beyond the theme, adjusting height, and updating the offset and content alignment to center the header.
Master the Material UI card component, a paper-based compound component that displays a single item with header, media, content, and actions, and learn to use elevation and avatars.
Customize Material UI card with SE prop for background and content, style header title white Verdana 1rem and subheader orange Verdana 0.75rem, set max width 400px and media width 250px.
Learn how the paper component serves as a background container for multiple items and how to adjust elevation, variant, and square corners.
Explore customizing the paper component with the SE prop by adjusting padding, background color, and Verdana white typography, and set max width 600 and min width 300.
Learn to implement a bottom navigation with Material UI, using icons and actions, manage the active item with useState, and optionally show labels or enable routing via the component prop.
Pin the bottom navigation with a paper wrapper, set fixed position, apply sx styles for a red background, and customize inactive and active icons, labels, sizes, and disable ripple.
Explore how the breadcrumbs component clarifies site navigation by showing the page chain (shopping / apparel / hats), using links and typography, with customizable separators, max items, and accessibility labels.
Learn to customize Material UI breadcrumbs by styling the separator and links with the sx prop, adjusting colors, font, spacing, and the expand button and its icon.
Explore how to implement a Mui drawer component, toggling from a button, with anchor options, permanent and temporary variants, and swipeable, persistent modes.
Learn to customize the drawer component in Material UI by adjusting width and height in the paper selector, setting a background color, and styling list items with white Verdana text.
Learn how to use the MUI link component for external and internal navigation, customize color and typography, and control underline and new tab behavior with target and rel.
Master the Material UI link component by customizing typography and colors from the theme, applying custom text styles with the sx prop, and controlling underline behavior on hover or with the underline prop.
Learn to implement and customize the Material UI menu: control anchor element and open state, add items with icons or avatars, and use anchor origin and transform origin for positioning.
Learn how to customize the Material UI menu: adjust size, colors, typography, dividers, and states (selected, disabled), and remove gutters for precise, cohesive styling across items.
Explore the pagination component to split content into pages, navigate via the UI, and customize color, variant, shape, size, first/last controls, and disabled state.
Learn to customize the MUI pagination component with sx styles, custom icons via renderItem and the components prop, and state-aware styles for selected, disabled, and hover interactions.
Master speed dial in Material UI by building a compact action menu with icons, tooltips, and accessible aria labels, then customize direction, open state, and icons.
Learn to customize the MUI speed dial by adjusting the fab props for the floating action button, hover states, icon sizing, and the speed dial actions via SE props.
Explore the stepper component in Material UI, building linear and nonlinear wizards with horizontal and vertical layouts, step labels, content, navigation, completion, and mobile variants.
Master stepper customization by styling icons, labels, and connectors with the SE prop, SVG fill, and advanced selectors; explore custom icons, completed states, and mobile variants.
Mastering MUI tabs demonstrates how to create a navigable header using the tabs component, manage selection state, enable center, scrollable, and full-width variants, add icons, and apply accessibility props.
Learn to customize mui tabs with text color, indicators, spacing, and orientation using selectors, the SE prop, and slot props; extend with custom start/end buttons and icon styling.
Master the box component in Material UI as a wrapper to style elements, using the sx prop and theme values for palette, spacing, and typography.
Customize the Mui box component by changing its rendered element with the component prop and applying styles directly as props to wrap and style child elements.
Explore the container component in Material UI, wrapping the app to manage layout, with max width breakpoints, fixed versus fluid behavior, and controlled gutters for consistent page design.
Explore customizing the material-ui container component with the SE prop for styling, padding, and fonts, and improve accessibility and SEO by using a main element.
Master the grid component as the layout skeleton, using containers and items with flexbox, responsive breakpoints (12-column system), spacing, justify content, and align items.
Walk through using the grid component to build a responsive YouTube-like layout from scratch by breaking the design into grid containers and items, including left and right sections.
Learn to build a responsive YouTube-style layout with Material UI grid. Implement a left subscription sidebar and a right video grid, using breakpoints, avatars, icons, typography, and text truncation.
Customize the grid component by applying styles directly as props and using the 12-column system with breakpoints, while ensuring each grid item defines column values for every defined breakpoint.
Explore Material UI's image list to display images in configurable columns, with adjustable row height and gaps, and styles like standard, woven, and quilted, plus an image list item bar.
Customize the image list in Material UI by styling the image list item bar with rgba colors, adjusting title and subtitle text, and refining layout with alignment and padding.
Master the stack component in Material UI v5, arranging items in a single direction with spacing and alignment controls, plus dividers for clean item separation.
Learn to customize the Material UI stack component by applying styling directly on the stack via the sx prop, including responsive direction, alignment, and divider behavior across breakpoints.
Explore the click away listener in MUI to detect outside clicks and dismiss components. Integrate base UI and material UI with box, icons, and speed dial actions for contextual behavior.
Explain how the CSS baseline component resets browser styles, normalizes margins and typography, and wires the theme to native HTML elements. Highlight color scheme support and the scoped baseline option.
Customize the css baseline by wiring a material ui theme provider and merging custom values with the default theme to control typography (body1) and the palette, including dark mode.
Learn how the Material UI modal forms the foundation for dialogs, drawers, menus, and tooltips; manage open state, backdrops, accessibility, transitions, and nested modals.
Learn to customize the MUI modal by building a blue backdrop with styled, wire it via slots, and adjust z-index so the white modal sits above the backdrop.
Learn how the Material UI no SSR component removes components from server-side rendering. Use the fallback and defer props to improve time to first paint and initial page load.
Learn to use the popper component to create non-blocking popups attached to an anchor, customize placement, and enhance accessibility, while understanding when to favor tooltip or modal alternatives.
Explore how the portal component, wrapper around createPortal, renders a dialog or paper in a different dom container, such as under an app bar, and implement a rendering workaround.
Learn how the text area autosize component in Material UI automatically expands with input, contrasts with a native textarea, and how to size, style, and set accessibility attributes.
Master Material UI transitions to add smooth animations and micro-interactions with collapse, fade, and more, using in/out control, timeout, mount on enter, unmount on exit, and easing presets.
Explore how to implement and customize Material UI transitions like collapse, fade, grow, slide, and zoom. Learn to control collapsed size, orientation, transform origin, and forward refs for custom components.
Master transition group functionality in Material UI by animating list items on add and remove with collapse transitions, using React Transition Group for smooth in and out effects.
Master the useMediaQuery hook to detect screen size and adapt MUI layouts with responsive grid directions, color props, and theme breakpoints across mobile and desktop.
learn to use the use scroll trigger hook to detect scrolling and control an app bar with slide transitions, adjusting threshold, hysteresis, and target.
Welcome to Mastering MUI: Component Customization!
Whether you're just starting out with React or Material UI, or you've been using MUI for years, you just found the best, most comprehensive course to deepen your knowledge and expand your skills. Mastering MUI was created by Zachary Reece, a best-selling MUI instructor of over 20,000 students, who has even contributed to the MUI source code! Buckle up for a deep dive into the most popular React component library used by some of the biggest tech companies in the world like Spotify, Amazon, NASA, and Netflix! If you're looking to develop a marketable skillset that can get you into these high-earning positions then a new chapter of your journey starts here.
Material UI (MUI) is the most popular React component library with over 90,000 stars on GitHub! That's more than any competing libraries - even more than TailwindCSS and Bootstrap. MUI is so popular because it is so powerful. If you're still relatively new to React then you may ask - what is a component library? I'm glad you asked! A component library is a collection of pre-built React components for all the most common web elements like sliders, switches, ratings, alerts, and so much more. Every application you build requires these basic components. Instead of building them from scratch every time, using MUI allows you to start out with an entire suite of these ready-to-go components so you can get going faster and focus on building the new, more interesting parts of your web app! Learn to let Material UI do the heavy lifting for you with its comprehensive customizable component library with integrated styling, theming, layout, and responsive design systems.
MUI is not just a simple component library. What makes it so powerful is the fact that it comes with an entire ecosystem of tools all integrated together which solve all the most common problems you face when working with a large number of components! MUI has an amazing built-in styling system allowing you to customize your components in any way imaginable to match your own custom designs. To simplify your customizations you can centralize all your most commonly used styles in one convenient place and access them from anywhere using the theming system! Anything stored in the theme can easily be accessed in any component which streamlines your styles, reduces redundancy, and makes your code more maintainable to update in the future. MUI also comes with an integrated layout system to arrange your components on the screen in a consistent and predictable way using the Grid component. Finally, there is an incredible responsive design system built into the components, the layout system, and the styling and theming systems to adapt your styles and layouts to the user's device ensuring your applications look perfect on every screen size.
This is a truly unique course on Material UI - there's no other course like it! We will examine every single component in the component library. That includes everything about how each component works, specific use cases for when to use one component over another, the underlying DOM elements that each component renders, and advanced techniques for customizing every little detail of each component (even when it's in different states like disabled or focused). You'll learn customizations that you can't even find in the MUI documentation!
Not only will you learn every secret tip and trick to every component, but you'll also learn all the foundational core concepts of Material UI and how to get the most out of all its powerful features. When you're learning anything new it's so important to start with the basics and develop a rock solid understanding of the core concepts. This builds a strong foundation that you can then build on top of by learning more advanced concepts and techniques in the future - that's exactly what this course delivers!
The course is also full of quizzes that test your understanding of the functionality and customization techniques for every component to ensure you're learning all of the most important concepts. The course ends with a final Mastery Assessment to put all your knowledge to the test and see if you have really mastered MUI!
Material UI has started expanding beyond just a component library into an entire ecosystem under MUI. This now includes Base UI, Joy UI, Material UI, MUI X, and MUI System. As this ecosystem continues to evolve there's more information to learn, it becomes more difficult for beginners to know where to start, and even seasoned developers have a hard time keeping up with all the changes. That's exactly why Mastering MUI was created. We are dedicated to providing you with the most comprehensive MUI education, broken apart into digestible pieces with a clear structure that sets you up for success with deep understanding and practical skills. This course is your first step along the road to Mastering MUI!
Here are some of the main concepts you're going to be learning from our expert instructor:
Learn to use every single component in Material UI (including all important component props)
Customize every single detail of every component to override the default styles
Develop an easy and repeatable 5-step system to applying any customization for any component
Know when to use one component instead of another similar component (like Box vs Paper)
Understand the MUI styling system with the SX prop and all of its powerful features and shorthand syntax
Dive even deeper to see the DOM elements rendered by every component using the Component X-Ray
Breakdown and build complex layouts with responsive design that adapt to screen size using the Grid component
Explore the entire MUI ecosystem and how its evolving beyond just a simple component library
Apply global styles that affect every component in your project using the Material UI theming system
Use a shortcut to writing your styling selectors using the Component Classes object
Practice everything you learn with 13 quizzes, 6 assignments, and 1 final mastery assessment at the end
After taking this course you will be completely confident in your ability to use and customize any current or future Material UI components all on your own! You'll be ready to start using MUI to build your own projects with stunning design and simple code. You'll become the expert that everyone on your team will look to for advice when they're still stuck figuring out how to override some default styles!
Along with lifetime access to 24 HOURS of content, you'll also find easy access to support through active Q/A. You've got nothing to lose - this course comes with a 30-day money-back guarantee in case you aren't completely satisfied!
Take the first step along your journey to Mastering MUI today and learn real React skills beyond the basics.