You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/CONTRIBUTING.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ For code issues please include:
16
16
* React-admin version
17
17
* React version
18
18
* Browser version
19
-
* A code example or link to a repo, gist or running site. (hint: fork [this sandbox](https://codesandbox.io/s/github/marmelab/react-admin/tree/master/examples/simple) to create a reproducible version of your bug)
19
+
* A code example or link to a repo, gist or running site. (hint: fork [this sandbox](https://stackblitz.com/github/marmelab/react-admin/tree/master/examples/simple) to create a reproducible version of your bug)
20
20
21
21
For visual or layout problems, images or animated gifs can help explain your issue.
22
22
It's even better with a live reproduction test case.
Copy file name to clipboardExpand all lines: README.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ A frontend Framework for building data-driven applications running in the browse
22
22
23
23
* ☂️ **Opt-In Types**: Develop either in TypeScript or JavaScript
24
24
25
-
* 👨👩👧👦 Powered by [MUI](https://mui.com/), [react-hook-form](https://react-hook-form.com), [react-router](https://reacttraining.com/react-router/), [react-query](https://react-query-v3.tanstack.com/), [TypeScript](https://www.typescriptlang.org/) and a few more
25
+
* 👨👩👧👦 Powered by [Material UI](https://mui.com/material-ui/getting-started/overview/), [react-hook-form](https://react-hook-form.com), [react-router](https://reacttraining.com/react-router/), [react-query](https://react-query-v3.tanstack.com/), [TypeScript](https://www.typescriptlang.org/) and a few more
26
26
27
27
## Installation
28
28
@@ -58,7 +58,7 @@ render(
58
58
);
59
59
```
60
60
61
-
The `<Resource>` component is a configuration component that allows you to define sub components for each of the admin view: `list`, `edit`, and `create`. These components use MUI and custom components from react-admin:
61
+
The `<Resource>` component is a configuration component that allows you to define sub components for each of the admin view: `list`, `edit`, and `create`. These components use Material UI and custom components from react-admin:
62
62
63
63
```jsx
64
64
// in posts.js
@@ -130,11 +130,11 @@ React-admin is designed as a library of loosely coupled React components and hoo
130
130
131
131
There are several examples inside the `examples` folder:
132
132
133
-
*`simple` ([CodeSandbox](https://codesandbox.io/s/github/marmelab/react-admin/tree/master/examples/simple), [StackBlitz](https://stackblitz.com/github/marmelab/react-admin/tree/master/examples/simple?file=src%2Findex.tsx)): a simple blog with posts, comments and users that we use for our e2e tests.
133
+
*`simple` ([StackBlitz](https://stackblitz.com/github/marmelab/react-admin/tree/master/examples/simple?file=src%2Findex.tsx)): a simple blog with posts, comments and users that we use for our e2e tests.
134
134
*`e-commerce`: ([demo](https://marmelab.com/react-admin-demo/), [source](https://github.com/marmelab/react-admin/tree/master/examples/demo)) A fictional poster shop admin, serving as the official react-admin demo.
135
135
*`CRM`: ([demo](https://marmelab.com/react-admin-crm/), [source](https://github.com/marmelab/react-admin/tree/master/examples/crm)) A customer relationship management application
136
136
*`helpdesk`: ([demo](https://marmelab.com/react-admin-helpdesk/), [source](https://github.com/marmelab/react-admin-helpdesk)) A ticketing application with realtime locks and notifications
137
-
*`tutorial` ([CodeSandbox](https://codesandbox.io/s/github/marmelab/react-admin/tree/master/examples/tutorial)): the application built while following the [tutorial](https://marmelab.com/react-admin/Tutorial.html).
137
+
*`tutorial` ([Stackblitz](https://stackblitz.com/github/marmelab/react-admin/tree/master/examples/tutorial)): the application built while following the [tutorial](https://marmelab.com/react-admin/Tutorial.html).
138
138
139
139
You can run those example applications by calling:
140
140
@@ -199,7 +199,7 @@ You can use Gitpod (an open source, online VS Code-like IDE) for working on issu
199
199
200
200
### Testing Your Changes In The Example Apps
201
201
202
-
When developing, most of the time we use the **simple example** to do visual check. It's the same application that we use in CodeSandbox to reproduce errors (see https://codesandbox.io/s/github/marmelab/react-admin/tree/master/examples/simple). The source is located under `examples/simple/`. Call `make run` to launch that example on port 8080 (http://localhost:8080). This command includes a `watch` on the react-admin source, so any of the changes you make to the react-admin packages triggers a live update of the simple example in your browser.
202
+
When developing, most of the time we use the **simple example** to do visual check. It's the same application that we use in Stackblitz to reproduce errors (see https://stackblitz.com/github/marmelab/react-admin/tree/master/examples/simple). The source is located under `examples/simple/`. Call `make run` to launch that example on port 8080 (http://localhost:8080). This command includes a `watch` on the react-admin source, so any of the changes you make to the react-admin packages triggers a live update of the simple example in your browser.
203
203
204
204
However, the simple example is sometimes too limited. You can use the **demo example** (the source for https://marmelab.com/react-admin-demo/), which is more complete. The source is located under `examples/demo/`. Call `make run-demo` to launch the demo example with a REST dataProvider, or `make run-graphql-demo` to run it with a GraphQL dataProvider. Unfortunately, due to the fact that we use Create React App for this demo, these commands don't watch the changes made in the packages. You'll have to rebuild the react-admin packages after a change (using `make build`, or the more targeted `make build-ra-core`, `make build-ra-ui-materialui`, etc.) to see the effect in the demo app.
Copy file name to clipboardExpand all lines: docs/Admin.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -209,7 +209,7 @@ const App = () => (
209
209
210
210
## `dashboard`
211
211
212
-
By default, the homepage of an admin app is the `list` of the first child `<Resource>`. But you can also specify a custom component instead. To fit in the general design, use MUI's `<Card>` component, and [react-admin's `<Title>` component](./Title.md) to set the title in the AppBar:
212
+
By default, the homepage of an admin app is the `list` of the first child `<Resource>`. But you can also specify a custom component instead. To fit in the general design, use Material UI's `<Card>` component, and [react-admin's `<Title>` component](./Title.md) to set the title in the AppBar:
213
213
214
214
```jsx
215
215
// in src/Dashboard.js
@@ -270,7 +270,7 @@ When users type URLs that don't match any of the children `<Resource>` component
270
270
271
271

272
272
273
-
You can customize this page to use the component of your choice by passing it as the `catchAll` prop. To fit in the general design, use MUI's `<Card>` component, and [react-admin's `<Title>` component](./Title.md):
273
+
You can customize this page to use the component of your choice by passing it as the `catchAll` prop. To fit in the general design, use Material UI's `<Card>` component, and [react-admin's `<Title>` component](./Title.md):
274
274
275
275
```jsx
276
276
// in src/NotFound.js
@@ -342,7 +342,7 @@ export const MyMenu = () => {
342
342
};
343
343
```
344
344
345
-
**Tip**: `<Menu.Item>` must be used to avoid unwanted side effects in mobile views. It supports a custom text and icon (which must be a MUI`<SvgIcon>`).
345
+
**Tip**: `<Menu.Item>` must be used to avoid unwanted side effects in mobile views. It supports a custom text and icon (which must be a Material UI`<SvgIcon>`).
346
346
347
347
Then, pass it to the `<Admin>` component as the `menu` prop:
348
348
@@ -361,7 +361,7 @@ See the [Theming documentation](./Theming.md#using-a-custom-menu) for more detai
361
361
362
362
## `theme`
363
363
364
-
MUI supports [theming](https://mui.com/customization/themes). This lets you customize the look and feel of an admin by overriding fonts, colors, and spacing. You can provide a custom MUI theme by using the `theme` prop:
364
+
Material UI supports [theming](https://mui.com/material-ui/customization/theming/). This lets you customize the look and feel of an admin by overriding fonts, colors, and spacing. You can provide a custom Material UI theme by using the `theme` prop:
365
365
366
366
```jsx
367
367
import { defaultTheme } from'react-admin';
@@ -450,7 +450,7 @@ You can also disable it completely along with the `/login` route by passing `fal
450
450
451
451
See The [Authentication documentation](./Authentication.md#customizing-the-login-component) for more details.
452
452
453
-
**Tip**: Before considering writing your own login page component, please take a look at how to change the default [background image](./Theming.md#using-a-custom-login-page) or the [MUI theme](#theme). See the [Authentication documentation](./Authentication.md#customizing-the-login-component) for more details.
453
+
**Tip**: Before considering writing your own login page component, please take a look at how to change the default [background image](./Theming.md#using-a-custom-login-page) or the [Material UI theme](#theme). See the [Authentication documentation](./Authentication.md#customizing-the-login-component) for more details.
@@ -22,7 +22,7 @@ By default, the `<AppBar>` component displays:
22
22
23
23
You can customize the App Bar by creating a custom component based on `<AppBar>`, with different props.
24
24
25
-
**Tip**: Don't mix react-admin's `<AppBar>` component with [MUI's `<AppBar>` component](https://mui.com/material-ui/api/app-bar/). The first one leverages the second but adds some react-admin-specific features.
25
+
**Tip**: Don't mix react-admin's `<AppBar>` component with [Material UI's `<AppBar>` component](https://mui.com/material-ui/api/app-bar/). The first one leverages the second but adds some react-admin-specific features.
26
26
27
27
## Usage
28
28
@@ -70,7 +70,7 @@ const App = () => (
70
70
|`toolbar`| Optional |`ReactElement`| - | The content of the toolbar |
71
71
|`userMenu`| Optional |`ReactElement`| - | The content of the dropdown user menu |
72
72
73
-
Additional props are passed to [the underlying MUI`<AppBar>` element](https://mui.com/material-ui/api/app-bar/).
73
+
Additional props are passed to [the underlying Material UI`<AppBar>` element](https://mui.com/material-ui/api/app-bar/).
74
74
75
75
## `children`
76
76
@@ -121,7 +121,7 @@ const MyAppBar = () => (
121
121
122
122
## `color`
123
123
124
-
React-admin's `<AppBar>` renders an MUI`<AppBar>`, which supports a `color` prop to set the app bar color depending on the theme. By default, the app bar color is set to the `secondary` theme color.
124
+
React-admin's `<AppBar>` renders an Material UI`<AppBar>`, which supports a `color` prop to set the app bar color depending on the theme. By default, the app bar color is set to the `secondary` theme color.
125
125
126
126
This means you can set the app bar color to 'default', 'inherit', 'primary', 'secondary', 'transparent', or any string.
127
127
@@ -162,7 +162,7 @@ This property accepts the following subclasses:
162
162
|`& .RaAppBar-menuButton`| Applied to the hamburger icon |
163
163
|`& .RaAppBar-title`| Applied to the title portal |
164
164
165
-
To override the style of `<AppBar>` using the [MUI style overrides](https://mui.com/customization/theme-components/), use the `RaAppBar` key.
165
+
To override the style of `<AppBar>` using the [Material UI style overrides](https://mui.com/material-ui/customization/theme-components/#theme-style-overrides), use the `RaAppBar` key.
If your app uses [authentication](./Authentication.md), the `<AppBar>` component displays a button to display the user menu on the right side. By default, the user menu only contains a logout button.
Copy file name to clipboardExpand all lines: docs/Architecture.md
+9-5Lines changed: 9 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -99,13 +99,17 @@ React-admin has two sets of users:
99
99
100
100
For each feature, we design the User Experience (UX) and the Developer Experience (DX) carefully.
101
101
102
-
For the visual part, react-admin builds upon MUI, which is the implementation of the Material Design System. It's a great help to build usable, consistent user interfaces, but it's not enough.
102
+
For the visual part, react-admin builds upon Material UI, which is the implementation of the Material Design System. It's a great help to build usable, consistent user interfaces, but it's not enough.
103
103
104
104
We spend a great deal of time refining the UI to make it as intuitive as possible. We pay attention to small alignment glitches, screen flashes, and color inconsistencies. We iterate with every customer feedback, to remove visual and animation problems that occur in real-life applications.
105
105
106
106
React-admin produces a user interface that is voluntarily bland by default because we want to emphasize content rather than chrome.
As for the developer experience, react-admin is constantly evolving to find the sweet spot between an intuitive API, power user features, not too much magic, and just enough documentation. The core team are the first testers of react-admin, and pay attention to the productivity, debuggability, discoverability, performance, and robustness of all the hooks and components.
111
115
@@ -115,7 +119,7 @@ Many excellent open-source libraries already address partial requirements of B2B
115
119
116
120
Rather than reinventing the wheel, react-admin uses the best tools in each category (in terms of features, developer experience, active maintenance, documentation, user base), and provides a glue around these libraries.
117
121
118
-
In react-admin v4, these libraries are called react-query, react-router, react-hook-form, MUI, testing-library, date-fns, and lodash.
122
+
In react-admin v4, these libraries are called react-query, react-router, react-hook-form, Material UI, testing-library, date-fns, and lodash.
119
123
120
124
When a new requirement arises, the react-admin teams always looks for an existing solution, and prefers integrating it rather than redeveloping it.
Before adding a new hook or a new prop to an existing component, we always check if there isn't a simple way to implement the feature in pure React. If it's the case, then we don't add the new prop. We prefer to keep the react-admin API, code, test, and documentation simple. This choice is crucial to keep the learning curve acceptable, and maintenance burden low.
174
178
175
-
For instance, the `<SimpleShowLayout>` component displays Field elements in a column. How can you put two fields in a single column? We could add a specific syntax allowing to specify the number of elements per column and per line. This would complicate the usage and documentation for simple use cases. Besides, it's doable in pure React, without any change in the react-admin core, e.g. by leveraging MUI's `<Stack>` component:
179
+
For instance, the `<SimpleShowLayout>` component displays Field elements in a column. How can you put two fields in a single column? We could add a specific syntax allowing to specify the number of elements per column and per line. This would complicate the usage and documentation for simple use cases. Besides, it's doable in pure React, without any change in the react-admin core, e.g. by leveraging Material UI's `<Stack>` component:
176
180
177
181
```jsx
178
182
import*asReactfrom'react';
@@ -224,7 +228,7 @@ Every time we implemented child inspection, we regretted it afterward. We tend t
224
228
React-admin is a *distribution* of several packages, each of which handles a specific feature. The packages are all located in the `packages/` directory. The most notable packages are:
225
229
226
230
*`ra-core`: The core react-admin logic, without any UI.
227
-
*`ra-ui-materialui`: The MUI skin for react-admin.
231
+
*`ra-ui-materialui`: The Material UI skin for react-admin.
228
232
*`ra-data-*`: Data providers for various data backends.
229
233
*`ra-language-*`: Interface translations for various languages.
230
234
*`react-admin`: the standard distribution of react-admin
0 commit comments