Skip to content

Commit 8ea2e58

Browse files
committed
vite: run codemod + fix breaking changes
1 parent 66f52d9 commit 8ea2e58

File tree

7 files changed

+48
-28
lines changed

7 files changed

+48
-28
lines changed

examples/nextjs-app/app/components/AppShellBar.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ const THEMES = [
3030
export function AppShellBar() {
3131
const router = useRouter();
3232
const pathname = usePathname();
33-
const popoverRef = useRef<ResponsivePopoverDomRef | null>(null);
3433
const popoverOpenerRef = useRef<ButtonDomRef | undefined>(undefined);
3534
const [popoverOpen, setPopoverOpen] = useState(false);
3635
const [currentTheme, setCurrentTheme] = useState(getTheme);
@@ -64,7 +63,6 @@ export function AppShellBar() {
6463
<ShellBarItem icon={paletteIcon} text="Change Theme" onClick={handleThemeSwitchItemClick} />
6564
</ShellBar>
6665
<ResponsivePopover
67-
ref={popoverRef}
6866
className={classes.popover}
6967
open={popoverOpen}
7068
opener={popoverOpenerRef.current}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
.popover::part(content) {
22
padding: 0;
33
}
4+
5+
.dynamicPage {
6+
height: calc(100% - 52px);
7+
}

examples/vite-ts/src/AppShell.tsx

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,22 @@ import {
77
DynamicPage,
88
DynamicPageTitle,
99
List,
10-
ListMode,
1110
ListPropTypes,
1211
ResponsivePopover,
13-
ResponsivePopoverDomRef,
1412
ShellBar,
1513
ShellBarItem,
1614
ShellBarItemPropTypes,
17-
StandardListItem
15+
ListItemStandard,
16+
ButtonDomRef,
17+
Title
1818
} from '@ui5/webcomponents-react';
1919
import { useRef, useState } from 'react';
2020
import { Outlet, useLocation, useMatches, useNavigate } from 'react-router-dom';
2121
import { SingleTodoHandle } from './main.tsx';
2222
import { Todo } from './mockImplementations/mockData.ts';
2323
import classes from './AppShell.module.css';
2424
import { getTheme, setTheme } from '@ui5/webcomponents-base/dist/config/Theme.js';
25+
import ListMode from '@ui5/webcomponents/dist/types/ListSelectionMode.js';
2526

2627
const THEMES = [
2728
{ key: 'sap_horizon', value: 'Morning Horizon (Light)' },
@@ -31,7 +32,8 @@ const THEMES = [
3132
];
3233

3334
function AppShell() {
34-
const popoverRef = useRef<ResponsivePopoverDomRef>(null);
35+
const popoverOpenerRef = useRef<ButtonDomRef | undefined>(undefined);
36+
const [popoverOpen, setPopoverOpen] = useState(false);
3537
const navigate = useNavigate();
3638
const location = useLocation();
3739
const matches = useMatches();
@@ -44,13 +46,14 @@ function AppShell() {
4446
navigate('/');
4547
};
4648
const handleThemeSwitchItemClick: ShellBarItemPropTypes['onClick'] = (e) => {
47-
popoverRef.current?.showAt(e.detail.targetRef);
49+
popoverOpenerRef.current = e.detail.targetRef as ButtonDomRef;
50+
setPopoverOpen(true);
4851
};
4952
const handleThemeSwitch: ListPropTypes['onSelectionChange'] = (e) => {
5053
const { targetItem } = e.detail;
51-
setTheme(targetItem.dataset.key!);
54+
void setTheme(targetItem.dataset.key!);
5255
setCurrentTheme(targetItem.dataset.key!);
53-
popoverRef.current!.close();
56+
setPopoverOpen(false);
5457
};
5558
return (
5659
<>
@@ -77,22 +80,29 @@ function AppShell() {
7780
<ShellBarItem icon={paletteIcon} text="Change Theme" onClick={handleThemeSwitchItemClick} />
7881
</ShellBar>
7982
<DynamicPage
80-
headerTitle={
83+
className={classes.dynamicPage}
84+
titleArea={
8185
<DynamicPageTitle
82-
header={detailViewMatchHandle?.getTitle(detailViewMatchData) ?? 'My To-Do List'}
86+
heading={<Title>{detailViewMatchHandle?.getTitle(detailViewMatchData) ?? 'My To-Do List'}</Title>}
8387
breadcrumbs={<Breadcrumbs>{detailViewMatchHandle?.getBreadCrumbItems(detailViewMatchData)}</Breadcrumbs>}
8488
/>
8589
}
86-
showHideHeaderButton={false}
8790
>
8891
<Outlet />
8992
</DynamicPage>
90-
<ResponsivePopover ref={popoverRef} className={classes.popover}>
91-
<List onSelectionChange={handleThemeSwitch} headerText="Change Theme" mode={ListMode.SingleSelect}>
93+
<ResponsivePopover
94+
className={classes.popover}
95+
open={popoverOpen}
96+
opener={popoverOpenerRef.current}
97+
onClose={() => {
98+
setPopoverOpen(false);
99+
}}
100+
>
101+
<List onSelectionChange={handleThemeSwitch} headerText="Change Theme" selectionMode={ListMode.Single}>
92102
{THEMES.map((theme) => (
93-
<StandardListItem key={theme.key} selected={currentTheme === theme.key} data-key={theme.key}>
103+
<ListItemStandard key={theme.key} selected={currentTheme === theme.key} data-key={theme.key}>
94104
{theme.value}
95-
</StandardListItem>
105+
</ListItemStandard>
96106
))}
97107
</List>
98108
</ResponsivePopover>

examples/vite-ts/src/ToDos.module.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
.list {
66
box-sizing: border-box;
77
padding: 0.5rem;
8-
}
8+
}

examples/vite-ts/src/ToDos.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
import { BusyIndicator, Card, List, ListItemType, StandardListItem, ValueState } from '@ui5/webcomponents-react';
1+
import { BusyIndicator, Card, List, ListItemStandard } from '@ui5/webcomponents-react';
22
import { Suspense } from 'react';
33
import { Await, useLoaderData, useNavigate } from 'react-router-dom';
44
import { Todo } from './mockImplementations/mockData.ts';
55
import classes from './ToDos.module.css';
66

7+
import ListItemType from '@ui5/webcomponents/dist/types/ListItemType.js';
8+
import ValueState from '@ui5/webcomponents-base/dist/types/ValueState.js';
9+
710
function ToDos() {
811
const data = useLoaderData() as { todos: Promise<Todo[]> };
912
const navigate = useNavigate();
@@ -22,15 +25,15 @@ function ToDos() {
2225
>
2326
{todos.map((todo) => {
2427
return (
25-
<StandardListItem
28+
<ListItemStandard
2629
key={todo.id}
2730
data-id={todo.id}
2831
type={ListItemType.Navigation}
2932
additionalText={`${!todo.completed ? 'Not ' : ''}Completed`}
30-
additionalTextState={todo.completed ? ValueState.Success : ValueState.None}
33+
additionalTextState={todo.completed ? ValueState.Positive : ValueState.None}
3134
>
3235
{todo.title}
33-
</StandardListItem>
36+
</ListItemStandard>
3437
);
3538
})}
3639
</List>

examples/vite-ts/src/TodoDetails.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ import {
44
Form,
55
FormItem,
66
Input,
7+
Label,
78
MessageStrip,
8-
MessageStripDesign,
99
Switch,
1010
TextArea
1111
} from '@ui5/webcomponents-react';
1212
import { useLoaderData } from 'react-router-dom';
1313
import { Todo } from './mockImplementations/mockData.ts';
1414
import classes from './TodoDetails.module.css';
15+
import MessageStripDesign from '@ui5/webcomponents/dist/types/MessageStripDesign.js';
1516

1617
export default function TodoDetails() {
1718
const todo = useLoaderData() as Todo;
@@ -22,17 +23,17 @@ export default function TodoDetails() {
2223
{`Since this is only a demo app, adjustments made here on this page won't be reflected in the todo list.`}
2324
</MessageStrip>
2425
<Card className={classes.card}>
25-
<Form className={classes.form} labelSpanM={2} labelSpanL={2} labelSpanXL={2}>
26-
<FormItem label={'Title'}>
26+
<Form className={classes.form} labelSpan="M2 L2 XL2">
27+
<FormItem labelContent={<Label wrappingType="None">Title</Label>}>
2728
<Input value={todo?.title} className={classes.formControl} />
2829
</FormItem>
29-
<FormItem label={'Details'}>
30-
<TextArea value={todo?.details} growing growingMaxLines={10} className={classes.formControl} />
30+
<FormItem labelContent={<Label wrappingType="None">Details</Label>}>
31+
<TextArea value={todo?.details} growing growingMaxRows={10} className={classes.formControl} />
3132
</FormItem>
32-
<FormItem label={'Due Date'}>
33+
<FormItem labelContent={<Label wrappingType="None">Due Date</Label>}>
3334
<DatePicker className={classes.formControl} />
3435
</FormItem>
35-
<FormItem label={'Completed'}>
36+
<FormItem labelContent={<Label wrappingType="None">Completed</Label>}>
3637
<Switch checked={todo?.completed} className={classes.formControl} />
3738
</FormItem>
3839
</Form>

examples/vite-ts/src/index.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,7 @@ body {
44
height: 100vh;
55
background: var(--sapBackgroundColor);
66
}
7+
8+
#root {
9+
height: 100%;
10+
}

0 commit comments

Comments
 (0)