Skip to content

Commit 585d6b9

Browse files
fix(deps): update dependency @chakra-ui/react to v3 (#1802)
* fix(deps): update dependency @chakra-ui/react to v3 * Remove unnecessary packages * Add snippets * Updates * Remove unused * Remove ColorModeProvider? * Fix * Fix --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Nathan Bierema <[email protected]>
1 parent 6468c48 commit 585d6b9

File tree

12 files changed

+978
-441
lines changed

12 files changed

+978
-441
lines changed

packages/redux-devtools-rtk-query-monitor/demo/package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,13 @@
1111
},
1212
"dependencies": {
1313
"@babel/runtime": "^7.27.1",
14-
"@chakra-ui/react": "^2.10.9",
14+
"@chakra-ui/react": "^3.19.1",
1515
"@emotion/react": "^11.14.0",
16-
"@emotion/styled": "^11.14.0",
1716
"@mswjs/data": "^0.16.2",
1817
"@redux-devtools/core": "workspace:^",
1918
"@redux-devtools/dock-monitor": "workspace:^",
2019
"@redux-devtools/rtk-query-monitor": "workspace:^",
2120
"@reduxjs/toolkit": "^2.8.2",
22-
"framer-motion": "^12.15.0",
2321
"msw": "^2.8.7",
2422
"react": "^19.1.0",
2523
"react-dom": "^19.1.0",

packages/redux-devtools-rtk-query-monitor/demo/src/App.tsx

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import PokemonView from './features/pokemon/PokemonView';
22
import PostsView from './features/posts/PostsView';
3-
import { Box, Flex, Heading } from '@chakra-ui/react';
4-
import { Link, UnorderedList, ListItem } from '@chakra-ui/react';
3+
import { Box, Flex, Heading, List } from '@chakra-ui/react';
4+
import { Link } from '@chakra-ui/react';
55
import { Code } from '@chakra-ui/react';
66
import * as React from 'react';
77
import { DevToolsSelector } from './features/DevTools/DevToolsSelector';
@@ -27,44 +27,48 @@ export function App() {
2727
</Box>
2828
</Flex>
2929
<Flex p="2" as="footer">
30-
<UnorderedList p="2">
31-
<ListItem>
30+
<List.Root p="2">
31+
<List.Item>
3232
<Link
3333
className="link"
34-
isExternal
34+
target="_blank"
35+
rel="noopener noreferrer"
3536
href="https://github.com/FaberVitale/redux-devtools/tree/feat/rtk-query-monitor/packages/redux-devtools-rtk-query-monitor/demo"
3637
>
3738
demo source
3839
</Link>
39-
</ListItem>
40-
<ListItem>
40+
</List.Item>
41+
<List.Item>
4142
<Link
4243
className="link"
43-
isExternal
44+
target="_blank"
45+
rel="noopener noreferrer"
4446
href="https://github.com/FaberVitale/redux-devtools/tree/feat/rtk-query-monitor/packages/redux-devtools-rtk-query-monitor"
4547
>
4648
@redux-devtools/rtk-query-monitor source
4749
</Link>
48-
</ListItem>
49-
<ListItem>
50+
</List.Item>
51+
<List.Item>
5052
<Link
5153
className="link"
52-
isExternal
54+
target="_blank"
55+
rel="noopener noreferrer"
5356
href="https://github.com/reduxjs/redux-toolkit/tree/master/examples/query/react/polling"
5457
>
5558
polling example
5659
</Link>
57-
</ListItem>
58-
<ListItem>
60+
</List.Item>
61+
<List.Item>
5962
<Link
6063
className="link"
61-
isExternal
64+
target="_blank"
65+
rel="noopener noreferrer"
6266
href="https://github.com/reduxjs/redux-toolkit/tree/master/examples/query/react/mutations"
6367
>
6468
mutations example
6569
</Link>
66-
</ListItem>
67-
</UnorderedList>
70+
</List.Item>
71+
</List.Root>
6872
</Flex>
6973
</main>
7074
);
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
'use client';
2+
3+
import React from 'react';
4+
import { ChakraProvider, defaultSystem } from '@chakra-ui/react';
5+
6+
export function Provider({ children }: { children: React.ReactNode }) {
7+
return <ChakraProvider value={defaultSystem}>{children}</ChakraProvider>;
8+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
'use client';
2+
3+
import React from 'react';
4+
import {
5+
Toaster as ChakraToaster,
6+
Portal,
7+
Spinner,
8+
Stack,
9+
Toast,
10+
createToaster,
11+
} from '@chakra-ui/react';
12+
13+
export const toaster = createToaster({
14+
placement: 'bottom-end',
15+
pauseOnPageIdle: true,
16+
});
17+
18+
export const Toaster = () => {
19+
return (
20+
<Portal>
21+
<ChakraToaster toaster={toaster} insetInline={{ mdDown: '4' }}>
22+
{(toast) => (
23+
<Toast.Root width={{ md: 'sm' }}>
24+
{toast.type === 'loading' ? (
25+
<Spinner size="sm" color="blue.solid" />
26+
) : (
27+
<Toast.Indicator />
28+
)}
29+
<Stack gap="1" flex="1" maxWidth="100%">
30+
{toast.title && <Toast.Title>{toast.title}</Toast.Title>}
31+
{toast.description && (
32+
<Toast.Description>{toast.description}</Toast.Description>
33+
)}
34+
</Stack>
35+
{toast.action && (
36+
<Toast.ActionTrigger>{toast.action.label}</Toast.ActionTrigger>
37+
)}
38+
{toast.closable && <Toast.CloseTrigger />}
39+
</Toast.Root>
40+
)}
41+
</ChakraToaster>
42+
</Portal>
43+
);
44+
};

packages/redux-devtools-rtk-query-monitor/demo/src/features/DevTools/DevToolsSelector.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export function DevToolsSelector() {
1414
return (
1515
<Box as="section" p="2">
1616
<Heading as="h2">Set active devTools</Heading>
17-
<ButtonGroup variant="outline" spacing="4" p="4">
17+
<ButtonGroup variant="outline" gap="4" p="4">
1818
<Button
1919
aria-selected={!extensionEnabled}
2020
colorScheme="blue"

packages/redux-devtools-rtk-query-monitor/demo/src/features/pokemon/Pokemon.tsx

Lines changed: 41 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
import React, { useState } from 'react';
2-
import { Button, Select } from '@chakra-ui/react';
2+
import { Button, createListCollection, Portal, Select } from '@chakra-ui/react';
33
import { useGetPokemonByNameQuery } from '../../services/pokemon';
44
import type { PokemonName } from '../../pokemon.data';
55

6-
const intervalOptions = [
7-
{ label: 'Off', value: 0 },
8-
{ label: '3s', value: 3000 },
9-
{ label: '5s', value: 5000 },
10-
{ label: '10s', value: 10000 },
11-
{ label: '1m', value: 60000 },
12-
];
6+
const intervalOptions = createListCollection({
7+
items: [
8+
{ label: 'Off', value: '0' },
9+
{ label: '3s', value: '3000' },
10+
{ label: '5s', value: '5000' },
11+
{ label: '10s', value: '10000' },
12+
{ label: '1m', value: '60000' },
13+
],
14+
});
1315

1416
export function Pokemon({ name }: { name: PokemonName }) {
1517
const [pollingInterval, setPollingInterval] = useState(60000);
@@ -41,19 +43,39 @@ export function Pokemon({ name }: { name: PokemonName }) {
4143
/>
4244
</div>
4345
<div>
44-
<label style={{ display: 'block' }}>Polling interval</label>
45-
<Select
46-
value={pollingInterval}
47-
onChange={({ target: { value } }) =>
48-
setPollingInterval(Number(value))
46+
<Select.Root
47+
collection={intervalOptions}
48+
value={[pollingInterval.toString()]}
49+
onValueChange={({ value }) =>
50+
setPollingInterval(Number(value[0]))
4951
}
5052
>
51-
{intervalOptions.map(({ label, value }) => (
52-
<option key={value} value={value}>
53-
{label}
54-
</option>
55-
))}
56-
</Select>
53+
<Select.HiddenSelect />
54+
<Select.Label>Polling interval</Select.Label>
55+
<Select.Control>
56+
<Select.Trigger>
57+
<Select.ValueText placeholder="Polling interval" />
58+
</Select.Trigger>
59+
<Select.IndicatorGroup>
60+
<Select.Indicator />
61+
</Select.IndicatorGroup>
62+
</Select.Control>
63+
<Portal>
64+
<Select.Positioner>
65+
<Select.Content>
66+
{intervalOptions.items.map((intervalOption) => (
67+
<Select.Item
68+
item={intervalOption}
69+
key={intervalOption.value}
70+
>
71+
{intervalOption.label}
72+
<Select.ItemIndicator />
73+
</Select.Item>
74+
))}
75+
</Select.Content>
76+
</Select.Positioner>
77+
</Portal>
78+
</Select.Root>
5779
</div>
5880
<div>
5981
<Button

packages/redux-devtools-rtk-query-monitor/demo/src/features/posts/PostDetail.tsx

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import {
1515
Input,
1616
Spacer,
1717
Stack,
18-
useToast,
1918
} from '@chakra-ui/react';
19+
import { toaster } from '../../components/ui/toaster';
2020

2121
const EditablePostName = ({
2222
name: initialName,
@@ -50,8 +50,8 @@ const EditablePostName = ({
5050
</Box>
5151
<Spacer />
5252
<Box>
53-
<Stack spacing={4} direction="row" align="center">
54-
<Button onClick={handleUpdate} isLoading={isLoading}>
53+
<Stack gap={4} direction="row" align="center">
54+
<Button onClick={handleUpdate} loading={isLoading}>
5555
Update
5656
</Button>
5757
<CloseButton bg="red" onClick={handleCancel} disabled={isLoading} />
@@ -75,8 +75,6 @@ export const PostDetail = () => {
7575
const { id } = useParams<{ id: string }>();
7676
const navigate = useNavigate();
7777

78-
const toast = useToast();
79-
8078
const [isEditing, setIsEditing] = useState(false);
8179

8280
const { data: post, isLoading } = useGetPostQuery(id!);
@@ -108,12 +106,12 @@ export const PostDetail = () => {
108106
try {
109107
await updatePost({ id: id!, name }).unwrap();
110108
} catch {
111-
toast({
109+
toaster.create({
112110
title: 'An error occurred',
113111
description: "We couldn't save your changes, try again!",
114-
status: 'error',
112+
type: 'error',
115113
duration: 2000,
116-
isClosable: true,
114+
closable: true,
117115
});
118116
} finally {
119117
setIsEditing(false);
@@ -129,7 +127,7 @@ export const PostDetail = () => {
129127
</Box>
130128
<Spacer />
131129
<Box>
132-
<Stack spacing={4} direction="row" align="center">
130+
<Stack gap={4} direction="row" align="center">
133131
<Button
134132
onClick={() => setIsEditing(true)}
135133
disabled={isDeleting || isUpdating}

0 commit comments

Comments
 (0)