@universal-tennis/ui-shared 0.1.96 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +1 -1
- package/.eslintrc.js +73 -73
- package/.storybook/main.js +16 -16
- package/.storybook/preview.js +17 -17
- package/.storybook/typography.css +5 -26
- package/.storybook/variables.css +16 -16
- package/README.md +129 -129
- package/dist/App.d.ts +1 -1
- package/dist/stories/Button.d.ts +27 -0
- package/dist/stories/Button.js +51 -0
- package/dist/stories/Button.js.map +1 -0
- package/dist/stories/Button.stories.d.ts +15 -0
- package/dist/stories/Button.stories.js +34 -0
- package/dist/stories/Button.stories.js.map +1 -0
- package/dist/stories/Header.d.ts +19 -0
- package/dist/stories/Header.js +31 -0
- package/dist/stories/Header.js.map +1 -0
- package/dist/stories/Header.stories.d.ts +11 -0
- package/dist/stories/Header.stories.js +20 -0
- package/dist/stories/Header.stories.js.map +1 -0
- package/dist/stories/Page.d.ts +1 -0
- package/dist/stories/Page.js +38 -0
- package/dist/stories/Page.js.map +1 -0
- package/dist/stories/Page.stories.d.ts +11 -0
- package/dist/stories/Page.stories.js +30 -0
- package/dist/stories/Page.stories.js.map +1 -0
- package/dist/stories/assets/comments.svg +1 -0
- package/dist/stories/assets/css/typography.css +5 -26
- package/dist/stories/assets/css/variables.css +15 -15
- package/dist/stories/assets/direction.svg +1 -0
- package/dist/stories/assets/icon-chat-blue.svg +10 -10
- package/dist/stories/assets/utr-sports-logo.svg +9 -9
- package/dist/stories/atoms/Button/Button.d.ts +1 -1
- package/dist/stories/atoms/Button/Button.js.map +1 -1
- package/dist/stories/atoms/Button/index.d.ts +1 -0
- package/dist/stories/atoms/Button/index.js +2 -0
- package/dist/stories/atoms/Button/index.js.map +1 -0
- package/dist/stories/atoms/Button.d.ts +7 -0
- package/dist/stories/atoms/Button.js +20 -0
- package/dist/stories/atoms/Button.js.map +1 -0
- package/dist/stories/atoms/Button.stories.d.ts +13 -0
- package/dist/stories/atoms/Button.stories.js +22 -0
- package/dist/stories/atoms/Button.stories.js.map +1 -0
- package/dist/stories/atoms/Icons/AddIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/AvailabilityMaybeIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/AvailabilityNoIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/AvailabilityNotSetIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/AvailabilityYesIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/BallInMotionIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/CalendarIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/ClockIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/CloseIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/DeleteIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/DoublePersonIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/EditIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/LeftChevronIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/LineIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/LocationIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/MessageIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/PickleballBallIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/RightChevronIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SessionIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SinglePersonIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SinglePersonV2Icon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SocialMediaFacebookIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SocialMediaInstagramIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SocialMediaTikTokIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SocialMediaXIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SocialMediaYoutubeIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SwapIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/SwapNoBorderIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/TennisBallIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/VerifiedIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/VisibilityIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/VisibilityOffIcon.d.ts +2 -2
- package/dist/stories/atoms/Icons/WinnerIndicatorIcon.d.ts +2 -2
- package/dist/stories/atoms/Typography/Typography.d.ts +2 -2
- package/dist/stories/atoms/Typography/Typography.js.map +1 -1
- package/dist/stories/atoms/Typography/index.d.ts +1 -0
- package/dist/stories/atoms/Typography/index.js +2 -0
- package/dist/stories/atoms/Typography/index.js.map +1 -0
- package/dist/stories/atoms/UTMap/UTMap.d.ts +2 -2
- package/dist/stories/molecules/AvatarWithName/AvatarWithName.d.ts +2 -2
- package/dist/stories/molecules/Cards/ContactCard.d.ts +2 -2
- package/dist/stories/molecules/Cards/DrawCard.d.ts +2 -2
- package/dist/stories/molecules/Cards/DrawCard.js.map +1 -1
- package/dist/stories/molecules/Cards/TeamCard.d.ts +2 -2
- package/dist/stories/molecules/Cards/TeamDrawCard.d.ts +2 -2
- package/dist/stories/molecules/Cards/shared.d.ts +1 -4
- package/dist/stories/molecules/FooterSection/FooterSection.d.ts +2 -2
- package/dist/stories/molecules/GlobalNavItem/GlobalNavItem.d.ts +2 -2
- package/dist/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.d.ts +2 -2
- package/dist/stories/organisms/Footer/Footer.d.ts +2 -2
- package/dist/stories/organisms/Footer/Footer.js +2 -6
- package/dist/stories/organisms/Footer/Footer.js.map +1 -1
- package/dist/stories/organisms/GlobalNavigation/GlobalNavigation.d.ts +2 -2
- package/dist/stories/organisms/GlobalNavigation/GlobalNavigation.js.map +1 -1
- package/dist/stories/organisms/Modals/FullPageModal.d.ts +2 -2
- package/dist/stories/organisms/Tables/DrawCardTable.d.ts +2 -2
- package/dist/stories/organisms/Tables/DrawCardTable.js +2 -2
- package/dist/stories/organisms/Tables/SortableTable.d.ts +2 -2
- package/dist/stories/organisms/Tables/SortableTable.js.map +1 -1
- package/dist/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.d.ts +2 -2
- package/dist/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.d.ts +2 -2
- package/dist/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.d.ts +2 -2
- package/dist/stories/organisms/Tables/mockData.d.ts +2 -2
- package/dist/stories/utils/constants.js.map +1 -1
- package/infrastructure/azure-pipelines.yml +112 -112
- package/package.json +99 -99
- package/public/index.html +50 -45
- package/src/App.js +25 -25
- package/src/components.jsx +52 -52
- package/src/custom.d.ts +13 -13
- package/src/index.js +17 -17
- package/src/items.jsx +1 -1
- package/src/stories/Introduction.stories.mdx +179 -179
- package/src/stories/assets/css/typography.css +5 -26
- package/src/stories/assets/css/variables.css +15 -15
- package/src/stories/assets/icon-chat-blue.svg +10 -10
- package/src/stories/assets/icons/icon-add.svg +7 -7
- package/src/stories/assets/icons/icon-availability-maybe.svg +3 -3
- package/src/stories/assets/icons/icon-availability-no.svg +3 -3
- package/src/stories/assets/icons/icon-availability-not-set.svg +8 -8
- package/src/stories/assets/icons/icon-availability-yes.svg +3 -3
- package/src/stories/assets/icons/icon-calendar.svg +4 -4
- package/src/stories/assets/icons/icon-clock.svg +7 -7
- package/src/stories/assets/icons/icon-close.svg +3 -3
- package/src/stories/assets/icons/icon-delete.svg +9 -9
- package/src/stories/assets/icons/icon-edit.svg +3 -3
- package/src/stories/assets/icons/icon-location.svg +6 -6
- package/src/stories/assets/icons/icon-message.svg +3 -3
- package/src/stories/assets/icons/icon-session.svg +3 -3
- package/src/stories/assets/icons/icon-social-media-facebook.svg +10 -10
- package/src/stories/assets/icons/icon-social-media-instagram.svg +3 -3
- package/src/stories/assets/icons/icon-social-media-tiktok.svg +10 -10
- package/src/stories/assets/icons/icon-social-media-x.svg +10 -10
- package/src/stories/assets/icons/icon-social-media-youtube.svg +3 -3
- package/src/stories/assets/icons/icon-swap.svg +3 -3
- package/src/stories/assets/icons/icon-visibility-off.svg +7 -7
- package/src/stories/assets/icons/icon-visibility.svg +6 -6
- package/src/stories/assets/utr-sports-logo.svg +9 -9
- package/src/stories/atoms/Button/Button.stories.tsx +63 -63
- package/src/stories/atoms/Button/Button.tsx +145 -145
- package/src/stories/atoms/Icons/AddIcon.tsx +13 -13
- package/src/stories/atoms/Icons/AvailabilityMaybeIcon.tsx +11 -11
- package/src/stories/atoms/Icons/AvailabilityNoIcon.tsx +11 -11
- package/src/stories/atoms/Icons/AvailabilityNotSetIcon.tsx +12 -12
- package/src/stories/atoms/Icons/AvailabilityYesIcon.tsx +11 -11
- package/src/stories/atoms/Icons/BallInMotionIcon.tsx +15 -15
- package/src/stories/atoms/Icons/CalendarIcon.tsx +11 -11
- package/src/stories/atoms/Icons/ClockIcon.tsx +14 -14
- package/src/stories/atoms/Icons/CloseIcon.tsx +11 -11
- package/src/stories/atoms/Icons/DeleteIcon.tsx +15 -15
- package/src/stories/atoms/Icons/DoublePersonIcon.tsx +20 -20
- package/src/stories/atoms/Icons/EditIcon.tsx +11 -11
- package/src/stories/atoms/Icons/Icons.stories.tsx +372 -372
- package/src/stories/atoms/Icons/LeftChevronIcon.tsx +13 -13
- package/src/stories/atoms/Icons/LineIcon.tsx +12 -12
- package/src/stories/atoms/Icons/LocationIcon.tsx +12 -12
- package/src/stories/atoms/Icons/MessageIcon.tsx +12 -12
- package/src/stories/atoms/Icons/PickleballBallIcon.tsx +22 -22
- package/src/stories/atoms/Icons/RightChevronIcon.tsx +11 -11
- package/src/stories/atoms/Icons/SessionIcon.tsx +16 -16
- package/src/stories/atoms/Icons/SinglePersonIcon.tsx +16 -16
- package/src/stories/atoms/Icons/SinglePersonV2Icon.tsx +13 -13
- package/src/stories/atoms/Icons/SocialMediaFacebookIcon.tsx +19 -19
- package/src/stories/atoms/Icons/SocialMediaInstagramIcon.tsx +11 -11
- package/src/stories/atoms/Icons/SocialMediaTikTokIcon.tsx +18 -18
- package/src/stories/atoms/Icons/SocialMediaXIcon.tsx +18 -18
- package/src/stories/atoms/Icons/SocialMediaYoutubeIcon.tsx +11 -11
- package/src/stories/atoms/Icons/SwapIcon.tsx +11 -11
- package/src/stories/atoms/Icons/SwapNoBorderIcon.tsx +14 -14
- package/src/stories/atoms/Icons/TennisBallIcon.tsx +13 -13
- package/src/stories/atoms/Icons/VerifiedIcon.tsx +13 -13
- package/src/stories/atoms/Icons/VisibilityIcon.tsx +12 -12
- package/src/stories/atoms/Icons/VisibilityOffIcon.tsx +13 -13
- package/src/stories/atoms/Icons/WinnerIndicatorIcon.tsx +39 -39
- package/src/stories/atoms/Icons/sharedTypes.tsx +12 -12
- package/src/stories/atoms/Typography/Typography.tsx +185 -185
- package/src/stories/atoms/UTMap/UTMap.stories.tsx +43 -43
- package/src/stories/atoms/UTMap/UTMap.tsx +25 -25
- package/src/stories/molecules/AvatarWithName/AvatarWithName.stories.tsx +86 -86
- package/src/stories/molecules/AvatarWithName/AvatarWithName.tsx +68 -68
- package/src/stories/molecules/Cards/Cards.stories.tsx +76 -76
- package/src/stories/molecules/Cards/ContactCard.tsx +45 -45
- package/src/stories/molecules/Cards/DrawCard.tsx +211 -211
- package/src/stories/molecules/Cards/Modals.stories.tsx +137 -137
- package/src/stories/molecules/Cards/TeamCard.tsx +14 -14
- package/src/stories/molecules/Cards/TeamDrawCard.tsx +159 -159
- package/src/stories/molecules/Cards/sharedTypes.ts +69 -69
- package/src/stories/molecules/FooterSection/FooterSection.stories.tsx +25 -25
- package/src/stories/molecules/FooterSection/FooterSection.tsx +34 -34
- package/src/stories/molecules/FooterSection/sharedTypes.ts +6 -6
- package/src/stories/molecules/GlobalNavItem/GlobalNavItem.stories.tsx +22 -22
- package/src/stories/molecules/GlobalNavItem/GlobalNavItem.tsx +51 -51
- package/src/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.stories.tsx +96 -96
- package/src/stories/molecules/SquareAvatarWithName/SquareAvatarWithName.tsx +112 -112
- package/src/stories/organisms/Footer/Footer.stories.tsx +63 -63
- package/src/stories/organisms/Footer/Footer.tsx +155 -165
- package/src/stories/organisms/Footer/sharedTypes.ts +17 -17
- package/src/stories/organisms/GlobalNavigation/GlobalNavigation.stories.tsx +210 -210
- package/src/stories/organisms/GlobalNavigation/GlobalNavigation.tsx +120 -120
- package/src/stories/organisms/Modals/FullPageModal.tsx +93 -93
- package/src/stories/organisms/Modals/Modals.stories.tsx +138 -138
- package/src/stories/organisms/Modals/sharedTypes.ts +15 -15
- package/src/stories/organisms/Tables/DrawCardTable.tsx +92 -92
- package/src/stories/organisms/Tables/SortableTable.tsx +119 -119
- package/src/stories/organisms/Tables/Tables.stories.tsx +104 -104
- package/src/stories/organisms/Tables/TeamDrawCardTable/DesktopTableRows.tsx +120 -120
- package/src/stories/organisms/Tables/TeamDrawCardTable/MobileTableRows.tsx +67 -67
- package/src/stories/organisms/Tables/TeamDrawCardTable/TeamDrawCardTable.tsx +24 -24
- package/src/stories/organisms/Tables/mockData.tsx +131 -131
- package/src/stories/organisms/Tables/sharedTypes.ts +17 -17
- package/src/stories/utils/constants.ts +31 -31
- package/src/stories/utils/getArrayWithIds.ts +1 -1
- package/src/stories/utils/useScreenSize.ts +28 -28
- package/src/types/tableDataTypes.ts +42 -42
- package/tsconfig.json +23 -23
- package/dist/stories/atoms/Map/Map.d.ts +0 -7
- package/dist/stories/atoms/Map/Map.js +0 -9
- package/dist/stories/atoms/Map/Map.js.map +0 -1
- package/dist/stories/atoms/Map/Map.stories.d.ts +0 -9
- package/dist/stories/atoms/Map/Map.stories.js +0 -36
- package/dist/stories/atoms/Map/Map.stories.js.map +0 -1
- package/dist/stories/organisms/Tables/TeamDrawCardTable.d.ts +0 -3
- package/dist/stories/organisms/Tables/TeamDrawCardTable.js +0 -126
- package/dist/stories/organisms/Tables/TeamDrawCardTable.js.map +0 -1
|
@@ -1,131 +1,131 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { TableRow, TableCell, Typography } from '@mui/material';
|
|
3
|
-
|
|
4
|
-
interface RowData {
|
|
5
|
-
player: string;
|
|
6
|
-
team: string;
|
|
7
|
-
session: string;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
interface RowProps {
|
|
11
|
-
rowData: RowData,
|
|
12
|
-
labelId: string;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
type OnChangeArgs = {
|
|
16
|
-
position: number;
|
|
17
|
-
id: string | null | undefined;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export const mockRowComponent = ({ rowData, labelId }: RowProps) => {
|
|
21
|
-
const { player, session, team } = rowData;
|
|
22
|
-
return (
|
|
23
|
-
<TableRow>
|
|
24
|
-
<TableCell
|
|
25
|
-
component="th"
|
|
26
|
-
id={labelId}
|
|
27
|
-
scope="row"
|
|
28
|
-
padding="normal"
|
|
29
|
-
>
|
|
30
|
-
<Typography>{player}</Typography>
|
|
31
|
-
</TableCell>
|
|
32
|
-
<TableCell align="left">
|
|
33
|
-
<Typography>{team}</Typography>
|
|
34
|
-
</TableCell>
|
|
35
|
-
<TableCell align="left">
|
|
36
|
-
<Typography>{session}</Typography>
|
|
37
|
-
</TableCell>
|
|
38
|
-
</TableRow>
|
|
39
|
-
|
|
40
|
-
);
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export const MOCK_HEAD_CELLS = [
|
|
44
|
-
{ id: 'player', label: 'Player Name', isSortingDisabled: false },
|
|
45
|
-
{ id: 'team', label: 'Team Name', isSortingDisabled: true },
|
|
46
|
-
{ id: 'session', label: 'Session', isSortingDisabled: false }];
|
|
47
|
-
|
|
48
|
-
export const MOCK_TABLE_DATA = [
|
|
49
|
-
{
|
|
50
|
-
id: 1,
|
|
51
|
-
player: 'John Smith',
|
|
52
|
-
team: 'Mavericks',
|
|
53
|
-
session: 'NorCal Adults',
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
id: 2,
|
|
57
|
-
player: 'Megan Brown',
|
|
58
|
-
team: 'Mini Mavericks',
|
|
59
|
-
session: 'SoCal Juniors',
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
id: 3,
|
|
63
|
-
player: 'George Fox',
|
|
64
|
-
team: 'Grey Foxes',
|
|
65
|
-
session: 'North Bay Junios',
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
id: 4,
|
|
69
|
-
player: 'Alison Green',
|
|
70
|
-
team: 'Lions',
|
|
71
|
-
session: 'Outer Bay UTR 2-5',
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
id: 5,
|
|
75
|
-
player: 'Linda Belinda',
|
|
76
|
-
team: 'Green Hornets',
|
|
77
|
-
session: 'Tri-State UTR 1-3',
|
|
78
|
-
},
|
|
79
|
-
];
|
|
80
|
-
|
|
81
|
-
export const SAMPLE_CARD_DATA = {
|
|
82
|
-
options: [
|
|
83
|
-
{
|
|
84
|
-
id: 1,
|
|
85
|
-
label: 'Team 1',
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
id: 2,
|
|
89
|
-
label: 'Team 2',
|
|
90
|
-
}
|
|
91
|
-
],
|
|
92
|
-
selectedOptions: {
|
|
93
|
-
optionOne: 1,
|
|
94
|
-
optionTwo: 2,
|
|
95
|
-
},
|
|
96
|
-
onChange: ({ position, id }: OnChangeArgs) => {},
|
|
97
|
-
dateLabel: 'Dec 20 at 9:00am',
|
|
98
|
-
locationLabel: `T`,
|
|
99
|
-
isPosition1Winner: true,
|
|
100
|
-
isPosition2Winner: false,
|
|
101
|
-
position1Team: {
|
|
102
|
-
name: 'Apples',
|
|
103
|
-
points: 10,
|
|
104
|
-
},
|
|
105
|
-
position2Team: {
|
|
106
|
-
name: 'Pears',
|
|
107
|
-
points: 4,
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
export const SAMPLE_TEAM_PAGE_CARD_DATA = {
|
|
112
|
-
dateLabel: 'Dec 20',
|
|
113
|
-
timeLabel: '9:00pm',
|
|
114
|
-
locationLabel: 'Taube Tennis Center',
|
|
115
|
-
isPosition1Winner: true,
|
|
116
|
-
isPosition2Winner: false,
|
|
117
|
-
position1Team: {
|
|
118
|
-
name: 'Friendly Hills Country Club 0-1.99',
|
|
119
|
-
points: 10,
|
|
120
|
-
href: 'https://www.reddit.com',
|
|
121
|
-
seed: 1
|
|
122
|
-
},
|
|
123
|
-
position2Team: {
|
|
124
|
-
name: 'Pears',
|
|
125
|
-
points: 4,
|
|
126
|
-
href: 'https://www.reddit.com',
|
|
127
|
-
seed: 2
|
|
128
|
-
},
|
|
129
|
-
teamMatchLink: 'https://www.google.com',
|
|
130
|
-
showTeamMatchLink: false,
|
|
131
|
-
};
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TableRow, TableCell, Typography } from '@mui/material';
|
|
3
|
+
|
|
4
|
+
interface RowData {
|
|
5
|
+
player: string;
|
|
6
|
+
team: string;
|
|
7
|
+
session: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface RowProps {
|
|
11
|
+
rowData: RowData,
|
|
12
|
+
labelId: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
type OnChangeArgs = {
|
|
16
|
+
position: number;
|
|
17
|
+
id: string | null | undefined;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const mockRowComponent = ({ rowData, labelId }: RowProps) => {
|
|
21
|
+
const { player, session, team } = rowData;
|
|
22
|
+
return (
|
|
23
|
+
<TableRow>
|
|
24
|
+
<TableCell
|
|
25
|
+
component="th"
|
|
26
|
+
id={labelId}
|
|
27
|
+
scope="row"
|
|
28
|
+
padding="normal"
|
|
29
|
+
>
|
|
30
|
+
<Typography>{player}</Typography>
|
|
31
|
+
</TableCell>
|
|
32
|
+
<TableCell align="left">
|
|
33
|
+
<Typography>{team}</Typography>
|
|
34
|
+
</TableCell>
|
|
35
|
+
<TableCell align="left">
|
|
36
|
+
<Typography>{session}</Typography>
|
|
37
|
+
</TableCell>
|
|
38
|
+
</TableRow>
|
|
39
|
+
|
|
40
|
+
);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export const MOCK_HEAD_CELLS = [
|
|
44
|
+
{ id: 'player', label: 'Player Name', isSortingDisabled: false },
|
|
45
|
+
{ id: 'team', label: 'Team Name', isSortingDisabled: true },
|
|
46
|
+
{ id: 'session', label: 'Session', isSortingDisabled: false }];
|
|
47
|
+
|
|
48
|
+
export const MOCK_TABLE_DATA = [
|
|
49
|
+
{
|
|
50
|
+
id: 1,
|
|
51
|
+
player: 'John Smith',
|
|
52
|
+
team: 'Mavericks',
|
|
53
|
+
session: 'NorCal Adults',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: 2,
|
|
57
|
+
player: 'Megan Brown',
|
|
58
|
+
team: 'Mini Mavericks',
|
|
59
|
+
session: 'SoCal Juniors',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: 3,
|
|
63
|
+
player: 'George Fox',
|
|
64
|
+
team: 'Grey Foxes',
|
|
65
|
+
session: 'North Bay Junios',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
id: 4,
|
|
69
|
+
player: 'Alison Green',
|
|
70
|
+
team: 'Lions',
|
|
71
|
+
session: 'Outer Bay UTR 2-5',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: 5,
|
|
75
|
+
player: 'Linda Belinda',
|
|
76
|
+
team: 'Green Hornets',
|
|
77
|
+
session: 'Tri-State UTR 1-3',
|
|
78
|
+
},
|
|
79
|
+
];
|
|
80
|
+
|
|
81
|
+
export const SAMPLE_CARD_DATA = {
|
|
82
|
+
options: [
|
|
83
|
+
{
|
|
84
|
+
id: 1,
|
|
85
|
+
label: 'Team 1',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
id: 2,
|
|
89
|
+
label: 'Team 2',
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
selectedOptions: {
|
|
93
|
+
optionOne: 1,
|
|
94
|
+
optionTwo: 2,
|
|
95
|
+
},
|
|
96
|
+
onChange: ({ position, id }: OnChangeArgs) => {},
|
|
97
|
+
dateLabel: 'Dec 20 at 9:00am',
|
|
98
|
+
locationLabel: `T`,
|
|
99
|
+
isPosition1Winner: true,
|
|
100
|
+
isPosition2Winner: false,
|
|
101
|
+
position1Team: {
|
|
102
|
+
name: 'Apples',
|
|
103
|
+
points: 10,
|
|
104
|
+
},
|
|
105
|
+
position2Team: {
|
|
106
|
+
name: 'Pears',
|
|
107
|
+
points: 4,
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
export const SAMPLE_TEAM_PAGE_CARD_DATA = {
|
|
112
|
+
dateLabel: 'Dec 20',
|
|
113
|
+
timeLabel: '9:00pm',
|
|
114
|
+
locationLabel: 'Taube Tennis Center',
|
|
115
|
+
isPosition1Winner: true,
|
|
116
|
+
isPosition2Winner: false,
|
|
117
|
+
position1Team: {
|
|
118
|
+
name: 'Friendly Hills Country Club 0-1.99',
|
|
119
|
+
points: 10,
|
|
120
|
+
href: 'https://www.reddit.com',
|
|
121
|
+
seed: 1
|
|
122
|
+
},
|
|
123
|
+
position2Team: {
|
|
124
|
+
name: 'Pears',
|
|
125
|
+
points: 4,
|
|
126
|
+
href: 'https://www.reddit.com',
|
|
127
|
+
seed: 2
|
|
128
|
+
},
|
|
129
|
+
teamMatchLink: 'https://www.google.com',
|
|
130
|
+
showTeamMatchLink: false,
|
|
131
|
+
};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
|
|
3
|
-
export type DrawCardTableProps = {
|
|
4
|
-
headerRows: {
|
|
5
|
-
name: string;
|
|
6
|
-
}[],
|
|
7
|
-
tableRows: ReactNode[][];
|
|
8
|
-
isMobile: boolean;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface TableRowProps {
|
|
12
|
-
readonly headerRows: {
|
|
13
|
-
name: string;
|
|
14
|
-
}[],
|
|
15
|
-
readonly tableRows: ReactNode[][];
|
|
16
|
-
readonly totalColumns: number;
|
|
17
|
-
}
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
export type DrawCardTableProps = {
|
|
4
|
+
headerRows: {
|
|
5
|
+
name: string;
|
|
6
|
+
}[],
|
|
7
|
+
tableRows: ReactNode[][];
|
|
8
|
+
isMobile: boolean;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface TableRowProps {
|
|
12
|
+
readonly headerRows: {
|
|
13
|
+
name: string;
|
|
14
|
+
}[],
|
|
15
|
+
readonly tableRows: ReactNode[][];
|
|
16
|
+
readonly totalColumns: number;
|
|
17
|
+
}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
export const teamDrawCardSideMargin = '24px';
|
|
2
|
-
export const standardSideMargin = 24;
|
|
3
|
-
export const teamDrawCardBottomMargin = '8px';
|
|
4
|
-
|
|
5
|
-
export const SocialMediaIds = {
|
|
6
|
-
X: 1,
|
|
7
|
-
FACEBOOK: 2,
|
|
8
|
-
INSTAGRAM: 3,
|
|
9
|
-
TIKTOK: 4,
|
|
10
|
-
YOUTUBE: 5,
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
interface ClickAttrs {
|
|
14
|
-
context?: string;
|
|
15
|
-
location?: string;
|
|
16
|
-
category?: string;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export const getClickAttrs = ({ context, location, category }: ClickAttrs) => {
|
|
20
|
-
const attrs: { [key: string]: string } = {};
|
|
21
|
-
if (category) {
|
|
22
|
-
attrs['data-category'] = category;
|
|
23
|
-
}
|
|
24
|
-
if (context) {
|
|
25
|
-
attrs['data-context'] = context;
|
|
26
|
-
}
|
|
27
|
-
if (location) {
|
|
28
|
-
attrs['data-location'] = location;
|
|
29
|
-
}
|
|
30
|
-
return attrs;
|
|
31
|
-
};
|
|
1
|
+
export const teamDrawCardSideMargin = '24px';
|
|
2
|
+
export const standardSideMargin = 24;
|
|
3
|
+
export const teamDrawCardBottomMargin = '8px';
|
|
4
|
+
|
|
5
|
+
export const SocialMediaIds = {
|
|
6
|
+
X: 1,
|
|
7
|
+
FACEBOOK: 2,
|
|
8
|
+
INSTAGRAM: 3,
|
|
9
|
+
TIKTOK: 4,
|
|
10
|
+
YOUTUBE: 5,
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
interface ClickAttrs {
|
|
14
|
+
context?: string;
|
|
15
|
+
location?: string;
|
|
16
|
+
category?: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const getClickAttrs = ({ context, location, category }: ClickAttrs) => {
|
|
20
|
+
const attrs: { [key: string]: string } = {};
|
|
21
|
+
if (category) {
|
|
22
|
+
attrs['data-category'] = category;
|
|
23
|
+
}
|
|
24
|
+
if (context) {
|
|
25
|
+
attrs['data-context'] = context;
|
|
26
|
+
}
|
|
27
|
+
if (location) {
|
|
28
|
+
attrs['data-location'] = location;
|
|
29
|
+
}
|
|
30
|
+
return attrs;
|
|
31
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const getArrayWithIds = (array: object[]) => array.map((item, index) => ({ ...item, id: index + 1 }));
|
|
1
|
+
export const getArrayWithIds = (array: object[]) => array.map((item, index) => ({ ...item, id: index + 1 }));
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { useState, useEffect } from "react";
|
|
2
|
-
|
|
3
|
-
// Hook
|
|
4
|
-
export default function useWindowSize() {
|
|
5
|
-
// Initialize state with undefined width/height so server and client renders match
|
|
6
|
-
// Learn more here: https://joshwcomeau.com/react/the-perils-of-rehydration/
|
|
7
|
-
const [windowSize, setWindowSize] = useState({
|
|
8
|
-
width: 0,
|
|
9
|
-
height: 0,
|
|
10
|
-
});
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
// Handler to call on window resize
|
|
13
|
-
function handleResize() {
|
|
14
|
-
// Set window width/height to state
|
|
15
|
-
setWindowSize({
|
|
16
|
-
width: window.innerWidth,
|
|
17
|
-
height: window.innerHeight,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
// Add event listener
|
|
21
|
-
window.addEventListener("resize", handleResize);
|
|
22
|
-
// Call handler right away so state gets updated with initial window size
|
|
23
|
-
handleResize();
|
|
24
|
-
// Remove event listener on cleanup
|
|
25
|
-
return () => window.removeEventListener("resize", handleResize);
|
|
26
|
-
}, []); // Empty array ensures that effect is only run on mount
|
|
27
|
-
return windowSize;
|
|
28
|
-
}
|
|
1
|
+
import { useState, useEffect } from "react";
|
|
2
|
+
|
|
3
|
+
// Hook
|
|
4
|
+
export default function useWindowSize() {
|
|
5
|
+
// Initialize state with undefined width/height so server and client renders match
|
|
6
|
+
// Learn more here: https://joshwcomeau.com/react/the-perils-of-rehydration/
|
|
7
|
+
const [windowSize, setWindowSize] = useState({
|
|
8
|
+
width: 0,
|
|
9
|
+
height: 0,
|
|
10
|
+
});
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
// Handler to call on window resize
|
|
13
|
+
function handleResize() {
|
|
14
|
+
// Set window width/height to state
|
|
15
|
+
setWindowSize({
|
|
16
|
+
width: window.innerWidth,
|
|
17
|
+
height: window.innerHeight,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
// Add event listener
|
|
21
|
+
window.addEventListener("resize", handleResize);
|
|
22
|
+
// Call handler right away so state gets updated with initial window size
|
|
23
|
+
handleResize();
|
|
24
|
+
// Remove event listener on cleanup
|
|
25
|
+
return () => window.removeEventListener("resize", handleResize);
|
|
26
|
+
}, []); // Empty array ensures that effect is only run on mount
|
|
27
|
+
return windowSize;
|
|
28
|
+
}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
export interface Location {
|
|
2
|
-
placeId: string;
|
|
3
|
-
formattedAddress: string;
|
|
4
|
-
placeName: string;
|
|
5
|
-
lat: number;
|
|
6
|
-
lng: number
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface Captain {
|
|
10
|
-
id: number;
|
|
11
|
-
teamId: number;
|
|
12
|
-
memberId: number;
|
|
13
|
-
playerId: number;
|
|
14
|
-
gender?: string;
|
|
15
|
-
firstName: string;
|
|
16
|
-
lastName: string;
|
|
17
|
-
email?: string;
|
|
18
|
-
phone?: string;
|
|
19
|
-
phoneCountryCode?: string;
|
|
20
|
-
profileImage?: string;
|
|
21
|
-
location?: Location
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface AddTeamsData {
|
|
25
|
-
id: number;
|
|
26
|
-
name?: string;
|
|
27
|
-
teamMemberCount?: number;
|
|
28
|
-
captains?: Array<Captain>;
|
|
29
|
-
sessionId?: number;
|
|
30
|
-
sessionName?: string;
|
|
31
|
-
sessionStartDateUtc?: string;
|
|
32
|
-
sessionEndDateUtc?: string;
|
|
33
|
-
wins?: number;
|
|
34
|
-
losses?: number;
|
|
35
|
-
rank?: number;
|
|
36
|
-
isSelected?: boolean;
|
|
37
|
-
record?: string;
|
|
38
|
-
sessionDates?: string;
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export type TableData = AddTeamsData
|
|
1
|
+
export interface Location {
|
|
2
|
+
placeId: string;
|
|
3
|
+
formattedAddress: string;
|
|
4
|
+
placeName: string;
|
|
5
|
+
lat: number;
|
|
6
|
+
lng: number
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface Captain {
|
|
10
|
+
id: number;
|
|
11
|
+
teamId: number;
|
|
12
|
+
memberId: number;
|
|
13
|
+
playerId: number;
|
|
14
|
+
gender?: string;
|
|
15
|
+
firstName: string;
|
|
16
|
+
lastName: string;
|
|
17
|
+
email?: string;
|
|
18
|
+
phone?: string;
|
|
19
|
+
phoneCountryCode?: string;
|
|
20
|
+
profileImage?: string;
|
|
21
|
+
location?: Location
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface AddTeamsData {
|
|
25
|
+
id: number;
|
|
26
|
+
name?: string;
|
|
27
|
+
teamMemberCount?: number;
|
|
28
|
+
captains?: Array<Captain>;
|
|
29
|
+
sessionId?: number;
|
|
30
|
+
sessionName?: string;
|
|
31
|
+
sessionStartDateUtc?: string;
|
|
32
|
+
sessionEndDateUtc?: string;
|
|
33
|
+
wins?: number;
|
|
34
|
+
losses?: number;
|
|
35
|
+
rank?: number;
|
|
36
|
+
isSelected?: boolean;
|
|
37
|
+
record?: string;
|
|
38
|
+
sessionDates?: string;
|
|
39
|
+
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export type TableData = AddTeamsData
|
package/tsconfig.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"noImplicitThis": true,
|
|
4
|
-
"preserveConstEnums": true,
|
|
5
|
-
"strictNullChecks": true,
|
|
6
|
-
"sourceMap": true,
|
|
7
|
-
"declaration": true,
|
|
8
|
-
"esModuleInterop": true,
|
|
9
|
-
"outDir": "dist",
|
|
10
|
-
"target": "es6",
|
|
11
|
-
"module": "es6",
|
|
12
|
-
"allowJs": true,
|
|
13
|
-
"moduleResolution": "node",
|
|
14
|
-
"skipLibCheck": true,
|
|
15
|
-
"jsx": "react",
|
|
16
|
-
"lib": ["ES2017", "DOM"],
|
|
17
|
-
"baseUrl": "src",
|
|
18
|
-
"allowSyntheticDefaultImports": true,
|
|
19
|
-
"noImplicitAny": true
|
|
20
|
-
},
|
|
21
|
-
"exclude": ["node_modules"],
|
|
22
|
-
"include": ["src", "src/custom.d.ts"]
|
|
23
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"noImplicitThis": true,
|
|
4
|
+
"preserveConstEnums": true,
|
|
5
|
+
"strictNullChecks": true,
|
|
6
|
+
"sourceMap": true,
|
|
7
|
+
"declaration": true,
|
|
8
|
+
"esModuleInterop": true,
|
|
9
|
+
"outDir": "dist",
|
|
10
|
+
"target": "es6",
|
|
11
|
+
"module": "es6",
|
|
12
|
+
"allowJs": true,
|
|
13
|
+
"moduleResolution": "node",
|
|
14
|
+
"skipLibCheck": true,
|
|
15
|
+
"jsx": "react",
|
|
16
|
+
"lib": ["ES2017", "DOM"],
|
|
17
|
+
"baseUrl": "src",
|
|
18
|
+
"allowSyntheticDefaultImports": true,
|
|
19
|
+
"noImplicitAny": true
|
|
20
|
+
},
|
|
21
|
+
"exclude": ["node_modules"],
|
|
22
|
+
"include": ["src", "src/custom.d.ts"]
|
|
23
|
+
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export default function Map({ placeId, height, width }) {
|
|
3
|
-
const placeParam = placeId && `q=place_id:${placeId}`;
|
|
4
|
-
const placeUrl = `https://www.google.com/maps/embed/v1/place?key=AIzaSyCapzh9VsfXAzC9fAaosZJulONx7H1BFaY&${placeParam}`;
|
|
5
|
-
const mapHeight = height || `216px`;
|
|
6
|
-
const mapWidth = width || `100%`;
|
|
7
|
-
return (React.createElement("iframe", { width: mapWidth, height: mapHeight, src: placeUrl, title: "Google Maps" }));
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=Map.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Map.js","sourceRoot":"","sources":["../../../../src/stories/atoms/Map/Map.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAC1B,OAAO,EAAE,MAAM,EAAE,KAAK,EACb;IACT,MAAM,UAAU,GAAG,OAAO,IAAI,cAAc,OAAO,EAAE,CAAC;IACtD,MAAM,QAAQ,GAAG,0FAA0F,UAAU,EAAE,CAAC;IACxH,MAAM,SAAS,GAAG,MAAM,IAAI,OAAO,CAAC;IACpC,MAAM,QAAQ,GAAG,KAAK,IAAI,MAAM,CAAC;IAEjC,OAAO,CACH,gCACI,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,QAAQ,EACb,KAAK,EAAC,aAAa,GACrB,CACL,CAAC;AACJ,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
title: string;
|
|
3
|
-
};
|
|
4
|
-
export default _default;
|
|
5
|
-
export declare const Default: any;
|
|
6
|
-
export declare const WithCustomStringHeight: any;
|
|
7
|
-
export declare const WithCustomNumberHeight: any;
|
|
8
|
-
export declare const WithCustomStringWidth: any;
|
|
9
|
-
export declare const WithCustomNumberWidth: any;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import Map from './Map';
|
|
3
|
-
// Default
|
|
4
|
-
export default {
|
|
5
|
-
title: 'Atoms/Map',
|
|
6
|
-
};
|
|
7
|
-
// Templates
|
|
8
|
-
function MapTemplate(args) {
|
|
9
|
-
return React.createElement(Map, Object.assign({}, args));
|
|
10
|
-
}
|
|
11
|
-
// Stories
|
|
12
|
-
export const Default = MapTemplate.bind({});
|
|
13
|
-
Default.args = {
|
|
14
|
-
placeId: 'ChIJj6tQBWXIxokRXeXk9xqsgMo',
|
|
15
|
-
};
|
|
16
|
-
export const WithCustomStringHeight = MapTemplate.bind({});
|
|
17
|
-
WithCustomStringHeight.args = {
|
|
18
|
-
placeId: 'ChIJj6tQBWXIxokRXeXk9xqsgMo',
|
|
19
|
-
height: '320px'
|
|
20
|
-
};
|
|
21
|
-
export const WithCustomNumberHeight = MapTemplate.bind({});
|
|
22
|
-
WithCustomNumberHeight.args = {
|
|
23
|
-
placeId: 'ChIJj6tQBWXIxokRXeXk9xqsgMo',
|
|
24
|
-
height: 320
|
|
25
|
-
};
|
|
26
|
-
export const WithCustomStringWidth = MapTemplate.bind({});
|
|
27
|
-
WithCustomStringWidth.args = {
|
|
28
|
-
placeId: 'ChIJj6tQBWXIxokRXeXk9xqsgMo',
|
|
29
|
-
width: '620px'
|
|
30
|
-
};
|
|
31
|
-
export const WithCustomNumberWidth = MapTemplate.bind({});
|
|
32
|
-
WithCustomNumberWidth.args = {
|
|
33
|
-
placeId: 'ChIJj6tQBWXIxokRXeXk9xqsgMo',
|
|
34
|
-
width: 620
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=Map.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Map.stories.js","sourceRoot":"","sources":["../../../../src/stories/atoms/Map/Map.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,GAAiB,MAAM,OAAO,CAAC;AAEtC,UAAU;AACV,eAAe;IACb,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF,YAAY;AACZ,SAAS,WAAW,CAAC,IAAc;IACjC,OAAO,oBAAC,GAAG,oBAAK,IAAI,EAAI,CAAC;AAC3B,CAAC;AAED,UAAU;AACV,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,OAAO,CAAC,IAAI,GAAG;IACb,OAAO,EAAE,6BAA6B;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3D,sBAAsB,CAAC,IAAI,GAAG;IAC5B,OAAO,EAAE,6BAA6B;IACtC,MAAM,EAAE,OAAO;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3D,sBAAsB,CAAC,IAAI,GAAG;IAC5B,OAAO,EAAE,6BAA6B;IACtC,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1D,qBAAqB,CAAC,IAAI,GAAG;IAC3B,OAAO,EAAE,6BAA6B;IACtC,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1D,qBAAqB,CAAC,IAAI,GAAG;IAC3B,OAAO,EAAE,6BAA6B;IACtC,KAAK,EAAE,GAAG;CACX,CAAC"}
|