Skip to content

Commit d145f1e

Browse files
committed
Merge branch 'master' of github.com:marmelab/react-admin into next
2 parents b346414 + 4c2c2b3 commit d145f1e

File tree

292 files changed

+26425
-1245
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

292 files changed

+26425
-1245
lines changed

.github/workflows/deploy-doc-headless.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ on:
33
push:
44
branches:
55
- master
6-
- next # TODO remove
7-
- headless-doc-content # TODO remove
6+
7+
# Allows you to run this workflow manually from the Actions tab
8+
workflow_dispatch:
89

910
concurrency:
1011
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ examples/**/static
1414
examples/**/dist
1515
cypress/videos
1616
cypress/screenshots
17+
cypress/downloads
1718
/public
1819
/storybook-static
1920
.pnp.*

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22

3+
## 5.11.1
4+
5+
* Fix `<Datagrid>` and `<DataTable>` bulk selection ([#10918](https://github.com/marmelab/react-admin/pull/10918)) ([djhi](https://github.com/djhi))
6+
* Revert usage on `<ListIterator>` in `ra-ui-materialui` ([#10919](https://github.com/marmelab/react-admin/pull/10919)) ([djhi](https://github.com/djhi))
7+
* [Doc] Update ra-realtime documentation for 5.2.0 ([#10914](https://github.com/marmelab/react-admin/pull/10914)) ([djhi](https://github.com/djhi))
8+
* [chore] Upgrade Cypress ([#10913](https://github.com/marmelab/react-admin/pull/10913)) ([djhi](https://github.com/djhi))
9+
310
## 5.11.0
411

512
* Add ability to use a `ReactNode` as create label in `<AutocompleteInput>` and `<SelectInput>` ([#10883](https://github.com/marmelab/react-admin/pull/10883)) ([Madeorsk](https://github.com/Madeorsk))

cypress/cypress.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import vitePreprocessor from 'cypress-vite';
44
export default defineConfig({
55
fixturesFolder: 'fixtures',
66
screenshotsFolder: 'screenshots',
7+
downloadsFolder: 'downloads',
78
videosFolder: 'videos',
89
viewportWidth: 1280,
910
viewportHeight: 720,

cypress/e2e/navigation.cy.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ describe('Navigation', () => {
1212
// additional rerenders, and otherwise it's the 'Skip to content' button that gets focused
1313
cy.contains('John Doe');
1414
cy.contains('Posts');
15-
cy.get(ListPage.elements.profile).focus().tab();
15+
cy.get(ListPage.elements.profile)
16+
.focus()
17+
.press(Cypress.Keyboard.Keys.TAB);
1618

1719
cy.get(`${ListPage.elements.menuItems}:first-child`).should(
1820
'have.class',
@@ -27,7 +29,7 @@ describe('Navigation', () => {
2729

2830
ListPage.waitUntilVisible();
2931

30-
cy.get('body').tab();
32+
cy.get('body').press(Cypress.Keyboard.Keys.TAB);
3133

3234
cy.get(ListPage.elements.skipNavButton).should('exist');
3335
});

cypress/package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@
77
"test": "yarn node ./start.js"
88
},
99
"devDependencies": {
10-
"cypress": "^10.9.0",
11-
"cypress-plugin-tab": "^1.0.5",
12-
"cypress-vite": "^1.4.0",
10+
"cypress": "^15.0.0",
11+
"cypress-vite": "^1.7.0",
1312
"express": "^4.20.0"
1413
}
1514
}

cypress/support/index.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import 'cypress-plugin-tab';
2-
31
/*
42
* This is a workaround for the ResizeObserver loop error that occurs in Cypress.
53
* See https://github.com/cypress-io/cypress/issues/20341

docs/Architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ Although this drawback exists, we accept it because the use of composition in re
219219

220220
## Hooks
221221

222-
When you find that you cannot tweak a react-admin component using props, you can always turn to the lower-level API: hooks. In fact, the core of react-admin is a headless library called `ra-core`, which primarily consists of hooks. These hooks hide the framework's implementation details, allowing you to focus on your business logic. It's perfectly normal to use react-admin hooks in your own components if the default UI doesn't meet your specific requirements.
222+
When you find that you cannot tweak a react-admin component using props, you can always turn to the lower-level API: hooks. In fact, the core of react-admin is a headless library called [`ra-core`](https://marmelab.com/ra-core/), which primarily consists of hooks. These hooks hide the framework's implementation details, allowing you to focus on your business logic. It's perfectly normal to use react-admin hooks in your own components if the default UI doesn't meet your specific requirements.
223223

224224
For example, the `<DeleteButton>` button used in `pessimistic` mode renders a confirmation dialog when clicked and then calls the `dataProvider.delete()` method for the current record. If you want the same feature but with a different UI, you can use the `useDeleteWithConfirmController` hook:
225225

docs/Contributing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ import { useListController } from 'ra-core';
250250

251251
That's because the `react-admin` package simply re-exports components from internal packages. React-admin is a *distribution* of several packages, each dedicated to a specific feature. These packages can be found in [the `packages/` directory](https://github.com/marmelab/react-admin/tree/master/packages). Some of the more notable packages include:
252252

253-
* `ra-core`: The core react-admin logic, without any UI.
253+
* [`ra-core`](https://marmelab.com/ra-core/): The core react-admin logic, without any UI.
254254
* `ra-ui-materialui`: The Material UI skin for react-admin.
255255
* `ra-data-*`: Data providers for various data backends.
256256
* `ra-language-*`: Interface translations for various languages.

docs/Features.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -279,13 +279,11 @@ And for mobile users, react-admin renders a different layout with larger margins
279279

280280
React-admin components use Material UI components by default, which lets you scaffold a page in no time. As Material UI supports [theming](#theming), you can easily customize the look and feel of your app. But in some cases, this is not enough, and you need to use another UI library.
281281

282-
You can change the UI library you use with react-admin to use [Ant Design](https://ant.design/), [Daisy UI](https://daisyui.com/), [Chakra UI](https://chakra-ui.com/), or even you own custom UI library. The **headless logic** behind react-admin components is agnostic of the UI library, and is exposed via `...Base` components and controller hooks.
283-
284-
For instance, [`shadcn-admin-kit`](https://github.com/marmelab/shadcn-admin-kit) is a react-admin distribution that replaces Material UI with [Shadcn UI](https://ui.shadcn.com/).
282+
Fortunately, react-admin is built on top of a **headless library** called [`ra-core`](https://marmelab.com/ra-core/), which contains hooks and `...Base` components that you can use with any UI library. For instance, [`shadcn-admin-kit`](https://github.com/marmelab/shadcn-admin-kit) is a react-admin distribution that replaces Material UI with [Shadcn UI](https://ui.shadcn.com/).
285283

286284
[![Shadcn admin kit](https://github.com/marmelab/shadcn-admin-kit/raw/main/public/shadcn-admin-kit.webp)](https://github.com/marmelab/shadcn-admin-kit)
287285

288-
`shadcn-admin-kit` follows the same syntax conventions as react-admin, so most of the react-admin documentation still applies. For example, the `<ProductEdit>` component looks like this:
286+
`shadcn-admin-kit` follows the same syntax conventions as react-admin, so most of the react-admin syntax still applies. For example, the `<ProductEdit>` component looks like this:
289287

290288
```tsx
291289
import {
@@ -313,7 +311,7 @@ export const ProductEdit = () => (
313311
);
314312
```
315313

316-
Here is another example: a List view built with [Ant Design](https://ant.design/):
314+
You can also build apps with `ra-core` and [Ant Design](https://ant.design/), [Daisy UI](https://daisyui.com/), [Chakra UI](https://chakra-ui.com/), or even you own custom UI library. For example, here is a List view built with [Ant Design](https://ant.design/):
317315

318316
![List view built with Ant Design](./img/list_ant_design.png)
319317

@@ -322,7 +320,7 @@ It leverages the `useListController` hook:
322320
{% raw %}
323321

324322
```jsx
325-
import { useListController } from 'react-admin';
323+
import { useListController } from 'ra-core';
326324
import { Card, Table, Button } from 'antd';
327325
import {
328326
CheckCircleOutlined,

0 commit comments

Comments
 (0)