Skip to content

Commit

Permalink
revise the overview page
Browse files Browse the repository at this point in the history
  • Loading branch information
danilo-leal committed Sep 7, 2023
1 parent 6d765df commit 524118f
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 31 deletions.
61 changes: 30 additions & 31 deletions docs/data/joy/getting-started/overview/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,11 @@ title: Overview

<p class="description">Joy UI is a library of beautifully designed React UI components built to spark joy in the development process.</p>

## Introduction

Joy UI is an open-source React component library that implements MUI's own in-house design [principles](#principles).
Joy UI is a library of beautifully designed React UI components built to spark joy in the development process.

It includes foundational pre-built components that look beautiful by default, and give you plenty of room to customize their look and feel.
## Introduction

Use Joy UI to spark joy in the creative process of building your next app.
Joy UI is an open-source React component library, including many foundational pre-built components that follow a lightly opinionated design direction, thoughtfully crafted to ensure a great-looking UI while giving you plenty of room to customize how they look and feel.

:::warning
Joy UI is currently in active development, and breaking changes are to be expected.
Expand All @@ -22,44 +20,45 @@ We're adding new components and features regularly, and you're welcome to contri
Look for the [`package: joy-ui`](https://github.com/mui/material-ui/labels/package%3A%20joy-ui) label on open issues and pull requests in the `mui/material-ui` repository on GitHub to see what other community members are working on, and feel free to submit your own.
:::

## Advantages of Joy UI
## Why use Joy UI

Maintained by MUI, Joy UI is an alternative to Material UI for projects that aren't planning to adhere to or use it as a base, the Material Design specifications.

These two sister libraries feature many of the same components and similarly designed component APIs, so you can quickly start building with one if you've used the other before.

### Beautiful out of the box

- **Ship faster:** Joy UI gives you pre-built components with a sleek and carefully designed look and feel, so you don't need design skills to ship beautiful UIs rapidly.
- **Extensive customization options:** you can customize each and every tiny piece of Joy UI's components to match your own unique design.
- **Accessibility in mind:** Joy UI components are built on top of [Base UI's unstyled components and low-level hooks](/base-ui/getting-started/), giving you support for many accessibility features out of the box.
We do our best to make all components screen reader-friendly, and also offer suggestions for optimizing accessibility throughout our documentation.
Joy UI follows a lightly opinionated design direction we've been calling Joy Design.
Meant to be simple and functional, it offers a thoughtfully crafted set of defaults that ensure your next project starts off looking great, even without any deep customizations.

## Joy UI vs. Material UI
The [Order Dashboard](/joy-ui/getting-started/templates/order-dashboard/) template below, available on the [Templates](/joy-ui/getting-started/templates/) page, uses very light customizations to demonstrate how carefully designed all components were, ensuring they work well together.

Joy UI is intended to serve as an alternative to Material UI for designs that don't adhere to Material Design specifications.
These two sister libraries feature many of the same components, and similarly designed component APIs, so you can quickly start building with one if you've used the other before.
<img src="/static/joy-ui/overview/order-dashboard.png" style="width: 814px; margin-top: 4px; margin-bottom: 8px;" alt="The Order Dashboard template, inspired by Untitled UI and built by the MUI team using Joy UI with very little customizations." width="1628" height="400" />

Try Joy UI if you appreciate the comprehensiveness and reliability of Material UI, but don't need all of the additional baggage that comes along with Material Design.
### Highly customizable

## Principles
You should feel inspired and empowered to change, extend, and revamp Joy UI's appearance and behavior with ease.
Drawing from many years of experience with Material UI, Joy UI applies new approaches to customization, enabling you to customize every piece of the components to match your unique design.

### Include only what's essential
Using Gatsby's documentation side nav as an example, the demo below shows how to customize the [List](/joy-ui/react-list/) component using built-in CSS variables.

Joy UI should work with the least amount of effort possible.
We're striving for the essential only, both in the component API and design (look and feel).
{{"demo": "../../components/list/ExampleCollapsibleList.js"}}

Components should have only what they need to do the job.
What is considered essential is drawn from MUI's experience over the years developing component libraries, as well as from benchmarks of modern API and design guidelines—especially when it comes to developing web apps.
### Developer experience

### Make it beautiful out of the box
One of the main goals of Joy UI is to spark joy in the creative process of building apps.
This is why promoting an unrivaled developer experience is a big priority.

Joy UI needs to be simple yet characteristic.
Visual attributes such as scale, size, and density should be consistent across all of the components so they live together nicely.
An example of this can be demonstrated by the automatic adjustment of the [Input](/joy-ui/react-input/) component, whereby by customizing its border radius, all components inside it will adapt accordingly, ensuring a great design and saving you time.

We aim to spark delight with simplicity and attention to detail.
You should feel like your UI looks great from the start.
{{"demo": "../../main-features/automatic-adjustment/InputVariables.js"}}

### Encourage creativity
### Accessibility

Working with Joy UI shouldn't feel stiff or rigid—you should feel inspired and empowered to change, extend, and revamp Joy UI's appearance and behavior with ease.
We want it to become your go-to starting point for building UIs.
Joy UI components are built on top of [Base UI's unstyled components and low-level hooks](/base-ui/getting-started/), giving you support for many accessibility features out of the box.
We do our best to make all components screen reader-friendly and offer suggestions for optimizing accessibility throughout our documentation.

### Prioritize developer experience
One example of this is the [Input](/joy-ui/react-input/) component that needs to have a descriptive label linked to help users understand its purpose.
Joy UI's Form Control component automatically generates a unique ID that links the Input with the Form Label and Form Helper Text components to ensure you adhere to this principle.

A great developer experience is not only about the quality of the code we ship, but also about how clear the documentation is, and what learning resources are available for developers.
We hope that every step of the experience brings you joy.
{{"demo": "../../components/input/InputField.js"}}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 524118f

Please sign in to comment.